Introduces the "skeletal" instance subtype.
"skeletal" instance Parameters:
| Name |
Type |
Description |
| group |
GROUP |
Group to be instanced, required |
| bone.transform |
ARRAY1D of FLOAT32_MAT4 |
Array of transforms, required |
| id |
UINT32 |
Object id |
Geometries with a vertex.position array parameter additionally have
the following parameters
Geometry Parameters:
| Name |
Type |
Description |
| vertex.boneWeight |
ARRAY1D of FLOAT32_VEC4 |
bone weight |
| vertex.boneIndex |
ARRAY1D of UINT32_VEC4 |
bone index |
If the geometry is instanced by a non-skeletal instance subtype
these parameters are not used.
If the geometry is instanced by a skeletal instance subtype the
the transform is calculated per vertex as:
transform = boneWeight.x*bone.transform[boneIndex.x]
+ boneWeight.y*bone.transform[boneIndex.y]
+ boneWeight.z*bone.transform[boneIndex.z]
+ boneWeight.w*bone.transform[boneIndex.w]
If a geometry without these parameters is instanced by a skeletal
instance subtype vertex.boneWeight and vertex.boneIndex are
treated as if they were (0, 0, 0, 1) and will therefore use
bone.transform[0] per above formula.