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 Tempo
- Efeitos de transição
- O efeito Reparo do obturador de rolagem
- Efeitos Desfoque e Tornar nítido
- Efeitos de Canal 3D
- Efeitos de utilitários
- Efeitos de fosco
- Efeitos Ruído e Granulação
- Efeito de 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 idioma de expressão
- Exemplos de expressão
- Automação
- Expressões
- Vídeo imersivo, VR e 3D
- Construa ambientes VR no After Effects
- Aplicar efeitos de vídeo imersivo
- Ferramentas de composição para vídeos VR/360
- Renderizador 3D avançado
- Importar e adicionar modelos 3D à composição
- Importação de modelos 3D das bibliotecas da Creative Cloud
- Iluminação com base na imagem
- Extração e animação de luzes e câmeras de modelos 3D
- Rastreamento de movimento de câmera 3D
- Projetar e aceitar sombras
- Animações de modelos 3D incorporadas
- Coletor de sombras
- Extração de dados de profundidade 3D
- Modificar as propriedades de materiais de uma camada 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 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 move-se de hora em hora, e o ponteiro dos minutos gira por 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.
-
Defina os pontos de ancoragem nas extremidades das camadas.
-
Mova as camadas de forma que os pontos de ancoragem fiquem no centro da composição.
-
Defina quadros-chave de rotação para o ponteiro das horas. Selecione a propriedade Rotação para o ponteiro dos minutos e 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.
-
Para começar, crie três camadas.
-
Anime as posições das duas primeiras camadas no painel Linha do tempo.
Dica:Saiba como trabalhar com 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 como aproximadamente 30% do tamanho da composição.
-
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.
-
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.
-
Para começar, crie duas camadas. Transforme uma camada em uma lupa ou objeto semelhante com um orifício no meio e nomeie-a Lupa.
-
Anime a posição da camada de lupa.
-
Aplique o efeito de saliência à outra camada.
-
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
Mais recursos de expressão
Agora que você já entendeu alguns dos conceitos por trás das expressões, acesse a comunidade para ver alguns exemplos reais e compartilhar o seu trabalho.