Guia do Usuário Cancelar

Referência de idioma de expressão

  1. Guia do usuário do After Effects
  2. Versões beta
    1. Visão geral do programa Beta
    2. Página inicial do After Effects Beta
  3. Introdução
    1. Introdução ao After Effects
    2. Novidades no After Effects 
    3. Notas de versão | After Effects
    4. Requisitos de sistema do After Effects
    5. Atalhos de teclado no After Effects
    6. Formatos de arquivo compatíveis | After Effects
    7. Recomendações de hardware
    8. After Effects para Apple Silicon
    9. Planejamento e configuração
  4. Espaços de trabalho
    1. Itens gerais da interface do usuário
    2. Conheça a interface do After Effects
    3. Fluxos de trabalho
    4. Espaços de trabalho, painéis e visualizadores
  5. Projetos e composições
    1. Projetos
    2. Noções básicas da composição
    3. Pré-composição, aninhamento e pré-renderização
    4. Exibir informações detalhadas de desempenho com o Criador de perfil de composição
    5. Renderizador de composição CINEMA 4D
  6. Importação de gravação
    1. Preparação e importação de imagens estáticas
    2. Importação do After Effects e do Adobe Premiere Pro
    3. Importação e interpretação de vídeo e áudio
    4. Preparo e importação de arquivos de imagem 3D
    5. Importação e interpretação de itens de gravação
    6. Trabalhar com itens de gravação
    7. Detectar pontos de edição usando a Detecção de edição de cena
    8. Metadados XMP
  7. Textos e gráficos
    1. Texto
      1. Formatação de caracteres e o painel Caractere
      2. Efeitos de texto
      3. Criação e edição de camadas de texto
      4. Formatação de parágrafos e o painel Parágrafo
      5. Extrusão de texto e camadas de forma
      6. Animação de texto
      7. Exemplos e recursos de animação de texto
      8. Modelos de texto dinâmico
    2. Animações
      1. Trabalhar com Modelos de animações no After Effects
      2. Usar expressões para criar listas suspensas em Modelos de animações
      3. Trabalhar com propriedades essenciais para criar Modelos de animações
      4. Substituir imagens e vídeos em Modelos de animações e Propriedades essenciais
      5. Anime de maneira mais rápida e fácil usando o painel Propriedades
  8. Desenho, pintura e caminhos
    1. Visão geral de camadas de forma, caminhos e gráficos vetoriais
    2. Ferramentas de pintura: Pincel, Carimbo e Borracha
    3. Traçados de forma cônica
    4. Atributos de forma, operações de pintura e operações de caminho para camadas de forma
    5. Use o efeito de forma Deslocar caminhos para alterar formas
    6. Criação de formas
    7. Criar máscaras
    8. Remover objetos de seus vídeos com o painel Preenchimento com reconhecimento de conteúdo
    9. Pincel tipo rotoscópio e Refinar fosco
  9. Camadas, marcadores e câmera
    1. Seleção e organização de camadas
    2. Modos de mesclagem e estilos de camadas
    3. Camadas 3D
    4. Propriedades da camada
    5. Criação de camadas
    6. Gerenciamento de camadas
    7. Marcadores de camada e de composição
    8. Câmeras, luzes e pontos de interesse
  10. Animação, quadros-chave, rastreamento de movimento e chaveamento
    1. Animação
      1. Noções básicas de animação
      2. Animação com ferramentas Marionete
      3. Gerenciamento e animação de caminhos de forma e máscaras
      4. Animação de desenho e captura de formas usando o After Effects
      5. Ferramentas de animação diversas
      6. Trabalhar com animação orientada por dados
    2. Quadro-chave
      1. Interpolação do quadro-chave
      2. Definir, selecionar e excluir quadros-chave
      3. Editar, mover e copiar quadros-chave
    3. Rastreamento de movimento
      1. Rastrear e estabilizar movimento
      2. Reconhecimento facial
      3. Rastreamento de máscara
      4. Referência de máscara
      5. Velocidade
      6. Esticamento e remapeamento de tempo
      7. Timecode e unidades de exibição de tempo
    4. Aplicação de máscara
      1. Aplicação de máscara
      2. Efeitos de máscara
  11. Transparência e composição
    1. Visão geral e recursos da composição e transparência
    2. Canais alfa e máscaras
    3. Foscos de controle e foscos móveis
  12. Ajustar cor
    1. Noções básicas de cores
    2. Gerenciamento de cores
    3. Efeitos de correção de cores
    4. Gerenciamento de cores OpenColorIO e ACES
    5. Compatibilidade com HDR aprimorada
  13. Predefinições de animação e efeitos
    1. Visão geral das predefinições de animação e efeitos
    2. Lista de efeitos
    3. Gerenciador de efeitos
    4. Efeitos de simulação
    5. Efeitos de estilo
    6. Efeitos de áudio
    7. Efeitos de distorção
    8. Efeitos de perspectiva
    9. Efeitos de canal
    10. Efeitos de geração
    11. Efeitos Tempo
    12. Efeitos de transição
    13. O efeito Reparo do obturador de rolagem
    14. Efeitos Desfoque e Tornar nítido
    15. Efeitos de Canal 3D
    16. Efeitos de utilitários
    17. Efeitos de fosco
    18. Efeitos Ruído e Granulação
    19. Efeito de ampliação com preservação de detalhes
    20. Efeitos obsoletos
  14. Expressões e automação
    1. Expressões
      1. Noções básicas de expressão
      2. Entender sobre a linguagem de expressões
      3. Utilização de controles de expressão
      4. Diferenças de sintaxe entre os mecanismos de expressão Javascript e Legacy ExtendScript
      5. Edição de expressões
      6. Erros de expressão
      7. Utilização do editor de expressões
      8. Usar expressões para editar e acessar propriedades de texto
      9. Referência de idioma de expressão
      10. Exemplos de expressão
    2. Automação
      1. Automação
      2. Scripts
  15. Vídeo imersivo, VR e 3D
    1. Construa ambientes VR no After Effects
    2. Aplicar efeitos de vídeo imersivo
    3. Ferramentas de composição para vídeos VR/360
    4. Renderizador 3D avançado
    5. Importar e adicionar modelos 3D à composição
    6. Importação de modelos 3D das bibliotecas da Creative Cloud
    7. Iluminação com base na imagem
    8. Extração e animação de luzes e câmeras de modelos 3D
    9. Rastreamento de movimento de câmera 3D
    10. Projetar e aceitar sombras
    11. Animações de modelos 3D incorporadas
    12. Coletor de sombras
    13. Extração de dados de profundidade 3D
    14. Modificar as propriedades de materiais de uma camada 3D
    15. Trabalhar no Espaço de design 3D
    16. Gizmos de transformação 3D
    17. Faça mais com a animação 3D
    18. Visualização de alterações em projetos 3D em tempo real com o mecanismo Mercury 3D.
    19. Adicionar design responsivo aos gráficos 
  16. Exibições e visualizações
    1. Visualizar
    2. Visualização de vídeo com o Mercury Transmit
    3. Modificação e utilização de exibições
  17. Renderização e exportação
    1. Noções básicas de renderização e exportação
    2. Codificação em H.264 no After Effects
    3. Exportar um projeto do After Effects como um projeto do Adobe Premiere Pro
    4. Conversão de filmes
    5. Renderização de vários quadros
    6. Renderização automatizada e renderização de rede
    7. Renderização e exportação de imagens estáticas e sequências de imagens estáticas
    8. Utilização do codec GoPro CineForm no After Effects
  18. Trabalho com outros aplicativos
    1. Dynamic Link e After Effects
    2. Trabalho com o After Effects e outros aplicativos
      1. Exportar um projeto do After Effects como um projeto do Premiere Pro
    3. Sincronizar configurações no After Effects
    4. Bibliotecas da Creative Cloud no After Effects
    5. Plug-ins
    6. Cinema 4D e Cineware
  19. Colaboração: Frame.io e Team Projects
    1. Colaboração no Premiere Pro e After Effects
    2. Frame.io
      1. Instalar e ativar o Frame.io
      2. Usar Frame.io com Premiere Pro e After Effects
      3. Perguntas frequentes
    3. Team Projects
      1. Introdução ao Team Projects
      2. Criar um Projeto de equipe
      3. Colaborar com o Team Projects
  20. Memória, armazenamento e desempenho
    1. Memória e armazenamento
    2. Como o After Effects lida com problemas de memória insuficiente durante uma visualização    
    3. Melhorar o desempenho
    4. Preferências
    5. GPU e os requisitos de driver de GPU para o After Effects
  21. Knowledge Base
    1. Problemas conhecidos
    2. Problemas corrigidos
    3. Perguntas frequentes
    4. After Effects e macOS Ventura
    5. Como o After Effects lida com problemas de memória insuficiente durante uma visualização

Saiba mais sobre expressões e referências de expressão como métodos de conversão de tempo e métodos de matemática de vetores no After Effects.

Repetição de quadros-chave com expressões no After Effects

Use os elementos de expressão do After Effects juntamente com os elementos JavaScript padrão para gravar as expressões. Use o menu Linguagem de expressão a qualquer momento para inserir métodos e atributos em uma expressão e você pode usar o ícone de seleção a qualquer momento para inserir propriedades.

Se a descrição de um argumento contiver um sinal de igual (=) e um valor (como t=time ou width=.2), o argumento usará o valor padrão incluído se você não especificar um valor diferente.

Algumas descrições de argumentos incluem um número entre colchetes, indicando a dimensão da propriedade ou matriz esperada.

Algumas descrições de valor de retorno incluem um número entre colchetes, o qual indica a dimensão da propriedade ou matriz retornada. Se uma dimensão específica não for incluída, a dimensão da matriz retornada dependerá das dimensões da entrada.

O site de referência W3Schools JavaScript fornece informações para a linguagem JavaScript padrão, incluindo páginas para os objetos JavaScript Math e String.

Expressões: mecanismo JavaScript

O After Effects usa o mecanismo Javascript ao avaliar expressões. O desempenho da avaliação das expressões durante a renderização pode ser até 5x mais rápido do que o mecanismo Legacy ExtendScript.

No Windows, o After Effects usa o mecanismo Javascript de código aberto V8. Essa é uma versão de Javascript mais moderna do que a disponível no ExtendScript e compatível somente com a 3ª edição do padrão ECMA-262.

Você pode usar as Configurações do projeto para escolher se um projeto usa o mecanismo JavaScript ou o ExtendScript herdado.

  1. Selecione Arquivo > Configurações do projeto.

  2. Clique na guia Expressões e selecione o Mecanismo de expressões como JavaScript ou ExtendScript herdado.

    Observação:

    Projetos salvos em versões anteriores do After Effects utilizam o ExtendScript herdado como padrão.

Melhorias fornecidas pelo mecanismo Javascript

  • Maior precisão matemática em operações de ponto flutuante. 
  • Os métodos matriz e sequência de caracteres de Javascript moderno podem ser usados.
  • Estão disponíveis outros objetos de Javascript moderno, como matriz digitada, uso das palavras-chave “let” e “const” e muitas outras adições às versões recentes do padrão ECMA-262.

Diferenças entre o mecanismo Javascript e ExtendScript

  • A sintaxe para instruções if/else é restrita no mecanismo Javascript e devem ser escritas para Javascript padronizado.
  • Ao acessar os índices dos caracteres em uma camada de texto como uma matriz, use text.sourceText.value[i] em vez de text.sourceText[i].
  • Não há suporte para os métodos mais antigos da expressão snake_case, como this_comp e to_world, que foram descontinuados anteriormente no ExtendScript.
  • A sintaxe 'this(arg)' simplificada não é compatível.

Objetos, atributos e métodos globais (referência da expressão)

comp(name)

Tipo de retorno: Comp.

Tipo de argumento: nome é uma String.

Recupera outra composição por nome.

footage(name)

Tipo de retorno: Gravação.

Tipo de argumento: nome é uma String.

Recupera um item de gravação por nome.

thisComp

Tipo de retorno: Comp.

Representa a composição que contém a expressão.

thisLayer

Tipo de retorno: Camada, Luz ou Câmera.

Representa a camada que contém a expressão. Como thisLayer é o objeto padrão, seu uso é opcional. Por exemplo, é possível iniciar uma expressão com thisLayer.width ou width e obter o mesmo resultado.

thisProperty

Tipo de retorno: Propriedade.

Representa a propriedade que contém a expressão. Por exemplo, se você grava uma expressão na propriedade Rotação, é possível iniciar uma expressão com thisProperty para fazer referência à propriedade Rotação.

hora

Tipo de retorno: Número.

Representa o tempo de composição, em segundos, no qual a expressão está sendo avaliada.

colorDepth

Tipo de retorno: Número.

Retorna o valor de intensidade de cor do projeto. Por exemplo, colorDepth retorna 16 quando a intensidade de cor do projeto é 16 bits por canal.

posterizeTime(framesPerSecond)

Tipo de retorno: Número.

Tipo de argumento: framesPerSecond é um Número.

O valor framesPerSecond torna-se a taxa de quadros a partir da qual o restante da expressão opera. Essa expressão permite definir a taxa de quadros de uma propriedade como inferior à taxa de quadros da composição. Por exemplo, a expressão a seguir atualiza o valor da propriedade com um valor aleatório uma vez por segundo:

  posterizeTime(1);    random()

valor

Tipo de retorno: Número, Matriz ou String.

Representa o valor no tempo atual para a propriedade que contém a expressão.

Métodos de conversão de tempo (referência de expressão)

timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)

Tipo de retorno: Número.

Tipo de argumento: t e fps são Números; isDuration é um Booleano.

Converte o valor de t, cujo padrão é o tempo de composição atual, em um número inteiro de quadros. O número de quadros por segundo é especificado no argumento fps, cujo padrão é a taxa de quadros da composição atual (1.0 / thisComp. frameDuration). O argumento isDuration, cujo padrão é falso, deverá ser verdadeiro se o valor t representar uma diferença entre dois tempos em vez de um tempo absoluto. Os tempos absolutos são arredondados para baixo em direção ao infinito negativo; as durações são arredondadas de zero (para valores positivos).

framesToTime(frames, fps = 1.0 / thisComp.frameDuration)

Tipo de retorno: Número.

Tipo de argumento: quadros e fps são Números.

O inverso de timeToFrames. Retorna o tempo correspondente ao argumento frames, que é obrigatório. Não precisa ser um número inteiro. Consulte timeToFrames para obter uma explicação do argumento fps .

timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false)

Tipo de retorno: String.

Tipo de argumento: t e timecodeBase são Números; isDuration é um Booleano.

Converte o valor de t em uma string que representa o timecode. Consulte timeToFrames para obter uma explicação sobre os argumentos t e isDuration. O valor timecodeBase, cujo padrão é 30, especifica o número de quadros em um segundo.

timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false)

Tipo de retorno: String.

Tipo de argumento: t é um número, ntscDropFrame e isDuration são booleanos.

Converte t em uma string que representa o timecode NTSC. Consulte timeToFrames para obter uma explicação sobre os argumentos t e isDuration. Se ntscDropFrame for falso (o valor padrão), a string de resultado será o timecode de quadro não ignorado NTSC. Se ntscDropFrame for verdadeiro, a string resultante será o timecode de quadro ignorado NTSC.

timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false)

Tipo de retorno: String.

Tipo de argumento: tfps, e framesPerFoot são Números; isDuration é um Booleano.

Converte o valor de t em uma string que representa a quantidade de filme e quadros em pés. Consulte timeToFrames para obter uma explicação sobre os argumentos tfps, e isDuration. O argumento framesPerFoot  especifica o número de quadros em um pé de filme. O padrão é 16, que é a taxa mais comum para gravação de 35 mm.

timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)

Tipo de retorno: String.

Tipo de argumento: t e fps são Números; isDuration é Booleano.

Converte o valor t como uma sequência de caracteres que representa o tempo no formato de exibição atual Configurações do projeto. Consulte timeToFrames para uma obter uma definição de todos os argumentos.

Um argumento ntscDropFrame opcional foi adicionado à função timeToCurrentFormat() no After Effects CS5.5 e posterior. Padrão: ntscDropFrame = thisComp.ntscDropFrame.

Observação:

Se quiser ter mais controle sobre a aparência do timecode em sua gravação, use o método timeToCurrentFormat ou outros métodos timeTo para gerar o timecode em vez de usar o efeito Timecode ou Números. Crie uma camada de texto, adicione uma expressão à propriedade Texto de origem e insira timeToCurrentFormat() no campo de expressão. Com esse método, você pode formatar e animar texto do timecode. Além disso, o timecode usa o mesmo estilo de exibição definido pelas configurações atuais do projeto.

Métodos de matemática de vetores (referências a expressão)

As funções Matemática de vetores são métodos globais que realizam operações em matrizes, tratando-as como vetores matemáticos. Diferentemente dos métodos JavaScript incorporados, como Math.sin, esses métodos não são usados com o prefixo Math. Salvo especificado em contrário, os métodos de matemática de vetores são brandos em relação às dimensões e retornam um valor que é a dimensão do objeto Matriz de entrada maior, preenchendo elementos ausentes com zeros. Por exemplo, a expressão add([10, 20], [1, 2, 3]) retorna [11, 22, 3].

add(vec1, vec2)

Tipo de retorno: Matriz.

Tipo de argumento: vec1 e vec2 são matrizes.

Adiciona dois vetores.

sub(vec1, vec2)

Tipo de retorno: Matriz.

Tipo de argumento: vec1 e vec2 são matrizes.

Subtrai dois vetores.

mul(vec, amount)

Tipo de retorno: Matriz.

Tipo de argumento: vec é uma matriz, valor é um número.

Multiplica cada elemento do vetor pelo valor.

div(vec, amount)

Tipo de retorno: Matriz.

Tipo de argumento: vec é uma matriz, valor é um número.

Divide cada elemento do vetor pelo valor.

clamp(value, limit1, limit2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: value, limit1 e limit2 são Números ou Matrizes.

O valor de cada componente de value fica restrito entre os valores dos valores correspondentes de limit1 e limit2.

dot(vec1, vec2)

Tipo de retorno: Número.

Tipo de argumento: vec1 e vec2 são matrizes.

Retorna o produto (interno) do ponto dos argumentos de vetor.

cross(vec1, vec2)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec1 e vec2 são matrizes [2 ou 3].

Retorna o produto vetorial de vec1 e vec2. Consulte uma referência matemática ou um guia JavaScript para obter mais informações.

normalize(vec)

Tipo de retorno: Matriz.

Tipo de argumento: vec é uma matriz.

Normaliza o vetor para que seu comprimento seja 1,0. Usar o método normalizar é uma maneira rápida de executar a operação div(vec, length( vec)).

length(vec)

Tipo de retorno: Número.

Tipo de argumento: vec é uma matriz.

Retorna o comprimento de vetor vec.

length(point1, point2)

Tipo de retorno: Número.

Tipo de argumento: point1 e point2 são matrizes.

Retorna a distância entre dois pontos. O argumento point2 é opcional. Por exemplo, length(point1, point2) é o mesmo que length(sub(point1, point2)).

Por exemplo, adicione esta expressão à propriedade Distância do foco de uma câmera para travar o plano focal no ponto de interesse da câmera, de forma que ele seja destacado:

  length(position, pointOfInterest)

lookAt(fromPoint, atPoint)

Tipo de retorno: Matriz [3].

Tipo de argumento: fromPoint e atPoint são Matrizes [3].

O argumento fromPoint é o local no espaço do mundo da camada que deseja orientar. O argumento atPoint é o ponto no espaço do mundo para o qual você deseja apontar a camada. O valor de retorno pode ser usado como uma expressão da propriedade Orientação, tornando o eixo z do ponto de camada em atPoint. Esse método é particularmente útil para câmeras e luzes. Se você usar esta expressão em uma câmera, desative a orientação automática. Por exemplo, a expressão na propriedade Orientação de uma luz de spot faz a luz apontar para o ponto de ancoragem da camada número 1 na mesma composição: lookAt(position, thisComp.layer(1).position)

Métodos de números aleatórios (referências à expressão)

Observação:

O método de chocalho, usado para variar aleatoriamente um valor de propriedade, está na categoria de atributos e métodos Propriedade. Para obter mais informações, consulte Atributos e métodos da propriedade (referência da expressão).

seedRandom(offset, timeless=false)

Tipo de retorno: Nenhum.

Tipo de argumento: deslocamento é um número, atemporal é um booleano.

Os métodos random e gaussRandom  usam um valor inicial que controla a sequência de números. Por padrão, o valor inicial é calculado como uma função de um identificador de camada exclusivo, da propriedade dentro da camada, da hora atual e com um valor de deslocamento de 0. Utilize seedRandom para definir um valor de deslocamento diferente de 0 e criar uma sequência aleatória distinta.

Use verdadeiro para o argumento timeless para não usar o horário atual como entrada para o valor inicial aleatório. Usar verdadeiro para o argumento atemporal permite gerar um número aleatório que não varia conforme o momento da avaliação.

O valor deslocamento (não o valor atemporal) também é usado para controlar o valor inicial da função chocalho.

Por exemplo, esta expressão na propriedade Opacidade define o valor de Opacidade como um valor aleatório que não varia com o tempo:

  seedRandom(123456, true);    random()*100

A multiplicação por 100 neste exemplo converte o valor no intervalo de 0 a 1 retornado pelo método aleatório em um número no intervalo 0–100; esse intervalo normalmente é mais útil para a propriedade Opacidade, que tem valores de 0% a 100%.

random()

Tipo de retorno: Número.

Retorna um número aleatório no intervalo 0-1.

No After Effects CC e CS6, o comportamento de random() é alterado para ser mais aleatório quando as IDs de camada estão próximas. A expressão wiggle() não é afetada.

random(maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: maxValOrArray é um número ou matriz.

Se maxValOrArray for um número, esse método retornará um número no intervalo de 0 a maxValOrArray. Se maxValOrArray for uma matriz, esse método retornará uma matriz com a mesma dimensão que maxValOrArray, com cada componente variando de 0 ao componente correspondente de maxValOrArray.

random(minValOrArray, maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: minValOrArray e maxValOrArray são números ou matrizes.

Se minValOrArray e maxValOrArray forem números, esse método retornará um número no intervalo de minValOrArray a maxValOrArray. Se os argumentos forem matrizes, esse método retornará uma matriz com a mesma dimensão do argumento com a dimensão maior, com cada componente no intervalo do componente correspondente de minValOrArray ao componente correspondente de maxValOrArray. Por exemplo, a expressão random([100, 200], [300, 400]) retorna uma matriz cujo primeiro valor está no intervalo de 100 a 300 e cujo segundo valor está no intervalo de 200 a 400. Se as dimensões das duas Matrizes de entrada não corresponderem, os valores de dimensão mais alta da Matriz mais curta serão preenchidos com zeros.

gaussRandom()

Tipo de retorno: Número.

Retorna um número aleatório. Os resultados têm uma distribuição Gaussiana (em forma de sino). Aproximadamente 90% dos resultados estão no intervalo de 0 a 1 e os restantes 10% estão fora desse intervalo.

gaussRandom(maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: maxValOrArray é um número ou matriz.

Quando maxValOrArray é um número, esse método retorna um número aleatório. Aproximadamente 90% dos resultados estão no intervalo de 0 a maxValOrArray, e os 10% restantes estão fora deste intervalo. Quando maxValOrArray for uma matriz, este método retorna uma matriz de valores aleatórios, com as mesmas dimensões que maxValOrArray. 90% dos valores estão no intervalo de 0 a maxValOrArray, e os 10% restantes estão fora desse intervalo. Os resultados têm uma distribuição gaussiana (em forma de sino).

gaussRandom(minValOrArray, maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: minValOrArray e maxValOrArray são números ou matrizes.

Se minValOrArray e maxValOrArray forem números, este método retornará um número aleatório. Aproximadamente 90% dos resultados estão no intervalo de minValOrArray a maxValOrArray, e os 10% restantes estão fora desse intervalo. Se os argumentos forem matrizes, este método retornará uma matriz de números aleatórios com as mesmas dimensões que o argumento com a dimensão maior. Para cada componente, aproximadamente 90% dos resultados estão no intervalo do componente correspondente de minValOrArray ao componente correspondente de maxValOrArray, e os 10% restantes estão fora desse intervalo. Os resultados possuem uma distribuição gaussiana (em forma de sino).

noise(valOrArray)

Tipo de retorno: Número.

Tipo de argumento: valOrArray é um número ou uma matriz [2 ou 3].

Retorna um número no intervalo de -1 a 1. O ruído não é realmente aleatório; baseia-se no ruído Perlin, o que significa que os valores de retorno para dois valores de entrada que estão próximos um do outro também tendem a estar próximos um do outro. Esse tipo de ruído é útil para uma sequência de números aleatórios que você não variam descontroladamente variam um ao outro – como costuma ser o caso ao animar qualquer movimento natural aparentemente aleatório. Exemplo: rotação + 360*ruído(tempo)

Métodos de interpolação (referências a expressão)

Para todos os métodos de interpolação, o argumento t é frequentemente tempo ou valor, mas pode ter outros valores. Se t for tempo, a interpolação entre valores ocorre em uma duração. Se t for o valor, a expressão mapeará um intervalo de valores para um novo intervalo de valores.

linear(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t,tMin e tMax são números e value1 e valor2 são números ou matrizes.

Retorna value1 quando t <= tMin. Retorna value2 quando t >= tMax. Retorna uma interpolação linear entre value1 e value2 quando tMin < t < tMax.

Por exemplo, essa expressão na propriedade Opacidade faz com que os valores de opacidade aumentem linearmente de 20% para 80% no tempo de 0 segundos a 6 segundos:

  linear(time, 0, 6, 20, 80)

Esse método, como todos os métodos de interpolação, também pode ser usado para converter um intervalo de valores em outro. Por exemplo, essa expressão na propriedade Opacidade converte os valores de Opacidade, passando do intervalo 0%-100% para o intervalo 20%-80%:

  linear(value, 0, 100, 20, 80)

linear(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e value2 são números ou matrizes.

Retorna um valor com uma interpolação linear de value1 a value2 na forma de intervalos t de 0 a 1. Retorna value1 quando t <= 0. Retorna value2 quando t >= 1.

ease(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e value2 são números ou matrizes.

Semelhante ao linear com os mesmos argumentos, exceto que a interpolação atenua para dentro e para fora para que a velocidade seja 0 nos pontos iniciais e finais. Esse método resulta em uma animação suave.

ease(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t, tMin e tMax são números e value1 e value2 são números ou matrizes.

Semelhante ao linear com os mesmos argumentos, exceto que a interpolação atenua para dentro e para fora para que a velocidade seja 0 nos pontos iniciais e finais. Esse método resulta em uma animação suave.

easeIn(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e value2 são números ou matrizes.

Semelhante à atenuação, exceto que a tangente é 0 somente no lado de value1 e a interpolação é linear no lado de value2.

easeIn(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t, tMin, e tMax são números e value1 e value2 são Números ou Matrizes.

Semelhante à atenuação, exceto que a tangente é 0 apenas no lado de tMin e a interpolação é linear no lado de tMax.

easeOut(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e valuer2 são números ou matrizes .

Semelhante à atenuação, exceto que a tangente é 0 apenas no lado de value2 e a interpolação é linear no lado de value1.

easeOut(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t, tMin, e tMax são números e value1 e value2 são númerros ou matrizes.

Semelhante à atenuação, exceto que a tangente é 0 apenas no lado de tMax e a interpolação é linear no lado de tMin.

Métodos de conversão de cores (referência de expressão)

rgbToHsl(rgbaArray)

Tipo de retorno: Matriz [4].

Tipo de argumento: rgbaArray é uma Matriz [4].

Converte uma cor do espaço RGBA para um espaço HSLA. A entrada é uma matriz de valores normalizados de canal de vermelho, verde, azul e alfa, todos no intervalo de 0,0 a 1,0. O valor resultante é uma matriz de matiz, saturação, luminosidade e valores do canal alfa, também no intervalo de 0,0 a 1,0. Exemplo:

  rgbToHsl.effect(“Alterar cor”)(“Cor a ser alterada”)

hslToRgb(hslaArray)

Tipo de retorno: Matriz [4].

Tipo de argumento: hslaArray é uma Matriz [4].

Converte uma cor do espaço HSLA para um espaço RGBA. Esta conversão é o oposto da conversão executada pelo método rgbToHsl.

Outros métodos matemáticos (referências a expressão)

degreesToRadians(degrees)

Tipo de retorno: Número.

Tipo de argumento: graus é um número.

Converte graus em radianos.

radiansToDegrees(radians)

Tipo de retorno: Número.

Tipo de argumento: radianos é um número.

Converte radianos em graus.

Atributos e métodos da Composição (referência de expressão)

layer(index)

Tipo de retorno: Camada, Luz ou Câmera.

Tipo de argumento: index é um número.

Recupera a camada pelo número (ordem no painel Linha do tempo). Exemplo: thisComp.layer(3)

layer(name)

Tipo de retorno: Camada, Luz ou Câmera.

Tipo de argumento: name é uma Sequência de caracteres.

Recupera a camada por nome. Os nomes são correspondidos de acordo com o nome da camada, ou nome da origem se não houver nenhum nome da camada. Se houver nomes duplicados, o After Effects utiliza o primeiro (superior) no painel Linha do tempo. Exemplo:

  thisComp.layer("Solid 1")

layer(otherLayer, relIndex)

Tipo de retorno: Camada, Luz ou Câmera.

Tipo de argumentos: otherLayer é um objeto de camada e relIndex é um número.

Recupera a camada ou seja camadas relIndex acima ou abaixo de otherLayer. Por exemplo, thisComp.layer(thisLayer, 1).active retornará verdadeiro se a próxima camada no painel Linha do tempo estiver ativa.

marker

Tipo de retorno: MarkerProperty.

Observação:

Você não pode acessar um marcador de composição pelo número do marcador. Se você tiver um projeto criado em uma versão anterior do After Effects que usa números de marcadores de composição em expressões, deverá alterar essas chamadas para usar marker.key(name). Como o nome padrão de um marcador de composição é um número, basta colocar o número entre aspas para converter a referência e usar o nome.

marker.key(index)

Tipo de retorno: MarkerKey.

Tipo de argumento: index é um número.

Retorna o objeto MarkerKey do marcador com o índice especificado. O índice refere-se à ordem do marcador no tempo de composição, não ao nome do marcador. Por exemplo, esta expressão retorna o tempo do primeiro marcador de composição:

  thisComp.marker.key(1).time

marker.key(name)

Tipo de retorno: MarkerKey.

Tipo de argumento: nome é uma String.

Retorna o objeto MarkerKey do marcador com o nome especificado. O valor name é o nome do marcador, conforme digitado no campo de comentários na caixa de diálogo do marcador, por exemplo, marker.key ("1"). Para um marcador de composição, o nome padrão é um número. Se mais de um marcador na composição tiver o mesmo nome, esse método retornará o marcador que ocorre primeiro no tempo da composição. O valor de uma chave de marcador é uma string, não um número. Por exemplo, essa expressão retornará o tempo do marcador de composição com o nome “0”:

  thisComp.marker.key("0").time

marker.nearestKey(t)

Tipo de retorno: MarkerKey.

Tipo de argumento: t é um número.

Retorna o marcador que está mais próximo no tempo de t. Por exemplo, esta expressão retorna o tempo do marcador de composição mais próximo do tempo de 1 segundo:

  thisComp.marker.nearestKey(1).time 

Esta expressão retorna o horário do marcador de composição mais próximo do horário atual:

  thisComp.marker.nearestKey(time).time

marker.numKeys

Tipo de retorno: Número.

Retorna o número total de marcadores de composição na composição.

numLayers

Tipo de retorno: Número.

Retorna o número de camadas na composição.

activeCamera

Tipo de retorno: Câmera.

Retorna o objeto Câmera para a câmera em que a composição foi renderizada no quadro atual. Essa câmera não é necessariamente a câmera em que você está visualizando o painel Composição.

largura

Tipo de retorno: Número.

Retorna a largura da composição, em pixels.

Aplique a seguinte expressão à propriedade Posição de uma camada para centralizá-la no quadro da composição:

  [thisComp.width/2, thisComp.height/2]

altura

Tipo de retorno: Número.

Retorna a altura da composição, em pixels.

duração

Tipo de retorno: Número.

Retorna a duração da composição, em segundos.

ntscDropFrame

Tipo de retorno: booleano.

Retorna verdadeiro se o timecode estiver no formato de quadro ignorado. (After Effects CS5.5 e posterior.)

displayStartTime

Tipo de retorno: Número.

Retorna o horário de início da composição, em segundos.

frameDuration

Tipo de retorno: Número.

Retorna a duração de um quadro, em segundos.

shutterAngle

Tipo de retorno: Número.

Retorna o valor do ângulo do obturador da composição, em graus.

shutterPhase

Tipo de retorno: Número.

Retorna a fase do obturador da composição, em graus.

bgColor

Tipo de retorno: Matriz [4].

Retorna a cor do fundo da composição.

pixelAspect

Tipo de retorno: Número.

Retorna as proporções de pixel da composição.

nome

Tipo de retorno: String.

Retorna o nome da composição.

Atributo de região protegida do marcador de composição

A opção Região protegida dos marcadores de composição pode ser lida com o atributo de marcador de composição protectedRegion.

Atributos e métodos da gravação (referência de expressão)

Para usar um item de gravação do painel Projeto como um objeto em uma expressão, use o método de gravação global, como em footage(“file_name”). Você também pode acessar um objeto de gravação usando o atributo source em uma camada cuja origem é um item de gravação.

largura

Tipo de retorno: Número.

Retorna a largura do item de gravação, em pixels.

altura

Tipo de retorno: Número.

Retorna a altura do item de gravação, em pixels.

duração

Tipo de retorno: Número.

Retorna a duração do item de gravação, em segundos.

frameDuration

Tipo de retorno: Número.

Retorna a duração de um quadro no item de gravação, em segundos.

ntscDropFrame

Tipo de retorno: booleano.

Retorna verdadeiro se o timecode estiver no formato quadro ignorado. (After Effects CS5.5 e posterior.)

pixelAspect

Tipo de retorno: Número.

Retorna as proporções de pixel do item de gravação.

nome

Tipo de retorno: String.

Retorna o nome do item de gravação, conforme mostrado no painel Projeto.

Atributos e métodos de subobjetos da camada (referência de expressão)

source

Tipo de retorno: composição ou gravação.

Retorna o objeto de composição de origem ou o objeto de gravação de origem da camada. O tempo padrão é ajustado de acordo com o tempo da origem. Exemplo: source.layer(1).position

sourceTime(t = time)

Tipo de retorno: Número.

Retorna a origem da camada correspondente ao tempo t. (After Effects CS5.5 e posterior.)

sourceRectAtTime(t = time, includeExtents = false)

Tipo de retorno: objeto Javascript com quatro atributos: [superior, esquerda, largura, altura]. As extensões se aplicam somente a camadas de forma, aumentando o tamanho dos limites da camada conforme necessário e a camadas de texto de parágrafo (After Effects 15,1 e posterior), onde retorna os limites da caixa de parágrafo. Exemplo: myTextLayer.sourceRectAtTime().width.

effect(name)

Tipo de retorno: Efeito.

Tipo de argumento: name é uma Sequência de caracteres.

O After Effects localiza o efeito pelo nome no painel Controles do efeito. O nome pode ser o nome padrão ou um nome definido pelo usuário. Se vários efeitos tiverem o mesmo nome, o efeito localizado na extremidade superior do painel Controles do efeito será usado. Exemplo:

effect(“Fast Blur”)(“Blurriness”)

effect(index)

Tipo de retorno: Efeito.

Tipo de argumento: index é um número.

O After Effects localiza o efeito pelo seu índice no painel Controles do efeito, começando em 1 e contando a partir do topo.

mask(name)

Tipo de retorno: Máscara.

Tipo de argumento: name é uma Sequência de caracteres.

O nome pode ser o nome padrão ou um nome definido pelo usuário. Se várias máscaras tiverem o mesmo nome, a primeira máscara (superior) é usada. Exemplo:

mask("Mask 1")

mask(index)

Tipo de retorno: Máscara.

Tipo de argumento: index é um número.

O After Effects encontra a máscara pelo seu índice no painel Linha do tempo, começando em 1 e contando a partir do topo.

Atributos e métodos da Camada geral (referência de expressão)

largura

Tipo de retorno: Número.

Retorna a largura da camada, em pixels. Isso equivale a source.width.

altura

Tipo de retorno: Número.

Retorna a altura da camada, em pixels. Isso equivale a source.height.

index

Tipo de retorno: Número.

Retorna o número de índice da camada na composição.

parent

Tipo de retorno: Camada, Luz ou Câmera.

Retorna o objeto Camada principal da camada, se houver um. Exemplo: position[0] + parent.width

hasParent

Tipo de retorno: booleano.

Retorna verdadeiro se a camada tiver uma camada principal ou falso se não tiver.

Use o atributo hasParent  para determinar se uma camada tem uma camada principal. Você pode usar esse atributo mesmo que a camada não tenha nenhuma camada principal no momento. Por exemplo, a expressão a seguir indica que a camada à qual você a aplica oscila com base na posição da camada principal. Se a camada não tiver uma camada principal, ela oscilará com base em sua própria posição. Se a camada receber uma camada principal posteriormente, o comportamento da camada mudará de acordo com essa alteração:

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

inPoint

Tipo de retorno: Número.

Retorna o Ponto de entrada de camada, em segundos.

Observação:

Geralmente, o valor outPoint é maior que o valor inPoint. Porém, se a camada é invertida no tempo, o valor inPoint é maior que o valor outPoint. Similarmente, o valor startTime pode ser maior que o valor inPoint.

outPoint

Tipo de retorno: Número.

Retorna o Ponto de saída da camada, em segundos.

startTime

Tipo de retorno: Número.

Retorna a hora inicial da camada, em segundos.

hasVideo

Tipo de retorno: booleano.

Retorna verdadeiro se a camada tiver vídeo ou falso se não tiver.

hasAudio

Tipo de retorno: booleano.

Retorna verdadeiro se a camada tiver áudio ou falso se não tiver.

active

Tipo de retorno: booleano.

Retornará verdadeiro se a opção Vídeo estiver ativada na camada e o horário atual estiver dentro do intervalo do ponto de entrada até o ponto de saída da camada; caso contrário, retornará falso.

enabled

Tipo de retorno: booleano.

Retornará verdadeiro se a opção Vídeo estiver ativada na camada; caso contrário, retornará falso.

audioActive

Tipo de retorno: booleano.

Retornará verdadeiro se a oção Áudio estiver ativada na camada e o horário atual estiver dentro do intervalo do ponto de entrada até o ponto de saída da camada; caso contrário, retornará falso.

sampleImage(point, radius = [.5, .5], postEffect=true, t=time)

Tipo de retorno: Matriz [4].

Tipo de argumento: point é uma matriz [2], radius é uma matriz [2], postEffect é um booleano e t é um número.

Faz a amostragem dos valores de cor e do canal alfa de uma camada e retorna o valor médio ponderado de alfa dos pixels dentro da distância do ponto como uma matriz: [vermelho, verde, azul, alfa]. Se postEffect é verdadeiro, os valores da amostragem são da camada depois de as máscaras e os efeitos em essa camada terem sido renderizados; se postEffect for falso, os valores de amostragem são da camada antes de as máscaras e os efeitos terem sido renderizados. O valor de entrada point está no espaço da camada; o ponto [0,0] é o centro do pixel superior esquerdo na camada. O valor de entrada radius especifica a distância horizontal e vertical do centro da amostra às bordas do retângulo da amostra. O valor padrão das amostras é de um pixel.

Observação:

O parâmetro postEffect refere-se aos efeitos aplicados diretamente à camada, não aos efeitos aplicados indiretamente, como uma camada de ajuste.

Dica:

Usar sampleImage em uma expressão não desativa mais o multiprocessamento.

Este exemplo faz a amostragem de um retângulo com 4 pixels de largura e 3 pixels de altura, centralizado em torno de um ponto 100 pixels abaixo e à direita do canto esquerdo superior da camada:

  thisComp.layer(1).sampleImage([100, 100], [2, 1.5])

Atributos e métodos das Propriedades de camada (referência de expressão)

Ao adicionar máscaras, efeitos, pintura ou texto a uma camada, o After Effects adiciona novas propriedades no painel Linha do tempo. Há muitas dessas propriedades para listar aqui, portanto, utilize o ícone de seleção para conhecer a sintaxe e fazer referência a elas em suas expressões.

anchorPoint

Tipo de retorno: Propriedade [2 ou 3].

Retorna o valor de ponto de ancoragem da camada no sistema de coordenadas da camada (espaço da camada).

posição

Tipo de retorno: Propriedade [2 ou 3].

Retorna o valor da posição da camada, no espaço do mundo se a camada não tem pai. Se a camada tiver um pai, ela retorna o valor da posição da camada no sistema de coordenadas da camada pai (no espaço de camada da camada pai).

escala

Tipo de retorno: Propriedade [2 ou 3].

Retorna o valor de escala da camada, expresso em porcentagem.

rotação

Tipo de retorno: Propriedade.

Retorna o valor de rotação da camada em graus. Para uma camada 3D, retorna o valor de rotação z em graus.

opacidade

Tipo de retorno: Propriedade.

Retorna o valor de opacidade da camada, expresso como uma porcentagem.

audioLevels

Tipo de retorno: Propriedade [2].

Retorna o valor da propriedade Níveis de áudio da camada, em decibéis. Este é um valor 2D; o primeiro valor representa o canal de áudio esquerdo e o segundo valor representa o direito. O valor não é a amplitude da faixa de áudio do material de origem. Em vez disso, é o valor da propriedade Níveis de áudio, que pode ser afetado pelos quadros-chave.

timeRemap

Tipo de retorno: Propriedade.

Retorna o valor da propriedade Remapeamento de tempo, em segundos, se estiver habilitada.

marker.key(index)

Tipo de retorno: MarkerKey.

Tipo de argumento: index é um número.

Retorna o objeto MarkerKey do marcador de camada com o índice especificado.

marker.key(name)

Tipo de retorno: MarkerKey.

Tipo de argumento: name é uma string.

Retorna o objeto MarkerKey do marcador de camada com o nome especificado. O valor name é o nome do marcador inserido no campo de comentários da caixa de diálogo do marcador, por exemplo, marker.key("ch1"). Se mais de um marcador na camada tiver o mesmo nome, este método retornará o primeiro marcador no tempo da camada. O valor da chave do marcador é uma string, não um número.

Ao usar esta expressão em uma propriedade, o valor da propriedade aumenta de 0 a 100 em dois marcadores identificados por nome:

m1 = marker.key("Start").time;    m2 = marker.key("End").time;    linear(time, m1, m2, 0, 100);

marker.nearestKey(t)

Tipo de retorno: MarkerKey.

Tipo de argumento: t é um número.

Retorna a camada do marcador que está mais próxima de t no tempo. Por exemplo, esta expressão retorna o tempo do marcador na camada mais próxima do tempo de 1 segundo:

  marker.nearestKey(1).time

Esta expressão retorna o tempo do marcador na camada mais próxima do tempo atual:

  marker.nearestKey(time).time

marker.numKeys

Tipo de retorno: Número.

Retorna o número total de marcadores na camada.

nome

Tipo de retorno: String.

Retorna o nome da camada.

Atributos e métodos da Camada 3D (referência de expressão)

orientação

Tipo de retorno: Propriedade [3].

Retorna o valor de orientação 3D de uma camada 3D, em graus.

rotationX

Tipo de retorno: Propriedade.

Retorna o valor de rotação x de uma camada 3D, em graus.

rotationY

Tipo de retorno: Propriedade.

Retorna o valor da rotação y, em graus, para uma camada 3D.

rotationZ

Tipo de retorno: Propriedade.

Retorna o valor da rotação z, em graus, para uma camada 3D.

lightTransmission

Tipo de retorno: Propriedade.

Retorna o valor da propriedade Transmissão de luz de uma camada 3D.

castsShadows

Tipo de retorno: Propriedade.

Retornará um valor de 1,0 se a camada projetar sombras.

acceptsShadows

Tipo de retorno: Propriedade.

Retornará um valor de 1,0 se a camada aceitar sombras.

acceptsLights

Tipo de retorno: Propriedade.

Retornará um valor de 1,0 se a camada aceitar luzes.

ambiente

Tipo de retorno: Propriedade.

Retorna o valor do componente ambiente como uma porcentagem.

difusão

Tipo de retorno: Propriedade.

Retorna o valor do componente difuso como uma porcentagem.

especular

Tipo de retorno: Propriedade.

Retorna o valor do componente especular como uma porcentagem.

brilho

Tipo de retorno: Propriedade.

Retorna o valor do componente de brilho como uma porcentagem.

metal

Tipo de retorno: Propriedade.

Retorna o valor do componente de metal como uma porcentagem.

Métodos de Transformações do espaço da camada (referência expressão)

Use métodos de transformação do espaço da camada para transformar valores de um espaço para outro, como do espaço da camada para o espaço do mundo. Os métodos “de” transformam os valores do espaço denominado (composição ou mundo) para o espaço da camada. Os métodos “para” transformam valores do espaço da camada para o espaço denominado (composição ou mundo). Cada método de transformação adota um argumento opcional para determinar o tempo em que a transformação é calculada; no entanto, é possível quase sempre usar o tempo atual (padrão).

Use métodos de transformação “Vec” para transformar um vetor de direção, como a diferença entre dois valores de posição. Use métodos de transformação (não “Vec”) simples ao transformar um ponto, como uma posição. O espaço da composição (comp) e do mundo são os mesmos para camadas 2D. Para camadas 3D, contudo, o espaço da composição se refere à câmera ativa e o espaço do mundo é independente da câmera.

toComp(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e é um número.

Transforma um ponto do espaço da camada em espaço de composição.

fromComp(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Transforma um ponto do espaço de composição em um espaço de camada. O ponto resultante em uma camada 3D pode ter um valor diferente de zero, mesmo que esteja no espaço da camada. Exemplo: fromComp(thisComp.layer(2).position)

toWorld(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Transforma um ponto do espaço de camada para um espaço de mundo com exibição independente. Exemplo:

  toWorld.effect("Bulge")("Bulge Center")

fromWorld(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Transforma um ponto do espaço de mundo para o espaço de camada. Exemplo: fromWorld(thisComp.layer(2).position)

Consulte Exemplo de expressão: criar uma saliência entre duas camadas para ver um exemplo de como esse método pode ser usado.

toCompVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço de camada em um espaço de composição. Exemplo: toCompVec ([1,0])

fromCompVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço de composição em um espaço de camada. Exemplo (camada 2D):

  dir=sub(position, thisComp.layer(2).position);    fromCompVec(dir)

toWorldVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço de camada para o espaço do mundo. Exemplo: p1 = effect("Eye Bulge 1")("Bulge Center"); p2 = effect("Eye Bulge 2")("Bulge Center");     toWorld(sub(p1, p2))

fromWorldVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço mundial em um espaço de camada. Exemplo: fromWorld(thisComp.layer(2).position)

fromCompToSurface(point, t=time)

Tipo de retorno: Matriz [2].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Projeta um ponto localizado no espaço de composição para um ponto na superfície da camada (valor z zero) no local onde ele aparece quando exibido da câmera ativa. Este método é útil para definir pontos de controle do efeito. Use apenas com camadas 3D.

Atributos e métodos da Câmera (referência de expressão)

Os objetos de câmera têm os mesmos atributos e métodos que os objetos de camada, exceto para source, effect,mask, width, height, anchorPoint,scale, opacity, audioLevels, timeRemap e todas as propriedades de material.

pointOfInterest

Tipo de retorno: Propriedade [3].

Retorna os valores do ponto de interesse de uma câmera no espaço mundial.

aplicar zoom

Tipo de retorno: Propriedade.

Retorna os valores de zoom da câmera em pixels.

Aqui está uma expressão para a propriedade Escala de uma camada que mantém o tamanho relativo da camada no quadro enquanto altera a posição z (profundidade) de uma camada ou o valor de Zoom de uma câmera:

cam = thisComp.activeCamera; distance = length(sub(position, cam.position)); scale * distance / cam.zoom;

depthOfField

Tipo de retorno: Propriedade.

Retorna 1 se a propriedade Profundidade de campo de uma câmera estiver ativada ou retorna 0 se a propriedade Profundidade de campo estiver desativada.

focusDistance

Tipo de retorno: Propriedade.

Retorna o valor da distância do foco de uma câmera, em pixels.

abertura

Tipo de retorno: Propriedade.

Retorna o valor de abertura de uma câmera, em pixels.

blurLevel

Tipo de retorno: Propriedade.

Retorna o valor do nível de desfoque de uma câmera como uma porcentagem.

active

Tipo de retorno: booleano.

Retorna verdadeiro se esta for a câmera ativa da composição no horário atual: a opção Vídeo da camada da câmera está ativada, o horário atual está dentro do intervalo do ponto de entrada até o ponto de saída da camada da câmera, e essa é a primeira camada de câmera (superior) listada no painel Linha do tempo. Caso contrário, retorna falso.

Atributos e métodos da Luz (referência de expressão)

Os objetos de luz têm os mesmos atributos e métodos que os objetos de camada, exceto para source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap e todas as propriedades de material.

pointOfInterest

Tipo de retorno: Propriedade [3].

Retorna os valores do ponto de interesse para uma luz no espaço mundial.

intensidade

Tipo de retorno: Propriedade.

Retorna os valores de intensidade de uma luz como uma porcentagem.

cor

Tipo de retorno: Propriedade [4].

Retorna o valor da cor de uma luz.

coneAngle

Tipo de retorno: Propriedade.

Retorna o ângulo de cone de uma luz, em graus.

coneFeather

Tipo de retorno: Propriedade.

Retorna o valor de difusão de cone de uma luz como uma porcentagem.

shadowDarkness

Tipo de retorno: Propriedade.

Retorna o valor de escuridão da sombra de uma luz como uma porcentagem.

shadowDiffusion

Tipo de retorno: Propriedade.

Retorna o valor de difusão de sombra de uma luz, em pixels.

Atributos e métodos de efeito (referência de expressão)

active

Tipo de retorno: booleano.

Retorna verdadeiro se o efeito estiver ativado (a opção Efeito está selecionada).

param(name)

Tipo de retorno: Propriedade.

Tipo de argumento: nome é uma string.

Retorna uma propriedade em um efeito. Os pontos de controle de efeito estão sempre no espaço de camada. Exemplo:

  effect(“Saliência”).param(“Altura da saliência”)

param(index)

Tipo de retorno: Propriedade.

Tipo de argumento: index é um número.

Retorna uma propriedade em um efeito. Os pontos de controle de efeito estão sempre no espaço de camada. Por exemplo, effect("Bulge").param(4) retorna a propriedade Altura da saliência.

Atributos e métodos da máscara (referência de expressão)

Observação:

Você pode vincular propriedades de Caminho da máscara a outras propriedades de caminho (caminhos em uma camada de forma e traçados de pincel), mas as propriedades não permitem uma manipulação numérica direta por meio de expressões.

maskOpacity

Tipo de retorno: Propriedade.

Retorna o valor de opacidade de uma máscara como uma porcentagem.

maskFeather

Tipo de retorno: Propriedade.

Retorna o valor de difusão de uma máscara, em pixels.

maskExpansion

Tipo de retorno: Propriedade.

Retorna o valor de expansão de uma máscara, em pixels.

inverter

Tipo de retorno: booleano.

Retorna verdadeiro se a máscara estiver invertida ou falso se não estiver.

Atributos e métodos da Propriedade (referência de expressão)

valor

Tipo de retorno: Número, Matriz ou String.

Retorna o valor de uma propriedade no momento atual.

valueAtTime(t)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número.

Retorna o valor de uma propriedade no tempo especificado, em segundos.

Por exemplo, para ter um valor de propriedade para cada quadro selecionado aleatoriamente de um conjunto de quatro valores, defina os quatro valores como quadros-chave para 0, 1, 2 e 3 segundos e aplique a seguinte expressão à propriedade:

  valueAtTime(random(4))

velocidade

Tipo de retorno: Número ou Matriz.

Retorna o valor de velocidade temporal no tempo atual. Para propriedades espaciais, como Posição, retorna o valor de vetor tangente. O resultado é a mesma dimensão da propriedade.

velocityAtTime(t)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número.

Retorna o valor da velocidade temporal no tempo especificado.

velocidade

Tipo de retorno: Número.

Retorna um valor de velocidade 1D positivo, igual à velocidade na qual a propriedade está mudando no tempo padrão. Esse elemento só pode ser usado em propriedades espaciais.

speedAtTime(t)

Tipo de retorno: Número.

Tipo de argumento: t é um número.

Retorna o valor da velocidade espacial no tempo especificado.

wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: freq, amp, octaves, amp_mult e t são números.

Agita aleatoriamente (chocalha) o valor da propriedade.

O valor freq é a frequência em chocalhos por segundo.

O valor amp é a amplitude em unidades da propriedade à qual é aplicada.

octaves é o número de oitavas de ruído para adicionar em conjunto. Este valor controla quanto detalhe está no chocalho. Torne este valor maior que o padrão de 1 para incluir as frequências mais altas ou para ou mais baixas para incluir harmônicos de amplitude no chocalho.

amp_mult é o valor que amp é multiplicado para cada oitava. Este valor controla a velocidade em que os harmônicos soltam. O padrão é 0,5; torne-o mais próximo de 1 para ter os harmônicos adicionados à mesma amplitude da frequência de base, ou mais próximo de 0 para adicionar menos detalhe.

t é a hora de início de base. Esse valor é predefinido para o tempo atual. Use este parâmetro se pretender que a saída seja um chocalho do valor da propriedade em amostra em um tempo diferente.

Exemplo: position.wiggle(5, 20, 3, .5) produz aproximadamente 5 chocalhos por segundo com um tamanho médio de aproximadamente 20 pixels. Além do movimento principal, mais dois níveis de movimentos detalhados ocorrem com uma frequência de 10 e 20 movimentos por segundo e tamanhos de 10 e 5 pixels, respectivamente.

Este exemplo, em uma propriedade bidimensional como a de Escala, movimenta ambas as dimensões pelo mesmo valor:

  v = wiggle(5, 10);   [v[0], v[0]]

Este exemplo, em uma propriedade bidimensional, chocalha somente ao longo do eixo y:

  freq = 3;   amp = 50;   w = wiggle(freq,amp);   [value[0],w[1]];

temporalWiggle(freq, amp, octaves=1, amp_mult=.5, t=time)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: freq, amp, octaves, amp_mult. e t são números.

Cria uma amostra da propriedade no tempo da movimentação. O valor freq é a frequência de movimentos por segundo, amp é a amplitude medida pelas unidades da propriedade à qual é aplicada, octaves é o número de oitavas de ruído adicionadas em conjunto, amp_mult é a quantidade que amp é multiplicado em cada oitava e t é o tempo de início base. Para que essa função seja significativa, a propriedade usada para a amostra deve ser animada, porque a função altera somente o tempo da amostragem, não o valor. Exemplo: scale.temporalWiggle (5, .2)

smooth(width=.2, samples=5, t=time)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: width, samples e t são números.

Suaviza os valores de propriedade ao longo do tempo, convertendo os desvios grandes e breves de valor em desvios menores e mais uniformemente distribuídos. Essa suavização é alcançada aplicando um filtro de caixa ao valor da propriedade no tempo especificado. O valor width é o intervalo de tempo (em segundos) no qual o filtro é calculado. O valor samples é o número de amostras discretas separadas uniformemente ao longo do tempo; use um valor maior para maior suavidade (mas com menos desempenho). Em geral, é recomendado que samples seja um número ímpar, para que o valor no tempo atual seja incluído na média. Exemplo: position.smooth(.1, 5)

loopIn(type="cycle", numKeyframes=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do primeiro quadro-chave na camada para frente até ao Ponto de saída da camada. O loop é reproduzido a partir do Ponto de entrada da camada. O valor numKeyframes determina que segmento é repetido: O segmento repetido é a parte do primeiro quadro-chave para o numKeyframes +1 quadro-chave. Por exemplo, loopIn("cycle", 3) repete o segmento delimitado pelo primeiro e quarto quadros-chave. O valor padrão 0 significa que todos os quadros-chave fazem loop.

É possível usar os métodos de repetição de quadros-chave para repetir uma série de quadros-chave. Você pode usar esses métodos na maioria das propriedades. As exceções incluem propriedades que não podem ser expressas por valores numéricos simples no painel Linha do tempo, como a propriedade Texto de origem, propriedades de forma de caminho e a propriedade Histograma do efeito Níveis. Os quadros-chave ou valores de duração que são muito grandes serão cortados para o valor máximo permitido. Os valores que são muito pequenos resultam em um loop constante.

tipo de loop

resultado

cycle

(padrão) Repete o segmento especificado.

pingpong

Repete o segmento especificado, alternando para a frente e para trás.

offset

Repete o segmento especificado, mas desloca cada ciclo pela diferença no valor da propriedade no início e no fim do segmento, multiplicado pelo número de vezes que o segmento fez loop.

continue

Não repete o segmento especificado, mas continua a animar uma propriedade com base na velocidade no primeiro ou último quadro-chave. Por exemplo, se o último quadro-chave de uma propriedade de Escala de camada for 100%, a camada continua na escala de 100% até o ponto de saída, em vez de retornar diretamente ao ponto de saída. Este tipo não aceita um argumento keyframes ou duration.

loopOut(type="cycle", numKeyframes=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do último quadro-chave na camada para trás até ao ponto de entrada da camada. O loop é reproduzido até ao Ponto de saída da camada. O número especificado de quadros-chave determina o segmento para repetição. O valor numKeyframes define o número de segmentos de quadro-chave para repetir; o intervalo especificado é medido para trás a partir do último quadro-chave. Por exemplo, loopOut("cycle", 1) repete o segmento delimitado pelo último quadro-chave e o segundo ao último quadro-chave. O valor padrão 0 significa que todos os quadros-chave são repetidos. Veja a entrada para loopIn para obter mais informações.

loopInDuration(type="cycle", duration=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do primeiro quadro-chave na camada para frente até ao Ponto de saída da camada. O loop é reproduzido a partir do Ponto de entrada da camada. A duração especificada determina o segmento para repetição. O valor duration define o número de segundos de composição em um segmento para repetir; o intervalo especificado é medido a partir do primeiro quadro-chave. Por exemplo, loopInDuration("cycle",1) repete o primeiro segundo da animação inteira. O padrão de 0 significa que o segmento a ser repetido começa no Ponto de saída da camada. Veja a entrada para loopIn para obter mais informações.

loopOutDuration(type="cycle", duration=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do último quadro-chave na camada para trás até ao ponto de entrada da camada. O loop é reproduzido até ao Ponto de saída da camada. A duração especificada determina o segmento para repetição. O valor de duration define o número de segundos de composição em um segmento para repetir; o intervalo especificado é medido para trás a partir do último quadro-chave. Por exemplo, loopOutDuration("cycle", 1) repete o último segundo da animação inteira. O padrão de 0 significa que o segmento a ser repetido começa no Ponto de entrada da camada. Veja a entrada para loopIn para obter mais informações.

key(index)

Tipo de retorno: Key ou MarkerKey.

Tipo de argumento: index é um número.

Retorna o objeto Key ou MarkerKey por número. Por exemplo, key(1) retorna o primeiro quadro-chave.

key(markerName)

Tipo de retorno: MarkerKey.

Tipo de argumento: markerName é uma string.

Retorna o objeto MarkerKey com este nome. Use apenas em propriedades do marcador.

nearestKey(t)

Tipo de retorno: Key ou MarkerKey.

Retorna o objeto Key ou MarkerKey mais próximo a um tempo designado.

numKeys

Tipo de retorno: Número.

Retorna o número de quadros-chave em uma propriedade. Retorna o número de marcadores em uma propriedade de marcador.

Observação:

Se você usar o comando Separar dimensões para separar as dimensões da propriedade Posição em componentes individuais, o número de quadros-chave muda, portanto, o valor retornado por esse método muda.

propertyGroup(countUp = 1)

Tipo de retorno: Grupo.

Retorna um grupo de propriedades relacionadas à propriedade na qual a expressão é gravada. Por exemplo, se você adicionar a expressão propertyGroup(1) à propriedade Rotação de um traçado de pincel, a expressão direcionará o grupo de propriedades Transformar, que contém a propriedade Rotação. Se você adicionar propertyGroup(2), a expressão direciona o grupo de propriedades Pincel. Esse método permite configurar relacionamentos independentes do nome na hierarquia das propriedades. Esse método é particularmente útil para duplicar propriedades que contêm expressões.

O método numProperties para propertyGroup retorna o número de propriedades no grupo de propriedades.

Este exemplo retorna o número de propriedades no grupo que contém a propriedade na qual a expressão é gravada:

  thisProperty.propertyGroup(1).numProperties

propertyIndex

Tipo de retorno: Número.

Retorna o índice de uma propriedade relativa a outras propriedades em seu grupo de propriedades, incluindo grupos de propriedades em máscaras, efeitos, animadores de texto, seletores, formas, rastreadores e pontos de controle.

nome

Tipo de retorno: String.

Retorna o nome da propriedade ou do grupo de propriedades.

Propriedades do projeto (referência de expressão)

Método de expressão:

  • objeto thisProject thisProject - Representa o projeto que contém a expressão.

Tipo:

Objeto do projeto; somente leitura

  • Atributo fullPath do projeto thisProject.fullPath - O caminho absoluto do arquivo, de plataforma específica, incluindo o nome do arquivo do projeto. Se o projeto não foi salvo, ele retorna uma sequência de caracteres vazia.

Tipo: String; somente leitura.

  • Atributo bitsPerChannel do projeto thisProject.bitsPerChannel : a intensidade de cor do projeto em bits por canal (bpc), conforme definido em Configurações do projeto > Gerenciamento de cores.  Ela é uma entre 8, 16 ou 32. Equivalente ao atributo do projeto de script app.project.bitsPerChannel.

Tipo número; somente leitura.

  • Atributo linearBlending do projeto thisProject.linearBlending: o estado da opção Mesclar cores usando gama 1.0 em Configurações do projeto > Gerenciamento de cores. Equivalente ao atributo do projeto de script app.project.linearBlending.

Tipo: booleano; somente leitura.

Atributos e métodos da Chave (referência de expressão)

Quando você atingir um objeto Key, você pode obter as propriedades time, index e value de ele. Por exemplo, a expressão a seguir fornece o valor do terceiro quadro-chave de Posição: position.key(3).value.

A expressão a seguir, quando gravada em uma propriedade Opacidade com quadros-chave, ignora os valores dos quadros-chave e usa apenas o posicionamento dos quadros-chave ao determinar onde um flash deve ocorrer:   d = Math.abs(time - nearestKey(time).time);   easeOut(d, 0, .1, 100, 0)

  d = Math.abs(time - nearestKey(time).time); 
  easeOut(d, 0, .1, 100, 0)

valor

Tipo de retorno: Número ou Matriz.

Retorna o valor do quadro-chave.

hora

Tipo de retorno: Número.

Retorna o tempo do quadro-chave.

index

Tipo de retorno: Número.

Retorna o índice do quadro-chave.

Atributos de MarkerKey (Referência de expressão)

Você pode acessar valores para os marcadores de composição e de camada usando os mesmos métodos. Acesse marcadores de camada pelo objeto thisLayer.marker; acesse os marcadores de composição pelo objeto thisComp.marker.

Com o objetivo de expressões, os marcadores são um tipo especial de objeto Key, portanto você pode utilizar métodos como nearestKey(time) para acessar os marcadores, e marcadores também apresentam atributos time e index. O atributo index não é um número (nome) do marcador, é o número de índice de um quadro-chave, representando a ordem de marcador na régua de tempo.

As expressões têm acesso a todos os valores de um marcador que você pode definir na caixa de diálogo Marcador de composição ou Marcador de camada. Ao usar esta expressão na propriedade Texto de origem de uma camada de texto, serão exibidos o tempo, duração, índice, comentário (nome), capítulo, URL, destino do quadro e o nome do ponto de sinalização do marcador de camada mais próximo do tempo atual, bem como se o marcador é usado como um ponto de sinalização de evento:

  m = thisLayer.marker.nearestKey(time);  
  s = &quot;time:&quot; + timeToCurrentFormat(m.time) + &quot;\r&quot; +  
      &quot;duration: &quot; + m.duration + &quot;\r&quot; +  
      &quot;key index: &quot; + m.index + &quot;\r&quot; +  
      &quot;comment:&quot; + m.comment + &quot;\r&quot; +  
      &quot;chapter:&quot; + m.chapter + &quot;\r&quot; +  
      &quot;URL:&quot; + m.url + &quot;\r&quot; +  
      &quot;frame target: &quot; + m.frameTarget + &quot;\r&quot; +  
      &quot;cue point name: &quot; + m.cuePointName + &quot;\r&quot; +  
      &quot;Event cue point?  &quot; + m.eventCuePoint + &quot;\r&quot;;  
  for (param in m.parameters){  
       s += &quot;parameter: &quot; + param + &quot; value: &quot; + m.parameters[param] + &quot;\r&quot;;  
  } 
  s

Visto que os metadados XMP em um item de gravação podem ser convertidos em marcadores de camada para uma camada baseada nesse item, as expressões podem interagir com os metadados XMP. Para obter informações, consulte Metadados XMP no After Effects.

duração

Tipo de retorno: Número.

Duração, em segundos, do marcador.

comment

Tipo de retorno: String.

Conteúdo do campo Comentário na caixa de diálogo do marcador.

chapter

Tipo de retorno: String.

Conteúdo do campo Capítulo na caixa de diálogo do marcador.

url

Tipo de retorno: String.

Conteúdo do campo URL na caixa de diálogo do marcador.

frameTarget

Tipo de retorno: String.

Conteúdo do campo Destino do quadro na caixa de diálogo do marcador.

eventCuePoint

Tipo de retorno: booleano.

Configuração do tipo do ponto de sinalização na caixa de diálogo do marcador. Verdadeiro para Evento; falso para Navegação.

cuePointName

Tipo de retorno: String.

Conteúdo do campo Nome do ponto de sinalização na caixa de diálogo do marcador.

parameters

Tipo de retorno: matriz associativa de valores de string.

Conteúdo dos campos Nome do parâmetro Valor do parâmetro na caixa de diálogo do marcador.

Por exemplo, se você tiver um parâmetro nomeado “cor de fundo", é possível usar a seguinte expressão para acessar seu valor no marcador mais próximo:

  thisComp.marker.nearestKey(time).parameters["background color"]

MarkerValue.protectedRegion (referência da expressão)

Método de expressão:

thisComp.marker.key(index).protectedRegion

Descrição:

Quando verdadeiro, o marcador de composição se comporta como uma região protegida.

Tipo:

Booleano; somente leitura.

Acesso da expressão a pontos de caminhos em formas, máscaras e traçados de pincel (referência de expressão)

É possível usar expressões para ler e gravar as coordenadas x e y de pontos de caminho ou vértices para:

  • Máscaras de camada
  • Formas de Bézier
  • Traçados de pincel nos efeitos Pintura, Pincel tipo rotoscópio e Refinar borda.

Métodos de expressão:

  • Método points() do caminho: {pathProperty}.points (t = time) Obtém as coordenadas x e y de todos os pontos em um caminho. As coordenadas dos pontos de caminho da máscara de camada são relativas à origem da camada no canto superior esquerdo. As coordenadas dos pontos de caminho da forma de Bézier são relativas ao ponto de ancoragem do grupo de formas do caminho, por exemplo,Transformar: forma 1 > ponto de ancoragem. As coordenadas dos pontos de caminho do traçado de pincel são relativas ao início do traçado; o primeiro ponto é [0,0]. Opcionalmente, especifique o tempo no qual a amostra do caminho será feita. É possível passar esse método no método createPath() para o parâmetro de pontos ao duplicar um caminho.

Parâmetros:

t

Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Matriz de matrizes de pares de números, arredondada à quarta casa decimal.

  • Método inTangents() do caminho: {pathProperty}.inTangents (t = time)Obtém as coordenadas x e y da alça tangente de entrada de todos os pontos em um caminho. Os valores de coordenadas de tangente são relativos às coordenadas do ponto do pai. isto é, o valor [0,0] não cria curvatura na tangente de entrada. Esse método pode ser passado para o método createPath() do parâmetro inTangents ao duplicar um caminho. Também é possível especificar o tempo no qual a amostra do caminho será feita.

Parâmetros:

t

Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Matriz de matrizes de pares de números, arredondada à quarta casa decimal.

  • Método outTangents() do caminho: {pathProperty}.outTangents(t = time) Obtém as coordenadas x e y da alça tangente de saída de todos os pontos em um caminho. Os valores de coordenadas tangentes são deslocados em relação às coordenadas do ponto principal: o valor [0,0] não cria nenhuma curvatura na tangente de saída. Esse método pode ser transmitido ao método createPath() para o parâmetro outTangents ao duplicar um caminho. Também é possível especificar o tempo no qual a amostra do caminho será feita.

Parâmetros:

t

Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Matriz de matrizes de pares de números, arredondada à quarta casa decimal.

  • O método do caminho isClosed(): {pathProperty}.isClosed () determina se o caminho está aberto ou fechado. Retorna true se o caminho estiver fechado e false se o caminho estiver aberto. Esse método pode ser passado para o método createPath () para o parâmetro is_closed ao duplicar um caminho.

Parâmetros:

Nenhum

Retorna:

Booleano

  • O método do caminho pointOnPath() {pathProperty}.pointOnPath (porcentagem = 0,5, t = time) obtém as coordenadas x,y de um ponto arbitrário ao longo de um caminho. O ponto é expresso como uma porcentagem do comprimento de arco do caminho. 0% é o primeiro ponto e 100% é o último ponto. Quando o caminho estiver fechado, 0% e 100% retornarão as mesmas coordenadas. A porcentagem do comprimento de arco é usada para garantir a velocidade uniforme ao longo do caminho. Diferentes de 0% e 100%, as porcentagens não correspondem necessariamente com os pontos Bézier no caminho; para um caminho com três pontos, o segundo ponto não estará necessariamente em 50%. Isso também significa que para um caminho aberto e um fechado com pontos idênticos, a porcentagem ao longo do caminho aberto não retornará as mesmas coordenadas que o caminho fechado, devido ao comprimento adicional do caminho fechado. Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

porcentagem

Número entre 0 e 1, opcional. A porcentagem ao longo do comprimento de arco do caminho para teste. Valores menores que 0 e maiores que 1 são cortados. O padrão é 0,5.

t

Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Uma matriz de pares de números.

  • O método do caminho tangentOnPath() {pathProperty}.tangentOnPath (porcentagem = 0,5, t = time) obtém as coordenadas calculadas x,y, da alça tangente de saída para um ponto arbitrário ao longo de um caminho. Os valores de coordenadas tangentes são deslocados em relação às coordenadas do ponto principal: o valor [0,0] não cria nenhuma curvatura na tangente de saída. A alça tangente de entrada é o inverso desse valor (multiplique as coordenadas x,y por -1). O ponto pai de tangente é expresso como uma porcentagem do comprimento de arco do caminho. As coordenadas retornadas pelo tangentOnPath() são calculadas a partir do ponto pai e serão diferentes daquelas retornadas pelo outTangents() se um ponto definido pelo usuário também existir nessa porcentagem do comprimento de arco. A distância linear entre as coordenadas do ponto pai e as coordenadas do tangentOnPath() serão sempre 1. Você pode multiplicar as coordenadas retornadas para criar uma tangente mais longa, por exemplo, (myPath.tangentOnPath () * 100). Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

porcentagem

Número entre 0 e 1, opcional. A porcentagem ao longo do comprimento de arco do caminho para teste. Valores menores que 0 e maiores que 1 são cortados. O padrão é 0,5.

t

Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Uma matriz de pares de números.

  • Método normalOnPath() do caminho {pathProperty}.normalOnPath(percentage = 0,5, t = time) Obtém as coordenadas x e y calculadas “normais” para um ponto arbitrário ao longo de um caminho. Os valores das coordenadas “normais” são deslocados em relação às coordenadas do ponto principal. O valor [0,0] é igual ao ponto principal. O ponto principal da “normal” é expresso como uma porcentagem do comprimento do arco do caminho.Leia a descrição do método pointOnPath() para obter detalhes sobre a porcentagem do comprimento do arco. As coordenadas retornadas por normalOnPath() são calculadas a partir do seu ponto principal. A distância linear entre as coordenadas do ponto pai e as coordenadas do normalOnPath() serão sempre 1. Você pode multiplicar as coordenadas retornadas para criar um normal mais longo, por exemplo, (myPath.normalOnPath () * 100). Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

porcentagem

Número entre 0 e 1, opcional. A porcentagem ao longo do comprimento de arco do caminho para teste. Valores menores que 0 e maiores que 1 são cortados. O padrão é 0,5.

t

Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Uma matriz de pares de números.

  • Método createPath() do caminho {pathProperty}.createPath(points = [[0,0], [100,0], [100,100], [0,100]], inTangents = [], outTangents = [], is_closed = true) Cria um objeto de caminho a partir de um conjunto de pontos e tangentes. Os pontos são definidos por uma matriz de matrizes de pares de números que representam suas coordenadas x e y. O comprimento da matriz deve ser de pelo menos 1 (ou maior). As alças tangentes de entrada e saída dos pontos são definidas por uma matriz de matrizes de pares de números que representam suas coordenadas de deslocamento x e y. O comprimento das matrizes de tangente deve ser exatamente o mesmo que o parâmetro de pontos. Os valores de coordenadas de tangente são relativos às coordenadas do ponto pai - o valor [0,0] não cria nenhuma curvatura na tangente de saída. Os métodos points(), inTangents(), outTangents() e isClosed() de um caminho podem ser transmitidos para os parâmetros points, inTangents, outTangents e is_closed para duplicar um caminho. Os pontos e tangentes do mesmo caminho podem ser transmitidos para createPath() com modificações, a fim de gerar um resultado diferente. Por exemplo, a expressão a seguir removerá as curvas da Máscara 1 por não transmitir os parâmetros inTangents ou outTangents:

myMask = mask("Mask 1").path;
myMask.createPath(myMask.points());

O exemplo a seguir transmite os pontos e tangentes da Máscara 1 e os converte em um caminho aberto ao definir is_closed como falso:

myMask = mask("Mask 1").path;
myMask.createPath(myMask.points(), myMask.inTangents(), myMask.outTangents(), false);

 

pontos

Uma matriz de comprimento 1 ou mais contendo matrizes de pares de números representando as coordenadas [x,y] dos pontos de caminho. Obrigatório, a menos que nenhum parâmetro seja transmitido (isto é, createPath ()). O padrão é [[0,0], [100,0], [100,100], [0,100]].

is_closed

Booliano, opcional. Determina se a máscara está fechada. Se definido como true, o último ponto será conectado ao primeiro ponto. O padrão é true.

inTangents

Uma matriz contendo matrizes de pares número que representam as coordenadas de saída [x,y] das alças da tangente de saída para os pontos de caminho. Obrigatório, a menos que nenhum parâmetro seja transmitido (isto é, createPath ()). O comprimento da matriz deve ser o mesmo que points, ou você pode passar uma matriz vazia ([]), que adotará o mesmo comprimento que points e [0,0] para todas as tangentes. O padrão é uma matriz vazia.

outTangents

Uma matriz contendo matrizes de pares número que representam as coordenadas de entrada [x,y] das alças da tangente de saída para os pontos de caminho. Obrigatório, a menos que nenhum parâmetro seja transmitido (isto é, createPath ()). O comprimento da matriz deve ser o mesmo que points, ou você pode passar uma matriz vazia ([]), que adotará o mesmo comprimento que points e [0,0] para todas as tangentes. O padrão é uma matriz vazia.

Retorna:

Um objeto de caminho.

Exemplos:

  • Exemplo 1

O exemplo grava a lista de coordenadas de ponto e tangente do Caminho 1 da Forma 1 na camada de Forma Camada 1, em time=0, em uma sequência de caracteres. Aplique isso à propriedade do texto de origem de uma camada de texto para uma leitura das coordenadas e tangentes de entrada e de saída da forma.

pointsList = "";
 sampleTime = 0;

myShape = thisComp.layer("Shape Layer 1").content("Shape 1").content("Path 1").path;

for (i = 0; i < myShape.points(sampleTime).length; i++) {
     pointsList += "c: " + myShape.points(sampleTime)[i].toString() + "  i: " + myShape.inTangents(sampleTime)[i].toString() + " o: " + myShape.outTangents(sampleTime)[i].toString() + "\n";
 }

pointsList;

  • Exemplo 2

O exemplo lê as coordenadas do primeiro vértice da Máscara 1 em Dark Gray Solid 1 e as converte em coordenadas de composição. Aplique isso a um controle de ponto 2D de um efeito, como Escrever ou Sistema de partículas II do CC, para fazer com que o efeito rastreie o primeiro ponto de uma máscara animada. Duplique o efeito e altere o valor do índice dos pontos do caminho ([0]) para acompanhar ou rastrear os outros pontos da máscara.

myLayer = thisComp.layer("Dark Gray Solid 1");
myLayer.toComp(myLayer.mask("Mask 1").maskPath.points()[0]);

Animação orientada por dados (referência da expressão)

Métodos de expressão:

  • Atributo de gravação sourceText {footageItem}.sourceText Retorna o conteúdo de um arquivo .JSON como uma sequência de caracteres. O método eval() pode ser usado para converter a sequência de caracteres em uma matriz de objetos sourceData, idêntica aos resultados do atributo sourceData, dos quais os fluxos de dados individuais podem ser referenciados como atributos hierárquicos dos dados. Por exemplo: 

var myData = eval(footage("sample.json").sourceText);

myData.sampleValue;

Tipo:

Sequência de caracteres, o conteúdo do arquivo .JSON; somente leitura.

  • Atributo de gravação sourceData {footageItem}.sourceData Retorna dos dados de um arquivo .JSON como uma matriz de objetos sourceData. A estrutura do arquivo .JSON determinará o tamanho e a complexidade da matriz. Fluxos de dados individuais podem ser referenciados como atributos hierárquicos dos dados. Por exemplo, para um fluxo de dados chamado Cores, a expressão a seguir retornará o valor de Cor do primeiro objeto de dados: footage("sample.json").sourceData[0].Color

É comum atribuir o sourceData de um arquivo .JSON a uma variável e, em seguida, referenciar o fluxo de dados desejado. Por exemplo:

var myData = footage("sample.json").sourceData;

myData[0].Color;

Tipo:

Uma matriz de objetos sourceData; somente leitura.

  • Método de gravação dataValue() {footageItem}.dataValue(dataPath) Retorna o valore do fluxo de dados dinâmico ou estático especificado em um arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia do fluxo de dados desejado. Por exemplo:

footage("sample.mgjson").dataValue([0]) retorna os dados do primeiro filho.

footage("sample.mgjson").dataValue([1][0]) retorna os dados do primeiro filho no segundo grupo.

Parâmetros:

dataPath

Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados estático ou dinâmico.

Retorna:

O valor do fluxo de dados.

  • Método de gravação dataKeyCount() {footageItem}.dataKeyCount(dataPath) Retorna o número de amostras em um fluxo de dados dinâmico em um arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia para o fluxo de dados dinâmico desejado. 

Por exemplo:

  • footage("sample.mgjson").dataKeyCount([0]) retorna a contagem de amostras referente ao primeiro filho
  • footage("sample.mgjson").dataKeyCount([1][0]) retorna a contagem de amostras referente ao segundo grupo

Parâmetros:

dataPath

Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados estático ou dinâmico.

Retorna:

O número de amostras no fluxo de dados dinâmico.

  • Método de gravação dataKeyTimes() {footageItem}.dataKeyTimes(dataPath, t0 = startTime, t1=endTime) Retorna o tempo em segundos das amostras de um determinado fluxo de dados dinâmico em um arquivo .mgJSON. Opcionalmente, especifique o intervalo de tempo do qual retornar amostras. Por padrão, o tempo de todas as amostras entre startTime e endTime no fluxo de dados dinâmico é retornado, conforme definido pela propriedade samplesTemporalExtent do fluxo de dados no arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia do fluxo de dados dinâmico desejado.

O exemplo a seguir retorna os tempos de amostras entre 1 e 3 segundos para o primeiro filho:

footage("sample.mgjson").dataKeyTimes([0], 1, 3)

Parâmetros:

dataPath

Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados dinâmico.

t0

Número, opcional. O tempo de início, em segundos, do intervalo do qual retornar amostras. Assume startTime como o padrão.

t1

Número, opcional. O tempo de término, em segundos, do intervalo do qual retornar amostras. Assume endTime como o padrão.

Retorna:

Matriz de números que representam os tempos de amostra.

  • Método de gravação dataKeyValues() {footageItem}.dataKeyValues(dataPath, t0 = startTime, t1=endTime) Retorna os valores das amostras de um determinado fluxo de dados dinâmico em um arquivo .mgJSON. Opcionalmente, especifique o intervalo de tempo do qual retornar amostras. Por padrão, o tempo de todas as amostras entre startTime e endTime no fluxo de dados dinâmico é retornado, conforme definido pela propriedade samplesTemporalExtent do fluxo de dados no arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia do fluxo de dados dinâmico desejado.

Por exemplo:

footage("sample.mgjson").dataKeyValues([0], 1, 3) retorna os valores das amostras entre 1 e 3 segundos para a primeira camada secundária.

Parâmetros:

dataPath

Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados dinâmico.

t0

Número, opcional. O tempo de início, em segundos, do intervalo do qual retornar amostras. Assume startTime como o padrão.

t1

Número, opcional. O tempo de término, em segundos, do intervalo do qual retornar amostras. Assume endTime como o padrão.

Retorna:

Matriz de números que representam os valores de amostra.

Métodos de conversão de cores de Hexadecimal em RGB (referência da expressão)

Esse método de conversão de cores, hexToRgb(), converte os valores de cor hexadecimal, por exemplo, # FF00FF em valores de cor RGBA. Isso pode ser útil para vincular parâmetros de cor a valores de cor representados como cadeias de caracteres hexadecimais em fontes de dados JSON ou CSV/TSV.

Método de expressão:

hexToRgb(hexString) converte uma cor em espaço hexadecimal triplo para RGB ou em espaço hexadecimal quádruplo para espaço RGBA. Para hexadecimais triplos, o padrão de alfa é 1.0.

Parâmetros:

hexString

A cadeia de caracteres que representa um hexadecimal triplo (6 dígitos, sem canal alpha) ou quádruplo (8 dígitos, inclui canal alfa) contendo somente números ou caracteres A-F. Os caracteres principais opcionais 0x, 0X, or # são ignorados. Os caracteres além de 8 dígitos são ignorados.

Retorna:

Matriz do valor de cor de RGBA.

Exemplos:

Qualquer um dos seguintes retornará [1.0, 0.0, 1.0, 1.0]:

  • hexToRgb("FF00FF")
  • hexToRgb("#FF00FF")
  • hexToRgb("0xFF00FF")
  • hexToRgb("0XFF00FFFF") Observação: quarteto hexadecimal de 8 dígitos; os últimos dois dígitos definem alfa como 1.0.

Receba ajuda com mais rapidez e facilidade

Novo usuário?