Intro
主要想探讨的是如何令摄像机随鼠标操作进行旋转和移动,摄像机跟随的脚本官方就有Example。
方案:独立的角度变量
主要的特点是使用独立的角度变量,每次处理鼠标移动操作都会创建一个新的Quaternion用于计算。
先看Demo。
public class PlayerControls : MonoBehaviour
{
public GameObject Player;
public float Distance;
//public float CameraRepositionSpeed;
public float MouseMotionScaleLevel;
public bool ReverseAxisY;
public float PitchMaximum;
public float PitchMinimum;
private float _CurrentCameraAngleAroundX;
private float _CurrentCameraAngleAroundY;
private Vector3 _PositionTarget;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
_CurrentCameraAngleAroundX += Input.GetAxis("Mouse Y") * MouseMotionScaleLevel * Time.deltaTime * (Re