How to transform pieces for deforming geo rbds using Create Points To Represent Objects option on the dopimport node?

   3297   2   0
User Avatar
Member
49 posts
Joined: 9月 2013
Offline
I have a running man, its one of the mocap biped that ships with houdini. So as he is running, he deforms a bit(near shoulders, his pants, etc).

I fracture it and sim it as a packed deforming active geo inside dops.
Before the fractured geo goes into the sim, @deforming = 1;

Every piece is activated based on an activeframe, as soon as a piece turns active it shoots out based on an inherited velocity, and @deforming = 0;

When I extract points using the dopimport node, unfortunately the transform pieces node, does not work.

So far, I have tried to use the orient attribute on the extracted points from dops, to create a 4x4 matrix and use that to mult with the @P and I get transformation but not deformation on my simmed pieces.

Is there a way, where I can extract points and still transform pieces with their deformation, without, having to extract packed geometry from the sim?
Edited by MrReedSmith - 2018年10月24日 15:35:33
User Avatar
Member
8595 posts
Joined: 7月 2007
Offline
not an easy one that I know of
- you'd need to pick correct piece at the correct frozen time which is possible but can be a bit slow
- or build a bigger geo containing all the shapes and then refer to corresponding fragment for current piece and deformation time

the easiest is to cache packed geo from the sim, but be careful, there seems to be a bug that DOPs keep accumulating all the deforming shapes to the referenced geo so that your last cached frames can be GBs or TBs large even if the actual pieces use just a subset of the fragments
to avoid this use Packed Geometry primitives or convert Packed Fragments to Packed Geometry after sim using Repack SOP
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
166 posts
Joined: 3月 2014
Offline
I've got to resurrect this thread because I've run into the exact same issue: animated deforming object whose pieces become active at various points during the sim. The way I solved it for now was to use a Dop Import set to "Fetch Packed Geometry from DOP Network (deprecated)" to get my proxy objects.

Then I use a for each loop with an Extract Transform node to find out for each piece the transform compared to the first frame of the simulation. After this I can copy to points each high res piece (which I freeze on the first frame of the sim) onto each corresponding proxy point to replace it. There's probably a better way using intrinsic transforms and other dark magic, but whatever.

It all works, and I can continue this way, however there's one thing I don't understand:
tamte
the easiest is to cache packed geo from the sim, but be careful, there seems to be a bug that DOPs keep accumulating all the deforming shapes to the referenced geo so that your last cached frames can be GBs or TBs large even if the actual pieces use just a subset of the fragments
to avoid this use Packed Geometry primitives or convert Packed Fragments to Packed Geometry after sim using Repack SOP
My cached sim frames indeed keep growing bigger and bigger each frame, up to several gigs after 100 frames, even though the input geometry never changes. How can this be, what's in these files, and why do I not end up with excessive geometry when I read those cache files?
Master Tomas, could you please explain the quoted paragraph for dummies, as I neither understand the reason nor the solution you explained.
  • Quick Links