포스트

유니티 패키지 RealtimeCSG 소개


안녕하세요, 이번 포스팅에서는 지난번 'knife' slicing 을 소개해드리면서 언급했던 mesh boolean operation 코드 두 개 중에 한 개를 다루겠습니다. 바로 'Realtime-CSG' 입니다. https://github.com/LogicalError/realtime-CSG-for-unity

혹시 지난 포스팅을 못 보신 분이시라면 제가 짧게 유용한 코드들을 정리해드리겠습니다.

기능원리URL장/단점
Mesh Slicing 3DMesh, Slicinghttps://github.com/Tvtig/UnityLightsaber닿는 물체를 빠르게 절삭평면으로 일도양단함. / 아직 NonConvex형상(U형상)에 적합하지 않고, Ragdoll을 SkinnedMesh상태로는 자를 수 없음. Ragdoll에 쓰기 위해서는 초보자에게는 매우 하드할 수 있는 변경이 필요함.
Mesh Slicing 2.5DMesh, Slicinghttps://github.com/hugoscurti/mesh-cutter물체를 마우스로 긋는 선대로 자름.
MeshBooleanShader, meshBooleanhttps://github.com/KaimaChen/MeshBooleanshader의 queue 순서를 바꾸고, 특수한 shader를 사용해서 비어있는 hole을 구현함. / 실제 mesh와 collider 형상은 변함 없음.
Paradox_CSGMesh, meshBooleanhttps://github.com/karl-/pb_CSG실제 Mesh에 boolean연산을 해서 subtraction, intersection 등을 계산해서 적용해냄. 코딩하기 어렵고 컴퓨팅 부하가 많이 드는 작업을 CSG.js로 효과적으로 만들어서 C#에 얹어서 사용하고 있음. 사용하기 편함. / 그러나 마찬가지로 SkinnedMesh에 대해서는 고려가 되어있지 않기 때문에 Ragdoll에 쓰기 위해서는 초보자에게는 매우 하드할 수 있는 변경이 필요함.
Realtime-CSGMesh, meshBooleanhttps://github.com/LogicalError/realtime-CSG-for-unity에디터 내에서 MeshBoolean을 수행함. 따라서 InGame에서의 MeshBoolean을 위한 코드는 아니고, 오히려 에디터에서 Blender없이 Level을 더 편하고 가볍게 디자인 할 수 있는 무료인 레벨 디자이너임.(이번 포스팅 주제)

Mesh Slicing 3D / Mesh Slicing 2.5D

MeshBoolean(Shader) / Paradox_CSG(Mesh)


그럼 이제 제가 추천드리는 Realtime-CSG에 대해 짧게 소개해드리겠습니다. 좋은점은, 일단 1. 무료 오픈소스다.

  1. 가볍다 (2.6MB)
  2. 다양한 Boolean Operation이 Unity 에디터 내에서 다 가능하다.
  3. 자르기(Clip)기능도 있다.
  4. 오브젝트의 특정 표면에 위치한 점과 가까운 3D그리드 지점에 지정하여 오브젝을 생성할 수 있다.
  5. 만든 형상을 프리팹으로 저장할 수 있다.
  6. 놀랍다.
  7. 놀랍다..

[영상]


여기까지 제가 다음에 또 찾아 보기 위해 정리한 내용들이었습니다..!ㅎㅎ 저처럼 Unity로 mesh slicing에 관심을 가져본 분이라면 아주 유용한 포스팅이 될 것 같습니다.ㅋㅋ 혹은 보시면서 조금이라도 신기했다면 그걸로 만족합니다.

감사합니다!

sticker

sticker


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.