Commit Graph

457 Commits

Author SHA1 Message Date
Rémi Verschelde 3b891f5a8a
Merge pull request #94004 from Hilderin/fix-blender-export-quotation-mark
Fix .blend files with quotation marks in filename fail to import
2024-07-08 11:48:23 +02:00
Hilderin d244d6f4fe Fix .blend files with quotation marks in filename fail to import 2024-07-07 18:12:45 -04:00
Rémi Verschelde 080b975c09
Merge pull request #93998 from demolke/blender42
Update vertex color import to handle Blender 4.2 upwards
2024-07-07 12:38:47 +02:00
demolke 7864abbeec Update vertex color import to handle Blender 4.2 upwards
Blender commit 0f0a8df8a9 which is landing in 4.2 deprecated `vertex_colors` GLTF property, use `export_vertex_color` instead.
2024-07-06 14:22:09 +02:00
Aaron Franke 923a8eb5d3
Move GLTFAccessorType into GLTFAccessor 2024-07-04 15:46:48 -07:00
Gurvan e7f34aace3 Use Hermite instead of Bezier for glTF spline interpolation 2024-06-29 14:36:49 +02:00
Rémi Verschelde 558054f707
Merge pull request #92640 from AThousandShips/text_value_changed_sname
[Scene] Add `SceneStringNames::text/value_changed`
2024-06-19 10:10:00 +02:00
Rémi Verschelde 0cc321b144
Merge pull request #92639 from AThousandShips/confirmed_sname
[Scene] Add `SceneStringNames::confirmed`
2024-06-19 10:09:56 +02:00
A Thousand Ships fbb879debd
[Scene] Add `SceneStringNames::text/value_changed` 2024-06-19 09:44:38 +02:00
A Thousand Ships ca18a06ecb
[Scene] Add `SceneStringNames::confirmed` 2024-06-19 09:40:54 +02:00
tamas 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
A Thousand Ships d519715d94
[Scene] Add `SceneStringNames::font(_size/_color)` 2024-06-18 17:24:27 +02:00
jsjtxietian e09443509a Unsetting the owner of `ImporterMeshInstance3D` before adding it to skeleton's child 2024-06-13 12:45:55 +08:00
Rémi Verschelde bc7a7a479e
Merge pull request #73941 from Jummit/active-collection
Blend import: Allow importing `active_collection_only`
2024-06-03 10:35:34 +02:00
Jummit c182adcd48 Blend import: Ability to import only the active collection 2024-05-31 18:37:14 +02:00
K. S. Ernest (iFire) Lee 5a24aec599 Fix GLTFDocument so it can export CSG Meshes correctly. 2024-05-29 07:10:45 -07:00
Aaron Franke d3a58e57b8
Rename accessor GLTFType to GLTFAccessorType, fix verbose prints, doc 2024-05-24 03:21:13 -07: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 ef486db569 Support Import As Skeleton Bones on glTF and AnimationLibrary import 2024-05-21 03:19:35 -07:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
David Nikdel 522f035cb1 GLTF export improvements
- GLBs produced by godot don't pass validation when there's no data in the buffer segment. The segment is dropped but the size of the chunk_header is still reported in total length (incorrectly)

- Remove empty "extensions" JSON object being appended to all nodes (if it's still empty). This is just cutting down on unnecessary bloat and consistent with the rest of the file's attempts to not emit any keys that are equal to their default value.

- Allow the case where root_nodes is empty. This is permitted by the GLTF spec. Moreover it can happen fairly naturally when using the ROOT_NODE_MODE_MULTI_ROOT root node mode on a scene with only a root node (which is valid in godot).

- Don't create an initial buffer until we're ready to write data into it (buffers of byteLength=0 don't pass validation).
2024-05-11 21:42:05 -04:00
Rémi Verschelde a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships b4c6cc7d82
[Core] Add case-insensitive `String::containsn` 2024-05-08 12:48:01 +02:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Aaron Franke 1bcbbe96c4
Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
Rémi Verschelde 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
Rémi Verschelde f859400c6b
Merge pull request #91078 from aaronp64/import_skip_crash
Fix errors/crashes related to skipped imports
2024-04-25 17:12:38 +02:00
aaronp64 e63d0983d0 Fix errors/crashes related to skipped imports
- Added check for "animation/fps" key before attempting to use it in EditorSceneFormatImporterBlend::import_scene, to give error instead of crashing

- Don't show "Advanced..." button if last import used "Keep File" or "Skip File"

- Don't try to call ResourceLoader::load on kept/skipped file when changing importer, which would give an error

Fixes #90324
2024-04-25 10:33:59 -04: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
Rémi Verschelde 42ab525aa2
Merge pull request #86144 from jsjtxietian/disable-mesh-compression-for-2d
Disable mesh compression if vertex `position.z` is always 0
2024-04-12 11:16:33 +02:00
aaronp64 b56934ce19 Fix GLTFDocument.append_from_scene() crash on null node
Added null check for p_node parameter to give error instead of crash

Fixes #90502
2024-04-10 17:05:54 -04:00
jsjtxietian 077e20cd51 Disable mesh compression if vertex position.z is always 0 2024-04-10 11:27:36 +08:00
Rémi Verschelde cedf4ad011
Merge pull request #90230 from aaronfranke/gltf-sep-shape3d-res
Separate Shape3D resource logic in GLTFPhysicsShape
2024-04-08 11:21:02 +02:00
Aaron Franke 92b243dc3c
Separate Shape3D resource logic in GLTFPhysicsShape 2024-04-04 16:22:01 -07:00
Aaron Franke ade5a8d802
Add support for explicitly-defined compound triggers in GLTF files 2024-04-04 14:34:40 -07:00
Aaron Franke a9416da6ea
GLTF export: Propagate `property_list_changed` from extensions 2024-04-04 14:06:09 -07: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
Rémi Verschelde d121873d01
Merge pull request #89542 from aaronfranke/convert-hull-to-mesh-func
GLTF: Extract converting hull points to mesh to a helper function
2024-03-24 01:17:15 +01:00
Aaron Franke 3604b57ba3
GLTF: Extract converting hull points to mesh to a helper function 2024-03-15 15:22:48 -07:00
Lyuma 8232759100 Fix method bindings in FBXDocument by making them virtual in GLTFDocument. 2024-03-15 12:47:02 -07:00
Rémi Verschelde 21b33c5ea4
Merge pull request #89418 from lyuma/gltf_vertex_packing
Only store vertices referenced by the indices per surface in the glTF importer
2024-03-14 22:34:52 +01:00
Rémi Verschelde 37b08a3724
Merge pull request #89356 from lyuma/vsk-gltf-sparse-accessors-4.3
GLTF export: Use sparse accessors for morph targets
2024-03-14 22:34:47 +01:00
Rémi Verschelde 453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Lyuma 77f6e35a8d glTF importer now only stores vertices referenced by the indices per surface. 2024-03-13 18:34:55 -07:00
A Thousand Ships 24c9d442e9
[Doc] Fix some incorrect uses of `a/an` 2024-03-13 21:20:28 +01:00
Adam Scott 44d3ce2c11
Add browse folder and browse file icons 2024-03-12 09:57:59 -04:00
Lyuma db2c9571bb glTF export: morph targets are relative, so use zero as reference 2024-03-12 02:39:15 -07:00
K. S. Ernest (iFire) Lee 1e63a2a132 Update buffer view target handling, encode sparse accessors as vec3.
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2024-03-12 02:39:00 -07:00