ComputationalBiomechanicsLab / opensim-creator

A UI for building OpenSim models
https://opensimcreator.com
Apache License 2.0
155 stars 18 forks source link

Make manipulation gizmo default to local-space #928

Closed adamkewley closed 1 month ago

adamkewley commented 1 month ago

End-users saw the 3D manipulation gizmo and thought it was equal to the frame of the model. They then were very confused that the "frame" (manipulation gizmo) was not rotated to match what they thought it was.

The 3D manipulation gizmo is separate from the frame. By default, it manipulates in a global coordinate system, which matches how VFX software works. However, users can disable visualization of the OpenSim frame so, when they select (e.g.) a PhysicalOffsetFrame all they see is the (global-space) manipulation gizmo and conclude "that's the frame, and it isn't rotated!", resulting in confusion.

The solution is to default to using local-space gizmo manipulation. This way, it's obvious that the coordinate space of the manipulation is the local (frame) space, which prompts users looking for global-space manipulations to search around the UI a little bit. The current mode of operation means that users who want global-space manipulations are happy, but users who want local-space manipulations are confused (rather than understanding, but looking for the alternative).