godot
godot copied to clipboard
Use subgizmos for Path3D position editing and declutter the UI
Implements 3-axis gizmo translation of 3D curve points.
As well as "contextual" displaying of handles. In an attempt to declutter the UI.
Inspired mainly by Blender and Affinity Designer's curve editing UX.
The proposal (https://github.com/godotengine/godot-proposals/issues/527) has accumulated many ideas, this PR aims to be a step towards improving the 3D curve editing UX and does NOT intend to satisfy everything mentioned in the proposal.
This PR:
https://github.com/godotengine/godot/assets/2036806/7809c274-9140-4f0f-98b3-6d8ee1bcb8f6
4.2.1:
https://github.com/godotengine/godot/assets/2036806/e6fa6021-6e94-4add-8974-aa91e4673e92
Implemented frustum intersection (region selection) and grouping of undo/redo for multiple points into a single action.
Undo/redo withOUT grouping:
https://github.com/godotengine/godot/assets/2036806/cfb6a649-d8eb-4aeb-b1c1-960ec7c34898
Undo/redo with grouping:
https://github.com/godotengine/godot/assets/2036806/4104e1e1-9659-45d0-8327-67a0170b7203
Thanks for implementing it! This is a huge UX win for those of us that make use of Path3D nodes 🙌
Bumped :+1: with love :heart:
After making the style edits requested above, could you squash the commits? See PR workflow for instructions.
Thanks for the review! Implemented the style edits and squashed the commits.
Thanks! And congrats for your first merged Godot contribution :tada:
Not sure if it'e because this PR, but on the latest master branch, the secondary handles in/out are not there.
https://github.com/godotengine/godot/assets/32012330/d057dfe2-8a5e-46c7-86a2-892627835e8e
@jejopl Well, yes. That is a tradeoff so that you can select the curve points. The in/out handles were overlapping the curve point subgizmos and preventing the subgizmo selection. You can "drag out" the handles in the inspector, for now. Thanks for the video. We should likely display the in/out handles when the "Select Control Points" mode is active. I will try to look at this issue within the upcoming week.
Not sure if should discuss this here or in another proposal, but this seems to prove that Select Points mode and Select Control Points are too similar, and in general Path3d editing needs to be refined.
I will mention here my proposal to implement another mode for tilt handles, as this seems imo the right direction to declutter the viewport handles: https://github.com/godotengine/godot-proposals/issues/8890
Regarding the specific issue of @jejopl, I was thinking that maybe while Select Control Points mode is active, the 3d gizmo should be disabled, and only available in Select Points mode.