Commit graph

667 commits

Author SHA1 Message Date
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
passivestar
4201c7d75f Make the frame time and info boxes have same margins 2024-06-29 16:34:08 +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
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Robert Yevdokimov
824d21b441 Disable viewport inputs when dragging and dropping into the viewport 2024-05-12 10:02:39 -04:00
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Rémi Verschelde
1069d7b7c6
Merge pull request #88343 from Riteo/warped-mouse-float
Handle warped mouse motion as floating point
2024-05-06 15:14:46 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of Vector* min/max/clamp/snap(ped)
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Rémi Verschelde
1bd6fe81ea
Merge pull request #89538 from CrayolaEater/feature/custom-aabb-gizmos
Add Gizmo to display 3D custom AABB
2024-04-19 16:27:16 +02:00
Bogdan Inculet
8caa1b8783 Add Gizmo to display 3D custom AABB 2024-04-19 02:31:30 +03:00
风青山
4ff5326959
Fix crash when dragging scene files to 2D/3D screen
The crash usually occurs when there is no scene root node.
2024-04-12 13:10:02 +08:00