unity像崩坏3一样敌人随机巡逻,到达随机目标点后暂停3秒,再去下一个目标点
时间: 2023-08-19 20:35:20 浏览: 53
实现敌人在Unity中像崩坏3一样的随机巡逻,可以采用以下步骤:
1. 创建一个敌人巡逻的脚本,加到敌人物体上。在脚本中定义一个目标点的数组,存储所有巡逻的目标点。
2. 在Start函数中随机生成目标点数组,并设置敌人的初始目标点为数组中的第一个目标点。
3. 在Update函数中实现敌人向目标点移动的逻辑。可以使用NavMeshAgent组件控制敌人的移动,当敌人到达目标点后,暂停3秒。
4. 当暂停结束后,再随机选择下一个目标点,继续巡逻。如果目标点已经是数组中的最后一个,则重新随机生成目标点数组。
下面是一个简单的示例代码:
```csharp
public class EnemyPatrol : MonoBehaviour
{
private NavMeshAgent agent;
private Vector3 nextDestination;
private float pauseTimer;
public float pauseTime = 3f;
public Transform[] targetPoints;
private void Start()
{
agent = GetComponent<NavMeshAgent>();
GenerateNewTarget();
}
private void Update()
{
if (agent.remainingDistance < 1f)
{
if (pauseTimer <= 0)
{
GenerateNewTarget();
pauseTimer = pauseTime;
}
else
{
pauseTimer -= Time.deltaTime;
}
}
}
private void GenerateNewTarget()
{
int index = Random.Range(0, targetPoints.Length);
nextDestination = targetPoints[index].position;
agent.SetDestination(nextDestination);
}
}
```
这只是一个简单的示例,具体的实现可以根据需求进行修改和完善。