Add framework for supporting geometrical occluders within rooms, and add support for sphere occluders.
Includes gizmos for editing.
They also work outside the portal system.
This pull request fixes an issue where the "View" menu in the 3D view toolbar would close when you selected either the "View Origin" or "View Grid" checkboxes. This was inconvenient and wasted time by making you have to reopen the menu in order to get to other settings anytime you changed this.
(cherry picked from commit 3ffd75107d)
I had forgotten to add a call to update_portal_tools() at the end of the SpatialEditor constructors. This ensures that the portal UI is off by default in normal use without portals.
This PR makes the 'convert rooms' button permanently on the toolbar and accessible whichever node is selected, so you can convert rooms without having to select the RoomManager first.
It also adds a togglable item 'view portal culling' to the 'View' menu which is a simple way of setting the RoomManager 'active' setting without the RoomManager being the selected node.
Both of these have keyboard shortcuts, which should make it much faster to reconvert rooms and edit.
In addition there the string in the 'Perspective' Listbox is modified to show [portals active] when portal culling is operational, for visual feedback. This is updated when you change modes, and when the rooms are invalidated.
This makes it easier to notice that some menu items only appear when
specific nodes are selected.
This change applies to both 2D and 3D editors, including both plugin-based
menus and the hardcoded 2D layout/animation contextual menus.
- Allow some tolerance when clicking the plane move/scale,
even if the click is actually slightly outside the plane
(similar to Blender).
- Make the rotate manipulation circles visually thinner to be
less distracting.
- Make the hovered color less saturated to be more distinguishable
from the non-hovered state.
- Don't set brightness above 1.0 to prevent the gizmo from glowing
when hovered.
(cherry picked from commit 6cfcbbbb93)
- Makes tips clearer and more consistent.
- Removes outdated "shift+v" that doesn't work
- Adds Ctrl+RMB for adding nodes at position
- Removes tip for non-existent Alt+Drag in 3D select tool
(cherry picked from commit 6b90e2df6c)
A Camera node still has to be selected to initially enable camera
preview, but another node can then be selected and the preview can
be disabled by pressing the shortcut key again.
This is already allowed when using cinematic preview, but not
when previewing a Camera3D the usual way.
Many operations from the View menu still work while previewing
a camera, such as switching between debug draw modes and toggling
information panes.
(cherry picked from commit fab3d136e0)
The 2D editor grid toggle shortcut has been changed to use
`KEY_MASK_CMD` for consistency. This means it will now use Cmd
on macOS instead of Ctrl.
(cherry picked from commit 2cc053c64b)
This is an older, easier to implement variant of CAS as a pure
fragment shader. It doesn't support upscaling, but we won't make
use of it (at least for now).
The sharpening intensity can be adjusted on a per-Viewport basis.
For the root viewport, it can be adjusted in the Project Settings.
Since `textureLodOffset()` isn't available in GLES2, there is no
way to support contrast-adaptive sharpening in GLES2.
Previously, the wrong tooltip was shown.
This also tweaks the tooltips' texts to be clearer and remove
references to "game" (since Godot is used for more than just games).
(cherry picked from commit d1c5dd5b68)
The editor only needs to redraw when the camera is moving.
This helps preserver battery life on laptops when using freelook,
especially with the toggle mode (Shift + F).
(cherry picked from commit 21807f8d88)
When there is no selection, the camera will center around the
world origin.
This helps people get back to the world center if they haven't added
any nodes yet.
(cherry picked from commit fc055e1993)
ALT key modifier was hardcoded is node_3d_editor_plugin.cpp and didn't take editor settings into account.
Fix#46973
(cherry picked from commit 31077d875e)