Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособия_Tutorials / Рус / Ввеление в реактор_(39) .doc
Скачиваний:
52
Добавлен:
25.04.2015
Размер:
1.37 Mб
Скачать

Построение жесткого тела

Жесткое тело может содержать больше одного примитива. Жесткое тело с более чем одним примитивом, известно как составное жесткое тело.

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

В этом уроке будут объединены два незакрепленных жестких тела сцены (сфера и цилиндр) с созданием единого жесткого тела. При объединении будет видна разница между свойствами примитивов и свойствами жесткого тела. Каждый примитив в жестком теле может иметь свою массу в геометрии имитации, тогда как трение (friction), упругость (elasticity) и свойства отображения тела (display properties) применяются ко всему жесткому телу.

Для создания составного твердого тела понадобится выбрать их и сгруппировать средствами 3ds Max. Эта группа может быть добавлена в коллекцию жестких тел как новое жесткое тело.

Продолжение или загрузка файла reactor_intro_5.max из папки \tutorials\reactor\introduction.

Создание составного жесткого тела:

  1. Выбор цилиндра и смещение его в сферу, чтобы он походил на пару рук.

Положение цилиндра в окне Front

  1. С удержанием клавиши Ctrl добавление сферы в набор. Выделено два объекта.

  2. В меню Group выбор Group. В диалоге Group ввод имени группы toy_body. Щелчок OK.

  3. Выбор значка RB Collection и добавление группы в коллекцию.

  4. Вызов Preview Animation.

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

  1. В свитке RB Collection Properties панели Modify с удержанием клавиши Ctrl выделение сферы и цилиндра и щелчок Delete.

  2. Вызов Preview Animation и наблюдение имитации.

Теперь можно видеть, что сфера и цилиндр действуют, как части единого объекта.

Создание покачивания

Игрушка, которую предстоит сделать, будет иметь неоднородное распределение массы. В данном случае большая часть массы будет сосредоточена вблизи ее основания. Такая игрушка не будет опрокидываться, но будет пытаться выпрямиться и покачиваться. Такое поведение возможно, поскольку примитивы в составном жестком теле могут иметь разные массы. Требуется только добавить маленький тяжелый объект внутри возле основания игрушки, чтобы большая часть массы оказалась здесь.

Продолжение урока или загрузка файла reactor_intro_6.max from \tutorials\reactor.

Завершение игрушки:

  1. Сначала следует закончить геометрию игрушки. Создание тора для ее пояса, сферы для головы, двух меньших сфер для глаз и сферы для носа.

Геометрия игрушки в виде Front

  1. Выбор трех сфер глаз и носа и вызов диалога Rigid Body Properties.

  2. Ввод для геометрии имитации Bounding Box.

  3. Поскольку эти сферы не должны играть большую роль в имитации, можно придать им очень простую геометрию для ускорения имитации.

  4. Выбор головы игрушки и ввод для геометрии имитации Bounding Sphere.

Можно принять для геометрии имитации тора Mesh Convex Hull, или можно было бы создать копию и упростить как proxy, как было сделано для цилиндра.

  1. После создания и приведения в порядок этих объектов добавление их в группу toy_body. Для каждого объекта выбор Attach из меню Group и щелчок toy_body.

Изменение распределения массы жесткого тела:

  1. Выделение группы toy_body и выбор Open в меню Group.

Это позволяет выделить отдельные примитивы группы и изменить свойства их жестких тел.

Ввод для массы каждого объекта группы mass =1.0 (без тела и рук, у которых масса есть).

Примечание: Можно сделать это быстро выбором всех объектов группы и вводом Mass = 1.0 в диалоге Rigid Body Properties.

Это можно сделать, поскольку предполагается добавить в группу тяжелый объект, который будет действовать на движение объектов.

  1. Щелчок Preview Animation, и будет видно, что все новые объекты были добавлены в составное жесткое тело.

Игрушка должна падать, хотя она пока не имеет правильного поведения. Если игрушка не падает, не всем объектам была задана масса, в результате один из примитивов неподвижен. Для исправления следует закрыть окно preview и проверить массу каждого объекта группы.

  1. Добавление небольшого кубика (Height, Width, Length= 3.0) внутрь сферы тела возле основания объекта.

  1. В диалоге Rigid Body Properties ввод для кубика mass = 300.0.

  2. Выделение компонента группы и выбором Close в меню Group закрытие группы.

  3. Выделение кубика, выбор Attach в меню Group и щелчком toy_body включение его в группу.

  4. Вызов Preview Animation и исследование поведения игрушки.

Игрушка соскальзывает по полу, как раньше, однако отклоняется назад и выпрямляется. Массивный кубик в основании понизил центр тяжести группы.

Save your file as my_reactor_intro.max, and experiment with flattening out the plane and scaling it up.