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 (3)  | 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
Publicado por Richa
Mi?rcoles, 15 de julio de 2009 | 16:51
gracias por este post, muy bueno y necesario gracias a eso e podigo seguir con algunos tutoriales y seguir encantado del programa, muchas gracias.