Guía del usuario Cancelar

Comprensión del lenguaje de expresión

  1. Guía del usuario de After Effects
  2. Versiones beta
    1. Descripción general del programa beta
    2. Comunidad beta de After Effects
  3. Introducción
    1. Introducción a After Effects
    2. Novedades de After Effects 
    3. Notas de la versión | After Effects
    4. Requisitos del sistema para After Effects
    5. Métodos abreviados de teclado en After Effects
    6. Formatos de archivo admitidos | After Effects
    7. Recomendaciones de hardware
    8. After Effects para Apple Silicon
    9. Planificación y configuración
  4. Espacios de trabajo
    1. Elementos generales de la interfaz de usuario
    2. Familiarización con la interfaz de After Effects
    3. Flujos de trabajo
    4. Espacios de trabajo, paneles y visores
  5. Proyectos y composiciones
    1. Proyectos
    2. Conceptos básicos sobre composiciones
    3. Precomposición, anidamiento y preprocesamiento
    4. Ver información de rendimiento detallada con el Perfilador de composición
    5. Procesador de composición de Cinema 4D
  6. Importación de material de archivo
    1. Preparación e importación de imágenes fijas
    2. Importación desde After Effects y Adobe Premiere Pro
    3. Importación e interpretación de vídeo y de audio
    4. Preparación e importación de archivos de imagen 3D
    5. Importación e interpretación de elementos de material de archivo
    6. Uso de elementos de material de archivo
    7. Detección de puntos de edición con Detección de edición de escena
    8. Metadatos XMP
  7. Texto y gráficos
    1. Texto
      1. Formato de caracteres y el panel Carácter
      2. Efectos de texto
      3. Creación y edición de capas de texto
      4. Aplicación de formato a párrafos y el panel Párrafo
      5. Extrusión de capas de texto y formas
      6. Animación del texto
      7. Ejemplos y recursos para animación de texto
      8. Plantillas de texto interactivo
    2. Gráficos animados
      1. Trabajar con plantillas de gráficos animados en After Effects
      2. Uso de expresiones para crear listas desplegables en plantillas de gráficos animados
      3. Trabajo con propiedades esenciales para crear plantillas de gráficos animados
      4. Reemplazo de imágenes y vídeos en plantillas de gráficos animados y propiedades esenciales
      5. Anime de forma más rápida y sencilla utilizando el panel Propiedades
  8. Dibujo, pintura y trazados
    1. Descripción general de las capas de forma, trazados y gráficos vectoriales
    2. Herramientas de pintura: Pincel, Tampón de clonar y Borrador
    3. Estrechar trazos de forma
    4. Atributos de forma, operaciones de pintura y operaciones de trazado para capas de forma
    5. Uso del efecto de forma Desplazar trazados para modificar formas
    6. Creación de formas
    7. Creación de máscaras
    8. Elimine objetos de sus vídeos desde el panel Relleno según el contenido
    9. Pincel tipo rotoscopia y Perfeccionar mate
  9. Capas, marcadores y cámara
    1. Selección y organización de capas
    2. Modos de fusión y estilos de capas
    3. Capas 3D
    4. Propiedades de capa
    5. Creación de capas
    6. Administración de capas
    7. Marcadores de capa y marcadores de composición
    8. Cámaras, luces y puntos de interés
  10. Animación, fotogramas clave, seguimiento del movimiento y efecto de clave
    1. Animación
      1. Conceptos básicos sobre animaciones
      2. Animación con herramientas de marioneta
      3. Administración y animación de trazados de formas y máscaras
      4. Animación de formas de Sketch y Capture con After Effects
      5. Herramientas de animación varias
      6. Trabajo con animación basada en datos
    2. Fotograma clave
      1. Interpolación de fotogramas clave
      2. Ajuste, selección y eliminación de fotogramas clave
      3. Edición, desplazamiento y copia de fotogramas clave
    3. Seguimiento de movimiento
      1. Seguimiento y estabilización del movimiento
      2. Seguimiento de caras
      3. Seguimiento de máscara
      4. Referencia de máscara
      5. Velocidad
      6. Ampliación del tiempo y reasignación del tiempo
      7. Unidades de visualización de tiempo y código de tiempo
    4. Incrustación
      1. Incrustación
      2. Efectos de incrustación
  11. Transparencia y composición
    1. Descripción general y recursos sobre composición y transparencia
    2. Canales alfa y mates
    3. Mates de seguimiento y mates móviles
  12. Ajuste del color
    1. Conceptos básicos sobre colores
    2. Gestión de color
    3. Efectos de corrección de color
    4. Gestión de color de OpenColorIO y ACE
  13. Ajustes preestablecidos de animación y efectos
    1. Información general de efectos y ajustes preestablecidos de animación
    2. Lista de efectos
    3. Administrador de efectos
    4. Efectos de simulación
    5. Efectos de Estilizar
    6. Efectos de audio
    7. Efectos de distorsión
    8. Efectos de perspectiva
    9. Efectos de canal
    10. Efectos de generación
    11. Efectos de tiempo
    12. Efectos de transición
    13. El efecto Reparación de obturación de desplazamiento
    14. Efectos de desenfoque y enfoque
    15. Efectos de canal 3D
    16. Efectos de utilidad
    17. Efectos mate
    18. Efectos Ruido y Granulado
    19. Efecto Mejora de conservación de detalles
    20. Efectos obsoletos
  14. Expresiones y automatización
    1. Expresiones
      1. Conceptos básicos sobre expresiones
      2. Comprensión del lenguaje de expresión
      3. Uso de los controles de expresión
      4. Diferencias de sintaxis entre los motores de expresiones de JavaScript y ExtendScript heredado
      5. Edición de expresiones
      6. Errores de expresiones
      7. Uso del editor de expresiones
      8. Uso de expresiones para editar y acceder a las propiedades de texto
      9. Referencia del lenguaje de expresión
      10. Ejemplos de expresiones
    2. Automatización
      1. Automatización
      2. Scripts
  15. Vídeo inmersivo, RV y 3D
    1. Construcción de entornos de VR en After Effects
    2. Aplicar efectos de vídeo envolvente
    3. Herramientas de composición para vídeos de VR/360
    4. Procesador 3D avanzado
    5. Importación y adición de modelos 3D a la composición
    6. Importación de modelos 3D desde las Bibliotecas Creative Cloud
    7. Iluminación basada en imágenes
    8. Extracción y animación de luces y cámaras a partir de modelos 3D
    9. Seguimiento del movimiento de la cámara 3D
    10. Proyección y aceptación de sombras
    11. Animaciones de modelos 3D incrustadas
    12. Captura de sombras
    13. Extracción de datos de profundidad 3D
    14. Modificación de las propiedades de materiales de una capa 3D
    15. Trabajo en espacios de diseño 3D
    16. Herramientas de transformación Gizmo 3D
    17. Haga más cosas con la animación 3D
    18. Previsualización de los cambios en diseños 3D en tiempo real con el motor Mercury 3D
    19. Adición de diseño interactivo a los gráficos 
  16. Vistas y previsualizaciones
    1. Previsualización
    2. Previsualización de vídeo con Mercury Transmit
    3. Modificación y utilización de vistas
  17. Procesamiento y exportación
    1. Principios básicos de procesamiento y exportación
    2. Codificación H.264 en After Effects
    3. Exportación de un proyecto de After Effects como un proyecto de Adobe Premiere Pro
    4. Conversión de películas
    5. Procesamiento de varios fotogramas
    6. Procesamiento automático y en red
    7. Procesamiento y exportación de imágenes fijas y secuencias de imágenes fijas
    8. Uso del códec de GoPro CineForm en After Effects
  18. Uso de otras aplicaciones
    1. Dynamic Link y After Effects
    2. Uso de After Effects y otras aplicaciones
      1. Exportación de un proyecto de After Effects como un proyecto de Adobe Premiere Pro
    3. Sincronización de la configuración en After Effects
    4. Bibliotecas Creative Cloud en After Effects
    5. Plugins
    6. CINEMA 4D y Cineware
  19. Colaboración: Frame.io y Team Projects
    1. Colaboración en Premiere Pro y After Effects
    2. Frame.io
      1. Instalar y activar Frame.io
      2. Utilizar Frame.io con Premiere Pro y After Effects
      3. Preguntas frecuentes
    3. Team Projects
      1. Introducción a Team Projects
      2. Creación de un proyecto de equipo
      3. Colaboración con Team Projects
  20. Memoria, almacenamiento y rendimiento
    1. Memoria y almacenamiento
    2. Cómo maneja After Effects los problemas de poca memoria durante la previsualización
    3. Mejora del rendimiento
    4. Preferencias
    5. Requisitos de la GPU y del controlador de la GPU para After Effects
  21. Base de conocimiento
    1. Problemas conocidos
    2. Problemas solucionados
    3. Preguntas frecuentes
    4. After Effects y macOS Ventura
    5. Cómo maneja After Effects los problemas de poca memoria durante la previsualización

Aprenda el lenguaje de expresión y utilícelo para crear diferentes expresiones en After Effects.

El lenguaje de expresión de After Effects está basado en JavaScript, con un conjunto extendido de objetos integrados. After Effects utiliza el lenguaje estándar de base de JavaScript, no las extensiones específicas del explorador web, y contiene su propio conjunto de objetos de extensión, como Capa, Comp, Material de archivo y Cámara.

Aunque el lenguaje de expresión se basa en un lenguaje de scripts, existe una diferencia sutil, pero esencial, entre un script y una expresión. A diferencia de un script, que indica a la aplicación que haga algo, una expresión indica a la propiedad que haga algo.

Al crear expresiones, tenga en cuenta lo siguiente:

  • El valor de una expresión es el valor de la última instrucción evaluada. Normalmente, esta es la última línea de la expresión. En su forma más sencilla, el valor de una expresión lo produce la última variable o función llamada en la expresión con base en el orden de evaluación. Sin embargo, también puede ser cualquier valor al que se haga referencia explícitamente como el valor devuelto. Esto puede incluir valores utilizados mucho antes en la expresión con fines de depuración o valores fuera de las variables y funciones declaradas explícitamente que no se procesan en el orden en que se escribieron.
  • JavaScript es un lenguaje que reconoce mayúsculas y minúsculas.
  • Las funciones no deben declararse en la parte inferior de una expresión.

Conceptos básicos sobre lenguajes

En JavaScript, un valor almacenado en un objeto se denomina propiedad. No obstante, After Effects usa el término propiedad para hacer referencia a los componentes de capa según se define en el panel Línea de tiempo. Por este motivo, en After Effects se hace referencia a las propiedades de JavaScript como métodos o atributos. En la práctica general, la diferencia entre un método y un atributo es que un método normalmente hace algo para crear su valor de salida (devolución), mientras que un atributo simplemente hace referencia a un valor existente para determinar su valor de salida (devolución). La forma más sencilla de diferenciar un método de un atributo es buscando los paréntesis que aparecen detrás del nombre del método, que rodea cualquier argumento de entrada al método.

Un objeto es un elemento que puede contener otros objetos, atributos y métodos. Las composiciones, capas y elementos de material de archivo son ejemplos de objetos. En concreto, las composiciones, capas y elementos de material de archivo son objetos globales, lo cual significa que se puede hacer referencia a ellos en cualquier contexto sin necesidad de hacer referencia a otros objetos de nivel superior.

Acceso a atributos y métodos

Utilice el lenguaje de expresiones para acceder a los atributos y métodos de las propiedades de capa. Para acceder a un valor, utilice una cadena de referencias a objetos separadas por el punto (.). Para encadenar referencias a objetos en un nivel superior al de capa (por ejemplo, para hacer referencia a propiedades de Efectos, máscaras o animadores de texto), también pueden utilizarse los 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 de expresión de la propiedad Opacidad de la Capa A:

thisCompayer(“Layer B”)ffect(“Gaussian Blur”)(“Blurriness”)

Al leer esta expresión de izquierda a derecha, avanzará desde el nivel superior, que contiene el objeto, hasta la propiedad específica:

  • El objeto global utilizado hace referencia a la composición actual: thisComp.

  • A un objeto de capa específico dentro de esa composición se hace referencia por su nombre: capa(“Capa B”).

  • A un objeto de efecto específico dentro de esa capa se hace referencia por su nombre: efecto(“Desenfoque gaussiano”).

  • A una propiedad de efecto específica dentro de ese efecto se hace referencia por su nombre: (“Difuminación”).

Para el componente n de una propiedad multidimensional, como el componente y de un punto de control de efecto, añada [n] al final, tal y como se muestra a continuación:

thisCompayer(“Layer B”)ffect(“Advanced Lightning”)(“Origin”1]

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) 
thisProperty.wiggle(5, 10)

Incluya 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 y con vinculación a la propiedad Rotación de la Capa A sería como la siguiente expresión:

thisCompayer(“Layer A”)otation
Nota:

Para ver más ejemplos sobre cómo funcionan las expresiones, utilice el icono espiral para vincular una propiedad de capa a otra y observe la expresión que se crea.

Conjuntos y propiedades multidimensionales

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]

Puede asignar un objeto 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 objeto de conjunto es el número de elementos en el conjunto. La dimensión de myArray es 2. Las distintas propiedades de After Effects tienen diferentes dimensiones según el número de argumentos de valores que tienen. En el lenguaje de expresión, los valores de las propiedades son valores sencillos (objetos Número) o conjuntos (objetos Conjunto).

En la siguiente tabla encontrará ejemplos de algunas propiedades y sus dimensiones:

Dimension

Propiedad

1

Rotación °

Opacidad %

2

Escala [x = anchura, y = altura]

Posición [x, y]

Punto de ancla [x, y]

Niveles de audio [izquierdo, derecho]

3

Escala [anchura, altura, profundidad]

Posición 3D [x, y, z]

Punto de ancla 3D [x, y, z]

Orientación [x, y, z]

4

Color [rojo, verde, azul, alfa]

Para acceder a los elementos individuales de un objeto Conjunto, utilice los corchetes y un número de índice que indique el elemento deseado. Los elementos de un objeto Conjunto se indexan a partir de 0. Con el ejemplo anterior, myArray[0] es 10 y myArray[1] es 23.

Las siguientes dos expresiones son equivalentes:

  [myArray[0], 5] 
  [10, 5]

Conjuntos de la propiedad Posición

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.

Representación de colores en los conjuntos

Los colores se representan como conjuntos 4D:

  • Rojo
  • Verde
  • Azul
  • Alfa

En los proyectos con una profundidad de color de 8 ó 16 bpc, cada valor de un conjunto de colores oscila 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, mientras que [1,1,1,1] es blanco y opaco. En los proyectos con una profundidad de color de 32 bpc, se permiten valores por debajo de 0 y por encima de 1.

Si utiliza un índice mayor que el índice del componente de mayor dimensión en un objeto 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 objeto Conjunto bidimensional o tridimensional dependiendo de si la capa es 2D o 3D.

Ejemplos

Si desea escribir una expresión que conserve el valor y de una animación de Posición, pero que fije el valor x en 9, utilice lo 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 = thisCompayer(“Layer A”)osition[0  
  y = thisCompayer(“Layer B”)osition[1  
  [x]

Puede crear una expresión que haga referencia a solo 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 de la propiedad Rotación de la Capa A a la propiedad Escala de la Capa B, aparece la siguiente expresión:

  thisCompayer(“Layer B”)cale[0]

De manera predeterminada, la expresión anterior utiliza el primer valor de la propiedad Escala, que es la anchura. Si prefiere utilizar el valor de la altura, 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:

  thisCompayer(“Layer B”)cale[1]

En cambio, si arrastra el icono espiral desde la propiedad Escala de la Capa B a la propiedad Rotación de la Capa A, After Effects crea automáticamente una variable, le asigna el valor unidimensional de la propiedad Rotación y, a continuación, utiliza esa variable para ambas dimensiones de la propiedad Escala:

  temp = thisComp.layer(1).transform.rotation;
 [temp, temp]

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, aunque 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 solo 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. El producto cruzado es útil cuando vec1 y vec2 son dos vectores que representan direcciones en el espacio, pero no lo es si solo representan dos conjuntos arbitrarios de números.

Índices y etiquetas

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 confusiones y errores si se mueve la capa, el efecto o la máscara, o bien si los argumentos cambian durante las actualizaciones de productos. Cuando utilice un nombre, enciérrelo siempre entre comillas rectas. Por ejemplo, la primera de estas expresiones es más fácil de comprender que la segunda; la primera sigue siendo válida aunque se cambie el orden de los efectos:

  effect(“Colorama”)aram(“Get Phase From”)  
  effect(1)aram(2)

Expresión tiempo

El tiempo dentro de una expresión siempre se sitúa en el tiempo de composición (no en el tiempo de capa) y se mide en segundos (no sucede con la expresión sourceRectAtTime()). 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 incremental al argumento tiempo. Por ejemplo, para obtener el valor Posición en 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 contenedora es una composición anidada y en la composición contenedora 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 composition”)ayer(1)osition

Sin embargo, si accede a la Capa 1 mediante la función fuente, los valores de posición utilizan el tiempo reasignado:

thisCompayer(“nested composition”)ourceayer(1)osition
Nota:

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

Las expresiones actúan sobre el tiempo en unidades de segundos (no en fotogramas), por lo que a veces es necesario usar métodos de conversión de tiempo para convertir los valores temporales y poder realizar operaciones en los fotogramas.

Ejemplo: Uso del lenguaje de expresión para escribir una expresión

Siga los pasos de este ejemplo para saber cómo utilizar la referencia de lenguaje de expresión de After Effects para escribir expresiones. La expresión creada en este ejemplo vincula la propiedad Posición de Sólido 2 a la propiedad Posición de Sólido 1, con un desplazamiento de movimiento del Sólido 2 de dos segundos respecto al movimiento de Sólido 1.

  1. Cree dos capas sólidas: Sólido 1 y Sólido 2.

  2. Anime los valores de la propiedad Posición de Sólido 1 con fotogramas clave. (Consulte Acerca de animación, fotogramas clave y expresiones.)

  3. Seleccione la propiedad Posición de Sólido 2 y elija Animación > Añadir expresión, o bien, presione Alt y haga clic (Windows) o presione Opción y haga clic en el botón del cronómetro   para la propiedad. De manera predeterminada, aparece la siguiente expresión:

      transform.position
  4. Escriba lo siguiente sobre transform.position:

      thisComp
  5. El elemento thisComp es un atributo global cuyo valor es un objeto Comp que representa la composición actual. Para determinar lo que puede seguir a thisComp en la expresión, consulte el valor devuelto para thisComp en la sección Objetos globales, atributos y métodos.

    Tenga en cuenta que thisComp devuelve un objeto Comp. A continuación, consulte Atributos y métodos de Comp. para saber qué atributos y métodos pueden utilizarse con un objeto Comp. Una opción es layer(index). El índice o número situado dentro de los paréntesis especifica la capa que desea utilizar. En este ejemplo, supondremos que Sólido 1 es la primera capa de la composición. Para recuperar valores de la primera capa de la composición activa, escriba.layer(1) al final de la expresión para obtener lo siguiente:

      thisComp.layer(1)
  6. Consulte de nuevo la referencia de los elementos de la expresión para comprobar que layer(index) devuelve un objeto Layer. Consulte Atributos y métodos generales de capa y localice el elemento que desee utilizar. Por ejemplo, si desea acceder a los valores de la propiedad Posición de la capa, escriba .position al final de la expresión para obtener lo siguiente:

      thisComp.layer(1).position
  7. En Atributos y métodos generales de capa, puede observar que el atributo position devuelve una propiedad. Consulte Atributos y métodos de propiedad y observe que puede añadir un factor de tiempo a la expresión. Para añadir un tiempo específico, como el tiempo actual más dos segundos, escriba .valueAtTime(time+2) al final de la expresión para obtener lo siguiente:

      thisComp.layer(1).position.valueAtTime(time+2)
  8. En Atributos y métodos de propiedad, observe que el método valueAtTime devuelve un Número o matriz. Cuando una expresión devuelve un Número, matriz o valor Booleano (como true o false), no se pueden añadir más atributos ni métodos a la expresión (no obstante, si lo desea, puede añadir operadores aritméticos, como +-*/).

Más recursos de Expresión

Ahora que ha entendido algunos de los conceptos que hay detrás de expresiones visite la comunidad para obtener ejemplos reales y compartir su trabajo.

En el foro de AE Enhancers también se incluyen diversos ejemplos e información sobre expresiones, así como secuencias de comandos y ajustes preestablecidos de animación.

Obtén ayuda de forma más rápida y sencilla

¿Nuevo usuario?