Introducción y algo más
Este tutorial está creado a partir de la versión original en inglés, que se puede ver en este link.
La escena se va componiendo más o menos en este orden:
1 – Seteo de composición
2 – Creación de las capas con las que va a trabajar: sólido, luz, cámara.
3 – Linkeo de propiedades con expresiones.
4 – Seteo de efectos, con y sin expresiones.
La dificultad del tutorial se da en las etapas de inserción de código, en la que hay que concentrarse especialmente porque cualquier error de tipeo hace que el bloque de código deje de funcionar.
Por otro lado, siempre que se trabaje con expresiones hay que saber detectar cuándo una palabra debe traducirse al idioma de la versión de After Effects instalada. Por ejemplo, en este tutorial trabaja con el efecto Beam, el cual debe reemplazarse por Haz, y la propiedad Softness por Suavizado
Les recomiendo seguir el tutorial porque creo que a partir de la lógica que propone, con esta técnica, se puede experimentar en muchÃsimos efectos más, aún cuando no entendamos del todo todo lo que se puede hacer con expresiones. Pero si aún se les complica, o tienen dudas (o fiaca) pueden descargar este archivo:
Luz Volumétrica sin plugins – CS6.rar
A modo de ayuda, les dejo pedazos de código en el orden que van apareciendo en el tutorial.
thisComp.layer("luz_amarilla").toComp([0,0,0]);
var cp = thisComp.activeCamera.position;
var lp = thisComp.layer("luz_amarilla").position;
var pp = thisComp.layer("luz_amarilla_POI").position;
var cv = normalize(sub(cp, lp));
var pv = normalize(sub(pp, lp));
var theta = Math.acos(dot(cv, pv));
thisComp.layer("luz_amarilla").intensity * (Math.PI / 2 - theta);
thisComp.layer("luz_amarilla").toComp([0,0,0]);
thisComp.layer("luz_amarilla_POI").toComp([0,0,0]);
thisComp.layer("luz_amarilla").coneFeather;
var l = length(thisComp.layer("luz_amarilla_POI").position,thisComp.layer("luz_amarilla").position);
var r = l * Math.tan(degreesToRadians(thisComp.layer ("luz_amarilla").coneAngle)/1.1);
var d = thisComp.activeCamera.zoom / length (thisComp.activeCamera.position,thisComp.layer
("luz_amarilla_POI").position);
d * r * (1.0 - effect("Haz") ("Suavizado") / 200);
thisComp.layer("luz_amarilla").toComp([0,0,0]);
thisComp.layer("luz_amarilla_POI").toComp([0,0,0]);
thisComp.layer("luz_amarilla").color*thisComp.layer("luz_amarilla").intensity/100;
thisComp.layer("luz_amarilla").toComp([0,0,0]);