Please read through the manual first before asking questions.
Release Details
V1.2.6
-Improved scaling of colliders in ExampleScene.
-Added package uploads from older Unity versions.
V1.2.5
-Fixed a race condition that caused performance issues when Async Cutting was enabled.
-Added option for user to manually choose the amount of Threads used for Async Cutting.
V.1.2.4
-Updated documentation
V.1.2.3
-Option to prevent mesh creation when cut mesh has <N vertices
-“Tags” for stone cuts now carrying over
V.1.2.2
-Disabled MeshTargets.cs components will no longer be cut.
-Perfomance improvements
-Fixed a bug that prevented building
V1.2.1 Fixed a prefab bug where mesh wouldn’t render
V1.2
Fixed namespace issues and improved code readability.
Updated materials.
V1.1
Dynamic Ragdoll Update.
V1.0
Initial release.
Manual
Demonstration Video 1
Demonstration Video 2
Unity Asset Store Link
Why this thread?
Because of requests from my users, I created this discussion thread for anyone having questions, comments, advice or other feedback regarding Dynamic Mesh Cutter. I will always answer mails at philipbeaucamp.inquiries@gmail.com as well, but this thread will act as an alternative way of reaching out to me.
What is Dynamic Mesh Cutter?
Dynamic Mesh Cutter is a runtime algorithm that allows you to quickly cut meshes in a very performant way. More than that it can separate disjoint meshes and also cut ragdolls, allowing you to cut a human ragdoll and have its newly cut meshes behave like ragdolls as well. The latter requires quite a bit of setup that I’m happy to explain further if people have questions.
How does it work?
Whatever mesh (be it static or skinned) will be cut by an infinitely large plane. If this plane intersects any triangles of the mesh, the mesh counts as cut. The result will first be split into two parts, a positive and a negative side and can optionally further be separated into individual meshes if the vertices are disjoint. This however is a option the user can enable or disable. There are many settings to choose from, such as whether to have the algorithm run asynchronously (for better performance) and how the resulted mesh should be treated.
What is this tool NOT?
You can not cut a mesh a “certain distance” only or in any other form but via a plane. You can add cool vfx, animations, sounds or other callback related logic yourself (I exposed the right callbacks for this), in fact I encourage you to do this since it will greatly enhance the cutting experience, but keep in mind that this tool is a cutting algorithm only. It is not meant to do all the cool fancy stuff for you, it just cuts meshes.
What are some current limitations/issues?
This algorithm does not detect holes inside a mesh. It correctly cuts most shapes, such as human limbs and does exceptionally well for convex shapes, but it might not be the right tool for you if you plane on using vastly complex meshes.