Я хочу сделать камеру от первого лица, которая вращается с помощью мыши.
Я посмотрел на страницу API сценариев Input.GetAxis и нашел пример кода, который я включил в конец своего поста. Попробовав это, я понял, что, хотя он и обладает теми же базовыми функциями, на которые я надеялся, он не удерживает камеру параллельно плоскости xz, особенно при перемещении мыши по кругу. Через некоторое время камера окажется под нечетным углом, и игрок будет полностью сбит с толку!
Существует ли быстрое исправление этого кода, которое каким-то образом ограничит движение камеры, или есть лучший способ повернуть камеру?
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public float horizontalSpeed = 2.0F;
public float verticalSpeed = 2.0F;
void Update() {
float h = horizontalSpeed * Input.GetAxis("Mouse X");
float v = verticalSpeed * Input.GetAxis("Mouse Y");
transform.Rotate(v, h, 0);
}
}