본문 바로가기
개인 성장 일지/언리얼 엔진

언리얼엔진 : 콜리전 설정하는 법

by 류 진 2023. 10. 30.
728x90

콜리전(Collision)이란

번역하면 '충돌'이란 뜻이다.

 

말 그대로, 특정 물체와 충돌되지 못하도록, 콜리전을 세팅을 해줘야 특정 물체가 충돌되지 못하도록 설정할 수 있다.

 

우리가 길을 지나가는데, 갑자기 바닥으로 꺼진다거나, 못 지나게 의도한 벽을 뚫고 지나가게 되는 경우를 생각해 보자.

 

그런 경우를 방지하기 위하여, 콜리전 세팅을 해줘야 하는 것이다.

 

언리얼엔진의 스태틱메쉬를 하나 열어서 'Show'→'Simple Collision'을 선택해 보자.

 

 

그러면, 대체로 프랍을 임포트 시키면 콜리전 설정이 되어 있지 않을 것이다..

 

콜리전은 자동, 또는 수동으로 다양한 방법으로 설정할 수 있다.


자동으로 콜리전 설정하기.

이 방법의 경우에는, 정밀도가 직접 하는 것에 비해서는 떨어지는 반면, '자동'으로 오브젝트를 파악하여 콜리전을 설정해 주려 노력한다.

 

'Collision'→'Auto Convex Collision'을 선택하자.

 

선택하면, 'Detail' 패널에 'Convex Decomposition'이라는 창이 뜰 것이다.

 

 

Apply를 클릭하면, 자동으로 프랍에 '콜리전'을 적용시켜 준다.

 

 

'Simple Collsion'을 표시해 놓으면, 위의 사진처럼 초록색 선들이 생긴 것을 볼 수 있다. 이것이 우리가 충돌되지 않도록 '자동'으로 설정한 콜리전이다.

 

다만, 보다시피 자동으로 설정해 주는 것이기 때문에, 빨간 표시를 한 곳을 보면, 손으로 하는 것에 비하면 다소 정교하지 못할 수도 있다.

 

이를 완벽하게 만들고 싶다면, 수동으로 만들어주어야 한다.


수동으로 콜리전 설정하기.

기존의 설정된 콜리전을 지워보자.

 

'Collision'→'Remove Collsion'을 선택하면, 우측 사진처럼 콜리전이 지워진 것을 확인할 수 있다.

 

이제 수동으로 콜리전을 설치해 보자.

'Collision'을 클릭하면 'Edit Collision' 부분에 '~~ Collision'이 존재한다.

 

이것들을 클릭하여, 다양한 콜리전을 추가할 수 있다.

 

각 기능 별로 하나씩 추가해 보면서 직접 콜리전을 설정해 보자.

 

각자 하나씩 소환하다 보면, 아 이게 이런 기능이구나를 알 수 있다.


왜 이런 글을 적었느냐!

사실 내가 한 땀 한 땀 심혈을 기울여서 콜리전을 세팅 중이다.

 

나는 현재 졸업작품을 만들고 있으며, 기획 파트로는 시스템 및 레벨 디자인의 역할을 맡고 있다.

 

배경 프랍이 나올 때마다 콜리전을 설정해주고 있는데, 어느 정도 작은 오브젝트 같은 경우에는 자동으로 콜리전을 설정해도 큰 문제가 없다.

 

다만, 큰 오브젝트의 경우에는 자동으로 설정한 콜리전으로 플레이를 하게 되면, 다소 불편한 부분들이 생기게 된다.

 

 

  • 오브젝트는 분명하게 어디까지 지나갈 수 있게 표현되지만, 애매하게 자동 콜리전이 가로막는다.
  • 레벨 디자인의 의도에 맞게 오브젝트로는 뚫린 문을 만들었는데, 자동 콜리전이 그 부분까지 막아버린다.
  • 프랍이 평면의 구조를 가지고 있는 경우, 확실하게 자동 콜리전이 망가진다.

등등의 문제를 겪는다.

 

그래서... 콜리전 작업하는 도중에 내 힘듦을 알아주길 원함과 동시에, 콜리전 세팅을 힘내고자.. 이렇게 글을 적는다.

 

자동 콜리전이 웃으면서 안 된다고 반송을 취하니, 수동으로 작업 중이다.

 

'원형 구조의 콜리전'을 '수동'으로 세팅하는 것은 정말 지옥이다.

 

 

특정 구간이 뚫려 있거나, 안이 뚫려있는 콜리전이 따로 없기도 하고, 원형 구조이다 보니, 벽을 비빈다고 가정했을 때 최대한 모난 곳이 없도록 하기 위해... 심혈을 기울여 만들고 있다.

 

보이는가..  저 맞닿는 공간에 대해 최대한 모난 곳이 없도록 만들려는 의지가..(죽여줘)

 

평면이나 얇은 오브젝트, 뚫린 공간에 대해서는 애가 인식을 잘 못하는 것 같다..

 

언젠가는 자동 콜리전도 이런거 잘 해결할 수 있게 해 줬으면 좋겠다..