Unity中的AI怪物巡逻
程序员文章站
2024-03-19 18:13:34
...
public Transform PoOne;
public Transform PosTwo;
public GameObject Enumy;
public GameObject Player;
void Start()
{
GetComponent<NavMeshAgent>().destination = PosTwo.position;
}
void Update()
{
if(Vector3.Distance(Player.transform.position,transform.position)<10&& Vector3.Distance(Player.transform.position, transform.position)>2)
{
GetComponent<NavMeshAgent>().destination = Player.transform.position;
}
else if(Vector3.Distance(Player.transform.position, transform.position) <= 2)
{
Enumy.GetComponent<Animator>().SetBool("Enum", true);
}
else
{
if (Vector3.Distance(transform.position, PosTwo.position) < 0.1f)
{
GetComponent<NavMeshAgent>().destination = PoOne.position;
}
if (Vector3.Distance(transform.position, PoOne.position) < 0.1f)
{
GetComponent<NavMeshAgent>().destination = PosTwo.position;
}
}
}
脚本写好之后把需要的物体复制进去,怪物自动按照你设置的点去巡逻,需要注意得到是我们设置的那几个点,Y轴需要在地形烘焙范围之内,不然他就会一直在第一个点转圈圈,不会进行下一个点的巡逻。
不足之处请多多指教。