Путь слоя формы After Effects 2020 игнорирует трехмерную ориентацию при использовании в качестве родительского элемента для нулевого значения?

Aug 17 2020

Я пытаюсь анимировать нуль, чтобы следовать эллиптическому пути. Путь вращается в трехмерном пространстве. Когда я копирую путь в позицию нулевого значения, он копируется, и нулевой объект анимируется вокруг пути, но настройка трехмерной ориентации на слое формы игнорируется, а ключевые кадры нулевого значения настраиваются так, чтобы указывать прямо на камеру, как если бы она находилась в 2D режим:

На этом снимке экрана красная дорожка ключевого кадра - это данные положения, вставленные в нуль, а белый кружок - это обводка пути. Разумеется, поворот нуля ничего не делает, потому что отключены ключевые кадры.

Я новичок в этом, поэтому у меня такое чувство, что я не очень хорошо описываю проблему или есть простое решение, которое я еще не понял. Приветствуются любые рекомендации. Спасибо!

Ответы

1 stib Aug 18 2020 at 20:05

Путь слоя-фигуры находится в пространстве слоев. Другими словами, координаты относятся к слою, независимо от того, где слой находится в пространстве композиции. Содержимое слоя всегда имеет значение 0 по оси z относительно этого слоя. Поэтому, когда вы применяете этот путь в качестве пути движения к слою в пространстве композиции, он всегда будет перемещаться в плоскости X / Y на 0 по оси z. Чтобы нулевой слой использовал то же координатное пространство, что и слой-фигура, вы можете просто сделать его дочерним по отношению к слою-фигуре. Тогда координаты будут относительно его родителя. Если это невозможно, вы можете использовать toWorld()преобразование пространства слоя в выражении, например:

thisComp.layer("shape Layer").toWorld(value);

и примените это к позиции. Что для этого нужно, так это взять значение позиции и выяснить, где оно будет в слое «слой формы», а затем дать значение, где оно находится в координатах композиции.

Есть небольшая ошибка в том, что пути на слоях-фигурах измеряются в комп-пространстве. Перед копированием пути к нулю вы можете захотеть установить точку привязки слоя-фигуры в центр содержимого, используя ctrlalthome. В противном случае вы можете вычесть его позицию из значения скопированного пути:

thisComp.layer("Shape Layer 1").toWorld(value-thisComp.layer("Shape Layer 1").transform.position)