info8995 님의 블로그

AI 경비 시스템과 인터페이스 기반 감지 로직 구현 본문

TIL(Today I Learned)/Unreal Engine

AI 경비 시스템과 인터페이스 기반 감지 로직 구현

info8995 2025. 5. 14. 20:12

 학습 목표

  • 플레이어 스킬(소리 제거, 은신, 설득) 및 마나 시스템 구현
  • 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가 플레이어를 감지한 후의 행동 흐름을 설득, 무적 상태, 다시 추격 등으로 확장해 게임플레이 유연성을 확보할 수 있었음
  • 인터페이스 중심 설계는 클래스 간 의존도를 줄이면서도 통합적인 시스템 구현에 효과적이었음