|
Как и для многих терминов компьютерной
графики, термин "булева" происходит от
имени человека, который ввел это понятие
(в данном случае это Джордж Буль). В
математике термин "булева"
появился для обозначения операции
сравнения между множествами; в 3D Studio
MAX подобное сравнение выполняется между
геометрическими объектами. Хотя булева
операция выглядит во многом похожей на
модификатор, она находится на панели
Create, а не на панели Modify, поскольку
выполняется определение нового объекта
из двух существующих (аналогично
созданию loft- или morph-объектов).
Булева операция в 3D Studio MAX
выполняется путем создания булевого
составного объекта из двух существующих
объектов, которые называются
операндами, при этом выполняются
следующие шаги:
-
Выберите начальный объект для
булевой операции.
-
Выберите Compound Objects (составные
объекты) из списка выборки Geometry
в панели Modify и затем щелкните на
кнопке Boolean. Выбранный объект становится
операндом А для составного булевого
объекта. Теперь можно выбрать
операнд В.
-
Выберите требуемый тип операции (Operation:).
-
Щелкните на Pick Operand В (выбрать
операнд В) и затем выберите второй
объект. Объекты сравниваются для определения
их действительности (с точки зрения
выполнения булевой операции) и, если
они действительны, булева операция
выполняется. Теперь можно изменить тип операции и
увидеть различные булевы результаты.
Типы операции подобны многим
традиционным методам. Объединение
соединяет объекты подобно работе с
глиной; при вычитании один объект
вырезается из другого, как в скульптуре;
пересечение оставляет то, что должно
было бы быть вырезано или выбито из
вычитания. Объединение и вычитание
всегда возвращают одинаковый результат
независимо от порядка выбора операндов.
Предусмотрены две опции (А-В и В-А),
поэтому при неправильном начальном
выборе можно быстро переключиться.
ПРЕДУПРЕЖДЕНИЕ
Можно щелкнуть на кнопке Pick Operand В
и выбрать другой Operand В произвольное
количество раз. При выборе нового
операнда В первоначальный операнд со
сцены удаляется. При выборе в качестве
операнда В неправильного объекта
щелкните на кнопке Undo перед выбором
другого операнда В.
Булевы выражения в качестве составных
объектов
Чрезвычайная гибкость булевых операций в
3DS МАХ состоит в том, что объекты,
содержащие булевы операнды, по-прежнему
существуют как объекты. Каждый операнд
сохраняет свой первоначальный стек Edit
History (отредактировать историю) и его
можно модифицировать из панели Command.
Операнды можно даже трансформировать на
уровне подобъекта.
Архитектура ссылок и экземпляров 3DS МАХ
демонстрирует свою мощь при работе с
булевыми объектами. При первом создании
булевого составного объекта можно
выбирать опцию перемещения, создания
копии, экземпляра или ссылки объекта,
выбранного в качестве операнда В. Опцией
по умолчанию является Move (переместить)
и кажется, что она создает явное
действие, поскольку остается только
булев результат. Оба объекта, выбранные
для булевой операции, теперь являются
операндами подобъектов. Остальные опции
выполняют булев результат с копией,
экземпляром или ссылкой на выбранный
объект. Во всех трех случаях объект,
выбранный для операнда В, остается без
изменений, а булев результат получается
с использованием нового объекта в
качестве операнда. В таких случаях может
показаться, что ничего не произошло, до
тех пор пока не переместить или не
скрыть один из этих двух объектов.
ПРИМЕЧАНИЕ
Из объекта, выбранного в качестве
операнда В, удаляется любая анимация
трансформации, в то время как операнд А
(первоначальный объект) оставляет
анимацию трансформации. Если операнд А
имеет анимацию трансформации, для нового
статического операнда используется
текущее расположение кадра, его позиция
и масштаб.
Хотя можно сделать копию, экземпляр или
ссылку операнда В, для операнда А такой
опции не существует (объект выбирается
после щелчка на Boolean). Гибкий метод
обхода такого ограничения заключается в
клонировании до экземпляров всех
объектов, которые предполагается
использовать в булевых операциях. После
этого следует использовать опцию по
умолчанию Move для выборок операнда В,
обеспечив возможность модификации любых
объектов в рамках булевого объекта и
сохранения их отношений.
СОВЕТ
Чтобы создать экземпляр из объекта,
который уже является операндом, войдите
в Track View. Скопируйте определение
объекта операнда (указано синим кружком)
в буфер обмена и вставьте его в
определение другого объекта в виде
экземпляра. Этот метод можно также
использовать в обратном порядке,
полностью переопределяя геометрию
операндов, например путем изменения всех
квадратных отверстий на круглые.
После создания булевого объекта можно
заменить операнд В из панели Modify
булевого объекта с теми же самыми
выборами, предоставленными при создании.
Используйте эту опцию осторожно,
поскольку она уничтожает со сцены
первоначально выбранный операнд В.
Уничтожение оригинала может создать
проблему при первоначальном
использовании опции Move и представлении
геометрии, которая уже не существует в
виде отдельного объекта. Выбор другого
операнда - это то же самое, что и замена
определения объекта операнда в Track
View, за исключением случая, когда
необходимо сделать ссылку, которая не
присутствует в Track View.
После создания булевого объекта можно
вернуться к каждому Modifier Stack
операнда на панели Modify. При первом
входе в панель Modify булевого объекта
не выбран ни один из операндов, поэтому
Modifier Stack показывает только Boolean.
Для модификации стека конкретного
операнда необходимо произвести выбор из
списка Operands. Теперь выбранный
операнд отображает свой стек.
Можно настроить любой модификатор в
стеке или добавить новые модификаторы
для оказания влияния на объект операнда
перед булевой операцией. На параметры, с
которыми можно выполнять анимацию,
дополнительных ограничений не
существует. Для трансформации операнда
необходимо активизировать режим
Sub-Object для булевого объекта. При
таком подходе операнды можно считать
подобными гизмо за тем исключением, что
в отличие от гизмо, у операндов имеются
собственные Modifier Stack.
Опции обновления
Опции Update (обновления) для булевых
операций управляют тем, как фактически
выполняются булевы вычисления. Для
сложных объектов булевы вычисления могут
занимать достаточно большое время. Эти
вычисления замедляют редактирование
других объектов, если они являются
экземплярами или ссылками на булевы
операнды. Если при моделировании
возникают паузы, измените опцию Update.
Опция Manually (вручную) является одним
из наиболее консервативных методов и
обеспечивает наибольшее управление
вычислением операций. Такой режим
наиболее пригоден для сложных моделей.
Метод When Rendering (во время
визуализации) не вычисляет операцию до
тех пор, пока не будет выполнена
окончательная визуализация, после чего
производится возврат откорректированного
результата на сцену. Метод When Selected
(при выборе) несколько ненадежен в
обновлении результата и на него не
следует полагаться.
Для ускорения операций моделирования
операнды должны быть простыми. После
завершения булевых операций и
модификаций возвратитесь к прежним
определениям операндов и увеличьте их
плотность. Если они являются
экземплярами, увеличьте их сложность и
затем вручную отрегулируйте результат.
СОВЕТ
Длительные булевы вычисления можно
завершить, нажав клавишу Escape во время
отображения курсора ожидания. После
такого завершения режим Update
автоматически переходит в Manually,
поэтому теперь можно точно управлять
временем вычисления обновления
(поскольку геометрия, по всей
вероятности, является сложной).
Интерактивные булевы операции
При входе в режим Sub-Object булевого
объекта операнды можно регулировать
независимо друг от друга. В списке
перечислены имена операндов, подходящих
для перемещения, вращения или
масштабирования. При манипуляции
операндом на уровне подобъектов
фактически выполняется интерактивная
булева операция, поскольку при
перемещении любого из операндов другой
остается неподвижным, и по мере
перемещения операнда отображается
обновленный булев результат. Для
несложных моделей или при использовании
быстродействующих машин это часто
выполняется в реальном времени.
ПРИМЕЧАНИЕ
Для сложных булевых операций режим
Update для булева выражения должен быть
установлен в Manually, чтобы операнд
можно было позиционировать без
дополнительных задержек на вычисления.
После помещения операнда на требуемое
место щелкните на Update для просмотра
нового результата.
Понимание опций Display (отображения)
булевой операции является ключевым
моментом при выполнении интерактивных
изменений. Результат булевой операции
показывает опция по умолчанию Result
(результат). При изменении опции на
Operands (операнды) отображаются оба
операнда А и В так, как будто булевой
операции не выполнялось. Полностью
отображенный операнд скрывает булев
результат, поэтому в некоторой степени
приходится работать вслепую. На практике
лучше всего является комбинация, при
которой выбирается Result и
активизируется опция Show Hidden Ops
(показать скрытые операнды). При этом
недостающие операнды отображаются в виде
проволочных каркасов (но только в
затененных видовых окнах) и
обеспечивается информация о точном
местонахождении операнда и о его текущем
влиянии на булеву операцию.
ПРИМЕЧАНИЕ
Помните, что операнд всегда можно
присвоить другому контроллеру объекта
или контроллеру уникального Path, Look
At (посмотреть на) или Expression
(выражение) для создания эффектов,
подобных анимированным кусочкам сверла
или ожогам лазера.
Вложенные булевы объекты
Для одного объекта можно выполнить любое
число булевых операций, причем каждая
операция создает собственный набор
операндов, вложенных друг в друга.
Единственным "пределом" является
практичное количество операций, по
которыми необходимо перемещаться.
После создания булевого объекта на той
же самой геометрии можно выполнять
дополнительные булевы операции путем
выбора объекта в качестве операнда А для
нового составного булевого объекта.
Каждый раз при выполнении на объекте
булевой операции фактически создается
оригинал операнда нового булевого
объекта. Таким образом определяется
"булево дерево", состоящее из одиночных
ветвей - весьма линейная прогрессия
шагов. К каждой выполняемой булевой
операции можно осуществить доступ позже,
хотя применяемый для этого метод требует
небольшой практики, поскольку все это
происходит на панели Modify.
СОВЕТ
Для более глубокого погружения в булево
дерево продолжайте выбирать операнд А и
затем перейдите к следующей булевой
операции в стеке. Для продвижения вперед
используется стек операнда В, но для
продвижения назад по истории
редактирования можно использовать только
стек операнда А.
При выполнении нескольких булевых
операций, одну за другой, следует
соблюдать осторожность. После завершения
операции и, таким образом, составного
булевого объекта, необходимо выйти из
диалога Boolean или последующий выбор
заменит только что выполненную операцию
и удалит объект со сцены. Хотя для этого
требуются дополнительные щелчки на
кнопках, необходимо выйти из списка
Compound Objects (составные объекты)
путем выбора геометрии другого типа
(например, Path Grids) и затем вернуться
к Compound Objects для определения
следующего булевого объекта.
При навигации по булевому дереву в Track
View необходимо помнить, что в нем
отражаются только объекты с параметрами,
с которыми можно выполнить анимацию.
Если булев объект создан из
необработанного каркаса или лоскута,
показываются только трансформации
операнда, поскольку у него нет
параметров создания, которые нужно
настраивать. Когда для этого же объекта
задается модификатор, для
модифицированного объекта создается
новый вход. То, что у операнда такая же
метка, что и у Transform (с голубым
кружком модификатора вместо зеленого
треугольника контроллера) может привести
к замешательству. При глубоком
погружении в дерево, следите за голубыми
кружками Operand. Только самый глубокий
операнд А содержит определение объекта;
определения всех других объектов
находятся внутри предыдущих операндов В.
СОВЕТ
При использовании в качестве операндов
примитивов Track View перечисляет их
параметры под общим заголовком Operand.
Задани]е для примитива модификатора,
например Material, перемещает параметры
создания в сферу модифицированного
объекта, расположенную под операндом,
вместе с меткой, обозначающей тип
объекта. |