Термин объект используется
повсеместно во всей программе 3DS МАХ; это
объектно-ориентированная программа. Если посмотреть
на 3DS МАХ в терминах программирования, все, что
создается, является объектами. Геометрия, камеры и
источники света на сцене являются объектами.
Модификаторы также являются объектами, как и
контроллеры, растровые изображения и определения
материалов. Многие объекты, подобные каркасам,
сплайнам и модификаторам, допускают манипулирование
на уровне подобъектов.
В этой книге термин объект
относится к чему-то, что можно выбрать и
манипулировать им в 3DS МАХ. Если необходимо
дополнительное уточнение, термин объект сцены
используется для дифференциации геометрии и
чего-нибудь, созданного при помощи панели Create
(создать) из объектов других типов. В объекты сцены
входят источники света, камеры, искажения
пространства и вспомогательные объекты. На другие
объекты, подобные модификаторам, картам, ключам и
контроллерам, ссылаются с помощью конкретного типа.
В последующих разделах поясняется
объектно-ориентированное поведение 3DS МАХ.
Что означает, когда говорят, что
3DS МАХ является объектно-ориентированной
программой? Объектно-ориентированное
программирование (OOP) - изощренный подход к
написанию программного обеспечения, который в
настоящее время широко применяется при написании
коммерческого программного обеспечения. С точки
зрения пользователя 3DS МАХ наиболее важным аспектом
объектно-ориентированного программирования является
то, как оно влияет на пользовательский интерфейс.
При создании объектов в 3DS МАХ
эти элементы переносят с собой информацию о том,
какие функции можно выполнять по отношению к ним и
что считается действительным поведением каждого
объекта. Эта информация влияет на то, что видно в
интерфейсе 3DS МАХ. Активными являются только
операции, действительные для выбранного объекта;
другие операции становятся неактивными или
скрываются внутри интерфейса. Рассмотрим примеры
объектно-ориентированного поведения:
-
Выберите на своей сцене сферу
и щелкните на панели Modify (модифицировать) для
применения модификатора к сфере. Отметим, что
модификаторы Extrude (вытянуть) и Lathe
(вращать) к сфере не применяются. Эти
модификаторы могут использоваться только для
объектов Shape (форма). На рисунке 1.1 показано
как изменяется панель Modify при выборе
примитива сферы по сравнению со случаем, когда
выбрана форма.
-
Скажем, например, что
создается объект лофтинга (loft-объект) и
необходимо выбрать форму для лофтинга. После
щелчка на кнопке Get Shape (получить форму)
курсор изменяется при перемещении над объектами
сцены для индикации того, какие объекты являются
действительными выборами для формы лофтинга.
Только объекты формы, удовлетворяющие ряду
требований, являются действительными выборами
для операции Get Shape. На рисунке 1.2 показан
вид курсора Get Shape, когда он находится над
действительной формой пути.
В обоих предыдущих примерах 3DS
МАХ запрашивает объекты для определения, какие
выборы и операции являются действительными на основе
текущего состояния программы. После этого 3DS МАХ
представляет только действительные выборы.
Такой на первый взгляд простой
принцип подхода повышает производительность и
экономит значительное время. Сравните поведение 3DS
МАХ с поведением более старых программ, в которых вы
выбираете объекты или выполняете команды и затем
наталкиваетесь на сообщение об ошибке, гласящее о
том, что выбранный объект или операция являются
недействительными.
Большинство объектов в 3DS МАХ
являются формой параметрического объекта.
Параметрический объект определяется
совокупностью установок или параметров, а не явным
описанием его формы. Например, рассмотрим два метода
определения сферы, один непараметрический, а другой
— параметрический.
-
Непараметрическая сфера.
Получает радиус и количество сегментов и
использует эту информацию для создания явной
поверхности, состоящей из вершин и граней.
Определение сферы существует только как
совокупность граней. Информация о радиусе и
сегментах не сохраняется. Если необходимо
изменить радиус или количество сегментов,
требуется удалить сферу и создать новую.
-
Параметрическая сфера.
Сохраняет параметры радиуса и количества
сегментов и отображает представление сферы на
основе текущего значения параметров.
Параметрическое определение сферы хранится в
виде радиуса и количества сегментов. Эти
параметры можно изменять и даже выполнять их
анимацию в любое время.
На рисунке 1.3 показаны базовые
параметры для параметрической сферы и для сферы,
импортированной в виде явного каркаса.
Параметрический объект
обеспечивает важные опции моделирования и анимации.
В общем случае необходимо как можно дольше сохранять
параметрическое определение. Некоторые операции 3DS
МАХ преобразуют параметрические объекты в
непараметрические, иногда называемые явными
объектами.
К счастью многие операции не
отбрасывают параметрические свойства объекта.
Примерами операций, которые отбрасывают параметры,
являются:
-
оединение объектов друг к
другу посредством одного из модификаторов Edit
(отредактировать).
-
Разрушение Modifier Stack
(стек модификаторов).
-
Экспортирование объектов в
другой файловый формат. В этом случае только
объекты в экспортированном файле теряют свои
параметрические свойства. На первоначальные
объекты в сцене 3DS МАХ это не влияет.
Выполняйте эти операции только в
том случае, когда есть достаточная уверенность в
том, что больше не придется регулировать параметры
объектов.
На панели Create можно объединять
два и более объектов для создания нового
параметрического объекта, который называется
составным объектом. В отношении составных
объектов следует помнить то, что по-прежнему можно
модифицировать и изменять параметры объектов, из
которых состоит составной объект. Составной объект
является типом параметрического объекта, в параметры
которого входят объединяемые объекты и описание
способов их объединения.
Например, рассмотрим булеву
операцию, в которой из угла коробки вычитается сфера
(см. рис. 1.4). При использовании многих программ
3DS МАХ результатом этой операции будет явный
каркас, который является булевым решением. Если
необходимо изменить положение коробки или радиус
сферы, следует создать новую коробку и сферу и снова
выполнить булеву операцию.
Коробка и сфера сохраняются как
часть параметрического составного булевого объекта.
Можно по-прежнему осуществлять доступ к параметрам
сферы и коробки и выполнять с ними анимацию, а также
выполнять анимацию их относительных положений. На
рисунке 1.5 показан результат изменения длины
коробки и радиуса сферы для составного булевого
объекта из рисунка 1.4. 3DS МАХ поставляется с тремя
стандартными составными объектами:
-
Булевы объекты
-
Объекты, полученные в
результате морфинга (morph-объекты)
-
Объекты, полученные в
результате лофтинга (loft-объекты)
Термин подобъект относится
к чему-то, что можно выбрать и манипулировать им.
Общеизвестным примером подобъекта является одна из
граней, образующих каркас. При помощи модификатора
Edit Mesh (отредактировать каркас) можно выбрать
подобъект, например, грань, после чего ее можно
перемещать, вращать, разрушать или удалять.
Легко представить себе подобъекты
как вершины или грани, но это понятие
распространяется на многие другие вещи вне объектов
сцены. Примерами подобъектов, которыми можно
манипулировать в 3DS МАХ, являются:
-
Вершины, сегменты и сплайны
объектов форм
-
Вершины, ребра и грани
каркасных объектов
-
Вершины, ребра и элементы
поверхностей лоскутных объектов
-
Формы и пути loft-объектов
-
Операнды булевых объектов
-
Цели morf-объектов
-
Гизмо и центры модификаторов
-
Ключи траекторий движения
В свою очередь перечисленные
подобъекты имеют свои собственные подобъекты и,
таким образом, создаются ситуации, при которых можно
выполнять многоуровневое редактирование подобъектов.
Например, представим применение модификатора к
выбранному подобъекту вершин из каркасного объекта,
который сам является операндом булевого подобъекта.
Глубина 3DS МАХ ограничена только вашим
воображением.
Во всех предыдущих примерах
доступ к подобъектам осуществлялся путем щелчка на
кнопке Sub-Object (подобъект) панели команд. Щелчок
на этой кнопке осуществляет переход в режим
подобъекта, заставляя работать с конкретным типом
подобъекта до тех пор, пока этот режим не будет
выключен. На рисунке 1.6 показаны два примера
выборок подобъектов и соответствующая кнопка
подобъекта на панели команд.