Unpack & Repack?

   2513   2   0
User Avatar
Member
26 posts
Joined: April 2009
Offline
Hello everyone!

I have been using packed geometry in conjunction with the Alembic ROP „export packed as transform“ feature to save out RBD sims as xform animation.
This works like a charm!

Now I keep finding myself wanting to do multiple sim passes to refine the sim, possibly adding sculped denting, etc.
However I have not found a way to do this without unpacking the geometry and working entirely with point deformation.

In an animation curve based workflow I would sim & bake to keys numerous times and add blend shapes to iterate on the motion and implement notes.

Has anybody found a good way to work like this in houdini?
Is there a way to make packed primitives point to a different source geometry without losing their xforms?

The closest lead, I have is the „geometry ID“ intrinsict attribute, but I am clueless as to how to make that point to a different pack SOP.

Cheers!
-Sascha
User Avatar
Member
7797 posts
Joined: Sept. 2011
Online
You can swap geometry by applying the transforms to different packed primitives. Use the ‘setprimintrinsic’ function to update the transform matrix of the piece, and update @P to update position. If the pivots are not identical, you'll have to figure out the offset transformation.

I use this method in general to avoid writing out geometry sequences from the rbd simulation. I simply write out a point cloud sequence that contains the transforms as attributes. Afterwards I apply transformations to the static geometry for render or export to alembic.
User Avatar
Member
26 posts
Joined: April 2009
Offline
Thanks, jsmack!

The TransformPiece node also turned out to the useful, when generating points from a Dopimport, especially since it's order-independent.

Do you happen to know of a quick way to generate orient/transform vector attrs from intrinsics, apart from doing it manually in a wrangle?
  • Quick Links