3D Studio MAX: первые шаги. Урок 19. Динамика в сцене

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

Имитация динамики твердых и мягких тел

Рассыпаем кубик Рубика

Разбиваем бильярдную пирамиду

Имитация ткани

Набрасываем покрывало

Вешаем полотенце

Вешаем шторы

Имитация гибких тел

Натягиваем сетку

Имитация воды

Отправим медузу в плавание

Разбиваем бильярдную пирамиду

Немного усложним задачу — попробуем получить анимацию разбивания бильярдной пирамиды. Смоделируйте сцену с шаром и профилем бильярдного стола с бортиками — в целях экономии времени мы ограничимся лишь имитацией стола, в качестве которой послужит объект AwningWindow из группы геометрических объектов Windows, а лузы создавать не будем (рис. 18). Теперь нужно сделать пирамиду из шаров — можно вручную, но мы прибегнем к команде Array, применить которую придется несколько раз. При первом применении настройте параметры команды в соответствии с рис. 19 — будет сформирован первый ряд шаров (рис. 20). Выделите второй с краю шар (рис. 21), продублируйте его и сместите копию относительно оси Y (рис. 22), а затем примените к нему команду Array, уменьшив число шаров в ряду до четырех (рис. 23). Дальше действуйте по тому же принципу, и в конечном счете вы получите пирамиду из шаров, которую нужно будет откорректировать и развернуть так, чтобы она представляла собой равносторонний треугольник, одна из вершин которого находилась бы на равном расстоянии от бортов (рис. 24). Создайте копию одного из шаров пирамиды и расположите его в противоположной от пирамиды стороне стола — это будет ударный шар-биток (рис. 25).

 

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

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

 

Рис. 19. Настройка параметров команды Array для первого применения

Рис. 19. Настройка параметров команды Array для первого применения

 

Рис. 20. Появление первого ряда шаров

Рис. 20. Появление первого ряда шаров

 

Рис. 21. Выделение шара

Рис. 21. Выделение шара

 

Рис. 22. Перемещение дубликата шара

Рис. 22. Перемещение дубликата шара

 

Рис. 23. Настройка параметров команды Array для второго применения

Рис. 23. Настройка параметров команды Array для второго применения

 

Рис. 24. Окончательный вид пирамиды

Рис. 24. Окончательный вид пирамиды

 

Рис. 25. Вид сцены с пирамидой и ударным шаром

Рис. 25. Вид сцены с пирамидой и ударным шаром

 

Создайте коллекцию твердых тел, щелкнув на кнопке CreateRigidBodyCollection (Создать коллекцию твердых тел) панели инструментов Reactor, а затем внесите в коллекцию все объекты сцены, щелкнув на кнопке Add и выбрав все объекты из списка (рис. 26). Проверьте, чтобы ползунок таймера анимации стоял на 1-м кадре, щелкните на кнопке ToggleAutoKeyMode (Переключить в режим автоматического создания ключей). Перетащите ползунок слайдера времени вправо на 5-й кадр и переместите биток к вершине пирамиды (рис. 27). Отключите режим автоматического создания ключей, проиграйте анимацию, и вы увидите, что ударный шар действительно движется в нужном направлении. Щелкните на кнопке Utilities (Сервис) командной панели и далее на кнопке Reactor (Реактор), раскройте свиток Preview&Animation и в поле StartFrame (Начальный кадр) введите число 6 — это необходимо, чтобы первые пять кадров (то есть когда ударный шар движется по определенному нами закону) не учитывались при просчете динамики (рис. 28). Обратите внимание, что теоретически добиться сходного результата мы могли бы и иначе: не изменяя значение в поле StartFrame, а включив в свитке Properties для ударного шара флажок Unyielding (это укажет программе, что данный объект должен анимироваться вручную, а не автоматически модулем Reactor).

 

Рис. 26. Включение объектов сцены в коллекцию RBCollection

Рис. 26. Включение объектов сцены в коллекцию RBCollection

 

Рис. 27. Положение шара в первом (слева) и последнем кадрах

Рис. 27. Положение шара в первом (слева) и последнем кадрах

 

Рис. 28. Настройка параметров свитка Preview &Animation

Рис. 28. Настройка параметров свитка Preview &Animation

 

Выделите плоскость, раскройте свиток Properties и установите переключатель в группе SimulatuionGeometry в положение UseMesh. В окне SelectObjects выделите все шары и определите для них значения параметров Mass, Elasticity и Friction равными 2; 0,3 и 0,3 соответственно (рис. 29). Щелкните на кнопке CreateAnimation (Создание анимации) — и анимация будет создана. Проиграйте ее и вы увидите, как биток разбивает пирамиду, шары из которой раскатываются в разные стороны (рис. 30).

 

Рис. 29. Настройка физических параметров шаров

Рис. 29. Настройка физических параметров шаров

 

Рис. 30. Вид сцены в некоторых кадрах анимации

Рис. 30. Вид сцены в некоторых кадрах анимации

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

Имитация ткани

Ткани имитируются в Reactor посредством Cloth-тел, обладающих свойствами эластичности, веса и растяжения, и могут быть созданы на базе самых разных типов объектов: примитивов, Mesh-объектов и т.д. Для того чтобы объекты сцены стали восприниматься как ткани, необходимо вначале назначить им модификатор reactorCloth, а затем создать коллекцию Cloth-тел — ClothCollection (сокращенно CLCollection), в которую и включить данные объекты.

Для примера создайте простую сцену из шара и лежащей на нем обычной плоскости с большим числом сегментов по обеим осям (рис. 31) — попробуем добиться того, чтобы плоскость превратилась в ткань, реалистично облегающую шар. Создайте две коллекции: коллекцию твердых тел (RBCollection) и коллекцию тканей (ClCollection) — рис. 32. Добавьте шар в RBCollection, выделив иконку коллекции, щелкнув на кнопке Add панели Modify и указав в открывшемся списке объектов шар. Выделите плоскость и назначьте ей модификатор reactorCloth (рис. 33). Активируйте иконку ClCollection и через панель Modify включите плоскость в коллекцию тканей — обратите внимание, что без назначения объекту Plane01 указанного модификатора его имя при щелчке на кнопке Add не появилось бы в списке возможных для включения в коллекцию объектов.

 

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

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

 

Рис. 32. Появление иконок коллекций

Рис. 32. Появление иконок коллекций

 

Рис. 33. Назначение плоскости модификатора reactorCloth

Рис. 33. Назначение плоскости модификатора reactorCloth

 

Согласно поставленной задаче анимация нам не нужна — требуется лишь добиться превращения плоскости в ткань. Поэтому можно ограничиться предварительным просмотром начальных кадров анимации и выбрать из них тот, в котором ткань будет свисать с шара наиболее привлекательно. Только перед этим назначьте плоскости произвольный двусторонний материал, иначе обратная сторона плоскости (а в дальнейшем и ткани) не будет видна. После этого последовательно щелкните на кнопках Utilities и Reactor, раскройте свиток Preview&Animation, затем нажмите на кнопку PreviewinWindow (Предварительный просмотр в окне) — откроется окно модуля Reactor, в котором в начальный момент будет отображаться плоскость в своем исходном виде и шар. Нажмите клавишу p, и начнется последовательное формирование кадров анимации, в которой плоскость будет постепенно опадать на шар, превращаясь в кусок ткани (рис. 34). На понравившемся кадре остановите процесс дальнейшей генерации кадров нажатием клавиши p, из внутреннего меню окна Reactor выберите команду MAX=>UpdateMAX и закройте окно данного модуля. В итоге в окнах проекций плоскость окажется в уже преобразованном виде (рис. 35).

 

Рис. 34. Предварительный просмотр кадров анимации в окне Reactor

Рис. 34. Предварительный просмотр кадров анимации в окне Reactor

 

Рис. 35. Ткань на шаре

Рис. 35. Ткань на шаре

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


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