unity物体沿着Y轴在一定范围内来回旋转5度
时间: 2024-02-27 12:58:12 浏览: 137
你可以使用以下代码来实现这个功能:
```csharp
public class RotateObject : MonoBehaviour
{
public float rotationRange = 10f;
public float rotationSpeed = 5f;
private bool rotateClockwise = true;
void Update()
{
// 根据旋转方向计算旋转角度
float rotationAmount = rotateClockwise ? rotationSpeed : -rotationSpeed;
// 沿着Y轴旋转物体
transform.Rotate(new Vector3(0f, rotationAmount, 0f) * Time.deltaTime);
// 如果物体达到旋转范围的边界,改变旋转方向
if (transform.rotation.eulerAngles.y >= rotationRange && rotateClockwise)
rotateClockwise = false;
else if (transform.rotation.eulerAngles.y <= 0 && !rotateClockwise)
rotateClockwise = true;
}
}
```
在这个脚本中,我们定义了旋转的范围(`rotationRange`)和旋转速度(`rotationSpeed`),以及一个布尔值变量 `rotateClockwise`,用于记录当前物体的旋转方向。在 `Update()` 函数中,我们使用 `transform.Rotate()` 函数来沿着 Y 轴旋转物体,并根据当前的旋转方向计算旋转角度。如果物体达到旋转范围的边界,我们就改变旋转方向,使其沿着相反的方向旋转。
阅读全文