Object CHOP

From TouchDesigner 099 Wiki

Summary

The Object CHOP compares two objects and outputs channels containing their raw or relative positions and orientations. The information that can be output is:

  • Position of one object relative to another
  • Rotation of one object relative to another
  • Bearing of one object relative to another
  • Single Bearing Angle between two objects
  • Distance between the origin of two objects
  • Inverse Square of the Distance between two objects

The optional two inputs allow you to compare X,Y,Z points in world space with objects or each other. The inputs are expected to have three channels containing XYZ points. These inputs replace the target and/or reference objects. Object and points can be compared with each other, but "Rotation" mode will always return zero.

See also the Geometry CHOP and the Fetch CHOP. They retrieve other information from objects and SOPs.

PythonIcon.png objectCHOP_Class

Parameters - Object Page

The default simply gives you one object's position relative to another. You get the XYZ of the origin of the Target Object relative to the origin and rotation of the Reference Object. That is, you get the XYZ of the target object's origin as if you were at the 0,0,0 location (origin) of the Reference Object, looking down the Reference Object's Z-axis.

DAT Table -

Target Object - The object that is being compared to the position of the reference object. The Target Object can be expressed as a text string. This can be useful when the object name needs to be a variable - it allows you to type in a name which may include expressions or variables.

Reference Object - The object that acts as the origin of the comparison. The Reference Object can be expressed as a text string.

Compute - The information to output from the objects, as described below:

  • Position - The displacement from the reference object to the target object.
  • Rotation - The orientation difference from the reference object to the target object.
  • Scale - The scale difference from reference object to the target object.
  • Transform - The translation from reference object to the target object.
  • Bearing - The rotation necessary for the reference object to be facing the target object.
  • Single Bearing Angle - An angle representing where the target object is relative to the reference object. Zero degrees is directly in front, 90 degrees is beside and 180 degrees is behind.
  • Distance - The distance between the two objects.
  • Inverse Square Distance - The inverse squared distance between the two objects, useful for modeling electric forces, audio dropoff and gravity.

Transform Order - The transform order to use for Rotation, Scale, Transform, Bearing, or Single Bearing Angle Compute modes.

Rotate Order - The rotation order to use for Rotation, Scale, Transform, Bearing, or Single Bearing Angle Compute modes.

Bearing Reference - Bearing requires a direction to use as a reference base.

Bearing Vector - An arbitrary base direction for the bearing calculation.

Point Scope (XYZ) - When one of the optional point inputs is connected, this determines which channels represent X, Y and Z.

Append Attributes - Adds a rotate attribute to any rotation channels the Object CHOP creates.

Smooth Rotation - When on outputs a smooth rotation curve without graphical jumps at 0, 90, etc.

Parameters - Channel Page

Channel Names - Sets how the created channels are named.

  • Channel Name - Automatically names channels. For example: tx, ty, tz.
  • Target and Channel Names - Names channels with target prefix. For example: if target = obj1, then obj1:tx, obj1:ty, obj1:tz.
  • Reference and Channel Names - Names channels with reference parameter prefix. Behaves like Target and Channel Names above but uses the name of the reference object.

Output Range - The start and end time of the desired interval of the object path.

  • Current Frame - Output a single sample at the current frame.
  • Current Time Slice - Span of samples covering the current Time Slice.
  • Start / End - Uses range defined by the Start / End parameters below.

Start / End - The start and end time of the desired interval of the object path.

A default value of $T is set for Start / End to make it output the object's channels for only the current frame.

Extend Left - The extend condition before the CHOP interval. They are:

  • Hold - Hold the first or last value.
  • Slope - Continue the slope before the start, or after the end of the channel.
  • Cycle - Cycle the channel repeatedly.
  • Mirror - Cycle the channel repeatedly, mirroring every other cycle.
  • Default Value - Use the constant value specified in the Default Value parameter.

Extend Right - Extend condition after the interval. Same options as Extend Left.

Default Value - The value used for the Default Value extend condition.

Note: When creating rotation channels, the Transform CHOP and Object CHOP will select values which minimize frame-to-frame discontinuity. The graphs will appear continuous and free of 180 degree shifts.

Standard Options and Local Variables


There are no local variables.