Method

This node is used for skeletal deformation of 3D Objects. Bones/skeletons apply transformations to vertices in a 3D object. Transforms are applied hierarchically and different bones in the skeleton may affect vertices by different amounts, which allows for complex structures such as humanoids to be animated.

Skeleton / bone rigs are typically authored in other 3D packages and imported into Notch as part of an Imported 3D Scene such as an FBX or Lightwave LWS file, whereby Bone nodes are automatically generated as child nodes of the Imported 3D Scene node for each bone in the 3D scene. However Bone nodes may also be created manually. Bones must be parented directly or indirectly to a 3D Object node, and only affect the 3D Object node(s) they are parented to.

Each bone defines a Rest Pose transform. The Rest Pose is the transform of the bone in the initial default pose. This pose is usually based on the 3D object the bones are attached to – e.g. humanoid characters are typically initialised in a T pose. In the rest pose, no deformation takes place.

A bone generates a weighting per vertex which decides how much its transform is applied to that vertex. Bones are typically linked to Weight Maps – also known as Skin Weight Sets in some 3D packages. A weight map stores a value between 0 and 1 for each vertex in a 3D object which defines how much the bone should influence that vertex, and must be pre-authored in the 3D package and exported with the 3D object. The Weightmap to use for the bone is defined by the Weightmap Name property and is matched by name. Bones may also generate their weighting per vertex using a calculation based on the distance from the bone in its rest position to the vertex.

Transform

Name Description
Position X Move its position along the x-axis in local space.
Position Y Move its position along the y-axis in local space.
Position Z Move its position along the z-axis in local space.
Rotation Heading Rotate the object about the x-axis.
Rotation Pitch Rotate the object about the y-axis.
Rotation Bank Rotate the object about the z-axis.
Scale X Scale along the x-axis.
Scale Y Scale along the y-axis.
Scale Z Scale along the z-axis.

Inherit Transform Channels

Toggle which transform channels should be inherited. By default, all are on.

Attributes

Name Description
Active Control whether the bone is active or not.
Weightmap Name Name of the skin weight map on the parent 3D object that is used to weight the effect of the bone’s deformation.
Weightmap Only When checked, the weight map weight will be used directly; when unchecked it will be multiplied with the calculated falloff weight.
Bone Strength Scales the falloff weight.
Rest Position X The X component of the initial / rest position of the bone.
Rest Position Y The Y component of the initial / rest position of the bone.
Rest Position Z The Z component of the initial / rest position of the bone.
Rest Heading The heading component of the initial / rest rotation of the bone.
Rest Pitch The pitch component of the initial / rest rotation of the bone.
Rest Bank The bank component of the initial / rest rotation of the bone.
Rest Length The length of the bone in its rest pose.

Limits

Name Description
Heading Limits Limit on the rotation heading when used as part of an IK rig.
Pitch Limits Limit on the rotation pitch when used as part of an IK rig.
Bank Limits Limit on the rotation bank when used as part of an IK rig.

Inputs

Name Description Typical Node Input
World Rotation Center Use another nodes rotation to control the bones rotation in place. Null
Transform Modifier Links all transform properties to the input node. Null
Target Node Always faces the x-axis towards the inputs anchor point. Null
Local Transform Override Override the transformation values of the node, relative to its parent. Null

Outputs

The outputs section for this node is currently being worked on.

Notes