Commit Graph

27 Commits

Author SHA1 Message Date
2450dee1bc Merge pull request #93401 from Repiteo/style/clang-tidy-fixes
Style: Apply `clang-tidy` fixes
2024-11-04 21:52:05 -06:00
834189a618 GLTF: Clean up animation code to make way for KHR_animation_pointer 2024-11-04 17:55:38 -08:00
bb5f390fb9 Style: Apply clang-tidy fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
b9b07d619f Merge pull request #94783 from TokageItLab/validate-gltf-anim-name
Add validation to glTF importer for Blendshape and Animation
2024-09-12 09:25:10 +02:00
194bdde947 Cleanup of raw nullptr checks with Ref
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
7050e581ff Fix owner warning when importing FBX. 2024-08-26 14:51:49 +01:00
065dd099dd Remove empty bind_methods() 2024-08-15 08:24:32 +02:00
0235086c14 Add validation to glTF importer for Blendshape and Animation 2024-07-26 18:05:34 +09:00
24f56008ac Add bake_fps for FBXDocument, GLTFDocument and both import-export. 2024-05-23 09:09:36 -07:00
82e77eab35 Merge pull request #91529 from bqqbarbhg/ufbx-warnings
FBX: Print ufbx load warnings on import
2024-05-07 13:48:56 +02:00
e8d5bdd95d Merge pull request #91528 from bqqbarbhg/ufbx-v0.14.0
FBX: Update ufbx to v0.14.0
2024-05-07 13:48:52 +02:00
5cd7ae198d Update ufbx to v0.14.0 2024-05-07 14:27:21 +03:00
04db5cf063 Print ufbx load warnings on import 2024-05-07 12:43:48 +03:00
b9ab0e46e2 Fix handling missing skins using ufbx importer
Previously, _asset_parse_skins() would mess with the order of skin indices.
However, the rest of the code expected these to match to ufbx skin indices.
To fix this, retain the original skin indices in FBXState::original_skin_indices.
2024-05-03 20:46:26 +03:00
095569011c Resolve bind poses from FBX clusters instead of FBX poses
Turns out that the information in FBX Pose objects is relatively often broken.
Using skin cluster bind poses seems more reliable, but cannot capture the bind pose of the root bone.
2024-04-25 21:13:50 +03:00
17d9c52ad9 Merge pull request #90894 from lyuma/animation_step_30
Set animation step from importers. Increase default step from 10 to 30FPS
2024-04-24 09:59:21 +02:00
33e977ee34 fbx: Avoid name conflict with humanoid "Root" bone
The importer forces name uniqueness, even for the root. "RootNode" is less likely to conflict.
2024-04-23 01:43:03 -07:00
bb9674c1b1 Set animation step from importers. Increase default step from 10 to 30 FPS. 2024-04-19 03:02:20 -07:00
d3706488d9 Fix FBX and glTF when root nodes are skeleton bones
Set p_scene_parent to the skeleton to guarantee BoneAttachment3D nodes are added as a child of the active skeleton.
Use get_owner() to go all the way up when calculating the root node in generate_scene
2024-04-17 22:10:05 -07:00
2a757e4897 Fix FBX texture path resolving 2024-04-13 20:28:12 +03:00
659597b290 Enable FBX albedo factor when textures are bound 2024-04-13 03:12:03 +03:00
5e52db5c93 Fix FBX orthographic camera size 2024-04-12 04:02:50 +03:00
d238b0ef57 Fix FBX emission_texture copy-paste issue 2024-04-12 03:52:57 +03:00
a998f0a482 Convert FBX material colors from linear to sRGB 2024-04-12 03:52:46 +03:00
8232759100 Fix method bindings in FBXDocument by making them virtual in GLTFDocument. 2024-03-15 12:47:02 -07:00
652ef966f9 Add new scene import option to import as Skeleton
Adds a bool import option `nodes/import_as_skeleton_bones`.
This is supported in all FBX or GLTF document based formats.
It is especially useful for retargeting and importing animations.
2024-02-26 03:06:07 -08:00
04d43947bf Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +01:00