Наиболее интересные и полезные из них мы сейчас и обсудим.

Составные объекты типа Boolean

Булевы объекты создаются в результате объединения нескольких трехмерных тел на основе принципов булевой алгебры (алгебры логики). Они применяются для формирования отверстий или проемов в объемных телах или для объединения нескольких объектов в один.

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

Для примера создадим шуруп с резьбой. Начнем со шляпки. В любом окне проекции сделаем сферу и в счетчике «Полусфера» выставим значение 0,5. Далее создадим прямоугольный параллелепипед, длина которого должна быть больше диаметра нашей полусферы, а ширина — малой. Расположим его так же, как на рис.1.

Рис.1. Заготовка шляпки шурупа

Теперь применим операцию булевого вычитания, чтобы вырезать в шляпке отверстие под отвертку. Выделим полусферу и перейдем к «Составным объектам» в раскрывающемся списке командной панели «Создать». Нажмем кнопку «Булев», после чего в нижней части панели появятся свитки «Задать операнд» и «Параметры», а также свиток «Показать/Обновить» в свернутом виде. Установим Рис. 2. Заготовка шляпки шурупа: а — после применения булевой операции; б — после масштабированияпереключатель свитка «Задать операнд» в положение «Переместить». При этом объект-операнд В (в данном случае  — прямоугольный параллелепипед) будет перемещен в состав булева объекта. А остальные переключатели — «Экземпляр», «Копия», «Образец» — добавят в составной объект соответствующий тип дубликата объекта, указанного в качестве операнда В. Далее выберем тип булевой операции, установив переключатель «Операция» в положение «Исключение А–В», т.е. из операнда А (полусферы) вычтется операнд В (прямоугольный параллелепипед) там, где они пересекаются. Наконец, щелкнем на кнопке «Указать операнд В» и по нашему параллелепипеду. Должны получиться изображения, аналогичные представленным на рис.2а. Чтобы усилить схожесть, можно слегка сплюснуть шляпку путем масштабирования (рис.2б).

Свиток «Операция» имеет следующие переключатели:

  • Объединение — тела объектов (операндов А и В) объединяются, образуя новое тело с одной общей поверхностью и общим объемом;
  • Пересечение — образуется новый объект, представляющий собой область пространства, принадлежащую как операнду А, так и операнду В (область пересечения операндов), иными словами, обрезается все, кроме того пространства, в котором операнды соприкасаются;
  • Исключение В–А — то же самое, что и применяемое нами «Исключение А–В», только наоборот;
  • Вырезка — преобразует сетку оболочки операнда А, ничего не добавляя к ней от операнда В, одним из четырех способов: «Уточнение» добавляет новые вершины и ребра к оболочке операнда А вдоль границ пересечения с операндом В;«Расщепление» действует как вариант «Уточнения», но добавляет по паре новых вершин и ребер, расщепляя оболочку операнда А на отдельные части по границам пересечения с операндом В; «Удалить внутри» и «Удалить снаружи» удаляют все грани оболочки объекта-операнда А, лежащие внутри или снаружи объекта-операнда В.

Теперь, когда разъяснен более-менее принцип работы «буля» (так его еще иногда называют), обсудим процесс моделирования шурупа лишь в общих чертах.

Создадим конус и с помощью «буля» объединим его со шляпкой (рис. 3). Остался последний штрих — нанести резьбу с помощью булевой операции. Самым сложным здесь может показаться создание заготовки-операнда резьбы, однако в действительности это просто.

Рис. 3. Объединенный конус со шляпкой

Делаем спираль, которая находится в разделе «Фигуры» командной панели. Ее можно создавать произвольно, все равно придется править параметры. Здесь главное — правильно выбрать окно проекции, а именно то, где шуруп виден спереди (сзади), например окно Front (рис. 4). Теперь выровняем спираль относительно шурупа так, чтобы их центры совпадали. Затем переходим к правке параметров. Высоту спирали подбираем такой, чтобы спираль покрывала конус шурупа, но не соприкасалась со шляпкой. В свитке «Визуализация» выделим галочки: «Разрешить в окне проекции» и «Разрешить при визуализации». Там же отмечаем переключатель «Радиальный» и, если необходимо, задаем толщину спирали. Далее ставим параметры «Витки», чтобы задать витки резьбы, «Радиус 1» Рис. 4. Шуруп со спиралью:а —  до применения булевой операции; б —  после применения операциии «Радиус 2», чтобы задать радиусы в начале и в конце спирали. Радиусы подбираются так, чтобы спираль плотно окутывала конус шурупа. Когда все будет подобрано, то останется лишь применить булеву операцию исключения. В принципе, если сделать все на глазок, то получится шуруп, показанный на рис. 4. Конечно, применение булевых операций выглядит заманчиво, однако профессионалы советуют избегать их. Использование булева метода может непредсказуемо изменить сетку объекта, поэтому не стоит сохраняться после операции, ошибка может оказаться непоправимой. Но иногда данный метод существенно экономит время и его целесообразно применять.

Составные объекты типа Scatter

Объекты типа Scatter (Распределенный) — это совокупность дубликатов одного объекта, распределенных на поверхности другого объекта или в некоторой области трехмерного пространства. Например, их можно использовать для имитации стеблей травы, стай птиц или рыб, деревьев на модели ландшафта и т. п.

Распределяемый объект называется объект-источник, а объект, на поверхности которого распределяются дубликаты, — объект-база распределения. Наличие объекта-базы не является обязательным, дубликаты объекта-источника после применения к ним преобразований могут быть распределены в определенной области трехмерного пространства.

Объекты, допускающие применение в составном объекте типа «Распределенный», должны иметь сетчатую оболочку с набором граней или допускать преобразование в редактируемую сетку. Например, сплайны могут использоваться и как объекты-источники, и как базы распределения, однако для этого они должны быть преобразованы к типу «Редактируемая сетка». В первом случае такое преобразование выполняется автоматически, а во втором его следует выполнить заранее с помощью командной панели «Изменить».

Для примера создадим небольшой лесок. Сначала реализуем кусок поверхности земли, т.е. объект-базу. Для этого, в частности, можно сделать объект «Плоскость» с 32 сегментами по ширине и длине. Так много сегментов нужно для того, чтобы придать плоскости плавный рельеф, ведь земля редко бывает ровной. Для придания рельефности к плоскости нужно применить модификатор «Неоднородность». Кстати, если у кого-то плохо русифицирован 3ds Max, то модификатор называется Noise. Данный модификатор вызывает случайные возмущения поверхности геометрической модели, делая ее менее ровной, благодаря чему создается впечатление органического происхождения объекта. Перед применением модификатора следует позаботиться о достаточно большом числе сегментов в сетчатой оболочке объекта. Настроек модификатора не слишком много, их можно испытать методом «научного тыка». Для рассматриваемого примера можно увеличить силу воздействия по оси Z, чтобы добиться удовлетворительного вида рельефа (рис. 5).

Рис. 5. Плоскость после применения модификатора «Неоднородность»

Теперь в раскрывающемся списке командной панели «Создать», выбираем «АЕС-дополнение», нажимаем на кнопку «Растения» и выбираем любое понравившееся дерево. Жаль только, что выбор небогат. Подгоняем размер дерева под наш участок земли с таким расчетом, чтобы там уместился хотя бы десяток деревьев.

Наконец, самое главное — работа инструментом «Распределенный». Выделяем дерево и в разделе составных объектов нажимаем на кнопку «Распределенный». Необходимо проследить за тем, чтобы переключатель «Распределение» свитка «Распределенные объекты» был установлен в положение «Использовать базу распределения». При установке переключателя в положение «Использовать только преобразования» не требуется указывать объект-базу. Дубликаты объекта-источника будут случайным образом распределены в пространстве вследствие применения преобразований поворота, смещения и масштаба, пределы изменения параметров которых заданы в свитке «Преобразования». Далее в панели настроек составного объекта нажимаем на кнопку «Задать базу распределения» и щелкаем на плоскости. В счетчике «Дубликаты» свитка «Распределенные объекты» выставляем необходимое число деревьев, например 20. Правда, следует соблюдать осторожность, максовские заготовки деревьев «тяжелые», компьютер может и не переварить большое количество таких деревьев. Рассмотрим некоторые важные настройки.

Свиток «Параметры объекта-базы»:

  • Перпендикулярно — дубликаты будут размещаться перпендикулярно поверхностям граней объекта-базы, т.е. в рассматриваемом примере деревья будут наклонены в соответствии с рельефом; при сброшенном флажке дубликаты будут сохранять ориентацию объекта-источника;
  • Использовать только выделенные грани — дубликаты будут размещаться только в пределах выделенных граней объекта-базы.
  • Чтобы задать вариант распределения дубликатов объекта-источни-ка по поверхности объекта-базы,
    нужно установить переключатель «Распределять» в одно из следующих положений:
  • По площади — равномерное случайное распределение дубликатов по поверхности базы;
  • Равномерно — распределение также случайное, но число граней объекта-базы делится на число дубликатов; при размещении дубликатов необходимое число граней пропускается;
  • Пропуская N граней — при распределении дубликатов будут пропускаться N граней объекта-базы, где N — число, указанное в счетчике справа от переключателя;
  • Случайные грани — дубликаты распределяются случайным образом;
  • Вдоль ребер — дубликаты распределяются случайным образом вдоль ребер объекта-базы;
  • По всем вершинам—дубликаты помещаются в каждую вершину объекта-базы, при этом заданное число дубликатов игнорируется;
  • По серединам всех ребер — дубликаты помещаются в середину всех ребер объекта-базы;
  • По центрам всех граней — дубликаты помещаются в центр всех граней объекта-базы;
  • По объему — в отличие от всех предыдущих вариантов, в которых распределение происходит по поверхности объекта-базы, в данном случае дубликаты распределяются в пределах всего объема объекта-источника.

Чтобы придать случайный характер не только распределению дубликатов объекта-источника в пределах объекта-базы, но и преобразованиям самих дубликатов, используйте элементы управления свитка «Преобразования». Делается это с помощью задания параметров в счетчиках X, Y, Z разделов «Поворот», «Локальный сдвиг», «Сдвиг» и в разделе «Масштабирование». Флажки «Использовать наибольшие пределы» задают применение наибольших пределов распределения из указанных в счетчиках преобразований по осям X, Y, Z. Установка флажка «Сохранять пропорции» обеспечивает сохранение пропорций дубликатов при масштабировании.

В свитке «Отображение» можно установить переключатель «Приближенное», чтобы ускорить прорисовку, отображая вместо самих дубликатов их приближенные макеты или переключатель «Сетка» для точного отображения дубликатов. В счетчике «Показывать» нужно задать долю общего числа дубликатов, отображающихся в окнах проекций. Это особенно полезно тогда, когда компьютер начинает тормозить из-за количества объектов. Чтобы скрыть базу распределения, а такая необходимость возникает довольно часто, следует установить флажок «Скрыть объект-базу». В счетчике «Номер выборки» раздела «Уникальность» необходимо изменить число, инициирующее работу генератора случайных чисел, чтобы получить новое распределение дубликатов, или просто щелкнуть на кнопке «Новая» для автоматической генерации новой выборки случайных чисел.

Объекты типа «Распределенный» имеют достаточно много параметров, поэтому, выполнив их настройку, можно с помощью свитка «Загрузить/Сохранить заготовки» сохранить всю совокупность значений для последующего повторного использования применительно к иному распределенному объекту. Чтобы сохранить совокупность значений параметров, нужно ввести имя в поле «Имя заготовки» и щелкнуть на кнопке «Сохранить». Для загрузки ранее сохраненного набора значений параметров необходимо выделить имя заготовки в списке «Сохраненные заготовки» и щелкнуть на кнопке «Загрузить». Щелчок на кнопке «Удалить» позволяет удалить заготовку, имя которой выбрано в списке «Сохраненные заготовки».

Рис. 6. Лес, созданный методом распределенияТеперь следует установить все настройки и сохранить заготовку, а потом создать какой-нибудь куст так же, как создано дерево. Нужно указать для куста в качестве базы распределения ту же плоскость и загрузить сохраненную заготовку. Все настройки нового объекта-распределения выставились идентично первому. Правда, возможно, придется изменить метод распределения, чтобы кусты не были на тех же позициях, что и деревья, например установив способ «Случайные грани». В результате получится картина, представленная на рис. 6.

* * *

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