Jump to content

VDB Volume Fracturing Workflow


Recommended Posts

Hi all!

I've been having a look into using the Open VDB tools for fracturing geometry. While the idea of using volumes seems really promising, giving good control over the fracture pattern and detail, I'm currently running into some issues. I'm not sure whether it's because my approach to it is wonky, I'm setting it up wrong or what.

The workflow I'm going for is the one described by Peter Claus in this thread which will . The basic workflow I've come up with is to:

  • Create VDB representations of the object, one low resolution for the simulation and one high resolution for rendering.
  • Fracture both using the vdb fracture node and the same cutting geometry.
  • Convert back to polygons.
  • Simulate the low res and then apply the transforms to the high res geometry (tbd :))

As a hip file is worth a thousand words I've attached a basic scene showing this setup. The basic idea works well, however are really two issues I'm running into:

  1. Seams: the fractured high resolution geometry ends up with pretty unpleasant seams when converted back to polygons for rendering. This is exacerbated when using the groups output by convert VDB to shade the interior differently from the exterior. I've tried using the VDB smooth SDF, mainly resulting in undesirable eroding (but smoother) in the areas around the seams.
  2. Resolution: Largely as a result of attempting to get clean edges the high resolution geometry is really high resolution. This becomes an issue both when when converted back to polygons and also slows rendering down as well (not to mention the memory overhead).

As a brief aside, I'm having to convert the volumes back to polygons rather than a poly soup as the output pieces from the vdb fracture node, are separated by the slice not connectivity and thus I need to rebuild them using a connectivity sop afterwards. Not sure if I've missed an option and there might be a better way of doing this. What I'm aiming to end up with is geometry with cleaner edges edges and ideally the seam/surface groups that the poly convert outputs.

I'd be grateful if anyone could point me in the right direction with regards to fixing the seams. Also, in a more general sense, I'm curious as to how others have approached volume fracturing, and if there is some alternative way of getting better results or a different way of approaching fracturing the geometry?

Thanks,

Julian

vdbFractureWorkflow.01.hipnc

post-3912-0-18693100-1374485351_thumb.jp

post-3912-0-63702700-1374485419_thumb.jp

Link to comment
Share on other sites

I hear "somewhere in the OpenVDB google group" that OpenVDB v1.2 "not sure if it is implemented yet into last Houdini build" will support hard edges "which is exactly what you want here without adding much more voxels to compensate for the lack of details"

so I guess you are doing it right, but wait for OpenVDB v1.2 or higher to be implemented "may be any dev at sidefx can tell us if it is implemented in the latest build or not"

Link to comment
Share on other sites

hi!

Just did some tests using vdb fracturing https://vimeo.com/69607254

If you want detail on the edges you have to decrease the vdb from polys voxel size parameter.

The best way is to decide, how close up will you see your objects, and adjust this accordingly.

If you only referring to have the "untouched" look of your fractured geo, plug your original model to the second input of the convert vdb SOP, and turn on Compute vertex normals.

  • Like 1
Link to comment
Share on other sites

Ah sorry, i see now, yes in version 1.2

" Implemented sharp feature extraction for level set surfacing. This enhances the quality of the output mesh and reduces aliasing artifacts."

Hope this gets soon into Houdini.

Link to comment
Share on other sites

That wood fracture is looking really nice there Daniel!

Also your reply in the vimeo comments was really useful in getting some idea of the settings and rough poly count of the resulting mesh - looks like the 1m poly mesh I was ending up with was not so unusual for that level of detail (discovered that the adaptivity setting on the convert node can help reduce the density a fair bit).

The " sharp feature extraction for level set surfacing" in 1.2 sounds like exactly what I need!

Good to know I'm vaguely heading in the right direction with this :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...