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

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


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

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

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

1Уроки Maya Построение иерархий с помощью системы костей Bones 2 Empty Уроки Maya Построение иерархий с помощью системы костей Bones 2 в Сб Окт 02, 2010 7:06 am

Admin

Admin
Admin
Внедрение в модель структуры костей само по себе никак не скажется на поведении модели — необходимо обеспечить между ними взаимодействие, что возможно путем назначения модели модификатора Skin (Кожа), связанного с системой костей. Данный модификатор может воздействовать на любую Mesh-, Patch- или Nurbs-модель, обеспечивая ее плавную деформацию с учетом смещения при движении костей, причем в качестве костей могут использоваться не только Bones-объекты, но и любые другие объекты геометрии, включая сплайны. Технология работы с ним следующая: сначала создается модель (следует иметь в виду, что после применения модификатора Skin работа с моделью на уровне подобъектов может привести к самым непредсказуемым результатам) и для нее настраивается система костей. Кости нужно максимально подогнать под размер модели и отрегулировать положение их опорных точек, которые обязательно должны располагаться в местах суставов (то есть именно там, где при движении предполагается деформация). Затем к модели применяется модификатор Skin и для каждой кости тщательно настраивается степень ее влияния на модель.
Рассмотрим нюансы назначения модификатора Skin на практике. Создайте новую сцену с цилиндром, имеющим следующие параметры: Radius — 3, Height — 60, Sides — 36. Назовите данный цилиндр armCyl — будем считать его упрощенной имитацией фрагмента руки, состоящей из плеча и локтя. Клонируйте его в режиме Copy и установите у клона параметры Radius и Height равными 0,5 и 30 соответственно. Установите данный цилиндр в нижней части цилиндра armCyl. Клонируйте тонкий цилиндр и поместите клон в верхней части цилиндра armCyl. Назовите эти цилиндры bone01 и bone02 и присвойте им другой цвет для упрощения ориентации (рис. 23) — в нашем примере они будут играть роль костей. Прежде чем переходить к связыванию предполагаемых костей с объектом, нужно настроить положение их опорных точек. Очевидно, что опорные точки цилиндров bone01 и bone02 находятся внизу. В случае верхнего цилиндра такое положение дел нас устраивает, поскольку опорная точка лежит как раз в месте предполагаемого сгиба, а вот опорную точку нижнего цилиндра придется передвинуть. Выделите объект bone01, откройте на панели Hierarchy закладку AdjustPivot (Настройка опорной точки), щелкните на кнопке AffectPivotOnly (Воздействие на центр связывания) и переместите опорную точку так, чтобы она идеально совпала с опорной точкой объекта bone02 (рис. 24).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 23. Первоначальный вид сцены

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


В окне Front выделите объект armCyl, активируйте панель Modify и назначьте объекту модификатор Skin — пока это никак не скажется на цилиндре. В свитке Parameters щелкните на кнопке Add и выберите все объекты в списке (то есть bone01 и bone02) — рис. 25. Для настройки сферы влияния костей на основной цилиндр щелкните на кнопке EditEnvelopes (Редактировать огибающие) и в списке Skin-объектов выделите цилиндр bone01 (рис. 26). Это приведет к появлению вокруг данного цилиндра двух огибающих с маркерами в верхней и нижней частях — двигая данные маркеры и изменяя радиусы огибающих, можно регулировать сферу влияния кости. Степень влияния кости отображается на объекте разными цветами: красный цвет свидетельствует о максимальном контроле (то есть попавшие в эту зону вершины будут деформироваться), синий — о полном отсутствии воздействия кости, оранжевый и зеленый — о промежуточном состоянии. Однако пока такое разбиение на цветовые зоны на объекте незаметно, поскольку масштаб небольшой и радиус огибающих мал.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 25. Вид панели Modify для объекта armCyl после подключения костей

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


Выделите верхние вершины внутренней огибающей и в разделе Envelope Properties (Свойства огибающей) увеличьте значение параметра Radius до 4 (рис. 27). Выделите верхние вершины внешней огибающей и установите радиус равным 12. Затем аналогичную корректировку проведите для нижних радиусов обеих огибающих (рис. 28). Переключитесь в окно Perspective (рис. 29) и обратите внимание, что нижняя часть цилиндра armCyl окрашена красным цветом, а верхняя — синим, то есть зона влияния данной кости ограничена нижней частью цилиндра. Выделите цилиндр bone02 и настройте параметры его влияния аналогичным образом (рис. 30).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 27. Увеличение радиуса внутренней огибающей

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

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

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


Выйдите из режима редактирования костей модификатора Skin,щелкнув на кнопке EditEnvelopes. Выделите один из цилиндров, например цилиндр bone02, и поверните его произвольным образом — цилиндр armCyl деформируется в соответствии с поворотом кости (рис. 31), однако на сгибание гибкого объекта это будет мало похоже. Причин такого положения дел две: во-первых, количество сегментов в данном цилиндре по высоте явно недостаточно, во-вторых, плохо отрегулированы параметры влияния костей. Выделите объект armCyl, на панели Modify подсветите строку Cylinder и увеличьте значение параметра Height Segments, например, до 15 — изгиб станет заметно более гладким (рис. 32). Подсветите строку Envelope, выделите объект bone01 и уменьшите значения внутреннего и внешнего радиусов огибающих примерно до 3,5 и 6 (рис. 33). Аналогичную операцию проведите для объекта bone02 — это заметно улучшит результат (рис. 34). Для получения еще более привлекательного результата назначьте объекту armCyl модификатор Relax (Смягчение) и вручную подберите для него окончательное значение параметра HeightSegments, которое обеспечивает наилучший результат деформации объекта при сгибании (рис. 35).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 31. Результат деформации armCyl

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

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

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

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

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


Чтобы анимировать модель, имеющую скелет, достаточно анимировать ее кости. Рассмотрим это на примере нашей рабочей сцены с тремя цилиндрами. Выделите ранее повернутый на некоторый угол цилиндр bone02 и верните его в исходное положение. Убедитесь в том, что активен нулевой кадр, включите режим создания анимации с автоматической генерацией ключей, передвиньте ползунок таймера анимации в 50-й кадр и поверните цилиндр bone01 некоторым образом (рис. 36), переключитесь в последний (100-й) кадр и верните цилиндр в исходное положение. Выйдите из режима создания анимации, проиграйте ролик, и вы сразу увидите, что объект armCyl сгибается и разгибается с учетом настройки параметров влияния костей (рис. 37) — то есть примерно так, как сгибалась бы рука в локте.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 36. Вид сцены в 50-м кадре

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

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


Плывущий осьминог


Воспользуемся системой костей для получения имитации плывущего осьминога. Вначале создайте самого осьминога с одним щупальцем, в роли которого можно задействовать примитив Spring из группы Dynamics Objects (рис. 38). Активируйте инструмент построения костей (флажки Assign to Children и Assign to Root в свитке IK Chain Assignment должны быть отключены) и в проекции Left, открытой на весь экран, создайте Bones-структуру, Root-объект которой должен располагаться в основании щупальца (рис. 39). Старайтесь размещать кости очень аккуратно и делать их небольшими и равного размера, чтобы данная структура в дальнейшем обеспечила максимальную гибкость щупальца. Вернитесь к работе с четырьмя проекциями, и вы убедитесь, что, несмотря на все старания, кости размещены не в самом щупальце (рис. 40). Поэтому активируйте проекцию Top и последовательно, начиная с Root-кости, откорректируйте положение каждой косточки, чтобы созданный ими костный хребет действительно был внутри щупальца (рис. 41 и 42).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 38. Исходная сцена

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

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

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

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


Назначьте системе костей IK-контроллерHISolver, применив команду Animation=>IKSolvers=>HISolver и указав в качестве конечного эффектора последнюю в цепочке кость (рис. 43). Убедитесь в том, что при перемещении перекрестия вся Bones-система соответствующим образом видоизменяется. Создайте объект Dummy и свяжите перекрестие IK-цепи с данным объектом-пустышкой (рис. 44). Попробуйте переместить Dummy-объект, и вы убедитесь, что система костей шевелится — если это не так, то проверьте созданные связи в окне Select by Name и вновь проведите связывание.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 43. Появление перекрестия, свидетельствующего о создании IK-цепи

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


Выделите щупальце (объект Spring01), активируйте панель Modify и назначьте объекту модификатор Skin. В свитке Parameters данного модификатора щелкните на кнопке Add и выберите в списке все Bones-объекты вместе с объектом-пустышкой (рис. 45). После этого при перемещении Dummy-объекта шевелиться будет уже само щупальце. Для большей гладкости деформирующихся щупалец назначьте объекту Spring01 модификатор Relax (рис. 46). Размножьте щупальце, применив операцию Array (команда Tools=>Array — Инструменты=>Массив) с такими параметрами, как на рис. 47. Это приведет к получению целого массива щупалец (рис. 48).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 45. Подключение костей и Dummy-объекта в списке объектов модификатора Skin

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

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

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


Анимируйте осьминога и объект-пустышку так, чтобы создавалось впечатление, что осьминог плывет, слегка шевеля щупальцами. Войдите в режим создания анимации с автоматической генерацией ключей, переместите ползунок на 50-й кадр, выделите все объекты, входящие в состав осьминога, и в окне Front переместите его произвольным образом. Перейдите в следующий ключевой кадр, еще раз сместите осьминога и т.д. Потом вновь вернитесь в 50-й кадр, выделите Dummy-объект и тоже переместите его (а при необходимости еще и поверните), добиваясь желаемого вида щупалец. Аналогичные операции проведите и в отношении других ключевых кадров. Отключите режим автоматического создания ключей и проиграйте анимацию — осьминог поплывет, шевеля щупальцами (рис. 49).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 49. Плывущий осьминог
]

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 | Бесплатный форум поддержки | Контакты | Сообщить о нарушении | Последние обсуждения