1
0
Fork 0
Commit Graph

127 Commits

Author SHA1 Message Date
A Thousand Ships f11aff3841
Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Lukas Tenbrink e2931a5c19 Make conversions from `NodePath` to `String` explicit. 2025-06-11 16:50:27 +02:00
Aaron Franke a56b3a93d3
Implement naming version system for FBX and Blend importers like glTF 2025-06-10 09:42:54 -07:00
Aaron Franke 8350919575
GLTF: Make skeleton bone names unique per-skeleton instead of scene-wide 2025-06-10 02:44:56 -07:00
Thaddeus Crews 5538850d87
Core: Convert `Pair`/`KeyValue` to `constexpr` 2025-05-15 10:37:41 -05:00
lawnjelly f8f350a32a Add `GLOBAL_GET` cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
zodywoolsey a54301ef75 fix fbx runtime import not generating meshes properly
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: K. S. Ernest (iFire) Lee <fire@users.noreply.github.com>
Co-authored-by: Naming-things-is-hard-btw <ahmadmhamad12331233@gmail.com>
2025-04-27 10:55:46 -06:00
Thaddeus Crews 1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews f25fc34439
SCons: Add `CPPEXTPATH` for external includes 2025-04-02 07:29:08 -05:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
kobewi 75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
kobewi 7cb2fb189a Remove TOOLS_ENABLED checks from editor/ 2025-03-14 18:13:16 +01:00
David Snopek 393465ce92 Register editor classes normally, rather than via `ClassDB::set_current_api()` 2025-03-13 15:17:45 -05:00
Thaddeus Crews d7c9c3a5f6
Merge pull request #102538 from Chubercik/ufbx-0.16.0
ufbx: Update to 0.17.1
2025-03-10 21:05:50 -05:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
Jakub Marcowski 100001c807
ufbx: Update to 0.17.1 2025-03-02 11:37:32 +01:00
Rémi Verschelde 21fcb56547 Remove unused `EditorSceneFormatImporter::_get_import_flags`
This has never been used since Godot was open sourced.

Import flags are used but directly through `_import_scene`.
2025-01-14 16:57:06 +01:00
Yufeng Ying 34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Yufeng Ying 33817b186f Remove unused header in drivers and modules.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
Thaddeus Crews 2450dee1bc
Merge pull request #93401 from Repiteo/style/clang-tidy-fixes
Style: Apply `clang-tidy` fixes
2024-11-04 21:52:05 -06:00
Aaron Franke 834189a618
GLTF: Clean up animation code to make way for KHR_animation_pointer 2024-11-04 17:55:38 -08:00
Thaddeus Crews 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
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Rémi Verschelde 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
A Thousand Ships 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
Aaron Franke 9dd71c6414
ResourceImporterScene: Replace animation bool with an import type string enum 2024-08-27 14:58:18 -07:00
Saracen 7050e581ff Fix owner warning when importing FBX. 2024-08-26 14:51:49 +01:00
kobewi 065dd099dd Remove empty bind_methods() 2024-08-15 08:24:32 +02:00
Silc 'Tokage' Renew 0235086c14 Add validation to glTF importer for Blendshape and Animation 2024-07-26 18:05:34 +09:00
Hilderin 169e732518 Fix missing options in Project Import Defaults 2024-07-09 09:33:39 -04:00
Rémi Verschelde 7728839247
Rename FBX2glTF binary path setting back to 4.2 name
This preserves compatibility when upgrading Godot 4.2 projects which relied on that
path being configured in the editor settings.

The old name also makes sense for this one, it's fine for fbx2gltf_path to be under
a generic fbx category which could have more settings also impacting ufbx.
2024-05-30 23:42:11 +02:00
K. S. Ernest (iFire) Lee 24f56008ac Add bake_fps for FBXDocument, GLTFDocument and both import-export. 2024-05-23 09:09:36 -07:00
Lyuma c433754d34 fbx: change import option defaults
ufbx has special logic to handle animation/trimming, and most users expect trimming to be on.
For existing projects, we should upgrade files0 to FBX2glTF to preserve node compatibility.
2024-05-21 07:58:36 -07:00
Rémi Verschelde 82e77eab35
Merge pull request #91529 from bqqbarbhg/ufbx-warnings
FBX: Print ufbx load warnings on import
2024-05-07 13:48:56 +02:00
Rémi Verschelde 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
bqqbarbhg 5cd7ae198d Update ufbx to v0.14.0 2024-05-07 14:27:21 +03:00
bqqbarbhg 04db5cf063 Print ufbx load warnings on import 2024-05-07 12:43:48 +03:00
bqqbarbhg 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
bqqbarbhg 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
Rémi Verschelde 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
Lyuma 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
Lyuma bb9674c1b1 Set animation step from importers. Increase default step from 10 to 30 FPS. 2024-04-19 03:02:20 -07:00
Lyuma 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
bqqbarbhg 2a757e4897 Fix FBX texture path resolving 2024-04-13 20:28:12 +03:00
bqqbarbhg 659597b290 Enable FBX albedo factor when textures are bound 2024-04-13 03:12:03 +03:00
bqqbarbhg 5e52db5c93 Fix FBX orthographic camera size 2024-04-12 04:02:50 +03:00
bqqbarbhg d238b0ef57 Fix FBX emission_texture copy-paste issue 2024-04-12 03:52:57 +03:00
bqqbarbhg a998f0a482 Convert FBX material colors from linear to sRGB 2024-04-12 03:52:46 +03:00
Lyuma b0ce274a52 Apply "Remove Immutable Tracks" after post-import.
Reimplements "Remove Immutable" by comparing to the skeleton rest.
It is necessary to delay removing animation tracks until after the correct rest pose is calculated in rest-fixer.
Preserves the original implementation in the GLTFDocument / FBXDocument API for compatibility.
2024-03-30 23:45:22 -07:00
Lyuma 8232759100 Fix method bindings in FBXDocument by making them virtual in GLTFDocument. 2024-03-15 12:47:02 -07:00