Setup Sight Sense

PawnSensingComp没有依据层级排序,与CharacterMovement组件类似,不是场景组件而是Actor组件,因此没有确定的位置,无法将其附加至其他组件。

- Hearing Threshold:

- LosHearing Threshold:

- Sight Radius:

- Sensing Interval:

- Hearing Max Sound Age:

- Enable Sensing Updates:

- Only Sense Players:

- See Pawns:

- Hear Noises:

-
Peripheral Vision Angle:


调节感知组件参数

之后将使用到的两个委托
PawnSensingComp->OnSeePawn.AddDynamic(this, &AFPSAIGuard::OnPawnSeen);
绑定视觉事件OnSeePawn,添加动态函数AddDynamic

找出所需的参数,放在OnSeePawn上,按下Alt+G,找到Delegate,在代理的位置上再次按下Alt+G

参数为Pawn类型指针,由此可以得知AIGuard头文件中所需的函数类型
在头文件中声明函数
UFUNCTION() void OnPawnSeen(APawn* SeenPawn);
在cpp文件中导入头文件
#include "DrawDebugHelpers.h"
为OnPawnSeen函数创建实现,让触发过程得到可视化的呈现
void AFPSAIGuard::OnPawnSeen(APawn * SeenPawn) { DrawDebugSphere(GetWorld(),SeenPawn->GetActorLocation(),32.0f,12,FColor::Yellow,false,10.0f); }

DrawDebugSphere函数生效

浙公网安备 33010602011771号