Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- https://hjmag1120.tistory.com/
- 태어난김에 보스까지
- https://eo-oe.tistory.com/
- 스파르타코딩클럽
- https://vetenir.tistory.com/
- 이리5조
- https://ji-han.tistory.com/
- https://mynameiskgws.tistory.com/
Archives
- Today
- Total
info8995 님의 블로그
AIController와 BehaviorTree 연동 및 순찰 로직 구현 본문
TIL(Today I Learned)/Unreal Engine
AIController와 BehaviorTree 연동 및 순찰 로직 구현
info8995 2025. 5. 8. 19:56오늘 배운 것
언리얼 엔진에서 AI가 TargetPoint를 따라 순찰하도록 하기 위해 AIController, Blackboard, BehaviorTree, TargetPoint, Character 간의 관계를 설정하고, 코드로 연동하여 순찰 기능을 구현하는 방법을 익혔다.
핵심 정리
1️⃣ Blackboard Key 정의
- FName 타입으로 상수 정의 후 .h와 .cpp에 각각 선언 및 정의 필요.
2️⃣ AIController 구현
- OnPossess()에서 블랙보드를 초기화하고 Behavior Tree 실행.
- TargetPoint들을 찾아서 Blackboard에 첫 위치 저장.
3️⃣ AI 캐릭터 로직
- Tick()에서 목표 위치까지의 거리 계산 후, 도달하면 다음 순찰 지점으로 이동.
- 블랙보드와 패트롤 지점은 AIController로부터 받아옴.
4️⃣ Behavior Tree 구성
- 블랙보드 키: PatrolLocation(Vector), PatrolIndex(Int)
- 구성: Root → Sequence → MoveTo(PatrolLocation) → Wait(1.5s)
✅ 테스트 체크
- 블랙보드 키가 정확히 매칭되는지 확인
- TargetPoint를 순서대로 순찰하는지 확인
- NavMeshBoundsVolume 세팅 확인
- AIController가 정상적으로 작동하는지 로그로 확인
💭 오늘 느낀 점
AI 시스템은 단순한 노드 구성보다 각 요소 간 데이터 흐름을 유기적으로 연결하는 것이 훨씬 더 중요하다는 것을 알게 되었다. 특히 블랙보드와 컨트롤러 간 연동이 핵심 포인트였다.
🔜 내일 할 일
AI의 상태 전이를 구현해 순찰 외에도 Suspicious 또는 Chasing 상태로 동작을 전환하는 기능을 추가할 예정이다.
'TIL(Today I Learned) > Unreal Engine' 카테고리의 다른 글
| AI Perception을 이용한 시각 기반 플레이어 추적 시스템 구현 (0) | 2025.05.12 |
|---|---|
| 커스텀 BTTask 및 BTService 구현 (0) | 2025.05.09 |
| AI NPC 사운드 디자인과 어테뉴에이션 (0) | 2025.05.01 |
| 언리얼 엔진 AI 애니메이션 블루프린트 및 스테이트 머신 구현 (1) | 2025.04.30 |
| AI에 애니메이션 시스템 적용하기 (0) | 2025.04.29 |