Packed RBD attribute workflow

   1992   2   0
User Avatar
Member
9 posts
Joined:
Offline
Hi,

I've been having issues with packed RBD and their attributes, I have a bit of a hacky workflow that's working but I feel like I'm missing something.

Basically I have 10 different fragment geo's being copied as a packed primitive onto parent points and emitted into an RBD sim using sopsolver, everything is working but post-sim I want to pass through attributes, birth frame, parentId, and so on. I also want to get correct velocity, including rotation, on the fragments. This is so that I can create particle and fluid emitters for secondary sims.

So the only mechanism I've found to do this is the dopimport node, it'll extract the correct velocites when in mode “Fetch Unpacked Geometry from DOP network”. However I don't get the attributes passing through. To do that I'm doing a “Fetch packed geometry from DOP network” in a separate stream and using the DOP Object Name Attribute in a forEach to pass the attributes back to the unpacked geo.

That's working fine but using the dopimport means that I'm having to run the sim twice, once each for packed and unpacked. It seems like the packed geometry stream should have everything it needs to do the attribute promotion per-fragment and velocity calculate from the bullet transform.

Long winded, but the question is, is there a SOP out there that I've missed that'll do this?

Thanks!

Joe
User Avatar
Member
5 posts
Joined: July 2013
Offline
I have attached a file for a possible solution. Do check out the red colored nodes. I have transferred the “v” attribute from packed to unpacked. The same technique can be applied to any attribute. Hope it helps.

Attachments:
rbd_packed_workflow.hipnc (225.1 KB)

User Avatar
Member
9 posts
Joined:
Offline
Hi Kaushik,

Thanks for taking the time to reply and put that example together, unfortunately that approach doesn't solve the problem. The velocities doen't take the rotation in the bullet transform into account.

I think I will be able to get something working though, my problems are exacerbated by the fact that I've got multiple instances of the same packed fragment so I can't used the unpacked id to iterate through the pieces. I'm also emitting the fragments frame-by-frame so I don't have consistent topology to be able to compute velocity after unpacking.

Anyway, thanks again!
Joe
  • Quick Links