Первые шаги в Maya. Урок 25. Работа с модулем Maya Hair

Светлана Шляхтина

Теоретические аспекты

Примеры создания сцен с использованием Hair-систем

Монстр со стрижкой

Шевелящая щупальцами медуза

Качающиеся на ветру провода

Анимированный телефонный провод

Анимированный телефонный провод

Применим Hair-динамику для получения анимации телефонного провода. Создайте исходную сцену с имитацией телефонного аппарата и трубки (мы ограничились сглаженными Subdiv-кубами), а также Nurbs-кривой (сформирована инструментом EPCurveTool), которую и возьмем за основу провода (рис. 71). Перестройте данную кривую так, чтобы в ней оказалось 20 вершин, применив в режиме Surfaces команду EditCurves=>RebuildCurve (рис. 72). Превратите кривую в Hair-систему, выделив ее и воспользовавшись командой Hair=>Make Selected Curves Dynamic с выключенной опцией Exact Shape Match (это позволит получить гибкий провод при минимальном количестве управляющих вершин) — рис. 73. В итоге будет сгенерирована Hair-система, изначально не имеющая никакого отношения к Subdiv-кубам (рис. 74), сделайте ее фолликулы (то есть объект follicle1) потомком телефонной трубки (объекта subdivCube2), перетащив в окне Outliner объект follicle1 при нажатой средней кнопке мыши на строку subdivCube2 (рис. 75). Можно добиться того же результата и иначе — выделить строку follicle1, затем, удерживая нажатой клавишу Shift, выделить строку subdivCube2 и выбрать из меню Edit (Правка) команду Parent (Сделать родителем)

 

Рис. 71. Исходная сцена

Рис. 71. Исходная сцена

 

Рис. 72. Перестройка Nurbs-кривой

Рис. 72. Перестройка Nurbs-кривой

 

Рис. 73. Конвертирование Nurbs-кривой в Hair-систему

Рис. 73. Конвертирование Nurbs-кривой в Hair-систему

 

Рис. 74. Появление Hair-система

Рис. 74. Появление Hair-система

 

Рис. 75. Превращение фолликулов Hair-системы в потомка объекта subdivCube2

Рис. 75. Превращение фолликулов Hair-системы в потомка объекта subdivCube2

 

Перейдем к настройке поведения полученной Hair-системы. Вначале выделите объект follicle1 и в редакторе атрибутов в разделе Follicle Attributes установите для него в полях Rest Pose и Point Lock варианты Straight и Base соответственно (рис. 76) — это позволит нужным образом изменить характер поведения Hair-системы при старте. Выделите Hair-кривую и перейдите в режим редактирования вершин (клавиша F8). Выделите самую последнюю вершину кривой — предполагается, что она соприкасается с телефонным аппаратом (рис. 77). Установите в этой точке Transform-ограничитель, применив команду Hair=>Create Constraint=>Transform (рис. 78) — это позволит жестко закрепить провод у телефонного аппарата. Запустите анимацию и убедитесь, что теперь Hair-кривая изгибается, но при этом остается прикрепленной к телефонному аппарату (рис. 79).

 

Рис. 76. Настройка параметров объекта follicle1

Рис. 76. Настройка параметров объекта follicle1

 

Рис. 77. Выделение последней вершины кривой

Рис. 77. Выделение последней вершины кривой

 

Рис. 78. Установка Transform-ограничителя

Рис. 78. Установка Transform-ограничителя

 

Рис. 79. Вид сцены с деформирующейся Hair-кривой в одном из кадров анимации

Рис. 79. Вид сцены с деформирующейся Hair-кривой в одном из кадров анимации

 

Назначьте Hair-кривой подходящую кисть PaintEffects (мы остановились на кисти WickerTubeSmall из раздела Fibers — рис. 80). Выделите данную кривую, откройте окно кистей (команда PaintEffects=>GetBrush), укажите нужную кисть и примените команду Hair=>AssignPaintEffectsBrushtoHair. Теперь, для того чтобы можно было контролировать вид провода в окне перспективы (а не приходилось после каждого изменения параметров прибегать к рендерингу) конвертируйте штрихи PaintEffects в полигональный объект, применив команду Modify=>Convert=>PaintEffectstoPoly gons (рис. 81).

 

Рис. 80. Окно Visor с выбранной кистью

Рис. 80. Окно Visor с выбранной кистью

 

Рис. 81. Результат конвертирования штрихов PaintEffects в полигональный объект

Рис. 81. Результат конвертирования штрихов PaintEffects в полигональный объект

 

Приступим к настройке вида провода. Выделите Hair-систему, в разделе Clump and Hair Shape увеличьте число подсегментов (SubSegments) до 30, сделайте ширину Hair-кривой на всем протяжении одинаковой (для этого следует кривую на графике в секции HairsWidth Scale превратить в прямую, перетащив правый маркер вверх) и подберите требуемую ширину кривой (параметр HairsWidth) — рис. 82. В итоге провод будет иметь нужную толщину и станет достаточно гибким. Теперь имитируем скручивание провода и наличие на нем завитков — в секции ClumpCurl раздела Clump and Hair Shape увеличьте значение selectedValue до 2 (провод станет скручиваться), а в разделе Displacements подберите значения параметров Curl и CurlFrequency (мы установили 0,326 и 90 соответственно), что обеспечит появление на проводе завитков (рис. 83).

 

Рис. 82. Настройка гибкости и толщины провода

Рис. 82. Настройка гибкости и толщины провода

 

Рис. 83. Имитирование скручивание провода и завитков

Рис. 83. Имитирование скручивание провода и завитков

 

Проиграйте анимацию и убедитесь, что провод имеет вполне подходящий вид и достаточно эффектно изгибается. Правда, становится очевидной другая проблема — он спокойно проникает внутрь телефонного аппарата (рис. 84). Для устранения этого придется настроить коллизию провода с аппаратом (точнее провода с кубом, внутрь которого мы поместим телефонный аппарат). Выделите Hair-кривую (рис. 85), вызовите из меню Hair команду Create Constraint=>Collide Cube и так масштабируйте вспомогательный куб и переместите его, чтобы телефонный аппарат оказался внутри этого куба (рис. 86). Теперь при анимации провод уже не будет проникать внутрь аппарата (рис. 87).

 

Рис. 84. Вид проникающего в телефонный аппарат провода

Рис. 84. Вид проникающего в телефонный аппарат провода

 

Рис. 85. Выделение Hair-кривой

Рис. 85. Выделение Hair-кривой

 

Рис. 86. Настройка масштаба и положения объекта коллизии

Рис. 86. Настройка масштаба и положения объекта коллизии

 

Рис. 87. Результат настройки коллизии (провод не проникает внутрь аппарата)

Рис. 87. Результат настройки коллизии (провод не проникает внутрь аппарата)

 

Теперь добьемся того, чтобы провод при анимации изгибался более замысловато — для этого требуется сделать его в центральной части более гибким. Откройте раздел Dynamics, в секции Stiffness Scale измените вид графика так, чтобы в его левом и правом концах были установлены максимальные значения, а в середине — достаточно небольшое (рис. 88). В секции Solve увеличьте значение параметра Stiffness до 0,5 и подберите, ориентируясь по уровню гибкости провода при анимации, значения параметров Iterations и Length Flex (мы остановились на 20 и 0,38 соответственно). По окончании текстурируйте все объекты сцены и получите задуманную анимацию, некоторые кадры которой представлены на рис. 89.

 

Рис. 88. Настройка параметров секций Solve и StiffnessScale

Рис. 88. Настройка параметров секций Solve и StiffnessScale

 

Рис. 89. Анимированный телефонный провод

Рис. 89. Анимированный телефонный провод

В начало В начало

prev

КомпьютерПресс 9'2008


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует