unity拖动鼠标右键让摄影机移动
时间: 2023-06-24 08:03:22 浏览: 99
unity 鼠标控制camera移动
可以通过编写脚本来实现在Unity中拖动鼠标右键让摄影机移动的效果。以下是一个简单的示例脚本:
```c#
using UnityEngine;
public class CameraController : MonoBehaviour
{
public float moveSpeed = 10f; // 摄像机移动速度
public float rotateSpeed = 50f; // 摄像机旋转速度
private Vector3 lastMousePosition; // 上次鼠标位置
void LateUpdate()
{
// 按下鼠标右键
if (Input.GetMouseButtonDown(1))
{
lastMousePosition = Input.mousePosition;
}
// 拖动鼠标右键
else if (Input.GetMouseButton(1))
{
// 计算鼠标移动距离
Vector3 delta = Input.mousePosition - lastMousePosition;
// 计算摄像机移动方向
Vector3 direction = new Vector3(delta.x, 0f, delta.y);
// 移动摄像机
transform.Translate(direction.normalized * moveSpeed * Time.deltaTime, Space.World);
// 计算摄像机旋转角度
float angle = delta.x * rotateSpeed * Time.deltaTime;
// 绕y轴旋转摄像机
transform.Rotate(new Vector3(0f, angle, 0f), Space.World);
// 更新上次鼠标位置
lastMousePosition = Input.mousePosition;
}
}
}
```
将该脚本挂载到摄像机上,就可以通过拖动鼠标右键来移动摄像机了。可以通过修改`moveSpeed`和`rotateSpeed`变量来控制摄像机移动和旋转的速度。
阅读全文