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.