1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Вращение элементов в трех плоскостях

Тема в разделе "Adobe After Effects", создана пользователем Mb, 30 сен 2010.

Модераторы: ksi2, Saplus
  1. Mb

    Mb Пользователь сайта

    С нами с:
    31.03.2004
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    2
    Дано:
    Множество слоев, скомпонованных в трех осях как сфера.
    Необходимо:
    Заставить каждый слой двигаться в соответствии со своим положением и проходить полный круг по окружности, возвращаясь в исходную точку.

    Третий день бьюсь над решением задачи. В exp​ressions я не очень, но нашёл на форуме подобное выражение для вращения по окружности. Однако проблема оказалась в том, что выражение написано для 2D вращения.
    Чуть-чуть допилил, получилось так:
    center=this_comp.layer("Center").position;
    radius=400;
    angle=time*2;
    x=960;
    y=radius*Math.sin(angle);
    z=radius*Math.sin(angle);
    add(center, [x, y, z]);

    Center - это null object с точкой привязки в центре композиции. Сейчас задано движение по двум осям, значение третьей всегда остается неизменным, однако в конечном итоге хотелось бы, чтобы и это значение можно было менять.

    Проблема в том, что это выражение действует на все слои одинаково, меняя их исходное местоположение на новое и вращая по одной и той же окружности, а надо, чтобы каждый слой начинал с той точки, где он находится и возвращался в неё же (см. картинку).

    Умом чую, что проблема в том, что в выражении не задана исходная точка, однако как её задать (учитывая, что, фактически, она должна определяться сама исходя, например, из положения слоя относительно края композиции, т.е. с использованием значения width композиции) - не понимаю.

    Помогите разобраться и не сгинуть в пучине прорисовки path'ей каждому слою!
     

    Вложения:

    • 1951957.jpg
      1951957.jpg
      Размер файла:
      46,2 КБ
      Просмотров:
      65
  2. mazzza

    mazzza Знаток

    С нами с:
    08.02.2006
    Сообщения:
    870
    Симпатии:
    10
    Баллы:
    23
    попробуйте построить свою сферу, используя скрипт
    "createSphere.jsx"
    www.nabscripts.com
    (возможно, придется поподбирать значения количества слоев и радиуса)
    тогда вращая null, которому будут припаренчены слои, вы, вроде, получите то,что вам нужно....
     
  3. Mb

    Mb Пользователь сайта

    С нами с:
    31.03.2004
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    2
    Там немного не о том скрипт, но за ссылку спасибо.
    В представленном скрипте все слои вращаются (rotation'ом) вокруг одной точки, а нужно, чтобы они все "следовали" по прописанному в скрипте пути.
     
Модераторы: ksi2, Saplus

Поделиться этой страницей