- The
Skeleton3D node contains a list of bones with names, their pose and rest, a name and a parent bone.
- The mesh is all of the raw vertex data needed to display a mesh. In terms of the mesh, it knows how vertices are weight-painted and uses some internal numbering often imported from 3D modeling software.
- The skin contains the information necessary to bind this mesh onto this Skeleton3D. For every one of the internal bone IDs chosen by the 3D modeling software, it contains two things. Firstly, a matrix known as the Bind Pose Matrix, Inverse Bind Matrix, or IBM for short. Secondly, the
Skin contains each bone's name (if [member skins/use_named_skins] is
true), or the bone's index within the
Skeleton3D list (if [member skins/use_named_skins] is
false).
Together, this information is enough to tell Godot how to use the bone poses in the
Skeleton3D node to render the mesh from each
MeshInstance3D. Note that each
MeshInstance3D may share binds, as is common in models exported from Blender, or each
MeshInstance3D may use a separate
Skin object, as is common in models exported from other tools such as Maya.