10.30 - TIL

김혁·2025년 10월 30일

TIL

목록 보기
46/84

오늘의 코드카타

오늘의 공부

  • 팀 프로젝트 에셋 정하기


오늘의 CS

언리얼의 Collision Filtering

  • 게임 내의 물리 객체들 사이에 어떤 충돌을 허용하고, 어떤 충돌을 무시할지를 결정하는 시스템
  • 불필요한 물리 계산을 줄여 성능을 최적화하고, 복잡한 게임플레이 로직을 구현함
  • 언리얼 엔진은 콜리전 시스템 자체를 활성화할지 여부를 결정하는 1차 필터링과 3가지 주요 설정(채널, 응답, 프리셋)을 사용하여 어떤 채널과 어떻게 상호작용할지 2차 필터링을 하는 구조로 되어있음

Collision Enabled

  1. No Collision
    • 해당 컴포넌트에 대한 모든 충돌 감지 및 물리 시뮬레이션을 비활성화함
    • 장식용 오브젝트나, 충돌 로직이 필요 없는 컴포넌트의 성능 최적화에 사용됨
  2. Query Only
    • 물리 시뮬레이션은 하지 않고, 오직 쿼리 기반의 충돌 감지만 허용함
    • Overlap 이벤트는 정상적으로 발생하지만, Block으로 되어있어도 무시됨
  3. Physics Only
    • 쿼리 기반의 충돌 감지는 하지 않고, 오직 물리 시뮬레이션 기반의 충돌 처리만 허용함
    • Block은 정상적으로 움직임을 차단하지만, Overlap 이벤트가 발생하지 않음
  4. Collision Enabled
    • 쿼리 기반 감지와 물리 시뮬레이션 기반 처리를 모두 허용함
    • 콜리전 응답 설정에 따라 Overlap, Block이 모두 정상적으로 작동함

1. 콜리전 채널

  • 충돌을 수행하는 객체의 유형을 정의함
  • 프로젝트 설정(Config -> Engine ->Collision)에서 정의함
  • 기본적으로 WorldStatic, WorldDynamic, Visibility 등이 있음

2. 콜리전 응답

  • 특정 채널에 속한 객체가 다른 채널의 객체와 만났을 때 어떻게 반응할지를 정의함
  • 응답 종류
    • Ignore(무시) : 충돌 검사를 전혀 수행하지 않습니다.
    • Overlap(겹침) : 쿼리 기반의 충돌은 발생하지만, 물리적인 충돌은 발생하지 않음. 대신 Overlap 이벤트가 발생함
    • Block(차단) : 쿼리 기반의 충돌을 수행하고, 물리적인 충돌이 발생함. 가장 많은 물리 계산 비용이 발생함
  • 우선순위
    • Block -> Ignore -> Overlap
    • 예를 들어, 한 쪽이 Block, 다른 쪽이 Ignore로 설정하면 물리적 차단 발생
    • 한 쪽이 Overlap, 다른 쪽이 Ignore로 설정하면 Overlap 이벤트 발생 안 함

3. 콜리전 프리셋

  • 채널과 응답 설정을 묶어놓은 템플릿
  • 역할 : 자주 사용하는 충돌 설정을 미리 정의해 두고, 여러 액터에 일관되게 적용할 수 있게 함
profile
게임 개발자를 향해..

0개의 댓글