Como Centralizar Dinamicamente o Ponto Âncora em Caixas de Texto no After Effects

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().heightsourceRectAtTime().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 com width/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 com height/2, encontramos o ponto central no eixo vertical.

4

[posX, posY]

  • Essa linha retorna um array com as coordenadas posX e posY, 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!

Compartilhe essa postagem:

Related Posts

Assine nossa Newsletter