packed geo and alembic

   3148   0   1
User Avatar
Member
33 posts
Joined: Nov. 2008
Offline
So here's the context: I've got an RBD sim of a bunch of packed pieces. These are hand-animated at first, then become active at various times. I'm using a SOP Solver / AttribVOP to stick the transforms (transform & pivot intrinsics) from the animation onto the packed DOP object prims. All of this is working.

o.k. so now I'm handed an alembic file from maya containing some more pieces. Setting the alembic node to Alembic Delayed Load Primitives brings the geo in as “packed alembics”, which have the same one-point-one-prim structure as regular packed objects. I feed this into my existing DOP/SOP/AttribVOP setup and it doesn't work. Inspecting the alembic node, the “transform” intrinsic is just an identity matrix. I guess this makes sense-ish: the transforms are presumably on disk. Setting the “abcusetransform” intrinsic to 0 results in a reasonable rest position for the packed objects, which seems to confirm my conclusion that everything is properly packed, it's just the transforms that are missing.

So what I need to do is re-constitute a “proper” packed object by extracting the transforms from the alembic and applying them to the rest geometry, so that my AttribVOP scheme will work. I can see the packedfulltransform intrinsic matrix, which is animated. “P” is also animated, as is the pivot intrinsic. Using a Matrix4toMatrix3 VOP will give me the scale & rot as a 3x3. But I'm a bit unclear on the relationship between P, pivot, and transform, and how to put them together into something that can be applied to the rest geo to rebuild the original animation.

Any insight on how to go about this?

TL/DR: How can I turn an alembic into “proper” packed geo, with the transforms stored in P, pivot, and transform as they should be?
  • Quick Links