Unreal5 공부/TIL

2026/05/08 TIL

anna59 2026. 5. 8. 22:21
 
BTTask로 랜덤이동 구현
적 없음->플레이어 주변 랜덤 위치로 이동
 
 

 

 
1. PlayerActor 위치 가져오기
2. 주변 랜덤 위치 찾기 (NavigationSystem 활용)
3. 해당 위치로 이동

Unreal에서 NavMesh 위의 랜덤 위치를 찾는 함수

 
 
cpp
#include "NavigationSystem.h"

UNavigationSystemV1::GetRandomReachablePointInRadius(
    GetWorld(),
    PlayerLocation,  // 중심점
    500.f,           // 반경
    RandomLocation   // 결과 저장
);

 

 

델리게이트

 

C++ 형태로 1대1 지원

DECLARE_DELEGATE

 

C++ 1대 다수

DECLARE_MULTICAST

 

C++ 1대 1 블루프린트 지원

DECLARE_DYNAMIC

 

C++ 1대 다수 블루프린트 지원

DECLARE_DYNAMIC_MULTICAST

 

바인드 되기 전까지 1바이트도 차지 않는다! -> 사용시 느려짐. 거의 바인딩 되지 않을 시 효율적

DEACLARE_SPARSE

 

 

 

소스 파일 폴더 구조 정리
Character public

AllyAI


보스몬스터 

HUD 테스트, 탄창  임무선택화면
HUD 미션 진행상황 출력해야될 것 같음
미션 상태를 만들어야될 것 같다.

구성을 어떻게 할지 

CreateDefaultSubobject -> 생성자에서만 쓸 것!

void AItemBase::BeginPlay()

{

Super::BeginPlay();



ACharacter* PlayerCharacter = UGameplayStatics::GetPlayerCharacter(GetWorld(), 0);



if (PlayerCharacter)

{

UMyActorComponent* HealthComp = PlayerCharacter->FindComponentByClass<UMyActorComponent>();

if (HealthComp)

{

HealthComp->OnHealthDead.AddDynamic(this, &AItemBase::PlayerDeathReceive);

}

else

{

//안됐다....

}

}

 

}

 

void AItemBase::PlayerDeathReceive(AController* InstigatorController)

{

Destroy();

}