gaurav Posted December 20, 2012 Share Posted December 20, 2012 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 Quote Link to comment Share on other sites More sharing options...
sadhu Posted December 21, 2012 Share Posted December 21, 2012 (edited) Here is the file. Is this is what you want? dopsOffsetPos_soln.hipnc Edited December 21, 2012 by sadhu Quote Link to comment Share on other sites More sharing options...
gaurav Posted December 21, 2012 Author Share Posted December 21, 2012 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, Quote Link to comment Share on other sites More sharing options...
sadhu Posted December 22, 2012 Share Posted December 22, 2012 (edited) 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 December 22, 2012 by sadhu Quote Link to comment Share on other sites More sharing options...
gaurav Posted December 26, 2012 Author Share Posted December 26, 2012 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 transformMatrix.hipnc Quote Link to comment Share on other sites More sharing options...
sadhu Posted December 27, 2012 Share Posted December 27, 2012 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. Quote Link to comment Share on other sites More sharing options...
gaurav Posted December 28, 2012 Author Share Posted December 28, 2012 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! Quote Link to comment Share on other sites More sharing options...
anim Posted December 28, 2012 Share Posted December 28, 2012 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.