edit for words
If my theory above is correct on the linear limits essentially being a box containing boxB pivot, then editing seems straightforward with a gizmo. I haven’t yet played at all with gizmos yet.
I haven’t worked out the exact positioning of the elements for showing angular limits, but here’s a rough (and incorrect) draft of what I’m working on for the angular limits. If my working theory is correct, I can add axis balls fixed in boxB local space, then add rotational disks centered on pivotB yet having the rotation of boxA’s axis/perp/normal in world space. Each of the three axis balls are contained in their respective rotational disk. My thought is to show the disk and ball depending on the axis’ ANGULAR mode.
- LIMITED - show a disk as arc that contains the ball. The arc ends/edges are located at the limits.
- LOCKED - narrow disk arc “pointing” to the associated ball, visualizing that the ball is “locked in place”
- FREE - no disk, no ball
The big balls and white arc in the center of the playground below are me just working out angles and rotations.
Some of the constraints have a blue, red, and/or green disk that represent the ANGULAR freedom of movement. These disks are incorrectly placed/rotated , but show the idea.
Comments welcome as I continue to develop the concept and fix the code.
I’m not sure how yet, but I think I could enable the toggling of each axis’ mode (FREE/LOCKED/LIMITED) and enable the modification of the disks edges and/or the disks’ rotation. I think that constitutes the full editing of ANGULAR degrees of freedom?
Combined with similar toggling on the LINEAR degrees of freedom as well as editing the “LINEAR box” described above (i.e. the boxes shown in the playground), then we have full editing of constraints?