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.