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