Hi,
I am digging into some into the new workflow with the packed objects in Houdini. Clearly how you interact with packed objects is very different from some of my past work flows.
In the past for instance I would feed an attribute into Activate DOP with a simple point expression to drive when the RBD objects become active. The combination of RBD packed object and activate DOP using my traditional workflow will not work due to the nature of packed geo.
I have looked at the example file for “activate RBD object ”which uses a sop solver and a attribute wrangle to drive the activation of some RBD objects.
Is the use of VEX and the attribute wrangle going to be the “new way of working” for all DOPs packed work? .
Finally is there an example of pulling in an attribute in from somewhere else in sop land into DOPs using the attribute wrangle node ? .Would love to get some comment of the new workflow with packed geometry.
Best
Rob
RBD Packed object workflow / Wrangle / geo vop
10063 7 1-
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
-
- cwhite
- Staff
- 745 posts
- Joined: Oct. 2012
- Offline
The key idea, really, is that everything is controlled by point attributes on the packed object's geometry. The SOP Solver + AttribWrangle combo is one way of editing those attributes, but you could also use e.g. a SOP Solver + AttribCreate/AttribCopy/etc if you're more comfortable with those nodes.
Also, all of the point attribute names are consistent with the attributes used for particle systems (and the Bullet solver recognizes point attributes such as ‘force’ and ‘torque’), so a lot of the new POP nodes in H13 can be used to manipulate objects in RBD sims as well.
For fetching attributes from other SOP networks, you should be able to use the point() function (http://www.sidefx.com/docs/houdini13.0/vex/functions/point) [sidefx.com] which can use op:full_path_to_sop to reference a SOP.
Also, all of the point attribute names are consistent with the attributes used for particle systems (and the Bullet solver recognizes point attributes such as ‘force’ and ‘torque’), so a lot of the new POP nodes in H13 can be used to manipulate objects in RBD sims as well.
For fetching attributes from other SOP networks, you should be able to use the point() function (http://www.sidefx.com/docs/houdini13.0/vex/functions/point) [sidefx.com] which can use op:full_path_to_sop to reference a SOP.
-
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
Hi,
Here is a simple example of whats not working for me in the mix between new and old workflow.
Right now in this example the active DOP is using a point expression point(“/obj/tube_object1/ACTIVE”,$OBJ,“Cd”,0) as you see it basically creates a boolean attribute thats 1 or zero to activate fractured objects.
As expected $OBJ works with the active DOP + RBD fractured object and not with the RBD packed DOP. Going the point expression way I would be expecting to use $PT , but of course there's no such thing in DOPs . So is it even possible to use point expressions and rbd packed ? .
Does the attribute wrangle always need to be run inside a SOP solver ? , what happens if the attribute is created outside SOPs, is it possible to just run inside DOPs .
Rob
Here is a simple example of whats not working for me in the mix between new and old workflow.
Right now in this example the active DOP is using a point expression point(“/obj/tube_object1/ACTIVE”,$OBJ,“Cd”,0) as you see it basically creates a boolean attribute thats 1 or zero to activate fractured objects.
As expected $OBJ works with the active DOP + RBD fractured object and not with the RBD packed DOP. Going the point expression way I would be expecting to use $PT , but of course there's no such thing in DOPs . So is it even possible to use point expressions and rbd packed ? .
Does the attribute wrangle always need to be run inside a SOP solver ? , what happens if the attribute is created outside SOPs, is it possible to just run inside DOPs .
Rob
Gone fishing
-
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
-
- cwhite
- Staff
- 745 posts
- Joined: Oct. 2012
- Offline
The Active Value DOP isn't really useful for packed objects, since it modifies the SolverParms/ActiveValue data for the DOP object and doesn't affect the ‘active’ point attribute on the geometry.
In the attached file, I've used a Geometry Wrangle DOP to fetch the Cd attribute from the other SOP network and then modify the ‘active’ point attribute. (the Geometry Wrangle node is basically the equivalent of a SOP Solver + AttribWrangle).
In the attached file, I've used a Geometry Wrangle DOP to fetch the Cd attribute from the other SOP network and then modify the ‘active’ point attribute. (the Geometry Wrangle node is basically the equivalent of a SOP Solver + AttribWrangle).
-
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
Thanks for that example, I also noted the geometry vop dop . Pushing on with more questions tied into this workflow.
1) the geometry dop can reference from other networks, by pointing to ../../tube_object1/ACTIVE in the evaluate path I am looking up the external SOP points or doing something else. I note in the DOP details view there's no CD attribute ? Wrong approach ?
2) There is no import attribute import vop or attribute create vop, with my brain freeze I cannot see how I am supposed to pull the sop data in and compare.
I wanted to use a 2 way switch to read the CR value from an external SOP network, so far I cannot see where I am going wrong. Scene attached
Rob
1) the geometry dop can reference from other networks, by pointing to ../../tube_object1/ACTIVE in the evaluate path I am looking up the external SOP points or doing something else. I note in the DOP details view there's no CD attribute ? Wrong approach ?
2) There is no import attribute import vop or attribute create vop, with my brain freeze I cannot see how I am supposed to pull the sop data in and compare.
I wanted to use a 2 way switch to read the CR value from an external SOP network, so far I cannot see where I am going wrong. Scene attached
Rob
Gone fishing
-
- mawi
- Member
- 247 posts
- Joined: Jan. 2008
- Offline
circusmonkey
Thanks for that example, I also noted the geometry vop dop . Pushing on with more questions tied into this workflow.
1) the geometry dop can reference from other networks, by pointing to ../../tube_object1/ACTIVE in the evaluate path I am looking up the external SOP points or doing something else. I note in the DOP details view there's no CD attribute ? Wrong approach ?
2) There is no import attribute import vop or attribute create vop, with my brain freeze I cannot see how I am supposed to pull the sop data in and compare.
I wanted to use a 2 way switch to read the CR value from an external SOP network, so far I cannot see where I am going wrong. Scene attached
Rob
In cvex use the get attribute vop.
Did a file in this thread yesterday.
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=31551 [sidefx.com]
-
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
Hi Interesting file, but with get attribute vop, the parameter point or primative makes you select the point to get the attribute from , default is zero. I dont want that I want to know when ever a point has a CR value of 1. As far as I can tell your file with the example node is just working on point zero to get P .
I have managed to get the file working by piping ptnum into the get attribute vop . Still getting my head round using data when there's nothing plugged into the geometry vop !
I have managed to get the file working by piping ptnum into the get attribute vop . Still getting my head round using data when there's nothing plugged into the geometry vop !
Gone fishing
-
- Quick Links