Commit Graph

59 Commits

Author SHA1 Message Date
6c516a24e2 Remove ResourceImporterScene singletons in favor of local usage 2025-10-31 07:13:00 -07:00
19c47c5d99 Remove #include "scene/main/timer.h" from control.h 2025-10-05 14:41:06 +09:00
f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
a272376f89 Cleanup accessibility names. 2025-06-23 11:08:36 +03:00
b8485366c2 Merge pull request #107211 from bruvzg/mat_ext_and_over
Restore 3.x style material auto-extraction import option.
2025-06-10 12:30:26 +02:00
a3d297ae92 Merge pull request #98014 from SaracenOne/import_subresource_overwrite_fix
Fix resetting imported scene parameters to default.
2025-06-10 12:29:26 +02:00
a0c4a8c4a9 Restore 3.x style material auto-extraction import option. 2025-06-10 12:03:45 +03:00
22b5a2fc5c Change editor button focus mode to FOCUS_ACCESSIBILITY. 2025-06-08 15:53:27 +03:00
b8e44a0000 Improve ConfigFile get_sections and get_section_keys by returning Vector<String> 2025-04-24 20:10:31 -04:00
87f986ae67 Merge pull request #97837 from basicer/fix-update-timer
SceneImportSettings update_timer should be a oneshot.
2025-04-15 12:28:39 -05:00
94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
f7b72704db Merge pull request #104804 from etherealxx/fix-advanced-import-inspector-missing-tooltip
Fix missing tooltips on "Advanced Import Settings for Scene" window
2025-04-09 18:12:00 -05:00
302fa831cc Initial editor accessibility. 2025-04-08 20:25:48 +03:00
7e00ea510e Fix missing tooltips on "Advanced Import Settings for Scene" window
In Godot, it's possible to customize how the engine imports 3D resource,
by either clicking "Advanced..." button on Import Dock or double
clicking the resource on FileSystem Dock. Doing so will open the
Advanced Import Settings window, where user could inspect the 3D resource
in a viewport, with the scene tree on the left and an inspector panel
akin to the Import dock on the left. It contains the same settings from
the Import dock, with some advanced additions.

This commit fixes a regression since 4.2 where settings in the inspector
panel on the right part of the window does not contain the same tooltips
as its Import Dock counterpart (which were retrieved from the XML class
reference).
2025-04-01 10:29:40 +07:00
8997c999e9 Scene import: extract UID paths and store fallback
When extracting meshes, materials and animations, always store the uid:// path as well as a res:// fallback.
When validating import settings, load the fallback path if the uid:// path fails to load.
Update save_to_file/fallback_path every import to keep the file path in sync with the uid.
Use UID hashing for meshes and animations.
2025-03-19 11:50:39 +01:00
622344b47d Merge pull request #99810 from hakro/toggle_skeleton
Style skeleton button on import screen
2025-02-12 11:20:56 +01:00
d8b1a5aac2 Merge pull request #92235 from paddy-exe/advanced-import-macbook-mouse-magnify
Add MagnifyGesture to Advanced Import dialog zooming
2024-12-30 08:58:50 -06:00
f1b3f17ae3 Add MagnifyGesture to Advanced Import dialog zooming 2024-12-26 23:53:34 +01:00
f241c1fda0 Remove unused header in editor.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:38 +08:00
bf4e5cca3f Make editor's shortcut names translated on-site 2024-12-18 13:00:30 +08:00
9a8d6628de [Scene] Add SceneStringName::hover 2024-12-11 11:11:25 +03:00
8f5b4cd7fe Style skeleton button on import screen 2024-11-29 00:47:33 +01:00
924732772b GLTF: Preserve node visibility on import 2024-11-05 19:06:08 -08:00
562c666e3d Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
8ba6a703e2 Scene import bugfix:
Fixes scene subresource property not being updated if
all properties are reset to default in advanced importer settings.
2024-10-08 15:27:07 +01:00
e5ff64d08f SceneImportSettings update_timer should be a oneshot.
SceneImportSettings uses a timer to debounce updates, but the
timer isnt a one shot.  This means after the first update is
scheduled, the dialog keeps re-rendering evne though no update
has been requested.
2024-10-04 21:07:35 -07:00
82688e9e2e Merge pull request #96094 from SaracenOne/add_3d_skeleton_to_advanced_importer
Add 3D Skeleton Preview to Advanced Importer
2024-09-08 23:21:28 +02:00
6532eff7a7 Various improvements to advanced importer skeleton preview.
Better size calculation in advanced importer preview.
Uses the skeleton mesh to calculate the scene's bounding box.
This improves some situations where a mesh instances' scale
does not match its visual representation when a skeleton
is applied.

Advanced importer skeletal preview UX improvement.
Make the visibility of the skeletal preview in the advanced importer
when selecting an animation dependent on a new dedicated toggle button
rather than carrying over whether a skeletal node was or was not previously
selected before selecting the animation.

Advanced importer skeletal preview fix.
Fixes the preview on scaled skeletons in the advanced importer by applying the node's scale
to the preview and generating a skin for it.
2024-09-07 02:09:47 +01:00
9dd71c6414 ResourceImporterScene: Replace animation bool with an import type string enum 2024-08-27 14:58:18 -07:00
030fd71da2 add support for visualizing bones in Advanced Import Settings
When an imported model Skeleton3D type node is selected, the bones are drawn using lines or octahedrons to provide a clearer reference to their position.
Refactored Skeleton3DGizmoPlugin::redraw now uses a static function to generate bone meshes
2024-08-27 02:10:16 +01:00
2453911013 Revert "Fix importer preview for models with scaled armatures"
This reverts commit 06709e6865.
2024-08-26 22:25:25 +02:00
06709e6865 Fix importer preview for models with scaled armatures. 2024-08-25 13:15:26 +01:00
e7de6f8725 Avoid [] for external_animation_library import option
Some uses of operator[] were causing "rest_pose/external_animation_library": null to be added to the .import file.
2024-08-13 17:53:46 -07:00
fbb879debd [Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
ca18a06ecb [Scene] Add SceneStringNames::confirmed 2024-06-19 09:40:54 +02:00
29fa291317 Fix incorrect camera transform of animation view in the import window 2024-06-10 16:09:36 +03:00
9c87e8c7b4 Merge pull request #91953 from AThousandShips/use_normal_sname
Use `CoreStringNames::normal` in more places
2024-05-31 14:16:05 +02:00
cade5b88d9 Use CoreStringNames::normal in more places 2024-05-30 22:57:54 +02:00
755a0efbb6 [Scene] Add SceneStringNames::id_pressed 2024-05-30 22:54:04 +02:00
ee79386f7b [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
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
c3bc768d64 Make Advanced Import lights more like the mesh and material editors
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2024-04-16 10:15:25 -07:00
72599858fc Tweak environment in the Advanced Import Settings dialog
Use a gradient sky to improve visibility in shaded areas,
while also helping the user orient themselves. The bottom of the sky
is black, while the top of the sky is white.

This change also makes it so that the Default Clear Color project setting
no longer affects the Advanced Import Settings dialog.
2024-04-09 01:03:49 +02:00
4d3319eceb Fix Set Animation Save Paths breaking on Windows 2024-03-31 00:46:25 +01:00
05372773e1 Merge pull request #89599 from timothyqiu/vegetate
Fix unexpected auto translation of editor `Tree` content
2024-03-23 21:15:39 -07:00
9a8fb26d91 Merge pull request #88824 from V-Sekai/retarget_silhouette_template
Retargeting option to use a template for silhouette.
2024-03-23 21:13:38 -07:00
9db0860c2e Option to use Animation as skeleton rest silhouette.
Adds `rest_pose/external_animation_library` advanced option to replace bone rest with an exported Animation before retargeting.
Together this allows a purely importer based workflow to transfer a known good pose from one FBX to another.
2024-03-23 17:29:02 -07:00
34f284bcc2 Add option to import skeleton rest as RESET animation
Also creates an AnimationPlayer if one does not exist.
Designed to be used in conjunction with loading rest pose in another importer.
2024-03-19 02:27:34 -07:00
8cd1ebbd6d Fix unexpected auto translation of Tree content 2024-03-18 09:31:00 +08:00