-
-
Notifications
You must be signed in to change notification settings - Fork 21k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UX and stability improvements for Path3D
node
#89847
UX and stability improvements for Path3D
node
#89847
Conversation
625328b
to
5861b52
Compare
5861b52
to
5c83d14
Compare
I'm heading back from a convention, but I'll love to review in a few. Will try to find a few others. |
@Calinou I'd really appreciate if you take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the usability improvements for Path3D feature wise. I did not review the code at depth.
For example:
Split the two types of "extra" handles like shape and disc helps reduce the difficult in using Path3D. Also the shift idea sounds good.
There's a process for optimizing svg, but it can be done in a later pr. https://docs.godotengine.org/en/3.6/development/editor/creating_icons.html
I'm pretty sure I already optimized the SVG following that guide (could I have it done wrong?) 🤔 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested locally (rebased on top of master
29b3d9e), it works as expected.
There are future improvements we could make (these usability issues also existed in master
):
- You can't drag a point relative to the current view in Select Points mode. You can only do that in Select Control Points or Select Tilt Handles modes.
- You can't create a new handle out of a point by holding Shift then dragging a point in the Select Points mode. Again, this only works in the Select Control Points or Select Tilt Handles modes.
Both of the above could be implemented using a drag distance threshold, where dragging by 8 * EDSCALE
pixels or more would be considered a dragging operation, and dragging a lower distance before releasing the mouse would be considered a selection operation.
- Handle tilts could be displayed as degrees in the bottom-left corner when dragging one:
For reference, this is what the Node3D rotation gizmo message looks like:
Thanks! And congrats for your first merged Godot contribution 🎉 |
UX and stability improvements for
Path3D
node.Goals are:
Closes #89138
Closes #85795
Closes #88276 offering a "cleaner" solution
Closes godotengine/godot-proposals#8890
TODOs:
Select Points
mode;Select Control Points
mode;Select Tilt Points
mode that only shows tilt disks.Toolbar with the new
Select Tilt Points
mode:Select Points
mode is cleaner (the only thing is missing is changing the color of the selected control points, eventually suggest in which part of the code this change should be made, I couldn't get it in a straightforward way):2024-03-25-16-07-59.mp4
Select Control Points
shows the secondary handles. This mode permits moving points freely. If you need to "drag out" the points from their default position, you have to press shift (the tooltip text explains that):2024-03-25-16-08-25.mp4
Select Tilt Points
is the new mode that shows the tilt disks and handles, decluttering the other modes and solving other issues (tilt handles and secondary handles where often in conflict):2024-03-25-16-08-47.mp4