unity3d摄像头角度拖动
时间: 2025-07-09 10:02:51 浏览: 9
### 实现 Unity3D 中鼠标拖动控制摄像头角度
为了实现在 Unity3D 中通过鼠标拖动来调整摄像机的角度,通常会涉及到 `Input` 类获取鼠标的输入以及使用 `Transform.RotateAround` 方法让相机围绕目标旋转。下面是一个简单的实现方法:
#### 创建脚本并附加到Camera上
创建一个新的 C# 脚本文件命名为 `MouseDragToRotateCamera.cs` 并将其挂载至场景中的主摄像机。
```csharp
using UnityEngine;
public class MouseDragToRotateCamera : MonoBehaviour {
public float sensitivity = 2f;
private bool isDragging = false;
void Update() {
if (Input.GetMouseButtonDown(0)) { // 左键按下开始拖拽
isDragging = true;
}
if (Input.GetMouseButtonUp(0)) { // 松开左键结束拖拽
isDragging = false;
}
if(isDragging){
var horizontalRotation = Input.GetAxis("Mouse X") * sensitivity;
transform.RotateAround(Vector3.up, -horizontalRotation);
var verticalRotation = Input.GetAxis("Mouse Y") * sensitivity;
transform.RotateAround(transform.right, verticalRotation);
}
}
}
```
这段代码实现了当用户点击并按住鼠标左键时能够根据鼠标的水平和垂直位移量改变摄像机绕着指定轴线的旋转角度[^1]。
需要注意的是,在实际项目应用中可能还需要考虑更多细节问题比如防止摄像机翻转过度等问题,这可以通过设置合理的边界条件或者采用四元数来进行更精确的姿态管理[^2]。
阅读全文
相关推荐

















