Collision은 충돌이라는 뜻을 가지고 있고, 언리얼엔진에서도 마찬가지이다.
collision volume은 그 액터의 실질적인 '모양'이다. 겉보기로 보이는 모양은 겉보기일 뿐, 실질적인 '모양' 이라고 함은 어디에 닿으면 그 액터에 닿은 것인지, 그 액터가 비탈길에 떨어지면 어떻게 될지 (데굴데굴 굴러 떨어지거나, 살짝 기울어지는 정도이거나) 등을 결정하는 것은 collision volume이다.
액터의 'simulate physics' 옵션을 켜기 위해서는 반드시 collision volume이 정의되어 있어야 한다.
캐릭터 클래스를 생성하고 블루프린트 에디터를 열면 다음과 같은 화면을 볼 수 있다. 여기서 캡슐 모양으로 된 컴포넌트가 CapsuleComponent 이다.
add 버튼 -> collision 카테고리에서 박스, 구, 캡슐 모양의 충돌 컴포넌트를 생성, 배치하여 이 캐릭터의 충돌 범위를 설정할 수 있다.
박스 충돌 컴포넌트를 하나 추가해서 전체 충돌 범위를 추가한 모습이다.
또한 메쉬에 대해서는 그 자체에 바로 충돌을 정의할 수 있다.
컨텐츠 브라우저에서 더블클릭하여 편집할 수 있다.
대부분에 상황에서 사용되는 simple collision은 메쉬 주변에 직접 도형을 추가함으로써 만들 수 있다.
이런 식으로 메쉬 주변에 박스 collision을 추가하여 직접 설정할 수 있다.
또는 보다 복잡하고 정교한 collision을 설정할 수도 있다.
DOP란 모델링의 단위로 '면' 에 해당한다. DOP가 높을수록 더 섬세하고 정교한 collision 설정이 가능하지만 그에 따라 컴퓨팅 오버헤드 또한 커지게 된다.
complex collision은 메쉬의 전체 부분만을 정확히 collision으로 정의한 것이다.
많은 개수의 면이 필요하게 되고 따라서 굉장히 높은 컴퓨팅 성능을 요구하지만 현실 세계처럼 정확한 충돌 시뮬레이션이 가능해진다.
또는 auto convex collision 을 클릭하여 직접 collision을 정의할 수도 있는데, 각각의 프로퍼티가 어떤 것을 의미하는지는 알 필요 없으나 전체적으로 값이 커지면 정교해지고 작아지면 심플해진다는 것만 알면 된다.