Я пытаюсь увеличить или уменьшить масштаб своего фотоаппарата, но я хочу заблокировать сумму, в которой он может увеличиваться. Я пробовал несколько вещей, хотя они не достигли результата, на который я надеялся. Моя камера сидит с поворотом на 65 градусов по оси X, и я хочу перемещать ее по этой диагональной оси. Заранее спасибо!Зажим Диагональное перемещение/Зажим камеры Zoom
Camera.main.transform.Translate(0,0, Input.mouseScrollDelta.y * zoomSpeed * Time.deltaTime);
Приведенный выше код масштабирует камеру так, как я хочу, хотя я не уверен, как фиксировать значения.
cameraDistance += Input.mouseScrollDelta.y * zoomSpeed * Time.deltaTime;
cameraDistance = Mathf.Clamp(cameraDistance, minCameraDistance, maxCameraDistance);
Camera.main.transform.localPosition = (new Vector3(0, -cameraDistance, 0));
Код выше зажимает значение, но движется только в направлении вверх
cameraDistance += Input.mouseScrollDelta.y * zoomSpeed * Time.deltaTime;
cameraDistance = Mathf.Clamp(cameraDistance, minCameraDistance, maxCameraDistance);
Camera.main.fieldOfView = -cameraDistance;
Код выше зажимает значение и сохраняет мое вращение сосредоточено на игрока, хотя он искажает вид на много.
ПРИМЕЧАНИЕ! Я определенно не хочу менять поля зрения моих камер!
новый Vector3 (0, -cameraDistance, 0) движется по оси y, но, я думаю, вы предпочитаете его на оси z? Попробуйте новый Vector3 (0, whateverHeightYouWant, -cameraDistance) – Absinthe
@Absinthe спасибо за комментарий, который будет работать, хотя тогда мне также нужно было бы рассчитать правильную высоту, и это было то, что я не знал, как это сделать. – jozza710