Commit Graph

36 Commits

Author SHA1 Message Date
Rémi Verschelde 2312345be8
Merge pull request #94698 from aaronp64/current_gizmos_hashset
Improve time to close scene with many 3D gizmos
2024-09-02 12:12:51 +02:00
A Thousand Ships 0c3b975ada
Fix compilation issues caused by `far` identifier
Breaks some builds on Win due to macro use of this name
2024-08-19 11:13:56 +02:00
aaronp64 4d0e2ee47d Improve time to close scene with many 3D gizmos
Changed EditorNode3DGizmoPlugin::current_gizmos from List to HashSet, to avoid having to iterate through all gizmos when ~EditorNode3DGizmo unregisters itself.
2024-08-18 19:47:19 -04:00
Rémi Verschelde 195a174864
Merge pull request #90690 from jsjtxietian/camera-aspect
Adjust orthographic camera gizmo with respect to `keep_aspect` setting
2024-08-17 00:45:34 +02:00
Rémi Verschelde 0494b37a0c
Merge pull request #91226 from Calinou/editor-gpuparticles3d-simplify-gizmo
Simplify the GPUParticles3D editor gizmo to improve readability
2024-05-07 16:49:38 +02:00
Rémi Verschelde 594498e718
Merge pull request #90966 from Calinou/debug-draw-use-runtime-colors
Use same colors for editor and running project for collision/path debug
2024-05-07 16:49:31 +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
Hugo Locurcio cb05b49c09
Simplify the GPUParticles3D editor gizmo to improve readability
- Remove handles as users should use the Generate Visibility AABB
  option whenever possible, so manual resizing isn't needed often.
  (For particles that move quickly and have Local Coords disabled,
  Extra Cull Margin can be increased in the GeometryInstance3D
  properties in the inspector.)
- Remove translucent filled part of the gizmo to be more consistent
  with GeometryInstance3D's recently introduced Custom AABB gizmo.
- Remove center marker as it can visually obstruct particles.

This paves the way for future emission shape gizmos which will
feature handles.
2024-04-26 22:29:26 +02:00
Hugo Locurcio b1a2394b3b
Use same colors for editor and running project for collision/path debug
This harmonizes the appearance of collision shapes and paths between
the editor and running project, in both 2D and 3D.

This means that in 3D, paths are now green and shapes are now cyan
instead of light blue.
2024-04-21 00:58:08 +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
jsjtxietian b97d995664 Adjust orthographic camera gizmo with respect to "keep_aspect" setting 2024-04-16 12:50:00 +08:00
Silc Lizard (Tokage) Renew 04dd299cba Skeleton3D: Add SkeletonModifier / Deprecate Override / Separate PB 2024-04-05 01:28:26 +09:00
Hugo Locurcio 72002a77de
Use 3D editor gizmo helper for FogVolume to allow dragging individual faces 2024-03-09 18:03:01 +01:00
smix8 35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
Aaron Franke c399424db9
Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
Arman Elgudzhyan ec6518d9cd Custom ("visiblity") AABB support for CPUParticles
- Improves performance by reducing time spent on AABB generation.
- Also adds an option to generate the AABB manually in the CPUParticles3D dropdown.
2024-02-15 22:37:07 -08:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Yuri Sizov e18659c69d Merge pull request #82872 from jsjtxietian/require-editor-restart-when-csg-gizmo-color-changed
Prompt require editor restart to user when gizmo color changed
2023-12-19 20:32:20 +01:00
Rémi Verschelde fc6d6b2c00
Merge pull request #82381 from dervus/issue-81916
Fix grid snapping for box shape gizmos
2023-10-13 22:16:39 +02:00
Vladimir Zapparov 088cf59e7a Fix grid snapping for box shape gizmos
"Extruding" box face (i.e. moving it without holding Alt key) will now
always snap new box size exactly to the nearest snap step.
2023-10-13 17:34:59 +02:00
kleonc db6a8956b2 Make gizmo plugin handle SpriteBase3D instead of Sprite3D 2023-10-06 11:03:44 +02:00
jsjtxietian b0ccd5c84f Prompt require editor restart to user when gizmo color changed 2023-10-06 15:02:03 +08:00
Hugo Locurcio fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
Rémi Verschelde 7ca579cb27
Merge pull request #81554 from Calinou/editor-gizmos-add-decal
Add 3D editor gizmo icons for Decal, LightmapProbe and FogVolume
2023-09-16 21:22:54 +02:00
Hugo Locurcio 5345cf3e75
Add 3D editor gizmo icons for Decal, LightmapProbe and FogVolume
- Tweak CPUParticles3D editor gizmo icon to use the same outline
  color as other gizmo icons. Make the internal icon easier to see
  by using an orange color instead of gray.

Co-authored-by: MewPurPur <mew.pur.pur@abv.bg>
2023-09-15 20:44:45 +02:00
Yuri Sizov df6cd37a69 Merge pull request #81516 from YuriSizov/editor-theme-access-the-success
Fix accessing editor theme items throughout the UI
2023-09-15 19:48:14 +02:00
Yuri Sizov 8ecc0c4f47 Fix accessing editor theme items throughout the UI
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
Hugo Locurcio 1024ba0c0d
Show visual-oriented 3D node gizmos only when selected
Affected nodes:

- DirectionalLight3D, OmniLight3D, SpotLight3D
- ReflectionProbe
- LightmapGI
- VoxelGI
- GPUParticles3D (but not collision/attractor nodes)
- AudioStreamPlayer3D

This reduces visual clutter in the editor with 3D scenes.
2023-09-15 01:59:49 +02:00
kobewi 015953a3d9 Add helper for 3D gizmos and unify box 2023-09-12 18:08:02 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
A Thousand Ships 1dcb45a79c Fix gizmo for `BoxShape3D` 2023-08-16 16:49:04 +02:00
Hugo Locurcio e21388d9f4
Readd a Camera3D icon gizmo to the 3D editor, renew Camera2D/3D icons
The lack of icon gizmo made it no longer possible to select Camera3D
nodes in the 3D viewport by clicking on them.

A new Camera3D icon gizmo was designed to be direction-neutral.
This avoids the issue that the previous icon gizmo had, since it was
always facing right.

This also adds icons for CameraAttributesPractical and CameraAttributesPhysical.
2023-08-08 16:04:53 +02:00
kobewi 0a9a8c75fa Improve editing of box collision shapes 2023-08-03 14:09:10 +02:00
smix8 808af8e837 Split Node3DGizmos into dedicated files
Splits Node3DGizmos into dedicated files.
2023-04-20 20:12:47 +02:00