3D 신작 게임을 개발하던 중 생각했던 기획을 위해 총이 어떤 물건에 맞으면 산산조각 부숴지는 기능을 구현해야 했다
그러나 이를 유니티 자체에서 해결할 수는 없어서 블렌더에서 미리 오브젝트를 쪼개서 유니티에 넣어보는 방식을 채택했다
그러기 위해 필요한 방식이 바로 블렌더의 플러그인인 Cell Fracture이다
블렌더 4.3.0 기준으로

Get Extentions로 Cell Fracture를 다운받아서

Add-ons로 이를 적용한다
그렇게 한 후 원하는 모델을 블렌더에 끌고오면 되는데
여기서 주의할 점은 오브젝트를 쪼갤 때 기본 오브젝트가 너무 작으면 조각들의 틈이 벌어져서 어색한 상황이 생긴다, 이를 방지하기 위해 오브젝트 자체를 크게 해서 적용하고 유니티에서 축소시키는 방식을 추천한다.

끌고 오면 보이는 화면에서 Scale을 미리 조정하면 조금 더 편하다
이 작업을 거친 후 Objects -> Quick Effect -> Cell Fracuture로 들어간다

그렇게 하면 이런 창이 뜬다

위쪽 Point Source는 구분할 기준을 나누는 것이다
verts는 버텍스, particles는 파티클을 기준으로 나누니 본인의 오브젝트의 특성을 보고 결정하면 될 것이다.
Source Limit은 조각의 제한을 두는 것인데 몇 번 해보니 완벽하게 저 숫자의 제한을 가지지는 않지만 그래도 어느 정도 비슷한 값이 나온다
Noise는 조각 내부의 곡선값을 노이즈라고 명명해 더해주는 듯 하다, 내 기준에서는 높일수록 자연스러운 부분들이 나왔다
Recursive Shatter는 재귀 분할에 대한 부분인데
Recursion은 몇 번 재귀해 분할할 것이냐를 나타내는 부분이다, 이를 넓힐수록 조각 자체가 재귀되어 분리돼 더 자연스러운 조각을 나누게 한다
아래 부분은 재귀 시 어떤 조각 크기로 잡을 것인지, 랜덤값을 얼마나 줄 것인지 등등의 요소들을 정하는 것이다
아래 부분들은 그렇게 중요한 부분은 아니니 패스하고...
중요한 부분은 머터리얼 쪽에 있다
기본적으로 우리가 쓰는 에셋들은 겉면에만 머터리얼이 존재한다
그렇기 때문에 쪼개게 되면 안쪽에도 머터리얼 색을 발라줘야 한다, 그러나 기본적으로 에셋 내장 머터리얼은 그런 것이 포함되어 있지 않을 것이기 때문에 미리 밑작업을 해줘야 한다

오브젝트 자체에 머터리얼을 하나 더 추가한 후

Mesh Data 내 Material을 하나 추가해서 분리하면 된다
결론적으로 분리해보자면

이런 식으로 치즈가 분리가 되는 모습을 볼 수 있다
그러나 지금 오브젝트 목록에 원본이 남아있는 상태이기 때문에 편하게 가져가고 싶으면 이를 지우는 것도 좋은 선택이 될 수 있고
안쪽에 카메라와 라이트도 제거하고 가는 것이 편하다

대신 라이트를 제거하고 가면 오른쪽 Object Types에서 Lamp를 꺼야 Export가 된다
그렇게 유니티에서 보면

그럼 머터리얼을 기본적으로 2개를 넣어준 채로 유니티에서 적용할 수 있다
그리고 적절하게 따로 머터리얼을 만들어서 적용하면 안쪽까지 원하는 색을 넣은 부숴진 조각을 만들 수 있다
물론 따로 적용하지 않는다면 단색 머터리얼밖에 집어넣지 못해서 단색 속살만 볼 수 있다는 단점은 있지만 그 부분은 감수해야 하는 부분이라고 생각한다
그리고 가장 짜증났던 점은 지금 하고 있는 야채들은 버텍스가 좀 들쑥날쑥한 경향이 있기 때문에 쪼갤 때 많은 오류가 일어났던 것이다
예를 들어

이렇게 쪼갤 때 생기는 잔상들이 지워지지 않고 남아있다는 점이다
이를 해결하는 법은.. 없더라고요ㅋㅋ
그냥 랜덤으로 계속 뽑다보면 가끔 괜찮은게 나오더라고요? 화이팅입니다ㅎㅎ