04-11-2021, 08:35 AM
(This post was last modified: 04-11-2021, 08:36 AM by josemendez.)
(03-11-2021, 07:27 PM)snowtv Wrote: Lets say I have two cubes A and B, and I want to cut both A and B in half (the cutting plane is not pre-determined but is based on user input), then join half of A and half of B together.
What is the best approach to this kind of scenario?
Not trivial at all. Cutting/tearing softbodies is hard, so much that it's still a very active academic research field. Roughly, you could do it this way:
- Determine which triangles in the mesh intersect the cutting plane.
- Reorganize mesh topology around these triangles (generate new vertices, new triangles, etc), while keeping correct texture coordinates, colors, normals, etc.
- Reorganize softbody constraints around the cut: disconnect particles at different sides of the plane, reseed new triangles with particles and create new particles and shape matching clusters where needed. Then, re-bind each chunk to the particles.
Unless you're comfortable with math/physics and C# coding, it's not easy, specially in a particle-based engine. Continuum methods like tetrahedral FEM generally make it easier to do this.