From TouchDesigner 088 Wiki


The Arm SOP creates all the necessary geometry for an arm, and provides a smooth, untwisted skin that connects the arm to the body. It is controlled through inverse kinematics linked to a handprint.

PythonIcon.png armSOP_Class

Parameters - Arm Page

Capture Type - You can use either Ellipses or Capture Regions as deformation geometry. Ellipses are for use with the Skeleton SOP. Capture Regions are for use with the Capture SOP.

Arm Axis - Position the model along the +X or -X axis.

Radius /bonerad - Controls the scale of the circle radii.

Rotate Hand /rotatehand - This parameter rotates the hand and the wrist joint to match the orientation of the hand-print object. In order to operate correctly, the end-affector (hand print) scale transformations must remain at 1.

Note: If the channel is set to 0, then the hand rotations are relative to the forearm. If the channel is set to 1, the hand rotations are the same orientation as the end affector.

Auto Elbow Twist /autoelbow - This parameter affects the default twist of the elbow joint to a more natural position.

Elbow Twist /elbowtwist - Specifies the rotation angle of the elbow joint.

Flip Elbow - This toggle positions the arm using an alternative elbow position solution.

Parameters - Lengths Page


Arm Lengths - The following parameters control bone lengths, as illustrated above.

  • Clavicle /clavlength
  • Humerus /humlength
  • Ulna /ulnalength
  • Hand /handlength

Joint Lengths - These parameters control the joint lengths, as illustrated above:

  • Shoulder Joint /shoulder
  • Elbow Joint /elbow
  • Wrist Joint /wrist

Parameters - Transforms Page

When the arm is positioned to reach the end affector (hand print), the shoulder, elbow and wrist joints may produce unnatural looking bends. The transform fields allow manual adjustment of each controlling circle of each joint to fix this.

Each joint circle (e.g. Shoulder 1) is given three transform fields (two translates and one scale). These values are scaled by the amount of bend applied to the particular joint. In other words, when the arm is fully extended, the transforms have no effect. When the arm joint angles are at 90, they have maximum effect. Thus, set the joints to 90 before adjusting these values.

Parameters - End Affector Page

Affector Object - Allows the end affector to be another object, or simply defined by a default box, which is controlled by the transformations below.

Translate / Rotate / Scale /tx-y-z /rx-y-z /sx-y-z - These values apply a transformation on the end affector (handprint) to reorient and reposition it. For a full explanation of transforms, see the Transform SOP.

Uses / Works in Relation With

The arm can be used as input geometry to the Skeleton SOP, or it to create actual arm geometry. To create usable geometry, append a Convert SOP and a Skin SOP to the arm.

Tip - If you are used to working with polygon circles in action, and still desire this type of functionality, you can convert them to primitive circles (necessary for the Skeleton, Arm, and Limb SOPs) using the Convert SOP.

See Also