TIL

[UE5]콜리젼을 이용한 아이템과 몬스터 행동패턴

think95592 2026. 4. 23. 20:37

오늘의 학습 핵심 요약

1. Sphere Collision (구체 충돌체)

  • 개념: 보이지 않는 구 형태의 충돌 영역입니다.
  • 용도: 플레이어 감지 센서, 폭발 대미지 범위, 아이템 획득 범위 등으로 활용됩니다.
  • Tip: 개발 중 범위를 확인하려면 디테일 패널에서 Hidden in Game 체크를 해제하면 게임 실행 중에도 와이어프레임이 보입니다.

2. Cast To (형변환)

  • 개념: 부딪힌 물체(Actor)가 정확히 내가 원하는 타입(예: BP_FPSCharacter)인지 확인하는 과정입니다.
  • 로직: * 성공: 해당 타입의 기능을 사용할 수 있게 연결됩니다.
    • 실패 (Cast Failed): 다른 물체(벽, 적 등)가 닿았을 때 불필요한 로직이 실행되지 않도록 방지합니다.

3. AI Move To & NavMesh

  • AI Move To: AI를 특정 목적지나 타겟을 향해 이동시키는 노드입니다.
  • NavMesh Bounds Volume: AI가 이동 가능한 '길'을 정의하는 영역입니다.
    • 레벨 배치 후 **단축키 [P]**를 누르면 초록색으로 활성화된 이동 가능 영역을 확인할 수 있습니다.

4. 함수(Function) vs 이벤트(Event)

언리얼 블루프린트에서 로직을 묶는 두 방식의 결정적 차이입니다.

  • 함수: 반환값(Return Value)을 가질 수 있어 계산에 유리하지만, Delay(지연 시간) 노드를 사용할 수 없습니다.
  • 이벤트: 반환값은 없지만 Delay나 타임라인 같은 시간 흐름 제어 노드를 사용할 수 있습니다.

5. Blend Space (블렌드 스페이스)

  • 개념: 여러 애니메이션을 수치에 따라 자연스럽게 섞어주는 도구입니다.
  • 활용: Speed 변수 값에 따라 Idle(0) → Walk(300) → Run(600) 상태를 부드럽게 전환하여 캐릭터의 움직임을 생동감 있게 표현합니다.


🛠 과제 수행 기록: 총알 아이템 제작

기존에 만든 힐 포션 로직을 응용하여 BP_Item_Ammo를 제작했습니다.

1. 블루프린트 구조

  • Root: Sphere Collision (아이템 획득 범위)
  • Mesh: Stylised Sniper Bullet
  • Variable: AmmoAmount (Integer, 기본값 30)

2. 주요 로직

  • OnComponentBeginOverlap 발생 시 플레이어 캐릭터로 Cast To를 수행합니다.
  • 캐릭터 블루프린트 내부에 미리 정의한 AddAmmo 함수를 호출하여 탄약 수를 갱신합니다.
  • 획득 후 Destroy Actor로 아이템을 제거합니다.

3. 레벨 배치

  • 레벨 디자인에 맞춰 3개 이상의 아이템을 배치하여 정상적으로 습득 및 HUD가 갱신되는지 테스트를 완료했습니다.