Noise cutting operator
#1
HI,Tyson.

I saw a discussion about the details of edge noise of fragments earlier, and I also saw the solution you made with Tflow. I also know the problem caused by the "displacement" operator (too large a value causes the edges to interpenetrate with each other). Today, when I was making a shatter, I came up with a way. If we use many pieces with noise shape to cut the particle when we shatter the particle, there will be quite a lot of details after the particle is cut, let alone using the "displacement" operator. Maybe you are worried that "PhysX" only recognizes convex bodies. I don't think you need to worry about it at all. In the calculation, you can cut the particles of particle a without using the patch of noise value, and then use the patch of noise value to cut a set of B particles. We bind B particles to particle A to make B particles continue the rigid body behavior of particle a. Then we get a detailed and error free fragmentation effect. Do you think this method can be implemented in the future?

Another method: save the convex shape of a into a channel, read the existing channel in "PhysX shape", and then display the shape of B particle and fragments with noise shape.

thank you


Attached Files Thumbnail(s)
   
  Reply
#2
Quote:If we use many pieces with noise shape to cut the particle when we shatter the particle

Sorry, but I'm not really sure what this means. Can you elaborate?
  Reply
#3
I mean; For example, there is one such operator, which is temporarily called "noise cutting" operator.

The "noise cutting" operator can generate a lot of "plane" to cut particles, as shown in the figure "a", and save the shape data of this convex body as "Cshape"“ "Plane" can open the noise option, as shown in the figure "B".

It is known that PhysX rigid body only supports convex body (as shown in figure a), then select "custom shape" - "Cshape" data in "hull type" of "PhysX shape" operator to calculate dynamics, and the particle display is the shape of figure "B".

Note: "custom shape": it is a mode to illustrate the hypothesis.

The actual calculation is convex, and the display is concave convex. The fragmentation details are increased, and the solution time remains unchanged. Do you think this way can be implemented in the future?


Attached Files Thumbnail(s)
   
  Reply
#4
The problem with noise plane cutting is that there aren't any reliable open source CSG libraries out there. Closest is Carve but it still has a lot of issues (I use it for tyBoolean and tyCarve, but it's not good enough for a generic cutting solution required for an operator). Until someone releases one, it won't be possible to do that kind of noise cutting....because I'm probably not going to invest months of research into creating my own when my development time is better spent elsewhere.

As for using regular planes for convex and then noise planes for concave and having the convex chunks control the concave chunks, that unfortunately can lead to issues because the chunk count between the flat planes and noisy planes won't be the same. So you'll end up with concave pieces that have no corresponding convex piece. There are potential solutions to that (link the extra concave pieces to the nearest convex piece), but those options have their own problems (the linked pieces may appear to be floating).
  Reply
#5
Well, you're right. I hope there will be a better solution in the future. Thank you for your answer. I almost thought I found the perfect replacement
  Reply
#6
Well for cutting it is the ideal solution, and I know it's used in Houdini...but I believe they rolled out their own CSG code...unfortunately I'm stuck with whatever is publicly available. If a better CSG solution is released, I won't hesitate to implement it.
  Reply
#7
Looking forward to a good solution in the future.

Thank you for your patience. Your insight is incomparable. I am full of confidence in tyflow and look forward to the commercial version of tyflow
  Reply


Forum Jump: