Selecione uma camada na composição.
- Guia do usuário do After Effects
- Versões beta
- Introdução
- Espaços de trabalho
- Projetos e composições
- Importação de gravação
- Preparação e importação de imagens estáticas
- Importação do After Effects e do Adobe Premiere Pro
- Importação e interpretação de vídeo e áudio
- Preparo e importação de arquivos de imagem 3D
- Importação e interpretação de itens de gravação
- Trabalhar com itens de gravação
- Detectar pontos de edição usando a Detecção de edição de cena
- Metadados XMP
- Textos e gráficos
- Texto
- Animações
- Trabalhar com Modelos de animações no After Effects
- Usar expressões para criar listas suspensas em Modelos de animações
- Trabalhar com propriedades essenciais para criar Modelos de animações
- Substituir imagens e vídeos em Modelos de animações e Propriedades essenciais
- Anime de maneira mais rápida e fácil usando o painel Propriedades
- Desenho, pintura e caminhos
- Visão geral de camadas de forma, caminhos e gráficos vetoriais
- Ferramentas de pintura: Pincel, Carimbo e Borracha
- Traçados de forma cônica
- Atributos de forma, operações de pintura e operações de caminho para camadas de forma
- Use o efeito de forma Deslocar caminhos para alterar formas
- Criação de formas
- Criar máscaras
- Remover objetos de seus vídeos com o painel Preenchimento com reconhecimento de conteúdo
- Pincel tipo rotoscópio e Refinar fosco
- Camadas, marcadores e câmera
- Animação, quadros-chave, rastreamento de movimento e chaveamento
- Animação
- Quadro-chave
- Rastreamento de movimento
- Aplicação de máscara
- Transparência e composição
- Ajustar cor
- Predefinições de animação e efeitos
- Visão geral das predefinições de animação e efeitos
- Lista de efeitos
- Gerenciador de efeitos
- Efeitos de simulação
- Efeitos de estilo
- Efeitos de áudio
- Efeitos de distorção
- Efeitos de perspectiva
- Efeitos de canal
- Efeitos de geração
- Efeitos de transição
- O efeito Reparo do obturador de rolagem
- Efeitos Desfoque e Nitidez
- Efeitos de Canal 3D
- Efeitos de utilitários
- Efeitos de fosco
- Efeitos Ruído e Granulação
- Efeito Ampliação com preservação de detalhes
- Efeitos obsoletos
- Expressões e automação
- Expressões
- Noções básicas de expressão
- Entender sobre a linguagem de expressões
- Utilização de controles de expressão
- Diferenças de sintaxe entre os mecanismos de expressão Javascript e Legacy ExtendScript
- Edição de expressões
- Erros de expressão
- Utilização do editor de expressões
- Usar expressões para editar e acessar propriedades de texto
- Referência de linguagem de expressão
- Exemplos de expressão
- Automação
- Expressões
- Vídeo imersivo, VR e 3D
- Criar ambientes de VR no After Effects
- Aplicar efeitos de vídeo imersivo
- Ferramentas de composição para vídeos VR/360
- Rastreamento de movimento de câmera 3D
- Trabalhar no Espaço de design 3D
- Gizmos de transformação 3D
- Faça mais com a animação 3D
- Visualização de alterações em projetos 3D em tempo real com o mecanismo Mercury 3D.
- Adicionar design responsivo aos gráficos
- Exibições e visualizações
- Renderização e exportação
- Noções básicas de renderização e exportação
- Codificação em H.264 no After Effects
- Exportar um projeto do After Effects como um projeto do Adobe Premiere Pro
- Conversão de filmes
- Renderização de vários quadros
- Renderização automatizada e renderização de rede
- Renderização e exportação de imagens estáticas e sequências de imagens estáticas
- Utilização do codec GoPro CineForm no After Effects
- Trabalho com outros aplicativos
- Colaboração: Frame.io e Team Projects
- Memória, armazenamento e desempenho
- Knowledge Base

Baixar projeto de amostra
Download
Chocalho aleatório
A expressão chocalhar é uma das expressões mais comuns do After Effects. Ela chocalha um objeto por valores aleatórios. Essa expressão pode ser usada para fazer com que a cena pareça mais natural. Adicione esta expressão à propriedade Posição da camada.
-
-
Pressione P para mostrar a propriedade Posição no painel Linha de tempo.
-
Mantenha a tecla Alt (Windows) ou Option (macOS) pressionada e clique no cronômetro à esquerda do nome da propriedade.
-
Insira o seguinte snippet de código no campo de expressão:
wiggle(2,30)
Neste exemplo, chocalhar (frequência, valor), onde o primeiro número é o número de chocalhos por segundo e o segundo número é o valor do chocalho. Assim, usar wiggle(2,30) fará com que a camada seja chocalhada 2 vezes por segundo até 30 pixels em qualquer direção.
Controle um chocalho com controles deslizantes
As expressões podem apresentar quadros-chave substituindo valores com links para controles de expressão, como um Controle deslizante. É possível aplicar um quadro-chave ao comportamento para iniciar e parar em momentos específicos substituindo o segundo argumento na expressão wiggle() por um link para um Controle deslizante.
-
Adicione um efeito de Controle deslizante a qualquer camada e nomeie-o como “Valor de chocalho”.
-
Aplique a seguinte expressão à propriedade Posição da mesma camada:
// Usa o ícone de seleção para criar o link “efeito (...)” para o controle deslizante var wiggleAmount = effect(“Wiggle Amount”)(“Slider”); // Chocalha 4 vezes por segundo na quantidade definida no controle deslizante wiggle( 4, wiggleAmount );
A camada gira em um círculo
Você pode criar uma expressão sem usar propriedades de outras camadas. Por exemplo, você pode fazer uma camada girar em torno do centro da composição.
-
Selecione uma camada na composição.
-
Pressione P para mostrar a propriedade Posição no painel Linha de tempo.
-
Mantenha a tecla Alt (Windows) ou Option (macOS) pressionada e clique no cronômetro à esquerda do nome da propriedade.
-
Insira o seguinte snippet de código no campo de expressão:
var centerOfComp = [ ( thisComp.width / 2 ), ( thisComp.height / 2) ]; var circleOverTime = [ Math.sin( time ) * 50, -Math.cos( time ) * 50 ]; centerOfComp + circleOverTime;
Overshoot
Conhecida normalmente como salto em inércia, essa expressão usa a animação dos quadros-chave de uma camada para criar um overshoot natural. Cria um movimento de salto de qualquer parâmetro de um quadro-chave para o outro, com base na sua velocidade. O salto acontece em qualquer direção em que o objeto esteja viajando. Para obter essa animação:
-
Crie ou importe seus gráficos no After Effects.
-
Adicione quadros-chave à propriedade Posição da camada que deseja animar.
-
Adicione a seguinte expressão à propriedade Posição da camada:
Configura valores para controlar o overshoot. // Vincule-os aos controles de expressão do controle deslizante para visualizar configurações diferentes rapidamente. var amp = 40; var freq = 30; var decay = 50; // Finds the most recent keyframe var nK = nearestKey(time); var n = (nK.time <= time) ? nK.index : --nK.index; var t = (n === 0) ? 0 : time - key(n).time; // Se o tempo atual for posterior a um quadro-chave, calcule o overshoot. // Caso contrário, use o valor original. se ( n > 0 && t < 1 ) { var v = velocityAtTime( key( n ).time - thisComp.frameDuration /10 ); value + v * amp * .001 * Math.sin(freq * .1 * t * 2 * Math.PI) / Math.exp(decay * .1 * t); } else { value; }
Girar com o tempo
Você pode usar o ícone de seleção para vincular valores de rotação entre camadas para animar objetos. Como se fosse um relógio, considere esses três círculos como três ponteiros do relógio: o ponteiro das horas se move de hora em hora e o ponteiro dos minutos gira toda a circunferência do mostrador do relógio.
-
Importe ou crie camadas de cores sólidas com três círculos. Vamos supor que um deles funcione como o ponteiro das horas, o outro como o ponteiro dos minutos e o terceiro como o ponteiro dos segundos. (Consulte Camadas de cor sólida e itens de gravação de cor sólida.)
-
Defina os pontos de ancoragem nas extremidades das camadas. (Consulte Pontos de ancoragem da camada.)
-
Mova as camadas de forma que os pontos de ancoragem fiquem no centro da composição. (Consulte Mover camadas no espaço.)
-
Defina quadros-chave de Rotação para o ponteiro das horas. (Consulte Definir ou adicionar quadros-chave), selecione a propriedade Rotação para o ponteiro de minutos e escolha Animação > Adicionar expressão.
-
Arraste o ícone de seleção para a propriedade Rotação do círculo maior. A seguinte expressão aparece:
thisCompayer(“circle”)otation
-
Para fazer o segundo círculo girar 12 vezes mais rápido do que o primeiro, adicione *12 ao final da expressão da seguinte maneira:
thisCompayer(“circle”)otation*12
-
Repita o mesmo com o terceiro círculo e adicione *24 ao final da expressão:
thisCompayer(“circle”)otation*24
Loop
As expressões podem ser usadas para realizar loops e estender a animação sem acrescentar quadros-chave adicionais; por exemplo, várias formas podem ser criadas para girar até o final de uma composição. Para isso, adicione um quadro-chave à propriedade Rotação para a rotação de início e, em seguida, outro com a rotação final. Aplicar o método loopOut() à propriedade Rotação do quadro-chave permitirá que a camada continue girando após o último quadro-chave.
Os argumentos usados no exemplo do loopOut() abaixo definem o tipo de loop e a quantidade de quadros-chave a serem incluídos no loop.
//loopOut definido para fazer o ciclo de todos os quadros-chave loopOut (“cycle”, 0);
O primeiro argumento é "cycle", um dos quatro modos de loop disponíveis para o método loopOut. Os outros três são "continue", "offset" e "ping-pong"."cycle" começa o loop no último quadro-chave, começando novamente nos valores do primeiro quadro-chave no intervalo definido pelo segundo argumento.
O segundo argumento é o número de quadros-chave a serem incluídos no loop, contados para trás a partir do último quadro-chave. Se o segundo argumento não for especificado ou estiver definido como 0, toda a animação de quadro-chave na propriedade será repetida após o último quadro-chave. Se o argumento for 1, será feito o loop da animação entre o último quadro-chave e o anterior a ele. Se o argumento for 2, a animação em loop será entre o último quadro-chave e os dois quadros-chave antes dele, e assim por diante.
Obter a posição real de uma camada com parentesco
Quando uma camada tem uma camada principal, o valor mostrado na propriedade Posição não é sua localização “verdadeira” na composição, mas sim um valor relativo à localização da camada principal. Para descobrir a localização real da camada que possui uma camada principal, deve ser usada uma expressão para converter o espaço de coordenadas da camada principal no espaço de coordenadas da composição. Aplique a seguinte expressão à Posição de uma camada sem camada principal para vinculá-la ao local da camada com camada principal:
// Define a camada com parentesco var targetLayer = thisComp.layer(“Parented Layer”); // Localiza o ponto de ancoragem da camada com parentesco na composição targetLayer.toComp( targetLayer.anchorPoint );
Atrasar a posição de uma camada em relação à camada principal
Os recursos de atraso e deslocamento são excelentes maneiras de tornar a animação mais dinâmica e natural. Você pode criar e controlar esses tipos de deslocamento atribuindo muitas camadas a uma camada principal e, em seguida, aplicando uma expressão à Posição de cada camada secundária para atrasar o movimento herdado da camada principal.
Observe que isso funcionará somente nas camadas que possuem uma camada principal.
// Define um valor de atraso em quadros var delay = 5; // Desloca a posição da camada no tempo com base no atraso parent.fromComp( toComp( anchorPoint, time - framesToTime( delay ) ) );
Você também pode determinar a quantidade de atraso com base no índice da camada filho em relação à camada principal. Isso permite que você reordene facilmente a animação das camadas secundárias, reordenando-as na Linha de tempo abaixo da camada principal (ou acima, se você quiser que a animação ocorra antes da camada principal):
// Define um valor de atraso em quadros var delay = 5; // Multiplica o atraso com base no índice dessa camada em relação à camada principal var multiplyDelay = delay * ( index - parent.index ) // Desloca a posição da camada no tempo com base no atraso parent.fromComp( toComp( anchorPoint, time - framesToTime( multiplyDelay ) ) );
Exemplo de expressão: Iniciar ou parar o chocalho no tempo específico
Adicione a seguinte expressão à propriedade Posição de um elemento para iniciar um efeito de chocalho a partir dos 2 segundos da animação:
var timeToStart = 2; if (time > timeToStart) { wiggle(3,25); } else { value; }
Adicione a seguinte expressão à propriedade Posição de um elemento para iniciar um efeito de chocalho no início da animação e parar após 4 segundos:
var timeToStop = 4; if ( time > timeToStop ) { value; } else { wiggle( 3, 25 ); }
Adicione a seguinte expressão à propriedade Posição de um elemento para iniciar um efeito de chocalho no início, a partir dos 2 segundos da animação, e parar após 4 segundos:
var timeToStart = 2; var timeToStop = 4; if ( ( time > timeToStart ) && ( time < timeToStop ) ) { wiggle(3,25); } else { value; }
Exemplo de expressão: Posicionar uma camada entre duas outras
Esta expressão de exemplo posiciona e mantém uma camada em uma distância equilibrada entre duas outras camadas.
-
Comece com três camadas. (Consulte Criar camadas.)
-
Anime as posições das duas primeiras camadas no painel Linha de tempo. (Consulte Caminhos de movimento.)
-
Insira o seguinte no campo de expressão:
( thisComp.layer(1).position + thisComp.layer(2).position ) / 2
Criar uma trilha de imagens

Esta expressão de exemplo faz com que uma camada fique na mesma posição que a camada mais acima no painel Linha de tempo, mas atrasada por um período de tempo especificado (neste caso, 0,5 segundos). Você pode definir expressões semelhantes para outras propriedades geométricas.
-
Comece com uma camada de forma dimensionada com aproximadamente 30% do tamanho da composição. (Consulte Camadas de cor sólida e itens de gravação de cor sólida.)
-
Abra a propriedade Posição e adicione quadros-chave. Selecione a camada. Pressione P para revelar a propriedade Posição. Mantenha a tecla Alt (Windows) ou Option (macOS) pressionada e clique no botão de cronômetro
à esquerda do nome da propriedade. (Consulte Definir, selecionar e excluir quadros-chave.)
-
Insira o seguinte no campo de expressão:
thisComp.layer(thisLayer, -1).position.valueAtTime(time - .5)
-
Duplique a última camada cinco vezes selecionando-a e pressionando Ctrl+D (Windows) ou Command+D (mac OS) cinco vezes. Todas as camadas seguem o mesmo caminho, e cada uma está atrasada 0,5 segundos da anterior.
Exemplo de expressão: Criar uma saliência entre duas camadas
Esta expressão de exemplo sincroniza o argumento Centro da saliência do efeito Saliência em uma camada com a posição de outra camada. Por exemplo, você pode criar um efeito semelhante a uma lupa que se move sobre uma camada, com o conteúdo sob a lupa saliente à medida que a lente (ou seja, a camada sobrejacente) se move. Esta expressão usa o método fromWorld, que faz com a expressão funcione corretamente independentemente se você mover a camada da lupa ou a camada subjacente. É possível girar ou dimensionar a camada subjacente e a expressão permanece intacta.
Você também pode usar outros efeitos, como Ondulação, com esta expressão.
-
Comece com duas camadas. Faça de uma camada uma lupa ou um objeto semelhante com um orifício no meio e nomeie-a como “Lupa”. (Consulte Criar camadas.)
-
Anime a posição da camada de lupa. (Consulte Caminhos de movimento.)
-
Aplique o efeito Saliência à outra camada. (Consulte Aplicar um efeito ou uma predefinição de animação.)
-
Selecione o texto da expressão padrão e digite o seguinte:
fromWorld(thisCompayer(“Magnifier”)osition)
Exemplo de expressão: Atenuar opacidade de uma camada 3D com base na distância da câmera
Aplique a seguinte expressão à propriedade Opacidade de uma camada 3D:
var startFade = 500; // Começa o fade a 500 pixels da câmera. var endFade = 1500; // Termina o fade a 1500 pixels da câmera. try { // Verifica se há uma câmera var C = thisComp.activeCamera.toWorld([0,0,0]); } catch ( err ) { // Sem câmera, então presume 50mm var w = thisComp.width * thisComp.pixelAspect; var z = (w/2)/Math.tan(degreesToRadians(19.799)); var C = [0,0,-z]; } var P = toWorld( anchorPoint ); var d = length( C, P ); linear( d, startFade, endFade, 100, 0 );
A atenuação inicia a uma distância de 500 pixels da câmera e é concluída a 1500 pixels da câmera. O método de interpolação linear é usado para mapear valores de distância para os valores de opacidade.
Exemplo de expressão: Criar uma camada 3D invisível se voltada para outro lado da câmera
Aplique a seguinte expressão à propriedade Opacidade de uma camada 3D:
if ( toCompVec([0, 0, 1])[2] > 0 ) { value; } else { 0; }
Exemplo de expressão: Inverter camada horizontalmente se voltada para outro lado da câmera
Aplique a seguinte expressão à propriedade Escala de uma camada 3D:
if ( toCompVec([0, 0, 1])[2] > 0 ) { value; } else { [ -value[0], value[1], value[2] ]; }
Exemplo de expressão: Animar a escala em cada marcador de camada
Aplique a seguinte expressão a uma propriedade Escala para criar uma tremulação de camada em cada marcador:
var n = 0; var t = 0; if (marker.numKeys > 0){ n = marker.nearestKey(time).index; if (marker.key(n).time > time) n--; } if (n > 0) t = time - marker.key(n).time; var amp = 15; var freq = 5; var decay = 3.0; var angle = freq * 2 * Math.PI * t; var scaleFact = (100 + amp * Math.sin(angle) / Math.exp(decay * t)) / 100; [value[0] * scaleFact, value[1] / scaleFact];
Para adicionar um marcador, selecione Camada > Marcadores > Novo marcador.
Você pode usar qualquer expressão em vez da expressão chocalho usada aqui, para começar e terminar a influência de uma expressão em um tempo específico.
Exemplo de expressão: Corresponder plano focal da câmera com outra camada
Aplique a seguinte expressão à propriedade Distância do foco de uma camada de câmera para fazer corresponder a distância do foco com a distância ao ponto de ancoragem de uma camada denominada “Destino”:
var target = thisCompayer(“target” var V1 = targetoWorld( targetnchorPoint ) - toWorld( [ 0, 0, 0 ] var V2 = toWorldVec( [ 0, 0, 1 ] dot( V1, V2
Dan Ebberts explica este exemplo de expressão detalhadamente em seu site Motionscript.
Mais recursos de expressão
Agora que você compreendeu alguns dos conceitos por trás das expressões, acesse a Comunidade para ver alguns exemplos reais e compartilhar seu trabalho.
Consulte também a coleção excelente de expressões de exemplo e tutoriais do Dan Ebberts no seu site MotionScript.
Dan Ebberts oferece expressões de exemplo e tutoriais para aprender como trabalhar com expressões no site MotionScript. Por exemplo, Dan publicou uma excelente página sobre detecção de colisão.
Mais exemplos de expressão
Rick Gerard mostra um exemplo em seu site que demonstra a rolagem de um objeto quadrado ao longo de um piso de modo que os lados fiquem em contato com o plano do piso.
Colin Braley oferece um tutorial e um projeto de exemplo em seu site que mostram como usar expressões para fazer uma camada repelir outras de uma maneira que parece natural.
O fórum AE Enhancers fornece muitos exemplos e muitas informações úteis sobre expressões, bem como scripts e predefinições de animação. Nesta publicação do fórum AE Enhancers, Paul Tuersley fornece um tutorial e um projeto de exemplo que mostra como usar expressões para animar várias camadas em um enxame.
Fazer logon em sua conta