最近在写敌人的AI的时候,用到了AIPerception组件,之后便发现了一个问题。
当为敌人增加上视觉感知,修改检测归属为【敌方、中立、友方】之后,只要是类型为Pawn的对象,即使为增加感官刺激组件,也会触发感官的目标更新。这样导致了即使是同样的敌人也会触发视觉感知组件,为此,我感觉很不爽(因为感觉到性能的浪费)。
开始打算,为每个Pawn设置【归属】,但蓝图中根本无法修改阵营信息。
但在查看官方的行为树教学的时候,我发现了其中便包含了该问题的解决方式。
链接如下:Unreal Engine AI with Behavior Trees
主要的解决方式就是
修改项目文件夹->Config->DefaultGame.ini文件,为其中添加两行代码。
[/Script/AIModule.AISense_Sight]
bAutoRegisterAllPawnsAsSources=False
意思很简单,就是找到代码中的AI模块中的视觉感知模块,将其中的将所有Pawns作为刺激源的功能关掉。