ГЛАВА 1

ГЛАВА 1

Ключевые концепции 3D Studio MAX

3D Studio MAX является радикально новым подходом к трехмерному моделированию и визуализации. Основные понятия и методы, в соответствие с которыми 3DS МАХ управляет объектами и данными на сцене, существенно отличаются от предыдущих версий 3DS и других программ трехмерного моделирования и визуализации. Эти понятия следует уяснить, чтобы ваша работа с 3DS МАХ была более продуктивной.

В главе рассматриваются следующие понятия:

  • Объекто-ориентированное поведение и основные типы объектов 3D Studio MAX.
  • Определение подобъектов и осуществление доступа к ним.
  • Object Dataflow (потоковая схема) объекта и ее влияние на моделирование.
  • Использование трансформации и модификаторов и отличия между ними.
  • Копии, экземпляры, ссылки и их поведение.
  • Использование иерархической организации в 3D Studio MAX.
  • Определение анимации и управление ею в 3D Studio MAX.
  • Описание подключаемых элементов и их организация.

Понятия объектов 3DS МАХ

Термин объект используется повсеместно во всей программе 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 показаны два примера выборок подобъектов и соответствующая кнопка подобъекта на панели команд.

Принципы создания объекта сцены

Первыми действиями с 3D Studio MAX будет создание объектов сцены, с которыми после этого выполняются анимация и визуализация. При построении объекта сцены создается процесс, который определяет, как параметры основного объекта модифицируются, трансформируются, искажаются в пространстве, как присваиваются ему свойства и как он окончательно будет отображаться на сцене. Это процесс называется потоковой схемой и понимание его критично для понимания поведения 3DS МАХ.

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

Мастер-объект

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

Мастер-объект обеспечивает следующую информацию об объекте:

  • Тип объекта, например, сфера, камера, loft-объект или лоскутный объект. Тип объекта — это то, что видно в нижней части Modifier Stack или за контейнером Object (объект) в Track View (отследить вид).
  • Параметры объекта, например, длина, ширина и высота коробки. Параметры объекта становятся видимыми при выборе мастер-объекта в Modifier Stack и при расширении контейнера объекта в Track View.
  • Начало координат и ориентацию локальной системы координат объекта. Локальная система координат определяет начало координат объекта, его ориентацию и пространство координат, используемое для размещения подобъектов внутри объекта. Определение начала координат, ориентации и пространства считается пространством объекта.

На рисунке 1.7 показан объект вместе с идентифицированными свойствами мастер-объекта. Как вы узнаете из раздела "Создание экземпляров" в этой главе, один и тот же мастер-объект может использовать несколько объектов сцены.

Модификаторы объекта

После создания мастер-объекта можно применить любое количество Object Modifier (модификатор объекта), подобных Bend (согнуть) и Stretch (растянуть). Модификаторы манипулируют подобъектами, например, вершинами, по отношению к локальной системе координат объекта и началу координат. Другими словами, Модификаторы изменяют структуру объекта в пространстве объекта.

Поскольку Модификаторы работают с подобъектами в пространстве объекта, они обладают следующими характеристиками:

  • Они не зависят от положения объекта и его ориентации на сцене. Верхняя пара объектов на рисунке 1.8 показывает, что Bend не оказывает влияния, если объект перемещается или вращается. Оба объекта имеют одинаковую форму и одинаковую величину изгиба независимо от того, где они находятся на сцене.
  • Они зависят от порядка применения модификаторов и структуры объекта в момент их применения. Средняя пара объектов на рисунке 1.8 показывает результат изменения порядка модификаторов. Модификаторы Bend и Stretch применяются к обоим объектам, но порядок их применения противоположный.
  • Их можно применять ко всему объекту или к частичной выборке подобъектов. Нижняя пара объектов на рисунке 1.8 показывает применение Twist (скрутить) к полному объекту слева и к выборке подобъектов только верхней половины объекта справа.

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

Трансформации объекта

Объекты размещаются и ориентируются при помощи трансформаций. При трансформации объекта изменяется его положение, ориентация и размер по отношению к сцене. Система координат, описывающая всю сцену, называется мировым пространством. Система координат мирового пространства определяет глобальное начало координат сцены и устанавливает глобальные оси координат, которые никогда не изменяются. Object Transforms (трансформации объекта) определяет следующую информацию:

  • Позиционирование. Определяет расстояние локального начала координат объекта от начала координат мирового пространства. Например, позиционирование может определить, что начало координат объекта находится на 40 единиц вправо (Х=40), на 25 единиц выше (Z==25) и на 15 единиц позади (Y==15) по отношению к мировому началу координат.
  • Вращение. Определяет ориентацию между локальными осями координат объекта и мировыми координатными осями. Например, вращение может определить, что локальные оси координат объекта повернуты на 45° вокруг мировой оси Y, на 0° вокруг мировой оси Х и на 15 градусов вокруг мировой оси Z.
  • Масштаб. Определяет относительный размер между локальными осями объекта и мировыми осями. Например, масштаб может определить, что локальные измерения пространства объекта отмасштабированы на 200% в мировом пространстве. Поэтому куб может иметь параметры, указывающие размер стороны в 40 единиц, но из-за того, что он отмасштабирован на 200%, на сцене его сторона будет иметь размер 80 единиц.

Комбинация позиционирования, вращения и масштаба называется матрицей трансформации объекта. Отметим, что это именно та матрица, которая изменяется при непосредственной трансформации объекта, а также то, что работа выполняется с полным объектом. На рисунке 1.9 показано, как трансформация определяет положение объекта в мировом пространстве. Чайник на рисунке 1.9 перемещался, вращался и был неоднородно масштабирован на 125% оси Z и на 75% вдоль оси Y.

Трансформации объекта имеют следующие характеристики:

  • Определяют расположение объектов и их ориентацию на сцене.
  • Они влияют на весь объект.
  • Они вычисляются после вычисления всех модификаторов.

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

Искажения пространства

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

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

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

Свойства объекта

Все объекты имеют уникальные свойства, которые не являются ни базовыми параметрами объекта, ни результатом воздействия модификаторов или трансформаций. Эти свойства включают в себя такие вещи, как имя объекта, цвет проволочного каркаса, присвоенный материал и способность отбрасывать тень. Большинство свойств объекта можно отобразить и установить через диалог Object Properties (свойства объекта). Для отображения диалога Object Properties выберите объект и затем произведите на нем правый щелчок.

Поток данных объекта

Модификаторы, трансформации, исказители пространства и свойства объекта идут вместе в потоковой схеме объекта для определения и отображения объекта на сцене. Потоковая схема объекта работает как набор инструкций для сборки. Каждый шаг завершается перед началом следующего шага. Ниже перечислены шаги потоковой схемы объекта:

  1. Мастер-объект определяет тип объекта и сохраняет значения, установленные в параметрах объекта.
  2. Модификаторы изменяют объект в Object Space (пространство объекта) и вычисляются в порядке, в котором применяются.
  3. Трансформации размещают объект на сцене.
  4. Исказители пространства изменяют объект на основе результата трансформаций.
  5. Свойства объекта идентифицируют имя объекта и другие характеристики.
  6. Объект появляется на сцене.

На рисунке 1.12 показана эта последовательность шагов потоковой схемы объекта и ее воздействие на сферу.

Принципы изменения объекта

Как было изложено в предыдущих разделах, существует хорошо определенная последовательность событий из параметров объекта, применения модификаторов, затем трансформаций и, наконец, исказителей пространства и свойств объекта. Часто аналогичные результаты могут быть достигнуты при помощи изменения параметров объекта, применения модификаторов, трансформации объекта или даже использования исказителя пространства. Какой метод следует выбрать? Имеет ли это значение?

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

Изменение базовых параметров по сравнению с трансформацией

Чем раньше в потоковой схеме сделать изменение, тем сильнее это изменение повлияет на окончательный внешний вид объекта. Самой первой порцией информации в потоковой схеме объекта является набор параметров объекта. Если необходимо сделать фундаментальное изменение основного размера, формы или характеристик поверхности объекта, следует взглянуть на параметры объекта.

Например, рассмотрим различие между изменением параметра высоты для цилиндра и неоднородным масштабированием вдоль локальной оси цилиндра Z. Представим себе цилиндр с высотой 40 единиц, а требуется, чтобы высота цилиндра стала 80 единиц. Если вы не знакомы с параметрическим моделированием, можно сначала подумать об использовании неоднородного масштабирования.

Если масштабировать цилиндр на 200 процентов вдоль длины, получается цилиндр с высотой 80 единиц. Правильно? Да, но не совсем. Если проанализировать параметры объекта для масштабированного цилиндра, будет видно, что его высота составляет 40 единиц. В действительности это будет цилиндр с высотой 40 единиц и масштабом 200 процентов по локальной оси Z. Если необходимо, чтобы цилиндр имел высоту 80 единиц, следует изменить параметр высоты, а не масштабировать цилиндр.

Это изменение может показаться тонким отличием, но имеет основательный эффект, когда к цилиндру начинают применять модификаторы. Помните, в потоковой схеме объекта трансформации, подобные масштабированию, вычисляются после модификаторов. На рисунке 1.13 показано различие. Параметр высоты цилиндра слева был изменен из 40 единиц в 80 единиц и затем цилиндр был согнут вдоль оси Z на 180°. Цилиндр справа масштабирован на 200 процентов для достижения высоты 80 единиц и затем согнут вдоль оси Z на 180°. Отметим, что хотя масштабирование выполнялось до сгибания, в потоковой схеме оно вычисляется после сгибания, что приводит к неоднородному масштабу согнутого цилиндра.

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

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

Модифицирование объектов

Используйте модификаторы, если хотите явно изменить структуру объекта и получить максимальное управление изменением. Ко многим возможностям моделирования и анимации в 3DS МАХ доступ осуществляется через модификаторы и их организацию в стеке модификаторов.

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

Например, рассмотрим два варианта применения модификаторов Bend и Taper (сделать конус) к цилиндру (рис. 1.14). Если сначала сделать цилиндр конусным, а затем применить сгибание (левый объект), получится совершенно другой результат, чем для случая, при котором сначала применяется сгибание, а затем конус (правый объект).

Поскольку результат воздействия модификаторов зависит от порядка их применения, важно спланировать свою стратегию моделирования. Подумайте о том, как подойти к задаче моделирования и как лучше всего скомбинировать модификаторы. План моделирования не должен быть совершенным, поскольку 3DS МАХ позволяет легко вернуться назад и что-либо изменить. Однако разработка плана может сэкономить значительное время и избежать частых возвратов назад в результате проб и ошибок.

Применение трансформаций с помощью модификаторов

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

Трансформацию можно применить в конкретной точке стека модификаторов или применить ее только к части объекта путем использования модификатора для применения трансформации. Имеется три способа применения трансформации при помощи модификаторов:

  • Используйте один из модификаторов Edit для трансформации подобъектов. Модификаторы Edit обеспечивают доступ к вершинам, ребрам и граням, из которых состоят объекты различных типов. Для трансформаций, которые применяются с помощью модификаторов Edit, нельзя выполнить анимацию. На рисунке 1.15 показан результат масштабирования граней, выбранных с помощью модификатора Edit Mesh.
  • Трансформируйте гизмо или центр модификатора. Модификаторы содержат собственные подобъекты, называемые гизмо, и центр, который также можно трансформировать. Трансформируйте подобъекты модификатора для вращения ориентации скручивания или перемещения центра сгибания. На рисунке 1.16 показан результат перемещения центра модификатора Bend.
  • Используйте специальный модификатор XForm. Этот модификатор не имеет никакого другого эффекта, кроме того, что обеспечивает гизмо, который можно использовать для трансформации объектов и подобъектов внутри стека модификаторов. Используйте модификатор XForm каждый раз, когда необходимо выполнить трансформацию в конкретной точке стека модификаторов или если необходимо выполнить анимацию трансформаций подобъектов, выбранных с помощью модификатора Edit. На рисунке 1.17 показан результат перемещения вершин сплайна с помощью модификатора XForm.

Принципы клонирования

Клонирование применимо практически ко всему в 3DS МАХ. Клон является термином общего назначения, который используется для описания операции создания копии, экземпляра или ссылки. Большинство объектов, таких как геометрия, модификаторы и контроллеры, можно скопировать и создать их экземпляры. Можно сделать ссылки объектов сцены, подобных камерам, источникам света и геометрии. Ниже определяются понятия копии, экземпляров и ссылок:

  • Копии. Просто для понимания. Повсюду в 3DS МАХ можно продублировать все, что определяет объект. При копировании чего-нибудь первоначальный объект и копия являются независимыми.
  • Экземпляры. Описывают метод использования определения одного объекта в нескольких местах. В рамках 3DS МАХ можно создать экземпляры практически любой вещи. Одиночный объект, модификатор или контроллер можно использовать на сцене для многих целей.
  • Ссылки. Доступны только для объектов сцены. Ссылки просматривают параметры мастер-объекта и выбранное количество модификаторов перед тем, как потоковая схема расщепляется, образуя два объекта, каждый из которых содержит свой собственный набор уникальных модификаторов. Ссылки можно применять для построения семейства аналогичных объектов, которые совместно используют одинаковое основное определение, но каждый из них имеет собственные уникальные характеристики.

Для создания клонов можно делать выбор из нескольких методов. Выбранный метод изменяется в соответствии с типом объекта, с которым выполняется работа. В эти методы входит:

  • Нажмите клавишу Shift при трансформации объекта. В зависимости от объекта либо делается копия, либо появляется диалог, в котором выбирается, что необходимо сделать — копию, экземпляр или ссылку. Например, нажатие Shift при перемещении ключей анимации копирует ключи; нажатие Shift при масштабировании сферы отображает диалог Clone Options (опции клона), в котором выбирается, что сделать — копию, экземпляр или ссылку сферы.
  • Выполняйте Clone из меню Edit. Используйте этот метод для клонирования объектов сцены без их трансформации.
  • Используйте Copy and Paste (скопировать и вставить) из Track View. При вставке контроллера в Track View можно выбирать, что сделать — копию или экземпляр этого контроллера.
  • Используйте Drag and Drop (перетащить и опустить). В Material Editor (редактор материалов) можно перетаскивать определения материала и карты из одного фрагмента в другой. Когда материал или карта опускается в фрагмент, карта копируется. Можно также выбирать между копированием и созданием экземпляра карты.

Создание копий

Создавайте копии каждый раз, если необходимо дублировать объект, при этом дубликаты являются уникальными и не имеют отношения к исходному объекту. Некоторые примеры полезных методов копирования перечислены ниже:

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

Создание экземпляров

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

  • Создавайте экземпляры модификаторов, если хотите применить одинаковое воздействие к выборке различных объектов. Например, создается сцена, в которой необходимо, чтобы выборка объектов растягивалась в унисон. Выберите все объекты и щелкните на Stretch панели Modify для применения экземпляра одного и того же модификатора ко всем объектам. Изменение параметров Stretch для любого объекта изменяет их для всех объектов. На рисунке 1.19 показан результат работы модификаторов-экземпляров растягивания.
  • Создавайте экземпляры контроллеров, если хотите чтобы выборка объектов вела себя совершенно одинаково. Например, создается модель жалюзей для окна и необходимо выполнить анимацию планок жалюзей. Выполняется анимация вращения одной жалюзи и используется Сору и Paste в Track View для присвоения экземпляра контроллера вращения планки всем другим планкам. Тогда при повороте одной планки все другие планки поворачиваются на такую же величину. На рисунке 1.20 показан результат использования контроллеров-экземпляров Rotation (вращение) для открывания и закрывания жалюзей.
  • Создавайте экземпляры карт в Material Editor, если хотите использовать одинаковую карту во множестве фрагментов карты и обеспечить точную регистрацию. Например, требуется разработать материал керамической плитки. Для управления диффузионной текстурой, сиянием и выпуклостью материала можно применять экземпляры карты. Изменение параметров для одного экземпляра карты изменяет параметры всех карт и обеспечивает регистрацию. На рисунке 1.21 показан результат использования карт-экземпляров для создания материала. Сначала карта применяется как диффузионная маска и затем экземпляр карты применяется как карта выпуклости. В заключение другой экземпляр карты применяется в качестве карты сияния и ее параметры укладки изменяются для создания меньших кусков плитки. Поскольку диффузия, выпуклость и сияние являются экземплярами одной и той же карты, при изменении сияния плитки два остальных ее параметра также изменяются.
  • Создавайте экземпляры объектов сцены, если хотите поместить один и тот же объект в различные места сцены. Модификация или изменение параметров любого экземпляра изменяет также все остальные экземпляры. Например, необходимо показать ряд бутылок на полке бакалейной лавки. Смоделируйте одну бутылку и заполните полку экземплярами. Если изменяется конструкция одной бутылки, все остальные бутылки также изменяются. На рисунке 1.22 показан результат использования объектов-экземпляров. При создании экземпляра объекта сцены все экземпляры совместно используют одну и ту же потоковую схему от мастер-объекта через все модификаторы. Потоковая схема разветвляется после модификаторов, поэтому каждый экземпляр имеет собственный набор трансформаций, искажений пространства и свойств объекта. На рисунке 1.23 показан поток данных для множества экземпляров.

Создание ссылок

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

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

При создании ссылки потоковая схема разветвляется после последнего модификатора, но по-прежнему можно применять новые модификаторы, которые являются уникальными для каждой ветви. Каждая ссылка имеет собственный набор трансформаций, искажений пространства и свойств объекта. Будет ли влиять модификатор на одну ссылку, несколько ссылок или на все ссылки, зависит оттого, где он применяется в потоковой схеме. Модификатор влияет на все ссылки, которые ответвляются из потоковой схемы после точки в стеке модификаторов, где применяется модификатор. На рисунке 1.25 показана потоковая схема для множества ссылок.

Как сделать экземпляры и ссылки уникальными

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

К сожалению, 3DS МАХ не очень последовательна в своих методах создания уникальных экземпляров. Различные экземпляры используют различные методы:

  • Экземпляры карт делаются уникальными с помощью вставки копии экземпляра обратно во фрагмент карты.
  • Экземпляры модификаторов делаются уникальными с помощью щелчка на кнопке Make Unique (сделать уникальным) панели Modify.
  • Объекты сцены и контроллеры делаются уникальными путем щелчка на кнопке Make Unique в Track View.

Понятия иерархий

Практически все в 3DS МАХ организовано в иерархию. Понятие иерархии очень простое для понимания. Если вы пишете отчет, используя план для организации своих мыслей, вы используете иерархию.

Все иерархии в 3DS МАХ следуют одним и тем же принципам. Более высокие уровни в иерархии представляют собой общую информацию и являются уровнями наибольшего влияния. Более низкие уровни представляют собой подробную информацию и являются уровнями меньшего влияния.

Иерархия сцены

Track View отображает иерархию всей сцены, что показано на рисунке 1.26.

  • Верхним уровнем является World (мир). Можно сделать глобальные изменения во всем, что находится на сцене, изменив дорожку World в Track View.
  • Уровень, непосредственно следующий за World, хранит пять категорий, которые организуют все объекты на сцене. Этими категориями являются: Sound (звук), Enviroment (окружение). Material Editor (редактор материалов), Scene Materials (материалы сцены) и Objects (объекты).
  • Множество уровней, которые находятся ниже пяти категорий, хранят детали всего, что есть на сцене.

Иерархии материалов и карт

Определения материалов и карт также организованы в многоуровневую иерархию. Более простые программы используют одиночные материалы и могут допускать только одну карту в качестве текстуры. Другие программы могут разрешать по одной карте для каждого канала, например, выпуклости или непрозрачности. С помощью 3DS МАХ можно создавать иерархический материал и определения карт.

Определения материалов могут иметь вид многоуровневой иерархии:

  • Верхний уровень хранит имя основного материала и тип материала.
  • В зависимости от типа материала может существовать множество уровней подматериалов. Эти подматериалы в свою очередь могут состоять из множества подматериалов.
  • Материал типа Standard является самым нижним уровнем иерархии материалов. Он содержит такие детали, как цвет и каналы проецирования.

Каналы проецирования для стандартного материала также могут быть многоуровневыми иерархиями:

  • В зависимости от типа карты, например. Mask (маска) или Checker (контролер), может существовать множество уровней подкарт. Эти подкарты также могут состоять из множества подкарт.
  • Простое растровое изображение является самым нижним уровнем в иерархии карт и обеспечивает подробную информацию для вывода карты и координат.

На рисунке 1.27 показаны некоторые материалы вместе со своими иерархиями. Материал Top-Final показывает иерархию, в которой Diffuse и Shininess используют подкарты, объединенные с маской, a Bump использует просто растровое изображение. Материал показывает иерархию Multi/Sub-Object с двумя подматериалами (1CUPHAND и 1-MARBFRNT).

Иерархии объектов

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

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

На рисунке 1.28 показан пример иерархии объектов.

Иерархии Video Post (видеозапись)

Используйте видеозапись для объединения в одну анимацию множества видов камеры, сегментов анимации и изображений. Способ, по которому создается исходный материал, также организован в иерархию специального вида. Иерархия Video Post организована следующим образом:

  • Компоненты иерархии Video Post называются событиями.
  • Верхний уровень иерархии Video Post называется очередью. В отличие от других иерархий, очередь может иметь множество событий на верхнем уровне. Каждое событие обрабатывается последовательно в соответствии с порядком очереди.
  • Каждое событие в очереди может представлять иерархию уровней, фильтров, изображений и событий сцены.
  • Самым нижним уровнем в иерархии событий Video Post является событие Image Input (ввод изображения) или Scene.
  • Последним событием в очереди является Image Output (вывод изображения). Рисунок 1.29 показывает иерархию Video Post и идентифицирует ее компоненты.

Принципы анимации

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

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

Это различие в процессе является причиной того, что в основе дискуссий о времени анимации лежат кадры. Каждое изображение или кадр фильма необходимо нарисовать, обвести и раскрасить вручную. Этот процесс заставляет аниматоров мыслить в кадрах:
"Данное действие занимает такое-то количество кадров".
"Такое-то должно произойти во время этого кадра".

Представим себе, какой ответ режиссер получит от актера, если скажет: "Теперь побеги к крыльцу в течение 90 кадров, сделай паузу в 20 кадров, а затем бросайся открывать дверь". Мыслить в кадрах неестественно, но так мыслить нас заставляют ограничения технологии анимации. Было бы гораздо проще, если бы анимацию можно было выполнять в реальном времени:
"Я хочу, чтобы это длилось четыре секунды, а затем через полсекунды я хочу, чтобы произошло это".

В самом сердце 3DS МАХ анимация выполняется в реальном времени. Вы разрабатываете виртуальный мир, в котором действия определяются и происходят в реальном времени, но перед тем, как вы будете готовы к визуализации, необходимо принять решение о разделении времени между кадрами.

Определение времени

Система измерения времени в 3DS МАХ основана на интервалах времени. Каждый интервал длится 1/4800 секунды. Все то, над чем выполняется анимация, в 3DS МАХ хранится в реальном времени с точностью 1/4800 секунды. Как аниматор, вы должны выбрать, как должно отображаться время при работе и как оно разделяется по кадрам во время визуализации.

Метод отображения времени и частота кадров визуализации определяется в диалоге Time Configuration (конфигурация времени). С помощью диалога Time Configuration, показанного на рисунке 1.30, выбирайте методы отображения времени, соответствующие традиционным стандартам анимации и видео, или выберите работу в реальных минутах и секундах. Частота кадров устанавливается на основе различных стандартов или можно указать любую частоту, которая подходит.

Определение ключей

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

3DS МАХ во многом работает точно так же. Вы являетесь главным аниматором. Вы точно указываете, что и когда должно произойти с помощью создания ключей анимации в конкретные моменты времени. 3DS МАХ является вашим помощником и позаботится об анимации, которая происходит за время между ключами.

Для создания ключей анимации выполните следующее:

  1. Включите кнопку Animation (анимация) в нижнем правом углу окна 3DS МАХ (см. рис. 1.31).
  2. Перетащите Time Slider (ползунок времени) в нижней части окна 3DS МАХ на время, когда требуется, чтобы что-нибудь произошло (см. рис. 1.31).
  3. Перемещайте, вращайте или масштабируйте объект или виртуально изменяйте любой параметр для всего, что находится на сцене. В 3DS МАХ можно выполнять анимацию широкого диапазона параметров. Только с некоторыми параметрами анимацию выполнять нельзя.

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

Другим типом анимации, который поддерживает 3DS МАХ, является параметрическая анимация. При параметрической анимации ключи устанавливать не нужно, поскольку она является предварительно установленным анимационным эффектом. Укажите время начала и прекращения эффекта и установите его параметры, а 3DS МАХ позаботится обо всем остальном. 3DS МАХ поставляется всего с несколькими эффектами параметрической анимации, но верится, что разработчики вскоре создадут подключаемые элементы для увеличения количества таких эффектов.

Хорошим примером параметрической анимации является Noise (шум), что показано на рисунке 1.32. Можно присвоить Noise в качестве эффекта практически любому параметру с анимацией:

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

Контроллеры анимации

Все виды анимации в 3DS МАХ, как анимация на основе ключей, так и параметрическая анимация, управляются контроллерами анимации. Как анимация хранится, используются ли ключи или параметры, как значения анимации интерполируются от одного момента времени до другого — все это управляется контроллером анимации (или для краткости - контроллером).

3DS МАХ автоматически присваивает контроллер любому параметру, над которым выполняется анимация, в соответствие с технологией, использующей кнопку Animation и Time Slider. Если необходимо использовать параметрический контроллер, вы должны присвоить его самостоятельно с помощью инструментов в Track View или панели Motion (движение). Вы должны сообщить, можно ли выполнить анимацию параметра или ему уже присвоен контроллер анимации, посмотрев на параметр в Track View.

  • Над любым элементом с пиктограммой зеленого треугольника можно выполнить анимацию. На рисунке 1.33 показаны параметры цилиндра, отображенные в Track View, с которыми можно выполнить анимацию.
  • Параметры, с которыми нельзя выполнить анимацию, в Track View не появляются. Рисунок 1.33 также сравнивает параметры цилиндра, с которыми можно выполнить анимацию, со всеми параметрами цилиндра в панели Create. Отметим, что только нельзя выполнить анимацию с флажком Generate Mapping Coordinates (генерировать координаты проецирования).
  • Для отображения имени любого контроллера, присвоенного параметру, используйте фильтры в Track View. Имена контроллеров добавляются после имени параметра. Если после параметра нет контроллера, анимация над параметром еще не выполнена. На рисунке 1.33 анимация выполнена только над радиусом и высотой цилиндра.

Принципы расширения путем использования подключаемых элементов

Многие программы поддерживают принцип подключаемых элементов для расширения основной функциональности. Простота использования и значение подключаемого элемента зависят от построения основного применения и от того, насколь хорошо поддерживается подключаемый элемент. К счастью, 3DS МАХ имеет плотно интегрированную, надежную архитектуру подключаемых элементов.

3DS МАХ как система подключаемых элементов

Архитектура подключаемых элементов 3DS МАХ обеспечивает следующие преимущества:

  • С помощью подключаемых элементов легко и просто корректируется основная функциональность программы.
  • Подключаемые элементы загружаются автоматически и готовы к использованию сразу после запуска 3DS МАХ.
  • 3DS МАХ можно легко настраивать и расширять путем копирования новых подключаемых элементов в каталог 3dsmax\plugins.
  • Разработчики могут интегрировать новые подключаемые элементы так хорошо, что весьма трудно сказать, где заканчивается 3DS МАХ и начинается подключаемый элемент.

Использование подключаемых элементов

Если подключаемые элементы так хорошо интегрированы, то зачем говорить об их использовании? Да, конечно, можно поместить в каталог новый подключаемый элемент и начать его использовать. Однако, есть несколько методов, которые вы сочтете полезными.

Инсталлирование подключаемых элементов

При инсталлировании подключаемых элементов в каталог default\plugins можно быстро столкнуться с хаосом загадочных файлов, скопившихся в одном месте. Большинство основных разработчиков подключаемых элементов будут писать программы установки, которые помещают их подключаемые элементы в специальные заказные каталоги и регистрируют эти каталоги в 3DS МАХ.

3DS МАХ создает идентифицирующие альтернативные каталоги подключаемых элементов очень просто. Диалог Configure Paths (сконфигурировать пути) содержит панель, при помощи которой можно определить требуемое количество каталогов подключаемых элементов, как показано на рисунке 1.34. Любой подключаемый элемент в каталоге, который идентифицирован в диалоге Configure Paths, загружается при запуске 3DS МАХ.

Для конфигурирования альтернативных каталогов подключаемых элементов выполните следующие шаги:

  1. Создайте любые новые каталоги и поместите в них свои подключаемые элементы.
  2. Запустите 3DS МАХ.
  3. Выберите Configure Paths из меню File.
  4. В диалоге Configure Paths щелкните на закладке Plug-ins (подключаемые элементы).
  5. Щелкните на Add (добавить).
  6. Выберите один из новых каталогов из броузера каталогов, наберите описание в поле Description (описание) и щелкните на ОК.

Повторяйте шаги 5 и 6 для каждого нового каталога подключаемых элементов.

Нахождение подключаемых элементов

После инсталлирования нового подключаемого элемента где его искать? Это зависит от типа подключаемого элемента. В общем случае для доступа к подключаемым элементам используйте следующие четыре метода:

  • Создатели объекта обычно показываются в виде новой подкатегории под одной из семи категорий создания панели Create.
  • Возможно также, что подключаемые элементы для создания будут иметь вид новой кнопки в свитке Object Туре (тип объекта) одной из существующих подкатегорий.
  • После щелчка на кнопке More панели Modify в диалоге Modifiers показываются модификаторы.
  • Другие командные панели подключаемых элементов, такие как Utilities (утилиты) или Motion (движение), появляются или как новые свитки, или как вход в списке категорий.
  • Большинство других подключаемых элементов появляются в списках опций. Примерами таких типов подключаемых элементов являются подключаемые элементы материалов и карт в Material/Map Browser (броузер материалов/карт), подключаемые элементы контроллера в диалоге Replace Controller (заменить контроллер) и подключаемые элементы атмосферы в диалоге Add Atmospheric Effect (добавить атмосферный эффект).

Работа с недостающими подключаемыми элементами

Один из наиболее важных аспектов архитектуры подключаемых элементов 3DS МАХ заключается в том, что происходит при загрузке файла, который использует подключаемый элемент, не инсталлированный в системе. Неудивительно, если файл просто не сможет загрузиться.

Когда 3DS МАХ обнаруживает, что необходимый подключаемый элемент отсутствует, она отображает диалог Missing DLLs (недостающие DLL), как показано на рисунке 1.35. Этот диалог перечисляет недостающие DLL вместе с информацией об именах файлов и об их использовании, и обеспечивает опцию для продолжения загрузки или ее отмены.

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