ShovelingLife
A Game Programmer
ShovelingLife
전체 방문자
오늘
어제
  • 분류 전체보기 (1074) N
    • 그래픽스 (57)
      • 공통 (19)
      • 수학 물리 (22)
      • OpenGL & Vulkan (1)
      • DirectX (14)
    • 게임엔진 (183)
      • Unreal (69)
      • Unity (103)
      • Cocos2D-X (3)
      • 개인 플젝 (8)
    • 코딩테스트 (221)
      • 공통 (7)
      • 프로그래머스 (22)
      • 백준 (162)
      • LeetCode (19)
      • HackerRank (2)
      • 코딩테스트 알고리즘 (8)
    • CS (235)
      • 공통 (21)
      • 네트워크 (44)
      • OS & 하드웨어 (55)
      • 자료구조 & 알고리즘 (98)
      • 디자인패턴 (6)
      • UML (4)
      • 데이터베이스 (7)
    • 프로그래밍 언어 (349) N
      • C++ (168) N
      • C# (90)
      • Java (9)
      • Python (33)
      • SQL (30)
      • JavaScript (8)
      • React (7)
    • 그 외 (10)
      • Math (5)
      • 일상 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Source Code 좌측 상단에 복사 버튼 추가 완료
  • 언리얼 엔진 C++ 빌드시간 단축 꿀팁
  • 게임 업계 코딩테스트 관련
  • 1인칭 시점으로 써내려가는 글들

인기 글

태그

  • C++
  • 그래픽스
  • 배열
  • string
  • 유니티
  • 백준
  • 함수
  • c#
  • 티스토리챌린지
  • 포인터
  • 오블완
  • SQL
  • 파이썬
  • 클래스
  • 프로그래머스
  • Unity
  • C
  • 문자열
  • 알고리즘
  • 언리얼

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShovelingLife

A Game Programmer

[Unreal] 언리얼 콜리전(충돌), 트레이스(추적) 유형
게임엔진/Unreal

[Unreal] 언리얼 콜리전(충돌), 트레이스(추적) 유형

2022. 7. 14. 20:03

언리얼의 콜리전은 오브젝트 타입과 트레이스 타입으로 나뉘고 각 사항에 대해 트레이스 처리를 할 수 있다. c++ 과 BP에 대응하는 함수는 아래와 같다. 여기서는 LineTrace만을 예로들었으나 구체, 박스, 캡슐등의 트래이스 모양및 다중트래이스 처리도 할수 있으니 필요하면 찾아서 쓰자(사용법은 같다. 반환되는값의 차이.)

 

(ECollisionChannel? EObjectTypeQuery?? ETraceTypeQuery??? )

 

1. 언리얼의 기본및 사용자정의 오브잭트채널, 트레이스채널은 모두 ECollisionChannel한군데에 세팅되고 트래이스에는 이값들이 사용된다.

2. EObjectTypeQuery, ETraceTypeQuery 는 ECollisionChannel에 세팅되어 있는 값을 찾아오기위한 값들이라 생각하면 쉽다.

3. 각 Enum이 어떻게 매칭되는지에 대해 정리하자면 ECollisionChannel의 기본 채널을 재외한 사용자 생성 채널은 ECC_GameTraceChannel1 부터 생성한 순서대로 지정된다. 지정된 값은 [프로젝트폴더]/config/DefaultEngine.ini에 세팅.

 

EObjectTypeQuery와 ETraceTypeQuery는 각각 엔진-사용자오브젝트의 순서대로 ObjectTypeQuery1 TraceTypeQuery1 부터 순서대로 매칭된다.

추가적으로 UEngineTypes::ConvertToCollisionChannel 함수로 EObjectTypeQuery와 ETraceTypeQuery를 실제 사용되는 ECollisionChannel 값으로 가져올수 있다.

 

+ 추측하기 보단 UEngineTypes 클래스 내에 ConvertToObjectType 함수를 사용하자.

TArray<TEnumAsByte<EObjectTypeQuery>> arrObjectTypeQuery;
arrObjectTypeQuery.Add(UEngineTypes::ConvertToObjectType(ECollisionChannel::ECC_Vehicle));
arrObjectTypeQuery.Add(UEngineTypes::ConvertToObjectType(ECollisionChannel::ECC_PhysicsBody));

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Engine/UEngineTypes/

 

출처 : https://blog.daum.net/peace-day/22

저작자표시 (새창열림)

'게임엔진 > Unreal' 카테고리의 다른 글

[Unreal] RootComponent 루트 컴포넌트  (0) 2022.07.17
[Unreal] RadialForceComponent 하중을 가하는 컴포넌트  (0) 2022.07.17
언리얼엔진5 다운로드 및 4에서 업그레이드 방법  (0) 2022.07.08
[Unreal] 액터 스폰과 Owner 관련, 렌더타깃 UI  (0) 2022.07.06
[Unreal] 컴포넌트 부착 함수와 방법  (0) 2022.07.06
    '게임엔진/Unreal' 카테고리의 다른 글
    • [Unreal] RootComponent 루트 컴포넌트
    • [Unreal] RadialForceComponent 하중을 가하는 컴포넌트
    • 언리얼엔진5 다운로드 및 4에서 업그레이드 방법
    • [Unreal] 액터 스폰과 Owner 관련, 렌더타깃 UI
    ShovelingLife
    ShovelingLife
    Main skill stack => Unity C# / Unreal C++ Studying Front / BackEnd, Java Python

    티스토리툴바