miércoles, 19 de septiembre de 2007
image hosted by ImageVenue.com


Acerca de las expresiones

Cuando desee crear y vincular animaciones complejas, como por ejemplo varias ruedas de coche girando, sin necesidad de crear cientos de fotogramas clave de manera manual, opte por el uso de expresiones. Mediante las expresiones, puede crear relaciones entre las propiedades de capa y utilizar los fotogramas clave de una propiedad para animar de manera dinámica otra capa. Por ejemplo, si define fotogramas clave de giro para una capa y luego aplica un efecto Sombra paralela, puede utilizar una expresión para vincular los valores de la propiedad Giro con los valores de Dirección del efecto Sombra paralela; de esta manera, la sombra paralela cambia como corresponde a medida que gira la capa.

Las expresiones están basadas en el lenguaje estándar JavaScript, pero no es necesario saber JavaScript para poder utilizar las expresiones. Puede crear expresiones utilizando ejemplos sencillos y modificándolos para que se adapten a sus necesidades, o encadenando los objetos y los métodos.

Todo el trabajo con expresiones se lleva a cabo en el panel Línea de tiempo. Puede utilizar el icono espiral para crear expresiones o introducir y editar expresiones de manera manual en el campo Expresión, un campo de texto del gráfico de tiempo situado debajo de la propiedad. Puede escribir una expresión en un editor de texto y, a continuación, copiarla en el campo Expresión. Cuando agregue una expresión a una propiedad de capa, aparecerá una expresión predeterminada en el campo Expresión.

En la vista Editor de gráficos, el campo Expresión aparece como un cuadro de texto con dimensiones modificables en la parte inferior de éste. En el campo Expresión del Editor de gráficos sólo aparece la expresión activa para la propiedad seleccionada.

Nota: Si no se puede procesar una expresión, After Effects muestra un mensaje que explica el error y deshabilita automáticamente la expresión. Junto a la expresión ! aparece un icono de advertencia; haga clic en él para ver el mensaje de error de nuevo.

Si ha utilizado secuencias de comandos de Matemática del movimiento en versiones anteriores de After Effects, ahora puede obtener los mismos resultados utilizando expresiones.

Algunas expresiones se basan en los nombres de las capas o de las propiedades del proyecto. Si cambia el nombre de una capa o de una propiedad que forma parte de una expresión, After Effects intentará actualizar la expresión para utilizar el nombre nuevo. Sin embargo, en algunos casos complejos, After Effects no podrá actualizar automáticamente la expresión, en cuyo caso podrá generarse un mensaje de error y deberá actualizarla usted mismo.

Nota: Los parámetros de algunos efectos de After Effects han cambiado. Si existen expresiones que utilizan referencias del índice de parámetros en lugar de nombres de parámetros, puede ser necesario realizar ajustes en las expresiones para utilizar los nombres de los parámetros.

Image and video hosting by TinyPic


Opciones de Expresión en el panel Línea de tiempo

A. Definidor de activación/desactivación

B. Icono Superposición de gráficos

C. Icono espiral

D. Menú de lenguaje de expresión

E. Campo Expresión

(lamparita) Para habilitar o deshabilitar temporalmente una expresión, haga clic en el definidor de activación/desactivación (=) situado junto al nombre de la propiedad de capa sobre la que esté escrita la expresión. Cuando una expresión esté deshabilitada, aparecerá una barra diagonal encima del definidor.

Después de agregar una expresión a una propiedad, puede continuar agregando o editando fotogramas clave de la propiedad. El valor de un fotograma clave en el momento de su creación o edición es el valor que tendría sin la expresión aplicada.

Los ajustes preestablecidos de animación puede incluir expresiones, o incluso estar formados totalmente por una expresión.

Si está animando texto, puede utilizar el selector de expresión para especificar dinámicamente, por medio de expresiones, hasta qué punto se desea que una propiedad de animación afecte a los caracteres. Se pueden agregar uno o más selectores de expresión a un grupo de animación, y ese grupo puede contener una o varias propiedades.

Creación de una expresión con el icono espiral

Si no está familiarizado con JavaScript o con el lenguaje de las expresiones de After Effects, puede servirse del icono espiral para escribir expresiones. Basta con arrastrar el icono espiral @ de una capa a otra para que la propiedad definida o animada en la primera capa se copie en la segunda.

Utilice el icono espiral para crear expresiones que vinculen los valores de una propiedad o efecto con otra propiedad o efecto. Por ejemplo, vincule la propiedad Giro de la Capa A con la propiedad Giro de la Capa B para hacer que los valores de giro de la Capa A sean iguales que los de la Capa B; o vincule la propiedad Punto de interés de una cámara con la propiedad Posición de otra capa 3D para hacer que la cámara siga a la capa a medida que ésta se mueve en el espacio.

1. Seleccione una propiedad en el panel Línea de tiempo y elija Animación > Agregar expresión (MS Windows) o Añadir expresión (Mac OS).
2. Arrastre el icono espiral hasta otra propiedad del panel Línea de tiempo o Controles de efectos.
3. Si lo desea, modifique la expresión predeterminada del campo Expresión.

Image and video hosting by TinyPic


Arrastre el icono espiral hasta una propiedad para crear un vínculo con el valor de la propiedad.

Selección de valores con el icono espiral

Al utilizar el icono espiral, puede arrastrarlo hasta un nombre de propiedad o hasta sus valores. Si arrastra hasta el nombre de la propiedad, la expresión resultante mostrará todos los valores como un único valor. Por ejemplo, si arrastra el icono espiral hasta el nombre de la propiedad Posición, aparece la siguiente expresión: position

Si arrastra el icono espiral hasta uno de los valores de la propiedad Posición (como el valor y), aparece la siguiente expresión, la cual proporciona acceso a los valores específicos del conjunto: [position[1], position[1]]

Después de seleccionar el nombre o el valor de una propiedad, After Effects inserta automáticamente la expresión apropiada en el campo Expresión, en el lugar señalado por el cursor. Si ya se ha seleccionado texto en el campo Expresión, dicho texto se sustituirá por el texto de la nueva expresión. Si el cursor no se encuentra en el campo Expresión, todo el texto del campo se sustituirá por el nuevo texto.

Si el nombre de la capa, máscara o efecto hasta donde se arrastra el icono espiral no es único, After Effects cambia el nombre. Por ejemplo, si hay dos o más máscaras con el nombre "Máscara" y arrastra el icono espiral hasta una de ellas, After Effects le asignará el nombre "Máscara 2".

Modificación de expresiones con el icono espiral

Cuando utilice el icono espiral para crear una expresión, puede llevar a cabo sencillas ediciones para modificar el efecto de la expresión. Por ejemplo, puede agregar un factor de escala a la expresión para aumentar o disminuir el efecto.

Escriba directamente en el campo Expresión y, a continuación, pulse la tecla de retorno en el teclado numérico o haga clic fuera del campo para activar la expresión.

Es posible modificar una expresión creada con el icono espiral utilizando operaciones matemáticas sencillas, como las que aparecen en la siguiente tabla:

Símbolo Función
+ sumar
- restar
/ dividir
* multiplicar
*-1 realizar lo contrario del original, como por ejemplo, en el sentido contrario de las agujas del reloj en lugar de en el sentido de las agujas del reloj

La utilización de funciones matemáticas complejas ofrece una gran flexibilidad. Por ejemplo, puede utilizar la función matemática /360*100 para cambiar el rango de una expresión de 0-360 a 0-100. Resultaría útil si desea convertir los valores de un indicador de 360 grados en un indicador que se mida en porcentajes.

Especificación del formato de las expresiones creadas con el icono espiral

Se puede especificar el formato con que el icono espiral crea las expresiones. De manera predeterminada, el icono espiral crea expresiones en inglés conciso, que utilizan el nombre del panel Línea de tiempo para las propiedades de una expresión. Dado que estos nombres se codifican en el producto y nunca cambian, la expresión no se ve afectada cuando se abre en un equipo que utiliza un idioma diferente al inglés. Todos los nombres de propiedad que se pueden cambiar aparecen entre comillas rectas y son los mismos en todos los idiomas. Si no tiene pensado compartir los proyectos con personas que hablen otros idiomas, puede deseleccionar esta preferencia y alinear las propiedades en una expresión de manera jerárquica, mediante paréntesis.

1. Elija Edición > Preferencias > General (Windows) o After Effects > Preferencias > General (Mac OS).
2. Seleccione o deseleccione La expresión icono espiral escribe un inglés conciso.

Para ver la diferencia entre los dos formatos de expresión, cree la misma expresión de icono espiral con la preferencia seleccionada y no seleccionada.

Nota: Puesto que se utiliza el inglés conciso de manera predeterminada, en todos los ejemplos e ilustraciones de este documento se utiliza inglés conciso.

Creación de una expresión desde el menú de lenguaje de expresión

El menú de lenguaje de expresión del panel Línea de tiempo contiene todos los elementos de idioma específicos de After Effects que pueden utilizarse en una expresión. Este menú sirve para determinar los elementos válidos y su sintaxis correcta; utilícelo como referencia para saber cuáles son los elementos disponibles. Seleccione un objeto, un atributo o un método y After Effects lo insertará automáticamente en el campo Expresión, en el lugar señalado por el cursor. A continuación, podrá editarlo y agregarlo, según convenga.

En el menú de lenguaje de expresión se incluyen los argumentos y valores predeterminados. De esta manera es más sencillo recordar qué elementos se pueden controlar cuando se escribe una expresión. Por ejemplo, en el menú Idioma, la función Propiedad de ondulación incluye: wiggle(freq, amp, octaves=1, ampMult=.5, t=time). Hay cinco argumentos entre paréntesis detrás de la palabra wiggle. El signo = de los tres últimos argumentos indica que el uso de estos parámetros es opcional. Si no se especifica ningún valor, se definirán de manera predeterminada en 1, .5 y el tiempo actual, respectivamente.

Image and video hosting by TinyPic


Para agregar elementos de expresión al campo Expresión, selecciónelos del menú del lenguaje de expresión.
1. Seleccione una propiedad de capa y elija Animación > Agregar expresión (MS Windows) o Añadir expresión (Mac OS).
2. Haga clic en el icono del menú del lenguaje de expresión y elija Global > thisComp. El elemento aparece en el campo Expresión, en el lugar señalado por el cursor: thisComp
3. Para continuar la expresión, agregue un punto (.) al final, haga clic en el icono del menú de lenguaje de expresión y, a continuación, elija un atributo en el menú Comp, como layer(index): thisComp.layer(index)
4. Inserte la información de capa específica deseada. Por ejemplo, si desea utilizar la información de fotogramas clave de la Capa 1, cambie index por 1 tal como se indica a continuación: thisComp.layer(1)
5. Después, agregue un punto y elija un atributo o método de cualquiera de los menús Capa, Luz o Cámara. Por ejemplo, si la Capa 1 tiene fotogramas clave de posición que desee utilizar en la expresión, elija la posición en el menú Propiedades de capa y así sucesivamente: thisComp.layer(1).position

Escritura de expresiones para el texto de origen

Todas las expresiones generan un resultado que es un número o un conjunto de números, con una excepción: las expresiones escritas para la propiedad Texto de origen de una capa de texto. El resultado de una expresión que vincula con la propiedad Texto de origen se interpreta como una cadena de JavaScript. La expresión sustituye el texto existente para la capa y utiliza el estilo del primer carácter. Puede utilizar el icono espiral para recuperar el texto de origen de otra capa de texto; no obstante, sólo se utilizará el estilo del primer carácter de la capa de destino.

Por ejemplo, para copiar el texto original de una capa y agregarlo a otra capa con todos los caracteres en letra mayúscula, escriba la siguiente expresión:

text.sourceText + "\r" + text.sourceText.toUpperCase()

Puede utilizar "\r" en la expresión de una cadena para iniciar una nueva línea de texto. Para obtener más información sobre el objeto Cadena, consulte la guía de JavaScript.

Adición de comentarios a una expresión

Realice una de las siguientes acciones:
o Escriba
//
al principio del comentario. Se ignorará todo el texto situado entre // y el final de la línea. Por ejemplo:
// This is a comment.
o Escriba
/*
al principio del comentario y
*/
al final del comentario. Se ignorará todo el texto situado entre /* y
*/. Por ejemplo:
/*This is a multiline comment. */

Modificación de propiedades con efectos de controles de expresión

Utilice los efectos de controles de expresión para manipular los valores de una o varias propiedades de las expresiones. Estos efectos ofrecen controles a los que puede hacer referencia en cualquier expresión. Un único control puede afectar a varias propiedades a la vez. Puede aplicar efectos de controles de expresión a cualquier capa; no obstante, suele resultar útil aplicarlos a una capa nula, que se puede utilizar simplemente como capa de control. A continuación, agregue expresiones a otras capas para acceder al control; basta con copiar y pegar la misma expresión en diferentes propiedades de capa. Por ejemplo, puede agregar el efecto de indicador a una capa nula (Null 1) y, a continuación, copiar y pegar una expresión, como la siguiente, a una serie de capas de la composición:

position+[0,10*(index-1)*thisComp.layer("Null 1").effect("Slider Control")("Slider")]

Cuando arrastre el indicador, cada capa con esta expresión se animará, con la posición de cada elemento dependiente del valor del indicador y del índice de la capa. Las capas con mayores números de índice cambiarán de lugar más que las capas con menores números de índice, a intervalos de 10 píxeles.

Todo lo que debe hacer es definir fotogramas clave para el indicador de la capa nula y todas las demás capas se animarán en consecuencia.

En el panel Línea de tiempo, seleccione la capa a la que desee agregar el control de expresión y, a continuación, elija Efecto > Controles de expresión > [nombre de efecto].


Efectos de controles de expresión

After Effects incluye los siguientes efectos de controles de expresión para los que se pueden definir fotogramas clave:

Control de ángulo: Para ajustar el control del ángulo, arrastre los valores subrayados.

Control de la casilla de verificación: Este control contiene un único valor de activación/desactivación en el que se puede hacer clic. Puede animar este control para iniciar y detener la animación a intervalos específicos.

Control de color: Este control contiene una muestra de color y un cuentagotas. Se puede utilizar este efecto para controlar el cambio esporádico o gradual de los colores de una capa o entre diferentes capas.

Control de capa: Este control contiene un menú de capa en el que se incluyen todas las capas de la composición activa. No se pueden agregar fotogramas clave a este efecto.

Control de punto: Este control contiene un control de punto de efecto. Puede utilizarlo como control maestro de animación en una serie de capas.

Control del indicador: Este control contiene un indicador con un rango de valor predeterminado de 0 a 100. Para utilizar los valores superiores a este límite, arrastre el valor subrayado por encima del indicador. Para cambiar el rango del indicador, haga clic con el botón derecho (MS Windows) o con el botón Control (Mac OS) en el valor del indicador subrayado y elija Editar valor en el menú que aparece. Escriba los nuevos valores en el cuadro de texto Rango del indicador.


Visualización de expresiones

En el modo Editor de gráficos, el campo de expresión único muestra solamente la expresión para la propiedad seleccionada. Para ver varias expresiones a la vez, el panel Línea de tiempo deberá estar en el modo barra de capa.

Para cambiar entre el modo barra de capa y el modo Editor de gráficos, pulse Mayús+F3.
. Para ver sólo las propiedades con las expresiones, seleccione una o más capas y, a continuación, pulse
EE
en el teclado.
. Para mostrar el campo expresión en el Editor de gráficos, seleccione Mostrar el editor de expresiones en el menú Elegir tipo y opciones de gráfico de la parte inferior del Editor de gráficos.
Para redimensionar el campo Expresión, arrastre su borde inferior hacia arriba o hacia abajo.


Visualización del gráfico de expresión

Para ver cómo una expresión cambia el gráfico de valor o de velocidad, haga clic en el icono de superposición de gráficos mientras visualiza dicho gráfico en el Editor de gráficos. El gráfico coloreado tenue muestra el valor o la velocidad antes de que se aplique la expresión, mientras que el gráfico coloreado más brillante muestra el valor o la velocidad después de aplicarla.

Al activar la superposición de gráficos para la propiedad Posición, cambiará también la visualización del trazado de movimiento en el panel Composición de forma que pueda ver el trazado afectado por la expresión.



Guardar expresiones

Después de escribir una expresión, puede guardarla para su uso futuro copiando y pegándola en una aplicación de edición de texto, como Bloc de notas, Texto sencillo o incluso Stickies. No obstante, dado que las expresiones se escriben con relación a otras capas de un proyecto y pueden utilizarse nombres de capa específicos, no siempre basta con guardar y cargar las expresiones en un proyecto. Si desea guardar una expresión para su uso en otro proyecto, es recomendable agregar comentarios a la expresión o guardar el archivo de proyecto completo para poder utilizarlo como referencia cuando vuelva a utilizar la expresión.

Puede guardar un ajuste preestablecido de animación que incluya una expresión y volver a utilizarlo en otros proyectos, siempre y cuando la expresión no haga referencia a propiedades que no existan en los otros proyectos.


Reutilización de una expresión

Puede copiar una expresión de una propiedad de capa, con o sin los fotogramas claves de la propiedad. La copia de una expresión sin los fotogramas clave resultará especialmente útil cuando desee copiar simultáneamente varias expresiones y pegarlas en una o más capas nuevas, o cuando desee copiar una expresión y pegarla en más de una capa.
. Para aplicar una expresión y copiar los fotogramas clave, copie la propiedad de la capa que contenga la expresión y péguela en las otras capas.
. Para aplicar una expresión a cualquier otra propiedad sin copiar los fotogramas clave, copie el campo Expresión y péguelo en otros campos de expresión.
. Para aplicar una expresión a la misma propiedad en una capa diferente sin copiar los fotogramas clave, seleccione la propiedad de capa que contenga la expresión, elija Edición > Copiar sólo expresión, seleccione una capa diferente y elija Edición > Pegar.
. Para aplicar una expresión a una propiedad diferente en la misma capa o en una capa diferente sin copiar los fotogramas clave, seleccione la propiedad de capa que contenga la expresión, elija Edición > Copiar sólo expresión, seleccione una propiedad diferente de la capa deseada y elija Edición > Pegar.
También puede guardar una expresión como un ajuste preestablecido de animación y aplicarlo después a otra capa.


Conversión de una expresión a fotogramas clave

En algunas ocasiones, puede resultar útil convertir una expresión a fotogramas clave. Por ejemplo, si desea congelar los valores de una expresión, puede convertir la expresión en fotogramas clave y ajustar los fotogramas clave como corresponda; o bien, si la evaluación de una expresión lleva mucho tiempo, puede convertirla en fotogramas clave para que se procese con mayor rapidez. Al convertir una expresión en fotogramas clave, After Effects evalúa la expresión, crea un fotograma clave en cada fotograma y, a continuación, deshabilita la expresión.

En el panel Línea de tiempo, seleccione la propiedad en la que esté escrita la expresión y elija Animación > Asistente de fotogramas clave > Convertir expresión a fotogramas clave.


Ajustes preestablecidos de expresión

Los ajustes preestablecidos de animación pueden incluir expresiones. De hecho, pueden estar formados únicamente por una expresión. Cuando guarde un ajuste preestablecido en el que una propiedad tenga una expresión pero no contenga fotogramas clave, sólo se guardará la expresión. Si la propiedad tiene uno o más fotogramas clave, el ajuste preestablecido guardado contendrá la expresión junto a todos los valores de fotogramas clave.

Un ejemplo de ajuste preestablecido de animación particularmente útil que incluye una expresión es el ajuste preestablecido de animación de Posición XYZ separada, que crea propiedades individuales para los componentes X, Y y Z de posición. Estas propiedades pueden entonces manipularse individualmente, con fotogramas clave, expresiones u otros medios. Seleccione Animación > Aplicar opciones predeterminadas de animación y seleccione Posición XYZ separada para aplicar este ajuste preestablecido de animación a una capa.


Acerca del lenguaje de expresión

El lenguaje de expresión de After Effects está basado en JavaScript 1.2, con un conjunto extendido de objetos integrados. After Effects utiliza solamente el lenguaje JavaScript 1.2 estándar principal, no las extensiones específicas del explorador Web. En lugar de las extensiones del explorador, After Effects contiene su propio conjunto de objetos de extensión, como Capa, Comp, Material de archivo y Cámara, que pueden utilizarse para acceder a la mayoría de los valores de un proyecto de After Effects.

Para obtener más información acerca de JavaScript, consulte un manual de referencia de JavaScript, como JavaScript: The Definitive Guide, de David Flanagan.
Al crear expresiones, tenga en cuenta lo siguiente:
- En JavaScript se distingue entre mayúsculas y minúsculas.
- Son necesarios puntos y comas para separar instrucciones o líneas.
- Los espacios entre palabras se ignoran.

En JavaScript, un valor almacenado en un objeto se denomina propiedad. Sin embargo, After Effects utiliza el término propiedad para aludir a los atributos de capa tal como se definen en el panel Línea de tiempo. Por este motivo, para mayor claridad, en la documentación de After Effects las propiedades de JavaScript se denominan métodos cuando tienen argumentos y atributos cuando no los tienen.


Valores de acceso

Para acceder a los valores de las propiedades se utiliza el lenguaje de expresión. Para acceder a un valor, utilice una cadena de referencias a objetos separadas por el punto (.) operador de punto. Para encadenar referencias a objetos en un nivel superior al de capa (por ejemplo, para encadenar propiedades de efectos, máscaras o animadores de texto), utilice paréntesis. Por ejemplo, para vincular la propiedad Opacidad de la Capa A con la propiedad Difuminación del efecto Desenfoque gaussiano de la Capa B, escriba la siguiente expresión en el campo Expresión de la propiedad Opacidad de la Capa A:

thisComp.layer("Layer B").effect("Gaussian Blur")("Blurriness")

El objeto predeterminado de una expresión es la propiedad en la que está escrita la expresión, seguida de la capa que contiene la expresión; por lo tanto, no es necesario especificar la propiedad. Por ejemplo, la expresión de una ondulación escrita sobre la propiedad Posición de una capa puede ser de cualquier de las siguientes maneras:

wiggle(5, 10)

position.wiggle(5, 10)

No es necesario incluir la capa y la propiedad al recuperarlas del exterior de la capa y la propiedad en las que está escrita la expresión. Por ejemplo, una expresión escrita en la propiedad Opacidad de la Capa B, vinculada a la propiedad Posición de la Capa A sería:

thisComp.layer("Layer A").position[0].wiggle(5, 10)

Para visualizar cómo funciona, utilice el icono espiral para vincular una propiedad con otra.


Objetos globales

Todas las expresiones comienzan con un objeto global. En una expresión sólo puede aparecer un atributo o un método del objeto global sin nada a su izquierda.

El objeto global predeterminado de cualquier expresión es la capa sobre la que se escribe la expresión. Por ejemplo, si agrega una expresión a la propiedad Escala de la Capa A y desea que la expresión devuelva los valores de la propiedad Posición de la Capa A, puede utilizar cualquiera de las siguientes expresiones, ya que son equivalentes:

thisComp.layer("Layer A").position

thisLayer.position

position

Para recuperar los valores de un objeto diferente a la capa que contiene la expresión, inserte el objeto en la expresión. Por ejemplo, si escribe una expresión en la Capa A y desea recuperar los valores de posición de la Capa B, utilice la siguiente expresión:

thisComp.layer("Layer B").position


Conjuntos

Un conjunto es un tipo de objeto que almacena un grupo ordenado de números. Un conjunto se representa como una lista de números separados por comas y escritos entre corchetes, como en este ejemplo:

[10, 23]

Se puede asignar un conjunto a una variable, lo que facilita la referencia a valores de conjunto en otras áreas de la expresión. Por ejemplo:

myArray = [10, 23]

La dimensión de un conjunto es el número de elementos del conjunto. La dimensión de myArray es 2. Las distintas propiedades de After Effects tienen diferentes dimensiones según el número de parámetros de valores que tienen. En el lenguaje de expresión, los valores de las propiedades son valores únicos (números) o conjuntos.

En la siguiente tabla se presentan ejemplos de algunas de las propiedades y sus dimensiones:

Tipo de valor Dimensiones del valor
1D Giro °% de opacidad
2D Escala [x=width, y=height]Posición [x, y]Punto de anclaje [x, y]
3D Escala [width, height, depth]Posición [x, y, z]Punto de anclaje [x, y, z]
4D Color [red, green, blue, alpha]

Para acceder a los elementos individuales de un conjunto, utilice los corchetes y un número de índice que indique el elemento deseado. Los elementos de un conjunto se indexan empezando por 0. En el ejemplo anterior, myArray[0] es 10 y myArray[1] es

23. Las siguientes dos expresiones son equivalentes:

[myArray[0], 5]

[10, 5]

Los conjuntos de la propiedad Posición se indexan de la siguiente manera:
- position[0] es la coordenada x de la posición.

- position[1] es la coordenada y de la posición.

- position[2] es la coordenada z de la posición.

Los colores se representan como conjuntos 4D [r, g, b, a]. Cada valor de un conjunto de color varía entre 0 (negro) y 1 (blanco). Por ejemplo, el rojo puede variar entre 0 (sin color) y 1 (rojo). Por lo tanto, [0,0,0,0] es negro y transparente, y [1,1,1,1] es blanco y completamente sólida.

Si utiliza un índice mayor que el índice del componente de mayor dimensión de un conjunto, After Effects devolverá un error. Por ejemplo, myArray[2] generará un error; en cambio, position[2] devolverá la coordenada z de Posición. Muchas de las propiedades y métodos del lenguaje de expresión de After Effects toman los objetos Conjunto como argumentos o los devuelven como valores. Por ejemplo, thisLayer.position es un conjunto bidimensional o tridimensional dependiendo de si la capa es 2D o 3D.

Si desea escribir una expresión que conserve el valor “y” de la animación de un objeto pero fija el valor “x” en 9, utilizaría la siguiente:

y = position[1];
[9, y]

La siguiente expresión es aún más sucinta:

[9, position[1]]

Es un punto importante y por ello analizaremos un ejemplo más. Si desea combinar el valor de posición “x” de la Capa A con el valor de posición “y” de la Capa B, utilizaría la siguiente expresión:
x = thisComp.layer("Layer A").position[0];
y = thisComp.layer("Layer B").position[1];
[x, y]

Vectores

En After Effects, muchas propiedades y métodos contienen o devuelven vectores. After Effects hace referencia a un conjunto como vector si representa un punto o una dirección en el espacio. Por ejemplo, After Effects describe la posición en la forma de un vector.

Sin embargo, mientras que una función como audioLevels devuelve un valor bidimensional (los niveles de canal izquierdo y derecho), no se denomina vector porque no representa ni un punto ni una dirección. Algunas funciones de After Effects aceptan argumentos vectoriales, pero generalmente sólo son útiles cuando los valores transmitidos representan una dirección. Por ejemplo, cross(vec1, vec2) calcula un tercer vector que forma ángulos rectos con los vectores de entrada. Es útil cuando vec1 y vec2 son dos vectores que representan direcciones en el espacio, pero no lo son si sólo representan dos conjuntos arbitrarios de números.


Índices de vectores y conjuntos

La indexación de los elementos de Capa, Efecto y Máscara en After Effects empieza en 1. Por ejemplo, la primera capa del panel Línea de tiempo es layer(1).

Por lo general, es mejor utilizar el nombre de una capa, efecto o máscara en lugar de un número para evitar la confusión y los errores si se mueve la capa, el efecto o la máscara o si los parámetros cambian durante las actualizaciones de productos. Cuando utilice un nombre, enciérrelo siempre entre comillas rectas. Por ejemplo, la primera expresión que encontrará a continuación es más fácil de comprender que la segunda, y continuará siendo válida aunque cambie el orden de los efectos:

effect("Colorama").param("Get Phase From")

effect(1).param(2)

Puede crear una expresión que haga referencia a sólo un valor del conjunto de una propiedad 2D o 3D. De manera predeterminada, se utiliza el primer valor, a menos que se especifique lo contrario. Por ejemplo, si arrastra el icono espiral desde la propiedad Giro de la Capa 1 a la propiedad Escala de la Capa 2, aparece la siguiente expresión:

thisComp.layer(2).scale[0]

De manera predeterminada, la expresión anterior utilizar el primer valor de la propiedad Escala, que es el ancho. Si prefiere utilizar el valor del alto, arrastre el icono espiral directamente hasta el segundo valor en lugar del nombre de la propiedad, o cambie la expresión de la siguiente manera:

thisComp.layer(2).scale[1]

Por el contrario, si arrastra el icono espiral desde la propiedad Escala de la Capa 2 hasta la propiedad Giro de la capa 1, After Effects duplica automáticamente la expresión para que los dos valores estén disponibles para la escala. Aparece la siguiente expresión:
[thisComp.layer(1).rotation, thisComp.layer(1).rotation]

Para utilizar un valor diferente como uno de los parámetros de valor en lugar de duplicar el valor de un giro, elimine la expresión duplicada e inserte un valor. Por ejemplo, para utilizar el valor de giro de alto de la escala y 10 para el ancho, crearía la siguiente expresión:

[thisComp.layer(1).rotation, 10]

El valor de una expresión es el valor de la última instrucción evaluada. Por ejemplo, en las siguientes expresiones, los resultados son los mismos:

x = rotation * 10; [x, 20]

[rotation * 10, 20]


Expresión tiempo

El tiempo en una expresión siempre se mide en segundos. El tiempo predeterminado de cualquier expresión es el tiempo de composición actual en el que se está evaluando la expresión. Las dos expresiones siguientes utilizan el tiempo de composición predeterminado y devuelven los mismos valores:

thisComp.layer(1).position

thisComp.layer(1).position.valueAtTime(time)

Para utilizar un tiempo relativo, agregue un valor de tiempo al argumento time. Por ejemplo, para obtener un valor 5 segundos antes del tiempo actual, utilice la siguiente expresión:

thisComp.layer(1).position.valueAtTime(time-5)

Las referencias de tiempo predeterminadas a las propiedades de composiciones anidadas utilizan el tiempo de composición predeterminado original, no el tiempo reasignado. Sin embargo, si utiliza la función source (origen) para recuperar una propiedad, se utiliza el tiempo reasignado.

Por ejemplo, si el origen de una capa de la composición primaria es una composición anidada y en la composición primaria el tiempo está reasignado, al acceder a los valores de posición de una capa de la composición anidada con la siguiente expresión, los valores de posición utilizan el tiempo predeterminado de la composición:
comp("nested comp").layer(1).position

Sin embargo, si accede a la Capa 1 mediante la función source, los valores de posición utilizan el tiempo reasignado:
thisComp.layer(nested comp).source.layer(1).position

Nota: Si utiliza un tiempo específico en una expresión, After Effects ignora el tiempo reasignado.

El atributo hasParent

Utilice el atributo hasParent para determinar si una capa tiene una capa primaria. Puede utilizar este atributo aunque en la actualidad no haya una capa primaria. Por ejemplo, la siguiente expresión indica que la capa a la que se aplica se ondulará según la posición de su capa primaria. Si la capa no tiene capa primaria, se ondulará según su propia posición. Si la capa recibe una capa primaria posteriormente, el comportamiento de la capa cambiará en consecuencia:

idx = index;
if (hasParent) {
idx = parent.index;
}
thisComp.layer(idx).position.wiggle(5, 20)


El atributo name

Utilice el atributo name (nombre) con objetos Comp, Material de archivo, Capa, Máscara y Efecto cuando desee aplicar la misma expresión a varias capas y variar los resultados según el nombre de un objeto. Por ejemplo, la siguiente expresión ondula la posición de una capa de manera diferente si el nombre de la capa es "hero" (héroe):

amp = 20;
if (name == "hero") {
amp = 40;
}
wiggle(5, amp)


Métodos de transformación de espacio de capa

Utilice los métodos de transformación de espacio de capa para transformar los valores de un espacio a otro, como del espacio de capa al espacio de entorno. Los métodos (de) transforman valores del espacio de capa al espacio nombrado (comp o entorno). Los métodos (a) transforman valores del espacio nombrado (comp o entorno) al espacio de capa. Cada método de transformación utiliza un parámetro opcional para determinar el tiempo en el que se calcula la transformación de la capa; sin embargo, casi siempre se puede utilizar el tiempo actual (predeterminado).

Utilice los métodos de transformación (Vec) cuando desee transformar un vector de dirección, como la diferencia entre dos valores de posición. Utilice los métodos de transformación sencillos (no (Vec)) para transformar un punto, como una posición. El espacio de comp. y de entorno es el mismo para las capas 2D. En el caso de las capas 3D, sin embargo, el espacio de comp. depende de la cámara activa y el espacio de entorno es independiente de la cámara.


Métodos de bucle de fotogramas clave

Si lo desea puede utilizar los métodos de bucle de fotogramas clave para repetir una serie de fotogramas clave. Estos métodos pueden utilizarse en cualquier propiedad excepto en un marcador. Los fotogramas clave o los valores de duración que son demasiado grandes se recortan al máximo valor permitido. Los valores que son demasiado pequeños generan un bucle constante.

El argumento predeterminado para los métodos de bucle de fotogramas clave es cycle, que repite el segmento especificado. Sin embargo, puede sustituir cycle con cualquiera de los siguientes argumentos:

pingpong Repite el segmento especificado, pero alterna entre repetir hacia delante y repetir hacia atrás en el segmento.

desplazamiento Repite el segmento especificado, pero desplaza cada ciclo la diferencia en el valor de la propiedad al principio y al final del segmento multiplicada por el número de veces que se ha repetido el segmento.

continuo No repite el segmento especificado, pero continúa animando una propiedad según la velocidad dirigida en el primer o el último fotograma clave. Por ejemplo, si el último fotograma clave de la propiedad Escala de una capa es 100%, la capa continúa la escala desde 100% hasta el punto de salida, en lugar de repetir hacia atrás hasta el punto de salida. Este tipo no acepta un argumento de duración ni de fotogramas clave.


Los atributos activo y habilitado

Se puede utilizar el atributo active (activo) en una expresión para devolver un valor booleano que informe sobre el estado de una capa, cámara, propiedad, grupo de propiedades o efecto.

El atributo active presenta los siguientes comportamientos:

- Al informar sobre una capa, active es verdadero si se ha seleccionado el definidor de vídeo y el tiempo actual está entre los puntos de entrada y salida de la capa.

- Al informar sobre un efecto, active es verdadero si se ha activado el efecto y se ha seleccionado el definidor de efecto de capa .

- Al informar sobre una cámara, active es verdadero si la cámara es la cámara activa de la composición en el momento actual.

- Al informar sobre otra propiedad o grupo de propiedades, active es verdadero si se ha habilitado la propiedad.

El atributo enabled (habilitado) devuelve un valor booleano que informa de si se ha habilitado una propiedad o una capa en base al definidor de vídeo o al definidor de efecto del panel Línea de tiempo.

Utilización de la referencia a elementos de expresión

Utilice los elementos de expresión de After Effects junto con los elementos estándar de JavaScript para escribir las expresiones. Recuerde que también puede utilizar el menú del lenguaje de expresión cuando lo desee para insertar funciones en una expresión.

Si un argumento contiene un signo igual (=) y un valor (como t=time o width=.2), el argumento utiliza el valor predeterminado incluido si no se especifica un valor diferente.

Las descripciones de algunos argumentos incluyen un número entre corchetes; este número indica la dimensión de la propiedad o del conjunto esperado. Si no se incluye ninguna dimensión específica, será válida cualquier dimensión.

Las descripciones de algunos valores devueltos incluyen un número entre corchetes; este número especifica la dimensión de la propiedad o del conjunto devuelto. Si no se incluye una dimensión específica, la dimensión del conjunto devuelto depende de la dimensión de la entrada.


Objetos globales

comp(name) Tipo de valor devuelto: comp. Recupera otra composición por su nombre.
Tipo de argumento: name es una cadena.

footage(name) Tipo de valor devuelto: material de archivo.
Tipo de argumento: name es una cadena.
Recupera un elemento de material de archivo por el nombre.

thisComp Tipo de valor devuelto: comp.
Representa la composición que contiene la expresión.

thisLayer Tipo de valor devuelto: capa, luz o cámara.
Representa la capa que contiene la expresión. Dado que thisLayer es el objeto predeterminado, su uso es opcional. Por ejemplo, puede iniciar una expresión con thisLayer.width o width y obtener el mismo resultado.

thisProperty Tipo de valor devuelto: propiedad.
Representa la propiedad que contiene la expresión. Por ejemplo, si escribe una expresión en la propiedad Rotación, puede iniciar una expresión con thisProperty para hacer referencia al valor de la propiedad Rotación.

time Tipo de valor devuelto: número.
Representa el tiempo de la composición, en segundos, en el que se va a evaluar la expresión.

colorDepth Tipo de valor devuelto: número.
Devuelve el valor de profundidad de color del proyecto. Por ejemplo, colorDepth devuelve 16 cuando la profundidad de color del proyecto es 16 bits por canal.


posterizeTime(framesPerSecond) Tipo de valor devuelto: número.
Tipo de argumento: framesPerSecond es un número.

El valor framesPerSecond se convierte en la velocidad de fotogramas a partir de la cual funciona el resto de la expresión. Esto permite definir la velocidad de fotogramas de la expresión en una velocidad inferior a la de la composición. Por ejemplo, la siguiente expresión actualiza el valor de la propiedad con un valor aleatorio una vez por segundo:
posterizeTime(1);
random

valor Tipo de valor devuelto: número o conjunto.
Representa el valor en el momento actual de la propiedad que contiene la expresión.


Métodos de conversión del tiempo

timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false) Tipo de valor devuelto: número.
Tipo de argumento: t y fps son números; isDuration es un valor booleano.
Convierte el valor de t, que se define de manera predeterminada en el tiempo de la composición actual, en un número entero de fotogramas. El número de fotogramas por segundo se especifica en el parámetro fps, que se define de manera predeterminada en la velocidad de fotogramas de la composición actual (thisComp.frameDuration). El parámetro isDuration, que se define en falso de manera predeterminada, debe ser verdadero si el valor t representa una diferencia entre dos tiempos en lugar de un tiempo absoluto. Los tiempos absolutos se redondean a la baja hacia el infinito negativo; las duraciones se redondean alejándose de cero (hacia arriba para valores positivos).

framesToTime(frames, fps = 1.0 / thisComp.frameDuration) Tipo de valor devuelto: número.

Tipo de argumento: frames y fps son números.

El inverso de timeToFrames. Devuelve el tiempo correspondiente al parámetro frames,que es necesario. No es necesario que sea un entero. Consulte timeToFrames para ver una explicación sobre el parámetro fps.

timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false) Tipo de valor devuelto: cadena.

Tipo de argumento: t y timecodeBase son números; isDuration es un valor booleano.
Convierte el valor de t en una cadena que representa un código de tiempo. Consulte timeToFrames para ver una explicación de los parámetros t e isDuration. El valor timecodeBase, que se define en 30 de manera predeterminada, especifica el número de fotogramas por segundo.

timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false) Tipo de valor devuelto: cadena.
Tipo de argumento: t es un número, ntscDropFrame e isDuration son valores booleanos.
Convierte t en una cadena que representa el código de tiempo NTSC. Consulte timeToFrames para ver una explicación de los parámetros t e isDuration. Si ntscDropFramees falso (valor predeterminado), la cadena resultante es un código de tiempo sin eliminación de fotogramas NTSC. Si ntscDropFrame es verdadero, la cadena resultante es un código de tiempo con eliminación de fotogramas NTSC.
timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false) Tipo de valor devuelto: cadena.

Tipo de argumento: t, fps y framesPerFoot son números; isDuration es un valor booleano.

Convierte el valor de t en una cadena que representa pies de película y fotogramas.

Consulte timeToFrames para ver una explicación de los parámetros t, fps e isDuration. El parámetro framesPerFoot especifica el número de fotogramas en un pie de película. Se define en 16 de manera predeterminada, que es la velocidad más común para material de archivo de 35 mm.

timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false) Tipo de valor devuelto: cadena.

Tipo de argumento: t y fps son números; isDuration es un valor booleano.
Convierte el valor de t en una cadena que representa el tiempo en el formato de visualización actual de Ajustes del proyecto. Consulte timeToFrames para obtener una definición de todos los parámetros.

Si desea ejercer un mayor control sobre el aspecto del código de tiempo del material de archivo, utilice la expresión timeToCurrentFormat para generar el código de tiempo en lugar de utilizar el efecto Código de tiempo o Números. Cree una capa de texto, agregue una expresión a la propiedad Texto de origen e introduzca timeToCurrentFormat en el cuadro de texto de la expresión. Este método le permite formatear y animar el texto del código de tiempo. Además, el código de tiempo utiliza el estilo de visualización definido por los ajustes actuales del proyecto.


Métodos matemáticos vectoriales

Las funciones matemáticas vectoriales son métodos globales que realizan operaciones en conjuntos, tratándolos como vectores matemáticos. A diferencia de los métodos JavaScript integrados, como Math.sin, con estos métodos no se utiliza el prefijo Math.

A menos que se especifique lo contrario, los métodos matemáticos vectoriales no son estrictos con las dimensiones, devuelven un valor que es la dimensión del conjunto más grande, y los elementos que faltan se rellenan con ceros. Por ejemplo, la expresión [10, 20]+[1, 2, 3] devuelve [11, 22, 3].

add(vec1, vec2) Tipo de valor devuelto: conjunto. Agrega dos vectores.
Tipo de argumento: vec1 y vec2 son conjuntos.

sub(vec1, vec2) Tipo de valor devuelto: conjunto.
Tipo de argumento: vec1 y vec2 son conjuntos.
Resta dos vectores.

mul(vec, amount) Tipo de valor devuelto: conjunto.
Tipo de argumento: vec es un conjunto, amount es un número.
Multiplica cada elemento del vector por la cantidad.

div(vec, amount) Tipo de valor devuelto: conjunto.
Tipo de argumento: vec es un conjunto, amount es un número.
Divide cada elemento del vector entre la cantidad.

clamp(value, limit1, limit2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: value, limit1 y limit2 son números o conjuntos.
El valor de cada componente de value debe encontrarse entre los valores correspondientes de limit1 y limit2.

dot(vec1, vec2) Tipo de valor devuelto: número.
Tipo de argumento: vec1 y vec2 son conjuntos.
Devuelve el producto de puntos (interior) de los argumentos vectoriales.

cross(vec1, vec2) Tipo de valor devuelto: conjunto [2 ó 3].
Tipo de argumento: vec1 y vec2 son conjuntos [2 ó 3].
Devuelve el producto vectorial cruzado de vec1 y vec2. Si desea obtener más información, consulte una referencia matemática o una guía de JavaScript.

normalize(vec) Tipo de valor devuelto: conjunto.
Tipo de argumento: vec es un conjunto.
Normaliza el vector para que su longitud sea 1.0. Éste es un método abreviado para escribir div(vec, length(vec)).

length(vec) Tipo de valor devuelto: número.
Tipo de argumento: vec es un conjunto.
Devuelve la longitud del vector vec.

length(point1, point2) Tipo de valor devuelto: número.
Tipo de argumento: point1 y point2 son conjuntos.
Devuelve la distancia entre dos puntos. El parámetro point2 es opcional. Por ejemplo, length(point1, point2) es lo mismo que length(sub(point1, point2)).

lookAt(fromPoint, atPoint) Tipo de valor devuelto: conjunto [3].
Tipo de argumento: fromPoint y atPoint son conjuntos [3].

El argumento fromPoint es la ubicación en el espacio del entorno de la capa que se desea orientar. El argumento atPoint es el punto en el espacio del entorno al que desea que apunte la capa. Hacer que el eje z de la capa apunte a atPoint permite utilizar el valor de devolución como una expresión de la propiedad Orientación. Este método es especialmente útil para las cámaras y las luces. Si lo utiliza en una cámara, desactive la orientación automática. Ejemplo: lookAt(position, thisComp.layer(1).position)


Métodos de números aleatorios

seedRandom(seed, timeless=false) Tipo de valor devuelto: ninguno.
Tipo de argumento: seed es un número, timeless es un valor booleano.
Toma la raíz existente y la incrementa por un valor aleatorio que depende del índice de la capa (número), el flujo (propiedad) y el tiempo. Si timeless es verdadero, la raíz no depende del tiempo.

random() Tipo de valor devuelto: número.
Devuelve un número aleatorio entre 0 y 1.

random(maxValOrArray) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: maxValOrArray es un número o un conjunto.
Si maxValOrArray es un número, este método devuelve un número entre 0 y maxValOrArray. Si maxValOrArray es un conjunto, este método devuelve un conjunto con la misma dimensión que maxValOrArray, donde cada componente varía entre 0 y el componente correspondiente de maxValOrArray.

random(minValOrArray, maxValOrArray) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: minValOrArray y maxValOrArray son números o conjuntos.
Si minValOrArray y maxValOrArray son números, este método devuelve un número entre minValOrArray y maxValOrArray. Si los argumentos son conjuntos, este método devuelve un conjunto con la misma dimensión que el argumento de mayor dimensión, con cada componente entre los componentes correspondientes de minValOrArray y maxValOrArray. Por ejemplo, la expresión random([100, 200], [300, 400]) devuelve un conjunto cuyo primer valor se sitúa entre 100 y 300, y cuyo segundo valor se sitúa entre 200 y 400. Si las dimensiones de los dos conjuntos de entrada no coinciden, los valores de mayor dimensión del conjunto más corto se rellenarán con ceros.

gaussRandom() Tipo de valor devuelto: número.
Devuelve un número aleatorio. Los resultados tienen una distribución gaussiana (acampanada). Aproximadamente el 90% de los resultados se sitúan entre 0 y 1, y el 10% restante están fuera de este rango.

gaussRandom(maxValOrArray) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: maxValOrArray es un número o un conjunto.
Cuando maxValOrArray es un número, este método devuelve un número aleatorio. Aproximadamente el 90% de los resultados están en el rango de 0 a maxValOrArray y el 10% restante está fuera de este rango. Cuando maxValOrArray es un conjunto, este método devuelve un conjunto de valores aleatorios, con la misma dimensión que maxValOrArray. El 90% de los valores oscilan entre 0 y el valor de maxValOrArray, y el 10% restante está fuera de este rango. Los resultados tienen una distribución gaussiana (acampanada).

gaussRandom(minValOrArray, maxValOrArray) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: minValOrArray y maxValOrArray son números o conjuntos.
Si minValOrArray y maxValOrArray son números, este método devuelve un número aleatorio. Aproximadamente un 90% de los resultados están comprendidos entre minValOrArray y maxValOrArray, y el 10% restante están fuera de este rango. Si los argumentos son conjuntos, este método devuelve un conjunto de números aleatorios con la misma dimensión que el argumento de mayor dimensión. Para cada componente, aproximadamente el 90% de los resultados se encuentra entre los componentes correspondientes de minValOrArray y maxValOrArray, y el 10% restante está fuera de este rango. Los resultados tienen distribución gaussiana (acampanada).

noise(valOrArray) Tipo de valor devuelto: número.
Tipo de argumento: valOrArray es un número o un conjunto [2 ó 3].
Devuelve un número entre 0 y el valor de entrada. El ruido no es en realidad aleatorio, pero se utiliza cuando se desea obtener un número aparentemente aleatorio con alguna correlación entre muestras próximas. Está basado en el ruido Perlin. (Consulte un libro de referencia de gráficos informáticos para obtener más información.) Ejemplo: add(position, noise(position)*50)


Métodos de interpolación

linear(t, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t es un Número y value1 y value2 son números o conjuntos.
Devuelve un valor que se interpola linealmente desde value1 a value2 a medida que t varía entre 0 y 1. Devuelve value1 cuando t <= 0. Devuelve value2 cuando t >= 1.

linear(t, tMin, tMax, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t, tMin y tMax son números y value1 y value2 son números o conjuntos.
Devuelve value1 cuando t <= tMin. Devuelve value2 cuando t <= tMax. Devuelve una combinación lineal de value1 y value2 cuando tMin < t < tMax.

ease(t, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t es un Número y value1 y value2 son números o conjuntos.
Similar a linear, excepto que la interpolación facilita la entrada y la salida para que la velocidad dirigida sea 0 en los puntos inicial y final. Mediante este método se obtiene una animación suave.

ease(t, tMin, tMax, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t, tMin y tMax son números y value1 y value2 son números o conjuntos.

Similar a linear, excepto que la interpolación facilita la entrada y la salida para que la velocidad dirigida sea 0 en los puntos inicial y final. Mediante este método se obtiene una animación suave.

easeIn(t, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t es un número y value1 y value2 son números o conjuntos.
Similar a ease, excepto que la tangente es 0 sólo en el lado de value1 y la interpolación es lineal en el lado de value2.

easeIn(t, tMin, tMax, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t, tMin y tMax son números y value1 y value2 son números o conjuntos.
Similar a ease, excepto que la tangente es 0 sólo en el lado de tMin y la interpolación es lineal en el lado de tMax.

easeOut(t, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t es un Número y value1 y value2 son números o conjuntos.
Similar a ease, excepto que la tangente es 0 sólo en el lado de value1 y la interpolación es lineal en el lado de value2.

easeOut(t, tMin, tMax, value1, value2) Tipo de valor devuelto: número o conjunto.
Tipo de argumento: t, tMin y tMax son números y value1 y value2 son números o conjuntos.
Similar a ease, excepto que la tangente es 0 sólo en el lado de tMin y la interpolación es lineal en el lado de tMax.


Métodos de conversión de color

rgbToHsl(rgbaArray) Tipo de valor devuelto: conjunto [4].
Tipo de argumento: rgbaArray es un conjunto [4].
Convierte un color del espacio RGBA al espacio HSLA. La entrada es un conjunto de valores de los canales rojo, verde, azul y alfa normalizados, todos en el rango de 0,0 a 1,0. El valor obtenido es un conjunto de valores de los canales de tono, saturación, luminosidad y alfa, también en el rango de 0,0 a 1,0. Ejemplo: rgbToHsl.effect("Cambiar color")("Cambio de color")

hslToRgb(hslaArray) Tipo de valor devuelto: conjunto [4].
Tipo de argumento: hslaArray es un conjunto [4].
Convierte un color del espacio HSLA al espacio RGBA. Es el contrario de rgbToHsl.


Otros métodos matemáticos

degreesToRadians(degrees) Tipo de valor devuelto: número.
Tipo de argumento: grados es un número.
Convierte los grados en radianes.

radiansToDegrees(radians) Tipo de valor devuelto: número.
Tipo de argumento: radianes es un número.
Convierte los radianes en grados.


Atributos y métodos de Comp.

layer(index) Tipo de valor devuelto: capa, luz o cámara.
Tipo de argumento: index es un número.
Recupera la capa por el número (orden en el panel Línea de tiempo). Ejemplo: thisComp.layer(3)

layer("name") Tipo de valor devuelto: capa, luz o cámara.
Tipo de argumento: name es una cadena.
Recupera la capa por el nombre. Los nombres se clasifican por el nombre de capa o, si no hay ningún nombre de capa, por el nombre de origen. Si existen nombres duplicados, After Effects utiliza el primero del panel Línea de tiempo. Ejemplo: thisComp.layer("Solid 1")
layer(otherLayer, relIndex) Tipo de valor devuelto: capa, luz o cámara.
Tipo de argumento: otherLayer es un objeto de capa y relIndex es un número.
Recupera la capa que está relIndex capas por encima o por debajo de otherLayer. Por ejemplo, layer(thisLayer, -2) devuelve la capa del panel Línea de tiempo que está dos capas por encima de la capa en la que se ha escrito la expresión.

marker("nombre") Tipo de valor devuelto: número.
Tipo de argumento: name es una cadena.
Recupera el tiempo de un marcador de tiempo de composición. Por ejemplo, puede utilizarlo en una expresión escrita en una propiedad de opacidad de una capa para que se produzca una salida gradual donde esté situado el marcador:
markTime = thisComp.marker(1); linear(time, markTime -.5, markTime, 100, 0)

numLayers Tipo de valor devuelto: número.
Devuelve el número de capas de la composición.

activeCamera Tipo de valor devuelto: cámara.
Devuelve el objeto Cámara de la cámara a través de la cual se procesa la composición en el fotograma actual. No es necesariamente la cámara a través de la cual se mira en el panel Composición.

width Tipo de valor devuelto: número.
Devuelve el ancho de la composición en píxeles.

height Tipo de valor devuelto: número.
Devuelve el alto de la composición en píxeles.

duration Tipo de valor devuelto: número.
Devuelve la duración de la composición en segundos.

displayStartTime Tipo de valor devuelto: número.
Devuelve el tiempo de inicio de la composición en segundos.

frameDuration Tipo de valor devuelto: número.
Devuelve la duración del fotograma en segundos.

shutterAngle Tipo de valor devuelto: número.
Devuelve el valor del ángulo del obturador de la composición en grados.

shutterPhase Tipo de valor devuelto: número.
Devuelve la fase del obturador de la composición en grados.

bgColor Tipo de valor devuelto: conjunto [4].
Devuelve el color de fondo de la composición.

pixelAspect Tipo de valor devuelto: número.
Devuelve la proporción de aspecto de píxeles de la composición.

name Tipo de valor devuelto: cadena.
Devuelve el nombre de la composición.
Atributos y métodos de material de archivo

Para utilizar el material de archivo del panel Proyecto como un objeto en una expresión, utilice el método global footage, como en footage("filename"), y, a continuación, utilice cualquiera de los siguientes atributos. También puede acceder a un objeto de material de archivo mediante el atributo source en una capa cuyo origen sea un elemento de material de archivo.

width Tipo de valor devuelto: número.
Devuelve el ancho del material de archivo, en píxeles.

height Tipo de valor devuelto: número.
Devuelve el alto del material de archivo, en píxeles.

duration Tipo de valor devuelto: número.
Devuelve la duración del material de archivo, en segundos.

frameDuration Tipo de valor devuelto: número.
Devuelve la duración de un fotograma, en segundos.

pixelAspect Tipo de valor devuelto: número.
Devuelve la proporción de aspecto de píxeles del material de archivo.

name Tipo de valor devuelto: cadena.
Devuelve el nombre del material de archivo.


Atributos y métodos de subobjetos de capa

source Tipo de valor devuelto: comp o material de archivo.
Devuelve el objeto Comp o Material de archivo de origen de la capa. El tiempo predeterminado se ajusta al tiempo del origen. Ejemplo: source.layer(1).position

effect(name) Tipo de valor devuelto: efecto.
Tipo de argumento: name es una cadena.
After Effects busca el efecto por su nombre en Controles de efecto. El nombre puede ser el nombre predeterminado o el nombre definido por el usuario. Si hay más de un efecto con el mismo nombre, se utiliza el efecto más próximo a la parte superior de Controles de efecto. Ejemplo: effect("Fast Blur")("Blurriness")

effect(index) Tipo de valor devuelto: efecto.
Tipo de argumento: index es un número.
After Effects busca el efecto por su índice en Controles de efecto, a partir de 1 hacia abajo desde el principio.

mask(name) Tipo de valor devuelto: máscara.
Tipo de argumento: name es una cadena.
El nombre puede ser el nombre predeterminado o el nombre definido por el usuario. Ejemplo: mask("Mask 1")

mask(index) Tipo de valor devuelto: máscara.
Tipo de argumento: index es un número.
After Effects busca la máscara por su índice en el panel Línea de tiempo, a partir de 1 hacia abajo desde el principio.

Tags: After Effects 7.0

Publicado por emeaefe @ 20:13  | ARTICULOS
Comentarios (2)  | Enviar
Comentarios
Publicado por Invitado
viernes, 16 de noviembre de 2007 | 20:53
Muy bueno. Se agradecen post así. Muchas Gracias.
Publicado por Pablo Lombardo
jueves, 14 de agosto de 2008 | 15:38
Muchas gracias, por estos post uno da gracias que exista la internet, todo tendria que ser asi. si sabes de mas cosas similares tira los links.
Gracias mil