I am developing an application similar to the three.js editor (https://threejs.org/editor/).
Basically, the user can add different geometries and group them. The user should be able to move and rotate both groups and geometries
and I want to allow both the value entry and using arrow controls (TransformControl).
So far, I can display the relative position and rotation values of the geometries with respect of their parents.
This works perfectly, like in the three.js editor’s right panel.
The problem is that I cannot find the way to use the TransformControls the same way.
The availavle space options are ‘world’ and ‘local’ coordinate systems but there is no ‘relative’ option.
Selecting any of the given options, if the group or geometry have some rotation, the user will drag one axis but the relative value may change in other axis.
This can be reproduced easily in the three.js editor:
- Select ‘local’ space for transformControl (checkbox on the right of SCALE button)
- Add a group to the origin and manually enter 30.00 ° Y rotation
- Add a box to the scene and then move it into the group.
- Enter 30.00 ° X rotation to the box
- Now select the rotation mode and drag the Z arrow (Blue) to do rotation in Z.
The result is that all 3 relative rotation values change, not just z.
Is there any way to show the TransformControl relative to its parent coordinate system?
If not, any idea to how to add this space option?