unity 设置摄像机自由输移动怎么写 键盘可以控制方向 .鼠标可以旋转视觉
时间: 2024-03-24 08:39:12 浏览: 60
实现摄像机自由移动和旋转的方法有很多种,以下是一种基本的实现方式:
1. 创建一个空物体,将其作为摄像机的父物体,并将摄像机挂在其下面。
2. 编写脚本,实现摄像机的移动和旋转。以下是示例代码:
```
public class CameraController : MonoBehaviour
{
public float moveSpeed = 10f; // 摄像机移动速度
public float rotateSpeed = 5f; // 摄像机旋转速度
void Update()
{
// 获取键盘输入,控制摄像机移动
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
float upDown = Input.GetAxis("UpDown"); // 可以用此键控制上下移动
transform.Translate(new Vector3(horizontal, upDown, vertical) * moveSpeed * Time.deltaTime);
// 获取鼠标输入,控制摄像机旋转
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
transform.Rotate(Vector3.up, mouseX * rotateSpeed);
transform.Rotate(Vector3.right, -mouseY * rotateSpeed);
}
}
```
3. 将脚本挂在摄像机的父物体上。
4. 在Unity中设置好键盘和鼠标控制摄像机移动和旋转的输入映射,例如“Horizontal”对应左右移动,“Vertical”对应前后移动,“Mouse X”对应水平旋转,“Mouse Y”对应垂直旋转。
注意:以上代码仅提供了一种基本的实现方式,你可以根据自己的需求进行修改和扩展。
阅读全文