Quando criamos textos simples no After Effects, o ponto pivô (anchor point) costuma ser posicionado no canto inferior esquerdo. Por outro lado, ao criar uma caixa de texto, o ponto pivô é inicialmente centralizado na caixa. No entanto, ao realizar edições no conteúdo, ele permanece fixo como se estivesse definido de forma estática em relação à caixa.
Existe um truque muito útil para garantir que o ponto âncora (anchor point) se ajuste dinamicamente, reposicionando-se sempre no centro, independentemente das alterações feitas no texto. Para isso, podemos utilizar a seguinte expressão aplicada ao ponto âncora:
var {top, left, width, height} = sourceRectAtTime();
var posX = left + width/2;
var posY = top + height/2;
[posX, posY]
Vamos analisar essa expressão passo a passo para você dominar o controle do anchor point
da sua camada.
Explicação detalhada:
1
var {top, left, width, height} = sourceRectAtTime();
Essa linha de código em JavaScript usa uma técnica chamada desestruturação de objetos para extrair informações de um objeto de forma mais concisa. O que acontece aqui basicamente é, em vez de acessar cada propriedade do objeto incividualmente (por exemplo sourceRectAtTime().height
, sourceRectAtTime().width
, etc.) essa linha “desempacota” o objeto e atribui cada pripriedade deiretamente a uma variável com o mesmo nome. Para saber mais, visite a documentação oficial do javascript.
1.1: sourceRectAtTime()
: Essa função, no After Effects, retorna um objeto. Esse objeto contém informações sobre as dimensões e a posição de uma camada em um determinado momento. As informações são: top
, left
, width
e height
, que representam, respectivamente, o topo, a esquerda, a largura e a altura da camada.
1.2: var {top, left, width, height} = ...
: Aqui entra a desestruturação. Em vez de acessar cada propriedade do objeto individualmente (como sourceRectAtTime().top
, sourceRectAtTime().left
, etc.), essa linha “desempacota” o objeto e atribui cada propriedade diretamente a uma variável com o mesmo nome.
Resumindo, essa linha usa desestruturação para obter as propriedades top
, left
, width
e height
do objeto retornado por sourceRectAtTime()
. Essas propriedades representam as dimensões e a posição da camada no tempo especificado.
2
var posX = left + width/2;
- Calcula a posição horizontal (X) do centro da camada.
left
é a posição da borda esquerda da camada.width/2
é a metade da largura da camada.- Somando
left
comwidth/2
, encontramos o ponto central no eixo horizontal.
3
var posY = top + height/2;
- Calcula a posição vertical (Y) do centro da camada.
top
é a posição da borda superior da camada.height/2
é a metade da altura da camada.- Somando
top
comheight/2
, encontramos o ponto central no eixo vertical.
4
[posX, posY]
- Essa linha retorna um array com as coordenadas
posX
eposY
, que representam o centro da camada. - Ao aplicar essa expressão no
anchor point
, você instrui o After Effects a posicionar o ponto de ancoragem exatamente no centro da camada.
Espero que este conteúdo de ajude. Inscreva-se em nosso canal do Youtube para mais conteúdos como esse.
Até a próxima!