问题描述
我按照教程 here 让 NPC 或敌人角色追逐玩家,但 NPC 无法检测到玩家在哪里。玩家是一个没有放置在场景中的预制件,它在游戏开始时调用。因此,当我尝试场景中的另一个对象并将其作为 NPC 跟随的对象时,NPC 可以跟随它。 请帮我修复它,我是游戏开发的新手。 而且因为是多人游戏,NPC可以选择追哪个玩家吗?
解决方法
考虑不时检查玩家是否已生成。
您可以通过几种方式做到这一点。
This post 涵盖了很多不同的方式,我建议检查每一帧。
例如,您可以 find any object by it's tag,name, 或什至它上面的组件之类的东西。
例如,一种方法是check for tag。
public GameObject PlayerPrefab;
private GameObject actualPlayer;
private void Update()
{
if(actualPlayer != null)
{
FollowPlayer();
}
else
{
actualPlayer = GameObject.FindGameObjectsWithTag(PlayerPrefab.tag).FirstOrDefault();
}
}
void FollowPlayer()
{
// Follow Player Stuff Here
}