Hi everyone,
I plan to work on the 2D editor to make it more modern. I opened this issue to discuss what and how the changes should be implemented.
Here is a list of what could be added:
Control nodes
Grid and guides
Other
Keyboard controls
Note to myself: related #5121, #3225, #7595
Smart snapping
That's one thing I miss a lot :)
Maybe a Blender-like selection for overlapping nodes:
1st click: Select the topmost node
further clicks: Select the next node behind the current selected node
But this may be hard to implement because selection is broken for many nodes atm.
But this may be hard to implement because selection is broken for many nodes atm.
What do you mean ? Is there an issue about that ?
Oh no, wait. It actually was the 3D selection that doesn't work sometimes (e.g. for Sprite3Ds).
Then it's maybe not hard to add that functionality into the 2D viewport.
configurable modifier for zooming
This is not clear, what do you mean ?
_(a setting for a keyboard modifier which could be used to zoom in the 2d editor, like space for panning)_
removed to old message for the chat history
And like you move the mouse up and down to zoom in/out ? Or just a key tozoom in and another to zoom out ?
Isn't the scroll wheel not enough ?
you use the mouse movement in combination with pressing the key.
The mouse wheel works. But I actually prefer using keys + on touchpad the mouse wheel/ scrolling is used for panning so a modifier key would be great to zoom.
Grid control keys (I miss this a lot in my workflows) (perhaps like the old GtkRadiant)
use case 1 (need to position a node on the grid but snap to grid is off)
use case 2 (need to position a node free but snap to grid is on)
I am ok with use cases 1 and 2, but not sure with the keypad values impacting the grid.
As we work with pixels in 2D, having a grid of size 1 (=1px) is quite absurd.
Instead, maybe we could have two buttons to multiply/divide by 2 the grid size ?
I add interesting shortcuts in the list.
I used grid size 1x1 , 4x4 and 8x8 a lot in this fresh new game. (https://puppetmaster.itch.io/escape-from-the-apes)
It's not always absurd to use a grid size of 1x1pixel. It depends on the resolution 馃槃
Not exactly sure but you can place a node to subpixel by default.
I'm OK with the two button idea.
Ah you mean when you zoom in. I checked the code it does allow for floating point values as a position, so you are right.
I'm OK with the two button idea.
I add it to the list then :).
Maybe snapping the rotation to 90掳 multiples when CTRL is pressed could be convenient too ?
EDIT: not necessarily 90掳 multiples, just toggling the rotation snapping actually
Maybe snapping the rotation to 90掳 multiples when CTRL is pressed could be convenient too ?
Yes, is rotation snapping is activated that should do it :)
@groud since you already have the code for the anchor pins I propose this. although I think it is too much effort for the gain... but still if you immediately know how to do it and could implement it fast:
it would be nice if there would be controls in the style box editor. so that you can just drag to increase the border size.. or to change the corner radius... or the expand margins...
what do you think?
@groud since you already have the code for the anchor pins I propose this. although I think it is too much effort for the gain... but still if you immediately know how to do it and could implement it fast:
it would be nice if there would be controls in the style box editor. so that you can just drag to increase the border size.. or to change the corner radius... or the expand margins...
what do you think?
Sure, but i first focus on the canvas_item_editor, we'll see later for the stylebox editor ^^
Having to set the "Use Pixel Snap" option every time I open a given project is a little odd. It doesn't bother me too much, but I think having the option persist with each project would be ideal. Is this something you're able to do?
Having to set the "Use Pixel Snap" option every time I open a given project is a little odd. It doesn't bother me too much, but I think having the option persist with each project would be ideal. Is this something you're able to do?
I don't think this is desirable anyway, as this option is really project-dependant. However we can discuss if it should be activated or not by default. I personally believe it should be activated.
I don't think this is desirable anyway, as this option is really project-dependant.
Well, we should at least save it along with other _project-specific_ metadata, no?
However we can discuss if it should be activated or not by default. I personally believe it should be activated.
馃憤 for that.
Well, we should at least save it along with other project-specific metadata, no?
Isn't this the case yet ?
Isn't this the case yet ?
Oh, huh, I just did some testing and it actually does save. I'm not sure what's been causing it to uncheck itself all this time, guess it was my own fault. Sorry for the confusion.
What about considering the tasks from #843?
What about considering the tasks from #843?
I'm working on the Canvas Item Editor for now, not the tilemap editor :).
No need to merge the two issues.
It looks like rulers cause dragging points to become misaligned. #11484
I'll fix that
And sorry to nag about this but do you still plan to expose snap_point() and snap_angle() to GDScript? #11180
I think it could be done sometime. The main problem is that we do not expose the editor classes by now, this should be done to expose snap_point. This could be an enhancement but I think it is not yet a priority.
Hi,
First, thanks for your work on the 2D editor, it is more and more usable.
However the limit of 256x256 for the grid is quite limiting. Except if there is a technical limitation, I think not imposing a maximum would make it even more flexible.
What I would like to see is changing properties like Rotation, Position,.. (all with numbers) by using the mouse scroll-wheel. Default increase/decrease value should be the current amount of zeros with a 1 at the end. Perhaps even a setting to change that.
E.g.
Rotation = 15 deg -> Mouse wheel would be 1 deg per scroll
Scale = 0.5 > Mouse wheel would be 0.1 deg per scroll
and so on
hey, are there any plans for keyboard shortcuts to zoom in/out/reset zoom?
hey, are there any plans for keyboard shortcuts to zoom in/out/reset zoom?
Not yet. But it should be easily added.
Which keys are you thinking about ?
@groud These are the de facto standard shortcuts for zooming (e.g. in Web browsers and GUI text editors):
Big plus for Calinou: I instinctively tried these shortcuts a few times in Godot already, as they work in pretty much all image editing programs, LibreOffice/Office, Tiled map editor, etc.
Solved by #18412
@groud that was fast! thanks!
@groud Avant l'茅diteur il peguait bieng mais le Gillou il se boul茅gue t茅
(means 馃槃 )
@NathanLovato Arf. Que cagar茅l ! ^^
The "not selectable children" icon is still showing up in the editor when you hide the node it is applied to. I would think that the icon would hide along with the node once it's hidden.
Any updates on the remaining 3 features?
Add a configurable key to zoom by moving the mouse.
Isn't this done by #18412?
No scale snapping feels kinda strange. Also can't the text in the bottom left corner (rotating 15 degrees for example) be added to 2d as well.
Currently, wheel scroll only does zoom-in zoom-out for 2d mode and doesn't take input of modifier keys. It would be nice to use the input combination of modifier keys with a mouse wheel for navigation.
Like here is the scheme used by Inkscape.
mouse wheel
: Scroll vertically Shift
+ mouse wheel
: Scroll horizontallyctrl
+ mouse wheel
: Zoom Closing as most items on this tracker have been fixed over the years.
The remaining items should be moved to dedicated proposals on godot-proposals so that they can be implemented independently.
Most helpful comment
@groud These are the de facto standard shortcuts for zooming (e.g. in Web browsers and GUI text editors):