Создание простого твердого тела  Maya

Падение шарика на  пол является одним из  самых  простых  (или,  по  крайней  мере, наиболее интуитивно  понятным)  физических  движений,  с  которым  знакомы  все. По­ скольку  это  такое  хорошо  знакомое действие,  и   его  настолько  просто  повторить  дома (теннисный шарик и  пол кухни  отлично подойдут!), падение шарика  на пол будет хоро­ шим примером  для объяснения основ  концепции  моделирования  твердого тела. Дл я под­ готовки  к моделированию необходимо  выполнить настройку следующим образом.

1.    Создайте в  Майя новую сцену.  Создайте  NURBS-поверхность или  полигональную поверхность, а затем увеличьте  ее масштаб до размера сетки  Майя: Затем создайте сферу  NURBS  или  полигональную  сферу с радиусом,  равным единице,  и  поместите ее над поверхностью. Теперь сцена должна выглядеть так же, как на рис. 18.1.

Рис. 18.1. Сфера над плоскостью

2.    Выделите плоскость и  выберите   в  наборе меню Dynamic s (Динамика)  пункт Soft/  rigi d Bodies => Create Passive rigi d Body (Мягкие/Твердые тела => Создать пассивное твердое тело).  Теперь  плоскость  является пассивным  твердым телом  и  будет  слу­ жить полом.

3.     Выделите сферу и  выберите   в наборе меню Dynamic s (Динамика)  пункт Soft/rigi d Bodies => Create Active rigi d Body (Мягкие/Твердые тела => Создать активное твердое тело). Теперь сфера является активным твердым телом.

4.    Чтобы  модель  динамики   воспроизводилось   правильно, скорость  воспроизведения следует установить  в  режим Play Every Frame (Воспроизводить  каждый кадр), бла­ годаря чему  процессор физических  процессов  сможет  выполнять необходимые вы­ числения до  перехода  к  следующему  кадру.   Чтобы  перейти   в    окно  Animatio n  Preference s (Предпочтения анимации),   выберите   в  меню Windo w  (Окно) пункты Settings/Preference s => Preference s (Параметры/Предпочтения => Предпочтения), а затем выберите пункт Settings/Timelin e  (Параметры/Временная шкала) или  щелк­ ните на кнопке Animatio n Preference s (Предпочтения анимации)   в нижнем правом углу экрана.

Дискретизаци я

Дискретизация  (oversampling)  позволяет задать  количество этапов   динамичес­ кого  моделирования  на кадр.  Чтобы  изменить  это значение,  выберите  пункт

меню Solvers => Edit Oversampling Or Cache Settings (Решатели  => Редактировать  параметры дискретизации или  кэша). По умолчанию для дискретизации установлено значение 1, озна­ чающее, что динамика  будет рассчитываться  для  каждого кадра.  Если  увеличить  это зна­ чение до 10, например, то Майя будет рассчитывать  динамическую  модель по  10 раз для каждого кадра. Увеличение значения  дискретизации  может помочь  устранить неестествен-

ность динамического  поведения  и  сделать моделирование  более точным, но может  и  за­ медлить воспроизведение.   Нововведением  Maya 8  является возможность  задать  частоту дискретизации  для воспроизведения динамики  без изменения  частоты  кадров.

5.     В разделе Playbac k (Воспроизведение) выберите в раскрывающемся списке Playbac k Spee d (Скорость воспроизведения)  пункт Play Every Fram e  (Воспроизводить  каж­ дый кадр).

6.    Закройте окно Animatio n Preference s (Предпочтения анимации), перейдите  в начало анимации  и  запустите ее снова.

Твердые тела могут быть созданы на основе NURBS-поверхностей  или  полигональных по­ верхностей, но не SDS-поверхностей. Если  для создания твердого  тела была использована модель из  SDS-поверхностей, ее придется преобразовать в  полигональную. Однако физи­ ческое  поведение  для  модели  SDS  можно  "имитировать".  Можно сдублировать  объект, преобразовать его в  многоугольники  и  применить  ограничители  родительской версии  из SDS-поверхностей к  полигональной   версии.   Затем  выполнить  моделирование  на  полиго­ нальной версии   и отключить ее  видимость.

Очевидно, что-то было упущено, так как  вообще ничего не произошло!  Несмотря на то что на сцене уже присутствуют  два твердых тела, все  еще не  хватает одного важного компонента:  должны  быть  заданы  поля  сил  или  некоторое  начальное  движение.  Хотя можно было перейти  к панели  каналов  твердого тела и  задать для мяча значение началь­ ной скорости, вместо этого добавим гравитацию, для большей реалистичности  сценария.

1.       Выберите в меню Dynamics  (Динамика) пункты Fields => Gravity (Поля => Гравитация).

2.       Выберите в  меню Windo w (Окно)  пункты  relationshi p Editors  => Dynamic relationship s (Редакторы взаимосвязей => Динамические  взаимосвязи), чтобы открыть окно Dynamic relationship s (Динамические взаимосвязи), которое показано на рис. 18.2.

Рис. 18.2. Окно Dynamic relationships

3.       В левой части  окна выберите элемент NURBSphere1 и  убедитесь, что справа в  окне выделения выбран элемент gravityField1 . Если это не так, щелкните на элементе gravityField1, чтобы выделить его.

Более  быстрый  способ  создания твердого тела  и   соединения  его  с  полем  заключается в  простом выделении  геометрического объекта (до его преобразования  в  твердое тело)  и последующем создании  поля.  В  результате Maya автоматически  преобразует выделенный объект  в   активное твердое тело,  которое  будет  соединено с  новым созданным  полем. Можно даже выделить  несколько объектов  и  в  ходе создания поля преобразовать их  все в твердые тела.

ЕСЛИ выделить сферу, а затем создать гравитационное поле, то они будут автоматиче­ ски  соединены вместе. (Если  существуют  другие активные твердые тела,  которые не бы­ ли выделены, данное поле на них не будет влиять.)  Если до создания поля выделить объ­ екты,  на  которые  оно  должно  воздействовать,  в   процессе  моделирования  твердых тел можно сэкономить время.

Чтобы увидеть,  как  мяч падает на плоскость и,  отскочив  от нее несколько раз,  оста­ навливается,  перейдите в  начало анимации  и  запустите ее.  Если  воспроизведение  пре­ рвется посередине,  переместите ползунок диапазона анимации до уровня 200  кадров.

Важно не забывать переходить в  начало анимации. Также необходимо, чтобы при моделиро­ вании   в  предпочтениях анимации  был установлен режим Play Every Frame  (Воспроизводить каждый кадр). Поскольку каждый кадр зависит  от предыдущего, для  вычисления положения каждого объекта в  каждом кадре воспроизведение должно пройти  через все кадры. Если при работе с  анимацией  твердого тела  будет обнаружено  странное  поведение,  убедитесь, что в предпочтениях установлен режим Play Every Frame  (Воспроизводить  каждый кадр), и  пере­ ведите анимацию   в начало временной шкалы перед ее воспроизведением.

Теперь посмотрим, как изменение настроек сцены ПОВЛИЯЛО на анимацию. В панели Channe l Box (Панель каналов) можно увидеть элемент rigidBody n (номер может быть другим), который находится в  списке под узлом формы для выделенного  объекта. Выде­ лите плоскость и   щелкните на надписи  rigidBodyl, чтобы  в  панели  Channe l  Box  (Панель каналов) появились атрибуты  твердого  тела.

В панели Channe l Box (Панель каналов) показано множество каналов твердого тела, что  обеспечивает  полный  контроль  над  ним. В  первую очередь  займемся  атрибутами Mass    (Масса),   Bouncines s    (Прыгучесть),   Dampin g    (Сопротивление),   Static    Friction (Трение покоя) и  Dynami c Friction (Трение движения). Установите значение параметра Bouncines s (Прыгучесть) равным 0.9 и  запустите  воспроизведение  анимации  сначала. (Не забывайте переходить в  начало!) При  первом  прыжке мяч должен подпрыгнуть поч­ ти до той высоты, с которой он был брошен.  Пройдет немало времени, прежде чем он ос­ тановится  полностью.  Теперь  попробуйте  установить  значение параметра Bouncines s (Прыгучесть)  равным 2.  Что  происходит?  Каждый раз  мяч  подпрыгивает   все  выше и вскоре исчезает из  поля  зрения — настоящий супермяч! В виртуальном  мире можно не только моделировать реальность, но и  при желании нарушать ее законы.

Параметры Mass (Масса), Bounciness (Прыгучесть),  Damping (Сопротивление), Static Friction (Трение покоя) и  Dynamic Friction (Трение  движения) влияют на поведение мяча при  его столкновении  с  плоскостью. Чтобы посмотреть, как  изменяется подпрыгивание, поэкспериментируйте с некоторыми из этих  параметров (например, Static Friction (Трение покоя), Dynamic Friction (Трение  движения) и Dampin g (Сопротивление)) мяча и  плоско­ сти. Однако имейте   в виду,  что свойство Mas s (Масса) является относительным — оно связано с другими  объектами,  участвующими  в моделировании.   Так как пассивное  твер­ дое тело по существу имеет  бесконечную массу, установка параметра Mas s (Масса) для плоскости  не имеет смысла ни для нее, ни для мяча, сталкивающегося с плоскостью. Из ­ менение массы  мяча также не вызовет значительных   изменений,  поскольку  гравитация является универсальной силой и  одинаково воздействует на все активные  объекты.

Параметр Mas s (Масса) полезен только в  том случае, если сталкиваются  два или  бо­ лее активных твердых тел. Различие их  массы определяют, какой импульс  передается от одного объекта другому  и   как  изменяются траектории  движения  этих  объектов. Ниже будет описано, когда при  моделировании  масса может быть  использована эффективно.

Эксперименты со  значениями  различных атрибутов  помогут  лучше  понять,  как  работают твердые тела.  Создайте  сцену  и,   разместив   объекты,  попробуйте   изменить различные свойства для каждого из каналов  всех твердых тел. Замечая влияние  изменения параметров на поведение тел, можно со временем научиться создавать  необходимые эффекты.

Можно также опробовать начальные значения атрибутов  скорости  и  импульса активно­ го твердого тела (мяча). Начальная скорость заставляет мяч двигаться   в том  или  ином на­ правлении,  а импульс подобен небольшому (или  огромному) ракетному  двигателю,  кото­ рый заставляет мяч ускоряться тем больше, чем дольше на него воздействует импульс.

Источник: Кундерт-Гиббс, Джон,  Ларкинс, Майк,  Деракшани, Дариус, Кунзендорф, Эрик,  и др., Освоение Maya  8.5.:  Пер.  с англ.  – М.:  ООО  «И.Д.  Вильямс», 2007.  – 928  с.:  ил.

По теме:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий