Add Blender Scale / Rotate / Drag controls
This is about adding the Blender Scale / Rotate / Drag controls.
Not sure how familiar you are with it, but the way it works is that you
- First hit the shortcut key for what property you want to modify/transform
- S for Scale
- R for Rotate
- G for Grab (position/translation)
- Optionally, hit the shortcut key for what axis to lock the transformation to
- X, Y, Z
- if none of the above is applied, the transformation is applied on all axes
- Input value to the transformation
- you can enter a number via keyboard/numpad, negative or positive
- you can also drag. relative to the center, in and out
- Apply the transformation
- Enter, or LMB
There is a lot of subtlety to the Blender implementation that helps make it super smooth and intuitive, and I've noticed in other programs that replicates this control scheme (like Godot that has this as an option) that it's not always implemented with the same finesse.
Also, I would image this feature might be on the bad end in terms of value for effort, so I understand if this is something you won't prioritize/not do, but here's the suggestion anyway, I know this is an appreciated input scheme.
PS. I noticed #116 but this is not about the same thing (I think).
In the video below, I give this input:
- S, X, 4, Enter
- G, Y, 2, Enter
- R, Z, 45, Enter
Which scales the box by 4 units in the X axis, translates the box by 2 units on the Y axis, and finally rotates the box by 45 degrees on the Z axis. Quite productive.
https://github.com/user-attachments/assets/d8fc2279-f1a6-4b89-aaa3-47c49293240a
Thanks for raising this mate! This does look like a very productive feature, but as you say down the priority list. The renderer will become open source later this year if you'd be interested in contributing? If you're not definitely jump into Discord and start a chat about this there's other users who might find this useful too.
Ah nice, did not know that, that's great news. I am already in the Discord, I will write about it there as well!
Hi so the renderer is open source now if you'd be interesting in taking a look at this. Unfortunately this won't be prioritized any time soon as there are other initiatives coming up — but I'm happy to jump on a call and point you in the right direction if you'd be interested in picking it up!
Here are the transform controls location: https://github.com/trytriplex/triplex/blob/main/packages/renderer/src/features/selection-three-fiber/transform-controls-immutable.tsx
For now I wouldn't focus too much on UI feedback but just getting the controls and state working. You can follow the breadcrumbs for where the transform controls component is used (here: https://github.com/trytriplex/triplex/blob/main/packages/renderer/src/features/selection-three-fiber/index.tsx#L352) and then spike out what it could look like.