Jump to content

Creating water tight meshes from low-quality geometry


grafikzeug

Recommended Posts

Hello again,

I need to turn a bunch of fairly low-quality objects (mostly intersections) from different sources I have no control over into watertight meshes.

I tried using a vdbfrompolygons SOP followed by a convertvdb to turn the orignial mesh with all its intersections into a volume and then back into a clean mesh. This does work pretty well in some cases, unfortunately only as long as I keep a relatively large voxel size. When I increase the resolution in order to capture more of the original model's fidelity I run into a weird behaviour: when decreasing the voxel size below a certain value (in the current case 0.033) the object disintegrates and loses its solid shape, in most of the areas at least. The only way I found to counter this effect is to put in a VDBreshape node and dialate the whole thing a couple of notches before meshing it again. This, however, creates the next issue as it turnes the formally solid into a thin-walled mesh, as seen in the example on the right.

Is there any way to resolve this? Why does the VDB suddenly flip from solid as expected to this strange partially solid, partially frame-like structure? If the mesh itself is unclear to the VDB algorithm, why does it work as long it is low-res?

I've tried workarounds using grains or remesh or ISO offset but with pretty much the same result.

I'm greatful for any advise!

Felix

vdb-resolution-issue.hipnc

happrentice_2019-12-27_23-50-07_EjQ.png

Link to comment
Share on other sites

Hey Atom!

Thanks a lot, this seems to work! Gotta test it on a whole lot of models now. ;)

 

Edit: fuse and polyfill do make things better in some cases, but still the problem persists that for some meshes the surface is broken. From what I can see so far, there's always a manual check required to fiddle with ISO, Dialate and Voxel Size parameters to get it to work for the different models.

If anyone has ever managed a fully automated pipeline for fixing meshes, I'd be glad if they could share their knowledge.

Cheers!

happrentice_2019-12-28_14-21-24_OUx.png

Edited by grafikzeug
Link to comment
Share on other sites

Depending one the shape you can also do shrink wrap, or a bounding sphere and a ray sop for low poly. The logic required for hard surface poly reduction to be the equivalent of simplygon is pretty complex so you generally need a complex HDA for that. Some of the processes to run are : Small part reduction, shape preservation, optimized triangle use, fuseing below certain thresholds, best fit scenarios for different simplified shapes like plane, box etc, Attribute copying, etc. The poly reduction sop has come a long way in H18 so I would recommend starting there. 

Link to comment
Share on other sites

  • 4 years later...

I think the author of the original post has truly mastered their role now. I enjoyed solving this simple challenge. This is for Houdini 20, but the same solution also works in Houdini 17 or 17.5. I've attached the file for anyone looking for an easy way to prepare assets for destruction or water effects collisions. This is a watertight geometry solution.

vupham-version-vdb-resolution-issue-23Nov2024-v1.hipnc

vdb-solve-col-watertight-odforce.JPG

Edited by paranoidx
add screenshot
  • Like 1
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...