Jump to content

deforming volumes with cached geometry


Neon Junkyard

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

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

  • 1 year later...

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

Link to comment
Share on other sites

  • 2 weeks later...

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...