Commit graph

233 commits

Author SHA1 Message Date
Aaron Franke fa3a32a2d6
Use Key enum instead of plain integers 2021-08-10 16:26:55 -05:00
Aaron Franke 339687e04f
Organize methods in Viewport and explicitly name 3D methods with 3D 2021-08-10 09:10:34 -05:00
Aaron Franke 84f720966c
Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
Lightning_A e1ad11f453 Minor visual improvements to the viewport rotation gizmo (again) 2021-08-06 14:39:13 -06:00
Rémi Verschelde dcf2a62b05
Merge pull request #51164 from TokageItLab/fix-gizmo-transform-scaling
Fixed gizmo forced implicit normalization and inconsistent rotation
2021-08-05 16:42:33 +02:00
Rémi Verschelde 4cf12d7895
Merge pull request #51215 from akien-mga/shortcut-rename-property-to-event
Shortcut: Rename `shortcut` property to `event`
2021-08-05 15:52:20 +02:00
Rémi Verschelde 342a0d45cf
Merge pull request #51250 from LightningAA/minor_view_rotation_gizmo_improvements-4.0
Minor visual improvements to the view rotation gizmo
2021-08-05 14:59:37 +02:00
Rémi Verschelde de2c2be19b
Shortcut: Rename shortcut property to event
Having a property which has the same name as its class leads to confusing
situations (e.g. `BaseButton` has a `shortcut` property of type `Shortcut`
which has a `shortcut` property of type `InputEvent`).

Also renames `is_event` to `matches_event`, and `is_valid` to `has_valid_event`
to better reflect what the methods check.
2021-08-05 13:48:43 +02:00
Lightning_A 37b943be42 Minor improvements to the view rotation gizmo 2021-08-04 13:19:17 -06:00
Rémi Verschelde a7f24080a2
Merge pull request #51118 from SirQuartz/patch-39
Make the "View" menu in the 3D viewport stay open when selecting a checkbox
2021-08-03 09:35:17 +02:00
Silc 'Tokage' Renew 4822499d70 Fixed gizmo forced uniform scale and inconsistent rotation 2021-08-03 14:17:22 +09:00
Aaron Franke dbad475fc7
Use real_t in editor plugins
Also use const more often and delete dead code in CanvasItemEditor
2021-08-01 21:48:34 -05:00
Nicholas Huelin 3ffd75107d
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.
2021-07-31 16:33:38 -04:00
Haoyu Qiu 284c6c81eb Make action names translatable 2021-07-31 22:19:51 +08:00
Rémi Verschelde e95e33f251
Merge pull request #35891 from Calinou/editor-viewport-highlight-context-menus
Highlight context menu items at the top of the 2D/3D viewports
2021-07-30 15:18:48 +02:00
Hugo Locurcio e92297cc3d
Make the focus outline translucent for editor viewports
This makes the focus outline less distracting on the
2D and 3D editor viewports.
2021-07-30 14:20:54 +02:00
foxydevloper f641327dcf Make drag and drop into viewport add to root node by default
When dragging and dropping a texture, mesh, or scene from the FileSystem into the
2D or 3D viewport, it will be added as a child of the current scene's root node.
2021-07-29 15:47:42 -04:00
Rémi Verschelde 7f0a83c129
Merge pull request #50597 from Calinou/3d-editor-improve-manipulation-gizmo
Improve the 3D editor manipulation gizmo
2021-07-28 15:33:24 +02:00
Hugo Locurcio 81d2d2b41a
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-27 16:45:02 +02:00
Rémi Verschelde 0f7b7bcbce
Merge pull request #50836 from Calinou/3d-editor-camera-preview-add-shortcut
Add shortcut to toggle the 3D editor's camera preview
2021-07-27 13:34:10 +02:00
Rémi Verschelde 41013e4f9a
Merge pull request #50933 from JFonS/gizmo_rework_improvements 2021-07-27 13:19:46 +02:00
jfons d7b58ebc9c Fixes to editor subgizmos
* Fixed subgizmo editing on scaled nodes.
* Added more clarifications on the coordinate space of subgizmos.
* Given input priority to the transform gizmo over subgizmo selection.
2021-07-27 12:55:57 +02:00
Yuri Roubinsky 88e3d13416 Fix icon colors in 3d editor on theme changing 2021-07-26 22:50:09 +03:00
SaracenOne fbda490d0f Removing bounding box calculations from 3D scene drag and drop and collide against physics rather than visual geometry. 2021-07-26 17:38:48 +01:00
Rémi Verschelde 5707c5d0ff
Merge pull request #48620 from Calinou/editor-3d-hide-selection-box-no-gizmos
Hide the 3D editor selection box when View Gizmos is disabled
2021-07-26 12:44:50 +02:00
Hugo Locurcio 75dc0d1869
Add shortcut to toggle the 3D editor's camera preview
A Camera3D 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:53:38 +02:00
Rémi Verschelde 2bf903e98d
Merge pull request #50791 from foxydevloper/select-mode-tooltip-improvation
Improve select tool's tooltip for 2D and 3D
2021-07-24 23:45:44 +02:00
Aaron Franke 4e6efd1b07
Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
foxydevloper 6b90e2df6c 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
2021-07-23 17:30:45 -04:00
jfons cfb555a081 Node3D gizmo improvements
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
2021-07-23 21:01:10 +02:00
Aaron Franke 78b0a7da03
Use is_equal_approx in more places 2021-07-21 00:32:37 -04:00
Rémi Verschelde c82daaed48
Merge pull request #38317 from verdog/get-cam-2d-4.0
add viewport.get_camera_2d()
2021-07-20 22:19:06 +02:00
Rémi Verschelde 394191c02f
Merge pull request #50605 from Calinou/tweak-shader-code-style
Use C++11 raw literals for shader code to improve readability
2021-07-20 10:05:13 +02:00
foxydevloper 42d740d641 Make various strings translatable 2021-07-19 18:30:52 -04:00
Hugo Locurcio abc38b8d66
Use C++11 raw literals for shader code to improve readability
In files that have lots of branching, `\t` was replaced with a
tab character instead.
2021-07-19 08:19:50 +02:00
reduz 6631f66c2a Optimize StringName usage
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.

This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Hugo Locurcio 6cfcbbbb93
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.
2021-07-19 00:46:27 +02:00
Hugo Locurcio ac52178850
Tweak editor select mode drag threshold for better usability
- Use a smaller drag threshold (8 pixels instead of 10 pixels).
- Scale the 2D editor drag threshold with the zoom to make it
  work the same regardless of the current zoom level.
2021-07-16 06:17:40 +02:00
fox 2623ee7a94 Fix wrong behavior of alt+rmb and list tool for locked nodes 2021-07-14 09:23:37 -04:00
Rémi Verschelde b61b30e6ff
Merge pull request #50420 from KoBeWi/counter_headers
Add header theme type variations to labels
2021-07-13 17:57:03 +02:00
kobewi f4b361dd15 Add header theme type variations to labels 2021-07-13 15:42:09 +02:00
Hugo Locurcio a3fbd68781
Fix casing of the "to" stop word in editor strings
This also fixes a C# documentation example that had one of its
strings incorrectly converted.
2021-07-13 15:29:06 +02:00
Rémi Verschelde 3c0c202bf6
Merge pull request #49725 from EricEzaM/multi-node-picking-fixes
Fixes for multi-node editing interactions.
2021-07-12 19:23:13 +02:00
Rémi Verschelde 69f1048ef5
Merge pull request #50233 from Calinou/editor-add-both-environment-and-sun
Add both preview sun and sky at the same time when holding Shift
2021-07-12 15:37:11 +02:00
Hugo Locurcio 8844bb7855
Add the preview sun and sky to the beginning of the scene tree
This generally looks better when adding more nodes to the scene
in the future.
2021-07-12 12:08:58 +02:00
Hugo Locurcio ddb3020758
Add both preview sun and sky at the same time when holding Shift
This makes setting up scenes for prototyping faster.

A tooltip was added to let people know about this feature.
2021-07-07 13:50:19 +02:00
Rémi Verschelde 7428c07624
Merge pull request #50236 from Calinou/editor-preview-sun-sky-add-root-node
Add a root Node3D automatically if absent when adding preview sun and sky
2021-07-07 12:44:08 +02:00
Hugo Locurcio 99909cb4f7
Add a root Node3D automatically if absent when adding preview sun and sky
This makes for a smoother prototyping process compared to displaying
an error message.
2021-07-07 01:59:46 +02:00
Hugo Locurcio c72efd20b8
Use the Unicode multiplication symbol for the viewport size display 2021-07-06 21:52:59 +02:00
Rémi Verschelde 3fbfb24773
Merge pull request #50070 from timothyqiu/emu-numpad
Add numpad emulation in 3D viewport
2021-07-05 14:18:36 +02:00