godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Gridmap actually usable camera #1946

Open Favkis opened 3 years ago

Favkis commented 3 years ago

Describe the project you are working on

3d game with gridmaps

Describe the problem or limitation you are having in your project

Having large gridmap makes gridmap camera move so fast I can't edit gridmap anymore

Describe the feature / enhancement and how it helps to overcome the problem or limitation

better (free) camera for gridmap

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

ctrl+c normal camera in editor ctrl+v it to gridmap camera, move shortcuts from wasd to other buttons and RMB to erase to something else

If this enhancement will not be used often, can it be worked around with a few lines of script?

For now I have to 1 switch from gridmap, 2 position camera, 3 switch back to gridmap, 4 add few tiles, 5 repeat

Is there a reason why this should be core and not an add-on in the asset library?

becaus with current camera gridmap is not usable for actual levels and not 10x10x10 demo

Video example down below: https://imgur.com/a/kMqczqF

Calinou commented 3 years ago

Having large gridmap makes gridmap camera move so fast I can't edit gridmap anymore

The camera freelook movement speed is independent of what's in the scene. To adjust the freelook movement speed, use the mouse wheel while holding down the right mouse button (or press Shift + F to toggle freelook then use the mouse wheel).

In the video you linked, you seem to be using panning (or maybe orbiting?), rather than freelook. Also, this sounds like a bug rather than a feature proposal. Could you upload a minimal reproduction project?

Edit: I made a minimal reproduction project in 3.2.4beta3 and can't reproduce the issue there: test_large_gridmap.zip. Panning with Shift + Right mouse button behaves exactly the same, regardless of whether the GridMap is currently selected or not. It also behaves the same in a new empty scene.

As for orbiting, I'm not sure if this can be solved in a way that is guaranteed to be an upgrade in all situations. We could reset the orbit origin to be placed a few units in front of the camera when freelook ends, but this also become very inconvenient in some situations. I don't think there's an "one size fits all" solution here.

ctrl+c normal camera in editor ctrl+v it to gridmap camera, move shortcuts from wasd to other buttons and RMB to erase to something else

I wouldn't change the erasing shortcut, as it's quite common to use the right mouse button to erase something in image editing programs. (Also, we can't use Alt as a modifier as most Linux window managers intercept it.)

Keep in mind the Shift + F freelook toggle remains available while the GridMap editor is active. It seems most people are unaware of this alternate shortcut, but I'm not sure how we can make it easier to discover.

Favkis commented 3 years ago

Thanks for help, I'll see how I can make mrp

Calinou commented 3 years ago

Thanks for help, I'll see how I can make mrp

Bump :slightly_smiling_face: Do you have a minimal reproduction project for this?