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;
}
}