Transform Matrices

Unless otherwise specified, all transformation matrices used in HumanIK are in global space, and consist of a 3x3 rotation and scaling matrix followed by a translation matrix.

Thes values in the matrix are expressed in an array of 16 numbers, with the following significance:

array index

description

0

The magnitude of the normalized orientation of the local Right axis along the global X axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Right (X) axis of the orientation vector (orthogonally to the right of the facing direction), and
  • the direction of the global X axis,

multiplied by the scale along the local Right (X) axis.

1

The magnitude of the normalized orientation of the local Right axis along the global Y axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Right (X) axis of the orientation vector (orthogonally to the right of the facing direction), and
  • the direction of the global Y axis,

multiplied by the scale along the local Right (X) axis.

2

The magnitude of the normalized orientation of the local Right axis along the global Z axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Right (X) axis of the orientation vector (orthogonally to the right of the facing direction), and
  • the direction of the global Z axis,

multiplied by the scale along the local Right (X) axis.

3

0.0

4

The magnitude of the normalized orientation of the local Up axis along the global X axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Up (Y) axis of the orientation vector (orthogonally up from the facing direction), and
  • the direction of the global X axis,

multiplied by the scale along the local Up (Y) axis.

5

The magnitude of the normalized orientation of the local Up axis along the global Y axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Up (Y) axis of the orientation vector (orthogonally up from the facing direction), and
  • the direction of the global Y axis,

multiplied by the scale along the local Up (Y) axis.

6

The magnitude of the normalized orientation of the local Up axis along the global Z axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Up (Y) axis of the orientation vector (orthogonally up from the facing direction), and
  • the direction of the global Z axis,

multiplied by the scale along the local Up (Y) axis.

7

0.0

8

The magnitude of the normalized orientation of the local Front axis along the global X axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Front (Z) axis of the orientation vector (its facing direction), and
  • the direction of the global X axis,

multiplied by the scale along the local Front (Z) axis.

9

The magnitude of the normalized orientation of the local Front axis along the global Y axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Front (Z) axis of the orientation vector (its facing direction), and
  • the direction of the global Y axis,

multiplied by the scale along the local Front (Z) axis.

10

The magnitude of the normalized orientation of the local Front axis along the global Z axis.

This is equivalent to the cosine of the angle between:

  • The direction of the local Front (Z) axis of the orientation vector (its facing direction), and
  • the direction of the global Z axis,

multiplied by the scale along the local Front (Z) axis.

11

0.0

12

Translation along the X axis.

13

Translation along the Y axis.

14

Translation along the Z axis.

15

1.0

For information on the axis conventions and units used by HumanIK to represent global space, see also Coordinates and Units.