Destructible Mesh 란?

특정한 입력이나 충돌 등을 통해 부서지거나, 무너지는 메시를 말한다.

메시를 미리 청크 (Chunk) 단위로 쪼개거나 부셔둔 뒤, 무너저 내리게 하는 방식이 대표적인 방식이다.

언리얼 엔진에서 기본 제공되는 방식은 NVIDIA 에서 만든 APEX Destructible 을 사용하는 방법이다. 추가적인 NVIDIA GameWorks의 프레임워크 솔루션들을 엔진에 넣어 빌드하면 사용할 수도 있다.

예전에 내가 직접 Gun Blader VR을 만들며 사용했던 APEX Destructive Demo를 보면 바로 이해될 것이다.

초록색의 상자들이 Destructible Mesh 들이다.

4.23 버전 부터는 에픽 게임즈에서 직접 만든 카오스 물리 (Chaos Physics) 기능이 새로 추가되어 리얼타임 디스트럭션의 미래를 열었다.

APEX Destruction을 사용한 Destructive Mesh 기능 설치법

엔진에 기본적으로 적용되어있지 않아서 직접 플러그인에서 활성화 시켜주어야 사용할 수 있다.

플러그인 관리창에 가서 apex를 검색하면 Apex Destruction이 나온다.

활성화를 누른뒤 에디터를 껐다 켜면 사용할 수 있다.

에디터를 끄고 다시 켰으면, 이제 디스트럭터블 메시를 만들 수 있다.

Destructible Mesh 사용법

아무런 스테틱 메시나 누른뒤, 오른쪽 클릭을 해서 보면 디스트럭터블 메시 생성이라는 옵션이 나온다.

버튼을 누름과 동시에 디스트럭터블 메시가 자동으로 생성되며, 디스트럭터블 메시 에디터가 켜지고, 우리가 소스로 삼았던 스테틱 메시의 이름을 그대로 가져온 뒤 접미사에 “_DM” 이 붙은 애셋이 하나 생겨난다.

예를 들기 위해서 가장 기본적으로 충돌을 받을 경우 부서지는 메시를 만들어 보겠다.

디스트럭터블 세팅에서 Damage 카테고리에 있는 Enable Impact Damage를 켜준다.

그리고 디스트럭터블 에디터의 툴탭에서 프랙처 메시를 눌러준다.

그럼 자동적으로 메시를 청크단위로 나눠 알아서 부셔준다.

이제 에디터로 다시 돌아와서 우리가 만들었던 디스트럭터블 메시를 씬 안에 배치해주고 적당한 높이로 띄워서 원하는 대로 회전시켜주자. 회전은 해도되고 안해도된다.

이제 마지막으로 디스트럭터블 메시의 디테일 창에서 Physics 카테고리 바로 아래있는 Simulate Physics를 켜주면 된다.

모두 잘 설정되었다면, 아래와 같이 메시가 충격을 입자마자 부서지는 것을 볼 수 있다.

Destructible Setting Property 안내

디스트럭터블 메시를 사용하려면, 프로퍼티를 어느정도 다루어야 최상의 결과를 낼 수 있다. 공식 문서의 프로퍼티를 참고하면, 이해하기 쉽다.

https://docs.unrealengine.com/ko/Engine/Physics/Destructibles/DestructibleProperties/index.html