Skip to content

TfmLookAt

The LookAt transformation takes two transformation nodes: One where to look-from, and one where to look-at.

TfmLookAt Node

Dynamic Orientation Between Two Points

TfmLookAt creates a transformation that automatically orients to face from one point toward another. This is useful for billboards that always face the camera, spotlights that track targets, or any object that needs to maintain orientation toward a moving reference point.

Reference

The following properties can be configured for this node:

Property Type Description
look from - from where to look
look at - where to look at
orientation - axis orientation
direction - look from look-from to look-at or from look-at to look-from
transformation pass - select transfromation pass
Inlet Type Description
properties properties properties | use message [set <propertyPath> <value(s)>] (without node/<nodeName> at the beginning) to set internal properties
send message send direct message to anim object: 'bang' for forced transformation bang. OR 'getlist' <get...> items for dump out current values (needs a bang). Possible <get...> items: getposition, getquat, getscale, getworldpos, getworldquat, getworldscale, gettransform, getinvtransform, getworldtransform
Outlet Type Description
dump message dump of 'anim' , output of the requested <get...> values and transformation bang from the above inlet. also outputs 'markerlist' if markers are received.

Basic Setup

Creating a Look-At Transformation

To make an object always face a target:

  1. Create two TfmNode nodes: one for the source position, one for the target
  2. Create a TfmLookAt node
  3. Set look from to reference the source TfmNode
  4. Set look at to reference the target TfmNode
  5. Use TfmLookAt as the parent for any object that should face the target

The orientation will automatically update as either node moves.

Configuration Options

Direction and Orientation

Property Description
direction Controls which way the look-at vector points: from source→target or target→source
orientation Sets which local axis aligns with the look-at direction (e.g., Z-forward, Y-up)

Adjust these settings to match your object's natural orientation and desired facing direction.

Transformation Pass

Execution Order

TfmLookAt produces a transformation matrix that is detached from the its own transformation hierarchy. If other transformations depend on TfmLookAt's result, they must execute in a later transformation pass.

Use Cases

Common Applications

  • Billboard effects: Objects that always face the camera
  • Spotlight tracking: Lights that follow moving targets
  • Turret/gimbal systems: Objects that aim at targets
  • Camera constraints: Cameras that track subjects
  • Connecting motion capture points: Orient based on tracked marker positions

Querying Transformation Data

Getting Transform Values

Send messages to the send inlet to query current transformation:

Message Returns
getposition Local position x y z
getquat Rotation as quaternion
getscale Local scale x y z
getworldpos World position
getworldquat World rotation as quaternion
getworldscale World scale
gettransform Full transformation matrix
getinvtransform Inverse transformation matrix
getworldtransform Full world transformation matrix

Send bang after the getlist message to output values via the dump outlet.


TfmLookAt vs LookAtCamera

Choosing the Right Node

Feature TfmLookAt LookAtCamera
Purpose General transformation orientation Camera with look-at + frustum alignment
Output Transformation matrix Camera intrinsics + frustum
Near-clip alignment No Yes (aligns with look-at plane)
Use with Any object needing orientation SceneCapture for rendering
Best for Billboards, spotlights, tracking CAVE VR, head-tracked displays


Need help or want to suggest improvements?

Report an issue Improve the Docs

Last updated: 2025-12-01 | Edit this page on GitHub