写一段unity代码让鼠标控制摄影机绕物体旋转
时间: 2023-12-01 11:00:55 浏览: 139
下面是一段Unity代码,可以让鼠标控制摄像机绕物体旋转:
```csharp
using UnityEngine;
public class CameraController : MonoBehaviour
{
public Transform target; // 物体的Transform
public float rotateSpeed = 5f; // 旋转速度
private Vector3 offset; // 摄像机与物体的偏移量
void Start()
{
offset = transform.position - target.position;
}
void LateUpdate()
{
float horizontal = Input.GetAxis("Mouse X") * rotateSpeed;
target.Rotate(0f, horizontal, 0f);
float desiredAngle = target.eulerAngles.y;
Quaternion rotation = Quaternion.Euler(0f, desiredAngle, 0f);
transform.position = target.position - (rotation * offset);
transform.LookAt(target);
}
}
```
在这段代码中,我们需要将摄像机与物体的Transform组件分别赋值给`target`和`transform`变量。在`Start`方法中,我们计算出摄像机与物体的偏移量,并在`LateUpdate`方法中根据鼠标的移动来改变物体的旋转角度,最后更新摄像机的位置和朝向。
阅读全文