Seeking feedback on Havok Physics visualizations for debug

This is repeatable. Based on observations of traces and varying the span of limits, I notice the following rules. (The setup is with balls located along the given axis from the pivot point on the child. X = axis, Y=perp, Z=normal to axis and perp.) “Shape” appears to be a square pyramid bounded by great circle arcs (I call this “nominal”). A “sliver” is a narrow band restricting movement of the ball to the zero-width sliver. “Fixed” means the ball doesn’t move (i.e. no translation), but can spin.

No LOCKED axis:

  • show shapes on X and Y
  • The Z ball path is weirdly shaped.

Single LOCKED axis:

  • Locked X: shape on X, sliver on Y
  • Locked Y: shape on Y, sliver on X
  • Locked Z: shape on Z, sliver on X

Two LOCKED axes:

  • FREE/LIMITED axis X: X is fixed in place (but can spin), sliver on Y or Z based on X limit
  • FREE/LIMITED axis Y: Y is fixed in place (but can spin), sliver on X or Z based on Y limit
  • FREE/LIMITED axis Z: Z is fixed in place (but can spin), sliver on X or Y based on Z limit

Three LOCKED axes:

  • Show any two axes fixed in place

It’s not quite symmetrical with a single locked axis. Locking Y or Z result in X movement along a sliver. I would expect a locked Y to restrict the Z ball to a sliver instead. This won’t matter if only needing one constrained body because you could simply redefine the axes. It may be more troublesome with multiple successive constrained bodies (maybe?).

I will also note that with “No LOCKED axes,” there is no way to specify which two axes are nominally shaped. The Z axis ball is always the wierd one. This kind of makes sense given that only axis and perp are directly specified, whereas Z is the normal (and not directly specified by the user).

More experiments on the way with limits beyond +/- 90 degrees, limits spanning >180 degrees, and “locking” at other than 0 using min=max limit.