rbdmaterialfracture

   1175   9   2
User Avatar
Member
76 posts
Joined: Aug. 2020
Offline
Seems like when using this sop to create a cracked object, there's a slight shift/offset in the result's transformations. Slightly moved to left/right, skewed scale and so on. For my purpose, I need to keep the cracked output in exactly the same size/position as the input mesh. Is this behavior expected when using this method and if so, is there a way to mitigate this while still this sop or maybe another approach, like voronoifracture? The latter doesn't shift the output like rbdmaterialfracture, but it also doesn't give me the visual result I'm looking for, even after lots of tunning.

edit: forgot to mention that this happens only when the material type is set to "glass"
Edited by citizen - March 24, 2023 08:55:04
User Avatar
Staff
360 posts
Joined: Feb. 2008
Offline
This definitely shouldn't happen, however glass fracturing as it stands has some limitations which have been addressed for the next release with an entirely new and more robust method for giving you those types of fractured patterns while also supporting curved surfaces.
Is it possible for you to share the geometry you're having issues with?
User Avatar
Staff
360 posts
Joined: Feb. 2008
Offline
Here's an example of how to use the RBD Material Fracture SOP's concrete fracturing with custom input points to recreate the glass fracturing patterns.

Attachments:
BooleanGlassFracturing.hip (710.6 KB)

User Avatar
Member
76 posts
Joined: Aug. 2020
Offline
npetit
This definitely shouldn't happen, however glass fracturing as it stands has some limitations which have been addressed for the next release with an entirely new and more robust method for giving you those types of fractured patterns while also supporting curved surfaces.
Is it possible for you to share the geometry you're having issues with?
Hi npetit,
Check the attached object and the image showing my simple setup. So the current issue is that the object is not flat, like an window glass?
npetit
Here's an example of how to use the RBD Material Fracture SOP's concrete fracturing with custom input points to recreate the glass fracturing patterns.
There are quite a few wrangles in your setup there, for something I thought it's one node solution. I'll try to see if I can adapt it to my piece of geo.
Thanks a lot for the help.

Attachments:
diamond_oval.obj (17.3 KB)
diamond.jpg (105.3 KB)

User Avatar
Staff
360 posts
Joined: Feb. 2008
Offline
Yup, that's one of the current limitations of the glass fracturing - it needs to be able to find the edges of the glass pane so the 2D detail noise that gets applied after the fracturing can be faded out near the edges so as to prevent internal faces from poking out. This doesn't work with curved glass and is exactly the problem you're facing.
Another big problem with this approach is it creates cracks and holes in the high-res geometry where adjacent pieces have points resulting from the internal faces remeshing prior to the noise being applied, do not line up.

The solution I sent you above is slightly different to the new curved glass fracturing in the next release (which is an option on the rbd material fracture's glass fracturing), but it should give you a bit of an idea as to how to go about it.
The main thing is the concentric crack points use a wrangle to get each piece's name attribute - internally this means only those points will be considered when fracturing each piece. Since you first need the radial cracking to be done before you can know what name each piece will have, you need to perform this with 2 RBD Material Fracture nodes, each time feeding them the crack points.

Hope that helps!
User Avatar
Member
238 posts
Joined: March 2013
Offline
For glass, unless it's a flat window pane I would not recommend the material fracture SOP for the reasons
outlined above. The best method for nice glass on curved surfaces (car windscreen) is to draw curves + use some points
and vex to create instancing that radiates nicely with splines of interesting shapes being used as instance geo.
then you can ray those onto the glass and make sure it's all nice, poly extrude the splines to have thickness and
use them in a boolean to cut through.

We used this a lot on John Wick 3, much more Art direct-able.



L
I'm not lying, I'm writing fiction with my mouth.
User Avatar
Member
76 posts
Joined: Aug. 2020
Offline
@npetit Thanks for the detailed explanation.
Any idea why if I set the scale (with a transform sop, not obj level) to anything lower than 1 after the fracture setup it renders as a sphere/ball? Some part of the geometry seems to blow up/inflate and the lower than 1 you go the rounder/inflated it gets. It's weird because the transformation is applied after the cracks nodes' evaluation and in viewport looks fine. Tested in Mantra.

It's not a big issue for me in this case, as I can simply save it on disk with the desired scale and read it from there, but I'm curios as to what happens at render time.

edit: seems like some degenerate/non-manifold geometry is created, which possibly explains the issue.
Edited by citizen - March 26, 2023 07:38:31

Attachments:
inflated.jpg (123.4 KB)

User Avatar
Staff
360 posts
Joined: Feb. 2008
Offline
I'd really have to look at the geo to be able to tell exactly what's going on.
User Avatar
Member
8558 posts
Joined: July 2007
Offline
you most likely have some isolated points as a result of the fracture
those render as spheres by default
so ether append Add SOP or Clean COP and check Remove Unused Points
or on your Object you can set Render/Geometry/Render As Points to No Point Rendering
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
76 posts
Joined: Aug. 2020
Offline
npetit
I'd really have to look at the geo to be able to tell exactly what's going on.
I just replaced the .obj I've attached above in your setup and added a remesh. The resulting geometry is too dense to be practical to share it.
tamte
you most likely have some isolated points as a result of the fracture
Yeah, that's what probably happens. For now I just went with an outside non procedural approach which I'm bringing back to H.
Hopefully, the next implementation of this sop works well for all cases, like npetit said.
Thanks much for your help, all!
  • Quick Links