Found 388 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » RBD Object Stopped
-
- cwhite
- 752 posts
- Offline
You can turn off “Enable Sleeping” on the RBD Object under the “Collisions/Bullet Data” tab. Otherwise, the solver tries to deactivate objects that are not moving or interacting with anything in order to improve performance.
Houdini Lounge » Questions about Houdini Bullet
-
- cwhite
- 752 posts
- Offline
Newly emitted objects should work the same way - the intersection check is performed whenever the Bullet solver sees a new object.
Houdini Lounge » Questions about Houdini Bullet
-
- cwhite
- 752 posts
- Offline
The name attribute is important, since each packed primitive is processed separately when creating the compound shapes. You just need a couple modifications to your file:
- The ‘name’ attribute that was set up by the copy1 node should be a primitive attribute, not a point attribute (similar to the output of a voronoi fracture node)
- The “Create Name Attribute” parameter on the Assemble SOP should be disabled, since that will overwrite the ‘name’ primitive attribute based on connectivity (this was part of the reason why you were getting a separate collision shape for each sphere). Normally you wouldn't need to modify this parameter, since the RBD Fractured Object shelf tool automatically disables that parameter if detects a ‘name’ primitive attribute on the geometry.
- The ‘name’ attribute that was set up by the copy1 node should be a primitive attribute, not a point attribute (similar to the output of a voronoi fracture node)
- The “Create Name Attribute” parameter on the Assemble SOP should be disabled, since that will overwrite the ‘name’ primitive attribute based on connectivity (this was part of the reason why you were getting a separate collision shape for each sphere). Normally you wouldn't need to modify this parameter, since the RBD Fractured Object shelf tool automatically disables that parameter if detects a ‘name’ primitive attribute on the geometry.
Houdini Lounge » Questions about Houdini Bullet
-
- cwhite
- 752 posts
- Offline
1) Since Houdini 12.5, the Bullet solver automatically detects objects that are initially overlapping and prevents them from colliding/exploding until they separate. If you're running into a case where this isn't working, then I'd suggest submitting a bug report [sidefx.com]
6) In Houdini 13, the “Create Convex Hull per Set of Connected Primitives” option is a much easier (and more powerful) way of setting up compound objects for the Bullet solver. It creates a collision shape for each set of connected primitives (using a box/sphere/tube/capsule shape if appropriate, and a convex hull shape otherwise) and then creates a compound collision shape with those child shapes. Unlike the BakeODE SOP, you don't need to do any extra work to set up the input geometry, and it isn't limited to only boxes, spheres, or tubes.
6) In Houdini 13, the “Create Convex Hull per Set of Connected Primitives” option is a much easier (and more powerful) way of setting up compound objects for the Bullet solver. It creates a collision shape for each set of connected primitives (using a box/sphere/tube/capsule shape if appropriate, and a convex hull shape otherwise) and then creates a compound collision shape with those child shapes. Unlike the BakeODE SOP, you don't need to do any extra work to set up the input geometry, and it isn't limited to only boxes, spheres, or tubes.
Technical Discussion » RBD Packed object workflow / Wrangle / geo vop
-
- cwhite
- 752 posts
- 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).
Technical Discussion » RBD Packed object workflow / Wrangle / geo vop
-
- cwhite
- 752 posts
- 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.
Houdini Indie and Apprentice » Attrib transfert-> DOP Activation
-
- cwhite
- 752 posts
- Offline
Technical Discussion » multiple packed objs and constraints
-
- cwhite
- 752 posts
- Offline
The names of the pieces you use to build the constraint network are different from the names of the pieces you're using in the simulation. For example, if you look at the constraint network's geometry, there are points with a name attribute like ‘top_plate0’, but the packed primitives in the simulation have names like ‘plate0’, so the Bullet Solver can't find some of the objects you're trying to attach constraints to.
The simplest fix is to change the ‘Name Prefix’ parameter on the Voronoi Fracture node from ‘top_plate’ to ‘plate’.
You can also turn off the ‘Create Name Attribute’ parameter on the Assemble SOP, since the previous node has already set up a ‘name’ primitive attribute for you (this can speed things up a lot if you have a large number of fractured pieces).
The simplest fix is to change the ‘Name Prefix’ parameter on the Voronoi Fracture node from ‘top_plate’ to ‘plate’.
You can also turn off the ‘Create Name Attribute’ parameter on the Assemble SOP, since the previous node has already set up a ‘name’ primitive attribute for you (this can speed things up a lot if you have a large number of fractured pieces).
Technical Discussion » RBD Packed Object Mass
-
- cwhite
- 752 posts
- Offline
The Bullet solver computes the mass of each object when the solver is first run (i.e. once you advance from frame 1 to frame 2), so if you're on frame 1 you'll just see the default value. Also, make sure that you have the “Compute Mass” parameter under the “Physical” tab turned on.
Houdini Learning Materials » Accuracy of Bullet Collisions
-
- cwhite
- 752 posts
- Offline
For the static spheres, you have the geometry representation set to “Convex Hull”, so you have a single collision shape that is the convex hull of all of those spheres. You probably want to set the collision shape to “Concave”, or use the “Convex Hull per Set of Connected Primitives” option, which creates a compound shape that contains a convex hull for each set of connected primitives. I'd suggest turning on the guide geometry to visualize each of these options.
You'll probably get the best results by using primitive spheres everywhere - see attached file.
You'll probably get the best results by using primitive spheres everywhere - see attached file.
Houdini Lounge » multiple packed primitives and glue networks
-
- cwhite
- 752 posts
- Offline
The constraint network uses the ‘name’ point attribute to identify which packed primitive to attach the constraint to (see the Attributes section of http://www.sidefx.com/docs/houdini13.0/nodes/dop/constraintnetwork). [sidefx.com]
Between the two RBD Packed Objects you have some duplicate names for packed primitives (i.e. ‘piece0’ to ‘piece149’), which causes some glue bonds to be attached to pieces from the wrong object. An easy fix is to change the ‘Name Prefix’ parameter on one of the Voronoi Fracture nodes so that each packed primitive in the simulation has a unique name.
Between the two RBD Packed Objects you have some duplicate names for packed primitives (i.e. ‘piece0’ to ‘piece149’), which causes some glue bonds to be attached to pieces from the wrong object. An easy fix is to change the ‘Name Prefix’ parameter on one of the Voronoi Fracture nodes so that each packed primitive in the simulation has a unique name.
Houdini Indie and Apprentice » Accessing "Impacts" attribute in DOP
-
- cwhite
- 752 posts
- Offline
The Impact Analysis stores geometry data on the object, which is why the DOP Import SOP was able to fetch the data. The Impact Analysis node does some extra stuff though, such as filtering out small impacts.
Houdini Indie and Apprentice » Accessing "Impacts" attribute in DOP
-
- cwhite
- 752 posts
- Offline
The DOP Import Records SOP can be used to fetch the impact data as points, with point attributes for ‘otherobjid’, etc.
Technical Discussion » Split poly line at a point
-
- cwhite
- 752 posts
- Offline
The PolyCut SOP (in Houdini 13) can cut curves at specific points, as well as where attributes cross a threshold or change by a certain amount. I've attached a simple example.
Technical Discussion » expressions for 'packed' fracture geo
-
- cwhite
- 752 posts
- Offline
Using $OBJ won't work for this type of scenario, because the RBD Packed Object uses a single DOP object to represent many objects in the simulation (one per packed primitive). Previously, there was a separate DOP object for each object in the simulation.
You can take a look at the ActivateObjects example file in the help, which shows how to use the ‘active’ point attribute on the packed primitives to disable certain objects. There was also a recent thread (http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&p=139834) [sidefx.com] about inheriting attributes from SOPs and alternatives to $OBJID.
You can take a look at the ActivateObjects example file in the help, which shows how to use the ‘active’ point attribute on the packed primitives to disable certain objects. There was also a recent thread (http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&p=139834) [sidefx.com] about inheriting attributes from SOPs and alternatives to $OBJID.
Technical Discussion » inheriting attributes when unpacking primitives
-
- cwhite
- 752 posts
- Offline
If you're dealing with fractured geometry, you'll usually have a ‘name’ primitive attribute in the unpacked geometry, which makes matching up with the packed primitives fairly straightforward.
In your case, though, I'd suggest turning on the “Add DOP Object Name Attribute” option on the DOP Import SOP, which creates a ‘name’ primitive attribute (containing the object's name) on the unpacked geometry. You can use this to match up with the ‘name’ attribute on the packed primitives.
In your case, though, I'd suggest turning on the “Add DOP Object Name Attribute” option on the DOP Import SOP, which creates a ‘name’ primitive attribute (containing the object's name) on the unpacked geometry. You can use this to match up with the ‘name’ attribute on the packed primitives.
Technical Discussion » inheriting attributes when unpacking primitives
-
- cwhite
- 752 posts
- Offline
If you just want point velocities, you can set the DOP Import SOP to “Fetch Unpacked Geometry” and then set “Point Velocities” to “Instantaneous Point Velocities”.
For more general cases, you currently need to use the AttribCopy SOP. There have been some RFEs submitted, though, to enhance the Unpack SOP to make this workflow easier.
For more general cases, you currently need to use the AttribCopy SOP. There have been some RFEs submitted, though, to enhance the Unpack SOP to make this workflow easier.
Houdini Learning Materials » newcomer question about rbd simulation (piece momentum?)
-
- cwhite
- 752 posts
- Offline
Animated static objects can cause a bit of trouble since they teleport from frame to frame. See http://forums.odforce.net/index.php?/topic/18716-bullet-collisions/#entry112850 [forums.odforce.net] for a couple suggestions on how to improve the simulation's behaviour in those cases.
Houdini Indie and Apprentice » RBD - bullet Objects weights
-
- cwhite
- 752 posts
- Offline
The acceleration due to gravity is independent of mass, so Houdini's behaviour is correct (from Newton's second law, F = m * a = m * g, so the mass cancels out). You could, for example, use a Drag Force DOP with Ignore Mass turned off, and that will slow down lighter objects more than heavier objects. I've attached an example of that.
Technical Discussion » RBD Initial State /w Packed Primitives
-
- cwhite
- 752 posts
- Offline
Jeff's answer is probably the best approach, but note that you can also create attributes in SOPs and the RBD Packed Object will inherit those values. The parameter values on the RBD Packed Object DOP (such as ‘density’) become the default values for the point attributes, but any existing values won't be overwritten. I've attached an example that sets the ‘active’ point attribute to zero in the SOP network to disable some of the packed primitives.
-
- Quick Links