Handle COMP

From Derivative
Jump to navigation Jump to search


The Handle Component is a new IK tool designed for manipulating groups of bones. Whereas the previous IK tools only allowed for a single end-affector per bone chain, this new method allows for several end-affectors per bone. Furthermore, the bones need not be a chain. Any setup, including branches, are handled.

One typical example is the use of motion capture data. In higher-end systems, you could have a cloud of marker positions and a skeleton to be driven by it.

This Handle Component works in tandem with the Handle CHOP. The following setup is commonly used: Given a hierarchy of bones, attach one or more Handle Components to specific locations on each Bone Component. Assign each handle a target in space to follow. Create a Handle CHOP which collects this information and calculates the rotation channels for the bones. Export these values back to the bones.


Parameters - Handle Page

Target target - Where the Handle will pull the bone towards (like an end-affector).

Translate t - - Displacement tx,ty,tz relative to the origin of the bone where the handle is anchored.

  • X tx -
  • Y ty -
  • Z tz -

Weight weight - When multiple handles are attached to a bone, higher weighted handles draw closer to their target.

Twist Only twistonly - When enabled the handle only contributes the the z rotation of the bone, when disabled it points the bone (rx, ry, and rz).

Falloff falloff - This value affects how much parent bones are affected when the child bone is reaching a target. It affects the flexibility of the chain.

Rotation Limits X dorxlimit - These affects how much the bone is allowed to rotate with respect to its parent.

Limit X lrx - - Set the minimum and maximum rotation range in X axis.

  • lrxmin -
  • lrxmax -

Rotation Limits Y dorylimit - These affects how much the bone is allowed to rotate with respect to its parent.

Limit Y lry - - Set the minimum and maximum rotation range in Y axis.

  • lrymin -
  • lrymax -

Rotation Limits Z dorzlimit - These affects how much the bone is allowed to rotate with respect to its parent.

Limit Z lrz - - Set the minimum and maximum rotation range in Z axis.

  • lrzmin -
  • lrzmax -

Parameters - Render Page

The Display parameter page controls the component's material and rendering settings.

Material material - Selects a MAT to apply to the geometry inside.

Render render - Whether the Component's geometry is visible in the Render TOP. This parameter works in conjunction (logical AND) with the Component's Render Flag.

Draw Priority drawpriority - Determines the order in which the Components are drawn. Smaller values get drawn after (on top of) larger values.

Pick Priority pickpriority - When using a Render Pick CHOP or a Render Pick DAT, there is an option to have a 'Search Area'. If multiple objects are found within the search area, the pick priority can be used to select one object over another. A higher value will get picked over a lower value. This does not affect draw order, or objects that are drawn over each other on the same pixel. Only one will be visible for a pick per pixel.

Wireframe Color wcolor - - Use the R, G, and B fields to set the Component's color when displayed in wireframe shading mode.

  • Red wcolorr -
  • Green wcolorg -
  • Blue wcolorb -

Light Mask lightmask - By default all lights used in the Render TOP will affect geometry renderer. This parameter can be used to specify a sub-set of lights to be used for this particular geometry. The lights must be listed in the Render TOP as well as this parameter to be used.

Parameters - Extensions Page

The Extensions parameter page sets the component's python extensions. Please see extensions for more information.

Re-Init Extensions reinitextensions - Recompile all extension objects. Normally extension objects are compiled only when they are referenced and their definitions have changed.

Extension Object 1 extension1 - A number of class instances that can be attached to the component.

Extension Name 1 extname1 - Optional name to search by, instead of the instance class name.

Promote Extension 1 promoteextension1 - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction

Info CHOP Channels

Extra Information for the Handle COMP can be accessed via an Info CHOP.

Common COMP Info Channels

  • num_children - Number of children in this component.

Common Operator Info Channels

  • total_cooks - Number of times the operator has cooked since the process started.
  • cook_time - Duration of the last cook in milliseconds.
  • cook_frame - Frame number when this operator was last cooked relative to the component timeline.
  • cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
  • cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
  • cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
  • cooked_this_frame - 1 if operator was cooked this frame.
  • warnings - Number of warnings in this operator if any.
  • errors - Number of errors in this operator if any.

TouchDesigner Build:

Actor • Ambient Light • Animation • Annotate • Base • Blend • Bone • Bullet Solver • Button • Camera Blend • Camera • MediaWiki:Common.js • Component • Constraint • Container • Engine • Environment Light • FBX • Field • Force • Geo Text • Geometry • Handle • Impulse Force • Light • List • Nvidia Flex Solver • Nvidia Flow Emitter • OP Viewer • Parameter • Replicator • Select • Shared Mem In • Shared Mem Out • Slider • Table • Text • Time • USD • Widget • Window