Первые шаги в Maya. Урок 23. Имитация тканей

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

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

Примеры сцен с Cloth-объектами

Стол с наброшенной скатертью

Развевающаяся на ветру штора

Пингвин в лосинах

Примеры сцен с Cloth-объектами

Стол с наброшенной скатертью

Воспользуемся модулем Maya Cloth для моделирования обычной скатерти, которую набросим на стол. Откройте сцену со столом (его мы моделировали в одном из начальных уроков — рис. 34) либо создайте простую имитацию стола, элементами которого могут выступить обычные цилиндры.

 

Рис. 34. Исходный вид сцены

Рис. 34. Исходный вид сцены

 

Переключитесь в окно проекции Top и создайте замкнутую NURBS-кривую в виде квадрата (для этого при ее формировании инструментом Create a Nurbs square следует удерживать нажатой клавишу Shift). Переместите кривую так, чтобы она оказалась над столом строго по его центру (рис. 35). Создайте на базе кривой панель (Cloth=>CreatePanel), а затем и лоскут ткани (Cloth=>CreateGarment). Увеличьте в окне каналов базовое разрешение лоскута (параметр BaseResolution) до 200, а значение параметра Solver Scale — до 10 и обнулите параметр Relax Frame Length (рис. 36). Превратите столешницу стола в объект коллизий с тканью (Cloth=> Create Collision Object) и уменьшите значения параметров CollisionOffset и CollisionDepth до 0,2 и 0,13 соответственно (рис. 37). В итоге ткань станет располагаться на столе уже достаточно реалистично (рис. 38).

 

Рис. 35. Появление NURBS-кривой

Рис. 35. Появление NURBS-кривой

 

Рис. 36. Настройка параметров лоскута

Рис. 36. Настройка параметров лоскута

 

Рис. 37. Настройка параметров столешницы

Рис. 37. Настройка параметров столешницы

 

Рис. 38. Промежуточный результат визуализации

Рис. 38. Промежуточный результат визуализации

 

Теперь добьемся того, чтобы ткань стала более эластичной и легкой. Для этого изменим ее физические свойства — они регулируются через окно параметров свойств панели (то есть объекта panel1). По умолчанию каждая панель связана с узлом свойств cpDefaultProperty, однако допускается создание дополнительных узлов свойств с разными настройками параметров — это актуально при наличии в сцене различных по физической структуре тканей и может оказаться полезным при экспериментах с разными настройками параметров для одной и той же ткани. Выделите объект panel1 и создайте для него новый узел свойств, применив команду Simulation=> Properties=> Create Property (Симуляция=>Свойства=>Создать свойства). Измените в окне каналов имя дополнительного узла на cpPropertyTable, а затем сделайте его активным, воспользовавшись командой Simulation=> Properties=> Property cpPropertyTable (рис. 39). Это приведет к появлению в окне каналов дополнительного узла cpPropertyTable (рис. 40). Уменьшите для данного узла значения параметров U Bend Resistance (Сопротивление изгибам по оси U) и V Bend Resistance (Сопротивление изгибам по оси V) до 5 — ткань станет более гибкой. Установите параметр Density (Плотность) равным 0,003 — это сделает ткань более легкой. Уменьшите значения параметров Air Damping (Сопротивление воздуха) и Shear Resistance (Сопротивление сдвигам) до 0,05 и 35 соответственно (рис. 41). В итоге ткань станет более эластичной. Удалите кэш симуляции и вновь запустите процесс симуляции ткани, которая ляжет на стол еще более естественно (рис. 42).

 

Рис. 39. Активизация узла cpPropertyTable

Рис. 39. Активизация узла cpPropertyTable

 

Рис. 40. Окно каналов с дополнительной панелью cpPropertyTable (объект panel1)

Рис. 40. Окно каналов с дополнительной панелью cpPropertyTable (объект panel1)

 

Рис. 41. Настройка параметров узла cpPropertyTable

Рис. 41. Настройка параметров узла cpPropertyTable

 

Рис. 42. Стол с наброшенной скатертью

Рис. 42. Стол с наброшенной скатертью

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

Развевающаяся на ветру штора

Применим возможности Cloth-моделирования для получения шторы. Создайте плоскость (используем ее в качестве объекта коллизий с тканью), полигональный цилиндр (он сыграет роль карниза) и прямоугольный контур (рис. 43). Превратите контур в ткань, последовательно применив команды Cloth=>CreatePanel и Cloth=>CreateGarment, увеличьте у ткани базовое разрешение (параметр BaseResolution) до 300 (рис. 44). Выделите плоскость, превратите ее в объект коллизий (Cloth=>CreateCollisionObject) и уменьшите для нее значения параметров CollisionOffset и CollisionDepth до 0,1. Установите в центре карниза локатор (Create=> Create Locator) — рис. 45. Не снимая выделения с локатора, при нажатой клавише Shift выделите верхнюю из исходных кривых контура (рис. 46) и примените к выделенным объектам команду Constraints=>Transform. Выделите в окне Outliner ограничитель и установите для него значение целевого веса (параметр Goal Weight) равным 0,4, а вес ограничителя (параметр Constraint Weight) сделайте равным 0,5 (рис. 47).

 

Рис. 43. Исходный вид сцены

Рис. 43. Исходный вид сцены

 

Рис. 44. Появление ткани

Рис. 44. Появление ткани

 

Рис. 45. Установка локатора

Рис. 45. Установка локатора

 

Рис. 46. Выделение привязываемых объектов

Рис. 46. Выделение привязываемых объектов

 

Рис. 47. Настройка параметров ограничителя

Рис. 47. Настройка параметров ограничителя

 

Добавьте в сцену силу ветра, поместив ее значок за предполагаемым окном в центральной части шторы (рис. 48). Установите для силы ветра параметры DirectionX, Direction Y и Direction Z равными 0, 0 и 1 соответственно (рис. 49) — в итоге ветер станет дуть в нужном нам направлении, то есть от предполагаемого окна на штору. Проиграйте анимацию — ткань превратится в штору, которая под воздействием ветра начнет отклоняться от окна, правда при этом будет еще двигаться верхняя граница ткани (рис. 50). Чтобы устранить данную проблему, выделите штору и карниз и свяжите их между собой ограничителем Pin (команда Soft/RigidBodies=>CreatePinConstraint в режиме Dynamics) — рис. 51.

 

Рис. 48. Вид сцены с размещенной силой ветра

Рис. 48. Вид сцены с размещенной силой ветра

 

Рис. 49. Настройка параметров силы ветра

Рис. 49. Настройка параметров силы ветра

 

Рис. 50. Первоначальный вид шторы

Рис. 50. Первоначальный вид шторы

 

Рис. 51. Результат привязки шторы к карнизу

Рис. 51. Результат привязки шторы к карнизу

 

Теперь требуется сделать штору прозрачной, легкой, гибкой и эластичной, поскольку мы пытаемся создать ткань, напоминающую тюль либо органзу. Выделите объект panel1 и создайте для него новый узел свойств, применив команду Simulation=> Properties=> Create Property (Симуляция=>Свойства=>Создать свойства). Активируйте данный узел, воспользовавшись командой Simulation=> Properties=> cpProperty1, и через окно каналов настройте его параметры: уменьшите значения параметров U/V Bend Resistance до 3, U/VStretchResistance — до 1, а Density — до 0,001. Это сделает ткань более гибкой, легкой и эластичной. Кроме того, уменьшите значения параметров Air Damping и Shear Resistance до 0,05 и 30 соответственно для того, чтобы ткань легко реагировала на различные воздействия (рис. 52). По окончании подберите для созданной шторы подходящий материал и дополните сцену простой имитацией окна и задним планом — возможно, один из кадров полученной в итоге анимации будет напоминать представленный на рис. 53.

 

Рис. 52. Настройка физических свойств ткани

Рис. 52. Настройка физических свойств ткани

 

Рис. 53. Развевающаяся на ветру штора

Рис. 53. Развевающаяся на ветру штора

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

next

КомпьютерПресс 7'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
Популярные статьи
КомпьютерПресс использует