NavMeshAgent 怪物 前往角色五米范围内的位置
时间: 2024-09-07 07:05:52 浏览: 39
在Unity中,如果你正在制作一款包含怪物和角色的游戏,并想让怪物跟随角色,当怪物接近到角色五米范围内时改变行为,如攻击或者切换目标,你可以这样做:
首先,你需要给怪物添加一个`NavMeshAgent`组件,然后配置好怪物的导航路径和目标点。比如,怪物有一个`ArriveAtTarget()`函数,可以在到达目标位置时触发动作。
```csharp
public class MonsterController : MonoBehaviour
{
public NavMeshAgent navAgent;
private Transform target;
void Update()
{
if (target != null)
{
Vector3 relativePosition = target.position - transform.position;
float distanceToTarget = relativePosition.magnitude;
// 如果怪物距离角色小于5米
if (distanceToTarget <= 5f)
{
// 到达目标后执行相应的攻击或切换目标操作
AttackOrSwitchTarget();
}
else
{
navAgent.SetDestination(target.position); // 指令怪物朝着目标移动
}
}
}
void AttackOrSwitchTarget()
{
// 在这里编写你的怪物攻击代码或切换目标的逻辑
}
}
```
在这个例子中,每次更新游戏循环时,都会计算怪物和角色之间的距离。如果距离小于5米,就执行`AttackOrSwitchTarget`方法;否则,怪物将继续向目标移动。
阅读全文