Caminho da camada de forma do After Effects 2020 ignorando a orientação 3D quando usado para gerar um nulo?
Estou tentando animar um nulo para seguir um caminho de elipse. O caminho é girado no espaço 3D. Quando copio o caminho para a posição do nulo, ele copia e o nulo é animado ao redor do caminho, mas a configuração de orientação 3D na camada de forma é ignorada e os quadros-chave do nulo são configurados para apontar diretamente para a câmera como se estivesse em Modo 2D:

Nesta captura de tela, a trilha do quadro-chave vermelho são os dados de posição colados no nulo e o círculo branco é um traço do caminho. Girar o nulo não faz nada, é claro, porque são os quadros-chave que estão desligados.
Eu sou muito novo nisso, então tenho a sensação de que não estou descrevendo o problema muito bem ou há uma solução simples que ainda não descobri. Qualquer orientação será imensamente apreciada. Obrigado!
Respostas
O caminho da camada de forma está no espaço da camada. Em outras palavras, as coordenadas são relativas à camada, independentemente de onde a camada está no espaço de composição. O conteúdo de uma camada está sempre em 0 no eixo z em relação a essa camada. Portanto, quando você aplica esse caminho como o caminho de movimento a uma camada no espaço de composição, ele sempre se moverá no plano X / Y, em 0 no eixo z. Para fazer a camada nula usar o mesmo espaço de coordenadas que a camada de forma, você pode simplesmente torná-la filha da camada de forma. Então, as coordenadas serão relativas ao seu pai. Se isso não for possível, você pode usar a toWorld()
transformação do espaço da camada em uma expressão, assim:
thisComp.layer("shape Layer").toWorld(value);
e aplique isso à posição. O que isso faz é pegar o valor da posição e descobrir onde ele estaria na camada "camada de forma" e, em seguida, fornecer o valor de onde isso está nas coordenadas de comparação.
Há um pequeno problema, em que os caminhos nas camadas de forma são medidos no espaço de composição. Antes de copiar o caminho para o nulo, você pode definir o ponto de ancoragem da camada de forma no centro do conteúdo, usando ctrlalthome. Caso contrário, você pode subtrair sua posição do valor do caminho copiado:
thisComp.layer("Shape Layer 1").toWorld(value-thisComp.layer("Shape Layer 1").transform.position)