Commit Graph

63 Commits

Author SHA1 Message Date
94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
ddae331c79 Merge pull request #103853 from aaronfranke/gltf-fix-light-color-space
GLTF: Fix wrong color space for GLTFLight on export
2025-03-28 17:30:09 +01:00
5ad414d046 Allow to compile templates without physics servers 2025-03-28 11:00:44 -03:00
6249306c15 GLTF: Fix wrong color space for GLTFLight 2025-03-10 13:42:35 -07:00
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
01a26c5c8b GLTF: Don't write unused light properties 2025-01-13 14:33:42 -08:00
de87ca5084 GLTF: Fix bad pointer to ImporterMeshInstance3D root node at runtime 2024-12-15 18:05:57 -08:00
924732772b GLTF: Preserve node visibility on import 2024-11-05 19:06:08 -08:00
11576b89dd GLTF: Implement the glTF Object Model in physics extension 2024-11-04 17:55:39 -08:00
4b66a25f52 GLTF: Implement the glTF Object Model to support JSON pointer properties 2024-11-04 17:55:39 -08:00
cd367b3da3 GLTF: Prerequisite cleanups before KHR_animation_pointer
Add get_scene_node_path and has_additional_data to GLTFNode, remove center of mass ignore warning in physics (it's supported now), rename `d` to `mesh_dict` in mesh import code.
2024-11-04 17:55:39 -08:00
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
5972907612 GLTF: Add import_pre_generate and export_post_convert extension steps 2024-09-17 04:00:07 -07: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
263f089040 GLTF: Only create MeshInstance3D when needed 2024-08-27 04:23:20 -07:00
ec74e14943 Merge pull request #95603 from tetrapod00/gltf-capitalization-errors
Fix glTF capitalization in error messages
2024-08-16 14:36:33 +02:00
3b1345c26e Change capitalization of glTF in errors and comments. 2024-08-15 18:07:30 -07:00
065dd099dd Remove empty bind_methods() 2024-08-15 08:24:32 +02:00
e19f0042ca Retain meta data set on imported nodes
During the import process, many importer nodes are replaced with their
engine node counterparts. For example, ImporterMeshInstance3D is
replaced with a MeshInstance3D node. Any meta data set on these
importer nodes, i.e. through a GLTFDocumentExtension, are lost during
the conversion. This change copies over any meta data set on these
importer nodes to their engine counterparts.
2024-06-18 12:39:34 -05:00
cb01094ccd Merge pull request #88301 from aaronfranke/gltf-explicit-compound-triggers
Add support for explicitly-defined compound triggers in GLTF files
2024-04-26 11:08:19 +02:00
92b243dc3c Separate Shape3D resource logic in GLTFPhysicsShape 2024-04-04 16:22:01 -07:00
ade5a8d802 Add support for explicitly-defined compound triggers in GLTF files 2024-04-04 14:34:40 -07:00
3604b57ba3 GLTF: Extract converting hull points to mesh to a helper function 2024-03-15 15:22:48 -07:00
35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
c399424db9 Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06: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
f18c46d687 Fix exporting trigger shapes in GLTF 2024-02-11 04:37:54 -06:00
b00e5cef63 GLTF: Update OMI_physics_body, add OMI_physics_shape, keep OMI_collider 2024-01-19 14:35:49 -06:00
d36a34edb7 Misc changes to the GLTF module before audio PR 2024-01-11 20:33:51 -06:00
a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
dc14f02892 Merge pull request #81851 from aaronfranke/gltf-single-root
GLTF: Add root node export options and GODOT_single_root extension
2023-09-26 17:52:51 +02:00
446893fdd1 GLTF: Add GODOT_single_root extension 2023-09-26 10:18:52 -05:00
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
be53991b5a Merge pull request #80272 from aaronfranke/gltf-root-node-logic
GLTF: Improve logic for keeping track of the real root node
2023-09-16 21:21:40 +02:00
2723f781dd GLTF: Allow specifying export image format including from extensions 2023-09-14 17:33:48 -05:00
5b7001dccf GLTF: Improve logic for keeping track of the real root node 2023-09-03 03:35:29 -05:00
a00cf02241 Add support for KTX & KTX2 image format
Add support glTF KHR_texture_basisu extension
2023-08-19 10:27:29 +02:00
d12b0787af GLTF: Add center of mass property 2023-08-11 11:27:01 -05:00
1d42504b30 Merge pull request #79623 from aaronfranke/gltf-export-preserialize
Add `export_preserialize` to the GLTF export process
2023-08-03 18:33:49 +02:00
2d13a9651c GLTF: Preserve the original bytes when importing a texture 2023-08-03 10:30:33 -05:00
bc68fa368d More cosmetic improvements in the GLTF code 2023-08-03 02:05:41 -05:00
e8906b5b80 Add export_preserialize to the GLTF export process 2023-07-18 15:20:24 -05:00
a222bdf83f GLTF: Rename GLTFCollider class to GLTFPhysicsShape 2023-06-16 15:18:24 -05:00
25b2f1780a Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
6dde6b4cdf GLTF: Expose the inertia tensor instead of a vector 2023-06-06 21:06:49 -05:00
a98be434b7 Fix center of mass when importing GLTF physics bodies 2023-05-29 00:09:15 -05:00
7da93a0bc0 Add support for extending GLTF with more texture formats & support WebP 2023-05-22 16:30:20 -05:00
639b8e7dc7 Implement physics support in the GLTF module 2023-03-09 20:02:05 -06:00
5e0641ea9a Fix glTF mesh importer not freeing nodes correctly on import 2023-02-27 02:44:23 +00:00
9e9eac4676 Use enum instead of int in virtual methods return type 2023-01-31 19:06:49 +01:00