Commit Graph

676 Commits

Author SHA1 Message Date
Rémi Verschelde
35be8acf60
Merge pull request #96199 from SaracenOne/ownerless_node_crashfix
Fix crash when selecting ownerless 3D node.
2024-08-28 09:45:44 +02:00
Saracen
279ccd6d32 Fix crash when selecting ownerless 3D node. 2024-08-28 04:35:46 +01:00
Robert Yevdokimov
67dfbc0816 Save the state of view transform gizmo option 2024-08-27 19:16:43 -04:00
Rémi Verschelde
48645f3d70
Merge pull request #87793 from ryevdokimov/hide-transform-gizmo
Add ability to hide editor transform gizmo
2024-08-28 00:10:32 +02:00
Rémi Verschelde
109203d472
Merge pull request #85331 from RobProductions/customize-navigation-controls
Add full customization of 3D navigation controls
2024-08-28 00:10:19 +02:00
bruvzg
fba7ad8c7b
Remove spaces and punctuation from the beginning of translatable strings. 2024-08-22 20:51:13 +03:00
tetrapod00
080acd7246 Remember "View Grid" (per-viewport) setting between editor sessions 2024-08-20 15:59:07 -07:00
Rémi Verschelde
93fe5c6598
Merge pull request #94553 from juanjp600/gizmo-bvh
Fix gizmos without visible geometry not being selectable
2024-08-19 16:05:11 +02:00
Rémi Verschelde
80933392f3
Merge pull request #87135 from ryevdokimov/do-not-apply-material-on-ui-cancel
Clear drag preview material on `NOTIFICATION_DRAG_END`
2024-08-19 16:04:28 +02:00
oeelis
bf9fdc5b96
Ignore locked nodes when click selecting in 3d editor
When selecting 3d nodes with a single click, the node closest to the
camera is selected. If the closest node was locked, it would block the
selection, even when there was unlocked nodes behind the locked node.

This PR replaces the `_select_ray` method call used to find the closest
node with the similar `_find_items_at_pos` method, which can skip any
locked nodes.

Fixes #84764
2024-08-19 14:56:02 +02:00
Rémi Verschelde
a7200cedbc
Merge pull request #95154 from jsjtxietian/quit-freelook
Fix Pressing Escape doesn't exit freelook in the 3D editor
2024-08-17 00:45:57 +02:00
Rémi Verschelde
45342d06a6
Merge pull request #95420 from TokisanGames/fix-crash-selecting-notdescendant
Fix crash by ensuring selected node is a descendant of the edited scene
2024-08-16 14:34:15 +02:00
Rémi Verschelde
f02e89bd04
Merge pull request #93869 from MajorMcDoom/ortho-grids
Make viewport grid visible on all three planes in ortho camera view
2024-08-16 14:32:06 +02:00
Rémi Verschelde
3ba9f4304e
Merge pull request #95402 from MajorMcDoom/rotation-gizmo-fix
Correct rotation gizmo plane math for off-center perspective view
2024-08-16 10:35:51 +02:00
Rémi Verschelde
12eb1436f4
Merge pull request #92734 from lawnjelly/faster_editor_grid4
Optimize Editor `_init_grid()`
2024-08-16 10:33:53 +02:00
Cory Petkovsek
b1a45d9487 Ensure selected node is a descendant of the edited scene 2024-08-13 12:08:47 +07:00
Zi Ye
1fc8255355 Corrected rotation gizmo plane math for off-center perspective view. 2024-08-11 14:19:23 -05:00
jsjtxietian
78dc310103 Fix Pressing Escape doesn't exit freelook in the 3D editor 2024-08-07 11:11:28 +08:00
Rémi Verschelde
e2be29c2a9
Merge pull request #93404 from TokisanGames/fix-empty-scene-crash
Fix crash in Node3DEditorViewport selecting on empty scene
2024-07-31 16:13:12 +02:00
Juan Pablo Arce
45f6110e26 Fix gizmos without visible geometry not being selectable
The issue was that Node3DEditorViewport was using the render server's BVH to filter out nodes,
which is not correct for gizmos that have no renderable components,
or have collision triangles that exceed the bounds of their renderable components.
2024-07-21 13:56:13 -03:00
Mikael Hermansson
c9e0532bc2 Fix "selectable nodes at position clicked" feature in 3D editor 2024-07-15 13:14:57 +02:00
Eric allen
e03fb3043f fix: change esthetic -> aesthetic 2024-07-05 16:03:01 -04:00
Zi Ye
72a01816a4 Make viewport grid visible on all three planes in ortho camera view 2024-07-02 13:07:31 -05:00
Matt Enad
9d343ced58 Add customizable 3D navigation settings
This commit adds 3 new editor settings for orbit, pan, and zoom mouse buttons, and 6 new shortcuts which act as modifiers for the navigation controls. These new shortcuts replace the old orbit, pan, and zoom modifier settings.

The `navigation_scheme` setting now acts as a preset which changes the new options added above, and the new settings are what drives 3D navigation instead. A new struct is used for ordering the navigation logic so that actions with fewer shortcuts are checked first. When the editor starts, the preset detection will run to automatically update user settings from old Godot versions. When the setting is changed, the hint values for the mouse buttons are dynamically updated to show the user the corresponding shortcut values.

The new doc fields have been generated and the description for the new settings are filled out. The `navigation_scheme` entry now has more consistent styling and added control descriptions that were missing before.
2024-07-02 12:37:57 -04:00
passivestar
4201c7d75f Make the frame time and info boxes have same margins 2024-06-29 16:34:08 +04:00
Robert Yevdokimov
c9e9bd4a68 Add ability to Hide Editor Transform Gizmo 2024-06-27 21:01:15 -04:00
Hugo Locurcio
6932630c02
Add alternative shortcut for Align Transform to View in the 3D editor
The new shortcut is Ctrl + Alt + Numpad 0 and is the one listed
in the 3D viewport's Perspective menu (since PopupMenu accelerators
display the first shortcut only). This shortcut matches Blender
and avoids conflicts with the GeForce Experience overlay, which
defaults to Ctrl + Alt + M.

Ctrl + Alt + M is still defined as an alternative default,
so that existing workflows are not impacted.
2024-06-27 20:34:28 +02:00
passivestar
a9ef6cd418 Improve viewport rotation gizmo drawing 2024-06-26 23:33:24 +04:00
passivestar
83078715ca Add missing style overrides for viewport overlay buttons 2024-06-20 22:28:45 +04:00
Cory Petkovsek
1780f28407 Fix crash when drawing a selection box on an empty scene with certain plugins 2024-06-21 00:18:34 +07:00
Rémi Verschelde
4949e96b0b
Merge pull request #91845 from ryevdokimov/disable-freelook-when-drag-and-drop
Disable viewports inputs when dragging and dropping into the viewport
2024-06-19 10:53:17 +02:00
A Thousand Ships
fbb879debd
[Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
A Thousand Ships
ca18a06ecb
[Scene] Add SceneStringNames::confirmed 2024-06-19 09:40:54 +02:00
A Thousand Ships
d519715d94
[Scene] Add SceneStringNames::font(_size/_color) 2024-06-18 17:24:27 +02:00
rune-scape
6adcb1373a fix missing cleanup and null checks for various singletons 2024-06-18 01:05:30 -07:00
Rémi Verschelde
bb8fe430fe
Merge pull request #90098 from viksl/fix-instant-rotation-and-return-wrapping
Allow wrapping for begin rotate transformation to bring it in line with Blender.
2024-06-17 10:57:57 +02:00
lawnjelly
e71b3a75e4 Optimize Editor _init_grid()
Use static `LocalVectors` instead of `Vectors` for temporaries.
2024-06-13 11:51:32 +01:00
bruvzg
5168647530
Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +03:00
Rémi Verschelde
9c87e8c7b4
Merge pull request #91953 from AThousandShips/use_normal_sname
Use `CoreStringNames::normal` in more places
2024-05-31 14:16:05 +02:00
A Thousand Ships
cade5b88d9
Use CoreStringNames::normal in more places 2024-05-30 22:57:54 +02:00
A Thousand Ships
926afccbd8
[Scene] Add SceneStringNames::panel 2024-05-30 22:54:50 +02:00
A Thousand Ships
755a0efbb6
[Scene] Add SceneStringNames::id_pressed 2024-05-30 22:54:04 +02:00
Rémi Verschelde
25b17bd245
Merge pull request #92188 from SaracenOne/ownerless_node_select
Disallow selection of ownerless nodes
2024-05-28 15:48:54 +02:00
Saracen
596026a1ee Disallows selection of ownerless nodes:
Attempts to select first node owned by the edited scene instead.
2024-05-28 11:13:40 +01:00
Hugo Locurcio
60084dcc2c
Prevent label width from flickering rapidly in editor frametime panel
This also improves the background display by drawing a single background
for all 3 labels. This avoids visible corners between each label.
2024-05-23 20:50:25 +02:00
kobewi
e065d7132a Remove duplicate shortcut definitions 2024-05-21 23:28:49 +02:00
Haoyu Qiu
e5c321448e Create AudioStreamPlayer when dropping AudioStream
- Create AudioStreamPlayer if dropped in between nodes in the Scene dock
- Create AudioStreamPlayer2D if dropped into 2D editor
- Create AudioStreamPlayer3D if dropped into 3D editor
2024-05-19 20:26:04 +08:00
Rémi Verschelde
b201c7fc13
Merge pull request #91874 from Nodragem/editor-scene-drag-and-drop-default
Change default parenting behavior when drag-and-dropping to 2d and 3d editor
2024-05-17 11:13:57 +02:00
Nodragem
8e0f0c6edb change default behaviour when drag-and-drop to 2d and 3d editor
correct formatting with clang-formatter

US English
2024-05-16 10:42:13 +01:00
A Thousand Ships
ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00