Задать вопрос
Zefirot
@Zefirot

Как расставить границы передвижения камеры?

Пока что я на глаз установил мин макс координаты ограничения перемещения камеры, само перемещение происходит так
private void MoveCamera(){
        if(Input.GetMouseButtonDown(0)){ CurrentPositionCamera = MainCamera.ScreenToWorldPoint(Input.mousePosition); }
        if(Input.GetMouseButton(0)){
            Vector3 DifferencePositionCamera = CurrentPositionCamera - MainCamera.ScreenToWorldPoint(Input.mousePosition);
            if(DifferencePositionCamera != PrevPositionCamera){
                MainCamera.transform.position += DifferencePositionCamera;
                if(MainCamera.transform.position.x >= CameraPositionXMax){
                    MainCamera.transform.position = new Vector3(CameraPositionXMax, MainCamera.transform.position.y, 0f);
                    }
                if(MainCamera.transform.position.x <= CameraPositionXMin){
                    MainCamera.transform.position = new Vector3(CameraPositionXMin, MainCamera.transform.position.y, 0f);
                    }
                if(MainCamera.transform.position.y >= CameraPositionYMax){
                    MainCamera.transform.position = new Vector3(MainCamera.transform.position.x, CameraPositionYMax, 0f);
                    }
                if(MainCamera.transform.position.y <= CameraPositionYMin){
                    MainCamera.transform.position = new Vector3(MainCamera.transform.position.x, CameraPositionYMin, 0f);
                    }
                PrevPositionCamera = DifferencePositionCamera;
                }
            }
        }

Но у каждой комнаты могут быть свои границы, дальше ближе, пока у меня вариант писать где-то в текстовых доках под каждую комнату где какая должна быть граница...

Можно ли как-то автоматически определять границы, какие есть для этого способы?
Или можно ли какой-то префаб подложку сделать чтобы его не было видно но его можно было регулировать и камера автоматически за него не могла выйти?
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Используйте BoxCollider, получаете bounds и уже в нём есть метод для проверки, попадает ли точка (камера) в него.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы