Unreal Collision에 관하여

2025. 10. 31. 21:30·Unreal Project/Unreal Study

 

언리얼의 기본적인 충돌 판정으로는 3가지로 분류되어 있다.

Collision

  • LineTrace

      -  지정한 방향으로 선을 투사해 이 선이 어떤 물체와 충돌되는지를 감지하는 방법

  • Sweep

      - LineTrace와는 다르게 선이 아니고 어떤 도형을 지정한 방향으로 투사해서 이 도형과 어떤 물체가

        충돌 되는지를 감지하는 법

  • Overlap

       - 이것은 투사하는 것이 아니고 지정한 영역에 큰 범위의 도형을 설정해서 해당 영역과 물체가 충돌 되는지를

         감지하는 방법 

 

 

   이러한 충돌 판정 기능을 구현하기 위해서는 언리얼 엔진이 제공하고 있는 기본적인 물리 설정에 별도로 

   프로젝트 상황에 맞춰 채널이라던지 프로필을 생성해야한다.

 

   이렇게 채널이나 프로필을 만드는 이유는 간단하다. 

   충돌 규칙을 한곳에 정의하고 재사용하기 위해서이다.

  언리얼의 충돌은 “누가(객체 채널) 무엇을(트레이스/다른 객체) 어떻게(차단/오버랩/무시) 대할 것인가”의 조합인데, 이걸 매 액터·    컴포넌트마다 개별 설정하면 관리가 지옥이 됩니다. 

 

  그래서 해당 규칙을 미리 정의하고 사용하기 위해 채널과 프로필을 만든다. 

 

 

Collsion 채널 설정

 

다음 사진을 보면 Default Response로 3가지가 있는데. 

 

Ignore :  충돌 검사 자체를 하지 않음.

(사용 예시 : 플레이어가 자신과 충돌하지 않아야 할 경우 , 무기 트레이스가 플레이어의 콜리전을 무시하도록 할 때) 

 

Overlap : 충돌은 감지하지만, 물리적으로 막지 않는다. 

                 즉, 서로 겹칠 수 있고 OnOverlapBegin, OnOverLapEnd 같은 이벤트만 발생

(사용 예시 : 플레이어의 공격 판정 콜리전 (히트박스) , 적의 감지 범위, 상호작용 영역, 아이템 획득 구역등) 

 

Block : 충돌이 발생하며 이동 및 트레이스가 멈춤

(사용 예시 : 벽같은 실제 물리적으로 이동 경로로 막혀야 하는 오브젝트들에 주로 사용된다.) 

 

⚙️ 정리표

옵션 의미 물리 충돌 오버랩 이벤트 트레이스 결과 사용 예시
Block 완전 충돌 ✅ ❌ ✅ 벽, 바닥, 장애물
Overlap 감지만 함 ❌ ✅ ✅ 트리거, 공격 판정
Ignore 무시 ❌ ❌ ❌ 장식물, 자기 자신

 

Object Channel 과 Trace Channel의 의미 

Object Channel은 "나는 어떤 종류의 물체인가?" 를 정의하는

즉, 객체가 자기 자신을 정의하는 채널이라고 생각하면 된다. 

 

각 콜리전 컴포넌트가 자신을 구분하기 위해 사용하며 

" 이 컴포넌트는 월드 오브젝트인가?, 캐릭터인가?, 공격 판정인가?" 같은 정체성을 나타낸다. 

 

다른 객체나 트레이스가 나를 검사할 때, "내가 어떤 채널이냐"를 기준으로 반응을 결정한다는 것.

 

📘 Trace Channel 예시

오브젝트 Object Channel 설명
플레이어 Pawn 캐릭터(조종 가능한 주체)
벽, 바닥 WorldStatic 움직이지 않는 환경
움직이는 상자 WorldDynamic 물리적 이동 가능 오브젝트
총알 Projectile 움직이는 공격 판정
감지 트리거 KZAction (사용자 정의) 오버랩 전용 감지체

 

Trace Channel은 "나는 무엇을 감지(또는 무시) 하고 싶은가?" 를 사용하는 채널로 

트레이스나 쿼리(Line Trace, Sweep, Overlap)이 사용하는 채널이다. 

 

즉 "이 트레이스가 어떤 대상(Object Channel)을 잡을지"를 필터링 하는 기준이다.

 

📘 Trace Channel  예시


트레이스 이름 Trace Channel 설명
시야선 검사 Visibility 벽이 시야를 막는지 감지
카메라 충돌 Camera 카메라와 캐릭터 사이의 충돌 감지
공격 판정 KZActionTrace (사용자 정의) 공격 트레이스만 감지

LineTraceSingleByChannel(..., ECC_Visibility, ...)
→ 이때 ECC_Visibility는 트레이스 채널로, “Visibility 채널로 정의된 충돌을 잡겠다”는 의미입니다.

 

요약하자면, 

 

  • Object Channel: “나는 어떤 종류의 물체인가”
  • Trace Channel  : “나는 어떤 종류의 물체를 감지하고 싶은가” ( ignore, Overlap, Block)
  • 충돌 반응(Response) :  “이 트레이스가 이 오브젝트 타입을 만났을 때 어떻게 행동할까(Block / Overlap / Ignore)”를 정의한 것

 

 

'Unreal Project > Unreal Study' 카테고리의 다른 글

Data_Asset 및 Quater View, Shoulder View 구현  (0) 2026.02.26
Animation 속도를 구간 별로 다르게 조절하는 방법  (0) 2025.10.29
Combo Attack 구현해보기 및 구조 정리하기  (0) 2025.10.27
Unreal Weapon Socket 다루기  (0) 2025.10.27
Character Movement Component에 대하여 알아보  (0) 2025.10.22
'Unreal Project/Unreal Study' 카테고리의 다른 글
  • Data_Asset 및 Quater View, Shoulder View 구현
  • Animation 속도를 구간 별로 다르게 조절하는 방법
  • Combo Attack 구현해보기 및 구조 정리하기
  • Unreal Weapon Socket 다루기
seonhwan2547
seonhwan2547
seonhwan2547 님의 블로그 입니다.
  • seonhwan2547
    seonhwan2547 님의 블로그
    seonhwan2547
  • 전체
    오늘
    어제
    • 분류 전체보기 (80)
      • Unreal Project (17)
        • Khazan 모작 프로젝트 (2)
        • Unreal Study (10)
        • Blueprint (5)
      • Directx11 Project (11)
        • Thymesia 팀 프로젝트 (8)
        • Kaku Ancient Seal 개인 프로젝트 (2)
        • Thymesia Animation Tool 개발 (0)
      • Algorithm (6)
        • Binary_Search (2)
        • Greedy (1)
        • Dynamic Programming (1)
        • A-star (1)
      • Coding Test (31)
        • Brutal Force (2)
        • Sort (5)
        • DFS (3)
        • Binary_Search (4)
        • BFS (6)
        • Hash (2)
        • Dynamic Programming (6)
        • Greedy (1)
        • BackTracking (1)
        • Binary_Tree (1)
      • STL Container (1)
        • unorded_set (0)
        • priority_queue (1)
      • C++ 공부 및 몰랐던점 (8)
        • Smart pointer (1)
      • Visual Studio 설정관련 공부 (1)
      • Console Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 소개
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    blueprint
    GameProgramming
    Game Programming
    Unreal
    Unreal Engine
    CodingTest
    hash
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
seonhwan2547
Unreal Collision에 관하여