unity Transform 控制3D模型旋转、缩放的示例
时间: 2024-12-02 15:16:18 浏览: 51
Unity3D教程:Android场景中物体的旋转平移2
在Unity中,Transform组件用于控制3D模型的位置、旋转和缩放。以下是一个简单的示例:
```csharp
using UnityEngine;
public class ModelController : MonoBehaviour
{
public float rotationSpeed = 10f;
public float scaleSpeed = 0.1f;
void Update()
{
// 旋转示例,输入方向键控制朝向
if (Input.GetKey(KeyCode.RightArrow))
transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
else if (Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(-Vector3.up, rotationSpeed * Time.deltaTime);
// 缩放示例,按住鼠标滚轮缩放
if (Input.GetAxis("Mouse ScrollWheel") > 0)
transform.localScale += Vector3.one * scaleSpeed * Time.deltaTime;
else if (Input.GetAxis("Mouse ScrollWheel") < 0)
transform.localScale -= Vector3.one * scaleSpeed * Time.deltaTime;
// 确保缩放值在合理范围内
transform.localScale = Mathf.Clamp(transform.localScale, Vector3.zero, new Vector3(2f, 2f, 2f));
}
}
```
在这个例子中,当玩家按下右箭头时,游戏对象会顺时针旋转;按下左箭头则逆时针旋转。同时,如果用户滚动鼠标滚轮,物体将沿着X、Y和Z轴的方向缩放。注意`Mathf.Clamp()`函数用于限制缩放比例防止过度放大。
阅读全文