-
Projecting 3D to 2D with toComp()
I’m facing an issue with a project I’m working on in which I’m trying to draw a beam using the Generate > Beam effect in 3D space. The expressions I’m using for start and end point and thickness are all working well, except when the world coordinates they point to end up behind my camera. Here are the expressions I’m using (the ‘ending’ expressions are the same only they refer to a different layer):
Starting Point:
l = effect("Source")("Layer");
l.toComp(l.anchorPoint);Starting Thickness:
c = thisComp.activeCamera;
l = effect("Source")("Layer");
z = c.zoom;
p1 = c.toWorld([0,0,0]);
p2 = l.toWorld(l.anchorPoint);
d = length(p1, p2);
value * z/d;
From what I know about projecting 3D coordinates into 2D space this is to be expected, but I wonder if anyone might have some insight into how I can effectively find the intersection point of the ray/beam I’m drawing and an infinite plane some short distance in front of my camera so that I can then use THAT world coordinate as my end point and prevent the world coordinate from passing behind the camera?
Please help!
Darby Edelen