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).
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.
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.
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.
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
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
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.
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.