我按照这个教程制作NPC或敌人角色追逐玩家,但NPC无法检测到玩家的位置。玩家是一个预制件,不会直接放置在场景中,而是在游戏开始时调用。当我尝试使用场景中的另一个对象作为NPC跟随的目标时,NPC可以跟随它。请帮助我解决这个问题,我是游戏开发的新手。另外,由于这是一个多人游戏,NPC可以选择追逐哪个玩家吗?
回答:
可以考虑定期检查玩家是否已经生成。
你可以用几种方法来实现这一点。
这个帖子介绍了很多不同的方法,我建议每隔几帧检查一次。
例如,你可以通过标签、名称查找任何对象,甚至是根据它所附带的组件来查找。
一种方法是检查标签,例如。
public GameObject PlayerPrefab;private GameObject actualPlayer;private void Update(){ if(actualPlayer != null) { FollowPlayer(); } else { actualPlayer = GameObject.FindGameObjectsWithTag(PlayerPrefab.tag).FirstOrDefault(); }}void FollowPlayer(){ // 这里是跟随玩家的代码}