Link:INB Home|INB English| INB русский язык|INB العربية|INB Türkiye|INB فارسی|INB Español|INB Français|INB Português|INB Deutsch|INB 國語|INB 中文|INB 日本语|INB 한국어|INB ภาษาไทย|INB tiếng Việt||Уроки Maya Анимация вдоль пути 1
INB русский язык Форум
Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com
INB русский язык Форум

Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com


Вы не подключены. Войдите или зарегистрируйтесь

《《《《《《《上一页INBforum   Перейти вниз

上一页INBforum》》》》》》》Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

1Уроки Maya Анимация вдоль пути 1 Empty Уроки Maya Анимация вдоль пути 1 в Пт Окт 01, 2010 11:21 pm

Admin

Admin
Admin
Технология создания анимации вдоль пути


Суть технологии анимации вдоль пути заключается в том, что нужно «посадить» объект на заданный путь. Путь представляет собой заранее созданную NURBS-кривую, которой можно придать любую желаемую форму. Он обеспечивает четкую ориентацию и направление движения объекта и может неоднократно редактироваться путем перемещения существующих вершин NURBS-кривой, создания новых вершин и удаления ненужных — все это в итоге будет приводить к изменению траектории движения объекта. Предусмотрены функции изменения времени начала и окончания движения, а также его длительности, что позволяет регулировать скорость перемещения объекта по пути. Возможно также указать, в каком месте кривой объект должен находиться в определенный момент времени, — это позволяет смоделировать изменение направления движения, задержку в одной точке или колебание вокруг нее. Объект может быть любым, более того, можно одновременно связать с траекторией не один, а сразу несколько объектов — независимых или находящихся между собой в некоторых иерархических отношениях.
Существует два технологически разных подхода к созданию анимации вдоль пути. Чаще всего объект привязывается к уже готовой траектории — в этом случае последовательность действий такова: вначале нужно сформировать NURBS-кривую (предполагаемую траекторию движения), а потом присоединить к ней объект, сориентировав его на траектории таким образом, чтобы передняя часть объекта всегда была нацелена в направлении движения. Но можно пойти и иным путем (весьма схожим с технологией создания анимации по ключевым кадрам): последовательно указать все ключевые положения объекта в пространстве и сориентировать его положение в каждой из ключевых точек, что приведет к формированию траектории его движения. В любом случае программа сама рассчитает положение объекта в каждом из кадров анимации (ключевых и промежуточных в первом варианте и промежуточных — во втором) таким образом, что он будет двигаться по заданному пути, автоматически поворачивая нужным образом при изменении траектории. Более того, при поворотах объект может даже деформироваться — это необходимо для обеспечения реалистичности перемещения некоторых видов объектов.
За создание анимации вдоль пути отвечает подменю Motion Paths (Траектории движения; рис. 1) из меню Animate (Анимация), доступное лишь в режиме создания анимации, устанавливаемом при нажатии клавиши F2.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 1. Подменю MotionPaths

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Привязка объекта к готовой кривой-траектории


Для того чтобы разобраться с особенностями формирования анимации по пути, создайте новую сцену с шаром в центре и установите режим Animation, нажав клавишу F2. В проекции Top инструментом EPCurveTool (Кривая по точкам редактирования) нарисуйте на плоскости произвольную NURBS-кривую (рис. 2). Выделите шар, а затем при нажатой клавише Shift еще и созданную кривую. Примените к ним команду Animate=> Motion Paths=> Attach to Motion Path (Анимация=>Траектории движения=>Привязать к траектории движения). В итоге шар автоматически сместится в начальную точку кривой, а на самой траектории появятся два позиционных маркера с номерами первого и последнего (в данном случае 30-го) кадров, задействованных в анимации по пути (рис. 3). Данные маркеры появятся и в окне Outliner в качестве дочерних объектов исходной кривой (рис. 4). Проиграйте анимацию, щелкнув на кнопке Play, и увидите, что шар действительно перемещается по указанной траектории.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 2. Исходные элементы сцены

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 3. Вид привязанного к траектории шара в одном из промежуточных кадров (с отображенными на траектории позиционными маркерами)

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 4. Окно Outliner с позиционными маркерами


Обратите внимание, что под последним кадром в данном случае понимается не последний кадр всей анимации в целом, а последний кадр диапазона воспроизведения анимации. Это позволяет определять кадровый интервал анимации (первый и последний кадры), в котором объект должен двигаться по траектории. Так, в нашем случае перемещение шара по пути займет первые 30 кадров анимации, в то время как общая длительность анимации составляет 48 кадров. В то же время если бы мы, например, перед привязкой шара к траектории изменили диапазон воспроизведения анимации, установив на слайдере RangeSlider другие значения в качестве начального и конечного кадров диапазона, то именно эти новые значения и стали бы начальной и конечной точками движения шара (рис. 5). Сохраните созданную анимацию — чуть позже мы к ней вернемся.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 5. Регулирование времени начала и окончания движения через диапазон воспроизведения кадров — исходный вариант (слева) и измененный

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Формирование траектории по ключевым положениям объекта


Создайте новую сцену с шаром и включите режим Animation. Активируйте первый кадр, установите шар в то положение, которое он должен занимать в начале перемещения, и воспользуйтесь командой Animate=>MotionPaths=>SetMotionPathKey (Анимация=>Траектории движения=>Создать ключ траектории движения) — будет создан первый ключ, точнее первый позиционный маркер с номером первого кадра из диапазона воспроизведения анимации (рис. 6). Переместите ползунок таймера анимации на следующий ключевой кадр и вновь примените команду Animate=>MotionPaths=>SetMotionPathKey — появится второй позиционный маркер и будет отображен соединяющий маркеры участок траектории (рис. 7). Аналогичным образом определите все остальные ключевые позиции шара при его движении — возможный вид полученной в итоге траектории представлен на рис. 8. При проигрывании анимации вы увидите, что шар перемещается по созданной траектории. Стоит заметить, что данный способ лучше употреблять не для того, чтобы построить траекторию с нуля, а лишь для расширения уже существующей траектории, поскольку привязка объекта к уже готовой траектории на порядок удобнее и быстрее.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 6. Появление первого позиционного маркера

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 7. Второй позиционный маркер и начальный участок траектории

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 8. Вид траектории со всеми позиционными маркерами

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Редактирование траектории движения


Созданная траектория перемещения шара (как при первом, так и при втором методе) получилась не очень плавной — проблема в том, что на кривой-пути слишком мало вершин. Казалось бы, решить проблему несложно: достаточно увеличить количество управляющих точек на кривой, сделав ее более плавной, и включить опцию 3Cubic в ходе перестройки кривой. Посмотрим, что из этого получится в случае кривой, построенной методом указания ключевых положений объекта. Выделите кривую-путь, включите режим Modeling (клавиши F3) и откройте окно RebuildCurveOptions (команда EditCurves=>RebuildCurve — Редактировать кривые=>Перестроить кривую). Измените параметры кривой примерно так, как показано на рис. 9, — скорее всего, потребуется включить опцию 3Cubic и увеличить значение параметра NumberofSpans. В результате кривая станет плавной (рис. 10), но при проигрывании анимации шар нормально двигаться по ней уже не будет, поскольку все внутренние позиционные маркеры (необходимые в данном случае для перемещения) окажутся уничтоженными. А теперь откройте сохраненный ранее файл с анимацией шара, привязанного к готовой траектории, выделите кривую-траекторию и аналогичным образом перестройте ее. В итоге и кривая станет плавной, и шар будет по-прежнему по ней перемещаться (рис. 11). Стоит заметить, что подобное сглаживание траектории лучше проводить в самом конце подготовки ролика, когда окончательно выяснится, что редактировать ее больше не придется. Поэтому верните первоначальный вид траектории, отказавшись от последнего действия.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 9. Настройка параметров в окне RebuildCurveOptions

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

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 11. Положение шара в одном из ключевых кадров на траектории, созданной по первому методу и перестроенной


Вполне возможно, что траекторию движения объекта в ходе работы над анимацией придется неоднократно корректировать. Самое простое — изменить ее форму, для чего достаточно переместить отдельные вершины NURBS-кривой. Попробуйте осуществить это, выделив кривую, нажав клавишу F9 и произвольным образом изменив положение вершин (рис. 12).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 12. Изменение траектории движения путем корректировки положения вершин


Форму траектории также можно изменить путем непосредственного указания нового положения объекта в конкретном кадре, а также ее удлинением. Вернитесь в режим работы на уровне объекта (клавиша F8) и включите режим Animation. Выделите шар, переместите ползунок таймера анимации в один из промежуточных кадров анимации, измените положение шара произвольным образом и примените команду Animate=>MotionPaths=>SetMotionPathKey (Анимация=>Траектории движения=>Создать ключ траектории движения) — траектория перемещения шара изменится (рис. 13). Точно таким же способом можно удлинить траекторию, дополнив ее в начале или в конце новыми участками (рис. 14). Если речь идет о начале пути, то перед этим следует активировать первый кадр диапазона воспроизведения или один из более ранних кадров, в диапазон не входящий, а если о конце — то любой из кадров, находящийся после диапазона воспроизведения.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 13. Корректировка траектории движения: исходное положение шара (слева), перемещение шара (в центре), вид изменившейся траектории

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 14. Удлинение траектории движения: исходное положение шара (слева), перемещение шара (в центре), вид изменившейся траектории


Если возникает обратная проблема (требуется укоротить путь), то она решается обычным удалением вершин NURBS-кривой, играющей роль пути. Если путь стал не нужен, то его несложно удалить, выделив и нажав клавишу Del. Если путь нужен, но требуется разрушить его связь с объектом, следует выделить путь, создать его дубликат (команда Edit=> Duplicate — Редактирование=>Дублировать), а затем в окне Outliner выделить исходную кривую-путь и нажать клавишу Del. Аналогичного результата (кривая сохранится, а связь будет разорвана) можно добиться и проще — через редактор сцен, открываемый командой Window=>Hypergraph (Окно=>Редактор сцен). Для этого следует выделить в окне проекций объект, переключиться в окно Hypergraph, выделить связанный с ним узел Motion (рис. 15) и нажать клавишу Del.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 15. Окно редактора сцен Hypergraph с выделенным узлом Motion

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Определение поведения объекта при его движении по траектории


Объект при движении может перемещаться по всей траектории равномерно либо какие-то ее участки проходить в более быстром (или, наоборот, медленном) темпе. Кроме того, при движении он способен наклоняться или даже переворачиваться, что может пригодиться, например, при имитации движения по ухабистой дороге. Все эти нюансы корректируются через параметры объекта в окне каналов. Поскольку речь идет (в том числе) и о всевозможных наклонах, то для наглядности замените движущийся по траектории шар на полигональный куб, то есть шар удалите, создайте куб, а затем свяжите его с траекторией (команда Animate=> Motion Paths=> Attach to Motion Path).
Откройте окно каналов, выделите куб, удостоверьтесь, что ползунок таймера анимации стоит на первом кадре, и щелкните в окне каналов под заголовком INPUTS (Входные данные) на строке motionPath1. Откроется свиток с параметрами, управляющими особенностями перемещения объекта по траектории (рис. 16):

  • U Value — определяет положение объекта на траектории; значение данного параметра меняется в интервале от 0 до 1 (по умолчанию в первом кадре — 0, в последнем — 1);
  • Front Twist/ Up Twist/ Side Twist — задает величину поворота относительно оси X/ Y/ Z, локальной для объекта; изначально значения данных параметров во всех кадрах равны 0, это означает, что направление объекта относительно осей X/ Y/ Z совпадает с направлением, присвоенным ему при связи с траекторией, и при перемещении меняться не будет.

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 16. Вид свитка motionPath1 в первом кадре


Выделите куб и активируйте инструмент ShowManipulator Tool (Отображение манипулятора) — рис. 17. Появится несколько манипуляторов, которыми можно редактировать входные параметры узла: положение объекта на траектории и его наклон относительно осей X/ Y/ Z. Положение регулируется посредством маркера, находящегося на пересечении осей, а наклоны — через красную, зеленую и синюю окружности соответственно. Вначале рассмотрим, как регулировать скорость перемещения объекта, которая напрямую связана с параметром U Value, определяющим положение объекта. Предположим, куб должен перемещаться по траектории с различной скоростью: первые три четверти пути он будет двигаться быстро, а оставшуюся четверть — медленно. Это означает, что к середине диапазона воспроизведения он должен пройти не половину, а три четверти пути. Чтобы добиться этого, установите ползунок таймера анимации в середине диапазона (то есть на 15-й кадр) и перетащите куб, ухватив его за маркер (он находится в центре объекта) по траектории так, чтобы куб оказался в самом начале последней четверти пути. Щелкните в окне каналов на поле UValue и закрепите новое положение куба, создав новый позиционный маркер при помощи команды Channels=>KeySelected (Каналы=>Ключ для выделенного) — рис. 18 и 19. Проиграйте анимацию и убедитесь, что скорость куба на траектории меняется: вначале он движется очень быстро, а последний отрезок пути, наоборот, очень медленно.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 17. Инструмент ShowManipulatorTool

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 18. Выбор команды Key Selected

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 19. Изменение положения куба: исходное положение (слева), новое положение (в центре) и результат создания позиционного маркера для нового положения


Наклон объекта при его движении по траектории регулируется примерно таким же образом. Предположим, что куб в процессе движения должен трижды перевернуться относительно оси Z. Выделите куб, переключитесь в последний кадр, активируйте инструмент ShowManipulator Tool (Отображение манипулятора) и поверните синюю окружность соответствующим образом. Точно такого же результата можно достичь и путем ввода в окне каналов нужного значения для параметра Side Twist — в данном случае оно будет равно –1080. Щелкните в поле Side Twist и создайте ориентационный маркер, применив команду Channels=>KeySelected (Каналы=>Ключ для выделенного). Пока никаких переворотов куба при движении не будет, поскольку начальное его положение при значении Side Twist, равном 0, в первом кадре нами зафиксировано не было. Чтобы исправить ситуацию, переключитесь в первый кадр, введите в поле Side Twist значение 0 и также создайте ориентационный маркер командой Channels=>KeySelected (рис. 20). Теперь куб при движении будет переворачиваться. Обратите внимание, что настройка параметров Front Twist/ Up Twist/ Side Twist используется не только для имитации наклона объекта при перемещении (что актуально, например, при движении по ухабистой дороге), но и для его ориентации относительно пути (это может потребоваться в случае, если ориентация, установленная программой автоматически, оказалась неправильной).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 20. Появление ориентационных маркеров для первого и последнего кадров
]

http://ru.inbforum.com

上一页INBforum   Перейти вниз

上一页INBforumПредыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения

Copyright ©2009-2010 LTD Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

IT:SINGLESERVGoogle谷歌翻译TranslateFORUMSOFTLAYERGoogle谷歌广告联盟AdSenseAsia

 

Как создать форум | © PunBB | Бесплатный форум поддержки | Контакты | Сообщить о нарушении | Последние обсуждения