Jump to content
Neon Junkyard

deforming volumes with cached geometry

Recommended Posts

Hey guys, I have an alembic file of an animated deforming creature from maya.  I am converting it into a VDB volume and applying noise via vop sop.  I created a rest.x rest.y rest.z volume to compute the volume rest fields for animation.  Now the problem is, after I create these volume rest fields I need to then deform the volume rest fields to match the alembic animation so my rest field will deform along with the geometry and the noise will stick to it without any slipping

 

At the most basic level I can manually keyframe a xform sop, but the noise slips when there is deformation; i.e. this only works with translation or rotation

 

So is there any way to somehow transfer the deformation of the alembic animation over to the volume?  I tried transferring density to points, deforming via lattice and then transferring back, but this caused a huge loss of detail/unpredictable results. I also tried transferring volume attributes, along with a thousand other things, with no luck.

 

I posted an example file. Thanks!

volume_deform.rar

Share this post


Link to post
Share on other sites

well, I cheated. I took your alembic geo and did a standard rest. then I did a "Volume From Attrib" and fed the rest attribute into a rest vector volume, and merged that into your cloud volume.

 

the result is that the noise sticks to transforms and animations but the volume is hollow. I am only creating a rest on the points of the mesh. maybe you can fill in the center, or scatter points internally, or something clever.

 

 

volume_deform_2.rar

Share this post


Link to post
Share on other sites

Thanks loopyllama for your response.  While that does work in theory, the scene I provided is an extremely watered down version of my production file and when that technique is applied to mine the rest fields go berserk.  It seems VDB's do respect a rest SOP when using a VDB vector merge to create a VDB rest field vec3. However when applied it completely changes the noise output when compared to using regular position. My noise is being displaced outward, so the rest field is, I guess, sucking the noise back to the original position of the geo instead of respecting the displaced position, like it would if using a regular volume grid as rest. Still haven't figured out a solution

Share this post


Link to post
Share on other sites

hi i'm fairly new to houdini and finding the same issues myself - did you discover a solution to this or is there a way around it ?  I'd love to know :)

Share this post


Link to post
Share on other sites

hmmm tried that but tbh it just creates an auto dop network with nothing much different from the usual from what i can see ?  I dont need it to be dynamic i dont think i just want the volume fog to deform with the alembic character animation really so its a 3d fog as such as created in the op's file but it deforms with the character

Share this post


Link to post
Share on other sites

tried pointdeform node but doesn't seem to work - that said i'm prob doing it wrong

 

Share this post


Link to post
Share on other sites

I made a separate post with the solution to this as it has been asked in a few different threads, if anyone is still looking for a solution to this check it out here-

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×