virtualx-engine/modules/gltf
Lyuma 03bd1da32b Avoid nested skeletons, and handle skinned meshes with children.
Recursively adds child nodes into each skeleton. This should prevent nested skeletons and avoid bone attachments for leaf bones.

In cases where a skinned mesh has children, creates two scene nodes with the same name, which both will represent this single gltf node.
Because blend shape animations must target the mesh, adds a separate mapping for ImporterMeshInstance3D node references.

This change will break existing imported scenes with bone attachments and more than one skeleton.

Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2023-01-26 22:41:58 -08:00
..
doc_classes Improve the documentation of GLTFDocument's append methods 2023-01-15 14:27:08 -06:00
editor One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
extensions One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
structures One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
config.py GLTF imports & exports material texture filters 2022-10-03 16:20:08 -04:00
gltf_defines.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
gltf_document.cpp Avoid nested skeletons, and handle skinned meshes with children. 2023-01-26 22:41:58 -08:00
gltf_document.h Avoid nested skeletons, and handle skinned meshes with children. 2023-01-26 22:41:58 -08:00
gltf_state.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
gltf_state.h Avoid nested skeletons, and handle skinned meshes with children. 2023-01-26 22:41:58 -08:00
gltf_template_convert.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
README.md GLTF: Organize structures into a subfolder 2022-07-24 17:16:51 -05:00
register_types.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
register_types.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
SCsub SCons: Unify tools/target build type configuration 2022-09-26 16:31:46 +02:00

Godot GLTF import and export module

In a nutshell, the GLTF module works like this:

  • The structures/ folder contains GLTF structures, the small pieces that make up a GLTF file, represented as C++ classes.
  • The extensions/ folder contains GLTF extensions, which are optional features that build on top of the base GLTF spec.
  • GLTFState holds collections of structures and extensions.
  • GLTFDocument operates on GLTFState and its elements.
  • The editor/ folder uses GLTFDocument to import and export 3D models.