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://eo-oe.tistory.com/
- https://hjmag1120.tistory.com/
- https://ji-han.tistory.com/
- https://mynameiskgws.tistory.com/
- 태어난김에 보스까지
- 이리5조
- https://vetenir.tistory.com/
- 스파르타코딩클럽
Archives
- Today
- Total
info8995 님의 블로그
AI 경비 시스템과 인터페이스 기반 감지 로직 구현 본문
학습 목표
- 플레이어 스킬(소리 제거, 은신, 설득) 및 마나 시스템 구현
- AI 경비 시스템(순찰, 추격, 통신 등) 구현 및 인터페이스 기반 감지 로직 설계
플레이어 시스템 요약
- 스킬 시스템 구현:
- 소리 제거(10초간 발소리 제거), 은신(5초간 투명), 설득(50% 확률, 마나 50% 소모)
- 각 스킬마다 FSkillState 구조체로 상태 관리
- 마나 시스템 구현:
- 최대 50, 1초당 2씩 회복 (FTimerHandle 이용)
- 인터페이스 사용:
- IDetectableInterface를 통해 감지 가능 여부와 소음 여부 체크
AI 경비 시스템 요약
- 공통 부모 클래스: AEnemy_BaseGuard
- AI 타입
- AEnemy_PatrolGuard: 순찰 및 소리 반응
- AEnemy_PoliceGuard: 플레이어 체포 가능, 추격 시 체력 감소 및 회복
- AEnemy_SurveillanceCamera: 회전 감시, 빠른 탐지
- 상태 시스템:
- EAlertLevel: Normal, Suspicious, Alert, Pursuit
- 통신 구조:
- AlertOtherGuards() → ReceiveAlert() 호출로 AI끼리 플레이어 위치 공유
- 인터페이스 설계:
- IGuardInterface, IDetectableInterface, IGameRulesInterface를 통한 결합도 낮은 구조 설계
구현 특징
- 인터페이스 기반으로 각 시스템 간 유기적 연결
- Blackboard나 Behavior Tree 없이도 설계가 가능한 구조이나, 추후 확장을 고려해 도입 가능
- CapturedByAI() → TryPersuade() → Invulnerability 등의 설계로 플레이어 감지 후 행동 흐름까지 자연스럽게 연결
느낀 점
- AI가 플레이어를 감지한 후의 행동 흐름을 설득, 무적 상태, 다시 추격 등으로 확장해 게임플레이 유연성을 확보할 수 있었음
- 인터페이스 중심 설계는 클래스 간 의존도를 줄이면서도 통합적인 시스템 구현에 효과적이었음
'TIL(Today I Learned) > Unreal Engine' 카테고리의 다른 글
| AI Perception을 이용한 시각 기반 플레이어 추적 시스템 구현 (0) | 2025.05.12 |
|---|---|
| 커스텀 BTTask 및 BTService 구현 (0) | 2025.05.09 |
| AIController와 BehaviorTree 연동 및 순찰 로직 구현 (0) | 2025.05.08 |
| AI NPC 사운드 디자인과 어테뉴에이션 (0) | 2025.05.01 |
| 언리얼 엔진 AI 애니메이션 블루프린트 및 스테이트 머신 구현 (1) | 2025.04.30 |