1. 핵심 개념
- 언리얼 매크로 함수 차이
- Behavior Tree의 개념
- cpp 공부 내용 개인 메모
2. 상세 내용
2.1. 언리얼 매크로와 함수 차이
- 함수는 동기적으로 작동하며 Delay 같은 비동기 노드 불가능하다.
- 이벤트는 결과값이 없어서 fire and forget이 가능 즉 Delay 같은 비동기 노드 가능하다.
Delay 같은 비동기 노드들은 내부적으로 [latent action](FPendingLatentAction | Unreal Engine 5.7 Documentation | Epic Developer Community)으로 불린다. [FLatentActionManager](FLatentActionManager | Unreal Engine 5.7 Documentation | Epic Developer Community) 문서를 보면 해당 매니저가 latent action을 관리하는 것으로 보인다.(The latent action manager handles all pending latent actions for a single world.)
2.2. Beheavior Tree
- Selector 조건 실행
- Sequence 순차 실행
- Parallel 병렬 실행
- Task 실제 행동
- Decorator 태스크 실행 여부에 조건이나 특정 기능 추가; Task보다 먼저 실행됨
- Service 일정 시간마다 실행(데이터 갱신에 사용)
BT가 로직 실행, 결정에 필요한 정보는 Blackboard라고 부르는 별도의 에셋으로 관리한다.
언리얼에서 BT는 왼쪽에서 오른쪽, 위에서 아래 순서로 로직 실행
2.3. cpp
# include는 전처리 매크로 치환이니 using 사용 주의
C++ 20 이후부터 Char8_t 같이 n 인코딩 적용한 문자 자료형 지원; std:byte로 1바이트 표현할 것
숫자 경곗값 라이브러리 이용(C에서의 INT_MAX 같은 매크로 방식보다 latent)
cpp의 권장 캐스팅 방법은 static_castMyFloat 같이 쓰는 것
enum 사용 시 enum class name { a, b, c };와 같이 사용되는게 권장된다. 기존 버전인 enum name { a, b, c }(강타입이 아니라 type-safe 하지 않다)
bool ok { false };
enum status { fail, ok }; // complie error
// enum 처리
enum class PieceType : unsigned long {
King = 1,
Queen, // 2
Rook = 10,
Pawn // 11
}
// cpp 20부터 using 구문 가능
using enum PieceType;
PieceType piece { King }; // PieceType::King
3. 질문 및 해결 (Q&A)
2026.04.23 - [내일배움캠프/Works] - 언리얼 블루프린트로 WFC 알고리즘 구현
4. 관련 문서 (Links)
'내일배움캠프 > TIL' 카테고리의 다른 글
| TIL260427 - CPP (0) | 2026.04.27 |
|---|---|
| TIL260424 - CPP (0) | 2026.04.24 |
| TIL260422 (0) | 2026.04.22 |
| TIL260421 (0) | 2026.04.21 |
| TIL260420 - Unreal (0) | 2026.04.20 |