Look At Layer

Layer rotates to always point at another layer, wherever it moves.

Expression Code
// Look At Layer
// Apply to Rotation
target = thisComp.layer("Target"); // Layer to point at
aimOffset = 0; // Extra angle (90 if your artwork points up)
p1 = toWorld(anchorPoint);
p2 = target.toWorld(target.anchorPoint);
delta = p2 - p1;
radiansToDegrees(Math.atan2(delta[1], delta[0])) + aimOffset;
Apply to Rotation. Rename the layer you want to aim at to "Target" (or change the name in the expression). The layer now rotates to face the target constantly — move either layer and the aim updates live. With aimOffset at 0 the layer's right edge points at the target; if your arrow or character faces up, set aimOffset to 90. Uses world space, so it still aims correctly when the target is parented.
Back to React & Effect