unity随机动作的脚本
时间: 2023-10-16 22:09:07 浏览: 41
以下是一个基本的随机动作脚本示例:
```csharp
using UnityEngine;
public class RandomAction : MonoBehaviour
{
public float minDelay = 1f; // 最小延迟时间
public float maxDelay = 3f; // 最大延迟时间
private Animator animator; // 动画控制器
private void Start()
{
animator = GetComponent<Animator>();
StartCoroutine(DoRandomAction());
}
private IEnumerator DoRandomAction()
{
while (true)
{
// 等待一段随机的时间
float delay = Random.Range(minDelay, maxDelay);
yield return new WaitForSeconds(delay);
// 随机选择一个动画状态
int actionIndex = Random.Range(0, animator.runtimeAnimatorController.animationClips.Length);
string actionName = animator.runtimeAnimatorController.animationClips[actionIndex].name;
// 播放随机选择的动画
animator.Play(actionName, 0, 0f);
}
}
}
```
这个脚本中,我们在Start()方法中初始化了动画控制器,并调用了DoRandomAction()协程函数。在DoRandomAction()函数中,我们使用while(true)循环不断地等待一段随机的时间,然后随机选择一个动画状态,并播放它。
你只需要将这个脚本挂载到需要随机播放动画的游戏对象上即可。注意,这个脚本只适用于包含有多个动画状态的动画控制器。如果你的动画控制器只有一个动画状态,这个脚本就无法使用。