Copy link to clipboard
Copied
I've used the Create Nulls from Paths script on a 3D layer shape layer with a path. I have a basic setup where a trim paths is revealing a stroke based on the Progress of the Trace Path param. Shape (path) layer is 3D, Null (created by script) is 2D. Works great.
Problem: I want to attach an arrowhead to the end of the stroke as it is drawn. I parented a shape layer triangle to the Null, but in 3D I can't get it to match position and in 2D the arrow does not respect the camera and does not scale. I was searching for a method to attach a 3D object to a 2D position but no luck so far. I also thought I might hack a 2D arrow and set the scale relative to camera Z. Any tips?
As long as the Null that follows the path is 2D, everything looks great.
Dan Ebberts to the rescue. If anyone is looking for a solution to this obscure problem you can find info here:
https://creativecow.net/forums/thread/scaling-a-2d-layer-in-3d-based-on-distance-to-came/
I modified that script and placed it on my 2D arrowhead layer:
factor = 100;
C = thisComp.activeCamera;
L = thisLayer;
d = length(C.position,L.position);
dRef = 1000;
temp = dRef/d*factor;
[temp, temp]
Copy link to clipboard
Copied
Pre-compose the shape layer in 2D and create the animation there, then use it as a 3D layer in the parent comp.
Mylenium
Copy link to clipboard
Copied
Thanks Mylenium.
The issue with that solution is the 2D comp has to be extremely large (10,000x10,000px approx) to contain my content (a world map that requires the ability to zoom in on). This setup failes to render as my 64GB of memory can't hack it and AE crashes at render time. My thinking is if I can place all layers (map + lines) in a 3D comp I will not require that massive comp.
Copy link to clipboard
Copied
Dan Ebberts to the rescue. If anyone is looking for a solution to this obscure problem you can find info here:
https://creativecow.net/forums/thread/scaling-a-2d-layer-in-3d-based-on-distance-to-came/
I modified that script and placed it on my 2D arrowhead layer:
factor = 100;
C = thisComp.activeCamera;
L = thisLayer;
d = length(C.position,L.position);
dRef = 1000;
temp = dRef/d*factor;
[temp, temp]
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more