Unity:我的敌人预制件在现场找不到玩家
Unity: My enemy prefab can't find the player on the scene
所以我的问题是,我有一个生成敌人的游戏对象,它有一个变量,我可以在其中放置我的敌人预制件。我唯一的问题是,我的敌人不跟随玩家。
我制作了一个敌人预制件,使用 A* 寻路算法,我还包含了 AIDestinationSetter。当我的敌人在场景中时,A* 工作得很好,但当我尝试生成它时,它似乎不知道该怎么做。有什么想法吗?
感谢大家的帮助,非常感谢!
如果问题是将目标设置为播放器预制件而不是场景中的播放器,请向播放器添加标签并在脚本中使用
获取场景中播放器的引用
target = GameObject.FindWithTag("Player");
注意:仅当场景中只有一个带有“Player”标签的游戏对象时有效,如果有多个,此方法returns它找到的第一个。
要让多个玩家成为目标,请使用
targets[] = GameObject.FindGameObjectsWithTag("Player");
更多信息,请参考:
https://docs.unity3d.com/ScriptReference/GameObject.FindWithTag.html
https://docs.unity3d.com/ScriptReference/GameObject.FindGameObjectsWithTag.html
所以我的问题是,我有一个生成敌人的游戏对象,它有一个变量,我可以在其中放置我的敌人预制件。我唯一的问题是,我的敌人不跟随玩家。
我制作了一个敌人预制件,使用 A* 寻路算法,我还包含了 AIDestinationSetter。当我的敌人在场景中时,A* 工作得很好,但当我尝试生成它时,它似乎不知道该怎么做。有什么想法吗?
感谢大家的帮助,非常感谢!
如果问题是将目标设置为播放器预制件而不是场景中的播放器,请向播放器添加标签并在脚本中使用
获取场景中播放器的引用target = GameObject.FindWithTag("Player");
注意:仅当场景中只有一个带有“Player”标签的游戏对象时有效,如果有多个,此方法returns它找到的第一个。
要让多个玩家成为目标,请使用
targets[] = GameObject.FindGameObjectsWithTag("Player");
更多信息,请参考: https://docs.unity3d.com/ScriptReference/GameObject.FindWithTag.html https://docs.unity3d.com/ScriptReference/GameObject.FindGameObjectsWithTag.html