天天看點

【Unity,C#】鍵鼠操控錄影機位移轉向

Unity.C#.鍵鼠操控錄影機位移轉向

效果
【Unity,C#】鍵鼠操控錄影機位移轉向
  • 配置
  • 代碼
using UnityEngine;

public class cameraMove : MonoBehaviour
{
    /// <summary>
    /// 攝像頭轉向的速度
    /// </summary>
    [SerializeField]
    private float speedRotate = 3.0f;

    /// <summary>
    /// 攝像頭移動的速度
    /// </summary>
    [SerializeField]
    private float speedMove = 20.0f;

    private float X = 0.0f;
    private float Y = 0.0f;

    void Update()
    {
        X += Input.GetAxis("Mouse X") * speedRotate;
        Y += Input.GetAxis("Mouse Y") * speedRotate;
        transform.localRotation = Quaternion.AngleAxis(X, Vector3.up);
        transform.localRotation *= Quaternion.AngleAxis(Y, Vector3.left);
        transform.position += transform.forward * speedMove * Input.GetAxis("Vertical") * Time.deltaTime;
        transform.position += transform.right * speedMove * Input.GetAxis("Horizontal") * Time.deltaTime;
    }
}