- Qt 6.11
- Qt Quick 3D
- QML Types
- Skin
- Qt Quick 3D | Commercial or GPLv3

# Skin QML Type

Defines a skinning animation. More...

Import Statement: | `import QtQuick3D`
Inherits: | Object3D

- List of all members, including inherited members

## Properties

- inverseBindPoses : List<matrix4x4>
- joints : List<QtQuick3D::Node>

## Detailed Description

A skin defines how a model can be animated using skeletal animation. It contains a list of Nodes and an optional list of the Inverse Bind Pose Matrices. Each Node's transform becomes a transform of the bone with the corresponding index in the list.

     Skin {
         id: skin0
         joints: [
             node0,
             node1,
             node2
         ]
         inverseBindPoses: [
             Qt.matrix4x4(...),
             Qt.matrix4x4(...),
             Qt.matrix4x4(...)
         ]
     }

Note: Skeleton and Joint will be deprecated.

## Property Documentation

### inverseBindPoses : List<matrix4x4>

This property contains a list of Inverse Bind Pose matrixes used for the skinning animation. Each inverseBindPose matrix means the inverse of the global transform of the corresponding node in Skin::joints, used initially.

Note: This property is an optional property. That is, if some or all of the matrices are not set, identity values will be used.

### joints : List<QtQuick3D::Node>

This property contains a list of nodes used for a hierarchy of joints. The order in the list becomes the index of the joint, which is used in the `SkinSemantic` custom geometry attribute.

Note: A value 'undefined' will be ignored and if a node which doesn't exist is described, the result is unpredictable.

See also QQuick3DGeometry::addAttribute and Qt Quick 3D - Simple Skinning Example.