3Ds max 5. Библия пользователя

         

Добавление искривлений пространства типа Forces и Deflectors



Добавление искривлений пространства типа Forces и Deflectors

Чтобы увидеть эффект от применения модификатора Flex, необходимо добавить в сцену движение. Пластичный объект становится таковым только при перемещении. Один из самых простых способов добавления динамики — это искривления пространства.

В разворачивающейся панели Forces and Deflectors находятся два списка: в одном перечислены искривления пространства типа Forces (Силы), в другом — искривления пространства тина Deflectors (Дефлекторы). Под обоими списками находятся кнопки Add (Добавить) и Remove (Удалить). С их помощью вы добавляете в список и убираете из него выбранные искривления пространства. В список Forces можно добавить все искривления пространства субкатегории Forces (за исключением Path Follow). Аналогично этому, в список Deflectors добавляют искривления пространства субкатегории Deflectors.

При добавлении в списки Forces и Deflectors искривлений пространства для модификатора Flex дополнительно привязывать их к объекту не нужно.



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



ГЛАВА 30. Имитация динамики

Динамика существует там, где есть движение. Такие динамические объекты, как Spring (Пружина) и Damper (Амортизатор), вполне можно анимировать автоматически. Это объясняется тем, что положение подобных объектов в определенный момент времени рассчитывается на основе их параметров.

В 3ds max функция имитации динамики автоматически генерирует расположение и ориентацию нескольких объектов в сцене на основе таких параметров, как трение и упругость при столкновении. После этого в сцену добавляются искривления пространства, имитирующие действующие на объекты силы. Таким образом, программа при имитации динамики рассчитывает конечный эффект, ориентируясь на параметры движения объекта.



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

Кроме имитации динамики, для добавления движения в сцену можно воспользоваться модификатором Flex.



Использование динамических искривлений пространства



Использование динамических искривлений пространства

Некоторые объекты Space Warp разработаны специально для имитации динамики. С их помощью создаются глобальные эффекты, наподобие гравитации, которые применяются ко всем объектам сцены.

Для имитации динамики могут использоваться все объекты Space Warp подкатегорий Particles & Dynamics (Частицы и динамика). Forces (Силы) и Deflectors (Дефлекторы), в частности Gravity (Гравитация), Wind (Ветер), Push (Толкание), Motor (Мотор), Bomb (Бомба), PDynaFlect и UDynaFlect.

Более подробно   объекты   Space   Warp   рассматриваются   в   главе. 26, "Использование искривлений пространства".

После добавления в сцену объектов Space Warp для управления их взаимодействием используются элементы управления разворачивающихся панелей средства Dynamics (Динамика). В данном случае для привязки искривлений пространства нет необходимости применять кнопку Bind to Space Warp (Привязать к искривлению пространства).



Использование динамических объектов



Использование динамических объектов

В категории Geometry (Геометрия) вкладки Create находится субкатегория Dynamics Objects для создания двух динамических объектов: Spring и Damper. Эти простейшие объекты ничем не отличаются от других объектов кроме того, что их можно использовать для имитации динамики.



Использование коллекций



Использование коллекций

Первое, что нужно сделать, работая над имитацией, это определить свойства объекта. Например, простая сфера в 3ds max может представлять собой шар для боулинга, апельсин или теннисный мяч. Если вы анимируете падение таких объектов на пол, то каждый из них должен вести себя по-разному.

Средство Reactor позволяет идентифицировать различные объекты имитации по коллекциям, к которым они принадлежат. Таких коллекций пять: Rigid Bodies (Устойчивые тела). Soft Bodies (Пластичные тела), Cloth (Ткань). Rope (Веревка) и Deform Meshes (Деформируемые каркасы). Объекты коллекции Rigid Bodies сохраняют свою форму, если к ним приложена сила. Объекты коллекции Soft Bodies, напротив, деформируются во время приложения к ним силы. С объектами коллекций Cloth и Rope все понятно без лишних слов. Деформируемые каркасы представляют собой системы костей и оболочек.

Эластичность объектов, принадлежащих коллекциям Cloth (Ткань), Rope (Веревка) и Soft Bodies (Пластичные тела), зависит от количества сегментов этих объектов. Например, веревка будет сгибаться только посередине, если она создана на основе сплайна с тремя вершинами.

Каждый объект, используемый в имитации, должен принадлежать одной из упомянутых коллекций. Для того чтобы добавить коллекцию в сцену, щелкните на соответствующей кнопке панели инструментов Reactor (аналогичные кнопки коллекций расположены в субкатегории reactor вкладки Create). Затем щелкните в активном окне проекции, чтобы создать контейнер коллекции. Рядом с контейнером появится имя добавленной коллекции.

После того как нужная коллекция добавлена в сцену, активизируйте кнопку Pick (Выбрать) разворачивающейся панели Properties (Свойства) и выберите объекты сцены, которые должны принадлежать этой коллекции. Все выбранные объекты будут отображены в списке разворачивающейся панели Properties.

Прежде чем добавить объекты в коллекцию Cloth, Rope или Soft Bodies, к этим объектам необходимо применить модификаторы Cloth, Rope и Soft Bodies.



Использование модификатора Flex



Использование модификатора Flex

С помощью модификатора Flex к объекту можно добавить динамику пластичного тела. Пластичное тело (soft body) характеризуется способностью свободно перемещаться, если к нему приложить силу. Например, одежда, волосы, воздушные шары. Динамике пластичных тел противостоит динамика так называемых устойчивых тел (rigid body). Представьте себе статую в парке. Ветер не сдвинет ее с места. Статуя и есть пример устойчивого тела. С другой стороны, флаг, т.е. пластичное тело, будет приходить в движение при каждом дуновении ветра.

Чтобы яснее представить себе пластичные тела, опишем их как предметы, которые можно согнуть. Сложить одежду не представляет никакого труда, но, чтобы хоть немного изогнуть компакт-диск, потребуется приложить усилие. Параметры модификатора Flex (Сгиб) позволяют воспроизводить всевозможные пластичные объекты.

Разворачивающиеся панели модификатора Flex показаны на рис. 30.9.



Использование программного дополнения Reactor



Использование программного дополнения Reactor

Средство Dynamics вполне может удовлетворить потребности самых заядлых пользователей 3ds max. Но существует еще один, более удачный способ добавления в сцену физических сил. Средство Reactor (не путать с контроллером Reactor) — это программное дополнение, которое разработано компанией Havok. Должен отметить, что средство Reactor (Реактор) представляет собой достаточно сложное программное дополнение, которое снабжено широким ассортиментом различных возможностей. В этой главе рассматриваются только основные из них.

Ранее средство Reactor было доступно как внешнее программное дополнение и поэтому приобреталось отдельно. Теперь это дополнение входит в стандартную установку 3ds max 5.

Помимо других средств 3ds max 5, доступ к дополнению Reactor осуществляется с помощью одноименной кнопки вкладки Utilities. Щелчок на этой кнопке открывает несколько разворачивающихся панелей, показанных на рис. 30.12.



Использование разворачивающейся панели Dynamics



Использование разворачивающейся панели Dynamics

С помощью разворачивающейся панели Dynamics можно создавать новые имитации динамики. Для этого щелкните на кнопке New (Новый) и введите имя имитации в поле Simulation Name (Имя имитации). Кнопка Remove (Удалить) служит для удаления из списка уже существующих имитаций, а при щелчке на кнопке Сору (Копировать) будет создана копия параметров текущей имитации.

Для того чтобы указать, какие объекты должны учитываться при динамических расчетах, щелкните на кнопке Edit Object List (Редактирование списка объектов). Появится одноименное диалоговое окно (рис. 30.6).



Использование средства Dynamics



Использование средства Dynamics

Имитация динамики настраивается и моделируется с помощью средства Dynamics. Для его активизации выберите вкладку Utilities (Утилиты) и щелкните на кнопке Dynamics. При этом во вкладке Utilities появятся две разворачивающиеся панели (рис. 30.5).



Объект Damper



Объект Damper

Амортизатор — это устройство, поглощающее часть действующей на него силы и частично передающее ее дальше. Амортизатор может также использоваться как силовой привод, действующий на объект с постоянной силой. Объект Damper состоит из основания и поршня с кожухом, который перемещается внутри цилиндра. Все части амортизатора показаны на рис. 30.2. В 3ds max объекты Damper массой не обладают и поэтому не могут использоваться при столкновениях.



Объект Spring



Объект Spring

Этот объект не только выглядит как обычная пружина, но и действует подобно настоящей пружине. В разворачивающейся панели Spring Parameters (Параметры пружины) выбирают тип пружины: Free Spring (Свободная пружина) или Bounding to Object Pivots (Прикрепленная к опорным точкам объекта). Объект Free Spring не привязан к каким-либо объектам сцены. Во втором случае нужно выбрать два объекта сцены— верхний (Pick Top Object) и нижний (Pick Bottom Object), между которыми будет растянута прикрепленная пружина.

Кроме этого, в разворачивающейся панели Spring Parameters можно установить диаметр (Diameter) и количество витков пружины (Turns), а также направление, в котором накручена пружина: по часовой стрелке или против нее. Если установлен переключатель Automatic Segments (Автоматические сегменты), то сегменты пружины будут создаваться и удаляться автоматически при изменении значения поля Segs/Turn (Сегментов в витке). Для создания сегментов вручную установите переключатель Manual Segments. Тип сглаживания пружины определяется с помощью переключателей All (Все), None (Без сглаживания), Sides (Стороны) и Segments (Сегменты). Если вы хотите, чтобы пружина была визуализируемой, установите флажок Renderable (Визуализируемая). Для того чтобы координаты отображения генерировались автоматически, установите флажок Generate Mapping Coords (Генерировать координаты отображения).

Тип поперечного сечения пружины определяется в группе Wire Shape (Тип проволоки) с помощью переключателей Round Wire (Круглая проволока), Rectangular Wire (Прямоугольная проволока) и D-Section Wire (Проволока с D-образным сечением). Диаметр и количество граней круглой проволоки задаются в полях Diameter (Диаметр) и Sides (Грани). Параметры прямоугольной проволоки задаются в полях Width (Ширина), Depth (Глубина), Fillet (Скругление), Fillet Segs (Сегменты скругления) и Rotation (Кручение), расположенных под переключателем Rectangular Wire. Параметры проволоки с D-образным сечением аналогичны параметрам прямоугольной проволоки и определяются в полях, расположенных под переключателем D-Section Wire. Кроме того, в поле Round Sides (Стороны закругления) устанавливается число граней круглой стороны сечения. На рис. 30.1 показаны пружины всех типов, а именно: с поперечным сечением типа Round Wire (слева), с сечением типа Rectangular Wire (посередине) и с сечением D-Section Wire (справа).



Ограничение движения объектов



 Ограничение движения объектов

Самый простой способ ограничить движение объекта — установить флажок Unyielding (Неподвижный) в разворачивающейся панели Properties. Активизация этого параметра не позволяет двигаться устойчивым телам (Rigid Bodies), что можно с успехом использовать для имитации поверхности земли.

Другой распространенный способ ограничения движения объектов заключается в их присоединении к объектам Rigid Body (Устойчивое тело). Для этого предназначен модификатор Attach To Rigid Body (Присоединить к устойчивому телу), который работает с объектами Cloth (Ткань), Rope (Веревка) и Soft Body (Пластичное тело). После применения модификатора объект Rigid Body выбирают с помощью разворачивающейся панели Properties. Для выбора специфических субобъектов, которые нужно присоединить к устойчивому телу, можно воспользоваться модификатором Mesh Select.

Средство Reactor располагает и другими ограничивающими параметрами — Point to Point, Point to Path и Point to Nail. Параметр Point to Point "привязывает" объекты к одной точке; параметр Point to Path — к определенному пути; a Point to Nail — к некоторой точке пространства.

Системы Spring (Пружина) и Dashpot (Амортизатор) также можно использовать для ограничения движения объектов. Объекты, которые присоединяются к концам пружины, выбирают с помощью разворачивающейся панели Parameters.



Attach to Rigid Body Modifier



Описание


Rigid Body Collection (Коллекция устойчивых тел)
Добавляет в имитацию устойчивые тела


Cloth Collection (Коллекция тканей)
Добавляет в имитацию коллекцию тканей


Soft Body Collection (Коллекция пластичных тел)
Добавляет в имитацию коллекцию пластичных тела


Rope Collection (Коллекция веревок)
Добавляет в имитацию коллекцию веревок


Deforming Mesh Collection (Коллекция деформированных каркасов)
Добавляет в имитацию коллекцию деформированных каркасов


Cloth Modifier (Модификатор Cloth)
Позволяет применить к имитации модификатор Cloth


Soft Body Modifier (Модификатор Soft Body)
Позволяет применить к имитации модификатор Soft Body


Rope Modifier (Модификатор Rope)
Позволяет применить к имитации модификатор Rope


Attach to Rigid Body Modifier (Модификатор Attach to Rigid Body)
Позволяет применить к имитации модификатор Attach to Rigid Body


Constraint Solver System (Система решений ограничений)
Добавляет в имитацию ограничения


Point-Nail Constraint (Ограничитель Point-Nail)
Добавляет в имитацию ограничитель Point-Nail


Point-Point Constraint (Ограничитель Point-Point)
Добавляет в имитацию ограничитель Point-Point


Point-Path Constraint (Ограничитель Point-Path)
Добавляет в имитацию ограничитель Point-Path


Spring System (Система пружин)
Добавляет в имитацию пружину


Dashpot System (Система Dashpot)
Добавляет в имитацию амортизатор


Toy Car System (Система Toy Car)
Добавляет в имитацию игрушечную машину


Motor System (Система Motor)
Добавляет в имитацию двигатель


Wind System (Система Wind)
Добавляет в имитацию ветер


Fracture System (Система Fracture)
Добавляет в имитацию разрыв


Water WSM System (Система Water WSM)
Добавляет в имитацию воду


Plane Primitive (Примитив Plane)
Добавляет в имитацию плоскость реактора


Show in Window (Показать имитацию)
Открывает имитацию в окне предварительного просмотра


Perform Simulation (Выполнить имитацию)
Выполняет созданную имитацию


Analyze World (Анализ имитации)
Выполняет анализ имитации


Export World (Экспорт имитации)
Выполняет экспорт имитации

Таблица 30.1. Кнопки панели инструментов Reactor
Панель инструментов Reactor предоставляет быстрый доступ ко всем элементам (коллекции, модификаторы и системы) одноименного средства. Например, щелчок на кнопке Rope Collection активизирует кнопку категории Helpers (Вспомогательная) в панели Command, активизирует субкатегорию reactor и кнопку RPCollection.

Определение динамических свойств материалов



Определение динамических свойств материалов

При имитации динамики можно использовать любые объекты. С помощью окна Material Editor (Редактор материалов) этим объектам можно присвоить материалы, обладающие динамическими свойствами. Такими свойствами определяется поведение объектов при столкновениях в процессе имитации динамики. Для настройки этих свойств в диалоговом окне Material Editor разверните панель Dynamics Properties (Динамические свойства), показанную на рис. 30.4. По умолчанию в этой панели устанавливаются параметры, соответствующие свойствам стали.



Определение границ столкновения



Определение границ столкновения

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

Прежде чем использовать границы столкновений, необходимо определить, с каким объектом вы имеете дело — с выпуклым (Convex) или вогнутым (Concave). Вогнутыми называют объекты, которые можно "пронзить" воображаемым лучом и при этом пересечь границы каркаса только в двух точках. К выпуклым относятся все объекты, границы которых воображае-

мый луч пересекает более чем в двух точках. Для того чтобы определить, является ли объект выпуклым или нет, в разворачивающейся панели Parameters предусмотрена кнопка Test Convexity (Проверка выпуклости).

В качестве границ столкновения выпуклых объектов можно использовать ограничивающий параллелепипед (переключатель Use Bounding Box), ограничивающую сферу (Use Bounding Sphere), выпуклую оболочку (Use Mesh Convex Hull), упрощенную выпуклую оболочку (Use Proxy Convex Hull) и оптимизированный каркас (Use Optimized Convex Hull). В качестве границ вогнутых объектов можно использовать только их собственный каркас (переключатель Use Mesh), упрощенный каркас (Use Proxy Mesh) или оптимизированный каркас (Use Optimized Mesh). Выбор границ объектов осуществляется в разворачивающейся панели Properties средства Reactor.



Оптимизация имитации динамики



Оптимизация имитации динамики

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

Окно Track View детально рассматривается в главе 25, "Работа с треками".

Просчитав имитацию, откройте окно Track View и выделите треки объекта вместе с ключами. Затем щелкните на кнопке Edit Keys (Редактировать ключи), выделите все ключи и щелкните на кнопке Reduce Keys (Уменьшить количество ключей). Появится диалоговое окно Reduce Keys. В поле Threshold (Пороговое значение) введите пороговое значение и щелкните на кнопке ОК.



Параметры модификатора Flex



Параметры модификатора Flex

Разворачивающаяся панель Parameters включает параметр Flex (Сгиб). С его помощью контролируется величина, на которую объект будет согнут. Кроме этого, там же представлены параметр Strength (Сила), определяющий устойчивость объекта, и параметр Sway (Колебание), указывающий на то, как долго будет предмет раскачиваться вперед-назад до полной остановки. Чтобы понять траекторию движения объекта после применения модификатора Flex, представьте себе антенну на крыше автомобиля. Для подобного объекта значения Flex и Sway будут достаточно высокими, а значение Strength — низким.

Установка флажка Use Chase Springs (Возвратная пружина) приведет к тому, что после прекращения воздействия силы объект вернется в прежнее положение, подобно ветке дерева. Чтобы отключить данный эффект, просто снимите флажок.

При выборе субобъекта Weights & Springs можно назначать вес выделенным пружинам объекта. Чтобы аннулировать установки веса, достаточно снять флажок Use Weights (Использовать вес). При этом объект будет действовать как единое целое.

Для просчета движений объекта модификатор Flex предлагает три различных способа. Наиболее простым является метод Euler (По Эйлеру), но в этом случае для получения точных вычислений потребуется минимум пять образцов (Samples). Методы Midpoint и Range-Kutta4 более точны и требуют меньшего количества исходных данных, но больше времени на обработку. Чем выше значение параметра Samples, тем более точными окажутся вычисления.



Работа с системами



Работа с системами

Кроме коллекций и объектов, с помощью средства Reactor можно добавить в имитацию несколько различных систем: Spring (Пружина), Dashpot (Амортизатор), Toy Car (Игрушечная машина). Motor (Двигатель), Wind (Ветер), Fracture (Разрыв) и Water (Вода). Каждую из этих систем можно добавить в сцену в качестве вспомогательных объектов с помощью соответствующих кнопок панели инструментов Reactor. Исключение составляет система Water, которая добавляется в сцену, как искривление пространства. Значения параметров каждой из этих систем можно изменить во вкладке Modify.



Раскрашивание вершин



Раскрашивание вершин

При работе в режиме редактирования субобъектов Weights & Springs в окне проекции отображаются упругие вершины объекта. Окраска вершин определяется их весом. По умолчанию наиболее далекие от опорной точки объекта вершины имеют наименьший вес. Тяжелые вершины (вес которых приближается к 1) окрашены в красный цвет, а самые легкие (вес порядка -1) — в синий. Между двумя полярными значениями располагаются оранжевые и желтые вершины. Легкие вершины перемещаются больше, в то время как тяжелые — меньше.

В режиме редактирования субобъектов Weights & Springs в разворачивающейся панели Weights and Painting (Вес и раскраска) становится доступной кнопка Paint (Раскрасить). При щелчке на ней активизируется режим Paint, в котором вес вершин можно изменить, перемещая каркас раскраски по поверхности объекта в окне проекции. При окрашивании вершин последние меняют свой цвет в соответствии с новым весом.

В поле Strength вводят применяемый к вершинам вес. это значение может быть как положительным, так и отрицательным. Параметры Radius (Радиус) и Feather (Перо) контролируют размер и мягкость кисти. На рис. 30.10 представлено два цилиндра, к которым был применен модификатор Flex. Цилиндру слева оставлен вес вершин по умолчанию. В верхнем ряду вершины окрашены в синий цвет, а в нижнем — в оранжевый. Все вершины верхней половины правого цилиндра были окрашены в синий цвет в режиме Paint (значение параметра Strength составило -1). Это означает, что по сравнению с левым цилиндром верхняя часть правого цилиндра будет больше раскачиваться.



Разворачивающаяся панель Timing and Stimulation



Разворачивающаяся панель Timing and Stimulation

В разворачивающейся панели Timing & Simulation (см. рис. 30.5) выбирается отрезок анимации, в котором будет имитироваться динамика. В поле Calc Intervals Per Frame (Количество вычислении за один кадр) вводится число вычислений хля каждого кадра. Это значение может лежать в пределах от 1 до 160. Чем оно больше, тем дольше производятся расчеты.

В поле Keys Every N Frames (Ключ каждые N кадров) определяется частота создания ключей анимапии. Например, если в это поле ввести 2, то ключи будут создаваться через один кадр. С помощью поля Time Scale (Масштаб времени) ускоряется или замедляется имитация. Значению 1 соответствует нормальная скорость анимации, значения от 0,1 до 1 замедляют анимацию, а от 1 до 100 — ускоряют. Этим параметром можно воспользоваться для создания замедленной анимации с имитацией динамики.

Для того чтобы ограничить движение объектов с помощью системы обратной кинематики, установите флажки Use IK Joint Limits (Использовать совместные границы обратной кинематики) и Use IK Joint Damping (Использовать совместную амортизацию обратной кинематики). Эти параметры находятся в разделе Stimulation Controls (Управление имитацией).

Сопротивление воздуха — это сила, с которой молекулы воздуха препятствуют движению тела. Плотность воздуха уменьшается при увеличении высоты над уровнем моря. Уровню моря соответствует значение поля Density (Плотность), равное 100. В космосе плотность воздуха очень мала, что соответствует значению 0 параметра Density.

Если вы хотите закрыть панели средства Dynamics, щелкните на кнопке Close.



Редактирование объектов имитации



Редактирование объектов имитации

В левом верхнем углу диалогового окна Edit Object (рис. 30.7) расположен раскрывающийся список Object (Объект), в котором перечислены все объекты имитации. Из этого списка можно выбрать объект, который впоследствии будет редактироваться.



В этой главе вы ознакомились



Резюме

В этой главе вы ознакомились с основами имитации динамики с помощью средства Dynamics. Рассматривались следующие вопросы:
создание и использование динамических объектов Spring и Damper; выбор динамических свойств материалов объектов в окне Material Editor; использование для имитации динамики искривлений пространства; использование для имитации динамики средства Dynamics; оптимизация ключей имитации с помощью кнопки Reduce Keys окна Track View; работа с модификатором Flex; работа с программным дополнением Reactor. Данная глава завершает часть книги, посвященную анимации. В следующей части рассматриваются кости, оболочки, работа с персонажами и обратной кинематикой.

Существует три типа...



Рис. 30.1. Существует три типа поперечного сечения объектов Spring. Round Wire, Rectangular Wire и D-Section Wire

В группе Dynamics Parameters (Параметры динамики) задаются свойства, от которых зависит сила, действующая со стороны пружины. В поле Relaxed Hgt (Высота в расслабленном состоянии) определяется высота пружины в обычном состоянии, т.е. к ней не приложены никакие силы. Коэффициент жесткости пружины устанавливается в поле Constant k (Константа к) и является мерой силы, высвобождающейся при распрямлении пружины. Этой физической константой характеризуются также реальные пружины. Коэффициент жесткости пружины может измеряться в фунтах на дюйм (переключатель Pounds per inch) или ньютонах на метр (переключатель Newton per meter). Пружина работает как на сжатие, так и на растяжение. Режим работы пружины выбирается с помощью переключателей Compression Only (Только сжатие). Extension Only (Только растяжение) и Both (Оба).

Обычно сила, действующая со стороны пружины при ее растягивании, линейно зависит от перемещения. Если пружину растянуть слишком сильно, эта зависимость становится нелинейной. Для того чтобы разрешить такую нелинейность, установите флажок Enable Nonlinearity.



Так выглядит объект Damper



Рис. 30.2. Так выглядит объект Damper

Параметры объекта Damper настраиваются в разворачивающейся панели Damper Parameters (Параметры амортизатора). Если установить переключатель Free Damper/Actuator

(Свободный амортизатор/привод), то объект Damper не будет привязан к какому-либо объекту. При выборе переключателя Bound to Object Pivots (Привязать к опорным точкам объекта) силы будут передаваться на привязанные объекты. Кнопки Pick Piston Object (Указать объект для поршня) и Pick Base Object (Указать объект для основания) служат для выбора объектов, которые следует привязать к поршню и основанию амортизатора.

При установке переключателя Free Damper/Actuator становится доступным поле Pin-to-Pin High (Высота от вершины до основания). В этом поле выбирается высота свободного амортизатора. Для того чтобы сделать амортизатор визуализируемым, установите флажок Renderable (Визуализируемый). Если установить флажок Generate Mapping Coords (Генерировать координаты отображения), то эти координаты будут генерироваться автоматически.

В группе Cylinder Parameters (Параметры цилиндра) можно определить диаметр основания, внутренний и внешний диаметр цилиндра, высоту цилиндра, а также степень скругле-ния основания и цилиндра амортизатора. Диаметр, высота и количество граней поршня определяются в группе Piston Parameters (Параметры поршня) в полях Diameter (Диаметр), Height (Высота) и Sides (Грани) соответственно. Чтобы активизировать сглаживание цилиндра или поршня, установите флажок Smooth Cylinder (Сглаживание цилиндра) или Smooth Piston (Сглаживание поршня).

Для того чтобы вокруг поршня амортизатора создать кожух, установите в группе Boot Parameters (Параметры кожуха) флажок Enable (Активизировать). Этот кожух обеспечивает дополнительный амортизирующий эффект. Кожух настоящего амортизатора изготавливается из резины в форме цилиндра с несколькими складками. Аналогично выглядит и кожух динамического объекта Damper. Параметры кожуха настраиваются в группе Boot Parameters. Здесь можно установить минимальный и максимальный диаметр, количество складок, толщину и другие параметры кожуха. Чтобы сгладить кожух, установите флажок Smooth Boot (Сглаживание кожуха).

Объект Damper используют и в качестве амортизатора или силового привода. Амортизатор является противоположностью силового привода, поскольку амортизаторы поглощают силу, а приводы ее "производят". Для того чтобы указать, как следует использовать объект, установите в группе Dynamics Parameters (Параметры динамики) переключатель Object is Damper (Объект является амортизатором) или Object is Actuator (Объект является приводом). Группа Dynamics Parameters показана на рис. 30.3. Значение, введенное в поле Drag (Сопротивление), определяет, какая часть силы будет поглощаться амортизатором, и измеряется в фунтах на дюйм/с или ньютонах на м/с. Амортизатор может работать на сжатие (когда прикрепленные к его концам объекты перемещаются навстречу друг другу), на растяжение (когда прикрепленные к его концам объекты растягиваются в разные стороны) или в обоих направлениях. Режим работы амортизатора определяется с помощью переключателей Compression Only (Только сжатие), Extension Only (Только растяжение) и Both (Оба). При использовании объекта Damper в качестве привода в поле Force (Сила) следует ввести значение, соответствующее прикладываемой им силе. Выбрать единицы измерения силы можно с помощью переключателей Pounds (Фунты) и Newtons (Ньютоны).



Физические характеристики...



Рис. 30.3. Физические характеристики объекта Damper определяются в группе Dynamics Parameters



Физические свойства...



Рис. 30.4. Физические свойства материала определяются в разворачивающейся панели Dynamics Properties диалогового окна Material Editor

Диалоговое окно Material Editor более подробно описывается в главе 18, "Изучение редактора материалов".

В поле Bounce Coefficient (Коэффициент упругости) вводится значение коэффициента упругости. По умолчанию оно равно 1,0, что соответствует абсолютно упругому соударению. Мячик с коэффициентом упругости, большим единицы, с каждым ударом об пол будет отскакивать выше. Коэффициент трения покоя определяется в поле Static Friction (Трение покоя). Этим коэффициентом определяется минимальная сила, которую нужно приложить к объекту, для того чтобы сдвинуть его с места. Чем больше это значение, тем большую силу нужно приложить.

В поле Sliding Friction (Трение скольжения) устанавливается коэффициент трения скольжения, которым определяется сила, необходимая для перемещения объекта по поверхности с постоянной скоростью. Например, лед имеет небольшой коэффициент трения скольжения.



В разворачивающихся...



Рис. 30.5. В разворачивающихся панелях средства Dynamics предусмотрены кнопки для выбора объектов, которые будут использованы для имитации динамики



С помощью диалогового...



Рис. 30.6. С помощью диалогового окна Edit Object List осуществляется отбор объектов, использующихся в динамических расчетах

В этом окне два списка: Objects in the SCENE (Объекты в сцене) и Objects in the SIMULATION (Объекты в имитации). Выделите нужные объекты в левом списке и щелкните на кнопке со стрелкой вправо. Выделенные объекты переместятся в правый список. Аналогичные диалоговые окна используются для выбора эффектов и объектов, участвующих в столкновениях. В диалоговом окне Edit Object List можно создавать группы выделений Selection Set. Выбрать предопределенную группу объектов можно из раскрывающегося списка Selection Sets. Для того чтобы отобразить или выделить поддерево, установите соответственно флажок Display Subtree (Отобразить поддерево) или Select Subtree (Выделить поддерево). Чтобы в именах объектов учитывался регистр, установите флажок Case Sensitive (Учитывать регистр). После выбора всех нужных объектов закройте диалоговое окно, щелкнув на кнопке ОК.

Свойства отдельных объектов, участвующих в имитации динамики, определяются в диалоговом окне Edit Object (Редактирование объекта). Чтобы отобразить это окно, щелкните на кнопке Edit Object разворачивающейся панели Dynamics.

Для выделения в окнах проекций всех определенных в окне Edit Object List объектов, являющихся частью имитации, щелкните на кнопке Select Objects in Sim (Выделить объекты, участвующие в имитации) разворачивающейся панели Dynamics.

Динамические эффекты можно назначить каждому объекту отдельно в диалоговом окне Edit Object. Для того чтобы назначить всем объектам одни и те же эффекты, установите в разворачивающейся панели Dynamics переключатель Global Effects (Глобальные эффекты) и щелкните на кнопке Assign Global Effects (Назначить глобальные эффекты). Появится диалоговое окно Assign Global Effects (выглядит так же, как диалоговое окно Edit Object List). В этом окне перечислены все искривления пространства сцены. Выделите в левом списке окна все необходимые искривления пространства и щелкните на кнопке со стрелкой вправо. Закройте окно Assign Global Effects, щелкнув на кнопке ОК.

Подобно тому как назначаются эффекты, выбираются столкновения объектов. Столкновения можно задавать как каждому объекту в отдельности, так и глобально. Чтобы назначить глобальные столкновения, щелкните на кнопке Assign Global Collisions (Назначить глобальные столкновения). Появится диалоговое окно Assign Global Collisions (выглядит так же, как диалоговые окна Edit Object List и Assign Global Effects). В левом списке этого окна выделите все объекты, участвующие в столкновениях, и щелкните на кнопке со стрелкой вправо. Остальным объектам могут быть назначены другие динамические эффекты, однако при столкновениях объекты будут проходить сквозь них.

В нижней части разворачивающейся панели Dynamics находится кнопка Solve (Решить), при щелчке на которой создаются ключи анимации. Для того чтобы окна проекций обновлялись соответственно расчету имитации, установите флажок Update Display w/Solve (Обновлять экран с решением).



Диалоговое окно Edit...



Рис. 30.7. Диалоговое окно Edit Object предназначено для редактирования динамических свойств объектов

В группе Dynamic Controls (Динамические элементы управления) расположено два флажка: Use Initial State (Использовать начальное состояние) и This Object is Unyielding (Этот объект неподвижен). Если флажок Use Initial State установлен, то при вычислениях будет учитываться скорость объекта в начальный момент времени. Если снять этот флажок, то в начальный момент времени объект будет считаться неподвижным, а все существующие ключи анимации при вычислениях будут перезаписаны. Флажок This Object is Unyielding устанавливается для того, чтобы объект не перемещался при столкновениях. Данный флажок обязательно устанавливается для объекта Plane, использующегося в качестве поверхности Земли.

При щелчке на кнопке Move Pivot to Centroid (Переместить опорную точку в центр масс) опорная точка объекта перемещается в его центр масс. Такое перемещение опорной точки ускоряет вычисления, однако при этом изменяется местоположение других объектов, связанных с этой опорной точкой.

Для того чтобы сохранить все параметры объекта, установленные в окне Edit Object, в группе Load/Save Parameter Sets (Загрузить/Сохранить набор параметров) введите имя набора в поле Set Name (Имя набора) и щелкните на кнопке Save. Этот набор можно будет загрузить позже и применить к другому объекту. Если нескольким объектам необходимо установить одинаковые динамические параметры, использование наборов параметров существенно сэкономит время. Чтобы загрузить определенный набор, выделите его в списке Available Parameter Sets (Имеющиеся наборы параметров) и щелкните на кнопке Load.

Каждому объекту можно назначить различные эффекты, щелкнув на кнопке Assign Object Effects (Назначить эффекты объекту) в группе Assign Effects/Collisions (Назначить эффекты/столкновения). Для того чтобы назначить объекты, с которыми будут происходить соударения, щелкните на кнопке Assign Object Collisions. При щелчке на этих кнопках отображаются диалоговые окна, похожие на Assign Global Effects и Assign Global Collisions, в которых можно выбрать нужные эффекты или столкновения.

В группе Material Editor Physical Properties (Физические свойства редактора материалов) выберите те же свойства, что и в окне Material Editor. Так, в поле Bounce вводится коэффициент упругости, в поле Static Friction — коэффициент трения покоя, а в поле Sliding Friction — коэффициент трения скольжения. Любое свойство, установленное в окне Material Editor, можно деактивизировать, установив флажок, расположенный под соответствующим полем. Чтобы присвоить материалу объекта значение какого-либо свойства, щелкните на кнопке, расположенной под соответствующим полем.

В группе Collision Test (Тест столкновения) находятся переключатели Box (Параллелепипед), Cylinder (Цилиндр). Sphere (Сфера) и Mesh (Ячейка), позволяющие установить точность вычислений. Если установлен переключатель Box, вычисления будут выполняться быстрее, чем в остальных случаях, поскольку при расчетах предполагается, что объект имеет форму параллелепипеда. Однако полученные при этом расчеты столкновений будут не очень точными. Если установить переключатель Mesh, то при расчете столкновений используются реальные поверхности объектов, однако при этом на вычисления затрачивается больше времени.

С помощью переключателей группы Recalculate Properties (Пересчет свойств) можно выбрать частоту пересчета свойств объекта. Свойства материалов (например, масса) могут быть анимированы, а значит, могут изменяться в течение анимации. Например, при масштабировании объекта должен изменяться его объем. Если установлен переключатель Never (Никогда), то свойства пересчитываться не будут. При установке переключателя Every Frame (Каждый кадр) пересчет выполняется для каждого кадра. Если установлен переключатель Every Calc Interval (Каждый интервал вычисления), то свойства объектов пересчитываются через каждый интервал вычисления. Чем чаще пересчитываются свойства тем больше времени уходит на вычисления.

В группе Physical Properties (Физические свойства) можно выбрать значение плотности, массы и объема. Плотность определяется в поле Density и измеряется в граммах на кубический сантиметр. Масса определяется в поле Mass и измеряется в килограммах. Объем объекта задается в поле Volume и измеряется в кубических сантиметрах. Поскольку эти значения взаимосвязаны, для модификации, например, объема, независимо от массы и плотности, установите флажок Override Automatic Volume (He использовать автоматический объем).

Переключатели Vertices (Вершины), Surface (Поверхность). Bndg (Bounding) Box (Описанный параллелепипед). Bndg Cylinder (Описанный цилиндр). Bndg Sphere (Описанная сфера). Mesh Solid (Тело из ячеек) подгруппы Calculate Properties Using (Вычислять свойства с помощью) позволяют выбрать способ, а значит, и точность вычисления значений свойств объекта. При установке переключателей, начинающихся с Bndg. вокруг объекта описывается простая фигура, что упрощает вычисления. Выбор переключателя Mesh Solid существенно увеличивает время вычислений и к тому же активизирует автоматическое разрешение. Если установлен флажок Override Automatic Resolution (He использовать автоматическое разрешение), его можно отключить. В этом случае в поле Grid (Сетка) выберите размер ячеек в сантиметрах.



Во время имитации игры...



Рис. 30.8. Во время имитации игры в боулинг просчитываются все столкновения между кеглями и шаром



С помощью разворачивающихся...



Рис. 30.9. С помощью разворачивающихся панелей модификатора Flex можно контролировать параметры изгиба



Кнопка Paint поможет...



Рис. 30.10. Кнопка Paint поможет изменить вес вершин упругого объекта

Назначаемые таким образом параметры рассчитываются на основе реального веса вершин. При установке флажка Absolute Weight (Абсолютный вес) к выделенным вершинам применяется значение, введенное в поле Vertex Weight (Вес вершины).



С помощью модификатора...



Рис. 30.11. С помощью модификатора Flex можно имитировать движения пластичных объектов, напоминающих ткань



В разворачивающихся...



Рис. 30.12. В разворачивающихся панелях средства Reactor предусмотрено достаточно много параметров для управления объектами сцены

Если вы планируете часто использовать средство Reactor, вам понадобится одноименная панель инструментов. Чтобы отобразить ее, в главном меню программы выберите команду

Customized Load Custom Ul (Настройка>Загрузить пользовательский интерфейс). Затем в появившемся диалоговом окне Load Custom Ul Scheme выберите файл reactor.ui и щелкните мышью на кнопке Open (Открыть). В результате появится панель инструментов Reactor (рис. 30.13).



Панель инструментов...



Рис. 30.13. Панель инструментов Reactor предназначена для определения физических свойств объектов сцены

Кнопки панели инструментов Reactor приведены в табл. 30.1.



В окне предварительного...



Рис. 30.14. В окне предварительного просмотра можно поэкспериментировать с созданной имитацией

Окно предварительного просмотра появляется только в том случае, если используется драйвер дисплея OpenGL или Direct3D. По умолчанию применяется драйвер OpenGL. Для того чтобы использовать DirectX, установите одноименный флажок в разворачивающейся панели Display средства Reactor.

Самое замечательное в том, что в окне предварительного просмотра можно оперировать объектами сцены. Для перемещения объекта щелкните на нем правой кнопкой мыши и перетащите указатель на новую позицию. Для того чтобы обновить сцену 3ds max в соответствии с новым положением объекта в окне предварительного просмотра, выберите команду меню МАХ>Update Max.

Для вычисления имитации щелкните на кнопке Perform Simulation (Выполнить имитацию) панели инструментов Reactor. Ход процесса вычисления будет отображен в нижней части окна 3ds max 5. Чтобы остановить этот процесс, нажмите клавишу <Esc>.



С помощью средства...



Рис. 30.15. С помощью средства Reactor анимировать падающие кольца (в имитации это пластичные объекты) не составляет особого труда



Создание простых пластичных тел



Создание простых пластичных тел

Кнопка Create Simple Soft Body (Создать простое пластичное тело) разворачивающейся панели Simple Soft Bodies автоматически подстраивает динамику выделенного объекта под поведение пластичного тела. Можно также отредактировать такие параметры полученного объекта, как Stretch (Вытягивание) и Stiffness (Твердость). Например, для имитации динамики ткани значение параметра Stretch должно быть высоким, а параметра Stiffness, наоборот, низким.

Чтобы вручную изменить характеристики упругости объекта, воспользуйтесь разворачивающейся панелью Advanced Springs (Дополнительные параметры упругости).



Создание упругости вручную



Создание упругости вручную

Две последние разворачивающиеся панели модификатора Flex— это Advanced Parameters (Дополнительные параметры) и Advanced Springs (Дополнительные параметры упругости). В разворачивающейся панели Advanced Parameters указывают начальный и конечный кадр анимации, в которых должен применяться модификатор Flex. Чтобы модификатор воздействовал на объект целиком, а не на отдельные выделенные субобъекты, достаточно установить флажок Affect All Points (Воздействовать на все точки). Щелчок на кнопке Set Reference (Установить ссылку) обновляет окна проекции, а щелчок на кнопке Reset (Сброс) возвращает вес всех вершин к значениям по умолчанию.

С помощью разворачивающейся панели Advanced Springs можно вручную добавлять и корректировать параметры пружин объекта. Щелчок на кнопке Options (Параметры) открывает одноименное диалоговое окно, где выбирают тип добавляемой пружины — Edge (Грань) или Shape (Форма). Пружины типа Edge применяются к вершинам на гранях объекта, в то время как пружины типа Shape действуют между вершинами. Для данных дополнительных типов пружин можно установить следующие параметры: упругость пружин грани (Stretch Str), колебание пружин грани (Stretch Sway), упругость пружин формы (Shape Str) и колебание пружин формы (Shape Sway).



Субобъекты модификатора Flex



Субобъекты модификатора Flex

В стеке модификаторов представлено три субобъекта модификатора Flex — Center (Центр), Edge Vertices (Вершины) и Weights & Springs (Вес ребер и пружины). Субобъект Center представляет собой контейнер, отмечающий центр эффекта. Чем дальше от центра находится та или иная часть объекта, тем большим будет ее смещение. Выделив субобъекты Edge Vertices, можно управлять направлением и спадом эффекта. Параметры субобъектов Weight & Springs редактируются в одноименной разворачивающейся панели.



как сбить все кегли в боулинге



Упражнение: как сбить все кегли в боулинге

Когда я играю в боулинг, сбить все кегли сразу мне удается довольно редко. Однако в программе 3ds max я могу каждый раз сбивать все кегли, а могу сделать так. что сбить все кегли сразу будет невозможно.

Для выполнения динамической имитации игры в боулинг выполните ряд действий.

В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 30 . zip, распакуйте его и откройте файл Bowling set .max. В этом файле находится дорожка для боулинга с шаром и десятью кеглями. Дорожка окружена искривлением пространства POmniFlect (Плоский всенаправленный отражатель).

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

Активизируйте вкладку Create и щелкните на кнопке Space Warps. Из раскрывающегося списка субкатегорий выберите элемент Forces, щелкните на кнопке Gravity и создайте в окне проекции Front объект Gravity. Расположите этот объект за шаром и нацельте его на шар. В разворачивающейся панели Parameters введите в поле Strength (Сила) значение 10. Активизируйте вкладку Utilities и щелкните на кнопке Dynamics. В разворачивающейся панели Dynamics щелкните на кнопке New, затем на кнопке Edit Object List, выделите в левом списке окна Edit Object List все объекты и щелкните на кнопке со стрелкой вправо. Щелкните на кнопке ОК. В группе Effects установите переключатель Effects by Object. Щелкните на кнопке Edit Object и выберите элемент Bowling ball из раскрывающегося списка OBJECT, расположенного в левом верхнем углу диалогового окна Edit Object. Затем щелкните на кнопке Assign Object Effects в левом списке диалогового окна Assign Object Effects, дважды щелкните на элементе Gravity для того, чтобы переместить его в правый список, и закройте это окно, щелкнув на кнопке ОК. Выберите из раскрывающегося списка OBJECT объект Lane, использующийся в качестве дорожки, установите флажок This Object is Unyielding и щелкните на кнопке ОК.

Поскольку искривления пространства уже назначены с помощью разворачивающейся панели Dynamics, назначать их с помощью кнопки Bind to Space Warp не нужно.

В группе Collisions установите переключатель Global Collisions и щелкните на кнопке Assign Global Collisions. В левом списке диалогового окна Assign Global Collisions выделите все объекты (кнопка All) и щелкните на кнопке со стрелкой вправо. Затем щелкните на кнопке ОК. В разворачивающейся панели Timing & Simulation введите в поле End Time значение 40. Затем установите флажок Update Display w/Solve и щелкните на кнопке Solve. При этом кадры имитации будут отображаться в окнах проекции. По завершении просчета щелкните на кнопке Play Animation для того, чтобы просмотреть имитацию.

На рис. 30.8 показан один кадр анимированной имитации динамики. Обратите внимание на то, что из эффектов присутствуют только столкновение и гравитация, но в реальном мире действующих сил намного больше. В итоговой анимации кегли рахаетаются в пространстве.



падающие канаты



Упражнение: падающие канаты

Работать над имитацией объектов Rope (Веревка) — занятие весьма интересное. Обычно эти объекты создаются на основе визуализируемых сплайнов (категория Shapes вкладки Create). В этом примере попытаемся сбросить несколько канатов на поверхность сферы.

Для имитации падения нескольких веревок на поверхность сферы выполните следующее.

В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 30 . zip, распакуйте его и откройте файл Falling ropes .max. В файле находится несколько примитивных объектов. Щелкните на кнопке Rigid Body Collection панели инструментов Reactor, а затем в окне проекции Front. Активизируйте кнопку Pick (Выбрать) разворачивающейся панели RB Collection Properties и выберите объект Sphere01. Вновь активизируйте кнопку Pick и выберите объект Вох01. Выберите в окне проекции все объекты Line и щелкните на кнопке Rope Modifier панели инструментов Reactor. Щелкните на кнопке Rope Collection панели инструментов Reactor, а затем в окне проекции Front. Активизируйте кнопку Add (Добавить) разворачивающейся панели RB Collection Properties и выберите все объекты Line. Щелкните на кнопке Show in Window панели инструментов Reactor. Появится окно предварительного просмотра. Для воспроизведения имитации нажмите клавишу <Р>.

На рис. 30.17 показана средина имитационного процесса в окне Havok.

 Рис. 30.17. Согласитесь, в процессе имитации объекты Rope выглядят очень динамично



падение тарелки с кольцами



Упражнение: падение тарелки с кольцами

В каждой хорошей книге встречаются описания трагических моментов. Представьте себе, что полицейский несет тарелку с драгоценными кольцами, спотыкается и роняет ее на пол — шум, грохот, кольца в разные стороны... Правда, печальная история? Анимация этой сцены будет очень сложной, по крайней мере займет слишком много времени. А если воспользоваться средством Reactor, все будет значительно проще.

Для того чтобы с помощью средства Reactor анимировать падение тарелки с кольцами, выполните следующее.

В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 30. zip, распакуйте его и откройте файл Falling plate of donuts.max. В файле находится созданная на основе примитивов тарелка с кольцами. В главном меню программы выберите команду Customized Load Custom Ul (Настронка>Загрузить пользовательский интерфейс). Затем в появившемся диалоговом окне Load Custom Ul Scheme выберите файл reactor.ui и щелкните мышью на кнопке Open (Открыть). В результате появится панель инструментов Reactor. Активизируйте кнопку Rigid Body Collection (Коллекция устойчивых тел) панели инструментов Reactor и щелкните мышью в окне проекции Front. В разворачивающейся панели RB Collection Properties щелкните на кнопке Pick (Выбрать), а затем в окне проекции на объекте Cylinder01 (в данном примере это тарелка). Еще раз щелкните на кнопке Pick, а затем в окне проекции на объекте Plane01. В главном меню программы выберите команду Edit>Select By>Name (Правка>Выбрать по>Имени) или нажмите клавишу <Н>. В появившемся диалоговом окне Select Objects (Выбрать объекты) выделите все объекты Torus. Затем щелкните на кнопке Soft Body Modifier (Модификатор пластичного тела) панели инструментов Reactor. Теперь щелкните на кнопке Soft Body Collection (Коллекция пластичных тел) панели инструментов Reactor, а затем в окне проекции Front. Активизируйте кнопку Add (Добавить) разворачивающейся панели Properties и вновь выберите все объекты Torus. Активизируйте вкладку Utilities и щелкните на кнопке reactor. В окне проекции выберите объект Plane01 и в группе Other Properties разворачивающейся панели Properties установите флажок Unyielding (Неподвижный). Выберите объект Cylinder01 и в поле Mass (Масса) введите 5,0. Затем выделите все объекты Torus и в поле Mass введите 0,25. Последнее, что нужно сделать, — запустить имитацию. Для этого щелкните на кнопке Perform Simulation панели инструментов Reactor. Для вычисления имитации, созданной в этом примере, понадобится некоторое время. По завершении вычисления щелкните на кнопке Play Animation (или нажмите клавишу </>) для просмотра анимации.

Перевернутая тарелка с кольцами показана на рис. 30.15. Обратите внимание на панель инструментов Reactor, которая прикреплена к левой части окна 3ds max 5.



поплещемся в воде



Упражнение: поплещемся в воде

Создавать и имитировать эффект водной глади— это, пожалуй, одна из самых удивительных возможностей средства Reactor. Прежде чем "заливать" воду, необходимо создать модель емкости, в которой эта вода будет находиться.

Чтобы с помощью средства Reactor заполнить емкость водой, выполните ряд действий.

В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 30 . zip, распакуйте его и откройте файл Pool of water .max. В файле находится модель бассейна (созданная на основе примитивов), в котором будет находиться вода, а также три сферы с различной массой. Щелкните на кнопке Rigid Body Collection (Коллекция устойчивых тел) панели инструментов Reactor, а затем в окне проекции Front. Активизируйте кнопку Add (Добавить) разворачивающейся панели RB Collection Parameters и выделите в окне проекции все объекты Box и Sphere. Щелкните на кнопке Water WSM System панели инструментов Reactor и в окне проекции Front перетащите указатель мыши так, чтобы отметить уровень воды в бассейне. В окне проекции Front выберите крайнюю слева сферу и откройте разворачивающуюся панель Properties во вкладке Utilities. В поле Mass введите 3,0 (кг). Выберите вторую сферу и в поле Mass введите 100 (кг). Выделив последнюю сферу, введите в поле Mass значение 5000 (кг). Щелкните на кнопке Show in Window (Предварительный просмотр имитации) панели инструментов Reactor. В появившемся окне Havok перетащите указатель мыши, чтобы развернуть объекты сцены. Затем выберите команду Simulation>Play/Pause (Имитация>Воспроизведение/Пауза) (или нажмите клавишу <Р>).

На рис. 30.16 показан результат имитации в окне Havok. Обратите внимание, что от массы сферы зависит, будет ли она плавать на поверхности или утонет.

Рис. 30.16. В зависимости от значения параметра Mass. объекты будут плавать на поверхности воды или же утонут



создание развевающегося флага



Упражнение: создание развевающегося флага

Удачным примером пластичного объекта служит флаг. Сделаем так, чтобы он развевался на ветру, и таким образом попрактикуемся в применении модификатора Flex. В приведенном ниже примере модификатор Flex применяется также и к субобъектам.

Чтобы с помощью модификатора Flex имитировать динамику движения развевающегося на ветру флага, выполните ряд действий.

В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 30.zip, распакуйте его и откройте файл Soft body flex flag.max. В файле находится элементарный объект Plane (Плоскость), преобразованный в редактируемый каркас (Editable Mesh). Выделив объект Flag, активизируйте вкладку Modify и в разворачивающейся панели Selection щелкните на кнопке Vertex, чтобы перейти в режим редактирования вершин. В окне проекции Front перетащите указатель мыши, выделив все вершины флага, за исключением левой колонки, которая соприкасается с флагштоком. Выделив большую часть вершин, из раскрывающегося списка Modifier List выберите модификатор Flex (или воспользуйтесь командой Modifiers>Animation Modifiers>Flex). В поле Rex разворачивающейся панели Parameters введите значение 3,0, в поле Sway — значение 50,0 и снимите флажок Use Weights. В разворачивающейся панели Simple Soft Bodies щелкните на кнопке Create Simple Soft Body. После этого в разворачивающейся панели Forces and Deflectors щелкните на кнопке Add, расположенной под списком Forces. Затем в окне проекции Тор выделите искривление пространства Wind (Ветер). Просмотрите полученный результат, щелкнув на кнопке Play Animation. В окне проекции вы увидите развевающийся флаг.

На рис. 30.11 изображен развевающийся на ветру флаг.



Установка параметров объекта



Установка параметров объекта

Основные физические параметры объектов, добавленных в коллекцию, устанавливаются автоматически. Вам нужно лишь установить некоторые дополнительные параметры, которые находятся в разворачивающейся панели Properties вкладки Utilities. Для каждого объекта коллекции можно указать значение массы (Mass), упругости (Elasticity) и коэффициента трения (Friction). Значением параметра Mass определяется, насколько тяжелым должен быть объект. Например, шар для боулинга должен иметь большее значение этого параметра, чем шарик для настольного тенниса. Значением параметра Elasticity определяется, насколько упругим должен быть объект. Например, теннисный мяч должен быть более упругим, чем мраморная плита. Значением параметра Friction определяется, насколько велико сопротивление объекта во время его перемещения по полу. Например, у кирпича значение этого параметра должно быть выше, чем у кубика льда.

Объекты коллекции Rigid Body (Устойчивые тела) не будут перемещаться, если в поле Mass введено нулевое значение.

Если вы внимательно читали эту главу, то, наверное, заметили, что аналогичные три свойства можно изменить с помощью применения материала. В разворачивающейся панели Properties средства Reactor предусмотрена кнопка Get From Material, с помощью которой значения этих трех параметров присваиваются объекту в соответствии с аналогичными значениями параметров примененного (к этому же объекту) материала. Щелчок на кнопке Set То Material позволяет присвоить физические значения параметров разворачивающейся панели Properties примененному материалу.

Единственный глобальны параметр Gravity (Гравитация) расположен в разворачивающейся панели Simulation (Имитация). Значения гравитации можно установить для каждой из координатных осей.



Возможные проблемы



Возможные проблемы

Средство Reactor автоматически выявляет ошибки имитации до ее предварительного просмотра или вычисления. Сообщения об ошибках появляются в специальном диалоговом окне. Ниже приведен список самых распространенных сообщений об ошибках. Для анализа имитации воспользуйтесь кнопкой Analyze World (Анализ имитации) панели инструментов Reactor.

Don't use the default Plane primitive (He используйте заданный по умолчанию примитив Plane (Плоскость)). Средство Reactor не в состоянии точно рассчитать столкновения, поскольку у компланарных объектов Plane отсутствует глубина. Вместо этого примитива воспользуйтесь объектом Box (Параллелепипед) либо объектом Plane средства Reactor (соответствующая кнопка находится в разворачивающейся панели Object Type категории Helpers). Low Mass value (Низкое значение параметра Mass). Это сообщение появляется в том случае, если значение параметра Mass какого-либо объекта слишком мало. Чтобы устранить ошибку, найдите проблемный объект и увеличьте значение этого параметра. Interpenetrating object (Взаимопроникающие объекты). Причиной этой ошибки являются перекрывающие друг друга объекты сцены. Убедитесь в том, что объекты сцены не пересекаются.

Введение в динамику



Введение в динамику

Динамика — это раздел физики, изучающий перемещение предметов под действием силы. Несмотря на горький школьный опыт, в мире 3ds max физика — ваш друг. Динамика позволяет автоматизировать создание ключей анимации с помощью расчета позиции, вращения и столкновений объектов, описываемых физическими уравнениями.

Рассмотрим движение игрушки "йо-йо". Для того чтобы анимировать эту игрушку с помощью ключей анимации, достаточно создать ключи Rotation и Position в середине и затем в конце анимации.

Теперь рассмотрим силы, действующие на "йо-йо". Гравитация заставляет игрушку ускоряться в направлении Земли, при этом нить разматывается, из-за чего "йо-йо" вращается вокруг своей оси. Когда нить полностью размотается, игрушка начнет вращаться в другую сторону и станет подниматься вверх. Движение этой игрушки имитируется и с помощью искривлений пространства Gravity (Гравитация) и Motor (Двигатель), однако в данном случае ключи анимации проще задать вручную.

Прежде чем вы спишете динамику со счетов, рассмотрим движение лопающегося попкорна. На то, чтобы задать ключи анимации Rotation и Position каждому лопающемуся зернышку, нужно потратить очень много времени. В данном случае имеет смысл использовать динамику.

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

Физические характеристики объекта определяются его свойствами. Такие свойства, как упругость, коэффициент трения, плотность или объем, задаются с помощью средства Dynamics и редактора материалов (Material Editor). Благодаря перечисленным свойствам объекту можно придать признаки льда, резины, стали или пластика.

Действующие на объекты силы имитируются с помощью искривлений пространства (Space Warps), однако не каждый объект Space Warp может быть использован при имитации динамики. Дополнительные возможности имитации динамики обеспечиваются рассматриваемыми в этом разделе динамическими объектами Spring (Пружина) и Damper (Амортизатор).



Запуск и предварительный просмотр имитации



Запуск и предварительный просмотр имитации

Для управления имитацией можно использовать и много других параметров средства Reactor, но в данном разделе мы рассмотрим процесс выполнения имитации. Таким образом вы сможете поэкспериментировать с ранее рассмотренными параметрами этого средства. Для предварительного просмотра имитации щелкните на кнопке Show in Window панели инструментов Reactor. Появится диалоговое окно Havok, подобное показанному на рис. 30.14. В этом окне можно экспериментировать с имитацией. Для воспроизведения имитации выберите команду Simulation>Play/Pause (Имитация>Воспроизведение/Пауза) (горячая клавиша <Р>). Для поворота объектов сцены достаточно щелкнуть мышью в окне предварительного просмотра и, не отпуская кнопку, перетащить указатель.