Commit graph

416 commits

Author SHA1 Message Date
Haoyu Qiu
4b611c4518 Fix 3D view name typo 2021-09-22 10:31:48 +08:00
Hugo Locurcio
da68feb0ca
Print a warning if a 3D editor gizmo has no name defined
Unnamed gizmos should be avoided, so this should help editor plugin
authors resolve issues with gizmo naming if they forgot to override
the function.

(cherry picked from commit e5406ba952)
2021-09-21 17:15:01 +02:00
Rémi Verschelde
8ea1ad6725
Merge pull request #52772 from Calinou/editor-default-enable-doppler-3.x 2021-09-21 11:30:03 +02:00
Rémi Verschelde
7d852bd98a
Merge pull request #52377 from Calinou/tweak-3d-inertia-3.x
Tweak the 3D editor inertia defaults for better responsiveness (3.x)
2021-09-20 15:41:43 +02:00
Hugo Locurcio
4914b57222
Enable Doppler preview in the 3D editor by default
This makes setting up AudioStreamPlayer3D nodes for Doppler playback
a bit easier.

- Move AudioStreamPlayer3D's Doppler Tracking property outside a group
  since the group only had 1 property, which resulted in unnecessary
  folding in the inspector.
- Put the AudioStreamPlayer3D Playing and Autoplay properties higher up
  in the inspector since these are likely to be modified often.
2021-09-17 18:51:09 +02:00
Hugo Locurcio
7922c262f6
Display a editor gizmo icon for Listener
The icon was present in `editor/icons/`, but it was never implemented
in the editor gizmos code.

This also removes some unused gizmo drawing code (overridden methods
that are no longer called anywhere).
2021-09-16 23:37:12 +02:00
Krystof Klestil
5e2450cae6 Fix issues with scaling 3D Objects
When scaling 3D objects the distance form them is not considered. Allowing for finer contorl. Overscaled objects no longer break the gizmo.
2021-09-15 08:40:41 +02:00
Hugo Locurcio
543c14336d
Tweak the 3D editor inertia defaults for better responsiveness
The default orbit sensitivity was decreased to account for this change.
Rotational inertia (orbit + freelook) was disabled by default due to
known issues.

This also removes the need for separate manipulation inertia settings,
as the default settings are more responsive.
2021-09-10 22:17:04 +02:00
kobewi
6611d24e74 Include locked nodes on selection list 2021-08-18 13:27:33 +02:00
lawnjelly
115f4dce55 Sphere occluders (portals and general use)
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.
2021-08-17 09:02:06 +01:00
Haoyu Qiu
afea754e97 Fix i18n of 3D view name
Make the full view name translatable as a whole instead of combining
from sub-strings.
2021-08-14 15:23:59 +08:00
Rémi Verschelde
7c6bdea33c
Merge pull request #47416 from Calinou/add-contrast-adaptive-sharpening-3.x
Add support for contrast-adaptive sharpening in 3D (GLES3 only)
2021-08-10 10:08:24 +02:00
Lightning_A
9613725732 Minor visual improvements to the viewport rotation gizmo (again) 2021-08-06 14:38:31 -06:00
Lightning_A
6280c66f04 Minor improvements to the view rotation gizmo 2021-08-04 13:15:44 -06:00
Nicholas Huelin
0b94db5f4c
Make the "View" menu in 3D view toolbar stay open when selecting a checkbox
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)
2021-08-03 10:20:18 +02:00
lawnjelly
9e9abe2137 Portals - Fix UI default
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.
2021-08-02 16:10:34 +01:00
lawnjelly
776623d56b Portals - Improve UI and add shortcuts
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.
2021-08-01 19:54:16 +01:00
Rémi Verschelde
a17228c788
Merge pull request #51111 from pycbouh/editor-put-the-colon-back-in-3.x
[3.x] Put multiple colons back into translated strings
2021-07-31 22:05:04 +02:00
Yuri Sizov
9b228f0f5d Put multiple colons back into translated strings 2021-07-31 20:18:24 +03:00
Haoyu Qiu
a3b221e99f Make action names translatable 2021-07-31 22:19:47 +08:00
Hugo Locurcio
1ed24ca548
Highlight context menu items at the top of the 2D/3D viewports
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.
2021-07-31 01:50:50 +02:00
Hugo Locurcio
8fc99ef680
Improve the 3D editor manipulation gizmo
- 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)
2021-07-28 15:35:35 +02:00
Rémi Verschelde
fddc370b2b
Merge pull request #50837 from Calinou/3d-editor-camera-preview-add-shortcut-3.x
Add shortcut to toggle the 3D editor's camera preview (3.x)
2021-07-27 13:34:35 +02:00
SaracenOne
462231e297
Removing bounding box calculations from 3D scene drag and drop and collide against physics rather than visual geometry.
(cherry picked from commit fbda490d0f)
2021-07-27 11:58:36 +02:00
foxydevloper
f2cdacd3a6
Improve select tool's tooltip
- 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)
2021-07-26 13:30:56 +02:00
Rémi Verschelde
8ecb5d2047
Merge pull request #48621 from Calinou/editor-3d-hide-selection-box-no-gizmos-3.x
Hide the 3D editor selection box when View Gizmos is disabled (3.x)
2021-07-26 12:45:00 +02:00
Hugo Locurcio
ba91c37efe
Add shortcut to toggle the 3D editor's camera preview
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.
2021-07-25 12:50:51 +02:00
Hugo Locurcio
44b01751e6
Prevent accidental drags by adding drag distance threshold
Co-authored-by: fox <12120644+foxydevloper@users.noreply.github.com>
2021-07-16 06:04:25 +02:00
lawnjelly
eb6f98ec55 Portal occlusion culling
Adds support for occlusion culling via rooms and portals.
2021-07-14 11:43:23 +01:00
Hugo Locurcio
e8c9877ad8
Fix casing of the "to" stop word in editor strings 2021-07-13 15:28:00 +02:00
Rémi Verschelde
31143baa57
Merge pull request #50223 from Calinou/editor-information-use-multiply-sign-3.x
Use the Unicode multiplication symbol for the viewport size display (3.x)
2021-07-07 10:03:25 +02:00
Hugo Locurcio
8592620a8e
Use the Unicode multiplication symbol for the viewport size display 2021-07-06 21:59:26 +02:00
Haoyu Qiu
f252622d82
Add numpad emulation in 3D viewport
(cherry picked from commit 4a26e61e89)
2021-07-06 11:20:30 +02:00
Hugo Locurcio
59c5c04e38
Allow using the 3D editor's View menu while previewing a camera
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)
2021-07-06 11:19:38 +02:00
Hugo Locurcio
b268fdc980
Use Ctrl + G to toggle the 3D editor grid visibility by default
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)
2021-06-29 14:02:23 +02:00
Hugo Locurcio
a9c0c5484f
Add support for contrast-adaptive sharpening in 3D (GLES3 only)
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.
2021-06-21 15:37:31 +02:00
Hugo Locurcio
dd70aea77c
Fix game camera override tooltips being swapped
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)
2021-06-17 12:47:54 +02:00
Hugo Locurcio
f88dc1fd44
Fix editor constantly redrawing when freelook is active with still camera
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)
2021-06-17 12:47:53 +02:00
jfons
2c400a7aae
Fix swapped front/rear directions in viewport rotation control.
(cherry picked from commit e70e33ddcf)
2021-05-21 12:55:25 +02:00
Hugo Locurcio
7027791959
Hide the 3D editor selection box when View Gizmos is disabled 2021-05-10 19:28:32 +02:00
Rémi Verschelde
140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde
b4af1eba0a
Style: Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2021-05-04 16:39:13 +02:00
Rémi Verschelde
a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde
b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde
64a63e0861
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde
3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde
6e600cb3f0
Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
Rafał Mikrut
06976c3e84 [3.x] Fix crashes when using _input functions 2021-04-27 16:51:29 +02:00
Hugo Locurcio
e2934a04e2
Allow Center Selection to work without any selection in 2D/3D editors
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)
2021-04-26 13:15:28 +02:00
Aaron Franke
9b928cbd9e
Show a message when trying to zoom farther than the limit
(cherry picked from commit b8f66d58b6)
2021-04-12 00:23:43 +02:00