unity中,让一个物体慢慢转向另一个物体,完成后发出提示
时间: 2023-10-11 16:09:34 浏览: 155
可以在代码中添加一个判断,当物体朝向目标物体时,发出提示。
```csharp
public Transform target; // 目标物体
public float rotateSpeed = 2.0f; // 旋转速度
public string message = "已完成旋转!"; // 提示信息
private bool isRotating = false; // 是否正在旋转
void Update()
{
// 获取目标物体的方向
Vector3 direction = target.position - transform.position;
direction.y = 0; // 忽略高度差
// 计算需要旋转的角度
Quaternion targetRotation = Quaternion.LookRotation(direction);
// 慢慢旋转物体朝向目标物体
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, rotateSpeed * Time.deltaTime);
// 判断旋转是否完成
if (!isRotating && Quaternion.Angle(transform.rotation, targetRotation) < 0.1f)
{
isRotating = true;
Debug.Log(message);
}
}
```
在代码中添加了一个 `isRotating` 变量,用来判断是否正在旋转。当旋转完成后,将其设置为 `true`,并发出提示。其中 `message` 变量存储了提示信息。在这个例子中,使用了 `Debug.Log` 方法来将提示信息输出到控制台。你也可以根据需要使用其他方式来发出提示。
阅读全文