Но сначала его нужно подготовить для этого.

Создадим из него этакий Macro Driven Key.

Зациклим кривые цикла походки. Для этого нужно выделить кривые клипа в Graph Editor и вызывать Curves=>Post Infinity =>Cycle.

Проверьте это следующим образом. Поставьте значение атрибута клипа Source End на много больше, чем там было, и проиграйте анимацию. Если все сделано правильно, при прохождении кадра, где раньше клип заканчивался, не должно быть никаких скачков. Если таковые имеются, значит это неправильный цикл. Также для «чистоты» воспроизведения желательно сделать всем кривым вращения операцию Euler Filter, чтобы при попадании в межкадровое пространство не было никаких «глюков» с вращением.

Еще одно условие - персонаж должен «шевелиться» на одном месте. И у него должен иметься такой локатор (или группа), двигая который, мы могли бы передвигать его по сцене.

На этом локаторе создадим дополнительный атрибут (тип Float) для управления фазой движения цикла.

Свяжем его (в Connection Editor ) с атрибутами клипа - Source Start и Source End. В этот момент клип в Trax Editor должен сократиться до одного кадра. Это нормально, за исключением того, что теперь стало трудней искать его там и выделять.

Проверим работу нового атрибута (кстати, я его назвал phase), изменяя его значения -персонаж должен зашевелиться.

Теперь добавим на контрольный локатор еще один атрибут (path, тоже типа Float) для преобразования пройденного расстояния персонажем в текущую фазу цикла. Преобразование можно делать простым выражением (expression) типа: phase = path / 1.15. Можете также использовать Set Driven Key, особенно если эта зависимость нелинейная.

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

Данную технику можно использовать также для анимации толпы. Мой коллега, программист Дмитрий Робустов, для нужд нашей студии написал плагин, который, используя фазы клипа персонажа, меняет позу персонажа уже во время рендеринга в RenderMan. Это позволяет существенно оптимизировать процесс передачи данных на рендер и ускорить сам процесс просчета толпы. Но замечу: это только один из многочисленных вариантов технологий анимации толпы. Как правило, в каждой студии, он чем-то отличается от других.

Перенос анимации и поз из одной сцены в другие Одно из главных достоинств клипов - возможность на их основе создавать библиотеку движений и поз. Правда, многие аниматоры сталкиваются с проблемой, когда созданный ранее клип некорректно переносится на такой же персонаж в другой сцене.

Причин, по которым это происходит, может быть несколько: например, при создании Character Set поменялся порядок атрибутов (аниматор выбирал объекты в другом порядке), или изменилось число атрибутов, или у персонажа изменился префикс, если он был импортирован в сцену.


⇐ вернуться назад | | далее ⇒