충돌 이벤트

주상돈·2025년 2월 6일

TIL

목록 보기
25/53

충돌 이벤트로 획득되는 아이템 구현하기


  • 충돌 영역 (Collision Volume)
    • 아이템 액터 주변에 SphereComponentBoxComponent 같은 충돌 컴포넌트를 붙여둔다.
    • 플레이어가 이 영역 안에 들어오면 Overlap 이벤트가 발생하고, 이를 감지해 아이템 획득 로직을 실행할 수 있다.
  • Overlap 이벤트 vs. Hit 이벤트
    • Overlap 이벤트: 물리적으로 부딪히는 것 없이 액터들이 서로 “겹치기 시작”했을 때 발생합니다. 아이템 획득, 트리거 존 감지 같은 경우에 주로 사용한다.
    • Hit 이벤트: 실제 물리 충돌이 일어날 때 발생합니다 (예: 탄환이 벽에 부딪히는 장면). 아이템 획득처럼 “겹침”만 감지하면 되는 경우에는 Overlap 이벤트가 더욱 적합.
  • 아이템 획득 처리
    • 충돌 영역 안에 플레이어가 들어오면 (Overlap 시작 시점), 아이템이 즉시 사라지거나(DestroyItem()), 점수를 올리거나 체력을 회복하는 등 다양한 로직을 실행할 수 있다.
    • 초중급 개발에서 많이 쓰이는 방식으로, 한 번 제대로 설정해두면 매우 편하게 사용할 수 있다.

콜리전 프리셋

언리얼 엔진은 여러 가지 콜리전 프리셋을 제공한다. 이 프리셋을 통해 어떤 액터 (또는 채널)와 충돌을 Block할지, Overlap할지, Ignore할지를 손쉽게 설정할 수 있다.

  1. NoCollision
    • 충돌을 전혀 감지하지 않으므로, Overlap 또는 Hit 이벤트가 발생하지 않는다.
    • 사용 예시: 단순 배경 오브젝트(하늘, 장식용 액터 등).
  2. BlockAll
    • 모든 객체와 충돌하여 막게 됩니다. 물리적으로 충돌하지만, Overlap 이벤트는 발생하지 않는다.
    • 사용 예시: 벽, 바닥 같은 고정된 장치.
  3. OverlapAll
    • 모든 객체와 Overlap 이벤트를 발생시킵니다.
    • 사용 예시: 트리거 존, 감지 센서, 투명한 오브젝트.
  4. BlockAllDynamic
    • 움직이는 (Dynamic) 객체만 충돌을 막습니다. 고정된 객체와는 충돌하지 않는다.
    • 사용 예시: 움직이는 플레이어나 물리 오브젝트와 상호작용하는 문, 벽. 고정된 환경 요소와는 무관하게 작동.
  5. OverlapAllDynamic
    • 움직이는 (Dynamic) 객체와 Overlap 이벤트를 발생시킵니다.
    • 사용 예시: 플레이어가 근처에 있는지 확인하는 아이템, 센서. Overlap 이벤트가 필요하지만, 물리 충돌이 필요 없는 경우.
  6. Pawn
    • 플레이어나 AI처럼 Pawn 타입 객체를 대상으로 충돌을 감지하거나 막는다.
    • 사용 예시: 플레이어 전용 문, AI 전용 센서.
  7. Custom
    • 각 채널에 대해 충돌 응답(Overlap, Block, Ignore)을 객체별로 세부적으로 설정할 수 있다.
  • 물리 반응 여부 (Collision Enabled)
    • 충돌이 켜져 있어도 물리적 반응이 없는 “Query Only”인지, 물리적인 반응까지 하는 “Query and Physics”인지 구분할 수 있다.
      • NoCollision: 충돌 비활성화
      • Query Only: Overlap, Hit 등 충돌 이벤트는 감지하지만, 물리적으로 튕기거나 밀리는 반응은 없음.
      • Physics Only: 물리 반응만 일어나고, 이벤트 (Overlap/Hit)는 발생하지 않음.
      • Query and Physics: 충돌 이벤트 + 물리 반응 모두 활성화

0개의 댓글