RigidBodyCombiner and nodes added at (0,0,0)

Hey guys,

I have a confusing problem. I have added several nodepaths(with simple cube models) to a RigidBodyCombiner and called collect(). Then I try to set the scale of the added nodepaths to 0.001 to make them disappear. This works fine on all cubes except the one added at (0,0,0). In fact, no transform at all I apply to this node has any effect. Moving the cube even a small bit and running the program again has the desired effect.

Is this some quirk in the RBC, or is perhaps my model missing some… something?

BR // Astrogee

RigidBodyCombiner flattens and ignores all objects with identity transforms( position and rotation set to 0 and scale to 1). To fix your problem just nudge your boxes that happen to be at 0,0,0 by a .0001 so they have a transform and RBC will not ignore them.

Any reason for not using hide()?

Nemesis#13: reason: it doesn’t work inside a rigid body combiner. iirc

Quite right.

Thanks treeform. I decided to do just that, but it’s good to know how the RBC works internally.

From the RigidBodyCombiner docs:

//               To use it, parent a number of moving objects to this
//               node and call collect().  A child node is identified
//               as "moving" if (a) it has a non-identity transform
//               initially, or (b) it is a ModelNode with the
//               preserve_transform flag set.  Any other nodes will be
//               considered static, and later transforms applied to
//               them will not be identified.
//

David