hey bro! the core issue is that your current expression is interpolating linearly between the layer’s own anchor and the null’s anchor in comp space, but this ignores the direction vector needed for a true perspective extrusion. The repeater positions in AE are local to the shape group, so simply using toComp on the null doesn’t properly account for the layer’s local transforms.
TLDR: each “slice” of extrusion should move along a vector from the layer toward the vanishing point, scaled by depth. Right now, linear(S,0,100,A,B) just blends the X/Y positions directly, which works for orthographic offsets but fails for perspective because the movement should shrink proportionally as it moves toward the vanishing point.
a corrected approach in would look like:
n = index; // or repeater index
depth = effect("Chunk Perspective")("Slider")/100;
vp = thisComp.layer("Vanishing Point Null").toComp([0,0]);
lp = toComp(anchorPoint);
dir = vp - lp; // direction vector to vanishing point
offset = dir * depth;
fromComp(lp + offset) - anchorPoint
“dir” ensures each slice points toward the vanishing point.
fromComp(lp + offset) converts back to layer space so the repeater respects group transforms.
You can multiply offset by n to get stacked extrusion layers.
The tricky part is handling repeater vs. group vs. layer anchor points, but this approach gives you a consistent perspective direction.
lemme know if that helps Pete, in case we escalate further!