-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Add a link/unlink option for subproperties like "scale" #144
Comments
This sounds like something one would have to program into the EditorProperty type that renders any Vector2/Vector3 value. Contained in |
There are cases where linking values doesn't make sense (e.g. default gravity), so it should probably be defined in a property hint somehow. Likewise, position properties generally have no need to expose a "linked" option. |
@rcorre Yes, shift+LMB+drag when scale tool is selected (kinda) works to uniformly scale, though I think it behaves very unpredictably. Anyway, this proposal is not about eyeballing with the scale tool, it's about putting in a precise numerical value in the inspector, and not having to do it twice or trice all the time. If we had this feature, and you linked the subproperties in beforehand, I would assume you could select the scale tool, and LMB drag without shift just either one of the axis and you would get uniform scale. Or maybe not and we want the scale tool to act independently from the inspector link feature. ¯_(ツ)_/¯ Another option, (maybe easier to implement?) could be to make the inspector scale behave more like the viewport scale tool: When entering a new value in the inspector and simultaneously holding shift, the same value is applied to all axis. |
I remember this being available back in the Godot 1.x days, but I think it was removed because it was too easy to accidentally do it when using an AZERTY keyboard layout (where entering numbers without a numpad requires holding Shift). We could probably reimplement this, but using the Ctrl modifier instead. |
For Rect2, Rect2i and AABB, this only applies to the size, not the position. This closes godotengine/godot-proposals#144.
@nathanfranke As for symbol placement, having where you proposed surely would be good as well. Having it close to the values might help to illustrate was it does intuitively. Otherwise moving the link symbol next to the property text might be a possibility too: |
I originally also wanted it closer to the name, but the inspector isn't really designed to place things next to the name. |
Describe the project you are working on:
2D action game, card game
Describe the problem or limitation you are having in your project:
Throughout the day I change properties like
scale
in the editor many, many times. Which already can be quite annoying because of godotengine/godot#28618.In 95% of the cases I want to change properties like
scale
proportionally. So I have to first set the x, then the y value, both to the same value. Because the editor does not offer to link those properties, all those operations have to be done twice ... every ... single ... time.Describe how this feature / enhancement will help you overcome this problem or limitation:
A small clickable link/unlink icon next to values that would often be set proportionally.
A small mouseover text explaining what it does, for those unsure about the meaning of the icon, similar to mouseover on properties.
I would expect
scale
to be linked by default, others may be unlinked by default.Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
Describe implementation detail for your proposal (in code), if possible:
I'm C++ illiterate.
If this enhancement will not be used often, can it be worked around with a few lines of script?:
It's so common everywhere else, people are used to that level of comfort. I expect it to be used a lot.
Is there a reason why this should be core and not an add-on in the asset library?:
Noone will/would/should download addons for such small UI quality of life improvements.
The text was updated successfully, but these errors were encountered: