- Recursos en línea para ejemplos de expresión
- Ejemplo de expresión: Giro de una capa en círculos
- Ejemplo de expresión: Giro de las manecillas de un reloj
- Ejemplo de expresión: Colocación de una capa entre otras dos
- Ejemplo de expresión: Creación de una trayectoria de imágenes
- Ejemplo de expresión: Creación de un abombado entre dos capas
- Ejemplo de expresión: Opacidad de transición de una capa 3D en función de la distancia desde la cámara
- Ejemplo de expresión: Invisibilización una capa 3D si se sitúa de forma opuesta a la cámara
- Ejemplo de expresión: Volteo horizontal de la capa si se sitúa de forma opuesta a la cámara
- Ejemplo de expresión: Animación de una escala en cada marcador de la capa
- Ejemplo de expresión: Inicio o parada de la ondulación en un momento determinado
- Ejemplo de expresión: Coincidencia del plano focal de la cámara con otra capa
Muchos de los ejemplos de esta sección se basan en las expresiones ofrecidas por Dan Ebberts.
Recursos en línea para ejemplos de expresión
Dan Ebberts ofrece expresiones de ejemplo y tutoriales para aprender cómo se trabaja con expresiones en su sitio web Motionscript (en inglés). Por ejemplo, Dan proporciona una excelente página sobre detección de colisión.
Trish y Chris Meyer ofrecen una serie de artículos sobre las expresiones en el sitio Web de ProVideo Coalition (en inglés). Estos artículos contienen muchos ejemplos útiles.
Colin Braley ofrece un tutorial y un proyecto de ejemplo en su sitio web que muestra cómo utilizar expresiones para hacer que una capa rechace a otras de forma aparentemente natural.
El foro de AE Enhancers ofrece muchos ejemplos e información útil sobre expresiones, así como secuencias de comandos y ajustes preestablecidos de animación. En esta entrada del foro AE Enhancers, Paul Tuersley ofrece un tutorial y un proyecto de ejemplo que muestra cómo utilizar expresiones para animar varias capas en un enjambre.
Rick Gerard proporciona un ejemplo en su sitio web que muestra el desplazamiento de un objeto cuadrado a lo largo de un suelo de forma que los lados están en contacto con la superficie del suelo.
Carl Larsen ofrece un tutorial de vídeo en el sitio web Creative COW que muestra cómo utilizar expresiones y asociaciones para relacionar la rotación de un conjunto de ruedas en el movimiento horizontal de un vehículo.
Marcus Geduld incluye algunos ejemplos de su libro, After Effects Expressions, en el sitio web Focal Press. En la sección "String Manipulation" (Manipulación de cadenas), Marcus explica cómo utilizar JavaScript básico para manipular el texto en la propiedad Source Text de una capa. Incluso se muestra cómo usar un conjunto de cadenas de modo que la propiedad Source Text de una capa se puede establecer como una palabra específica en una lista. En la sección "Physical Simulations" (Simulaciones físicas), Marcus explica el uso de expresiones para órbitas (orbits), rebotes (bounces), jiggles (resonaciones) y detección de colisión (collision detection).
Chris Zwar incluye un proyecto de ejemplo en su sitio web para organizar automáticamente vídeos o imágenes fijas en una cuadrícula (como un muro de vídeo). Es posible ajustar fácilmente la posición y el espaciado con reguladores que estén conectados a un sistema de expresiones. Existen tres composiciones en el proyecto: una para imágenes fijas, otra para vídeos y otra para crear un storyboard automático en el que un vídeo se muestre en intervalos definidos por el usuario y se alinee en una cuadrícula.
En el sitio Web de JJ Gifford se incluyen varios proyectos de ejemplo que muestran cómo utilizar expresiones.
Rhys Enniks proporciona un tutorial de vídeo en su sitio web en el que utiliza expresiones, varios animadores de texto y selectores de rango para animar texto como si se estuviera escribiendo en la pantalla de un ordenador.
Maltaannon (Jerzy Drozda, Jr.) proporciona un tutorial de vídeo en su sito web (en inglés) que muestra cómo utilizar expresiones para crear un medidor de volumen utilizando los resultados del comando Convertir audio en fotogramas clave.
Harry Frank proporciona un tutorial en su sitio web graymachine (en inglés) que muestra cómo utilizar expresiones para leer datos desde un archivo de texto externo.
Ejemplo de expresión: Giro de una capa en círculos
Puede crear una expresión sin necesidad de utilizar propiedades de otras capas. Por ejemplo, puede hacer que una capa gire en un círculo perfecto.
Ejemplo de expresión: Giro de las manecillas de un reloj
Puede utilizar el icono espiral para vincular valores de rotación entre capas para animar las manecillas de un reloj: mientras la manecilla de la hora se mueve de hora en hora, el minutero realiza la circunferencia completa del reloj. La creación de este tipo de animación llevaría mucho tiempo si tuviera que definir cada fotograma clave en las dos capas de manecillas, pero con el icono espiral puede hacerlo en cuestión de minutos.
Guy Chen incluye un sencillo proyecto en After Effects Exchange en el sitio web de Adobe que amplía esta idea, conectando la rotación de las manecilla de los minutos y las horas de un reloj con la rotación de la segunda manecilla.
Harry Frank incluye un proyecto sobre relojes en su sitio web graymachine, en el que los movimientos de las manecillas se conectan con un efecto Controles de expresión (Control de ángulo) en una capa nula que controla el tiempo. (Consulte Efectos de Controles de expresión.)
Ejemplo de expresión: Colocación de una capa entre otras dos
Esta expresión de ejemplo coloca y mantiene una capa a una distancia equilibrada entre otras dos capas.
Ejemplo de expresión: Creación de una trayectoria de imágenes
Esta expresión de ejemplo ordena a una capa que se sitúe en la misma posición que la capa inmediatamente superior del panel Línea de tiempo, pero retrasada una cantidad específica de tiempo (en este caso, 0,5 segundos). Puede definir expresiones parecidas para las otras propiedades geométricas.
Todas las capas siguen la misma trayectoria y cada una de ellas se retrasa 0,5 segundos con relación a la anterior.
Dan Ebberts incluye más ejemplos y técnicas para la creación de rastros de imágenes en su sitio web MotionScript (en inglés).
Ejemplo de expresión: Creación de un abombado entre dos capas
Esta expresión de ejemplo sincroniza el argumento Centro del abombado del efecto Abombar de una capa con la posición de otra capa. Por ejemplo, puede crear un efecto que parezca una lupa que se desplaza sobre una capa y que haga que el contenido situado bajo la lupa se abombe a medida que se mueve la lente (es decir, la capa superpuesta). Esta expresión utiliza el método fromWorld, que hace que la expresión funcione correctamente independientemente de si se mueve o no la capa de la lupa o la capa subyacente. Puede girar o escalar la capa subyacente y la expresión permanecerá intacta.
También puede utilizar otros efectos, como Rizo, con esta expresión.
Ejemplo de expresión: Opacidad de transición de una capa 3D en función de la distancia desde la cámara
Aplique la siguiente expresión a la propiedad Opacidad de una capa 3D: startFade = 500; // Start fade 500 pixels from camera.
endFade = 1500; // End fade 1500 pixels from camera.
try{ // Check whether there's a camera.
C = thisComp.activeCamera.toWorld([0,0,0]);
}catch(err){ // No camera, so assume 50mm.
w = thisComp.width * thisComp.pixelAspect;
z = (w/2)/Math.tan(degreesToRadians(19.799));
C = [0,0,-z];
}
P = toWorld(anchorPoint);
d = length(C,P);
linear(d,startFade,endFade,100,0)El fundido comienza a una distancia de 500 píxeles de la cámara y se completa a 1.500 píxeles de la cámara. El método de interpolación lineal se emplea para asignar valores de distancia a valores de opacidad.
Ejemplo de expresión: Invisibilización una capa 3D si se sitúa de forma opuesta a la cámara
Aplique la siguiente expresión a la propiedad Opacidad de una capa 3D: if (toCompVec([0, 0, 1])[2] > 0 ) value else 0
Dan Ebberts explica esta expresión en su sitio web Motionscript.
Ejemplo de expresión: Volteo horizontal de la capa si se sitúa de forma opuesta a la cámara
Aplique la siguiente expresión a la propiedad Escala de una capa 3D: if (toCompVec([0, 0, 1])[2] > 0 ) value else [-value[0], value[1], value[2]]
Ejemplo de expresión: Animación de una escala en cada marcador de la capa
Aplique la siguiente expresión a una propiedad Escala para hacer que una capa tiemble en cada marcador: n = 0;
t = 0;
if (marker.numKeys > 0){
n = marker.nearestKey(time).index;
if (marker.key(n).time > time) n--;
}
if (n > 0) t = time - marker.key(n).time;
amp = 15;
freq = 5;
decay = 3.0;
angle = freq * 2 * Math.PI * t;
scaleFact = (100 + amp * Math.sin(angle) / Math.exp(decay * t)) / 100;
[value[0] * scaleFact, value[1] / scaleFact];Ejemplo de expresión: Inicio o parada de la ondulación en un momento determinado
Puede utilizar cualquier expresión en el lugar de la expresión ondulación utilizada aquí para comenzar y finalizar la influencia de cualquier expresión en un momento determinado.
Ejemplo de expresión: Coincidencia del plano focal de la cámara con otra capa
Aplique la siguiente expresión a la propiedad Distancia de enfoque de una capa de cámara para que coincida su distancia focal con la distancia del punto de anclaje de una capa denominada "target": target = thisComp.layer("target");
V1 = target.toWorld(target.anchorPoint) - toWorld([0,0,0]);
V2 = toWorldVec([0,0,1]);
dot(V1,V2);Dan Ebberts explica este ejemplo de expresión en detalle en su sitio Web de Motionscript.
situado a la izquierda del nombre de la propiedad.