Иллюстрированный самоучитель по Maya 4.5 для продвинутых

Упражнение. Резиновые гантели.

Создадим упругое тело из гантелей, заставив их отскакивать от предметов окружающей обстановки. Загрузите файл ch13tut03start.mb.

  1. Выделите гантель и щелкните на квадратике, расположенном справа от команды Create Soft Body (Создать упругое тело) меню Soft/Rigid Bodies (Упругие/ Твердые тела). Выберите в меню Edit (Правка) появившегося окна диалога команду Reset Settings (Сбросить параметры) и нажмите кнопку Create (Создать).
  2. Выберите в меню Fields (Поля) команду Gravity (Сила тяжести) и введите в поле Magnitude (Величина) окна каналов значение 50. Запустите воспроизведение анимации. Вы увидите, что гантель проваливается сквозь куб.
  3. Выделите куб и щелкните на квадратике, расположенном справа от команды Make Collide (Заставить сталкиваться) меню Particles (Частицы). Введите в поля параметров Resilience (Упругость) и Friction (Трение) значения 0.8 и 0.1 соответственно и нажмите кнопку Create (Создать). Затем выделите плоский объект, который называется bouncer, и выберите для него команду Make Collide (Заставить сталкиваться) в меню Particles (Частицы), Запустив воспроизведение анимации, вы увидите, что гантель по-прежнему продолжает проваливаться сквозь куб. Дело в том, что вы не установили связь между системой частиц и двумя упомянутыми объектами. Это можно сделать в окне диалога Dynamic Relationship (Динамические связи).
  4. Выберите команду Window › Relationship Editors › Dynamic Relationships (Окно › Редакторы связей › Динамические связи). В левом окне щелкните на квадратике со знаком "плюс", расположенном слева от имени объекта dumbbell, и выделите строчку dumbbellPartide. Затем установите переключатель Selection Modes (Режимы выделения) в положение Collisions (Столкновения) и выделите в правом окне строчки bouncerShape и boxShape. Эти строки окажутся выделенными, как показано на рис. 13.13. Так же выделите в левом списке объект bouncer и установите для него связь с полем gravityFieldl.

    Иллюстрированный самоучитель по Maya 4.5 для продвинутых › Системы частиц и динамика › Упражнение. Резиновые гантели.
    Рис. 13.13. Окно диалога Dynamic Relationships

  5. Выделите объект bouncer и щелкните на квадратике, расположенном справа от команды Create Constraint (Создать ограничитель) меню Soft/Rigid Bodies (Упругие/Твердые тела). Выберите в раскрывающемся списке Constraint Type (Тип ограничителя) вариант Spring (Пружина) и нажмите кнопку Create (Создать). Введите в поле Spring Stiffness (Жесткость пружины) окна каналов значение 2. Затем введите в поле Translate Y (Смещение по оси Y) окна каналов значение 32.6. Запустите воспроизведение анимации, и вы увидите карикатурный результат, больше подходящий для мультфильмов. Так как гантель является упругим телом, она деформируется при ударе о поверхности, но при этом ее частицы проникают друг сквозь друга. Чтобы объект сохранял свою форму, следует добавить пружины.

    Внимание
    Убедитесь, что в данный момент для параметра Playback Speed (Скорость воспроизведения) выбран вариант Play every frame (Воспроизводить каждый кадр). В противном случае может создаться впечатление, что в процессе своего движения объект внезапно взрывается. Помните, что в процессе имитации динамики должен быть выбран именно этот вариант. И не забывайте устанавливать ползунок таймера анимации на отметку нулевого кадра после каждого воспроизведения
    .

  6. Откройте окно диалога Outliner (Структура), щелкните на квадратике со знаком "плюс", расположенном слева от имени dumbbell, и выделите строчку dumbbetlParticle. Щелкните на квадратике, расположенном справа от команды Create Springs (Создать пружины) меню Soft/Rigid Bodies (Упругие/Твердые тела). Выберите в меню Edit (Правка) появившегося окна диалога команду Reset Settings (Сбросить параметры) и нажмите кнопку Create (Создать). Гантель окажется окруженной зеленым коконом. Нажмите комбинацию клавиш CTRL + H, чтобы скрыть пружины и не замедлять работу программы.
  7. Запустите воспроизведение анимации, и вы увидите, что теперь гантель движется так, как будто она сделана из желатина. Чтобы сделать ее более упругой, выделите в окне диалога Outliner строчку Springsl и введите в поля Stiffness (Жесткость) и Damping (Торможение) окна каналов значения 10 и 0.1 соответственно. Теперь движение гантели будет более реалистичным, как показано на рис. 13.14. Уменьшив значение торможения, вы позволили объекту большее число раз отскочить от нижней поверхности куба после столкновения.
  8. Попытайтесь увеличить значение параметра Stiffness (Жесткость) до 50. Вы увидите, что гантель внезапно резко увеличит свой размер и взорвется. Эту проблему можно решить, выбрав в меню Solvers (Модули просчета) команду Edit Oversampling or Cache Settings (Изменить точность просчета) и введя в поле Oversampling (Избыточная дискретизация) значение 3. Теперь в процессе воспроизведения анимации движение будет хорошо управляемым. Если вы хотите сравнить свои результаты с тем, что получилось у нас, загрузите файл ch13tut03end.mb.

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

Иллюстрированный самоучитель по Maya 4.5 для продвинутых › Системы частиц и динамика › Упражнение. Резиновые гантели. Иллюстрированный самоучитель по Maya 4.5 для продвинутых › Системы частиц и динамика › Упражнение. Резиновые гантели.
Рис. 13.14. Скрытые пружины можно выделить в окне диалога Outliner и затем настроить их параметры таким образом, чтобы движение гантели стало более приближенным к реальности

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.