You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Godot version:
4.0.dev 45d3b96
3.3.2-stable and below
OS/device including version:
Windows 10.0.19041.985
Issue description:
This is kind of an oddball case in glTF, but the spec does not forbid a node with mesh, lights or cameras from being used in a skeleton and possibly having itself as a bone in that same skeleton, or being a bone in another skeleton.
I ran into a real world case where a glTF 2.0 model created from UniGLTF exhibited this issue.
Additionally, there appear to exist cases in which a valid glTF file causes Godot to generate two skeletons parented to each other, which occurs in these files. As the Skeletons are arbitrary, this is arguably a separate Godot bug, but it's hard to analyze the DisjointSet code. It is easier to just permit two nested skeletons.
The bugs here in 3.x currently lead to crashes in constructing animation tracks if these nodes are animated, because the nodes were not all generated:
Here are some of the errors that the attached project runs into:
ERROR: glTF: Generating scene detected direct parented Skeletons
at: (modules\gltf\gltf_document.cpp:5441)
ERROR: Unable to cast node 13 of type Skeleton3D to EditorSceneImporterMeshNode3D
at: (modules\gltf\gltf_document.cpp:5987)
ERROR: Unable to find node 32
at: (modules\gltf\gltf_document.cpp:5984)
ERROR: Node::get_path_to: Condition "!common_parent" is true. Returned: NodePath()
At: scene\main\node.cpp:1612
I have a patch prepared for master in PR #48915 (and 3.x backport pending)
Expected output, after applying the 3.x patch (these models are validated and the expected output can be confirmed with Three.js, Windows and Blender):
godot_gltf_expected_output.mp4
Steps to reproduce:
Open the project
The animations should automatically play
Due to another issue related to animations, Godot 3.x crashes. However, if the offending glb files are removed, it will be missing meshes and have errors.
Godot version:
4.0.dev 45d3b96
3.3.2-stable and below
OS/device including version:
Windows 10.0.19041.985
Issue description:
This is kind of an oddball case in glTF, but the spec does not forbid a node with mesh, lights or cameras from being used in a skeleton and possibly having itself as a bone in that same skeleton, or being a bone in another skeleton.
I ran into a real world case where a glTF 2.0 model created from UniGLTF exhibited this issue.
Additionally, there appear to exist cases in which a valid glTF file causes Godot to generate two skeletons parented to each other, which occurs in these files. As the Skeletons are arbitrary, this is arguably a separate Godot bug, but it's hard to analyze the DisjointSet code. It is easier to just permit two nested skeletons.
The bugs here in 3.x currently lead to crashes in constructing animation tracks if these nodes are animated, because the nodes were not all generated:
Here are some of the errors that the attached project runs into:
I have a patch prepared for master in PR #48915 (and 3.x backport pending)
Expected output, after applying the 3.x patch (these models are validated and the expected output can be confirmed with Three.js, Windows and Blender):
godot_gltf_expected_output.mp4
Steps to reproduce:
Minimal reproduction project:
gltf_test_v3x.zip
gltf_test_vmaster.zip
The text was updated successfully, but these errors were encountered: