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 Иерархия и прямая кинематика 3
INB русский язык Форум
Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com
INB русский язык Форум

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


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

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

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

1Уроки Maya Иерархия и прямая кинематика 3 Empty Уроки Maya Иерархия и прямая кинематика 3 в Сб Окт 02, 2010 7:02 am

Admin

Admin
Admin
Предположим, что по некоторой достаточно длинной криволинейной трассе движется объект (в нашем случае примитив TorusKnot), перемещение которого должно фиксироваться камерой крупным планом — значит, в конкретный момент времени наблюдать можно только за отдельным участком трассы. Кроме того, небольшой фрагмент трассы с объектом в каждый конкретный момент времени должен освещаться тремя разноцветными прожекторами, напоминающими разноцветные театральные софиты. Получается, что помимо движения объекта по сложной траектории требуется также организовать слежение за ним камеры и трех источников света. Создайте плоскость и объект TorusKnot, а затем настройте освещение посредством внедрения в сцену слабого Omni-источника для общего освещения сцены и трех направленных прожекторов, например с лучами синего, красного и зеленого цветов и небольшими световыми конусами (в данном случае параметр Hotspot/Beam равен 10, а Falloff/Field — 20) — рис. 41. Добавьте трассу в виде произвольного криволинейного сплайна и переместите объект в начало трассы (рис. 42).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 41. Исходная сцена

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


Анимируем перемещение объекта. Создайте объект-пустышку и организуйте его перемещение по траектории (команда Animation=>Constraints=>PathConstraint с включенным на панели Motion флажком Follow). Свяжите объект TorusKnot с фиктивным объектом и выровняйте его по объекту-пустышке по всем трем осям, убедитесь, что при проигрывании анимации объект TorusKnot совершает запланированное перемещение по траектории.
Теперь нужно настроить слежение источников света. В нашем случае источники направленные ( Target Spot), то есть для них уже задан контроллер Look At (Смотреть на), ограничивающий их вращение таким образом, чтобы они всегда были направлены на свои мишени. Поэтому самым простым решением представляется указать в качестве мишеней Dummy-объект, что автоматически приведет к тому, что источники всегда будут направлены на движущийся объект. Для этого достаточно выделить первый источник (без мишени), на панели Motion открыть свиток Look At Parameters (Параметры контроллера «Смотреть на»), щелкнуть на кнопке Pick Target (Указать мишень) и указать в одном из окон проекций объект Dummy01 (рис. 43). Затем данную операцию следует проделать в отношении двух других источников. После этого источники света будут действительно следить за движущимся объектом, только вот эффект разноцветных театральных софитов окажется утраченным, поскольку все три источника станут освещать одну и ту же область пространства, а значит, их разноцветные световые лучи полностью сольются (рис. 44). Получается, что мишень для каждого источника должна быть своя, но при этом все три мишени должны следовать за объектом Dummy01. Поэтому создайте еще три фиктивных объекта и разместите их так, чтобы они находились в центрах предполагаемых световых пятен (рис. 45). Выделите все три дополнительных объекта-пустышки и свяжите их с объектом Dummy01 (рис. 46). Теперь софиты будут не только следить за движущимся объектом, но и освещать каждый свою зону, что и обеспечит наличие трех разноцветных световых пятен (рис. 47).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 43. Настройка параметров свитка LookAtParameters для первого Spot-источника

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

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

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

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


В окне Left создайте камеру, окно Perspective замените на окно проекции камеры (команда Views=>Camera из меню окна проекции или клавиша C). Настройте положение и ориентацию камеры так, чтобы она была направлена на движущийся объект (рис. 48). К сожалению, направление ориентации на объект будет выдерживаться лишь для данного конкретного кадра анимации. Поэтому выделите камеру (без мишени), на панели Motion откройте свиток Look At Parameters, щелкните на кнопке Pick Target и укажите в качестве мишени камеры объект Dummy01 (рис. 49). Проиграйте анимацию — теперь камера добросовестно следит за объектом, вот только расстояние между камерой и объектом постоянно меняется, что затрудняет наблюдение (рис. 50). Поэтому свяжите камеру с объектом Dummy01 (рис. 51) — теперь камера будет не только продолжать слежение за объектом, но и автоматически настраивать позиционирование, а значит, наблюдение за объектом будет производиться с одного и того же расстояния (рис. 52). К сожалению, это еще не все — внимательно просмотрите всю анимацию, и вы увидите, что освещение софитами движущегося объекта на разных этапах анимации неодинаково, хотя все три световых пятна всегда присутствуют — дело в том, что меняется расстояние от источников света до объекта. Исправляется ситуация точно так же, как и вышерассмотренная с позиционированием камеры — достаточно связать все три источника с объектом Dummy01 (рис. 53), а затем установить их на желаемом удалении от объекта. Это и приведет к нужному результату — отдельные кадры полученной в итоге анимации представлены на рис. 54.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 48. Появление камеры

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

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

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

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

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

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

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


Применим метод прямой кинематики для имитации шевеления щупалец некоего морского обитателя. Вначале создайте три базовых объекта — один объект Spring01 и два обычных цилиндра, разместите их друг на друге в направлении оси Z (это и будет основа для щупальца). Между ними включите два Dummy-объекта (рис. 55). Выделите объект Cylinder02, откройте на панели Motion свиток Assign Controller (Назначение контроллеров), выделите строку Rotation и щелкните на одноименной кнопке Assign Controller (рис. 56). В открывшемся окне выделите опцию LookAt Constrant (рис. 57) и нажмите Ok. Затем щелкните на кнопке AddLookAt Target и в качестве цели, на которую будет смотреть данный цилиндр, укажите нижний объект-пустышку, а в области SelectLookAt Axis подсветите ось Z (рис. 58). Аналогичную операцию проведите в отношении объекта Spring01, только в качестве ограничивающей его вращение цели укажите объект Dummy02.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 55. Исходная сцена

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

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

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 58. Назначение LookAt-цели объекту Cylinder02


Теперь назначим обоим объектам-пустышкам постепенно затухающие колебания, что можно сделать путем добавления им контроллеров Spring (Пружина). Выделите объект Dummy01, откройте на панели Motion свиток Assign Controller, выделите строку Position, щелкните на Assign Controller, выберите контроллер Spring и увеличьте его параметр Mass примерно до 500 (рис. 59). Данный параметр отвечает за силу колебаний — чем выше его значение, тем колебания сильнее. Точно таким же образом назначьте контроллер Spring второму фиктивному объекту.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 59. Назначение контроллера Spring объекту Dummy01


Свяжите объект Dummy01 с объектом Cylinder01, а объект Dummy02 с объектом Cylinder02 (рис. 60). В режиме автоматической генерации ключей в одном из начальных кадров (мы выбрали 10-й) переместите объект Cylinder01, являющийся родительским, на некоторое расстояние относительно осей X и Y (рис. 61). Проиграйте анимацию, и вы увидите, что щупальце шевелится (рис. 62). Размножьте щупальца, применив операцию Array (команда Tools=>Array) с параметрами как на рис. 63. Это приведет к получению сразу массива щупалец (рис. 64), которыми можно будет воспользоваться при создании какого-нибудь сказочного морского обитателя, только придется прочие элементы данного существа связать с главным родительским объектом сцены Cylinder01. В силу большого количества объектов сцены это окажется проблематичным. Поэтому вначале щелкните на кнопке Select by Name, выберите объекты, которые требуется связать. Затем активируйте инструмент SelectandLink и вновь щелкните на кнопке Select by Name — откроется окно Select Parent (а не Select Object); укажите в нем объект Cylinder01 (рис. 65) и щелкните на кнопке Link, что и приведет к требуемому связыванию. Теперь щупальца уже будут перемещаться не сами по себе, а вместе с прочими элементами морского существа. Вид полученной в итоге сцены в некоторых кадрах анимации может напоминать рис. 66.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 60. Вид иерархической цепочки после связывания всех объектов

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

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

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

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

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

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

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

 

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