Jump to content

Translating/Rotating inactive rbd objects ?


gaurav

Recommended Posts

Greetings Folks !

What are some ways to overlay transformations(T/R) on inactive rbd objects inside dops?

In attached simple file, there are few boxes becoming active @frame 50.

While inactive they lie on top of eachother receiving a position transform from obj level animated object.

What can i use to you offset their position for initial 50 frames ?

Thanks,

dopsOffsetPos.hipnc

Link to comment
Share on other sites

Hi, Thanks for the reply !

I was looking for a possible way to force/overlay transformations on rbds before using rbdstate/motion/Position etc. to fetch explicit values from outside.

I have a feeling that there is invisible transformation layer going on which can't be accessed.

At least that seem to me while getting the object from outside as rbd and enabling the toggle to "use object transform".

Is there a way to add T/R on top of that hidden transformation layer inside dops ?

Thanks,

Link to comment
Share on other sites

I was looking for a possible way to force/overlay transformations on rbds before using rbdstate/motion/Position etc. to fetch explicit values from outside.I have a feeling that there is invisible transformation layer going on which can't be accessed.

At least that seem to me while getting the object from outside as rbd and enabling the toggle to "use object transform".

What I know about this transformation is this -

Every rbd object has ' initial state ' para which is nothing but rbdstate dop with 'set initial' option. This rbdstate dop lies inside rbd object digital asset. Here you dont have access to para like 'set always' etc on top( rbd object params). You can go inside rbd object and set this param to 'set always' on rbdstate dop to continuously update pos , vel etc.(I think it is not needed as you can do this outside using other dops rbdstate / motion etc)

use object transform param is on sopgeo dop inside rbdobject and you are accessing it on top , rbdobject param. It sets initial position. When you toggle on use deforming geo it uses sopgeo dop with all param set to 'set always' option. You can see it updating transform field inside Geometry/Transform data continuously

Edited by sadhu
Link to comment
Share on other sites

Hi Sandeep,

Hope you had a great Christmas !

I guess it wasn't clear enough with my question. I have been using local variables to do that offset job.

Essentialy I was trying to overwrite the Transform subdata (type 4x4 matrix) attached to Geometry data.

Using modify data dop which creates a new property called transform under the subdata "Options" instead of overwriting transform under "Transform".

May be it can't be accessed by "modify data" dop ? Thats what i meant by transforms being invisble.

Any idea on how to overwrite Geometry/Transform property ?

Thanks,

dopsOffsetPos_fix.hipnc

post-6162-0-15596900-1356546948_thumb.jp

transformMatrix.hipnc

Link to comment
Share on other sites

Hi Gaurav!

I am sorry, I don't know how to modify Geometry/Transform - 'transform' field and It seems it is invisible (or I should say I could not find out its source param inside rbd object digital asset or on sopgeo dop )

May be (just guessing) because it is just meant to replicate sop level transforms we don't have access to it (identity matrix multiplied by transformations) , we just have access to 'set always' or 'set initial' param.

Link to comment
Share on other sites

For the folks who are interested.

Finally I was able to modify it using Geo Copy Dop.

Per Help Card :

"Geometry Copy DOP is a type of Geometry data that can be modified and manipulated by solvers. If you use the SOP Geometry DOP to attach geometry to a Simulation Object, the geometry cannot be modified because it is still owned by the original SOP. You can convert any Geometry data into a Geometry Copy data using this DOP. The resulting data is a copy of the geometry, so can be altered by the solver.

Usually this node is not required because each solver does its own conversion of geometry data from its original form to a Geometry Copy. However in addition to containing editable geometry data, this data type also contains an editable transform. So by attaching this node to an object that already has some other Geometry data type attached to it, that original geometry can be copied and have an arbitrary transform applied to it. This approach is used by the RBD Point Object DOP to apply a different scale to each geometry instance based on the scale attribute of the source points.

That's very valuable piece of info.

Chees!

Link to comment
Share on other sites

that's not very efficient though since you are doing copy of the geometry even though you don't need to change it

so I wouldn't do it this way if I just want to change transform of the RBD

It seems wrong that sesi uses this approach in RBD Point Object DOP rather than add support for scaling to RBDs

last time I needed thousands of RBDs from RBD Point Object DOP with different scales I ended up bypassing Geometry Copy and rather modified bullet collision primitive itself, extreme speed increase and much lower memory usage

Link to comment
Share on other sites

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