unity 鼠标旋转缩放模型代码
时间: 2023-07-16 21:16:28 浏览: 75
以下是一个基本的鼠标旋转和缩放模型的Unity代码:
```csharp
public class RotateAndZoom : MonoBehaviour
{
public float rotateSpeed = 5f;
public float zoomSpeed = 2f;
public float minZoomDistance = 1f;
public float maxZoomDistance = 10f;
private Vector3 lastMousePosition;
void Update()
{
// 鼠标右键旋转模型
if (Input.GetMouseButton(1))
{
float horizontal = rotateSpeed * Input.GetAxis("Mouse X");
float vertical = rotateSpeed * Input.GetAxis("Mouse Y");
transform.Rotate(Vector3.up, -horizontal, Space.World);
transform.Rotate(Vector3.right, vertical, Space.World);
}
// 鼠标滚轮缩放模型
float zoom = zoomSpeed * Input.GetAxis("Mouse ScrollWheel");
Vector3 zoomVector = zoom * transform.forward;
if (Vector3.Distance(transform.position, Camera.main.transform.position + zoomVector) > minZoomDistance && Vector3.Distance(transform.position, Camera.main.transform.position + zoomVector) < maxZoomDistance)
{
transform.position += zoomVector;
}
}
}
```
这个脚本可以附加在你想要旋转和缩放的模型上。通过按住鼠标右键旋转模型,通过滚动鼠标滚轮来缩放模型。您可以根据自己的需要调整参数。