Setup Sight Sense

时间:2024-10-15 18:07:20

Setup Sight Sense

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

Setup Sight Sense

  • Hearing Threshold:Setup Sight Sense
  • LosHearing Threshold:Setup Sight Sense
  • Sight Radius:Setup Sight Sense
  • Sensing Interval:Setup Sight Sense
  • Hearing Max Sound Age:Setup Sight Sense
  • Enable Sensing Updates:Setup Sight Sense
  • Only Sense Players:Setup Sight Sense
  • See Pawns:Setup Sight Sense
  • Hear Noises:Setup Sight Sense
  • Peripheral Vision Angle:Setup Sight Sense

Setup Sight Sense

调节感知组件参数

Setup Sight Sense

之后将使用到的两个委托

PawnSensingComp->OnSeePawn.AddDynamic(this, &AFPSAIGuard::OnPawnSeen);

绑定视觉事件OnSeePawn,添加动态函数AddDynamic

Setup Sight Sense

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

Setup Sight Sense

参数为Pawn类型指针,由此可以得知AIGuard头文件中所需的函数类型

在头文件中声明函数

    UFUNCTION()
void OnPawnSeen(APawn* SeenPawn);

在cpp文件中导入头文件

#include "DrawDebugHelpers.h"

为OnPawnSeen函数创建实现,让触发过程得到可视化的呈现

void AFPSAIGuard::OnPawnSeen(APawn * SeenPawn)
{
DrawDebugSphere(GetWorld(),SeenPawn->GetActorLocation(),32.0f,,FColor::Yellow,false,10.0f);
}

Setup Sight Sense

DrawDebugSphere函数生效