
NPC 동작 구현을 위해 Task 노드를 구현하는데 BTTaskNode와 BTTask_BlakcboardBase의 차이를 알아보도록 한다.
BTTaskNode 와 BlackboardBase는 값을 읽어오고 설정하는데 크게 차이를 확인 할 수 있다.
- BTTaskNode
UBlackboardComponent* BB = OwnerComp.GetBlackboardComponent();
BB->SetValueAsEnum(FName("CurrentState"), (uint8)ENPCState::Dancing);
이런 식으로 블랙보드를 가져와 블랙 보드 의 값을 Get이나 Set을 사용하여 설정할 수 있는데 이때 중요한것은 위에 코드에서 명시한 "CurrentState" 라는 블랙보드 키값이 반드시 에디터에 있는 블랙보드에 있는 키값 이름과 타입이 일치하여야한다.
- BTTaskNode BlackboardBase

BlackboarBase는 BTTaskNode를 상속받는 클래스로 아래처럼 블랙보드 키를 생성한 블랙보드 키로 선택할 수 있는데
이 선택된 키값을 위에 코드처럼 GetSelectedBlackboardKey() 값으로 얻어올 수 있다.

'알아두면 좋은 것들(언리얼 관련 여러 잡다한 정보)' 카테고리의 다른 글
| 언리얼 C++ 에서 TSoftObjectPtr 와 TObjectPtr의 차이 (0) | 2025.10.21 |
|---|---|
| 언리얼 콜백함수 (0) | 2025.09.26 |
| BTTaskNode 에 존재하는 Task들 (0) | 2025.09.15 |
| SweepMultiByChannel() 을 이용한 액터 감지 (1) | 2025.08.25 |
| 언리얼 오브젝트 풀링 이란 (3) | 2025.08.19 |