ГЛАВА 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. Позже после установки недостающего подключаемого элемента и перезагрузки файла вся информация будет отображаться корректно.


ГЛАВА 2

Смешанный цвет и свет

Много знаний потребуется объединить для успешного создания визуализации и анимации в 3D Studio MAX. При создании сцен внутри 3D Studio MAX вы поймете, что в программе представлено множество дисциплин. Искусство моделирования, освещения, фотографии, театра, живописи и рассказывания историй — все это является важными областями знаний для профессионального аниматора. Может быть, самым важным искусством считается работа со светом и цветом. Цвет воздействует на все, что вы видите и делаете. При виде красного цвета вы можете остановиться, и даже цвет комнаты влияет на ваше настроение. На основании цвета объекта могут приниматься решения о его приобретении. Понимание эффектов, вызываемых цветом, и способов применения цветов для достижения определенных эффектов является исключительно важным. В этой главе вы познакомитесь с различными концепциями цвета и света, а также с их отношением к компьютерной графике и 3D Studio MAX. В частности, в главе обсуждаются следующие темы:
  • Пигментные цветовые модели
  • Цвет как отраженный свет
  • Смешанный цвет в 3D Studio MAX
  • Цветовая композиция
  • Влияние цвета естественного света
  • Влияние цвета искусственного света
  • Влияние цветных ламп

Цвет обычно является наиболее важной характеристикой поверхности. Когда перед глазами появляется красный знак останова, вы делаете вывод, что знак останова "красный". Вы воспринимаете это как осязаемый факт и описываете его как красный знак или как знак, окрашенный в красный цвет. На самом деле это не сама поверхность красная, а красный свет, отраженный от нее. Пигмент, которым покрашен знак, поглощает весь спектр света, кроме красного, поэтому вашему глазу возвращается отраженная красная часть спектра. Ваши глаза воспринимают отраженный красный свет и мозг делает вывод, что знак на самом деле красный. На рисунке 2.1 показаны диаграммы отражения белого света от такого знака.
Повседневная жизнь и окружающие условия обманывают многих людей в том, что цвет — это в действительности отраженный свет. Это не должно показаться удивительным, поскольку, как правило, вы не взаимодействуете с цветами света. Вы не придаете этому особого значения, редко смешиваете цвета света или играетесь с ними и, вообще, находитесь в таких ситуациях, при которых большинство спектра не присутствует. На протяжении всей жизни вы привыкли сталкиваться с белым или практически белым цветом. В большинстве случаев вы взаимодействуете с цветом, имея дело с веществами, про которые заранее известно, что они отражают свет. Эти вещества называются пигментами. Даже в том случае, если вы не используете традиционные художественные пигменты, подобные краскам или чернилам, вы выполняете цветовое смешивание пигментов во время приготовления пищи, смешивания напитков, разливания жидкостей или даже при неудачах со стиркой белья. Цвет является важным компонентом вашей жизни — вы координируете и согласуете цвета, когда занимаетесь проектированием, украшениями или одеждой.
Но компьютерная визуализация и живопись на экране компьютера совершенно отличается от того, чему вас научила о цвете вся ваша жизнь. Теперь используется устройство, которое взаимодействует со светом (монитор компьютера), и инструменты для создания и манипулирования светом (3DS МАХ и, может быть, другие программы рисования). Важно понимать, что цвет света, который отражает пигменты, и является "цветом", который видят ваши глаза. В восприятии может быть скачок и глазу потребуется некоторое время, чтобы настроиться на цвет. Если вы сначала поймете, что такое цвета пигментов, узнать о сложностях и эффектах света будет намного проще.

Пигментные цветовые модели

Цветовая модель, о которой вы узнали в детстве и, вероятно, с тех пор используете, основана на пигментах. Желтая краска, смешанная с синей, дает водовороты зеленой краски. Существуют правила цвета, которым должны следовать пигменты, краски и даже цветные карандаши. Вас, вероятно, научили, что существуют три первичных цвета: красный, желтый и синий. Вам могли говорить, что, будучи первичными цветами, они должны быть чистыми — сами они не являются смесями, но используются для получения всех прочих цветов. Когда эти первичные цвета смешиваются с одинаковой интенсивностью, образуются вторичные цвета — оранжевый, зеленый и фиолетовый. Между первичными и вторичными цветами возможно бесконечное количество градаций, которые часто называют гармоничными или аналоговыми.
Благодаря тому, что цветовые модели основаны на первичных цветах, их часто называют цветовой моделью Красный-Желтый-Синий (RYB). Однако интуитивно эта модель не полностью корректна, поскольку не все можно получить из смеси трех первичных цветов.

Цветовая модель RYB

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

Смешивание пигментных цветов

Три перекрывающихся круга "красок", полученных из первичных цветов, служат для демонстрации основ смешивания пигментов (посмотрите на первую цветовую пластину). На пластине смешиваются три круга для формирования вторичных цветов. Коричневый цвет образуется в результате тройного смешивания в середине, что является также результатом смешивания дополнительных цветов. Ввиду того, что они расположены друг против друга на цветовом диске RYB, они содержат все три первичных цвета. Белый цвет определен как отсутствие цвета, поскольку на самом деле он представляет собой холст или бумагу, куда наносится пигмент.
На цветовом диске нет черного цвета. В детстве вас, наверное, научили создавать черный цвет, смешивая все остальные цвета, но обычно это приводит к созданию "грязного" цвета, а не черного. Из-за этой трудности многие считают черный цвет первичным и приобретают его как отдельный пигмент. По мере понимания сути цвета станет очевидным, что отсутствие черного цвета является недостатком модели цвета RYB. Хотя модель RYB является интуитивной в отношении общих цветов мира, она завершена неполностью.

Цветовая модель CYM

Хотя цветовая модель RYB очень древняя и использовалась многими художниками, она не является точной цветовой моделью. Получение настоящих интенсивных цветов, таких как фиолетовый, фуксиновый или зеленоватый, невозможно, равно как и смешивание настоящего черного цвета. При столкновении с этой проблемой многим студентам, собирающимся стать художниками, говорят, что эти цвета трудно смешивать и лучше купить их в виде тюбика. Это связано с полным непониманием цвета, поскольку упомянутые выше цвета являются истинными первичными цветами. Нельзя сказать, что традиционные художники не знают, что они делают — они используют цветовую модель, которую можно связать со всем окружающим миром.

Первичные пигменты

Три первичных пигмента - голубой, желтый и фуксин (пурпурный) являются дополняющими цветами для белого света, основными первичными цветами которого являются красный, зеленый и синий. Обе эти модели показаны на рисунке 2.3. Все пигменты (или субтрактивные вещества) образуются из этих трех цветов. Использование упомянутых первичных цветов и составляет цветовую модель CYM. В модели CYM красный цвет является смесью фуксина и желтого, синий - смесью голубого и фуксина, а цвет, который многие люди считают желтым, является желтым с добавлением фуксина. Одна из причин, по которой цветовая модель CYM интенсивно не распространена, заключается в том, что эти первичные интенсивные цвета являются неестественными, их трудно обнаружить и связать с чем-либо в реальном мире. Настоящий первичный цвет редкий по своей природе, как и его ежедневное использование.

ПРИМЕЧАНИЕ

Несмотря на то, что природа не допускает существование пустот, она, по крайней мере, ненавидит первичные пигменты. Трудность создания чистых пигментов голубого, фуксина и желтого цветов является одной из причин такого длительного использования модели RGB. Чистых желтых цветов не было до 1800 года, а чистый фуксин появился только к 1850 году. Художники в течение долгого времени были вынуждены использовать пигменты, цвета которых были уже субтрактивными или смешанными. Хорошим примером является посмотреть на старые цветовые пластины, в которых используется модель RYB в качестве модели для смешивания. Они часто кажутся плоскими и загрязненными, поскольку для затемнения в них использовался черный цвет. Эта нехватка интенсивных первичных цветов является одной из причин, по которой старые мастера живописи пребывали в определенном настроении, и тема цвета была общей для них — интенсивных первичных цветов просто не существовало. Мастерство и наблюдения старых мастеров живописи следует учитывать, а не просто отметить, что они не были знакомы с моделями CYM и RGB.

Четырехцветная печать и CYMK

Важным отличием CYM является то, что смешивание первичных цветов дает черный цвет, а не знакомый коричневый, который получается от смешивания красного, желтого и синего цветов.

ПРИМЕЧАНИЕ

При создании цвета с помощью модели CYM и, таким образом, смешивания пигментов, составляющие цвета часто выражаются в процентных отношениях (например, 50% желтого, 45% голубого и 5% фуксина дают некоторый оттенок зеленого). Такова форма рецептов прихотей художников. Использование подобных соотношений для описания цвета совершенно аналогично объемам цвета, задаваемым в 3DS МАХ. Цветная печать — это носитель, основанный на пигментах, для которого требуется черный цвет, и он глобально использует модель CYM. Из-за этого модель CYM часто называют красочной цветовой моделью, в которой голубой, желтый и фуксин являются основными цветами, а черный представляет собой смесь этих цветов.
Три пересекающихся круга "печатной краски" служат для демонстрации этой базовой модели. На практике смешанный черный цвет является очень интенсивной смесью голубого и фиолетового, но выглядит всегда черным цветом. Хотя по такому рецепту можно смешивать все печатные черные цвета, в печатной промышленности используются черные чернила как дополнение CYM для предотвращения ночного кошмара от смешивания всех трех первичных цветов в большей части текста и графики. Печать считается четырехцветным процессом, в котором черный цвет является дополнительным цветом - как буква К в CYMK.

Цвет как отраженный свет

На самом деле цвет пигмента — это свет, отраженный от объекта. Цветной свет — свет, отраженный от объектов, - это именно то, из чего состоит наш видимый мир. Объект является красным потому, что он абсорбирует зеленую и голубую часть спектра и отражает оставшийся красный свет. На рисунке 2.4 этот процесс показан с помощью освещения двух красных сигналов останова с белой надписью. Первый знак освещен белым светом, который отражается красным от поля и красным, зеленым и синим от надписи. Второй знак освещается только голубым светом. Поскольку красный свет не отражается, поле остается черным и абсорбирует весь зеленый и синий свет. Белая надпись отражает зеленый и синий свет и поэтому кажется голубой. Каждый пигмент абсорбирует конкретную часть спектра и отражает свет, с которым он связан. Смешанные пигменты субтрактируют различные цвета из спектра, чтобы образовать новый "цвет". Синий (который не отражает красный или желтый), смешанный с желтым (который не отражает красный или синий), образует зеленый цвет с помощью полной субтракции возможности смеси по отражению красного. Пигменты являются взаимно субтрактивными и это именно то, на что ссылается 3DS МАХ, когда речь идет о том, что прозрачный материал в Material Editor является "субтрактивным".

Модель RGB

Когда белый свет преломляется через призму, его цветовые компоненты разделяются, чтобы создать радугу. Эта радуга является спектром, присущим белому свету, и цветовым диапазоном, который может воспринимать глаз человека. Цвета следуют в спектре в таком порядке: красный, оранжевый, желтый, зеленый, синий, индиго и фиолетовый, из чего образуется акроним ROYGBIV (индиго включен сюда, в основном, для того, чтобы эта аббревиатура легче произносилась). Из-за этих спектральных цветов, первичными из которых являются красный, зеленый и синий, эта цветовая модель для света и называется RGB.

ПРИМЕЧАНИЕ

Небелый свет преломляется в собственный спектр, поскольку часть общего (белого) спектра должна в нем отсутствовать, чтобы он стал "цветным". В то время, как белый цвет представляется как отсутствие пигмента в модели CYM (представленной белым цветом холста), черный цвет представляет собой отсутствие света в модели RGB (и его можно считать истинной темнотой). Для образования белого света смешиваются три первичных света. При смешивании они образуют вторичные цвета - голубой, желтый и фуксин - которые являются первичными цветами в пигментной модели CYM.
Дихотомия между светом и пигментом является важным понятием, чтобы полностью узнать как выглядят материалы при изменяющейся освещенности. Свет и пигмент являются противоположностями, однако дополняющими друг друга. Первичные цвета одной модели являются дополняющими для другой. RGB излучает свет, CYM отражает его. Пигмент объекта нельзя увидеть без падения света на объект, а для того, чтобы увидеть окрашенный свет, необходима непрозрачная поверхность. При объединении всех цветов света создается белый цвет, а при объединении всех цветов пигмента создается черный. RGB смешивает все цвета путем их сложения, а CYM — путем вычитания.

Смешанные цвета света

Три перекрывающихся "точечных источника света" демонстрируют эту основную модель (еще раз посмотрите на первую цветовую пластину). Здесь черное представлено отсутствием цвета, а белое создано с помощью смешения трех первичных цветов - красного, зеленого и синего. По мере того, как области света смешиваются, получается вторичный голубой цвет, фуксин и желтый. Если посмотреть на обе эти модели рядом, становится очевидным, что модель RGB является настоящей противоположностью модели CYM, и каждый первичный цвет является вторичным цветом другого.
В примере модели lightrgb.max используется три точечных источника света, чтобы показать аддитивную модель цвета света RGB. Модель состоит из трех источников света, которые сияют на фоне белого квадрата. Точечные источники света представляют собой чистый цветной свет на белой поверхности без другого цвета или пигмента, влияющего на них.
Сцена на рисунке 2.5 показывает три первичных пятна красного, зеленого и синего цветов в двух затененных окнах. Эти окружности представляют собой первичные источники света. Когда перекрываются только две окружности, вы видите первичные пигменты желтого, голубого и фуксинового цветов. Если перекрываются все три круга, вы увидите смесь всех светов (белый), что эквивалентно отсутствию всех пигментов.

ПРИМЕЧАНИЕ

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

Использование точечных источников света для анализа цвета RGB

Следующее упражнение демонстрирует адитивную цветовую модель RGB.
  1. Загрузите сцену lightrgb.max из сопровождающего CD-ROM.
  2. Задействуйте видовое окно Тор и нажмите кнопку Quick Render (быстрая визуализация). Области света визуализируются как совершенно четкие окружности.
  3. Выберите красный точечный источник света, Spot-Red, и щелкните на панели Modify для просмотра текущих установок света.
  4. Значения RGB для Spot-Red равны 255, О, О - что означает чистый красный цвет без компонентов зеленого и синего. Другие точечные источники света насыщены аналогично.
  5. Можете исследовать эффект света путем регулировки цвета точечных источников света и их позиционирования.
Вы должны использовать то, что цвет света является аддитивным, а пигменты — субтрактивными. При аддитивных цветах чем больше цвета добавляется, тем белее становится оттенок, а при пигментах при добавлении цветов оттенок темнеет. Это понятие кажется незнакомым ввиду того, что большинство людей вне театра или индустрии света не имеют опыта (или самой возможности) в смешивании цветов света. Но на самом деле вас каждый день окружает цветовая модель RGB, потому что каждый телевизор и монитор компьютера отображает цвет при помощи раздельных красного, зеленого и синего каналов.

Исследование цвета RGB

Полное понимание цветовой модели RGB полезно, поскольку на ней основаны практически все цветные компьютерные приложения. К счастью. Color Selector (селектор цвета) 3DS МАХ, показанный на рисунке 2.6, обеспечивает великолепный метод для овладения понятием смешивания цветов RGB.
  1. Войдите в Material Editor, щелкнув на кнопке Material Editor линейки инструментов.
  2. Дважды щелкните на цветовой отметке Diffuse для вывода Color Selector (при этом неважно какой материал активен, так как вы изменяете цвет). Color Selector одновременно регулирует цвет с помощью ползунков и цветовой отметки, а также значений для Material Editor, цвета и визуализируемого образца сферы.
  3. Щелкните на цвете в градиенте Hue или на ползунке Hue и убедитесь в том, что ползунок Whiteness (белизна) не находится в нижней части диапазона.
  4. Переместите ползунок Sat (насыщение) в положение 255 (поворачивайте его все время вправо) и убедитесь в том, что ползунок Value (значение) не находится на максимуме. При этом создается полностью насыщенный цвет, в котором, по крайней мере, одно из значений RGB максимизировано до текущего уровня ползунка Value, а другое значение сведено до нуля.
  5. Передвигайте ползунок Hue вперед и назад и наблюдайте за ползунками RGB. По мере перемещения ползунка через спектр Hue обратите внимание, что каждый раз перемещается только один ползунок канала RGB. Во время прохождения по спектру обнаруживаются максимумы и минимумы красного, зеленого и синего компонентов света.
  6. Установите ползунок Saturation в положение 0 (до отказа влево). По мере уменьшения насыщения цвета обратите внимание на то, что компоненты RGB сближаются до тех пор, пока не станут полностью выровненными. Из-за того, что значения RGB теперь сбалансированы, свет не имеет цвета и отметка цвета становится серой. Помните об этом как о горячей клавише для создания серого. Отметим, что значения оттенка и освещенности по-прежнему не изменяются и в случае увеличения насыщения восстанавливается первоначальный цвет.
  7. Манипулируйте всеми тремя ползунками RGB так, чтобы они не выравнивались и не находились в самых крайних положениях, после чего перетащите любой из ползунков RGB в 0. Ползунок Saturation (насыщение) перемещается вправо и цветовая отметка становится полностью насыщенной.
  8. Перетащите этот же ползунок RGB вправо и вы увидите, что ползунок Saturation тоже перемещается вправо, а отметка цвета "сереет". Любой цвет, для которого один или несколько ползунков RGB установлены в 0, всегда является полностью насыщенным цветом. Это становится очевидным при перетаскивании одного из ползунков RGB влево. По мере того, как это делается, ползунок насыщения перемещается вправо и полное насыщение наступает тогда, когда ползунок цвета достигает значения 0.
  9. Установите значение Saturation в 255 и перетащите ползунок Value вправо и затем обратно влево. При этом одновременно все три ползунка RGB перемещаются вправо и влево. По мере увеличения значения цвета все три канала RGB увеличиваются вправо до тех пор, пока не создается чистый цвет спектра (оттенок). Уменьшение значения смещает ползунки RGB влево до тех пор, пока не образуется черный цвет; при этом нет никакого отражения света. Такой же эффект достигается путем смещения каналов RGB влево и вправо, но при этом есть одно существенное отличие: объем оттенка постоянно изменяется и эффективно исчезает на краях, поскольку цвет отсутствует.

Использование света для объяснения пигмента CYM

Интересное упражнение, которое демонстрирует модель CYM, в 3DS МАХ можно выполнить с помощью источников света. В отличие от окружающего мира, пятнам света в 3DS МАХ можно присвоить отрицательные множители, чтобы вычесть свет из сцены, а не добавить его. На рисунке 2.7 показано, что отрицательный свет действует как пигмент, когда падает на поверхность, и вычитает освещенность от других (положительных) источников света.
  1. Загрузите сцену lightrgb.max из сопровождающего CD-ROM.
  2. Щелкните на закладке Create для отображения панели Create Command (команда создания) и щелкните на кнопке Lights (источники света) в верхней части панели Create Command.
  3. Щелкните на кнопке Directional (направленный) и поместите новый направленный свет в центр видового окна Тор.
  4. Переместите свет Directional на ту же самую высоту, на которой находятся три существующих точечных источника света.
  5. Щелкните на закладке Modifier и увеличьте установку V: до 255 для создания чистого белого света. Вы, вероятно, заметите, что свет ограничен центральной областью.
  6. Отметьте флажок превышения света. При этом источник света не ограничивается и может освещать все области с одинаковой интенсивностью. Освещенность другим светом можно совершенно не учитывать, поскольку поверхность отражает белый свет; и здесь не сделают своего вклада ни красный, ни зеленый, ни синий свет. Поверхность окна должна теперь быть ярко белой.
  7. Нажмите на Н Key, выберите Spot-Red и измените значение ее множителя из 1.0 на -1.0. Теперь точечный источник света, который раньше был красным, вычитает красный цвет из направленного цвета и кажется голубым.
  8. Установите значения множителя для двух оставшихся точечных источников света в -1.0. В результате этого все три круга света "печатной краски", голубой, желтый и фуксин, перекрываются для образования первичных цветов - красного, зеленого и синего. Когда все три круга перекрываются в центре, они создают черный цвет из-за того, что удаляют весь положительный свет со сцены.
  9. Результирующий файл можно найти в lightcym.max на сопровождающем CD.

Смешанный цвет в 3D Studio MAX

3D Studio MAX обеспечивает уникальный селектор цвета, который позволяет интуитивно выбирать и манипулировать цветом. Хотя все цвета внутри системы хранятся во внутреннем представлении значений RGB (красный, зеленый, синий), селектор цвета (рис. 2.8) позволяет выбирать различные цвета и использовать их при помощи разнообразных методов.

Описание цветов с помощью HSV

Цвета могут быть неуловимыми. "Какой тип зеленого цвета был у этого зеленого тента?" "Это был глубокий, сочно-зеленый цвет, но я не уверен, насколько он голубой и насколько темный". Воспоминания о цветах трудно восстановить.
Даже в то время, когда вы сосредоточиваетесь на понимании цвета объекта, он изменяется, когда характер света, который освещает объект, изменяет положение и тон. "О, но этот тент выглядит более зеленым, чем в прошлый день". Для ясности, цвет пигмента часто описывается его тремя свойствами. Хотя многие согласятся с этими тремя характеристиками, существует несколько течений, которые по-разному определяют эти понятия. Частью цветового диска, на котором основан цвет, называется оттенком. Если взять ползунок оттенка (Hue) Color Selector и сделать с помощью него окружность, получается цветовой диск. При ссылке на цвет объекта, имеется в виду оттенок. Термин "оттенок" стал совершенно универсальным понятием в системах определения цвета. Для случая описанного выше тента оттенок является синевато-зеленым.
Чистота цвета относится к его хроматичности, интенсивности, силе или насыщенности (в 3DS МАХ). О насыщенности можно думать как о степени, до которой цвет смешивается с другими цветами. Чистый цвет всегда является полностью насыщенным потому, что не смешивается ни с какими другими цветами в противоположность серому цвету, который является сильно смешанным и имеет низкую или нулевую насыщенность. Для продолжения использования ссылки на тент, цвет должен быть сочным, поэтому к нему нельзя добавлять много красного; он должен иметь совершенно полное насыщение.
Каждый оттенок в диапазоне цветов может изменяться от очень темного до очень светлого, что часто принимается за освещенность цвета, глубину или, как это называется в 3DS МАХ, его значение. По мере того, как цвета углубляются и становятся более черными, их значения уменьшаются; с увеличением яркости их значения увеличиваются. Монохромная раскраска является хорошим примером того, как оттенок использует все свои значения. Чтобы покончить с тентом, следует сказать, что ткань была глубокой по цвету и поэтому имеет меньшее значение.
Все вместе эти описания цвета известны как модель HSV - оттенок, насыщение и значение - и могут использоваться для описания всех цветов. Для традиционных художников они соответствуют непосредственно оттенку Munsell System, хроматичности и масштабам значений. 3DS МАХ обеспечивает ползунки цвета HSV в виде опции, когда цвета выбираются через стандартный селектор цвета.

Регулировка цвета при помощи осветления и затемнения

3DS МАХ обеспечивает дополнительное управление цветом с помощью цветовых ползунков Color Selector Whiteness (осветление) и Blackness (затемнение). Цвета осветляются и затемняются с помощью одновременной манипуляции насыщением цвета и его количеством. Этот эффект очень похож на добавление белого или черного пигмента к существующему цвету краски и очень просто идентифицируется.
На практике изменение положения ползунка Whiteness от верха до низа устанавливает Saturation из положения 255 в 0, a Value (значение) при этом регулируется от начальной точки до 255. Перемещение ползунка Blackness от верхнего положения в нижнее устанавливает Saturation из начальной точки в 0, а регулировку Value из значения 255 в конечную точку. Регулировки осветления и затемнения не влияют друг на друга и на оттенок - их эффектом является только манипуляция значениями Saturation и Value.

Исследование Color Selector

Color Selector 3DS MAX является очень хорошим инструментом для изучения смешивания цветов. Это упражнение помогает понять смысл ползунков цвета HSV, а также их влияние друг на друга. На рисунке 2.9 показано, как осуществить доступ к Color Selector из диалога Object Color.
  1. Щелкните на отметке Object Color на Command Panel для получения доступа к диалогу Object Color и затем дважды щелкните на Active Color (данный Color Selector идентичен Color Selector из Materials Editor).
  2. Щелкните на любом цвете на ползунке Hue и установите ползунки Saturation и Value в положение 255. Теперь у вас есть чистый спектральный или полностью основанный на цветовом диске оттенок цвета, который отображается в выбранной цветовой отметке.
  3. Переместите ползунок Hue влево и вправо и отметьте изменения цвета на цветовой отметке. По мере изменения значения Hue с помощью ползунка цвет плавно изменяется по спектру внутри отметки. Для получения чистого цвета потребуется пройти через весь спектр.
  4. Перетащите ползунок Whitness в самый низ и яркость в цветовой отметки будет увеличиваться до тех пор, пока она не станет чисто белой. По мере увеличения Whiteness значение Saturation уменьшается ввиду того, что для получения более белых цветов необходимо добавить еще RGB и таким образом снять насыщение с первоначального цвета; при этом Value должно увеличиться, чтобы осветлить цвет.
  5. Перетащите ползунок Blackness до упора вниз и яркость цветовой отметки будет уменьшаться до тех пор, пока не станет серой (чем ниже опускается ползунок Whiteness, тем ярче становится серый цвет). С увеличением Blackness значение Saturation уменьшается, поскольку для достижения более серых оттенков требуется вычесть дополнительные RGB и Value нужно уменьшать, чтобы цвет стал более темным.
  6. Перетащите ползунок Saturation в правое положение и ползунки Whiteness и Blackness будут подниматься.
  7. Перетащите ползунок Value влево и вправо и вы увидите, что Value увеличивается, Blackness поднимается, a Whiteness опускается; в случае уменьшения Value происходит обратное.
Это упражнение указывает на важное понятие при смешивании цветов в 3DS МАХ. При регулировке ползунка Saturation или Value или обеих ползунков Whiteness и Blackness, просматривается весь диапазон данного оттенка. Хотя при создании цветов с использованием этих двух методов имеются подобия, получаемые результаты совершенно отличны. Если создается диапазон цветов, совместно использующих хроматический диапазон, необходимо придерживаться одного метода. Сигналы соседних цветов можно создавать либо при помощи независимой регулировки Value или Saturation, либо только посредством элементов управления Whiteness и Blackness. Если методы смешиваются, результирующие цвета не будут являться частью непротиворечивого сигнала.
Еще следует помнить о том, что значения всех цветов в 3DS МАХ хранятся только в виде значений RGB. Это означает, что для отображения HSV используются соответствующие хранимые значения RGB. Whiteness и Blackness никогда не отображают значения, поскольку они манипулируют Value и Saturation одновременно и являются только вспомогательными при смешивании цветов. Несмотря на то, что можно ссылаться и записывать определенное значение HSV, значения Whiteness и Blackness являются просто визуальными индикаторами.

Цветовая композиция

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

Дополняющие цвета

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

Теплые и холодные цвета

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

Продвижение и отступление цветов

Теплые и холодные цвета имеют психологический эффект продвижения и отступления, эффект, при котором человеческий глаз интерпретирует порядок спектра (когда красный цвет идет первым, а фиолетовый последним). Теплые цвета, в особенности, красный, кажутся продвигающимися и подходят ближе, в то время как холодные цвета кажутся отступающими и отодвигаются назад - это одна из причин, по которой большинство вывесок на магазинах являются красными.
Ваш пространственный опыт усиливает подобное восприятие, поскольку атмосфера охлаждает цвета, отражая на них синий цвет, когда они уходят за горизонт. Удаленные объекты теряют интенсивность своего цвета и становятся более серыми, в то время как их оттенки смещаются в синюю часть спектра. Когда сцена отступает к горизонту, она теряет свою интенсивность и становится более холодной. Когда это выполняется вручную с помощью программы рисования или в 3DS МАХ посредствам материала Mix или RGB Tint - это считается тонким, но важным шагом для создания реалистичного фона. Окружение тумана, который окрашен соответствующим образом, можно использовать для получения одинакового результата как для фона, так и для всей сцены.

Ограничения на использование черного и серого

Многие художники никогда не используют по-настоящему черный цвет, а предпочитают свои собственные темные смеси с глубоким цветом. При смешивании с полным насыщением ряд соседних цветов на цветовом диске RGB (более всего используются комбинации индиго и малинового или ультрамаринового и зеленого от Hooker) могут создать глубокие цвета, которые приближаются к черному. Причиной такого выбора смешивания является то, что черный пигмент ("как из трубы") делает внешний вид плоским и неестественным. Темные богатые цвета, получаемые при смешивании, предпочтительнее ввиду того, что для глаза они кажутся более глубокими и, на самом деле, являются более темными, чем цвета, полученные при смешивании с чисто черным цветом. Художники научились приберегать черный цвет для создания эффектов "выжженного" и "покрытого пятнами" в связи с тем, что этот цвет стремится нейтрализовать оттенки и создавать "грязные" цвета.
Черный цвет также используется для смешивания с очень холодными и неестественными чисто серыми цветами. В реальном мире практически ничего но существует без цвета или не является по-настоящему серым, поэтому оставим только черный цвет. Почти все видимые вокруг цвета являются красными, желтыми или синими. Поскольку в этом отражается восприятие человека, важно помнить об этом при смешивании различных цветов в 3DS МАХ. Хотя настоящий серый цвет можно получить с помощью установки ползунка Saturation в нуль, это не тот мир, который вас окружает.
Из-за того, что серый цвет редко отсутствует в цвете, оттенки серого следует использовать очень аккуратно. Объекты, которые основаны на настоящем сером цвете и освещаются "серыми" цветами, кажутся неестественными, "компьютерными". Причина простая — создание такого эффекта в реальном мире весьма затруднительно. В общем случае небольшой сдвиг в сторону теплого или холодного цвета как в свете, так и в материалах, кажется более реалистичным.

Влияние цвета освещенности

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

Влияние цвета естественного света

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

Солнечный свет

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

Атмосфера

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

Свет во внешнем пространстве

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

Лунный свет

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

Влияние цвета искусственного света

Многие из вас проводят большую часть времени дома в условиях искусственного освещения. Для корректной визуализации и анимации внутренних сцен следует понимать, что представляют собой различные цвета искусственного света и как их воспринимает ваш глаз. Для этого в индустрии освещенности существует множество терминов, и в настоящей книге сделана попытка правильно применить стандартную терминологию. При описании освещенности в реальном мире лампа является источником света (который чаще называется "колбой"); каркас или отражатель является корпусом для лампы; свет — это энергия от источника света до того, как он попадает на поверхность; освещенность — это свет, отражающийся от поверхностей. Таким образом, в понятие освещенности входит лампа, которая излучает свет и освещает сцену. В SDS MAX объект света, эквивалентный лампе и внешнему ее окружению, является совершенно произвольным понятием, поэтому уместно сказать, что точечный источник света освещает сцену тепло окрашенным светом.

Температура лампы

Человек создал многие формы света. Их цветовые характеристики часто описываются в терминах температуры Кельвина (не смешивайте это с теплыми и холодными цветами). Этот термин аналогичен куску металла, который нагревается, — сначала он становится глубоко красным, переходит в ярко-красный цвет, затем становится оранжевым, желтым и проходит весь спектр цветов, пока не станет "горячим добела". В качестве сравнения - температура восходящего солнца составляет около 2000 градусов по Кельвину, полуденное солнце разогревается до 5000 градусов, хмурое небо — до 7000 градусов, а синие небеса имеют температуру до 10000 градусов.
В этой книге не рассматривается специфика температуры каждого источника цвета. Они представлены здесь, в основном, как инструменты для сравнения и как часть второстепенной информации для читателей, незнакомых с этим предметом.
Температура по Кельвину в какой-то степени эквивалентна оттенку и насыщению цвета, в то время как яркость и интенсивность света являются подлинной функцией значения цвета в свете. Характеристикам окружения света, которые должны быть такими же, как и свет на сцене, можно придать различную интенсивность, но они должны быть близкими по оттенку и насыщению. В этом случае значение цвета света действует очень похоже на "переключатель ближнего света".

Лампы накаливания

Самой старой и наиболее широко используемой искусственной лампой следует считать лампу накаливания. Эти лампы являются точечными источниками света и их интенсивность ограничивается только приложенной мощностью. Цвет, отбрасываемый от лампы накаливания, является теплым, имеет в своей основе оранжевый цвет и температуру, близкую к температуре восходящего солнца. Мощность ламп накаливания можно регулировать при помощи реостатов и при низком уровне мощности они кажутся совершенно оранжевыми. Галогенные лампы также являются лампами накаливания, но имеют более высокую температуру. Они обеспечивают существенное увеличение освещенности и излучают более белый, но теплый свет. Когда галогенные лампы тускнеют, они также становятся оранжевыми.

Флюоресцентные лампы

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

Влияние цветных ламп

Некоторые лампы искусственного цвета хуже воспроизводят цвет по сравнению с флюоресцентными. Лампы на основе натрия чаще используются в качестве светильников на улицах и промышленных предприятиях. Эти лампы в некоторых случаях являются самыми яркими и наиболее экономичными по потреблению, но они излучают очень насыщенный оранжево-желтый свет. К лампам самого старого типа относятся ртутные, но они по-прежнему используются для освещения улиц и излучают синевато-зеленый цвет.
Каркасы ламп иногда добавляют цвет к своим лампам. Лампы накаливания имеют широкий диапазон покрытий с оттенком, и для создания любого вообразимого цвета к ним можно добавить линзы с полупрозрачным цветовым покрытием. Огни останова являются примером цветных линз, которые можно видеть ежедневно. Точечные и направленные источники света 3DS МАХ воспроизводят эффекты цветных линз, когда они отбрасывают тени от трассировки лучей, а для линз используется материал с непрозрачностью Filter для соответствующего цвета.
Наиболее впечатляющими цветными огнями, наблюдаемыми ежедневно, являются неоновые огни. Они излучают очень насыщенные цвета и могут осветить сцену исключительно своеобразно. Воссоздание подобных эффектов в 3DS МАХ может потребовать большого искусства, но ради этого стоит потрудиться. Эффекты создания неоновых цветов более глубоко рассматриваются в главе 19.
Хотя качество цвета искусственных ламп изменяется в больших пределах, следует усвоить, что это изменение не всегда приемлемо. Изготовители аппаратуры для освещения прилагают максимум усилий, чтобы их светильники излучали свет, максимально приближенный к белому. Понимание того, как искусственный свет влияет на общее качество сцены, является важным при анализе окружающего мира. Как для художника и аниматора перед вами стоит задача отразить настроения, а не в совершенстве смоделировать условия освещенности.

Использование цветного света

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

ПРИМЕЧАНИЕ

Фотографы, которые часто выполняют снимки в условиях низкой освещенности, часто используют цветные фильтры для коррекции или, по крайней мере, минимизации влияния окрашенного света на сцену. Интенсивно окрашенный цвет при правильном использовании может создать на сцене фантастические эффекты. Если посмотреть на освещение театра со сцены, вы не увидите белого цвета — почти все будет покрыто вибрирующим цветным светом. В театрах обычно используются чисто красный, синий, зеленый, желтый, фуксиновый или зеленоватый цвет в различных комбинациях. Эти чистые цвета света смешиваются на сцене, придавая некоторым областям и многим теням больше насыщенности и резонанса, нежели можно достигнуть посредствам белого освещения. Цветной свет может создать поразительные эффекты, если он используется для совершенно белых объектов, а также для монохроматических сцен. Белые поверхности отражают весь спектр света и отображают смешение оттенков и интенсивности различного падающего на них света.

Дополняющие цвета в свете

Если вы находитесь в среде, освещенной окрашенным светом, ваши глаза адаптируются к этой среде и становятся очень чувствительными к дополняющему цвету источника света — цвету, который необходим для восстановления белого света. Это явление называется цветовым постоянством и оказывает влияние на размещение дополняющего цвета в неосвещенных или затененных областях человеческого глаза. Наиболее общеизвестным примером подобного явления является фиолетово-синие тени, которые появляются на сцене, освещенной желто-оранжевым светом лампы накаливания. Чем больше становится цветовая интенсивность источника света, тем больше воспринимается сдвиг в тенях.
Художники, оформители сцены и дизайнеры сценического набора знают этот эффект и максимизируют воспринимаемую глубину теней с помощью цвета, который сдвигается по направлению к дополняющему цвету света. Проанализируйте сцену театра перед огнями дома и вы, вероятно, обнаружите избыток фиолетового цвета и глубокий синий цвет в большинстве окрашенных теней. Большинство светлых цветов независимо от того, являются ли они естественными или искусственными, имеют, по крайней мере, небольшой желто-оранжевый оттенок, который создает дополняющие цвета от фиолетового до глубокого синего. Из-за того, что это ближе к восприятию света человеком, нежели восприятие настоящего пигмента, "помощь" 3DS МАХ делает небольшое смещение цвета важным потому, что наблюдатели смотрят на изображение, а не участвуют в сцене.
В 3DS МАХ для моделирования общего количества накопленного отраженного цвета, присутствующего на сцене, используется Ambient Light (фоновый свет), расположенный в диалоге Environment. При этом вложение цвета происходит во все объекты однородно, независимо от дополнительных источников света, и является светом, который присутствует в неосвещенных объектах и тенях. Для создания реальности сдвиг цвета в окружающем свете в сторону дополняющего к основному свету создает эффект цветового постоянства и углубляет, делает более богатыми темные очертания и тени на сцене.

Отраженный свет и поглощаемость

Попадающий на объект свет поглощается или отражается. Красные объекты поглощают зеленый и синий цвет, отражая обратно красный цвет. Поэтому такие объекты воспринимаются как "красные". Кроме того, что отраженный цвет попадает в глаза, он воздействует на соседние объекты отраженным или отскочившим светом. Расположение матового красного объекта возле матовой белой стены и освещение сцены белым источником цвета создает красный оттенок на областях "белой" стены. Говорят, что стена унаследовала отбитый цвет. Более наглядным примером является помещение, освещенное потайными источниками света. Комната полностью освещается сверху, однако детали и цвет потолка можно различить. Это происходит в связи с тем, что потолок освещается светом, отраженным от пола, стен и мебели. Подобный эффект отскочившего, унаследованного и отраженного света в компьютерной графике известен как отражаемость и он получается только в специально предназначенных для такого типа моделирования визуализаторах. Визуализация путем трассировки лучей отслеживает лучи от источника до поверхности, непрерывно отражающиеся от поверхностей и попадающие на другие поверхности до тех пор, пока они больше не находятся в пределах сцены.
Хотя визуализатор 3DS МАХ использует метод трассировки лучей для вычисления теней, он является визуализатором сканирования линий (как знаменитый визуализатор RenderMan в Pixar). Традиционный способ трассировки лучей используется для расчета отражений от блестящих зеркальных поверхностей. Полные визуализаторы с трассировкой лучей отслеживают векторы от точки обзора до каждой поверхности. Если поверхность зеркальная, отражается дополнительный луч, чтобы уловить то, что является видимым в отражении. Если на пути луча находится еще одна блестящая поверхность, он отражается снова и так до тех пор, пока луч не оттолкнется от сцены или не попадет на неблестящую поверхность. Именно так моделируются типовые рекурсивные отражения трассируемых лучей и это является причиной того, почему визуализация трассируемых лучей происходит настоль медленно.
Визуализаторы отражаемости отличаются от визуализаторов с трассировкой лучей в том, что они вычисляют диффузионные, а не зеркальные отражения. Энергия света от каждого источника света прослеживается до самой поверхности, вычисляется поглощение и затем отражение оставшейся энергии на другие поверхности на сцене. Эта энергия отталкивается пропорционально диффузионному цвету поверхности, а не в связи с ее блеском или зеркальностью. При этом отражаемость визуализирует эффект отраженного света, а не его зеркальные отражения. Освещенность является совершенной, но все на сцене кажется плоским.
Эффекты визуализации отражаемости являются ошеломляющими, однако время вычислений и компьютерное время очень велики. В то время, как визуализация с трассировкой лучей занимает время на порядок больше визуализации со сканированием линий, отражаемость еще больше усложняет уравнение. Это происходит ввиду того, что отражения при трассировке лучей можно видеть только с одной точки просмотра, и отраженные лучи, в конце концов, находят выход, в то время как лучи отраженной энергии в модели отражаемости отскакивают в пределах сцены и всегда постоянно слабеют. Визуализации отражаемости являются временными решениями, поскольку в определенный момент они прекращаются для создания заданного изображения. Визуализации отражаемости, которые демонстрируют зеркальные отражения, на самом деле являются комбинацией — отражаемость объединяется с отражениями визуализации с трассировкой лучей.
Хотя 3DS МАХ обеспечивает несколько методов для изолирования или приближения трассируемых лучей . с использованием технологии теней и карт отражения, эффекты отражаемости непосредственно в нее не встроены. Это не означает, что вам следует отбрасывать или отказываться от этого эффекта потому, что с помощью тщательного размещения источников света и определения материалов в пределах 3DS МАХ можно смоделировать множество таких эффектов. Отражаемость является осязаемым явлением реального мира, и если вашей целью является фотореализм, следует затратить определенные усилия на аппроксимацию этих эффектов. Это особенно важно, если конечным продуктом должно быть неподвижное изображение, на котором можно задержать глаз для оценки сцены. Более подробная информация об отражаемости приводится в главе 19.


ГЛАВА 3

Просмотр, перспектива и композиция

3D Studio MAX имеет множество инструментов, которые можно использовать для организации моделирования, управления перспективой и композицией просмотра в своих сценах. Если это вами не исследовано и вы пытаетесь понять различные имеющиеся варианты, вы похожи на фотографа, пытающегося использовать всего один набор линз 50 мм. Ваш выбор линз для камеры, позиционирования и композиции пройдет долгий путь, прежде чем появится понимание различий между обыкновенной фотографией и настоящей профессиональной композицией изображения.

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

  • Методы просмотра изображений, как традиционные, так и методы 3DS МАХ
  • Ортографические проекции и аксонометрия
  • Традиционная терминология перспективы в сравнении с 3D Studio MAX и стандартные классификации перспективы
  • Сравнение зрения человека с использованием камер в 3D Studio МАХ
  • Параллакс и коррекция перспективы
  • Композиция изображения

Методы трехмерного просмотра

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

Практически все, что было создано или создается, начинается с рисунка. Некоторые рисунки не представляют собой ничего более, чем набросок салфетки, в то время как другие требуют труда сотен инженеров. Независимо от того, что рисуется - простое зубчатое колесо или очень сложный самолет - нужен один или несколько рисунков, определяющих конструкцию. Большинство создаваемого в 3DS МАХ явно или косвенно появляется из рисунков. Наброски, который сделает режиссер студии, нужно будет интерпретировать, синьки и чертежи с размерами потребуется транслировать, а рисунки в цифровой форме (из других программ CAD) могут стать естественными шаблонами для создания ЗО-моделей в 3DS МАХ. В любом случае, знание терминов рисунка и способов их использования имеет важное значение, обеспечивающее возможность связывания традиционно созданной информации с компьютерной графикой. Вы увидите, что большинство стандартных соглашений о рисунках может относиться к работе в окнах 3DS МАХ, которые позволяют применять установленные методы конструирования во время просмотра в более естественной перспективе.

Ортографический просмотр

Большинство рисунков создаваемых элементов являются ортогональными - эти рисунки представляют собой виды предмета, сделанные точно под углом в 90° безо всякой перспективы. Ортографические виды играют важную роль ввиду того, что показывают точное соотношение между высотой и шириной. Все части предмета изображаются параллельно плоскости просмотра и предмет становится объемным в случае просмотра его в перспективе. На ортогональном изображении все имеет одинаковый масштаб, тогда как в перспективе приближенные предметы кажутся увеличенными, а удаленные - уменьшенными. Характерные для ортогонального изображения перпендикулярные виды образуют вокруг предмета "куб" (рис. 3.1).

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

Виды проекций

#P3D Studio MAX определяет шесть ортографичсских проекций: сверху, снизу, спереди, сзади, справа и слева (для этого служат горячие клавиши Т, В, F, К, R, L), которые ортогонально связаны с мировыми (World) осями X, Y, Z. Эти термины похожи на используемые в массовом производстве, где имеет смысл описывать виды по отношению к объекту. В архитектуре для таких же видов используются другие термины, поскольку в строительстве применяется универсальная система ссылок. В терминах архитектуры виды сверху и снизу называются планами, а виды спереди, сзади, слева и справа называются профилями. Эта терминология показана на рисунке 3.2 по отношению к видам 3D Studio MAX. Термин "план" обычно сопровождается определением, для чего этот план (план этажа, план потолка, план местности, план крыши и т.д.), а названия профилей связаны с компасным направлением, по которому они обращены (север, юг, северо-запад и пр.). #PВид сбоку или профиль, который берется внутри пространства объекта, называется профилем интерьера и показывает только то, что можно видеть, стоя в этом пространстве. Если на виде также показана ширина окружающих/стен (и, может быть, структура) он называется секцией. Секция, в основном, является профилем объекта на данном его срезе, как будет показано позже в этой главе. Хотя часто трудно концептуализировать, секционные рисунки играют важную роль для создающего модель 3D Studio МАХ ввиду того, что являются совершенными формами для лофтинга. (Дополнительная информация о моделировании объектов лофтинга приведена в главе 10, "Создание объектов лофтинга".) В 3DS МАХ можно создавать динамический секционный вид своей модели за счет уточнения проекций отсечения камеры.

Аксонометрические виды

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

ПРИМЕЧАНИЕ

Многие пользователи считают пользовательские виды изометрическими или косоугольными. Термин "изометрический" обычно относится к специальному виду аксонометриии, где все углы поворота одинаковы (обычно углы равны 30°). На косоугольных рисунках одна из плоскостей не искажается (либо план, либо профиль) и угол соответствует проекции. В BDS MAX такой тип проекции не может быть представлен посредством пользовательского вида.

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

Легко обнаружить, что пользовательские виды более предпочтительны по сравнению с видами перспективы, потому что элементы сцены пропорциональны друг другу, связи можно просто идентифицировать и элементы управления просмотром те же, что и для случая ортогональных видов. Несмотря на то, что иногда работа в перспективе может быть совершенно естественной, расстояние часто трудно оценить, а опция Zoom Window (изменить масштаб окна) отсутствует.

Просмотр перспективы и камеры

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

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

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

ПРИМЕЧАНИЕ

Понятие плоскости изображения является первым понятием, с помощью которого был формализован метод перспективы. Для обрамления сцены использовался лист стекла с линиями взгляда между художником и объектами, "трассируемыми" на стекло. Плоскость, в которой находится наблюдатель при визуализации сцены, называется плоскостью грунта- это пол или земля, где находится большинство объектов сцены. Данная плоскость расположена на высоте вашего глаза, т.е. на высоте горизонта, составляющей для большинства людей 5-6 футов. В 3DS МАХ плоскостью грунта является плоскость основной сетки X, Y, которая отображается на видах пользователя и перспективы.

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

СОВЕТ

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

Горизонт является важным понятием, поскольку все горизонтальные линии (линии, которые лежат на плоскостях, параллельных плоскости грунта) визуально сходятся в исчезающие точки, расположенные на горизонте. Линии, лежащие на плоскостях ниже вашего глаза, сходятся в точку вверху на линии горизонта, а линии на плоскостях выше вашего глаза сходятся в точку внизу. Линии, которые расположены непосредственно на уровне вашего глаза, совпадают с горизонтом и рассматриваются как одна "линия". Понимая, что такое исчезающие точки, можно лучше расположить объекты внутри сцены и определить наилучшую точку, из которой их следует наблюдать. Исчезающие точки также имеют тенденцию притягивать глаз наблюдателя и в этой связи представляют интерес. Расположение их влияет на интенсивность композиции. #PУгол, под которым производится наблюдение от одной стороны до другой, называется конусом зрения или углом обзора, что эквивалентно полю обзора (FOV) в 3DS МАХ (рис. 3.5). При создании традиционных перспектив угол обзора часто равен 30° в каждую сторону от линии взгляда. В действительности это сделано из-за удобства использования треугольника с углами 30°-60°, а не из-за сохранения физической достоверности. Угол, при котором человеческий глаз может сфокусироваться, приближается к 45° - полю обзора, которое обеспечивают по умолчанию линзы 305 МАХ с размером 51.944 мм.

Одноточечная перспектива

Перспектива обычно описывается в соответствии с количеством первичных исчезающих точек, которые присутствуют на сцене. Мир, в котором мы живем, обычно основан на прямых углах. Вы пишете на прямоугольной бумаге, создаете объекты, состоящие из углов квадрата, строите большинство зданий перпендикулярно земле и размещаете их "квадратом к миру" на ортогональной сетке улиц и кварталов. Перспектива больше всего влияет на параллельные линии и прямые углы. В результате этого о перспективе принято говорить по отношению к простому кубу (рис. 3.6). Просмотр в одноточечной перспективе Приведенные ниже примеры относятся к рисункам игрушечного кубика, демонстрирующим различные принципы перспективы. При желании поэкспериментировать самостоятельно с видами загрузите сцену toyblok.max из CD-ROM.

  1. Выберите File --> Open и затем toyblock.max из сопровождающего CD-ROM.
    Когда вы являетесь "квадратом" на стороне куба, перпендикулярные вам линии сходятся в точку на горизонте. Подобный эффект можно видеть в окне CameraOl, как показано на рисунке 3.6. Исчезающая точка на сторонах куба лежит на линии горизонта и совпадает с центром зрения. Другие линии куба имеют исчезающую точку на бесконечном расстоянии по обеим сторонам - таким образом исчезающей точки нет вообще. Эти линии не сходятся в точку и параллельны вам и вашему горизонту. Такой вид называется одноточечной перспективой, поскольку имеется только одна исчезающая точка.
  2. Минимизируйте текущий вид с помощью нажатия на W или щелчка на пиктограмме Min/Max в нижнем правом углу.
  3. Щелкните на пиктограмме Move и затем выберите камеру и ее цель в виде Тор.
  4. На виде Тор переместите камеру на плоскости X,Y и отметьте результаты в видовом окне CameraOl.
    Вид камеры во время перемещения остается в одноточечной перспективе потому, что камера и мишень находятся на одном уровне и линия взгляда остается перпендикулярной грани куба. Одноточечная перспектива существует до тех пор, пока выполняются эти условия.
  5. Нажмите на пробел, чтобы заблокировать свой выбор, и затем переместите камеру и мишень вокруг вида Front.

Линия взгляда камеры по-прежнему остается перпендикулярной кубу, поэтому результирующий вид остается в одноточечной перспективе.

Двухточечная перспектива

Если вы нс являетесь квадратом кубика, исчезающая точка имеется на каждой из двух видимых сторон. Эти исчезающие точки находятся вдали от камеры, на линии горизонта, слева от нее и справа. Результат можно просмотреть в видовом окне 2-Point Camera, показанном на рисунке 3.7. Такой вид называется двухточечной перспективой, поскольку теперь есть две исчезающие точки.

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

Изменение на двухточечную перспективу

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

  1. Разблокируйте свой выбор, нажав на пробел, и выберите только камеру в видовом окне Тор.
  2. Перемещая камеру на виде Тор в плоскости X, Y, проанализируйте результаты в видовом окне CameraOl. Стороны блока, которые были параллельными, уменьшаются в перспективе. Теперь для сцены можно видеть две исчезающие точки - по одной на каждой стороне кубика. Также отметьте, что вертикальные стороны кубика остаются параллельными, поскольку при перемещении только камеры камера и цель остаются на одном уровне.

Трехточечная перспектива

Когда вы больше не смотрите на кубик вдоль линии взгляда, т.е. вы смотрите вверх и вниз, - вертикальные линии также сходятся в исчезающую точку. Такой результат можно наблюдать в видовом окне 3-Point Camera, показанном на рисунке 3.8. Все три плоскости кубика теперь имеют исчезающие точки, и такой вид с уверенностью можно назвать трехточечной перспективой. Вертикальные линии куба сходятся в исчезающую точку на линии, нарисованной по вертикали из центра зрения. Если смотреть вниз на точку, расположенную ниже горизонта, вертикальные линии кубика сходятся внизу. Эти линии сходятся вверху, когда вы смотрите на точку над горизонтом. Если смотреть на уровне горизонта, получается двухточечная перспектива.

Изменение на трехточечную перспективу

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

Все линии имеют исчезающие точки. Показанный на рисунке 3.9 кубик имеет только три набора исчезающих точек, по одному для каждой группы его параллельных плоскостей.

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

Понимание горизонтов

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

Если уровень ваших глаз параллелен плоскости грунта, горизонт расположен совершенно по центру вида. Когда вы наклоняете голову и перемещаете центр своего зрения или камеру, горизонт в виде сдвигается вверх и вниз. При изменении положения горизонта в композиции, его высота от грунта не изменяется; он всегда находится на высоте вашего взгляда.

Очевидно, на компьютерной сцене линия горизонта имеется только в том случае, если на расстоянии существует достаточно объектов для определения этой линии. У большинства моделей нет достаточной геометрии, чтобы уменьшиться до естественного горизонта. Обычно для создания глубины и установления горизонта используется внешняя сцена. Будьте очень внимательны к линии истинного горизонта (высота вашей камеры) и линии горизонта, которую указывает фон. Если горизонты отдалены друг от друга, соответствующая сцена выглядит так, как будто она утонула в долине или вознеслась на возвышенность. Если подобные эффекты нежелательны, следует переместить свою камеру на уровень горизонта фона или отрегулировать изображение фона. На рисунке 3.10 показано, как перемещение головы вверх и вниз смещает горизонт, но не изменяет его соотношения с плоскостью грунта, что противоположно перемещению камеры на более высокий грунт.

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

Понимание человеческого зрения и камер

Вероятно, вам знаком пример, когда рельсы ровной железной дороги на плоском грунте уходят к горизонту. Кажется, что на расстоянии рельсы сходятся в одной точке (рис. 3.11). Рельсы являются предельным примером из-за того, что несколько сделанных наблюдений сильно различаются и их можно разделить. Этот пример не отражает истинной сложности зрительных данных, которые вы воспринимаете практически в каждый момент.

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

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

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

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

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

Аналогия с камерой 3D Studio MAX

Исключительные возможности перспективы заложены в среду 3D Studio MAX при помощи камер, видового окна Perspective и даже видовых окон Spotlight. Можно использовать все это, чтобы немного узнать о том, как перспектива влияет на восприятие, производя эксперименты с этими инструментами в своих сценах.

3D Studio MAX связывает правила перспективы с терминами фотографии. В основе описаний используется 35 мм рефлексивная камера с одной линзой (Single-lens-reflex, SLR), наиболее используемая камера со сменными линзами. Вся терминология, связанная с линзами, которая используется в 3D Studio MAX, соответствует терминологии, принятой для 35 мм фотокамер (отметим, что обозначение 35 мм относится к размеру пленки, а не к размеру линз).

Фотокамера является хорошей аналогией, поскольку можно взять любую 35 мм камеру и воспроизводить эффекты, которые создаются в 3DS МАХ. Конечно при помощи 3D Studio MAX имеется возможность делать "фотографии", которые нельзя сделать с помощью фотокамеры. Однако для композиционных эффектов это одно и тоже. Если вы можете видеть что-нибудь через 35 мм фотокамеру, это можно воспроизвести в окне Camera.

Типы линз для камеры 35 мм

С влиянием на зрение размеров линз 35 мм камеры следует познакомиться, потому что это является аналогией того, что 3DS МАХ использует для описания поля обзора в видовых окнах Camera (рис. 3.13). Отметим, что такое соотношение справедливо только до тех пор, пока используется камера такого же типа. Другие стандарты размеров пленки (например, 4"х5" или 70 мм для движущегося изображения) имеют другие диапазоны размеров линз для приведения в соответствие с полем обзора. В 3DS МАХ размером линзы по умолчанию является 43.46 мм, что создает поле обзора, эквивалентное вашему естественному взгляду - 45°.

Изменение размеров линз

Чем меньше размер линзы камеры, тем шире поле обзора и больше подчеркивается перспектива. Попытайтесь самостоятельно отрегулировать камеры на модели Toy Block. По мере того, как выбираются линзы меньшего размера, поле обзора увеличивается. Манипуляция размерами линз делает эту зависимость очевидной.

  1. Загрузите toyblock.max из сопровождающего CD-ROM.
  2. Нажмите Н для доступа к диалогу Select Objects (выбрать объекты). Выберите Camera-Three-Point и щелкните на Select для выбора камеры.
  3. Щелкните на панели Modify для просмотра параметров Camera-Three-Point. Теперь камера имеет умеренную ширину, линзы 35 мм.
  4. Щелкните на кнопке 15 мм. Кажется, что вид через камеру "увеличился", хотя камера никуда не двигалась (это видно в окне Тор). FOV камеры существенно увеличивается и перспектива куба в виде через камеру является очень обширной.
  5. Теперь попытайтесь использовать большие линзы, например, 85 мм и 135 мм. Камера не двигается, но индикация FOV продолжает сжиматься по мере того, как камера "уменьшает" вид, а перспектива становится менее обширной.
  6. Щелкните на кнопке 35 мм для восстановления первоначального FOV и активизации видового окна Camera-Three-Point.
  7. Щелкните на пиктограмме Perspective и переместите мышь вверх и вниз.

При этом происходит одновременное улучшение и изменение FOV, что точно показывает, как изменяется обширность перспективы при изменении размеров линз. (Этот эффект описан дальше в главе 20, "Камеры и установка снимка".)

Широкоугольные линзы

Линзы размером меньше 50 мм (точнее, меньше 48.24 мм) обеспечивают большее поле обзора, чем это обычно может сделать человеческий конус зрения. Такие линзы считаются широкоугольными, а сделанные с их помощью виды часто называются широкоугольными видами. Эффекты перспективы, достигнутые при помощи таких линз, являются преувеличенными. Набор линз, который обеспечивает Camera/Adjust, соответствует набору линз, который можно приобрести в магазине.

При выборе линз с размером ниже стандартных размеров 35 мм и 28 мм широкоугольные линзы могут вызвать чрезмерное искажение перспективы, что может создать серьезно сбивающие с толку эффекты в зависимости от того, как делается композиция заключительной сцены. Очень маленькие линзы размером 10-15 мм часто называются "рыбьим глазом", поскольку начинают сильно напоминать сферу. Геометрия, которую видно через такие линзы, кажется "согнутой" при просмотре от одной стороны к другой. Самые маленькие линзы 3D Studio MAX, рыбий глаз с размером 9.8 мм, обеспечивают поле обзора в 178° и при этом создается такое впечатление, что вы смотрите практически позади себя! Подобные линзы следует использовать для очень специальных эффектов.

ПРИМЕЧАНИЕ

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

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

Телефотолинзы

Линзы с длиной более 50 мм называются телефотолчнзами. Эти линзы могут изменять масштаб сцены больше, чем может сделать ваш глаз, и работают по принципу телескопа. Большие телефотолинзы, которые часто появляются в руках спортивных фотографов, на самом деле имеют размер небольших телескопов. Размеры сцены, которые эти линзы могут воспринимать, пропорционально меньше, и их эффектом является уплощение перспективы. Обширность перспективы сведена к минимуму, поэтому виден только небольшой угол сцены. Такой эффект можно смоделировать на фотографии путем подрезки небольшой области и анализа отсутствия сходящихся в точку линий и уплощения перспективы. Иногда следует отдать предпочтение уплощенной перспективе.

Линзы 85 мм получили прозвище портретных линз, поскольку что они немного уплощают характеристики предмета, в результате чего получается более плоское изображение. Если вы будете использовать для портрета широкоугольные линзы, они исказят характеристики предмета и вы можете потерять свой заказ.

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

Понимание параллакса

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

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

Коррекция перспективы

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

Камеры с видоискателями, также известные как крупноформатные, камеры с изменяемой плоскостью или камеры 45, позволяют фотографу откорректировать эффекты параллакса за счет манипуляций внутренними зеркалами. Такую же возможность имеют камеры 35 мм, у которых имеются специальные линзы управления перспективой (PC). 3DS МАХ обеспечивает практически такую же возможность через опцию визуализатора Blowup (рис. 13.16).

ПРИМЕЧАНИЕ

Обратитесь к главе 20, "Камера и установка снимка", в которой приведены подробные сведения о коррекции перспективы с помощью опции Blowup.

Композиция сцены

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

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

  • Центр заинтересованности. Сцены необходимо организовывать вокруг центра заинтересованности. Последний не должен быть географическим центром изображения, но скорее служить тематическим фокусом сцены. Сцены, у которых нет центра заинтересованности, выглядят скученными, они не заполнены событиями или просто надоедают. Центром заинтересованности не должен быть объект; например, это может быть исчезающая точка в одноточечной перспективе.
  • Симметрия. Сцена не должна быть совершенно симметричной относительно любой из осей. Сцены, имеющие осевую симметрию, выглядят застойными, приглаженными и очень формальными. Когда горизонт имеет центр, сцена выглядит расколотой и в этом случае создание центра заинтересованности может быть затруднено.
  • Баланс. Сцена должна быть сбалансированной. баланс относится к общему визуальному "весу", который имеют части композиции. Он может относиться к цвету, темноте или к визуальной сложности, а также к размеру объектов.
  • Перекрытие формы. Без некоторого перекрытия формы элементы внутри композиции могут выгля-' деть плавающими, нетвердо стоящими на сцене. Перекрытия объектов внутри сцены обеспечивают большую глубину.
  • Негеометрические проблемы. Проблемы композиции не ограничены только геометрией объектов. Текстуры, которые присваиваются объектам, тени отбрасываемые ими, отражения от других объектов и использование фоновых изображений -,все эти элементы композиции следует учитывать.
Как и все правила, перечисленные правила могут нарушаться. Можно создать хорошую композицию, которая не придерживается основных "правил". Обычно художник, который смотрит на работу другого художника, может почесать голову и сказать: "Я не верю, что это работает!"

Грунт рисунка

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

Вы можете анализировать грунт рисунка в изображении при каждой визуализации. На рисунке 3.17 показано, как кнопка Display Alpha Channel отображает альфа-канал при каждой визуализации в 3DS МАХ. Это не опция, которую нужно устанавливать, поскольку 3DS МАХ всегда визуализирует альфа-канал и его всегда можно просматривать независимо от того, хотите вы или нет сохранять данное изображение.

Эскизные наброски

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

Клонирующие камеры

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


ГЛАВА 4

Анимация и сюжетные панели

Вероятно, удобнее себя чувствовать в случае заблаговременного планирования процесса моделирования. В раннем детстве вам, наверное, говорили: "Поспешить - людей насмешить" и "Семь раз отмерь - один раз отрежь". Поэтому неудивительно, что вы привыкли планировать свою работу и оценивать ее при создании объекта. Подобное поведение - это привычка, и она легко переносима в процесс, который используется при создании моделей в 3D Studio MAX u разработке трехмерных конструкций.

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

Глава включает рассмотрение следующих понятий анимации:

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

Использование сюжетных панелей

Что такое сюжетная панель? Многие думают, что сюжетная панель - это гладкая рекламная картинка, транслируемая по телевидению. К сожалению, такое впечатление заставляет думать, что сюжетные панели используются только для продажи идей. На практике же сюжетные панели являются важной частью проектирования любой презентации.

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

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

ПРИМЕЧАНИЕ

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

Процесс

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

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

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

Рассказ истории

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

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

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

Сюжетная панель

Теперь имеется история, которую вы будете рассказывать, и, может быть, вы ее даже где-то записали и несколько раз прочитали. Убедитесь в том, что она вам нравится. Как узнать, насколь удачно будет выглядеть история при анимации? Именно для этого и служит сюжетная панель.

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

После того, как история разделена на отдельные части, сделайте быстрые концептуальные наброски каждой сцены или действия. Это момент, когда многие могут сказать: "Подождите! У меня есть компьютерная графика, поэтому я не хочу рисовать это вручную!" Помните, что упомянутые наброски нужны именно для вас. Наброски на сюжетной панели должны быть быстрыми и приблизительными, и если даже они выглядят по-детски - еще лучше. Если потратить некоторое время на улучшение набросков, можно потерять нить действия и цель, во имя которой создается панель.

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

Сценарий

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

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

Типы сюжетных панелей

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

Другим типом сюжетной панели является презентационное устройство. Помните ли вы о том, что клиент и аниматор должны завизировать заключительную сюжетную панель в качестве части контракта? Часто бывает неудобно представлять клиенту на подпись грубую рабочую версию сюжетной панели. В этом случае можно приобрести формы сюжетных панелей, включающие небольшие пустые экраны с разлинеенными строками для заметок. Лист такой панели показан на рисунке 4.1. Тщательно перерисуйте эту форму для представления клиенту и утверждения им

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

Рисование сюжетной панели

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

Второе касается размера сюжетной панели. Рисунки каждой сцены должны быть небольшими, чтобы можно было рисовать быстро и концептуально. Если лист бумаги очень большой, может возникнуть неуправляемое желание заполнять его деталями и фоном, чтобы сделать рисунок более "законченным". Небольшие, клейкие блокноты для набросков или даже листочки - вот что хорошо подходит для листов сюжетных панелей. Они стоят дешево, страницы легко отрывать и их размеры невелики. После того, как нарисованы все сцены, отдельные наброски легко расположить на панели, с минимальными усилиями оторвать, заменить или организовать по-другому.

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

Создание сюжетной панели "Большой отскок"

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

Если у вас нет небольшого записного блокнота, сделайте свои листы для набросков, сложив стандартную страницу размером 8 1/2" х 11" вчетверо и разорвав ее на части так, чтобы размер каждой части составлял 4 1/2" х 51/2'.

История

Будем создавать сюжетную панель для истории под названием "Большой отскок". Окончательная анимация продолжается около 20 секунд.

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

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

Вы стоите на вершине утеса и думаете, что же произошло, когда вдруг замечаете на фоне еще три мячика. Мячики медленно вращаются один за другим, показывая результаты 9.5, 9.6 и 9.4. Практически совершенный отскок.

Рисование сюжетной панели

Сначала историю необходимо разделить на основные сцены и последовательность действий. Рассмотрим следующие сцены:

  1. Открывающий снимок. Скала с пейзажем.
  2. Мячик подкатывается к краю скалы.
  3. Мячик "смотрит" через край скалы.
  4. Мячик подпрыгивает.
  5. Мячик перекатывается через край скалы.
  6. Падение.
  7. Мячик ударяется о землю.
  8. Мячик исчезает из виду.
  9. Снимок мячиков на фоне.
  10. Мячики вращаются, показывая соответствующие номера.
  11. Сделайте увеличение на среднем мячике.
  12. Мячик затемняется до черного цвета, на экране видны только номера.
У вас могут быть другие идеи в отношении сцен. В этом случае спокойно рисуйте их. На рисунке 4.2 показан пример, как может выглядеть часть сюжетной панели.

Добавление номеров кадров

Теперь, при наличии сюжетной панели, необходимо учесть, когда происходит каждое действие. Добавьте к каждому наброску сюжетной панели ссылки на время и описания камеры. Ниже приведен список того, как может работать синхронизация в предположении, что в диалоге Time Configuration (конфигурация времени) установлена частота кадров 15 кадров/с:

  1. Открывающий снимок. Пауза на сцене скалы. (От 0.0 до 3.0 секунд, кадры 1-45).
  2. Мячик подкатывается к краю скалы. (От 3.0 до 5.0 секунды, кадры 46-75).
  3. Мячик делает паузу и "смотрит" через край скалы. (От 5.0 до 7.0 секунд, кадры 76-105).
  4. Мячик дважды быстро отскакивает и возвращается на место. (От 7.0 до 10.0 секунд, кадры 106-150).
  5. Мячик падает через край скалы. (От 10.0 до 10.5 секунд, кадры 151-158).
  6. Падение. Скала освещается. Во время падения мячик растягивается. (От 10.5 до 13 секунд, кадры 159-195).
  7. Мячик ударяется о землю. Разлетается вдребезги. Земля вздрагивает. (От 13 до 13.5 секунд, кадры 196-203).
  8. Мячик исчезает из виду. (От 13.5 до 14.0 секунд, кадры 204-210).
  9. Снимок мячиков на фоне. Панорамирование и увеличение мячиков. (От 14.0 до 15.0 секунд, кадры 211-225).
  10. Мячики по одному катятся и на них видны номера. Пауза. (От 15.0 до 18.0 секунд, кадры 226-270).
  11. Увеличение среднего мячика. (От 18.0 до 19.0 секунд, кадры 271-285).
  12. Мячик становится черным, на экране видны только номера. (От 19.0 до 20.0 секунд, кадры 286-300).

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

Методы анимации

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

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

Проектирование движения

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

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

Физика движения

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

Вообразите себе фигуру, которая готовится выполнить длинный прыжок. Что, фигура просто свалилась в пространство? Конечно, нет. Сначала фигура приседает, бедра двигаются назад, а туловище наклоняется вперед для поддержания равновесия. Когда начинаются приседания, руки смыкаются сзади до тех пор, пока тело не перейдет в полный присед с наклоном вперед, а руки не будут вытянуты до отказа назад. После небольшой паузы фигура поднимается на носки и руки устремляются вперед. Затем ноги наклоняют тело вперед, руки размахиваются и фигура покидает почву. В конце концов, фигура летит в пространстве, руки полностью вытянуты вперед и ноги вытягиваются вперед, чтобы подготовиться к приземлению. Эта последовательность показана на рисунке 4.3.

В предыдущей последовательности прыжка использованы практически все элементы правдоподобного движения в анимации:

  • Преамбула
  • Расплющивание и растяжение
  • Перекрывающее действие
  • Сопровождение
  • Преувеличенное движение
  • Вторичное действие
В этой главе упомянутые элементы рассматриваются более подробно. Попытайтесь представить себе последовательность приземления прыгнувшей фигуры. Набросайте действия большого прыжка в виде сюжетной панели и затем воспроизведите анимацию jump. avi из CD-ROM и сравните ее со своей последовательностью.

Преамбула

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

Преамбула используется для подготовки аудитории к тому, что должно произойти, или для направления внимания аудитории к месту, где это должно случиться. Представьте себе веревку, которая разрывается под большой нагрузкой. Вы могли испытывать подобное когда рвется шнурок от ботинка или разрывается перегруженная веревка для сушки белья. Действие происходит внезапно и без предупреждения. Если вы аними-руете такую последовательность событий, аудитория, вероятно, не заметит момента разрыва веревки и другие важные моменты анимации, пытаясь догадаться что же случилось. В традиционном решении для такого сценария используется экстремальный случай, чтобы предвидеть основное действие. На крупном плане видно, что веревка растягивается; несколько нитей разрывается и вдруг БАХ! - веревка рвется и вы воспринимаете это событие так, как будто Порки постигла горькая участь. Преамбула крупного плана подготавливает к разрыву веревки. Вы видели эту последовательность событий сотни раз и, вероятно, никогда не переставали думать "Ну и ну, но ведь веревки так никогда не рвутся!"

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

Расплющивание и растяжение

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

Вы помните сюжетную панель отскакивающего мяча? Удлинение мяча, когда он падает и его уплощение при ударе о землю также демонстрируют принцип расплющивания и растяжения. Представьте себе, как отскакивает шарик от кеглей и резиновый мячик. Шарик от кеглей, тяжелый и жесткий, отскакивает от земли невысоко и вообще не деформируется, что показано на рисунке 4.5 - можно даже подумать, что при падении шарика деформируется земля. Однако резиновый мячик, который гораздо легче и мягче, деформируется больше, чем шарик от кеглей (рис. 4.6).

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

Следует отметить, что никогда не стоит нарушать правило, утверждающее: "Не имеет значения, как деформировался объект, он всегда должен сохранять один и тот же объем". Даже при стилизованной карикатурной анимации, в которой расплющивание и растяжение сильно преувеличены, предпринимается попытка сохранить постоянный объем. Рассмотрим воздушный шар с водой при его сжатии. Вы не добавляете и не удаляете воду, когда шар деформируется, поэтому объем остается постоянным. Такой метод используется в трансформаторе масштаба Squash и в модификаторе Stretch. Когда объект расплющивается по одной из осей, он автоматически расширяется по двум другим. Однако для усовершенствованной анимации не все так просто. Именно вы, как аниматор, должны обеспечить, чтобы деформация по любой из осей превращалась в противоположную деформацию по другим осям, а объем при этом сохранялся.

Перекрывающее действие

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

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

Сопровождение

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

В 3D Studio MAX входят контроллеры Безье, напряжения, непрерывности и смещения (ТСВ), предоставляющие возможность создания естественного движения и завершения. Хотя эти контроллеры и оказываются полезными, не следует на них серьезно рассчитывать. В большинстве случаев потребуется самостоятельно делать сопровождение и затем тщательно регулировать движение в Track View.

ПРИМЕЧАНИЕ

Дополнительная информация о контроллерах анимации приводится в главе 23, "Инструменты управления анимацией".

Инсценировка

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

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

СОВЕТ

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

Преувеличенное движение

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

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

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

Вторичное действие

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

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

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

Изучение движения животных

Общеизвестные данные по движению животных и человека собраны в работе Эдварда Майбриджа (Ead-weard Muybridge), фотографа, который сделал моментальные фотографии животных и людей при выполнении различных задач. Всякий, кто занимается анимацией живых существ, должен обращаться в его книгу "Complete Human and Animal Motion".

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

Изучение движения человека

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

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

Равновесие (

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

ПРИМЕЧАНИЕ

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

Криволинейное движение

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

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

На рисунке 4.13 показано более реальное движение головы. Заметьте, что сначала голова опускается и затем после поворота отклоняется назад. Черты лица теперь следуют по искривленному пути. Чем больше голова опускается, тем более эмоционально выглядит поворот головы.


ГЛАВА 5

Планирование проектов

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

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

  • Принятие решения о необходимой точности, детализации и сложности сцены.
  • Понимание того, как 3D Studio MAX сохраняет цифровые значения и как избежать их округления.
  • Определение единиц измерения для эффективного моделирования и совместного использования файлов.
  • Установка и управление трехмерными видами.
  • Работа со многими типами файлов, используемыми в 3D Studio MAX.
У вас возникла идея для анимации. Вы разработали историю и нарисовали сюжетные панели. Теперь есть пустая сцена, которую требуется заполнить объектами анимации. Следующий шаг заключается в моделировании этих объектов.

Решения моделирования

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

Точность

Насколь точной должна быть модель? В отличие от систем САПР, для которых точность является главной, 3D Studio MAX более гибок. Хорошее правило гласит: "Если это выглядит правильно, то оно и является правильным". Но это не означает, что в своих моделях можно "жульничать" с размерами или полностью игнорировать точность. Это означает необходимость осознания, что 3D Studio MAX, помимо прочего, является инструментом визуализации. Уровень точности, необходимый для отображения объектов на сцене, гораздо ниже того, который требуется для их правильного изготовления.

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

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

  • Порог вывода изображения
  • Цифровые пороги 3DS МАХ

Порог вывода изображения

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

ПРИМЕЧАНИЕ

При анимации видимая ширина и высота сцены изменяются в зависимости от положения камеры и поля обзора (FOV). Требования к точности при анимации определяйте по самой критической Ниже приведен пример оценки порога точности вывода изображения сцены. Представьте себе планирование визуализации небольшого офисного здания для вывода на экран с разрешающей способностью 800 х 600 пикселов. Требуется знать, насколько точной должна быть модель.

Измерение порога точности на сцене

В этом примере используются два типа вспомогательных объектов - Grid (сетка) и Таре Measure (рулетка). В примере также оценивается размер вида Safe Frame (безопасный кадр). Подробные сведения о создании и использовании вспомогательных объектов приведены в следующей главе. Safe Frame рассматривается в главе 20, "Камеры и установка снимка".

Первым шагом является создание простой модели и определение основного вида камеры для сцены. На рисунке 5.1 показана сцена PRECISE.MAX, которую можно загрузить из сопровождающего CD-ROM. На сцене изображена модель офисного здания с размерами 180 футов в ширину, 130 футов в глубину и 34 фута в высоту.

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

  1. Щелкните на Grid в категории Helpers General на панели Create.
  2. Переместите курсор в любое окно, чтобы создать в нем сетку. На рисунке 5.2 показана квадратная сетка размером 50 футов, созданная в окне CameraOl.
  3. Выполните Views -> Grids -> Activate Grid Object, чтобы сделать созданный объект сетки активной плоскостью конструкции.
  4. Выполните Views -> Grids -> Align To View для выравнивания сетки по видовому окну CameraOl. Результаты этих четырех шагов показаны на рисунке 5.2. После использования команды Align To View сетка смещается и поворачивается так, что выравнивается и центрируется по месту расположения камеры. Теперь требуется переместить сетку вдоль линии взгляда камеры до тех пор, пока предмет (здание) не попадет в центр сетки. Это делается путем перемещения сетки вдоль локальной оси Z.
  5. Щелкните на Move и установите Transform Managers (диспетчеры трансформаций) в локальные (Local) координаты, а ограничение - по оси Z.
  6. Переместите сетку так, чтобы она была по центру здания, как показано на рисунке 5.3. Сетку можно поместить в любое удобное видовое окно. Наконец, вы готовы к созданию двух вспомогательных рулеток (Таре) для измерения высоты и ширины Safe Frame в виде через камеру:
  7. Щелкните на виде CameraOl для его активизации.
  8. Щелкните на Таре в категории Helpers General на панели Create.
  9. Создайте одну рулетку для измерения ширины Safe Frame и другую для измерения высоты, как показано на рисунке 5.4.
  10. В панели Modify каждый раз выбирайте по одной рулетке. Запомните их длину в поле Length.
  11. Разделите измеренные ширину и высоту на ширину и высоту полученной визуализации. Результаты будут следующими:
    Ширина: 284 фута/800 = 0.36
    Высота: 213 футов/600 = 0.36
Результатом является 0.36 фута или немногим более 4" и это означает, что каждый пиксел изображения занимает на экране немного больше 4". Если предположить, что объект находится по центру пиксела, его можно перемещать на 2" в обе стороны и он по-прежнему будет находиться в пределах того же пиксела. Такая модель и вид через камеру имеют порог точности вывода изображения ±2".

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

ПРИМЕЧАНИЕ

В предыдущем упражнении были получены одинаковые значения ширины и высоты изображения, равные 0.36 фута. Эти величины равны только в том случае, если соотношение размеров для устройства визуализации установлено в 1.0. При задании разрешающей способности вывода соотношение размеров, отображаемое в диалоге Render Scene не всегда равно 1.0. Конфигурация для разрешающей способности видео в 512х 486 определяет коэффициент сжатия 1.25. Когда подобное происходит, результатом будут два различных значения для расстояния, покрываемого одним пикселом - одно значение для измерения по горизонтали и другое - для измерения по вертикали. Вы должны решить, какое из значений влияет на наиболее критические детали сцены. Подобную технологию можно использовать в проектах, для которых точность не особенно критична. Сделайте несколько грубых оценок размеров основных видов и разделите эти размеры на разрешающую способность устройства вывода. Такие вычисления обеспечивают получение приблизительных значений порога точности, пригодного для множества проектов.

СОВЕТ

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

Цифровые пороги 3DS МАХ

В 3D Studio MAX для хранения цифровых значений используются числа с плавающей запятой одиночной точности (float). Такой выбор повышает производительность 3D Studio MAX за счет незначительной потери точности при работе с очень большими или очень малыми моделями. Числа с плавающей запятой могут представлять собой исключительно большие или малые числа, но они всегда ограничены семью значащими цифрами, в результате чего 3DS МАХ всегда точно воспроизводит числа, содержащие до семи цифр, но когда этот диапазон превышается, возникают ошибки округления.

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

Если единица измерения в системе по умолчанию составляет I", устанавливаются несколько диапазонов точности, включая:

  • Точность до 1" в диапазоне до 60.8 миль
  • Точность до '/8" в диапазоне до 7.8 мили
  • Точность до 1 см в диапазоне до 6.12 км
  • Точность до 1 мм в диапазоне до 765 метров
Отметим, что можно работать и с метрическими единицами (SI), хотя в системе установлена единица измерения I". Подробные сведения об установке единиц измерения приводятся в разделе "Установка единицы измерения" позже в этой главе.

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

  • Модель с соответствующим уровнем детализации для масштабирования сцены. Если сцена охватывает весь город размером, например, с Манхеттен, не имеет смысла моделировать дверные ручки.
  • Модель должна находиться вблизи мирового начала координат. При импортировании модели из систем CAD с очень высокой точностью непринято, чтобы объекты располагались на расстоянии миллионов единиц измерения от мирового начала координат. Переместите объекты к этому началу координат либо в системе CAD перед их экспортированием, либо в 3D Studio MAX непосредственно после импортирования.
  • Изменяйте System Unit Scale (масштаб единиц в системе) в диалоге Preference Settings (предпочтительные установки) только в случае крайней необходимости. Изменять масштаб придется редко. Более подробно вопросы изменения масштаба рассматриваются в разделе "Установка масштаба единиц системы".
Например при моделировании очень маленьких объектов молекулярного масштаба следует установить системные единицы измерений в миллиметры, а при моделировании очень больших объектов астрономического масштаба потребуется установить их в мили или километры.

Моделирование деталей

Проблема подходящей для сцены детали тесно связана с точностью. В предыдущем примере сцены один пиксел равен расстоянию в 4". В заключительной визуализации деталь менее 4" теряет определение.

Также необходимо учитывать, какая видимая деталь является подходящей для сцены. Существует много ситуаций, в которых деталь выглядит излишне большой в сцене, и поэтому не используется. Почему? Потому что некоторые детали не подходят для сообщения, которое требуется передать. Рассмотрим, например, офисное здание, описанное ранее. Была создана модель этого здания и расположена в нужном месте. Теперь вы хотите добавить на фон несколько людей и автомобилей. Расчет порога точности для автомобилей показывает, что детали, подобные дворникам на ветровых стеклах и украшениям на капоте окажутся видимыми. Не моделируйте их. Упомянутые детали автомобилей выпадут из главного предмета визуализации, коим является здание. В этом случае заботы о композиции и фокусе аннулируют точное внимание к деталям.

Можно также рассмотреть возможность применения в модели технологии артиста. Часто артист представляет собой деталь, предполагающую наличие формы или тени, которая к чему-то относится. Зритель подсознательно погружается в детали. Можно только удивляться тому, как небольшая деталь "делает погоду" в модели.

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

Сложность модели

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

Различные методы уменьшения сложности модели обобщены в следующих стратегиях:

  • Управляйте созданием граней с помощью различных параметров объекта - сегментов и сторон для примитивов, шагов путей и форм для объектов и элементов управления мозаикой для некоторых модификаторов. Эти установки непосредственно управляют количеством граней, используемых для отображения объекта, и многие из этих параметров можно сделать анимационными для увеличения или уменьшения сложности в процессе анимации.
  • Для уменьшения сложности модели используйте модификатор Optimize (оптимизировать). Этот модификатор использует многочисленные параметры для анализа объекта и уменьшения количества используемых вершин и граней. Параметры Optimize также можно сделать анимационными для изменения значения оптимизации во времени.
  • Используйте карты вместо настоящей геометрии. Множество деталей модели можно представить при помощи карты или картинки детали и это лучше, чем настоящее моделирование детали с гранями. На рисунке 5.5 показан пример применения такого метода для модели калькулятора. Очень простая геометрия создает сложную визуализацию с помощью внимательного использования карт. Здесь действует правило: "Никогда не моделируйте геометрию, которую можно представить в виде карты".

Установка единиц

В 3D Studio MAX единицы определяются и измеряются в двух местах: диалог Units Setup (установка единиц) и System Unit Scale (масштаб единиц системы) в диалоге Preference Settings (установки глобальных параметров).

Основным методом определения единиц измерения является диалог Units Setup, который позволяет указать, как единицы измеряются и отображаются.

System Unit Scale устанавливает внутреннее значение, для которого представляется общая единица. Это значение изменяется очень редко, если вообще изменяется.

Установка единицы измерения

Для определения способа измерения и отображения расстояний на сцене используется диалог Units Setup. Этот диалог содержит четыре опции, показанные на рисунке 5.6.

Первые две опции определяют методы измерений Metric (SI) и US Standard (футы и дюймы). Эти варианты очень прямолинейны и в рамках своих конкретных методов предлагают подопции. Например, в US Standard имеется две опции Decimal Feet (десятичный фут) (стандарт для гражданской техники) и Feet with Fractional Inches (фут с дробными дюймами) (архитектурный стандарт). Метод Metric позволяет выполнять измерения в миллиметрах, сантиметрах, метрах или километрах.

Используйте третью опцию Custom (пользовательская) для определения любой требуемой единицы измерения. Единственным ограничением является то, что единицу измерения необходимо описать с помощью единиц, уже знакомых 3D Studio MAX. Для определяемой единицы укажите суффикс, за которым следует Значение в известных единицах, которому равна определяемая единица. В 3D Studio MAX User's Guide ("Руководство пользователя 3D Studio MAX") приведен пример определения устаревшей единицы измерения "локоть", однако пользовательские единицы также удобны и для современных методов измерения. Например, нужно смоделировать очень маленькие объекты. В US Standard для очень маленьких измерений используются милы, один мил (mil) равен 0.001". Если необходимо работать в милах, можно определить следующую общую единицу:

Мил=0.001"

Последней опцией является Generic Units (общие единицы). 3D Studio MAX не присваивает никакого конкретного значения общим единицам и размер объектов управляется текущей установкой System Unit Scale.

Работа с общими единицами - не очень хорошая идея. Каждый раз при создании объекта следует помнить конкретную единицу измерения. Люди обычно не мыслят в общих единицах измерения. Посмотрите на три последующих заявления:

"Мой стол имеет размеры 30 на 60 единиц". "Мой рост составляет 6 единиц". "Для этого болта нужен ключ на 14 единиц".

Это неопределенные заявления, предполагающие весьма странные пространственные соотношения - до тех пор, пока им не присвоить правильную единицу измерения:

"Мой стол имеет размеры 30" х 60". "Мой рост составляет 6 футов". "Для этого болта нужен ключ на 14 миллиметров".

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

Установка масштаба единиц системы

Установка System Unit Scale (масштаб единиц системы) не зря глубоко спрятана внутри панели General диалога Preference Settings. Нельзя изменять эту установку по своей прихоти. Внутри 3D Studio MAX расстояния хранятся в общих единицах, не имеющих конкретного значения. System Unit Scale является базовым масштабом, когда 3D Studio МАХ отображает измерения в различных полях параметров. Изменение значения System Unit Scale изменяет значения всех измерений на сцене.

System Unit Scale хранится в файле 3dsmax.ini, а не в отдельных файлах сцены МАХ. Все измерения в файле сцены хранятся в общих единицах, которые умножаются на System Unit Scale, когда файл сцены открывается или объединяется. Например, создается куб со сторонами в 10" с использованием System Unit Scale, по умолчанию равного 1.0". При сохранении сцены этот куб сохраняется со сторонами длиной 10 единиц. Если изменить System Unit Scale до 1 фута и открыть сцену с кубом, окажется, что она имеет стороны в 10 футов. Но куб не изменился, просто изменилось значение единицы.

Трудно объединять и совместно использовать файлы, если рабочие станции используют различные System Unit Scale. Попытайтесь оставить значение System Unit Scale по умолчанию 1" и изменяйте его только после тщательного рассмотрения последствий для всего проекта и возможностей использования файла в будущем.

Единственная причина изменения System Unit Scale может заключаться в устранении проблем округления при моделировании очень больших или очень маленьких сцен. (Цифровые пороги и числа с плавающей запятой с одиночной точностью рассматривались ранее в этой главе.) Округление влияет не только на точность сцены, но также и на возможность трансформации объектов и уровни увеличения/уменьшения.

Например, предположим, что моделируется вся Земля. При использовании System Unit Scale равной 1" окружность Земли в 24900 миль составит больше, чем 1.5 миллиардов дюймов. Установка единицы измерения в мили поможет работать с такими числами, но 3D Studio MAX по-прежнему работает в дюймах. Округление с одиночной точностью наступает при 40 футах и при работе с такими большими числами появляется множество проблем - наиболее очевидной проблемой будет ограничение максимального вида до ширины немного меньше четырех миллионов единиц; нельзя будет увидеть всю протяженность сцены.

Если изменить System Unit Scale на 1 милю, числа станут гораздо управляемыми. Окружность Земли составит 24900 системных единиц, будет достаточно места для увеличения вида, а точность по-прежнему окажется приемлемой и составит 40 футов.

Манипулирование видами

3D Studio MAX обеспечивает быстрый и эффективный способ манипулирования видами модели. Инструменты просмотра обеспечивают весьма широкий диапазон возможностей - от задания компоновки экрана для управления типом вида и ориентацией до указания способов оптимизации перерисовки во время работы.

Расположение видовых окон

Можно указать две компоновки видовых окон и по желанию переключаться между ними. Выполните Views -> Viewport Configuration из меню или правый щелчок на метке видового окна и выберите Configure из всплывающего меню.

На рисунке 5.7 показана панель Layout диалога Viewport Configuration и 14 стандартных расположении видовых окон в верхней части диалога. В правой части диалога расположены две кнопки опций, разрешающие выбирать работу с Layout А или с Layout В. Выберите необходимую компоновку и затем щелкните на одном из 14 стандартных расположении видовых окон.

После щелчка на ОК активная опция компоновки (А или В) отображается в окне приложения 3D Studio MAX. Между компоновками А и В можно переключаться в любое время с помощью нажатия на клавишу |.

Ориентации вида

Более важной, чем установка компоновки видового окна, является установка различных ориентации вида. 3D Studio MAX поддерживает 13 ориентации вида. Эти ориентации можно организовать в четыре функциональных группы:

  • Стандартные ортографические виды (сверху, снизу, спереди, сзади, слева и справа).
  • Определяемые пользователем виды User (аксонометрические) и Perspective (перспектива).
  • Основанные на объектах виды Camera (камера). Spotlight (точечный источник света). Grid (сетка) и Shape (форма).
  • Дорожка для отображения в видовом окне инструмента анимации Track View.

Типы видов можно присваивать, указав компоновку видового окна из диалога Viewport Configuration. При щелчке на образце компоновки видового окна на левой стороне диалога отображается всплывающий список имеющихся типов видов, как показано на рисунке 5.8. Этот список появляется также по правому щелчку на метке видового окна и последующему выбору Views из всплывающего меню. Отметим, что типы видов Camera и Spotlight отсутствуют в списке до тех пор, пока на сцене не будут созданы камеры и точечные источники

Самым быстрым и удобным способом изменения типа вида является использование "горячих" клавиш:

  • Т. Отображает вид сверху
  • В. Отображает вид снизу
  • F. Отображает вид спереди
  • К. Отображает вид сзади
  • L. Отображает вид слева
  • R. Отображает вид справа
  • U. Преобразует текущий вид в аксонометрический вид User. Угол вида не изменяется. Преобразование вида Front в вид User сохраняет то же самое выравнивание вида, однако активная Construction Plane (плоскость конструкции) изменяется на Ground Plane (плоскость подложки). Плоскости конструкции рассматриваются в главе 7, "Основы создания".
    Нажатие на U - это удобный способ переключения между перспективой и аксонометрическим видами без изменения угла обзора.
  • Р. Преобразует текущий вид в вид перспективы. Подобно виду User нажатие на Р сохраняет угол обзора и изменяет Construction Plane на Ground Plane. В отличие от User проекция перспективы всегда изменяет оформление вида.
  • С. Отображает вид перспективы Camera. Если камер много, появляется диалог, в котором можно выбрать камеру по имени.
  • $. Отображает вид перспективы из точечного источника света. Если источников света много, появляется диалог, позволяющий выбрать источник света по имени.
  • G. Выравнивает вид по активному объекту сетки. Можно создать ряд объектов сетки и затем указывать один из них в качестве активной Construction Plane. Работа с видом Grid (сетка) аналогична работе с видом Тор, если Ground Plane является активной плоскостью конструкции. Нажатие на G не выравнивает вид по Ground Plane.
  • D. Запрещает видовое окно. Запрещенное видовое окно предотвращает перерисовку любой геометрии сцены, если вид не является активным видом. Активный запрещенный вид ведет себя подобно любому другому виду при работе с ним. Если сделать активным другой вид, запрещенный вид замораживает свое отображение до тех пор, пока снова не станет активным или из меню Views не будет выбрана команда Redraw All Views (перерисовать все виды). При этом эффективность отображения в активном виде улучшается за счет уменьшения обновлений запрещенных видов в реальном времени.
  • Е. Преобразует видовое окно в отображение Track View (вид дорожки). Обычно Track View отображается в плавающем окне над окном приложения 3D Studio MAX. Это просто другая опция отображения. Почему Е используется в качестве горячей клавиши? Просто потому, что любая другая буква в термине Track View уже является горячей клавишей для чего-то еще.
    Для видов Shape горячие клавиши не определены. Выбирайте Shape из всплывающего меню для выравнивания вида по выделенному объекту Shape. Использование вида Shape с координатами Local и View - удобный способ для редактирования форм, не выровненных по плоскости конструкции или объекту сетки.

ПРИМЕЧАНИЕ

Большинство горячих клавиш 3D Studio MAX можно изменять через панель Keyboard (клавиатура) в диалоге Preference Settings. Перечисленные выше клавиши являются горячими клавишами по умолчанию.

Навигация по видам

В 3D Studio MAX существует множество способов навигации в 3D-npocTpaHCTBe. Основы использования кнопок навигации по видам описаны в главе 4 "Руководства пользователя 3D Studio МАХ". Последующие разделы предлагают ряд дополнительных советов по использованию видов и показывают способы ускорения навигации по видам через альтернативные клавиши клавиатуры.

Изменение масштаба отображения видов

Большинство кнопок навигации по видам используется для изменения масштаба отображения вида. Такие кнопки имеются для всех типов видов за исключением Camera и Spotlight.

Основным методом использования является щелчок на кнопке Zoom и последующее перетаскивание в виде для определения масштаба увеличения. Эффект команды Zoom можно изменить нажатием на следующие кнопки модификаторов:

  • Ctrl при перетаскивании ускоряет изменения масштаба увеличения
  • Ctrl при перетаскивании Zoom All или щелчок на Zoom Extents All исключает из команды виды Perspective
  • Ctrl и правый щелчок на Zoom или Zoom All создает двухкратное увеличение
  • Alt и правый щелчок на Zoom или Zoom All создает двухкратное уменьшение

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

  • Alt+Ctrl+Z - увеличение размеров в активном виде
  • Shift+Ctrl+Z - увеличение размеров во всех видах
  • Shift+(Num+) - двухкратное увеличение в активном виде
  • Shift+(Num-) - двухкратное уменьшение в активном виде
  • Shift+r - увеличение, равное приблизительно половине (1.414) увеличения, обеспечиваемого Shift+(Num+); официально это называется Interactive Zoom In (интерактивное увеличение)
  • Shift+] - уменьшение, равное приблизительно половине (0.707) происходящего при Shift+(Num-); официально это называется Interactive Zoom Out (интерактивное уменьшение)

Следующие две горячие клавиши увеличения являются автономными командами. Они отменяют любую другую активную команду:

  • Z - увеличение активного вида
  • Ctrl+W - увеличение в режиме области

Горячие клавиши можно присвоить всем командам Zoom. Перечисленные выше горячие клавиши являются горячими клавишами по умолчанию 3D Studio MAX в состоянии поставки. Эти присвоения можно изменять или определять горячие клавиши для других команд Zoom через панель Keyboard в диалоге Preference Settings.

Перетаскивание вверх и вниз для изменения масштаба вида и использование горячих клавиш - быстрые способы установки масштаба отображения вида. Иногда возникает необходимость точной установки величины увеличения/уменьшения - в этих случаях следует использовать клавиши со стрелками. Метод увеличения/уменьшения при помощи клавиш со стрелками отличается от других методов. При нормальном методе требуется щелкнуть на кнопке Zoom или Zoom All и выполнить перетаскивание в видовом окне для уточнения величины увеличения/уменьшения. При использовании клавиш со стрелками нужно щелкнуть на видовом окне, не выполняя при этом перетаскивание.

Клавиши со стрелками имеют следующий эффект:

  • Нажатие на клавиши со стрелками изменяет величину увеличения/уменьшения на небольшие значения.
  • Нажатие Ctrl при нажатии на клавиши со стрелками изменяет величину увеличения/уменьшения на большие значения.
    При этом разница составляет 100 раз.
  • Нажатие и удержание клавиш со стрелками вызывает непрерывное увеличение/уменьшение.
    Для увеличения/уменьшения при помощи клавиш со стрелками необходимо выполнить следующее:
    1. Щелкните на Zoom или Zoom All.
    2. Щелкните в видовом окне там, где требуется выполнить увеличение/уменьшение.
    3. Нажмите на клавишу со стрелкой вверх для увеличения.
    4. Нажмите на клавишу со стрелкой вниз для уменьшения.
    5. Щелкните левой кнопкой мыши для завершения увеличения/уменьшения или правой кнопкой для его отмены.

Панорамирование видов

Команда Pan применяется ко всем типам вида за исключением Camera и Spotlight. На самом деле виды Camera и Spotlight также имеют команду с именем Pan, но это совершенно другая операция. С командой Pan можно использовать следующие горячие клавиши:

  • Ctrl при перетаскивании ускоряет панорамирование.
  • Ctrl+P (режим Pan). Эту команду нельзя использовать интерактивно; перед активизацией режима Pan она отменяет текущую команду.
  • I (интерактивное Pan). При нажатии на I панорамирование происходит так, что вид центрируется по отношению к курсору. Эта команда интерактивная и не прерывает текущую команду. Интерактивная Pan аналогична методу, называемому прокруткой по ребру, но при прокрутке сохраняется полное управление.

Аналогично командам Zoom можно панорамировать вид, используя клавиши со стрелками. Этот метод обеспечивает точное управление расстоянием панорамирования. Клавиши со стрелками имеют следующий эффект:

  • Нажатие на клавиши со стрелками панорамирует вид на небольшую величину.
  • Нажатие Ctrl при нажатии клавиш со стрелками панорамирует вид на значительную величину. Разница в изменении расстояния панорамирования составляет 100 раз.
  • При нажатии и удержании клавиш со стрелками происходит непрерывное панорамирование.
    Для панорамирования с помощью клавиш со стрелками необходимо выполнить следующее:
    1. Щелкните на Pan.
    2. Щелкните в видовом окне там, где требуется выполнить панорамирование.
    3. Нажмите на клавиши со стрелками вверх и вниз для выполнения панорамирования по вертикали.
    4. Нажмите на клавиши со стрелками вправо и влево для выполнения панорамирования по горизонтали.
    5. Щелкните на левой кнопке мыши для завершения панорамирования или на правой - для его отмены.

Вращение видов

Кнопка Arc Rotate доступна для всех типов видов за исключением Camera и Spotlight. Используйте кнопку Arc Rotate для вращения вида вокруг любой из трех осей координат. Arc Rotate имеет дополнительный эффект преобразования ортографического вида в аксонометрический вид User.

Версия 1.1 3D Studio MAX содержит ошибку, которая предотвращает корректное поведение Arc Rotate в видах без перспективы. При использовании Arc Rotate предполагается, что вращение вида происходит вокруг центра видового окна вместо того, чтобы центр вращения был смещением от мирового начала координат на величину, которая грубо равна обратному расстоянию от мирового начала координат до центра вида. Чем дальше вид от мирового начала координат, тем труднее использовать Arc Rotate. Если требуется вращать вид без перспективы, всегда используйте Arc Rotate Selected, поскольку все вращения вида через Arc Rotate Selected центрируются на выбранном объекте и поведение становится более предсказуемым. Стандартная Arc Rotate хорошо работает с видом Perspective.

Arc Rotate функционирует следующим образом:

  • Перетаскивание закладок Left и Right вращает вид вокруг глобальной оси Z, проходящей через центр вида.
  • Перетаскивание закладок Тор и Bottom вращает вид вокруг горизонтальной оси экрана, проходящей через центр вида.
  • Перетаскивание вне Arc Ball вращает вид вокруг оси глубины экрана, проходящей через центр вида.

Включите Angle Snap для ограничения вращении вида до значения привязки угла, установленного в диалоге Grid and Snap Settings. Как при увеличении/уменьшении и панорамировании, виды можно вращать при помощи клавиш со стрелками. При этом обеспечивается очень точное управление углами обзора.

Клавиши со стрелками имеют следующий эффект:

  • Нажимайте клавиши со стрелками влево или вправо для вращения вида с инкрементом 1° вокруг мировой оси Z, проходящей через центр вида.
  • Нажимайте Shift вместе с клавишами со стрелками влево или вправо для вращения вида с инкрементом 1° вокруг оси глубины экрана, проходящей через центр вида.
  • Нажимайте клавиши со стрелками вверх и вниз для вращения вида с инкрементом 1° вокруг горизонтальной оси экрана, проходящей через центр вида.
  • Нажмите Ctrl в любом из приведенных выше методов для вращения вида с инкрементом 10°.
    Для вращения вида клавишами со стрелками выполните следующее:
    1. Щелкните на Arc Rotate.
    2. Щелкните в видовом окне, где требуется выполнить вращение.
    3. Нажмите клавишу со стрелкой для вращения вида.
    4. Щелкните левой кнопкой мыши для завершения вращения или правой - для его отмены.

Работа с файлами

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

Объединение множества файлов сцен

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

Стратегии для файлов сцены

Для построения ЗD-модели лучше всего подходит стратегия, подобная стратегии разделения на уровни в системах CAD. Однако, кажется, что стратегия моделирования делится на два основных метода.

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

  • Сцена относительно проста и состоит из общих, хорошо известных объектов. Вы неплохо представляете, как выглядит чашка кофе или электрическая лампочка, поэтому можно просто начать новый файл "с нуля".
  • У вас уже имеется файл подходящей модели. Модель использовалась в предыдущем проекте, имеется на CD-ROM или куплена у независимого разработчика. Например, если необходима детализированная каркасная модель кофеварки, можно использовать модель из Kinetix Residental 3D Props CD-ROM, а не создавать свою модель (рис. 5.9). В этом случае скопируйте файл, при необходимости отредактируйте его и включите в свою основную сцену.

ПРИМЕЧАНИЕ

Версия 1.1 3D Studio MAX поставляется с небольшим числом коммерческих моделей 3DS МАХ. Однако это не проблема, поскольку 3D Studio MAX может импортировать каркасные файлы в других форматах.

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

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

Объединение и замена объектов на сцене

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

Выполните Merge из выпадающего меню File для объединения с текущей сценой объектов из одного .МАХ-файла сцены. После выбора файла для объединения появляется второй диалог Merge; выберите объекты для объединения (рис. 5.10). Из выбранного файла можно объединить все или любое количество объектов из списка. В сцене 3D Studio MAX можно объединять множество объектов с одинаковыми именами.

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

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

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

Координация с другими программами моделирования

Хотя 3D Studio MAX - один из самых мощных инструментов моделирования, иногда для выполнения работы необходимо прибегать к другим программам. Вторичными программами моделирования для пользователей 3D Studio MAX являются AutoCAD и Mechanical Desktop от Autodesk.

Открытие моделей, записанные в других форматах, производится по команде Import из меню File. В версии 1.1 3D Studio MAX поддерживаются следующие типы файлов:

  • 3DS - стандартная 3D-сцена и файл анимации из 3D Studio R4 для DOS.
  • SHP - файл 2D Shaper из 3D Studio R4 для DOS. Этот файл содержит 2D-cплaйны, которые преобразуются в объекты формы на сцене 3D Studio MAX.
  • PRJ - стандартный файл проекта 3D Studio R4 для DOS. Этот файл объединяет 2D- и ЗD-инфopмa-цию из 3D Studio. В 3D Studio MAX импортируются только сплайны из 2D Shaper, а также каркасы и анимация из 3D Editor и Keyframer. Вся другая информация из PRJ, включая 3D Lofter, игнорируется.
  • DWG - файлы 2D- и ЗD-чepтeжeй из AutoCAD R13 и более ранних версий.
  • DXF - Autodesk Drawing Exchange Format. Этот тип файла поддерживается AutoCAD и многими другими программами ЗD-мoдeлиpoвaния и CAD. Он поддерживает 2D- и 3D-naHHbie.
  • AI - формат файла Adobe Illustrator 88. Многие программы 2D-иллюстрации на основе сплайнов поддерживают этот тип файла. Сплайны в файле AI преобразуются в формы 3D Studio МАХ.

Преобразования файлов

После выбора стратегии моделирования - либо создание всех объектов в одном файле, либо множество файлов отдельных объектов - необходимо преобразовать файл из его собственного формата в формат сцены 3D Studio MAX. При загрузке файла DXF необходимо сделать следующее:

  1. Внутри программы CAD записать DXF-файл своей модели.
  2. Выйти из программы CAD и запустить 3DS МАХ.
  3. Выбрать Import из меню File.
  4. Выбрать *.DXF из списка Files of Type и выбрать только что созданный DXF-файл.

Теперь 3D Studio MAX отображает диалог Import DXF File с опциями, управляющими преобразованием DXF-файла (рис. 5.11).

Обеспечение координации файлов

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

Решение этой проблемы состоит в выполнении изменений проекта в мастер-файле внешней программы моделирования. При использовании внешней программы моделирования сначала необходимо идентифицировать дискретные компоненты всего проекта и записать их как независимые DXF-файлы. Затем эти файлы преобразуются в файлы 3D Studio MAX и поддерживаются как отдельные модели. При изменениях проекта вначале следует изменить мастер-файл проекта во внешней программе моделирования. После выполнения изменений записываются только те компоненты, DXF-файлы которых изменились, и они преобразуются для замены соответствующих моделей 3D Studio MAX. Ключевыми являются модели компонентов. Если вы будете преобразовывать всю модель проекта каждый раз при возникновении изменения, то все время будет потрачено на преобразование моделей, а на визуализацию и анимацию времени не останется. Управление моделями компонентов позволяет преобразовывать только измененные компоненты, при этом сохраняется работа, которая была проделана для остальной части модели.

Управление картами и материалами

Другая организационная проблема относится к хранению всех растровых изображений и библиотек материалов, которые применяются к поверхностям модели. Определения материалов записаны в файле сцены 3D Studio MAX и библиотечном файле с расширением МАТ. Определения материалов содержат все атрибуты, управляющие цветом, блеском, прозрачностью и т.д. а также ссылки на файлы изображения, присвоенные как карты. При визуализации модели 3D Studio MAX считывает ссылку на файл изображения и ищет конкретные каталоги на жестком диске для обнаружения запрошенного изображения. Если изображение не найдено, появляется диалог предупреждения, как показано на рисунке 5.12. Следует либо отменить визуализацию, либо продолжить ее без уверенности в правильности визуализации такого материала.

Файлы изображения можно загружать из любого каталога или привода компьютера. Для каждого используемого файла изображения 3DS МАХ сохраняет полный путь. Если поиск файла изображения в сохраненном пути завершился неудачно, можно указать для поиска файла изображения любое количество альтернативных каталогов. Это делается при помощи добавления путей в панели Bitmaps диалога Configure Paths. Выберите Configure Paths из меню File для отображения диалога, показанного на рисунке 5.13.

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

Глобальные библиотеки

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

По умолчанию библиотеки MAT размещаются в каталоге 3dsmax\maps, который автоматически создается при установке 3D Studio MAX. Отдельные МАТ-файлы можно хранить в этом или любом другом каталоге, причем каждый файл связан с конкретным типом материала. Например, некоторые файлы могут включать следующее:

  • Metals.mat для металлических материалов
  • Foliage.mat для трав, листьев и винограда
  • Blocks.mat для кирпичей, блоков и черепицы

Предпочтительной стратегией организации глобальных каталогов изображений является организация изображений по предметам. При этом создаются каталоги с именами WOOD, MARBLE, SKIES, BACKGRND и т.п. Подобная организация упрощает нахождение изображений, используя конкретный предмет. Поскольку 3D Studio MAX хранит путь к любому изображению и может выполнять альтернативный поиск во многих каталогах, имеет смысл организовать изображения по точным темам. Хорошим примером такой стратегии является организация каталогов карт на сопровождающем CD-ROM (рис. 5.14).

Библиотеки проектов

Глобальные библиотеки - это великое дело, когда вы впервые собираете проект вместе, ну а что дальше? Некоторое раздражение возникает в ситуации, когда вы восстановили старый проект из архивов, загрузили его в 3D Studio MAX, а во время визуализации вдруг обнаруживаете, что необходимые файлы карт для критических материалов потерялись или изменились. Особенно это беспокоит, когда для конкретного проекта создаются заказные карты.

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

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

Управление выводом

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

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

Файлы для различных типов вывода

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

  • TARGA Формат с 16.7 млн. цветов (24 разряда), поддерживающий отдельный 8-разрядный альфа-канал прозрачности. Этот формат поддерживается большинством высококачественных программ обработки изображений и является предпочтительным форматом для вывода на видеоленту. Формат TARGA является хорошим выбором для файлов с 24-разрядным цветом общего назначения и стандартом для вывода на видео.
  • T1FF Другой формат с 16.7 млн. цветов, основанный на международном стандарте. Большинство программ обработки изображений поддерживают этот формат и делают его альтернативой TARGA. Ввиду того, что этот стандарт имеет множество вариантов, существуют некоторые проблемы совместимости между программами, предлагающими поддержку TIFF. Однако TIFF является основным форматом для печати и издательской промышленности и общепринят для платформы Macintosh. Если вы собираетесь направлять изображения в печатное бюро, издательскую систему или пользователю Macintosh, используйте формат TIFF. 3D Studio MAX может создавать TIFF-файлы с 24-разрядным цветом и 8-разрядными градациями серого.
  • BMP Этот формат является стандартом файла изображения для Windows. Он поддерживает много цветовых глубин - от монохрома (1 разряд) до истинного цвета (24 разряда). Однако 3D Studio MAX записывает только 24-разрядные BMP.
  • JPEG Этот формат обеспечивает истинный цвет при помощи схемы сжатия с переменным качеством, которая с увеличением уровня сжатия ухудшает качество изображения. К счастью JPEG разрешает значительные уровни сжатия до того, как большинство сможет обнаружить ухудшение качества изображения. Этот формат поддерживается большинством высококачественных программ обработки изображений. Файлы JPEG все шире используются в Internet.
  • GIF 8-разрядный формат с 256 цветами, разработанный CompuServe. Традиционно этот формат был очень популярен для онлайновых служб и Internet. Раньше файлы GIF были открытым бесплатным форматом; теперь для программ, создающих файлы GIF, необходимо платить за лицензию. По этой причине, вероятно, популярность GIF-формата упадет и он перестанет записываться в 3D Studio MAX.
  • PNG В ответ на плату за лицензию для файлов GIF был разработан новый формат, который должен занять место последнего. Файлы PNG поддерживают много цветовых глубин (как BMP), градации серого (как TIFF), альфа-канал (как TGA) и сжатие без потерь (как GIF). Это новый формат файла, но потенциально он станет весьма популярным.
  • LA Этот формат первоначально был разработан SGI и расширен Yost Group для 3D Studio МАХ. Файлы RLA используются в основном для хранения многочисленных 8-разрядных каналов эффектов (называемых G-буферами). Эти каналы затем могут использоваться для специальных эффектов в Video Post.
  • EPS Печатный формат, который на самом деле является языком программирования. EPS обозначает инкапсулированный PostScript и является общепринятым форматом в промышленности, связанной с печатью и иллюстрациями. 3D Studio MAX не может считывать файлы EPS и записывает только растровые изображения EPS.
  • AVI Этот формат анимации широко поддерживается мультимедиа- и Windows-приложениями. В нем нужно хранить градации серого, 8-разрядный цвет и чередующийся звук. Аналогично JPEG он также поддерживает различные схемы сжатия. AVI - популярный формат для мультимедиа-презентаций и анимаций, передаваемых через Internet.
  • FLIC Этот формат был разработан Autodesk для программ Animator и Animator Pro и включает расширения FLI, FLC и CEL. FLIC - формат анимации с 256 цветами, который использует сжатие без потерь. Несмотря на то, что многие могут считать файлы FLIC устаревшими, они по-прежнему очень популярны для мультимедиа и игр.

Преобразования файлов

А что делать, если перечисленные выше форматы не включают требуемого? 3D Studio MAX реализует поддержку файлов изображений с помощью внешних подключаемых элементов, которые можно программировать на C++. Очень вероятно, что к тому времени, когда вы прочитаете эту книгу, 3D Studio MAX будет поддерживать большее количество форматов файла.

Можно также использовать многие программы преобразования файлов, имеющиеся на рынке. Большинство высококачественных программ обработки изображений считывают и записывают файлы в различных форматах, хотя использовать для преобразования формата программу, подобную Photostyler, несколько утомительно. Для этого лучше применять другие простые и недорогие программы преобразования, поставляемые как условно-бесплатные через CompuServe и другие онлайновые службы.

Предотвращение катастрофы

Неважно, насколь быстро создаются модели и сколько вам известно соответствующих методов - все это не имеет значения, если работа будет потеряна. Такая мощная программа, как 3D Studio MAX, порождает большую вероятность путаницы. В последующих разделах описываются некоторые стратегии для защиты от катастрофы.

Сохранение файлов

Как и в любой другой программе, файлы необходимо часто сохранять. 3DS МАХ является уникальной по гибкости и количеству стратегий сохранения файлов. Для сохранения работы существует несколько команд, включая опцию для сохранения файлов с инкрементной нумерацией. На рисунке 5.15 показаны стандартный диалог Save, содержащий поле имени файла (File name), список форматов файлов (Save as type) и кнопка инкремента файла.

В поле File name можно вводить любое действительное имя файла. Для удобства 3D Studio MAX использует текущее имя файла как имя по умолчанию. Если щелкнуть на кнопке инкремента файла, 3D Studio MAX добавляет к имени в поле File name число из двух цифр. Это быстрый способ создания файлов с инкрементальной нумерацией, которые можно использовать как историю вашего продвижения вперед.

Для сохранения в файле всей сцены или ее части можно использовать следующие выборы из меню File:

  • save. Быстро сохраняет сцену без дополнительных подсказок или диалогов. Однако в случае сохранения нового файла в первый раз появляется диалог Save As.
  • Save As. Сохраняет сцену под новым именем и делает новую сцену текущей. Этот диалог содержит кнопку инкремента для сохранения файлов с последовательной нумерацией. При щелчке на этой кнопке к имени в поле имени File добавляется число из двух цифр.
  • Save Selected. Сохраняет текущую выборку объектов в файле сцены. Этот диалог также содержит кнопку инкремента. Save Selected можно использовать для быстрого разделения большой сцены на серию небольших файлов с последовательной нумерацией.
  • export. Сохраняет сцену в файл с другим форматом. Форматы экспорта, поддерживаемые 3D Studio МАХ, включают 3DS (DOS), DXF, DWG и VRML.
  • archive. Сохраняет файл сцены и сжимает его, включая по выбору все файлы карт, используемые материалами, которые присвоены сцене.

Резервирование файлов

Для создания резервных файлов в 3D Studio MAX доступны два автоматизированных метода. Один метод создает резервные файлы каждый раз при сохранении файла сцены под существующим именем. Другой метод сохраняет резервные файлы через регулярные временные интервалы.

При сохранении сцены под существующим именем 3D Studio MAX также может создать резервный файл. Для разрешения записи резервных файлов отметьте опцию Backup File в панели File диалога Preference Settings. Резервный файл является копией исходного файла и имеет имя MaxBack.bak. В случае отметки опции Increment on Save в диалоге File Preferences 3D Studio MAX создает резервные файлы с последовательной нумерацией вместо перезаписывания одного и того же файла MaxBack.bak.

Упомянутый файл всегда помещается в каталог 3dsmax\scenes независимо от каталога, из которого загружался файл сцены.

При отмеченной опции Auto Backup Enable в диалоге Preference Settings 3D Studio MAX сохраняет резервные файлы через регулярные временные интервалы. Файлы получают имена от Autobakl.mx до Autobak9.mx (максимум) и помещаются в каталог 3dsmax\scenes. При достижении максимального номера автоматических резервных файлов 3D Studio MAX снова начинает счет с autobakl.mx. Количество создаваемых файлов Autobak можно ограничить, а также задать временной интервал в минутах между сохранениями. Поле временного интервала работает с интервалом 0.01 минуты, но если вы очень беспокоитесь о том, чтобы не потерять проделанную работу, 3D Studio MAX может сохранять резервные файлы с интервалом 0.6 секунды!

Очевидно резервные файлы не подлежат длительному хранению и они никогда для этого не предназначались. Задача резервных файлов - подстраховать вас в случае случайного сохранения файла под существующим именем. Если вы поняли свою ошибку достаточно быстро, можно выполнить Alt+tab в Windows NT Explorer или File Manager и соответствующим образом переименовать резервный файл.

Откат может привести к ошибке

Одним из наиболее важных достижений в истории компьютеров является команда Undo - по крайней мере, так может показаться. Большинство пользователей программного обеспечения интенсивно использует эту команду и даже применяют ее вместо регулярного сохранения своей работы. Если вы попали в такую ловушку, будьте осторожны. Использование команды Undo может привести к весьма болезненным ошибкам.

3DS МАХ обеспечивает многочисленные методы Undo, что можно увидеть из следующего списка:

  • Откатить назад (Undo) или вперед (Redo) изменения экрана
  • Откатить назад или вперед изменения сцены
  • Хранить или выбирать временные файлы

Использование Undo/Redo

3D Studio МАХ поддерживает пять буферов undo/redo: один буфер для сцены и по одному буферу для каждого из четырех видовых окон. Эти буферы можно использовать для обеспечения решения большинства проблем. Используйте Undo/Redo из меню Edit или кнопки Undo/Redo на линейке инструментов для отмены изменений, произведенных на сцене. Практически все, что делается на сцене, можно отменить. Если вы хотите убедиться в эффекте Undo для сцены, используйте Edit -> Undo, а не кнопку Undo. Элемент меню Undo обычно включает имя операции, которую необходимо аннулировать.

Имеется возможность установки количества команд в буфере undo сцены путем изменения значения Undo Levels в панели General диалога Preference Settings.

ПРЕДУПРЕЖДЕНИЕ

Наиболее очевидными действиями, которые нельзя аннулировать, являются приложение или удаление модификатора, а также разрушение Modifier Stack. Хорошо подумайте, прежде чем выполнять эти действия, поскольку они являются постоянными.

Используйте Undo/Redo из меню Views для отмены таких изменений в видовых окнах, как панорамирование и увеличение/уменьшение. Каждое видовое окно имеет отдельный буфер undo. В каждом из этих буферов имеется 20 уровней аннулирования.

Отметим, что изменения в видовых окнах Camera и Spotlight на самом деле являются изменениями сцены, потому что вы изменяете объекты камеры и источников света, находящихся на сцене. Для отмены изменений в видовых окнах Camera и Spotlight используйте Edit -> Undo.

Использование Hold и Fetch

Другим способом отмены эффекта множества команд является Hold и Fetch из меню Edit. Выполнение Edit -> Hold сохраняет состояние текущей сцены во временном файле. После этого можно выполнить любое количество команд и по-прежнему вернуться к сохраненному состоянию через Edit -> Fetch.

По сравнению с многократными щелчками на кнопке Undo использование Hold и Fetch более удобно для отмены последовательности команд. Возьмите за привычку выполнять Hold перед попыткой применения сложного метода. (Конечно, в этом случае можно использовать и старомодное Save.) Затем, если метод не работает, можно использовать Fetch для быстрого возврата к начальной точке.

Также, если в системе произошла авария и вы не можете обычным способом выйти из 3D Studio MAX, по-прежнему можно восстановить содержимое временного Hold-файла. Этот файл называется maxhold.mx и находится в каталоге 3dsmax\scenes. Его можно загрузить в 3D Studio MAX непосредственно или переименовать в обычный файл сцены.

Архивирование и резервирование файлов

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

Вложите деньги в хорошее устройство резервирования с большой емкостью и постоянно его используйте. Некоторые устройства более универсальны и их можно использовать не только для резервирования. Теперь наиболее важной характеристикой хорошего устройства резервирования является возможность его снятия. Плохо, если устройство резервирования находится на втором приводе жесткого диска когда в офисе возникает пожар и вся система плавится. Снимите резервный носитель и храните его вне офиса.

Команда архивирования 3DS

В 3D Studio MAX включено удобное меню для объединения в один сжатый архив файла сцены со всеми опорными картами изображения. Для создания архивов 3DS МАХ использует программу PKZIP. Укажите место расположения зарегистрированной программы PKZIP в панели File диалога Preference Settings. Недостатком встроенной команды Archive является то, что она сохраняет только одну сцену 3D Studio MAX со всеми относящимися к ней картами изображения. К сожалению, многие проекты включают множество сцен, файлы внешних программ и очереди Video Post; все это команда Archive не обрабатывает. Кроме того, любой специализированный подключаемый элемент, используемый сценой, в архив не включается. Каждый подключаемый элемент, используемый для создания сцены, должен находиться на своем месте для эффективной загрузки сцены. Если архивируется файл и затем удаляется необходимый подключаемый элемент, эта часть сцены теряется. Лучшим методом использования команды Archive является быстрая и удобная упаковка своей работы, пока вы еще находитесь в 3D Studio MAX. He надейтесь, что эта команда построит полный архив всего проекта.

ПРЕДУПРЕЖДЕНИЕ

Текущая версия PKZIP (версия 2.04д) не поддерживает длинные имена файлов. Для совместимости с PKZIP используйте при именовании стандартные имена файлов 8.3.

Ручное архивирование

Если требуется сархивировать различные файлы, связанные с проектом, это делается вручную. Используйте предпочитаемую программу архивирования для сжатия файлов в каталоге проекта в один архивный файл. Если вы создали отдельные каталоги для карт или вывода ниже каталога проекта, сообщите программе архивирования о необходимости рекурсивного обращения к подкаталогам и сохранения полных имен путей. Если законченный проект архивируется на длительный срок, неплохо вместе с ним заархивировать 3D Studio МАХ со всеми подключаемыми элементами. СОВЕТ

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


ГЛАВА 6

Выборка, трансформации и точность

Многие задачи, решаемые в 3D Studio MAX, требуют выбора и трансформации объектов. Помните, что объекты включают в себя не только традиционную геометрию.

Ниже перечислены некоторые примеры выборки и трансформации:

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

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

Использование выборок

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

Для оказания помощи в ознакомлении с основными методами выборок в этом разделе рассматриваются основы выборок в 3DS МАХ, выборки подобъектов, выбор объектов по их свойствам и построение именованных наборов выборок.

Основы выборок

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

Использование инструментов выборки

На рисунке 6.1 показан основной инструмент выборки вместе с кнопками трансформации линейки инструментов 3D Studio MAX. Объекты можно выбирать в любой момент, когда активна кнопка выборки или любая кнопка трансформации. Такая возможность выборки становится совершенно очевидной благодаря советам инструмента в виде меток "Select and Move" (выберите и переместите), "Select and Rotate" (выберите и вращайте) и "Select and Uniform Scale" (выберите и выполните однородное масштабирование). К счастью, этот тяжеловесный метод присвоения имен отсутствует в других частях 3DS МАХ, в которых инструменты для трансформации ключей в Track View или трансформации вершин управления в деформации лофтинга просто сообщают "Move" (переместить) или "Scale" (отмасштабировать), хотя они также выполняют двойную функцию.

ПРИМЕЧАНИЕ

Объекты можно также выбирать при помощи кнопок "Select and Link" (выбрать и связать) и "Bind to Space Warp" (связать с исказителем пространства), расположенных возле левого края линейки инструментов. Использование этих кнопок настолько специализировано, что в качестве обычных инструментов выборки они используются очень редко.

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

  • Системный курсор (стрелка). Курсор находится над пустым местом или над объектом, который недействителен для текущего режима выборки. Щелчки отменяют выбор всех выбранных в настоящий момент объектов; перетаскивание выполняет выборку области.
  • Курсор выбора. Курсор находится над невыбранным объектом, действительным для текущего режима выборки. Щелчки выбирают объект и отменяют выбор других выбранных объектов; перетаскивание выбирает и трансформирует объект, отменяя выбор любых других выбранных объектов.
  • Курсор трансформации. Курсор находится над выбранным объектом. Щелчки оставляют объект выбранным и отменяют выбор любого другого выбранного объекта; перетаскивание трансформирует объект и все другие выбранные объекты.

СОВЕТ

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

На рисунке 6.2 показаны все три курсора для случая трансформации Move. Левое видовое окно показывает системный курсор, который находится над пустым местом. Среднее видовое окно показывает курсор выборки, находящийся над действительным, но не выбранным объектом. Правое видовое окно показывает курсор трансформации, который находится над выбранным объектом.

Можно также воспользоваться удобными глобальными методами выборки из меню Edit. Select All (выбрать все) выбирает все объекты на сцене; Select None (не выбирать ничего) отменяет текущую выборку; Select Invert инвертирует текущую выборку так, что все невыбранные объекты становятся выбранными и наоборот.

Использование выборки области

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

Форма выборки области устанавливается во всплывающей группе линейки инструментов (рис. 6.3). Имеется три типа выборки области:

  • четырехугольник. Перетаскивание определяет прямоугольную область, один из углов который нахо-дится там, где нажимается кнопка мыши, а противоположный - там, где она отпускается.
  • окружность. Перетаскивание определяет круговую область, центр которой находится там, где нажимается кнопка мыши, а огибающая - там, где вы она отпускается.
  • Ограничивающая область. Перетаскивание определяет первый сегмент границы ограничивающей области. Щелкните для определения дополнительных сегментов. Щелкните дважды или единожды в начальной точке для закрытия области ограничения и завершения выборки.

Поведение области устанавливается переключателем области в строке подсказки или путем выбора Region из меню Edit (см. рис. 6.4). Имеется два типа поведения области - Window (окно), при котором выбираются только объекты, целиком находящиеся внутри области, и Crossing (пересечение), при котором выбираются любые объекты, касающиеся границы области или целиком находящиеся внутри нее.

Добавление/удаление объектов из выборки

Для добавления/удаления объектов из текущей выборки можно использовать стандартные клавиши моди-фикаторов Windows. За счет нажатия клавиш Ctrl и Alt во время выборки объектов выполняется следующее:

  • Ctrl. Для переключения состояния выборки объектов при щелчке нажмите клавишу Ctrl. Щелчки на невыбранных объектах добавляют их к выборке, а на выбранных - удаляют их из выборки.
  • Ctrl. Для добавления области объектов к выборке нажмите Ctrl при перетаскивании области. Объекты, выбранные внутри области, остаются выбранными.
  • alt. Для удаления объектов из выборки нажмите Alt при щелчке на объектах или при перетаскивании областей.

Фильтрация выборки

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

Можно скрыть все за исключением источников света, но тогда неизвестно, куда поместить эти источники света.

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

Лучший вариант заключается в фильтровании выборки с помощью фильтров выборки из линейки инструментов (см. рис. 6.5).

После определения типа объекта в списке фильтров выборки можно выбирать только объекты, согласующиеся с этим типом. Фильтром по умолчанию является All, который позволяет выбирать все, что угодно. Остальные фильтры соответствуют первым шести категориям панели Create: Geometry (геометрия), Shapes (формы). Lights (источники света), Cameras (камеры), Helpers (вспомогательные объекты) и Space Warps (исказители пространства).

Блокировка выборки

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

  • Щелчок на кнопке Lock строки состояния в нижней части окна 3DS МАХ
  • Нажатие на клавишу пробела

Выборка подобъекта

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

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

ПРИМЕЧАНИЕ

Доступ к режиму выборки подобъекта практически всегда выполняется из панели Modify, которая является частью модификатора или базовых параметров объекта. Единственным исключением (версия 1.1) является Trajectories (траектории), при котором кнопка Sub-object отображается на панели Motion.

Не забывайте, что 3D Studio МАХ является объектно-ориентированной программой, поэтому подобъекты включают в себя гораздо больше, чем только компоненты геометрии. Ниже приведены некоторые примеры того, что входит в режимы выборки подобъектов (см. рис. 6.6):

  • геометрия. Щелкните на кнопке Sub-object в базовых параметрах объекта Editable Mesh (редактируе-мый каркас) или в модификаторе Edit (Edit Mesh, Edit Spline, Edit Patch) (отредактировать каркас, сплайн, лоскутный объект) для выбора вершин, ребер или граней геометрии.
  • Составные объекты. Щелкните на кнопке Sub-object в базовых параметрах составного объекта, подо-бного Loft или Boolean (булевый), для выбора их внутренних форм или операндов. По непонятной причине нельзя выбирать подобъекты во внутренних объектах Morph. Помните об этом ограничении при создании объектов Morph.
  • модификаторы. Щелкните на кнопке Sub-object в модификаторе для выбора его гизмо или центра.
  • траектории. Щелкните по кнопке Subobject при работе с Trajectories в панели Motion для выбора клавиш траектории объекта.

Выборка объектов по свойству

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

Выборка объектов по типу

Обычно единственным случаем, когда необходимо выбрать объекты по типу, является случай, когда требуется выбрать все объекты конкретного типа, например, выбрать источники света или камеры или формы. Все объекты данного типа можно выбирать одним из двух способов: при помощи фильтров выборки или при помощи диалога Select Objects (выбрать объекты).

Для выбора всех объектов определенного типа выполните следующие шаги:

  1. Выберите тип объекта из списка фильтров выборки в линейке инструментов.
  2. Выполните Select All из меню Edit.

Для выбора всех объектов данного типа в диалоге Select Objects выполните следующие шаги:

  1. Нажмите Н для отображения диалога Select Objects.
  2. Щелкните на None в List Display и затем отметьте тип объекта, который требуется выбрать.
  3. Щелкните на All ниже списка выборки для выбора всех объектов отображенного типа (см. рис. 6.7).

Выбор объектов по имени

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

Выбор объектов по имени выполняется через диалог Select Objects (выбрать объекты). Диалог Select Objects можно отобразить с помощью любой из следующих операций:

  • Нажать на Н.
  • Щелкнуть на кнопке Select by Name (выбрать по имени) в линейке инструментов.
  • Выполнить Select By Name из меню Edit.

Когда диалог Select Objects становится видимым, объект можно выбирать или путем щелчка на его имени в списке выборки или при помощи ввода шаблона выборки в поле редактирования над списком выборки, как показано на рисунке 6.8.

Для расширения поиска в шаблонах выборки можно использовать следующие универсальные шаблоны:

  • ?. Принимается любой одиночный символ в данной точке строки поиска. Например, В?х выбирает Box и Bix, но не Ball или даже BoxOl.
  • *. Принимается любое количество символов в строке поиска. Например, В*х* выбирает Box, Blox, Boxes и BoxOl.

Вторым методом выборки объектов по имени является использование списка иерархии в окне Track View. Окно иерархии Track View отображает имена всех объектов сцены под ветвью Objects. Щелчок на пиктограмме желтого куба слева от имени объекта также выбирает объект сцены (рис. 6.9).

Выбор объектов по цвету каркаса

Одним из способов организации объектов является присвоение цвета каждому объекту. (Такая стратегия аналогична цветам уровней в AutoCAD.) За счет присвоения цветов появляется возможность быстрого выбора на сцене всех объектов с одинаковым цветом.

Небольшая цветовая отметка обычно отображается рядом с полем имени объекта на панели команд. Щелчок на этой отметке отображает диалог Object Color (цвет объекта), посредством которого можно присвоить цвет каркасу объекта (см. рис. 6.10). Подробные сведения об использовании диалога Object Color приведены в главе 2 "Руководства пользователя 3D Studio MAX".

О цветах объекта следует знать две важные вещи. Во-первых, необходимо спланировать свою сцену по цвету объекта и зафиксировать ее. 3DS МАХ поддерживает две цветовые палитры - вы можете использовать 256 цветов из палитры AutoCAD и 64 фиксированных цвета вместе с 16 заказными цветами из палитры 3DS МАХ. В вашем распоряжении 336 организационных групп. Во-вторых, при работе над проектом никогда не нужно включать флажок Use Random Colors (использовать случайные цвета). Опция Use Random Colors является инструментом для людей, создающих презентацию. Эта опция делает экран более интересным за счет случайного переключения цвета при создании объекта. Use Random Colors несовместима с любым типом стратегии организации цвета.

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

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

  1. Выполните Select Ву -> Со1ог из меню Edit.
  2. Щелкните на объекте с необходимым цветом.
  3. Всем объектам присваивается такой же цвет, как и у объекта, на котором производился щелчок.

Для выбора всех объектов с конкретным цветом:

  1. Щелкните на цветовой отметке рядом с любым полем наименования объекта на панели команд.
  2. Щелкните на требуемом цвете в диалоге Object Color.
  3. Щелкните по кнопке Select by Color в нижнем правом углу диалога (см. рис. 6.11).
  4. Появляется диалог Select Objects со всеми объектами, которые используют выбранный цвет, подсвеченный в списке выборки (см. рис. 6.11).
  5. Для выбора объектов щелкните на Select.

СОВЕТ

Для быстрого выбора всех подсвеченных объектов в одном месте списка щелкните на переключателе Sort By Color в диалоге Select Objects.

Выбор объектов и граней по материалу

Присвоенный материал можно выбирать двумя способами:

  • Выбор полных объектов с помощью кнопки Select By Material (выбрать по материалу) в Material Editor (редактор материалов).
  • Выбор граней с помощью кнопки Select By ID в модификаторе Edit Mesh (отредактировать каркас).

Материал, присвоенный объектам на сцене, можно оценить, посмотрев на Material Editor. Материал, присвоенный объекту на сцене, называется горячим материалом. Горячие материалы указываются белыми треугольниками в углах сегмента их образца. Если материал не горячий, он не присвоен никаким объектам и кнопка Select By Material не действует.

Выбор объектов по материалу достаточно прямолинеен. Вы определяете горячий материал в Material Editor и затем щелкаете на кнопке Select By Material. Появляется диалог Select Entities (выбрать сущности) со всеми объектами, которым присвоен текущий материал, подсвеченный в списке выборки (см. рис. 6.12).

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

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

Для выбора всех объектов, которые используют одинаковый с SampleOl материал, выполните следующие шаги:

  1. Выберите объект SampleOl.
  2. Щелкните на Get Material (получить материал) в Material Editor. При этом отображается диалог Material/Map Browser.
  3. Выберите Selected в области Browse From диалога Material/Map Browser и затем дважды щелкните на материале в списке материалов. Присвоенный SampleOl (выбранному объекту) материал помещается в текущую ячейку Material Editor.
  4. Щелкните на Select By Material. Появляется диалог Select Objects со всеми объектами, которые используют тот же самый материал, как и подсвеченный в списке выборки.
  5. Щелкните на Select для выборки объектов.

В случае использования Multi/Sub-object Material (материал мульти/подобъектов) для присвоения множества материалов граням объекта для получения информации о том, какие грани какой материал используют, применяется другой способ. В такой ситуации в модификаторе Edit Mesh потребуется применять кнопку Selected By ID (выбранный по ID). Подробная информация о создании и использовании материалов Multi/ Sub-object приведена в главе 21, "Материалы и текстуры".

В следующем примере рассмотрим объект с именем Racket, который использует материал Multi/Sub-object с именем RacketMat. Необходимо выбрать все грани Racket, использующие подматериал Black Grip.

Для выбора граней по материалу выполните следующие шаги:

  1. В Material Editor сделайте материал RacketMat текущим материалом Multi/Sub-object.
  2. Проанализируйте Basic Parameters (основные параметры) материала RacketMat и определите номер материала для подматериала Black_Grip. Например, предположим, что Black_Grip является Material 3 (материал 3). Номер материала в подматериале и материал ID для грани всегда совпадают. Теперь, зная номер материала для подматериала Black_Grip, при помощи Material ID 3 можно выбрать все грани, использующие Black_Gri р. Следующие шаги завершают процесс выбора граней с Material ID 3 (рис.б.13).
  3. Примените модификатор Edit Mesh к объекту Racket.
  4. Выберите Face (грань) в качестве уровня выборки подобъекта модификатора.
  5. Перетащите панель Modify в свиток Edit Surface (отредактировать поверхность).
  6. Щелкните на Selected By ID в области Material свитка Edit Surface.
  7. Введите 3 в диалог Selected By Material ID.

После щелчка на OK в объекте Racket выбираются все грани, использующие Material ID 3.

Выбор граней по группе сглаживания

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

Методы для выбора граней по группе сглаживания подобны методам, используемым при выборе граней по материалу. Подробные сведения об этом приводятся в главе 12.

Создание поименованных наборов выборок

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

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

  1. Определите набор выборки объектов.
  2. Щелкните на поле поименованного набора выборки на линейке инструментов.
  3. Введите имя для выборки. Нажмите Enter.

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

Поименованную выборку легко использовать повторно. При этом необходимо выбрать ее имя из списка Selection Sets (наборы выборок). Можно использовать либо список линейки инструментов, либо список в диалоге Select Objects (см. рис. 6.14).

Переименование и удаление поименованных наборов выборок

Если вы допустили опечатку при наименовании выборки и позже решили изменить это имя, следует создать выборку с новым именем и затем удалить старое имя. Этот процесс не так уж сложен, как может показаться.

Для переименования поименованной выборки выполните следующие шаги:

  1. Выберите старое имя из списка поименованных выборок.
  2. Дважды щелкните на подсвеченном старом имени и введите вместо него новое имя. При этом не забудьте нажать Enter. Выбранные объекты теперь принадлежат двум наборам выборок - со старым и новым именем.
  3. Снова выберите старое имя из списка поименованных выборок.
  4. Из меню Edit выберите Remove Named Selections (удалить поименованные выборки).

Выбор Remove Named Selections из меню Edit сразу удаляет поименованную выборку в верхней части списка поименованных выборок. Всегда убеждайтесь, что выборка с именем, которую требуется удалить, находится наверху списка.

Поименованные выборки просто идентифицируют группу объектов. Если вы удаляете один из объектов в поименованном наборе выборок, набор по-прежнему существует и содержит оставшиеся объекты. В случае обнаружения пустого поименованного набора выборок отметьте его в списке и затем выполните Remove Named Selection из меню Edit.

Именование выборок подобъектов

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

Использование групп

#PГруппы находятся где-то между поименованными наборами выборок и постоянно прикрепленными многочисленными объектами, из которых состоит одиночный объект. группы являются гибридами объединенного объекта, полупостоянным набором выборок и иерархией со специальными связями. Группа является объектом, который содержит другие объекты в виде членов группы. Группы можно анимировать, модифицировать и связывать с другими объектами. Все, что вы делаете с группой, оказывает влияние также на объекты-члены внутри группы. Уникальным для группы является то, что группу можно открыть, а затем по отдельности анимировать и модифицировать объекты внутри группы.

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

Все, что необходимо создать, отредактировать и разгруппировать в группе, начинается с выборов в меню Group линейки инструментов.

Создание групп

Для создания групп используются две команды: Group и Attach (группа и присоединить). Команда Group используется для определения любой выборки в качестве новой группы. Команда Attach применяется для добавления любой выборки к существующей группе.

Для создания новой группы из выборки объектов выполните следующие шаги:

  1. Выберите один или несколько объектов.
  2. Выполните Group из меню Group.
  3. Введите имя в диалог Group (см. рис. 6.15).

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

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

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

Для добавления объектов к существующей группе необходимо:

  1. Выбрать'один или несколько объектов.
  2. Выбрать Attach из меню Group.
  3. Щелкнуть на любом объекте, который является частью существующей группы.

Выбранные объекты добавляются к той же группе, что и объект, на котором произведен щелчок. Теперь о хитрости, с помощью которой можно узнать, на каком объекте щелкнуть, если вы не запомнили какие объекты являются членами какой группы. Курсор превращается в перекрестие только в том случае, если он находится над объектом-членом группы, но это еще не вся помощь. Весьма удобно выбирать группу по имени. Группы появляются в диалоге Select Objects с квадратными скобками вокруг имени группы. Удобной и простой заменой шага 3 в предыдущем примере становится:

  • Щелкнуть на Select By Name линейки инструментов и затем выбрать имя группы из диалога Attach to Group (присоединить к группе) (см. рис. 6.16).

Трансформация и модификация групп

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

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

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

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

Для открытия группы:

  1. Выберите любой объект-член группы, которую требуется открыть.
  2. Выполните Open из меню Group. После этого вокруг членов группы появляется розовая рамка. Эта рамка является узлом группы (рис. 6.17).
  3. Трансформируйте и модифицируйте отдельные члены группы.

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

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

СОВЕТ

Двойной щелчок на узле группы обеспечивает быстрый способ выбора всех членов группы.

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

  1. Выберите любой член открытой группы.
  2. Выполните Close из меню Group.

При этом открытая группа и любые открытые вложенные группы внутри выбранной группы закрываются.

Разделение группы

После создания группы может потребоваться удалить из нее некоторые объекты или даже полностью разрушить группу. Группы разделяются с помощью трех команд из меню Group: Detach (отсоединить), Un-group (разгруппировать) и Explode (разрушить).

Для отсоединения одного или нескольких объектов из открытой группы используйте команду Detach.

Для отсоединения объекта из группы:

  1. Откройте группу, содержащую объекты, которые требуется отсоединить.
  2. Выберите для отсоединения один или несколько объектов.
  3. Из меню Group выполните Detach.
  4. Закройте группу.

Для быстрого разрушения всей группы используйте Ungroup и Explode. Сначала выберите группу, затем выполните Ungroup или Explode из меню Group.

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

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

Стратегии группирования

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

Используйте группу для объединения объектов, когда:

  • Требуется трансформировать, модифицировать и анимировать объединенные объекты как одиночный объект. Группы более удобны, чем привязка всех объектов к фиктивному объекту, поскольку все члены (потомки) группы выбираются при выборе любого ее члена.
  • Необходимо выполнить анимацию отдельных объектов, но объекты должны также наследовать анимацию группы.
  • Возникает потребность, чтобы объединенные объекты вели себя как один объект, но для каждого члена группы по-прежнему необходимо осуществлять доступ к Modifier Stack и Base Parameters. Если вы объединяете объекты с помощью команды Attach модификатора Edit Mesh, каждый присоединенный объект становится обыкновенным каркасом и теряет свой Modifier Stack и Base Parameters.

Для объединения объектов не следует использовать группу, если:

  • Будет выполняться анимация отдельных объектов, а не группы. Часто открытие и закрытие групп становится утомительным и аннулирует преимущества их использования.
  • Организованы связанные объекты для целей выборки. Для организации коллекций связанных объектов используйте поименованные наборы выборок. В смысле организации такие наборы оказываются более гибкими. Например, один объект может принадлежать многочисленным поименованным наборам выборок. Если объект является членом группы, он может быть членом только одной группы, и любые поименованные наборы выборок, которым он принадлежит, должны включать всех членов его группы.
  • Необходимо соединить вершины или выполнить сглаживание между объединенными объектами. Команда Attach модификатора Edit Mesh является единственным способом объединения объектов, при помощи которого их можно соединять и выполнять между ними сглаживание.

Использование координатных сеток и вспомогательных объектов

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

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

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

Установка основной сетки

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

  • Сетка Top/Bottom (верхняя/нижняя) выровнена с мировыми осями координат Х и Y. Поэтому она горизонтальна и часто на сцене определяет пол; на нее ссылаются как на Ground Plane (плоскость грунта).
  • Сетка Left/Right (левая/правая) выровнена с мировыми осями координат Y, Z.
  • Сетка Front/Back (передняя/задняя) выровнена с мировыми осями координат X, Z.

Отображение основных сеток в видовых окнах

В любом видовом окне видна только одна из трех основных сеток; вы наблюдаете только ту сетку, которая определяется типом видового окна. Видимая сетка также определяет плоскость конструкции для этого вида. Три видимых основных сетки описываются ниже:

  • Плоскость грунта. Плоскость конструкции для видов Top, Bottom, User, Perspective, Camera и Spotlight.
  • Левая/правая сетка. Плоскость конструкции для видов слева и справа.
  • Передняя/задняя сетка. Плоскость конструкции для видов спереди и сзади.

Отображением основной сетки в активном видовом окне можно управлять одним из следующих трех методов:

  • Выбор Show Grid (показать сетку) из всплывающего меню видового окна.
  • Выбор Grids -> Show Home Grid (показать основную сетку) из меню Views.
  • Нажатие на Shift+G.

Установка интервала в основной сетке

Интервал для основных сеток устанавливается через панель Home Grid диалога Grid and Snap Settings (см. рис. 6.18). Этот диалог отображается путем выполнения Grid and Snap Settings из меню Views.

Опция Grid Spacing (интервал сетки) устанавливает первоначальное расстояние между линиями сетки и значение фиксации сетки. При выборе интервала сетки следует помнить, что нельзя выбирать фиксацию с инкрементами, меньшими интервала сетки. Действующий интервал сетки изменяется для каждого видового окна по мере увеличения или уменьшения масштаба отображения. Чтобы увидеть текущий интервал сетки для активного видового окна посмотрите на строку состояния слева от кнопки Animate.

Опция Major Lines every Nth определяет, какие строки сетки выделяются для визуальной ссьыки. Например, если Major Lines every Nth установлен в 10, выделяется каждая десятая строка сетки (рис. 6.19). Эту установку следует выбирать очень тщательно, поскольку она также служит множителем для отображения адаптивной сетки, используемой в 3DS МАХ.

Отображение адаптивной сетки регулирует интервал сетки на лету, поэтому видовые окна всегда отображают удобную для использования сетку независимо от увеличения/уменьшения. Когда вы увеличиваете или уменьшаете вид, сетка сохраняет свой интервал постоянным до тех пор, пока основные линии не отделяются друг от друга на несколько пикселов экрана, после чего сетка изменяет размер. Момент, при котором сетка изменяет свой размер, зависит от разрешающей способности экрана; при разрешающей способности 1024 х 768 сетка изменяет свой размер, когда основные линии отстоят друг от друга примерно на 50 пикселов. Для управления изменениями интервалов сетки используются следующие правила:

  • Интервал сетки умножается на значение Major Lines каждый раз при изменении размера сетки во время уменьшения.
  • Интервал сетки делится на значение Major Lines каждый раз при изменении размера сетки во время увеличения.

Например, пусть интервал сетки установлен в 1.0 мм, а значение Major Lines - в 10 (линии выделяются через каждый сантиметр). По мере уменьшения сетка сначала изменяет свой размер и интервал сетки умножается на 10, чтобы сохранить расстояние 1.0 см между основными линиями на каждом дециметре.

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

Отображение адаптивной сетки работает исключительно хорошо для метрических единиц измерения, но становится проблематичным при измерениях в стандартных единицах США. Представьте, что работаете с интервалом сетки в 1.0 дюйм и значение Major Lines составляет 12 (1.0 фут). При уменьшении интервал сетки изменяется в 12 раз (по одному футу), a Major Lines следуют через каждые 12 футов - это необычно для масштабирования. Следует хорошо подумать над проектом, после чего вероятно будут выбраны такие значения Grid Spacing и Major Lines, которые хорошо работают со стандартными единицами США.

Например, неплохим выбором в случае использования стандартных единиц измерения США является архитектурное моделирование с интервалом сетки в 1" и значением Major Lines, равным 4. При уменьшении интервал сетки устанавливается из 1" в 4" и до 16", которые являются стандартными единицами измерения в строительстве. При уменьшении интервал изменяется от одного дюйма до 1/4", 1/16", что также входит в стандартные единицы измерения.

Следующей опцией панели Home Grid в диалоге Grid and Snap Settings является флажок Inhibit Crid Subdivision Below Grid Spacing (подавить подразделение сетки ниже интервала сетки). При выборе Inhibit Crid отображению адаптивной сетки запрещается делить сетку далее, чем до значения интервала сетки. Это означает, что если интервал сетки установлен в 1.0", линии сетки никогда не подойдут друг к другу ближе, чем на 1.0". Адаптивное изображение сетки по-прежнему работает нормально при уменьшении, независимо от изменения установки Inhibit Crid.

Оставшиеся опции управляют тем, можно ли наблюдать за корректировкой сетки при перетаскивании счетчика интервала сетки.

В заключение следует отметить, что имеется характеристика, управляющая отображением адаптивной сетки для перспективных видов. Отображение адаптивной сетки практически невозможно рассчитать для некоторых перспективных углов обзора. Когда 3DS МАХ обнаруживает такой угол обзора (например, поворот камеры на 90°), она переключается к неадаптивной сетке, состоящей из 1000 квадратных единиц и расположенной по центру взгляда. При использовании неадаптивной сетки вы заметите, что сетка не изменяет своего размера при увеличении/уменьшении, а иногда можно видеть углы сетки. Если по какой-то причине вы решили, что в перспективном виде всегда сможете использовать неадаптивную сетку, нажмите Ctri+Shift+A для переключения к отображению неадаптивной сетки. Эта опция определена только для видов с перспективой.

Установка цветов сетки и фона

Цвет фона видового окна и интенсивность сетки можно установить при помощи панели Viewports в диалоге Preference Settings (см. рис. 6.20). Для изменения установок Viewport Background, выберите Preferences из меню File, щелкните на закладке Viewports и затем измените установки в области Viewport Background.

Установки по умолчанию создают фон серого цвета с более темной сеткой. Такие установки обеспечивают среднюю контрастность для большинства имеющихся цветов каркаса. В зависимости от вашего стиля работы и требований проекта могут потребоваться изменения следующих установок фона:

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

    ПРЕДУПРЕЖДЕНИЕ

    Не устанавливайте цвет фона в чисто белый. Выбранные объекты каркаса всегда отображаются белым цветом и теряются на белом фоне.
  • Интенсивность сетки. Линии сетки всегда рисуются в градациях серого. Значение поля Grid Intensity (интенсивность сетки) устанавливает оттенок серого для стандартных линий сетки. Диапазон имеет значения от 0 (черный) до 255 (белый). Major Lines рисуются более темной градацией серого - серединой между значением Grid Intensity и черным цветом. Мировые оси координат рисуются черным цветом.
  • Инвертировать интенсивность. При выборе этой опции значение Grid Intensity вычитается из 255 для указания градаций серого цвета. Высокие значения теперь создают темные линии сетки, а низкие значения - светлые линии. Major Lines рисуются с помощью более светлых градаций серого - между значением Grid Intensity и белым цветом. Мировые оси координат теперь воспроизводятся белым цветом.

На рисунке 6.21 показано несколько примеров альтернативных установок фона.

Использование объектов сетки

Использование Home Crid хорошо подходит для большинства операций, но что будет, если необходимо построить что-то сверху стола или на наклонной стороне крыши? Это тот случай, когда нужно использовать объекты сетки. Сетки являются вспомогательными объектами, которые могут занять место Home Grid для команд конструирования и трансформации.

Используйте сетки для следующего:

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

Создайте объект сетки путем щелчка на кнопке категории Helpers на панели Create и затем на Grid в свитке типа объекта (см. рис. 6.22). Перетаскивание в любом видовом окне определяет длину и ширину объекта сетки.

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

Объекты сетки отображают только свои локальные оси координат Х и Y до тех пор, пока не сделает их активными. Интервал сетки можно увидеть только после того, как сделаете сетку активной.

Объекты сетки можно использовать вместо Home Grid, но они следуют несколько другим правилам:

  • Когда объект сетки активен, все, что создается, помещается на активную сетку независимо от того, какой вид является активным. Помните, что Home Grid переключается между Top/Bottom, Left/Right и Front/Back на основе активного вида для того, чтобы всегда представлять удобную для использования сетку. Если объект сетки активен, могут существовать несколько видов, практически перпендикулярных сетке, что показано на рисунке 6.23. Эти виды неудобно использовать с объектом сетки; не стоит пытаться создавать в них объекты.
  • Объекты сетки не используют отображения адаптивной сетки. Интервал и размер сетки фиксируются. Размер сетки управляет только видимыми границами сетки. Сама по себе сетка бесконечна и вы можете создавать объекты вне ребер сетки.
  • Объекты сетки не используют установки интенсивности сетки в диалоге Preference Settings. Линии сеток всегда умеренно серые с черными осями координат Х и Y. Помните об этом, если хотите использовать объект сетки с настроенным цветом фона.

Работа с сетками

После создания объекта сетки для ее использования необходимо произвести еще два шага:

  1. Расположите сетку с помощью Move, Rotate и Align.
  2. Активизируйте сетку.

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

ПРЕДУПРЕЖДЕНИЕ

Что бы вы не делали, никогда не масштабируйте объект сетки. Как упоминалось в главе 1, "Ключевые концепции 3D Studio MAX", трансформации, подобные масштабу, применяются в конце потоковой схемы и они не отражаются на базовых параметрах объекта. Это означает, что в случае масштабирования объекта сетки значение интервала сетки в базовых параметрах и видимый интервал больше не совпадают. Но что еще хуже, трансформация масштаба сетки передается на все, что вы пытаетесь создать на сетке. Масштабирование объекта сетки может создавать очень непонятные и неожиданные результаты. Вряд ли вам захочется использовать масштабированные сетки.

Очень удобным методом для позиционирования объектов сетки является команда Align. После расположения объекта сетки его необходимо активизировать:

  1. Выберите сетку.
  2. Выполните Viewsci>Gridsc^>Activate Grid Object.

Является ли объект сетки активным, можно определить сразу, поскольку линии сетки появляются на объекте сетки и исчезают из Home Grid (см. рис.6.24).

Если сетка активна, все, что создается, помещается на нее и выравнивается с ее локальной системой Координат.

Использование вспомогательных объектов

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

Тремя оставшимися вспомогательными объектами являются Таре Measures (рулетки), Points (точки) и Dummies (фиктивные объекты).

Использование рулеток

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

ПРЕДУПРЕЖДЕНИЕ

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

Помните, что отображаемая длина рулетки является трехмерным расстоянием, что может привести к неточным результатам при размещении рулетки только в одном видовом окне. На рисунке 6.26 показан пример неправильного измерения ширины объекта. Если ограничиться только видовым окном Front, можно подумать, что вы правильно измеряете ширину объекта, не понимая того, что рулетка втягивается назад вдоль длины объекта, что очевидно в окне Perspective. В этом случае измеряется не ширина объекта, а скорее его диагональ. Для правильного измерения расстояния всегда необходимо контролировать положение рулетки, по крайней мере, в двух видовых окнах.

Рулетку можно использовать также для маркировки предварительно установленного расстояния путем отметки Specify Length (указать длину) в свитке рулетки Parameters. При выборе Specify Length поле Length переходит в состояние по умолчанию, равное 100 единиц. Установите необходимую длину и рулетка вытянется или сократится до заданного расстояния. Может вызвать недоумение, что цель рулетки не перемещается вместе с концом рулетки, но просто подумайте о цели как о направляющей ручке - вы перемещаете цель, чтобы рулетка располагалась в направлении, в котором требуется выполнить измерение.

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

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

Использование точек

Вспомогательные объекты точек используются для определения положения и ориентации оси координат. Точка создается путем щелчка на Point панели Create и последующего щелчка на любом видовом окне. Объект точки появляется в виде желтого Х вместе с локальной треногой координат (см. рис. 6.27). Для управления отображением и длиной треноги координат используйте базовые параметры точки. Оси выравниваются с осями активной сетки в видовом окне, в котором создана точка.

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

В приведенном ниже примере показан способ установки объекта точки в качестве постоянной ссылки на центр сферы. Для помещения точки в центр сферы в этом примере используется команда Align. (Команда Align рассматривается позже в этой главе.)

  1. Выберите объект точки.
  2. Щелкните на Align в линейке инструментов.
  3. Щелкните на сфере.
  4. В диалоге Align Selection выберите следующие опции (см. рис. 6.28):
    • Выберите Pivot Point (точка вращения) под Current Object (текущий объект) (точка).
    • Выберите Center под Target Object (объект цели) (сфера).
    • Отметьте флажки положения X, Y и Z.
    • Отметьте флажки ориентации осей X, Y и Z.
    • Щелкните на ОК.

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

Использование фиктивных объектов

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

Фиктивный объект создается после щелчка на Dummy (фиктивный) в панели Create и последующего перетаскивания радиуса фиктивного куба в любое видовое окно.

Основные отличия между объектами точек и фиктивными объектами заключаются в следующем:

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

Используйте либо фиктивный объект, либо объект точки - все зависит от личного предпочтения.

Выбор опций фиксации

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

  • Grid Snap (фиксация сетки) использует значение интервала сетки в активной сетке.
  • Spatial Snap (пространственная фиксация) использует установки чувствительности и приоритета из диалога Grid and Snap Settings (установки сетки и фиксации).

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

Установка сеточных и пространственных фиксаций

Если вы изучали предыдущие темы об использовании сеток и создании объектов сетки, то уже знаете как устанавливать фиксацию сетки. Значение Grid Spacing также устанавливает фиксацию сетки. Интервал сетки для Home Grid устанавливается через диалог Grid and Snap Settings; интервал сетки для объектов сетки устанавливается из свитка их параметров.

Устанавливайте Spatial Snap при помощи панели Snap диалога Grid and Snap Settings (см. рис. 6.30).

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

Snap Priority (приоритет фиксации) устанавливает тип геометрии, которую можно зафиксировать, и порядок, в котором оцениваются фиксации. Можно зафиксировать вершины объекта, его ребра, а также пересечения и линии сетки. Vertices (вершины) и Grid Intersections (пересечения сетки) фиксируют курсор в точной точке и удерживают его там до тех пор, пока он не будет смещен в положение вне расстояния чувствительности фиксации. Edges (ребра) и Grid Intersections (пересечения сетки) фиксируют курсор на линии, но он может по ней скользить.

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

Переключатели 2D, 2.5D и 3D управляют режимом фиксации и аналогичны выпадающему списку режимов фиксации в строке подсказки. Основное отличие состоит в том, что переключатели в диалоге устанавливают режим фиксации, но не включают его. Используйте кнопки строки подсказки как для установки режима фиксации, так и для его включения и выключения.

Каждый раз при щелчке на кнопках режима фиксации строки подсказки происходит включение/выключение состояния фиксации. Переключение между режимами может раздражать, если все, что требуется сделать - это изменить режим фиксации, но оставить фиксацию включенной. Например, фиксация включена и вы находитесь в режиме 2D. При нажатии на кнопку режима фиксации и выборе режима 3D фиксация выключается. Для повторного включения режима фиксации нужно снова щелкнуть на кнопке.

Для включения/выключения режима фиксации можно также нажимать клавишу S.

СОВЕТ

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

Флажок Relative/Absolute (относительный/абсолютный) изменяет режим фиксации только для трансформаций перемещения. Его функция дублируется кнопкой Relative/Absolute в строке подсказки. Эти кнопки рассматриваются в следующем разделе, поскольку относятся к использованию фиксации для создания и перемещения объектов.

Использование фиксации для создания объектов

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

При создании любого объекта, за исключением объекта Line (линия), фиксация работает следующим образом:

  • Режим Relative/Absolute игнорируется.
  • Пространственная фиксация всегда работает в 2D-peжимe независимо от установки режима фиксации. Это означает, что можно фиксировать только вершины и ребра, которые лежат непосредственно на плоскости конструкции.
  • Значения высот, подобных высотам цилиндра, параллелипеда и конуса, фиксируются к интервалу активной сетки.

При создании объекта Line можно выбирать между режимами 2D, 2.5D и 3D:

  • Режим Relative/Absolute игнорируется.
  • Режим 2D ограничен фиксацией вершин и ребер, которые непосредственно лежат на плоскости конструкции.
  • Режим 2.5D фиксирует любую вершину или ребро в 3D-npocTpaHCTBe, но проецирует точку фиксации на плоскость конструкции. Это заставляет линию оставаться двухмерной, но моделирует эффект отслеживания 3D-cueHbi на прозрачную пластину, находящуюся перед видом.
  • Режим 3D фиксирует любую вершину или ребро, создавая настоящую трехмерную линию. Во время конструирования точка вращения указывается на плоскости конструкции. После завершения конструирования точка вращения размещается в центре линии.

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

Использование фиксации для перемещающихся объектов

Режимы пространственной и сеточной фиксаций также применимы для перемещающихся объектов. Это единственный случай, при котором используется режим фиксации Relative/Absolute.

Режим Relative (относительный) игнорирует значения 2D/2.5D/3D кнопки режима фиксации и проверяет только активность режима фиксации. Когда кнопка имеет серый цвет и внутри линий сетки просматривается точка, режим Relative активен. При перемещении объектов в относительном режиме дистанция перемещения ограничена кратным числом интервалов сетки. Это не означает, что объект прикреплен к сетке. Если объект начинается вне сетки, он вне сетки и остается. Другими словами, объект сохраняет свое относительное смещение от сетки.

Режим Absolute использует все установки кнопки режима фиксации. Если кнопка подсвечена и на пересечении сетки показана точка, режим Absolute активен. Данный режим можно использовать только при наличии следующих условий:

  • Необходимо использовать одну из систем координат трансформации Screen или View.
  • Активным должно быть видовое окно Orthogonal view или User view.

При активном режиме Absolute поведение Snap следующее:

  • Режим 2D Snap ограничивает фиксации вершинами и ребрами, которые лежат непосредственно в плоскости конструкции.
  • Режим 2.5D фиксирует любую вершину и ребро в ЗD-пространстве, но проектирует точку фиксации на плоскость конструкции.
  • Режим 3D фиксирует любую вершину и ребро в ЗD-пространстве.

Во всех трех режимах точка фиксации использует ограничения активной оси трансформации. Например, ограничения трансформации установлены для плоскости X, Y. Если применить фиксацию 3D к точке, принимаются во внимание только координаты X, Y (ограничения для активных осей), а координата Z игнорируется. В этом случае фиксация 3D завершает работу так же, как фиксация 2D.

Использование фиксации угла

Установка Angle Snap (фиксация угла) полезна при вращении объектов и видов. Введите значение в поле Angle диалога Grid and Snap Settings для указания угла ограничения интерактивного вращения. Установкой по умолчанию является 5.0°. Установка Angle Snap в 15° позволяет просто указывать основные углы, принятые в архитектуре и производстве: 15°, 30°, 45°, 60° и 90°.

Для включения и выключения режима Angle Snap щелкните на кнопке Angle Snap в строке Prompt (подсказка) или нажмите А.

Angle Snap применимо только к интерактивным вращениям, при которых выполняются перетаскивания в видовом окне. Angle Snap не оказывает влияния на поля углов, подобные углу наклона.

Использование процентной фиксации

Для указания инкремента в процентах, используемого при интерактивных операциях масштабирования, следует ввести значение в поле Percent (процент) диалога Grid and Snap Settings.

Щелкните на кнопке Percent Snap строки Prompt для включения/выключения режима Percent Snap.

Использование фиксации, задаваемой счетчиком

Spinner Snap (фиксация счетчиком) устанавливается на панели General диалога Preference Settings. Эта фиксация определяет количество изменений цифрового поля при щелчках на стрелках вверх или вниз счетчика. Панель General диалога Preference Settings можно быстро отобразить, выполнив правый щелчок на кнопке Spinner Snap.

Spinner Snap влияет только на результат щелчков на стрелках вверх и вниз счетчика. Она не ограничивает набираемые в поле значения и не оказывает влияние на перетаскивание стрелки счетчика.

Для включения и выключения Spinner Snap щелкните на кнопке Spinner Snap в строке Prompt.

Использование трансформаций и координатных систем

Термин трансформация относится к основным операциям Move (переместить), Rotate (вращать) и Scale (масштабировать). Функциональность этих команд можно расширить путем выбора различных координатных систем трансформации, центров трансформации и ограничений для осей трансформации. Такие расширения называются менеджерами трансформации. Кнопки трансформации и менеджеры трансформации расположены вблизи от середины линейки инструментов (см. рис. 6.31).

Как упоминалось в главе 1, "Ключевые концепции 3D Studio MAX", трансформации применяются в конце потоковой схемы после всех модификаторов в стеке модификаторов. Некоторые объекты отменяют свои трансформации, когда используются в определенных целях. Например, объекты формы отменяют трансформации в случае их использования в качестве формы пути или поперечного сечения в объекте Loft. Объекты Mesh также отбрасывают свои трансформации, если применяются как цели в объекте Morph.

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

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

Использование менеджеров трансформации

Устанавливайте менеджеры трансформации для ограничения команд трансформации. Эти менеджеры управляют тремя свойствами трансформаций:

  • Координатные системы трансформации. Управляют тем, какой метод используется
  • Центр трансформации. Устанавливает центр трансформаций вращения и масштаба
  • Ограничение по осям трансформации. Блокирует трансформацию на одной оси или на любой паре осей

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

Выбор координатной системы трансформации

Объект нельзя перемещать или вращать в произвольном направлении. Все трансформации в 3DS МАХ применяются вдоль осей координат X, Y, Z. Это стало бы серьезным ограничением, если бы не возможность выбора произвольной системы координат X, Y, Z.

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

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

Можно выбрать из семи координатных систем, перечисленных в выпадающем списке линейки инструментов 3DS МАХ (см. рис. 6.32). (По ряду странных причин совет инструмента для этого списка носит название Reference Coordinate System (опорная система координат), хотя инструмент работает только для трансформаций.) Системы View (вид). Screen (экран) и World (мировая) постоянно зафиксированы и не изменяются. Системы Local (локальная), Parent (предок), Grid (сетка) и Pick (подбор) изменяются в соответствии с выбором объектов и активной сетки. Все системы подробно описаны в "Руководстве пользователя 3DS МАХ" и в справочной системе.

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

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

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

  1. Расположите или выровняйте объект, который необходимо использовать в качестве системы координат.
  2. Выберите Pick из списка Reference Coordinate System.
  3. Щелкните на объекте, который хотите использовать в качестве координатной системы.
  4. Продолжайте трансформацию других объектов.

Выбор центра трансформации

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

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

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

Ниже показаны три метода, позволяющие создавать эффект анимационного вращения или масштабирования вокруг центра смещения:

  • связывание. Объект, над которым требуется выполнить анимацию, можно связать с объектом Helper и затем вращать или масштабировать Helper с использованием центра Pivot Point. Заключительным эффектом является вращение смещения или масштабирование исходного объекта. Это, вероятно, наилучшее решение для анимационных вращении смещения и масштабов.
  • Глобальные параметры. Можно изменять опцию в панели Animation диалога Preference Settings, которая разрешает анимацию центра смещения. Выполните Preference из меню File и снимите отметку с флажка Local Center During Animate панели Animation диалога (см. рис. 6.34). Конечный результат заключается в том, что объект масштабируется или поворачивается вокруг собственного центра и перемещается по прямой линии к месту совпадения масштаба смещения или вращения - обычно не туда, куда требуется.
  • Точка вращения. Можно использовать характеристики панели Hierarchy для изменения положения точки вращения объекта к позиции смещения и последующего вращения или масштабирования объекта посредством центра Pivot Point. Изменение точки вращения влияет на все трансформации, примененные к объекту, и на способ, в соответствие с которым применяются модификаторы после изменения точки вращения.

Ограниченные трансформации

Ограничители осей являются заключительным набором менеджеров трансформации. Можно выбирать из трех ограничителей по одиночным осям или из свитка с тремя ограничителями по двум осям (планарными ограничителями) (см. рис. 6.35). Активное ограничение оси трансформации блокирует влияние трансформации на эту ось или плоскость. Например, если активно ограничение оси X, можно перемещаться только вдоль этой оси. Для выбора ограничений по осям используются следующие горячие клавиши:

  • ' (ударение). Циклически выбирает по четырем кнопкам ограничений по осям X, Y, Z и текущей двойной оси.
  • ~ (тильда). Циклирует проходит по опциям двойной оси без выбора кнопки. • F5. Выбирает ограничение по оси Х
  • F6. Выбирает ограничение по оси Y
  • F7. Выбирает ограничение по оси Z
  • F8. Выбирает ограничение по двум осям. Если двойная ось уже выбрана, F8 циклически проходит по опциям двойных осей.

Использование клавиатуры для трансформации с точностью

Если для операций Move, Rotate и Scale нужна реальная точность, для выполнения трансформации можно использовать клавиатуру. Можно применять любой из клавиатурных методов, приведенных ниже:

  • Нажать клавиши со стрелками для трансформации объекта, а не для его перетаскивания.
  • Использовать диалог Transform Type-In для ввода точных значений.

Использование для трансформации клавиш со стрелками

Можно перемещать (Move), вращать (Rotate) и масштабировать (Scale) объекты за счет использования клавиш со стрелками практически так же, как производится изменение масштаба и вращение видов. Для трансформирования объектов посредством клавиш со стрелками выполните следующее:

  1. Щелкните на инструменте трансформации.
  2. При помощи инструмента трансформации выберите объекты.
  3. Расположите курсор над выборкой так, чтобы была видна пиктограмма трансформации.
  4. Нажмите клавишу со стрелкой для трансформации выборки.

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

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

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

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

Использование диалога ввода значений трансформации

Для ввода точных значений для трансформаций Move, Rotate и Scale можно использовать диалог Transform Type-In. Этот диалог появляется над окном 3DS МАХ и его можно использовать в любое время при трансформации объекта. Для вызова диалога Transform Type-In выберите Transform Type-In из меню Edit (см. рис. 6.36).

Диалог Transform Type-In состоит из двух частей. Поля в левой части экрана всегда показывают абсолютные значения для Move и Rotate в мировой системе координат и абсолютные значения Scale в локальной системе координат выбранных объектов. В правой части экрана всегда отображается 0.0 и это как раз то место, где вводится смещение трансформации с помощью текущей координатной системы трансформации. Выбранные объекты можно перемещать, вращать и масштабировать путем ввода значений на любой из сторон диалога.

Например, откройте диалог Transform Type-In, выберите объект и щелкните на Rotate в линейке инструментов. Предположим, что поля Absolute:World показывают абсолютное вращение по оси Х на 45°. Если необходимо, чтобы абсолютное вращение составляло в точности 45° вокруг оси X, введите это значение в поле X: под Absolute: World. Как только вы нажмете Enter или щелкните на другом поле, вращение изменяется. Теперь щелкните на Move и диалог Transform Type-In изменится для отражения нового положения объекта. Если требуется переместить объект точно на 30.125 единиц вдоль оси Z от текущего положения, введите это значение в поле Z: под Off set: Local.

Диалог Transform Type-In имеет дополнительное преимущество в том, что показывает текущие значения трансформации выбранного объекта. Поскольку диалог всегда отображает текущие абсолютные мировые значения, в любое время можно проанализировать точные значения положения, вращения и масштаба.

Трансформации "зеркало", "массив" и "моментальный снимок"

Существует только три трансформации: Move, Rotate и Scale. 3DS МАХ комбинирует эти трансформации и использует специальные диалоги для обеспечения специализированных методов трансформации Mirror (зеркало) И Array (массив). Кнопки Mirror и Array находятся справа от менеджеров трансформации (рис. 6.37).

Зеркальное отображение объектов

Зеркальное отображение объекта представляет собой трансформацию масштаба со значением -100%. Зеркальные объекты можно создавать при помощи опций диалога Mirror (см. рис. 6.38). Имеется возможность интерактивно установить опции для оси и смещения зеркального отображения, а также для метода клониро-вания.

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

  • Зеркальная ось. Выполните одну из шести опций для зеркального отображения объекта по одной или двум осям из области Mirror Axis диалога. Зеркальная ось проходит через центральную точку текущей трансформации, а ось ориентации устанавливается посредством текущей системы координат.
  • Зеркальное смещение. Если зеркальный объект не должен оставаться на своем месте по умолчанию, в области диалога Mirror Axis задается дистанция смещения. Смещение перемещает объект на дополнительную дистанцию вдоль зеркальной оси от места расположения по умолчанию. Дистанция либо вводится в поле, либо перетаскивается счетчик для просмотра перемещения зеркального объекта.
  • Метод клонироваиия. Обычно зеркальное отображение объекта выполняется с целью получения зеркального клона исходного объекта. Подобное используется при моделировании симметричных объектов. При этом моделируется одна половина симметричного объекта, а вторая половина получается за счет зеркального отображения. Для создания нового зеркального объекта из оригинала выполните Сору (скопировать). Instance (экземпляр) или Reference (ссылка) из области Clone Selection (выборка клона). Выбор No Clone (нет клона) выполняет зеркальное отображение исходного объекта.

СОВЕТ

Даже в случае, если клонировать зеркальные объекты не требуется, для экспериментирования с различными зеркальными осями и смещениями удобно выбирать Copy./ В этом случае всегда виден исходный объект и его зеркальное отображение, что позволяет судить о сделанном выборе. После получения необходимой зеркальной оси и смещения перед щелчком на ОК выберите No Clone.

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

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

Такого рода проблемы можно решать с помощью различных методов, но основным решением является получение зеркального (масштабного) эффекта из матрицы трансформации объекта. Это выполняется вручную за счет применения отрицательных значений масштаба на уровне подобъектов. К сожалению, Mirror работает только на уровне объекта даже в том случае, если активным является режим подобъекта. Зеркальное отображение чего-то на уровне подобъекта производится при помощи использования диалога Scale Transform Type-In (ввод значений трансформации масштабирования).

Для зеркального отображения объекта посредством модификатора XForm выполните следующие шаги:

  1. Выберите объект.
  2. Из меню Edit выберите Transform Type-In.
  3. Выполните XForm из панели Modify.
  4. Выберите Gizmo из списка Sub-Object.
  5. Щелкните на Non-Uniform Scale (неоднородный масштаб).
  6. Введите -100 в поле оси для выполнения зеркального отображения объекта вокруг этой оси.

Выполнение зеркального отображения гизмо на уровне подобъекта модификатора имеет такой же общий эффект, как и использование команды Mirror, но без побочных эффектов. Выполнение зеркального отображения гизмо дает дополнительное преимущество пребывания в Modifier Stack (стек модификаторов), поэтому в любое время можно вернуться обратно и изменить или удалить зеркальный эффект.

Для зеркального отображения подобъектов при помощи модификатора Edit выполните следующие шаги:

  1. Выберите объект.
  2. Примените к этому объекту соответствующий модификатор Edit.
  3. Щелкните на Sub-Object и определите выборку.
  4. Из меню Edit выберите Transform Type-In.
  5. Щелкните на Non-Uniform Scale.
  6. Введите -100 в поле оси для выполнения зеркального отображения объекта вокруг этой оси.

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

ПРЕДУПРЕЖДЕНИЕ

Использование Transform Type-In для применения отрицательных значений масштаба является удобным методом, но имеет ряд недостатков. Во-первых, при вводе отрицательного значения масштаба в поле оси масштаба все поля сообщают об отрицательных значениях. Конечный результат правилен, но поля показывают некорректные значения. Побочным эффектом отрицательного масштабирования является то, что нормали объекта обычно имеют некорректное направление, поэтому визуализированный объект выглядит вывернутым наизнанку. После применения отрицательного масштабирования проверьте объект в окне визуализации. Подобный эффект исправляется путем добавления модификатора Normal и отметки флажков Unify и Flip.

Организация объектов в массивы

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

Нажатие Shift при перетаскивании вызывает появление диалога Clone Options (опции клонирования) (см. рис. 6.39). Выберите один из трех методов клонирования - Copy, Instance или Reference и установите количество объектов-клонов, которое необходимо создать в массиве. Такой метод удобен для простых, быстрых, линейных и радиальных массивов, а также для массивов масштаба.

Путем использования диалога Array можно быстро создавать сложную геометрию.

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

При создании массива следует решить три проблемы:

  • Трансформация массива. Массивы можно создавать с помощью одной трансформации или объединения множества трансформаций. Установите значения трансформации для каждой оси в области Array Transformation диалога. Установленные значения применяются к каждому объекту массива при использовании в качестве начальной точки предыдущего объекта. В отличие от Mirror диалог Array не является интерактивным. Для просмотра результата следует установить массив и щелкнуть на ОК. Если результат не устраивает, щелкните на Undo и попытайтесь снова. К счастью, Array запоминает последние установки и использует их при повторном вызове. Это значительно упрощает метод "проб и ошибок".
  • Количество элементов в массиве. Это одиночное поле устанавливает количество создаваемых объектов.
  • Тип объекта. Выберите опцию в области Type of Object (тип объекта) для указания того, создает ли массив копии, экземпляры или ссылки.

За счет изменения установок в области Array Transformation можно создавать многие популярные типы массивов:

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

    СОВЕТ

    Если необходимо, чтобы линейный массив располагался диагонально, часто проще выровнять объект точки с одной из осей, в направлении которой требуется создать массив и затем Pick (выбрать) объект точки в качестве своей системы координат. После этого можно определить линейный массив вдоль одной оси.
  • сетка. Сеточный массив является комбинацией двух линейных массивов. Создайте линейный массив вдоль одной из осей. Выберите все объекты в линейном массиве и создайте другой линейный массив вдоль любой из оставшихся двух осей.
  • объем. Объемный массив является результатом трех линейных массивов. Создайте сеточный массив, выберите в нем все объекты и создайте новый линейный массив вдоль третьей оси. На рисунке 6.41 показаны примеры линейного, сеточного и объемного массива.
  • радиальный. Введите углы в поля Rotate, обычно с центром смещения, для создания радиальных массивов. Если для радиального массива используется центр точки вращения, клоны одного объекта размещаются друг на друге. Обычно требуется использовать центр системы координат или центр выборки. Флажок Reorientation (переориентация) определяет, позиционируются ли объекты с помощью радиального массива или вращаются и позиционируются, как показано на рисунке 6.42.
    Несмотря на то, что радиальные массивы можно создавать, используя вращения вокруг нескольких осей, результаты предсказать трудно. Если необходимо создать радиальный массив, вращающийся вокруг диагональной оси, проще установить объект точки для использования его в качестве системы координат и выполнить вращение одной оси вокруг точки. Обратитесь к предыдущему совету о диагональных линейных массивах.
  • спиральный. Спиральный массив образуется за счет объединения полей перемещения и вращения. Определите радиальный массив вокруг одной оси и укажите на этой же оси значение Move. Результатом будет радиальный массив, который перемещается вдоль своей оси вращения, что похоже на спиральные ступеньки или на цепочку DNA.
    Вам, может быть, не терпится создать плоский спиральный массив путем присвоения дистанции перемещения на оси, отличной от оси вращения. Это не сработает. В этом случае получается простой радиальный массив, смещенный на дистанцию перемещения. Для создания плоского спирального массива необходимо использовать множество методов. Один из возможных методов для этого описан при создании массивов моментального снимка.
  • масштабный. Введите значения в поля Scale для создания масштабных массивов. Вложенный массив обычно создается с помощью центра-точки вращения или центра выборки на одном из выбранных объектов. При использовании центра системы координат часто получается результат, аналогичный объединению масштабного и линейного массивов (см. рис. 6.43).

Приведенный ниже пример показывает преимущество использования в качестве систем координат Pick объектов точки при создании массивов вдоль произвольной оси.

Создание массива вдоль произвольной оси

Представьте себе столб изгороди, из которого требуется организовать массив вдоль линии под углом в 30° к мировой оси Х с интервалом в 4 фута. С помощью тригонометрии можно вычислить, что необходим линейный массив, использующий следующие дистанции в полях Move: Х=3'5.5б9" и Y=2'0". Но кто будет заниматься подобной математикой?

Описанный ниже метод использует объект вращающейся точки для установки массива вдоль одной оси:

  1. Щелкните на Helpers в панели Create.
  2. Щелкните на Point ниже подкатегории General и создайте объект точки в верхнем видовом окне. Назовите точку Fence-Line (линия изгороди). Создается объект точки, выровненный с мировой системой координат. Объект точки можно разместить в любом месте верхнего видового окна.
  3. Поверните объект точки на 30° вокруг оси Z. Ось Х точки теперь указывает направление, в котором должен следовать массив столбов изгороди.
  4. Из списка Reference Coordinate System выберите Pick и щелкните на объекте точки. Теперь точка определяет текущую систему координат трансформации. Следующий набор шагов создает линейный массив столбов изгороди, использующий в качестве системы координат трансформации объект точки.
  5. Выберите столб изгороди.
  6. Щелкните на Array.
  7. Введите 4'0" в поле MoveX:, установите необходимое количество столбов изгороди и щелкните на ОК.

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

Массивы моментальных снимков

Последний тип массива использует кнопку Snapshot в выпадающем списке Array (см. рис. 6.44). Моментальный снимок - это тип временного массива, который создает клоны на основе изменений объекта во времени. Моментальный снимок является единственным методом организации массива, при помощи которого можно захватить и заморозить изменения модификатора.

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

Опции в диалоге Snapshot делятся на две группы: Snapshot и Clone Method (метод клонирования). Посредством опции Snapshot выбираются временные параметры для создания моментальных снимков. Выберите Single (одиночный) для создания клона во время, установленное через Time Slider (ползунок времени); выберите Range (диапазон) для указания диапазона времени и количества клонов, создаваемых в этом диапазоне. Тип создаваемого клона задается при помощи опции Clone Method. Имеется выбор из трех стандартных опций Copy, Instance и Reference или специальной опции Mesh.

Опция Mesh разрушает стек модификаторов для замораживания модифицированных форм объекта в каждом интервале времени. Этот процесс уничтожает все модификаторы и базовые параметры, преобразуя объект в простую сетку. Информация о разрушении стека Modifier приводится в главе 8, "Моделирование на уровне объектов".

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

Инструменты выравнивания

Для перемещения и вращения объектов с целью выравнивания их с другими объектами используйте кнопки выпадающего Align (см. рис.6.45). Ни одна из кнопок Align не работает с выборками подобъектов. Каждая из этих трех кнопок выполняет весьма специфическую задачу:

  • Align (выравнивание). Выравнивает объекты путем сравнения их систем координат с экстентами ограничивающих рамок в текущей координатной системе трансформации.
  • Normal Align (нормальное выравнивание). Выравнивает поверхность объектов с поверхностью за счет согласования нормалей граней.
  • Place Highlight (поместить подсветку). Выравнивает объекты путем согласования отрицательной оси Z одного объекта с нормалью грани другого. Первоначально эта команда была предназначена для использования с источниками света, но ее можно применять для любого объекта.

Все три кнопки Align требуют одинаковой последовательности операций:

  1. Выберите объекты для выравнивания. Эти объекты называются исходными объектами. В результате процесса выравнивания они будут перемещаться и вращаться.
  2. Щелкните на кнопке Align.
  3. Выберите одиночный объект, с которым необходимо выровнять исходные объекты. Этот объект называется целевым объектом и обеспечивает ссылку, используемую для перемещения и вращения исходных объектов. Целевой объект в результате процесса выравнивания не перемещается и не вращается.
  4. Установите параметры выравнивания.

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

Выравнивание объектов

Используйте команду Align для выравнивания объектов на основе их геометрических экстентов (ограничивающей рамки) или при помощи их точек вращения. Эта команда наиболее полезна для выполнения следующих задач выравнивания:

  • Выравнивание объектов с помощью их геометрических экстентов. Лучше всего оно работает регулярной геометрией с прямыми ребрами, т.е. для параллепипедов и цилиндров.
  • Выравнивание объектов с помощью их точки вращения. Это удобно при установке иерархий и суставов IK.
  • Выравнивание вспомогательных объектов с другими объектами.

Для выравнивания используются два метода:

  • Выравнивание положений (перемещение) на основе ограничивающей рамки объектов в текущей опорной системе координат.
  • Выравнивание ориентации (вращение) на основе локальной координатной системы объектов.

Выберите исходные объекты, щелкните на Align, а затем на целевом объекте для отображения диалога Align Selection (выровнять выборку) (см. рис. 6.46).

Выравнивание положения объекта

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

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

ПРИМЕЧАНИЕ

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

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

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

Точки выравнивания для исходных и целевого объекта используют четыре одинаковых опции. Эти опции вычисляются при помощи ограничивающих рамок следующим образом (см. рис. 6.48):

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

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

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

Выравнивание ориентации объекта

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

Выравнивание по нормалям граней

Для выравнивания поверхностей объектов с поверхностью используется кнопка Normal Align. Это особенно удобно при работе с нерегулярной геометрией или в случае необходимости размещения объектов так, чтобы они касались друг друга. После выравнивания объектов исходные объекты можно вращать или перемещать вокруг выровненной оси нормали. Для выравнивания объектов посредством нормалей граней выполните следующие шаги:

  1. Выберите исходные объекты.
  2. Щелкните на Normal Align.
  3. Выполните перетаскивание через поверхность исходных объектов для определения исходной нормали. При перетаскивании исходных объектов на курсоре появляется синяя линия, показывающая направление нормали выбранного исходного объекта. Для выбора отображенной нормали завершите перетаскивание.
  4. Выполните перетаскивание через поверхность целевого объекта для выбора целевой нормали. При прекращении перетаскивания выбранные объекты перемещаются и вращаются так, что нормаль исходного объекта выравнивается с нормалью целевого и указывает в противоположном направлении.
  5. Установите параметры в диалоге Normal Align.

На рисунке 6.49 показана процедура выбора нормали исходного объекта и нормали цели, а также диалог Normal Align.

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

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

СОВЕТ

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

Выравнивание при помощи Place Highlight

Place Highlight (поместить подсветку) используется для выравнивания отрицательных осей Z исходных объектов с отраженной линией взгляда на грань объекта цели. Создаваемый Place Highlight результат зависит от вида, в котором выбрана целевая грань.

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

Команду Place Highlight можно использовать для выполнения следующего:

  • Расположение источников света для создания отражающих подсветок в конкретных точках поверхности объекта.
  • Расположение объектов таким образом, что их отражение появляется в конкретной точке поверхности отраженного объекта.

Для использования Place Highlight выполните следующее:

  1. Выберите исходные объекты для размещения. Можно выбрать серию исходных объектов, но поскольку они заканчиваются в одном и том же месте, лучше всего каждый раз работать с одним объектом.
  2. Щелкните на Place Highlight.
  3. Выполните перетаскивание через поверхность объекта цели.
  4. При выполнении перетаскивания через объект цели, на курсоре появляется синяя линия, показывающая нормаль выбранной грани. Исходные объекты перемещаются и вращаются для выравнивания с отраженной линией взгляда на выбранную грань.


ГЛАВА 7

Основы создания объектов

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

В этой главе обсуждаются следующие вопросы:

  • Основы создания трехмерных примитивных объектов
  • Использование Ноте Plane (основной плоскости) и Grid Helpers (вспомогательных объектов сетки)
  • Достижение точности
  • Опции создания, применяемые ко многим типам объектов
  • Исследование основных примитивов
  • Понятие геометрических классов в 3D Studio MAX

Основы создания объектов

Хотя объекты в 3D Studio MAX могут показаться очень сложными, их создание является быстрым и легким процессом. Каждый создаваемый объект по своему характеру является параметрическим, т.е. его форма определяется серией параметров. В процесс создания объекта обычно входят следующие шаги:

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

Создание в интерактивном режиме

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

Плоскость, на которой создается объект, определяется либо с помощью видового окна, либо с помощью активной конструкции вспомогательного объекта Grid. Место расположения объекта является характеристикой определения объекта. Большинство объектов основываются на плоскости создания и по ней определяют высоту. Например, цилиндрические примитивы размещают свои нижние круглые цоколи на плоскости создания, а параметр высоты вытягивает перпендикуляр из этой плоскости. Поскольку примитивы Sphere (сфера), GeoSphere (геосфера). Torus (тор), Hedra ("морской еж") определяются своими центрами масс, они являются исключениями из этого правила и располагают на плоскости конструкции свой центр массы. В то время, как другие объекты опираются на плоскость конструкции, эти три объекта будут рассекаться ею пополам.

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

ПРИМЕЧАНИЕ

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

Использование при создании клавиши Ctrl

При создании различных примитивов клавиша Ctrl выполняет специальную и в какой-то мере скрытую работу. За исключением Box каждый примитив позволяет за счет нажатия клавиши Ctrl в любой момент между первой и последней определяющими точками отрегулировать свое первоначальное вращение. Это позволяет быстро ориентировать объекты во время их создания. Нажатие клавиши Ctrl для Box ограничивает первоначальное создание до квадрата и не влияет на его вращение.

Создание посредством клавиатуры

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

В то время, как процесс создания посредством клавиатуры может показаться более точным, такая же точность достижима при интерактивном создании объекта и регулировка его параметров из панели Modify, a расположения - из диалога Transform Type-In. Подобную точность можно получить при помощи Snap с учетом соответствующих установок сетки. В большинстве случаев интерактивный процесс создания с последующей модификацией проходит быстрее, поскольку критичными являются один-два параметра.

СОВЕТ

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

Влияние панели Creation (создание)

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

При использовании стрелок счетчика следует помнить, что нажатие клавиши Ctrl ускоряет мышь, а нажатие клавиши Alt - замедляет. При редактировании цифровых полей замена поля на "г" плюс значение добавляет последнее к оригинальному, "г" в этом случае обозначает "относительный", поскольку при этом значение добавляется относительно оригинала. Процесс относительного ввода показан на рисунке 7.2, на котором параметр Height (высота) 96.0 увеличивается посредством R24 для получения окончательного значения 120.0.

Создание при помощи Home Grid

#PВ 3DS МАХ мировая система координат зафиксирована и ее оси всегда пересекаются в абсолютных координатах О, О, 0. Через эту постоянную точку проходят три бесконечные сетки конструкции, которые называются собственными сетками. Эти три ортогональные плоскости собственных сеток параллельны одной из трех мировых осей, что показано на рисунке 7.3. Виды, отличающиеся от шести ортогональных видов, всегда используют собственную сетку X, Y. Из-за ведущего места, которое занимает эта сетка, и поскольку в моделировании она почти всегда представляет плоскость земли, она часто называется плоскостью подложки. Виды Perspective (перспектива), User (пользователь). Camera (камера) и Spotlight (точечный источник света) всегда отображают плоскость подложки, когда собственная сетка активна.

СОВЕТ

Необходимо запомнить общее правило: "Если вы можете видеть активную сетку (линии сетки видимы), то такая сетка является активной плоскостью конструкции для данного видового окна".

При создании объектов при помощи основных сеток, вид, в котором начинает создаваться объект, определяет плоскость конструкции. При создании объекта в видовом окне Orthogonal определяется положение двух из трех координат точек подбора. Третья координата определяется с помощью текущей основной сетки. Например, в случае создания объекта создается в видах Right или Left, определяется положение Z и Y, а компонента Х помещается на основную сетку XY в позицию 0. На рисунке 7.3 показаны плоскости и их обозначения XYZ.

ПРИМЕЧАНИЕ

При создании объекта в неортогональном видовом окне всегда определяется положение Х и Y, а компонента Z равна нулю (до тех пор, пока основная сетка активна). Таким образом, если объект создается в видах Perspective, User, Camera или Spotlight, объекты всегда помещаются на плоскость грунта.

Создание при помощи вспомогательных сеток

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

СОВЕТ

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

Манипуляции со вспомогательными объектами сетки выполняются так же, как и с другими объектами, поэтому их легко перемещать, вращать и выравнивать. Функция Normal Align (нормальное выравнивание) имеет особенно ценное значение при построении по отношению к моделям. Для использования объекта сетки его сначала необходимо активизировать путем выбора объекта сетки, а затем либо правого щелчка (как показано на рисунке 7.4), либо выбора Grids/Activate Grid Object (Сетки/Активизировать объект сетки) из меню Views. После активизации основные сетки исчезают и отображаются линии объекта сетки. В данной главе под, текущей активной сеткой понимается или активизированный объект сетки, или видимая плоскость собственной сетки в текущем окне.

ПРЕДУПРЕЖДЕНИЕ

Объекты сетки не рекомендуется масштабировать. В этом случае интервал сетки остается немасштабированным. Отношение между визуальной сеткой и сеткой фиксации теряется. Если необходима большая сетка, всегда следует изменять параметры ее создания. При случайном масштабировании сетки масштаб можно сбросить до 100% через Transform Type-In.

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

СОВЕТ

Сетки являются единственными объектами, которые можно выравнивать с видом. Если с видом требуется выровнять другие объекты, сначала создается объект сетки и выравнивается с видом. Теперь сетку можно использовать для выравнивания других объектов посредством либо Align, либо Normal Align.

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

ПРИМЕЧАНИЕ

Импортируемые из других программ модели часто располагаются очень далеко от начала мировых координат, поскольку они были так созданы в других программах. Подобное расположение может привести к нежелательным последствиям в виде ошибок округления. Одно из решений проблемы заключается в перемещении всей сцены к началу координат. Однако такое решение также нежелательно, если планируется координация с внешней базой данных. В этом случае следует увеличить System Unit Scale в General Preferences (см. главу 5, "Планирование проектов", в которой приводится более подробная информация).

Точность при создании

В качестве инструментов для обеспечения точности при создании 3D Studio MAX обеспечивает системы сеток и фиксации. Отсчеты в нижней части экрана, показанные на рисунке 7.5, отображают координаты X, Y, Z текущего расположения курсора или текущее смещение при позиционировании, вращении или масштабировании. В процессе создания отсчет показывает координаты курсора. При трансформациях отсчет сообщает относительное расстояние трансляции, угол поворота или проценты масштабирования. Для обеспечения точности тщательно следите за отображением координат при перетаскивании или определении подходящего инкремента для активной сетки. Доступ к диалогу Grid and Snap Settings осуществляется по правому щелчку над различными пиктограммами фиксации, путем выбора его из меню Views или посредством присвоенной горячей клавиши.

СОВЕТ

Подходящий размер сетки очень помогает при создании объектов. Присвоение диалогу Grid and Snap Settings знакомого клавиатурного сокращения существенно ускоряет уточнение этих полезных установок (подобно Ctrl+A из 3DS под DOS).

Хотя система фиксации обеспечивает опции для фиксации вершин, ребер, пересечений сетки и линий сетки в пространствах 2D, 2.5D и 3D, доступность этих опций зависит от ситуации. При создании 3D-примитивов система фиксации всегда находится в режиме 2D, а активная сетка обеспечивает недостающий компонент координаты. Прочие установки фиксации 2D и 2.5D применяются только для создания объекта сплайна Line. Фиксация вершин и ребер применяется часто, но только для вершин и ребер, которые лежат на активной сетке. Геометрия всегда сравнивается с расположением сетки. При таких ограничениях инструмент обеспечения точности в процессе создания на самом деле опирается на сетки.

ПРИМЕЧАНИЕ

Absolute snap (абсолютная фиксация) является проекцией на пространство экрана и существует только тогда, когда активна координатная система Screen или View. При работе в координатных системах World, Parent, Local, Grid или Pick установка Absolute snap превращается в Relative snap (относительная фиксация).

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

ПРИМЕЧАНИЕ

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

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

Для создания объектов, параллельных видам User, Perspective, Camera и Spotlight, следует применять активный объект сетки, поскольку в случае активности основных видов используется только плоскость подложки (грунта) X, Y. При выбранном активном объекте сетки выполните Views -> Grids -> Align to Views и сетка будет выравниваться с этим видом. Теперь сетка готова для конструирования.

Создание параметрических примитивов

Знание основ процесса конструирования и достижения точности позволяет исследовать способы определения примитивов и манипуляции их параметрами. Геометрические примитивы 3D Studio MAX (см. рис. 7.6) обеспечивают строительные блоки, с использованием которых создается множество других форм. Те, кто занимается моделированием, используют примитивы в качестве начальной точки для создания каркаса и вершины. В общем случае примитивы служат инструментами построения и моделирования при создании булевых составных объектов. Стандартными геометрическими примитивами в 3DS МАХ являются:

  • Коробка (кубическая или прямоугольная)
  • Сфера (на базе четырехугольников)
  • Геосфера (на базе треугольников)
  • Цилиндр (сплошной или полый)
  • Труба (полая форма цилиндра)
  • Конус (остроконечный вариант цилиндра)
  • Тор (пончик)
  • Hedra или "ежик" (пять геометрических семейств с разнообразными возможностями)
  • Чайник (классическая пиктограмма компьютерной графики)
  • QuadPatch & TriPatch (плоские лоскуты Безье)

Все примитивы имеют параметры для управления их определяющими размерами - результирующей сложностью, гладкостью и генерацией координат проецирования. Первоначально можно свободно обращаться со всеми параметрами, поскольку их всегда легко модифицировать и установить такими, как это необходимо, путем уточнения их значений из панели Modify или позже из Track View.

ПРИМЕЧАНИЕ

Вы никогда не должны связывать себя при первоначальном создании объекта, что характерно для большинства ЗD-программ. Все значения параметров создания уточняются позже через панель Modify. Эти значения нельзя регулировать после выполнения операции, разрушающей стек объекта. Перед выполнением подобной операции (например, Edi+Mesh/Attach) следует проанализировать параметры создания и учесть, сколько деталей требуется для объекта сцены.

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

Для большинства объектов установлен предел в 200 сегментов для любого взятого размера. Это достаточно высокий предел и его редко используют. Например, коробка, имеющая стороны с 200 сегментами, содержит 480000 граней, а чайник с максимальным числом сторон 74 имеет 272144 грани. Фантастическим в параметрической геометрии является то, что хотя она и оказывает влияние на объем памяти для сцены и визуализации, занимаемое дисковое пространство файла МАХ оказывается независимым от уровней сегментации, пока объект остается параметрическим.

СОВЕТ

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

Параметры параметрического создания

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

Размеры

Размеры определяют размер параметрического объекта при измерении от его точки создания. Общие размеры включают высоту, длину и ширину, в то время как круговые объекты обычно содержат параметры радиуса. Некоторые разработчики в качестве альтернативы используют периметр, объем и массу.

ПРИМЕЧАНИЕ

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

Сегменты

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

Сглаживание

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

Координаты проецирования

Mapping Coordinates (координаты проецирования) управляют добавлением к объекту параметрических координат распределения. По умолчанию примитивы создают проецирование с фиксированной укладкой, равной 1.0 в каждом направлении. Объекты от других разработчиков могут иметь возможность управления укладкой и экстентами их параметрического проецирования. Заказное проецирование присваивается с помощью модификатора UVW Map.

Параметры "порций"

"Порции" управляют полнотой создания объекта. Общие примеры включают Cylinder & Tube slicing (цилиндрические и трубчатые пластины). Sphere chopping (сферические срезы) и Teapot part (части чайника). Объекты от других разработчиков могут включать в себя количество зубьев шестеренки либо компоненты окна или автомобиля.

"Вариации"

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

"Семейство"

"Семейство" изменяет весь результат действия других параметров. Общими примерами являются Type для GeoSphere и Family (семейство) для объектов Hedra. Некоторые разработчики определяют род, породу, расу, изготовителя, линию, продукт и пр.

Точки пространственного центра

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

Ориентация ограничивающей рамки

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

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

СОВЕТ

Иногда более предпочтительной оказывается работа в режиме Box, например при регулировке сложной геометрии, которая в противном случае потребовала бы значительных задержек при обновлении экрана. В подобного рода ситуациях важным может оказаться сохранение постоянных ориентации ограничивающей рамки. Для переориентации ограничивающей рамки объекта его можно присоединить к каркасному объекту с предпочитаемой ориентацией ограничивающей рамки (используя EditMesh/ Attach). После присоединения можно свободно отсоединить элемент с новой ориентацией или удалить целевой элемент. Этот процесс следует применять только при необходимости, поскольку он разрушает стек присоединенного объекта и заставляет присоединенный объект наследовать точку вращения объекта, к которому он присоединен. Альтернативным методом является использование утилиты Reset Transform (сброс трансформации) в RI.I для применения модификатора XForm к объекту, что обеспечивает тот же эффект без удаления истории данных объекта.

Параметры пластин и срезов

Примитивы, имеющие определяемые линии пластин, обычно имеют опции параметров Slice (пластина) и Chop (срез). Опция Slice On (включить разделение на пластины) позволяет посредством параметров Slice From и Slice To определить начальное и конечное положение пластины "кругового объекта", расположенного по центру создания объекта (см. рис. 7.8).

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

Примитив Sphere отличается тем, что имеет параметр Hemisphere (полушарие) с диапазоном изменения 0-1 (что определяет часть сферы в процентном выражении). Опция Squash (расплющить) поддерживает такое же количество сегментов для результирующей секции сферы. Опция Chop (срез) делит сферу на секции в тех же местах, что и Squash, но не изменяет остатка первоначально определенных сегментов сферы. На рисунке 7.9 показаны сферы с одинаковыми значениями Hemisphere в Squash и Chop. Опция Base to Pivot (взять за базу точку вращения) существенно изменяет эффект Hemisphere. При отмеченной Base to Pivot основание секционированной сферы всегда опирается на плоскость создания. При анимации сфера кажется всплывающей из плоскости так, как будто она разрывает поверхность жидкости. Если Base to Pivot не отмечено, верх секционированной сферы остается неподвижным и кажется, что сфера вырастает из него (рис. 7.9).

Параметрические координаты проецирования

Примитивы 3D Studio MAX генерируют по умолчанию координаты проецирования в качестве помощи для быстрого выбора текстуры. Это не автоматическая опция, поскольку координаты проецирования влияют на размер файла ввиду добавления дополнительных данных. Координаты по умолчанию фиксируются в методе проекции и обычно являются одной мозаичной единицей в каждом направлении. Хотя их нельзя регулировать (они определены параметрически), присвоенный им материал может иметь смещение и способ укладки мозаикой при проецировании, регулируемых при необходимости. Для дополнительного управления или для изменения типа проецирования к объекту в собственных координатах можно добавить модификатор UVW Map. На рисунке 7.10 показано проецирование по умолчанию для основных примитивов.

Параметрические опции сглаживания

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

Для минимизации накладных расходов моделирования и поддержания скорости в 3DS МАХ включено понятие сглаживания. Сглаживание влияет на объект при его визуализации так, как если бы его геометрия была на самом деле сферической. Ребра, которые существуют между сглаженными гранями, в значительной степени игнорируются визуализатором по мере сглаживания сетки. Визуализированный эффект сглаживания отличается в интерактивном и окончательном визуализаторах из-за уровня визуализации затенения. Окончательный визуализатор использует в основном модели затенения Phong и Metal, создающие очень гладкие яркие участки путем усреднения цветового пространства каждого пиксела. Это противоположно используемой при сглаживании в 3D Studio MAX модели затенения Gouraud, при которой затенение интерполируется затенения между вершинами. Поэтому результирующее качество ярких участков зависит от плотности каркаса, поскольку чем больше определений, тем больше между ними затеняется вершин. На рисунке 7.11 приведено сравнение того, как выглядит одинаково гладкая геометрия в затененном видовом окне и в окончательном визуализаторе. На рисунке 7.12 показана та же геометрия без опции сглаживания.

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

ПРИМЕЧАНИЕ

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

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

СОВЕТ

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

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

ПРИМЕЧАНИЕ

Когда начинается модификация объекта, в особенности на уровне подобъектов, первоначальные присвоения группы сглаживания, вероятно, окажутся неправильным. В этом случае потребуется присвоить модификатор Smooth или выполнять сглаживание через модификатор EditMesh.

Манипуляция компонентами

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

Ограничивающая рамка

Ограничивающая рамка (Bounding Box) представляет собой прямоугольную рамку, размер которой определяется экстентом объекта или текущего временного набора выборок. Если активна Adaptive Degradation (адаптивная деградация), ограничивающая рамка используется в качестве объекта замены при перетаскивании выборок во время выполнения команд. Экстенты и центр ограничивающей рамки выборки используются в качестве основы для команды Align (выровнять). Ориентация ограничивающей рамки определяется отношением объекта с мировой системой координат при его создании. Ограничивающую рамку можно переориентировать только косвенно, а не явно, путем переориентации объекта.

Центр выборки

Центр выборки (Selection Center) является геометрическим центром ограничивающей рамки и общей точкой трансформации из менеджера трансформации.

Матрица трансформации

Эта матрица представляет собой таблицу чисел, поддерживаемую 3D Studio MAX для отслеживания изменений в расположении, ориентации и размерах объектов. Расположение объекта определяется пересечением трех плоскостей в центре ограничивающей рамки. Ее использование совершенно очевидно, но может повлиять на эффект некоторых материалов и трансформаций Keyframer.

Локальная система координат

Локальная система координат (Local Coordinate system) (или пространство объекта) уникальна для объекта и обеспечивается в таблице чисел, которая называется матрицей трансформации 3DS МАХ, отслеживающей изменения в расположении, ориентации и размерах объекта. Расположение объекта определятся пересечением трех плоскостей в центре ограничивающей рамки так, как оно определялось при создании объекта. В то время, как использование матрицы трансформации совершенно очевидно, локальные координаты оказывают влияние на материалы, использующие типы SD-карт, и на различные трансформации.

Система координат

Coordinate Systems (системы координат) определяют ориентацию плоскостей X, Y, Z и являются основой, на которой выполняются (неанимированные) трансформации. Используемая координатная система выбирается из выпадающего списка Reference Coordinate System (опорная система координат) линейки инструментов. Активная система координат управляет каждым действием, производимым через линейку инструментов (перемещение, вращение, изменение масштаба, зеркальное отображение, массив и выравнивание).

Точка вращения

Pivot Point (точка вращения) определяет начало координат и ориентацию локальных осей объекта и, таким образом, его локальную систему координат. Точка вращения задает ориентацию локальной системы координат объекта и точку, вокруг которой трансформируется объект. Поэтому точка вращения имеет важное значение для анимации. Точка вращения часто является местом расположения по умолчанию центров гизмо. Если точка вращения не перекрыта глобальным параметром Local Center During Animation (локальный центр во время анимации), она используется в качестве позиции для анимированной трансформации объекта. Перемещение или переориенация точки вращения объекта выполняется с панели Hierarchy (иерархия). Несмотря на то, что при этом вы получаете управление над локальной системой координат объекта, ограничивающая рамка не переориентируется.

Основные примитивы

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

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

Коробки

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

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

Цилиндры и трубы

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

На рисунке 7.14 показано как в зависимости от сегментации изменяется воспринимаемая округлость круговых объектов. Если концов нельзя увидеть, можно создавать минимум сторон; если профиль очевиден (что является общим случаем для внутренних частей труб), количество сегментов должно быть увеличено.

ПРИМЕЧАНИЕ

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

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

Конусы

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

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

Объект конуса усиливает характеристику сглаживания 3D Studio MAX. Поскольку алгоритм сглаживания Renderer пытается аппроксимировать сферу, "сглаженные" стороны кажутся в некоторой степени фасеточными, если они конусно сходятся в острую точку, что очень типично для конуса. Для повышения визуализиро-ванной гладкости конуса необходимо увеличивать его сегментацию, что уменьшает средний угол между гранями. На рисунке 7.17 показано результирующее сглаживание конусов с различными сегментами высоты.

Сферы и геосферы

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

Опции Tetra (четырех), Octa (восьми) и Icosa (двадцати) создают треугольные грани, но организуют свою геометрию различными способами. Сфера Icosahedron (двадцатигранник) является классической конструкцией геодезического купола, образующей пятиугольники из треугольников в критических точках. В противоположность этому, Octahedron (восьмигранник) и Tetrahedron (четырехгранник) в аналогичных соединениях образуют квадраты и равносторонние треугольники.

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

Top

Объекты Torus (тор) часто называют пончиками, шинами или кольцами. Хотя тор выглядит просто, этот объект имеет ряд интересных параметров. На рисунке 7.19 показано как параметр Twist скручивает радиальные линии (стороны), которые образуют спираль вокруг тора, а параметр Rotation вращает поперечные сечения (сегменты). Эффект параметра Twist полностью очевиден в неподвижном изображении, эффект же параметра Rotation лучше всего виден в анимации.

ПРИМЕЧАНИЕ

Поскольку Twist имеет определенную начальную точку, в начале скручивания будет существовать некоторое сжатие, если при скручивании не делается полный оборот с целью совпадения начальной и конечной точек. Если опция Slice не активизирована для вставки разрыва в этой точке, во избежание сжатия следует использовать значения Twist с инкрементами 360.

Сложные объекты (Hedra и Teapot)

Объекты Hedra (ежик) и Teapot (чайник) служат в качестве намека на то, что можно делать с объектами 3DS MAX. Hedra обеспечивает неограниченные перестановки, a Teapot является примером сложного параметрического объекта, состоящего из частей (см. рис.7.22 далее в главе).

Можно ожидать появление множества других параметрических объектов попадающих под эти два класса. Деревья, растительность, ландшафты и тучи аналогичны Hedra, а двери, окна, стулья и даже наборы доспехов аналогичны Teapot.

Объект Hedra обеспечивает пять семейств Polyhedron (многогранник) со множеством управляющих параметров. Возможности этих параметров могут показаться бесконечными, и ввиду того, что над ними можно выполнять анимацию, они обеспечивают очень интересную геометрию (в особенности для систем моделирования частиц от независимых разработчиков, которые могут воспринимать объекты-ссылки в качестве частиц). На рисунке 7.20 показана часть того, что можно сделать с этим объектом; на рисунке 7.21 приведены диаграммы определяющих параметров.

Объект Teapot - это классика компьютерной графики. Известный в промышленности как "чайник из Юты", он является одним из первых предметов, которые всегда визуализируются. Теперь чайник является пиктограммой для 3D-графики в целом (поскольку используется в качестве пиктограммы визуализации). Пусть это покажется смешным, но скромный чайник является совершенно бесценным для проверки материалов и модификаторов благодаря своим геометрическим вариациям и подходящим координатам распределения (см. рис. 7.23).

Понимание геометрических классов

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

ПРИМЕЧАНИЕ

Хотя в 3D Studio MAX непосредственно не входят объекты создания NURBS (Non-Uniform Rational B-Spline, неоднородные рациональные В-сплайны) или инструменты редактирования, она включает в себя класс объектов NURBS для пользователей 3DS МАХ SDK, разрабатывающих приложения. 4D Vision, разработчик 3DS МАХ, заявил о подключаемом элементе NURBS для 3DS МАХ, который называется "Sculptor" (скульптор). Этот подключаемый элемент обещает стать очень емким инструментом моделирования NURBS.

Все становится гранями

Модели 3DS МАХ основаны на геометрических классах. В общем случае объекты начинаются с высокого уровня и по мере необходимости преобразуют сами себя в более простые уровни. Параметрический объект можно преобразовать в лоскут, который затем преобразуется, например, в каркас из треугольных граней. Нерасширенная 3DS МАХ включает в себя следующие геометрические классы и связанные с ними инструменты:
Геометрические классы | Возможные инструменты редактирования
Параметрические объекты | Только манипуляция базовыми параметрами (можно преобразовать в лоскуты или в каркасы)
Сплайновые объекты | EditSpline (отредактировать сплайн), Extrude (вытянуть), Bevel (фаска), Lathe (вращать) и т. д. (Можно преобразовать в каркасы или лоскуты посредством других модификаторов)
Поверхности из лоскутов Безье | EditPatch (отредактировать лоскут), Extrude, Bevel, Lathe и т. д. (можно преобразовать в каркасы)
Каркасные объекты | EditableMesh (редактируемый каркас), EditMesh (отредактировать каркас), MeshSmooth (сгладить каркас). Optimize (оптимизировать) и т. д. (базовый класс каркасов или можно подразделить на лоскуты)

Геометрический класс определяет способы отображения и редактирования производного объекта. В настоящее время 3D Studio MAX поставляется всего с четырьмя классами; однако разработчики достаточно быстро добавляют заказные классы. Поэтому понимание эволюции геометрии имеет важное значение для моделирования.

Работа с лоскутами по сравнению с работой с каркасными примитивами

По умолчанию примитивы 3DS МАХ преобразуются в каркасы при редактировании их модификаторами. Те же примитивы могут работать как лоскуты, если сразу после создания параметров применить модификатор EditPatch. Поэтому EditPatch является первым модификатором в стеке. Помните, что позже можно вернуться назад и вставить модификатор EditPatch после других примененных модификаторов. Рисунок 7.24 демонстрирует, что объекты Box, Cylinder, Tube, Cone, Torus и Teapot преобразуются в квадратные лоскуты, объекты Sphere - в треугольные лоскуты, а каждая грань объектов Hedra и GeoSphere преобразуется в треугольные лоскуты.

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

СОВЕТ

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

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

Обычно при работе с объектами как с лоскутами люди, занимающиеся моделированием, хотят сохранить геометрию лоскутов как можно дольше. При этом знание того, когда операция заставит геометрию преобразоваться из лоскутов в грани, приобретает очень важное значение. Следующие модификаторы всегда преобразуют геометрию в грани: EditMesh (отредактировать каркас), Material (материал), Normal (нормальный), Smooth (сгладить), VolSelect (выбор объема), MeshSmooth (сгладить каркас) и Relax (ослабить).

Новый геометрический класс

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

Чтобы быть видимым в видовом окне и, в конце концов, визуализированным, объект FOO должен знать как преобразовать геометрию класса FOO в элементы каркаса (или, точнее, в TriFaceMesh). Фактически каждый объектный класс 3D Studio MAX должен иметь возможность преобразования в каркас с треугольными элементами. Это требование определяет общий знаменатель для всех модификаторов для возврата в такое состояние, при котором каждый модификатор сможет работать на любом объекте. Следующий вопрос заключается в определении, подходит ли геометрия FOO для преобразования в лоскуты Безье или, может быть, в дополнение от независимых разработчиков. С этого момента мы будем говорить, что объект FOO можно преобразовать только в грани.

Класс FOO добавляется к меню создания и появляется возможность создания объектов FOO. Но как редактировать их после создания? Выбрав объект FOO, необходимо перейти к панели Modifier. Появляются только инструменты, моделирующие объект FOO. Поскольку в элементы каркаса можно преобразовать каждый геометрический класс, несколько модификаторов, подобных Bend, Taper, Twist и EditMesh, доступны. EditSpline, Extrude и Lathe, работающие только на сплайнах, приобретают серый цвет (т.е. недоступны). Модификатор EditPatch также приобретает серый цвет, поскольку объекты FOO нельзя преобразовать в лоскуты Безье. В случае применения модификатора Bend, последний просматривает геометрию в конце конвейера и не зная, что такое FOO, запрашивает лоскуты. FOO отвечает, что его нельзя преобразовать в лоскуты, поэтому Bend запрашивает элементы каркаса. Объект FOO преобразуется в каркасный объект с треугольными элементами, после чего инструмент Bend продолжает свою обычную работу. После изгиба модификатор EditPatch теряет серый цвет и становится доступным для использования. Это связано с тем, что каркасный класс 3D Studio MAX знает как выполнять преобразование в лоскуты Безье.

Если необходимо отредактировать объект FOO в его собственной манере, текущая опция должна перейти в нижнюю часть стека Edit History (история редактирования) и уточнить параметры FOO. При этом требуются модификаторы, умеющие манипулировать геометрией FOO. Для редактирования FOO необходимы инструменты редактирования FOO. Создается класс модификаторов FOO, сохраняющий и модифицирующий собственные сетки и контуры FOO. Ввиду исключительной полезности основных осевых деформаций команды Bend, Taper, Twist, Skew и Stretch модифицируются так, чтобы они также могли воспринимать и манипулировать классом FOO. Теперь после сгибания объекта FOO он сохраняет геометрию FOO и модификатор EditFOO по-прежнему существует после применения Bend. В этой точке нужно применить EditMesh и геометрия станет каркасом.

Реальной возможностью мог бы стать новый объект NURBS, который легко преобразовать в лоскуты Безье и элементы каркаса. До тех пор, пока вы работаете с новыми инструментами моделирования NURBS, модель остается в виде NURBS. В случае применения основного модификатора (который ничего не знает о NURBS) модель преобразуется в лоскуты и при необходимости - в грани. То же самое применимо для сплошных объектов и многоугольного моделирования.

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

После добавлений разработчиков возможная геометрическая иерархия может выглядеть следующим образом:
Геометрический класс | Возможные инструменты редактирования
Параметрические объекты | Манипуляция базовыми параметрами (возможно преобразование во все, что угодно)
Сплошные объекты | EditSolid, Fillet и т. д. (возможно преобразование в NURB)
Поверхности NURB | EditNURB, Trim и т. д. (возможно преобразование в Patch)
Лоскутные поверхности Безье | EditPatch, Blend и т. д. (возможно преобразование в Polygon)
Многоугольные грани | EditPoly и т. д. (возможно преобразование в Quad)
Четырехугольные грани | EditQuad, GameOut и т. д. (возможно преобразование в Triangles)
Треугольные грани | EditMesh, Optimize и т. д. (нижний класс)

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


ГЛАВА 8

Моделирование на уровне объектов

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

Конкретно в ней рассматриваются следующие предметы:

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

Основы применения модификаторов

Модификация одиночных объектов достаточно проста. Выберите объект и щелкните на модификаторе, который требуется применить. Модификатор присваивается на текущем уровне Modifier Stack объекта и готов к приему значений. Модификатора! обычно начинаются с их установок по умолчанию, которые часто не имеют значений или осуществляют первую итерацию конечного эффекта. Другие модификаторы, подобные Bevel (фаска) и Extrude (вытянуть), запоминают ранее использованные значения и присваивают их в качестве первоначальных значений по умолчанию. После применения уточните параметры модификаторов из их диалогов в Command Panel (взаимодействие с экраном требуется редко). Дополнительные модификаторы для объекта последовательно накапливаются в Modifier Stack. На рисунке 8.1 показано накопление модификаторов для примера примитива трубы.

ПРИМЕЧАНИЕ

Начиная работу с 3DS МАХ, есть вероятность случайного применения нескольких модификаторов вместо одного. В таком случае определите какие значения модификаторов необходимо сохранить и удалите избыточные через пиктограмму Remove или диалог Edit Modifier Stack.

В то время, когда каждый модификатор является уникальным, большинство из них совместно используют ряд основных характеристик. Первой характеристикой является список параметров. Эти значения управляют эффектом модификатора и сохраняются в файле. Практически каждый модификатор имеет параметры, хотя отсутствие любых параметров также допустимо (например, для явного модификатора Conversion); подобные модификаторы встречаются крайне редко.

Модификаторы всегда применяются к пространству объекта (которое также называется локальной системой координат) и носят иногда название "модификаторов пространства объекта" или сокращенно OSM. Как описано в главе 1, "Ключевые концепции 3D Studio MAX", модификаторы следует применять сразу после определения создания объекта и перед трансформациями и искажениями пространства. Поскольку модификаторы применяются в пространстве объекта, они уделяют определенное внимание расположению точки вращения объекта и его ориентации при создании.

Модификация одиночных объектов

Модификаторы можно применить к одиночному объекту, выборке объектов или к выборке Sub-Object (подобъект) внутри объекта. В этой главе рассматриваются проблемы применения первых двух методов, а в главе 9, "Моделирование при помощи форм", основное внимание уделяется проблемам моделирования на уровне подобъектов.

Модификаторы могут содержать подобъекты. Большинство модификаторов, оказывающих влияние на топологию (например. Smooth, Normal, Optimize), не имеют компонентов подобъектов, при этом кнопка Sub-Object становится серой. Класс модификаторов "редактирования" (EditMesh (отредактировать каркас), EditPatch (отредактировать лоскут) и EditSpline (отредактировать сплайн)) работает с наборами выборок в режиме Sub-Object. Все другие модификаторы имеют графическое представление, называемое гизмо, которым можно манипулировать как с объектом для достижения улучшенного управления эффектом модификатора. В свою очередь гизмо имеют центр, очень похожий на точку вращения. Центр управляет точкой, из которой генерируется эффект модификатора.

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

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

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

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

СОВЕТ

Идентификация того, на какие объекты влияет модификатор-экземпляр, может оказаться затруднительной, поскольку их гизмо занимают одно и то же место в пространстве. Опция Views/Show Dependencies (виды/показать зависимости) позволяет лучше различать эти взаимоотношения путем подсветки зеленым цветом объектов, у которых имеются модификаторы-экземпляры.

При отмеченном флажке Use Pivot Points модификация множества объектов существенно изменяется. Когда эта опция активна, она заставляет модификатор работать так, как будто бы он влияет на выбранные объекты по отдельности.

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

Применение модификатора к набору объектов и последующее уточнение одного из них является общепринятым приемом. Превращение модификаторов-экземпляров в уникальные выполняется через кнопку Make Unique в Modifier Stack. На рисунке 8.3 показан стул, смоделированный подобными модификаторами и завершенный общим изгибом. Во время анимации передние ножки должны "прогуливаться", поэтому их модификаторы Bend были сделаны уникальными и настроены для прогулки.

СОВЕТ

Модификация выборки является точным и быстрым методом расположения общего центра гизмо для данного модификатора. Перекладинам стула на рисунке 8.4 был присвоен модификатор Bend как для выборки и затем пока существовала выборка, его сделали уникальным. После этого каждая перекладина получила одинаковое расположение центра концентрического изгиба.

Когда выборка делается при открытой панели Modify Panel (панель модификации), 3DS МАХ производит анализ выборки на предмет наличия общих модификаторов. Если последние найдены, они будут представлены в стеке. В противном случае выпадающий список окажется пустым. Для уточнения модификаторов-зкземпляров не требуется выбирать все объекты совместно используемой модификации. Например, если десять объектов были сужены к конусу, при выборе объектов 1-10 отображается модификатор Taper. Но, если объект не входит в десятку включенных в выборку, общности не будет и список стека окажется пустым.

Использование Modifier Stack

Из всех областей интерфейса 3DS МАХ свиток под названием Modifier Stack, содержащий небольшую секцию из семи кнопок и два выпадающих списка (см. рис. 8.5), до сих пор является наиболее мощным. Умелое использование Modifier Stack - путь к овладению 3DS MAX. Modifier Stack обеспечивает доступ к истории моделирования объекта. Каждая выполняемая на объекте операция моделирования сохраняется в Modifier Stack, поэтому к ней можно вернуться для настройки или удаления. Операции сохраняются в стеке вместе со сценой столько, сколько нужно, позволяя в любое время изменять свое решение.

Сам Modifier Stack находится в выпадающем списке (см. рис. 8.6). При выборе объекта последний добавленный к объекту модификатор отображается в верхней части стека рядом со стрелкой. Первый добавленный модификатор - самая ранняя информация об объекте, которой располагает 3DS МАХ - отображается в нижней части стека. Для случая геометрических примитивов их параметры всегда находятся в нижней части стека. Модели, импортированные из других программ (например, файлы 3DS), в качестве своего первого (нижнего) входа в стек обычно имеют Mesh (каркас). Editable Mesh (редактируемый каркас), Patch (лоскут) или Bezier Spline (сплайн Безье). Поскольку это является начальным состоянием объекта, поместить модификатор ниже в стеке невозможно.

СОВЕТ

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

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

  • Pin Stack (зафиксировать стек) (состояние). Фиксирует текущее состояние модификатора, позволяя трансформировать другие объекты в сцене во время активности модификатора фиксации. Таким образом Pin Stack является исключением из обычного функционирования 3DS МАХ, поскольку в этом случае панель Modify не отображает текущего выбора. Подобное исключение может оказаться полезным для координации результата модификатора с положением и ориентацией другого объекта. Многие разработчики для операций модификаторов применяют маневр, использующий "шаблонные" объекты в качестве направляющих.

ПРИМЕЧАНИЕ

Состояние Pin Stack не позволяет выполнять трансформацию другого объекта, если текущий модификатор находится в режиме Sub-Object.
  • Активный/неактивный (выключатель). Выполняет переключение состояния передачи результатов текущего модификатора по всему конвейеру модификаторов. Модификатор по-прежнему отображает свой гизмо, но больше не влияет на геометрию. Этот атрибут может оказаться очень полезным в случае присвоения интенсивного модификатора (например, Displace (сместить) или MeshSmooth (сглаживание каркаса)) и необходимости дальнейшей манипуляции объектом при помощи более простой формы.
  • Show End Result (показать конечный результат) (выключатель). Выполняет переключение состояния отображения результатов оставшихся в стеке модификаторов, что позволяет вернуться к любому состоянию в истории модели и отрегулировать его эффект, не отменяя того, что происходит позже. Проектировщики часто выключают Show End Result при настройке модификатора и включают ее обратно для проверки уместности результирующего эффекта. Выключение Show End Result может сэкономить время, когда остаток в стеке интенсивно использует память и оказывает влияние на быстродействие.
  • Make Unique (сделать уникальным) (действие). Делает модификатор-экземпляр уникальным для данного объекта. Make Unique используется для уничтожения зависимости от других объектов, совместно использующих одинаковый модификатор - она разрывает связь с остальными объектами. Эта кнопка может вызвать некоторое замешательство, поскольку проверка, является ли в действительности модификатор экземпляром не делается, и данная кнопка всегда доступна. Не следует щелкать на Make Unique, если нет уверенности в том, что необходимо разорвать отношение разделения одного и того же модификатора с другими объектами, поскольку действие нельзя аннулировать.
  • emove Modifier (удалить модификатор) (действие). Удаляет выбранный модификатор из стека. Результат такой, как будто модификатор никогда не применялся. Эту кнопку следует использовать с осторожностью, поскольку удаление аннулировать нельзя.
  • Edit Stack (редактировать стек) (диалог). Выводит диалог Edit Modifier Stack (рис. 8.7), в котором разрешает делать уникальными, удаляет, разрушает и переименовывает отдельные выборки модификаторов. Операции в диалоге Edit Stack должны выполняться очень осторожно, поскольку после этого никакая отмена действий, кроме переименования, недоступна.

ПРЕДУПРЕЖДЕНИЕ

Как правило, при регулировке модификаторов можно отменить только изменения в полях редактирования. Опции Make Unique, Remove Modifier (удалить модификатор) и разрушение стека никогда нельзя аннулировать. В общем случае, если с чем-то нельзя выполнить анимацию, его нельзя и аннулировать.

Переименование модификатора выполняется посредством выбора модификатора и ввода нового имени в нижней части диалога. Теперь это имя присутствует в стеке и в Track View. Если сделать модификатор уникальным, его имя сбрасывается, поскольку при этом разрывается соединение с другими зависимыми модификаторами. Если модификатор уже независим, опция Make Unique по-прежнему является активной и ее можно использовать в качестве метода быстрого переименования. В случае групп модификаторов удаление и превращение в уникальные работает точно так же, как и для одиночных модификаторов.

На первый (нижний) вход в стеке нельзя повлиять внутри диалога Edit Stack и его нельзя переименовать. Этот вход является его геометрическим классом и переименования базового типа объекта вызовет значительное замешательство. В геометрические классы входят параметрические объекты, Editable Mesh, Patch, Bezier Spline, Loft и Morph. Первый вход нельзя разрушить или удалить, поскольку ниже его нет ничего, что можно было бы разрушить. Однако, первый вход будет часто модифицироваться в результате разрушения стека.

Разрушение стека

Несмотря на то, что Modifier Stack имеет очень важное значение, он имеет и свою цену - ОЗУ. Каждый шаг в стеке занимает небольшой объем ОЗУ, а модификаторы Edit стоили до сих пор дороже всего, поскольку они содержат фактические копии того, как объект модифицировался до этого момента. Чем больше модификаторов в стеке, тем больший объем ОЗУ требуется для их вычисления.

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

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

ПРЕДУПРЕЖДЕНИЕ

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

Щелчок на Collapse All (разрушить все) в диалоге Edit Modifier Stack уничтожает все модификаторы и сводит объект к тому, что видно в видовом окне. После выбора одного или нескольких модификаторов в стеке (над самым нижним), становится доступной кнопка Collapse To (разрушить до). Щелчок на ней разрушает стек от точки выборки до низа стека. Разрушение стека может вызвать замешательство, если выбрано несколько модификаторов, поскольку может показаться, что стек разрушается только внутри выборки. Рисунок 8.8 демонстрирует, что при разрушении выборки последний (верхний) модификатор задает точку, начиная с которой стек разрушается, в то время как низ разрушения всегда определяется низом стека. Для разрушения примитива до базовой геометрии применяется соответствующей модификатор Edit (Edit Mesh, EditPatch или EditSpline) и стек мгновенно разрушается. При этом стек разрушается вплоть до объектов классов Patch, Editable Mesh или Bezier Spline.

СОВЕТ

Добавление модификатора Edit требует некоторого объема ОЗУ для хранения результатов редактирования и времени, поскольку немедленно происходит переход в режим Sub-Object. Если не выполнять разрушение до Patch, добавление практически любого другого модификатора (например, Bend или XForm) будет выполняться быстрее при разрушении до классов Editable Mesh или Bezier Spline.

Результат разрушения зависит от примененных к объекту модификаторов. Начиная с модификатора EditPatch результатом разрушения будет Patch, если не добавлен модификатор, превращающий объект в каркас. В противном случае объект, вероятнее всего, разрушится до Editable Mesh. Типовыми модификаторами, разрушающими объект до каркаса, являются EditMesh, Optimize, Displace, Relax и MeshSmooth.

ПРИМЕЧАНИЕ

Класс Editable Mesh становится видимым только в случае, если это разрешено (как утверждается в файле 3D Studio MAX readme, wri) путем добавления следующих строк в файл 3dsmax.ini: [EditableMesh] Enabled=1 Разрешение этой опции не оказывает неблагоприятный эффект, а явное редактирование каркаса при этом выполнятся значительно быстрее и занимаемый объем ОЗУ гораздо меньше, чем при использовании модификатора EditMesh. Мы предполагаем, что в файле 3dsmax.ini эта опция разрешена.

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

Навигация по стеку модификаторов

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

Сохранение модификаторов

В сцене 3DS МАХ фактически все является результатом выполнения серии операций. То, что видно на экране, а в некоторых случаях - визуализация, является результатом этих операций в данный момент времени. При сохранении сцены в файле по сути выполняется сохранение начального состояния объектов с последующим "написанием сценария" каждой модификации, применяемой к объекту. Результирующая геометрия никогда не сохраняется в файле МАХ непосредственно. Вместо этого сохраняется первоначальный объект и все шаги для создания этой геометрии, что позволяет в будущем изменять свое решение при моделировании. #PВычисление стека выполняется только в случае необходимости. Результат называется каркасом действительности, а период времени, в течение которого результат является действительным, называется интервалом действительности. При первой загрузке сцены вычисляется Modifier Stack каждого объекта и отображается результат. Выполняется кеширование этого состояния и, если объект не модифицируется, оно повторно не вычисляется (путем добавления нового модификатора, настройки параметра в стеке или перемещения во временную точку, в которой параметр изменяется). Выполнение трансформаций на объекте не требует повторного вычисления стека; это только одна из причин, почему перемещение, вращение и масштабирование объектов является в 3DS МАХ таким быстрым.

Порядок модификаторов

Порядок применения модификаторов оказывает первостепенное влияние на результаты. Этот порядок следует планировать. Рисунок 8.9 показывает существенные различия между двумя модификаторами, которые помещаются в стек в различном порядке.

В то время, как Modifier Stack позволяет вернуться назад в любую точку во времени и поместить новый модификатор в любое место, он не обеспечивает возможность изменения порядка следования модификаторов. Общее недоразумение заключается в предположении, что порядок входов в стеке можно изменить в диалоге Edit Modifier Stack или Track View - этого сделать нельзя. Если модификатор применяется в неправильном порядке, необходимо удалить неправильно помещенный модификатор, найти в стеке подходящее место и снова применить модификатор. Если необходимо обеспечить первоначальные установки, запишите их и скопируйте в новый' модификатор вручную. К счастью, подобное случается очень редко. Как правило, факт неправильного помещения модификатора всплывает очень быстро, поскольку интерактивное видовое окно сразу отражает допущенную ошибку.

Манипуляция гизмо

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

ПРИМЕЧАНИЕ

Функция Align (выровнять) не работает с гизмо и их центрами, поскольку она не видит уровня Sub-Object. При использовании Align в режиме Sub-Object выравнивается весь объект.

Расположение точки вращения объекта определяет первоначальное расположение осевого центра модификатора и ориентацию собственной локальной системы координат гизмо. Многие модификаторы обеспечивают параметры, необходимые для вращения их эффекта. Если доступны модификаторы, подобные Bend и Skew, их следует использовать, поскольку они сохраняют границу гизмо в лучшем отношении к модифицированному объекту. На рисунке 8.11 показан эффект использования параметра Direction модификатора Bend и вращения гизмо.

При использовании модификаторов, не имеющих компонента направления, например Taper (свести на конус), Stretch (растянуть) и Twist (скрутить), единственным выбором является вращение гизмо. Во многих случаях ориентация модели не является удачной в смысле направления, в котором требуется применить модификатор. Такая модель показана на рисунке 8.12. Пушка направлена к миру, но ствол наклонен. Пушка посредине показывает эффект применения модификатора в соответствии с осью по умолчанию, в то время как у ближней пушки гизмо Taper повернут для согласования с наклоном ствола.

Масштабирование гизмо

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

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

СОВЕТ

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

После масштабирования гизмо следует точно определить, насколько они были масштабированы и вдоль какой оси могут появиться сложности. Этот процесс может оказаться утомительным при сравнении похожих модификаторов. Transform Type-In не отображает текущего расположения гизмо, как это делается для случая объектов. Единственно возможным является использование Key Info из Track View. Key Info доступен только для ключей, а ключей не существует, если не выполняется анимация. Таким образом с трансформацией гизмо необходимо выполнить анимацию, чтобы получить возможность анализа его значений. Поскольку использовать трансформацию не очень общепринято, ниже предлагается быстрый метод добавления ключа в Track View и настройки абсолютного масштаба гизмо:

  1. При выбранном объекте войдите в Track View и найдите выбранный объект. В случае большой сцены щелкните на Filter (фильтр) и выполните Show Only Select Objects (показать только выбранные объекты).
  2. Выполните правый щелчок на имени объекта, а затем Expand Tracks (расширить дорожки).
  3. Введите Add Keys (добавить ключи), щелкнув на пиктограмме Add Keys и щелкните где-нибудь вдоль дорожки масштабирования гизмо для создания ключа.
  4. Выполните правый щелчок на новом ключе для вывода Key Info со значениями масштаба гизмо, как показано на рисунке 8.14.
    Добавление этого ключа не создает анимации. Она создана только одиночным ключом, поэтому интерполяция во времени с другими ключами не происходит.
  5. Можно регулировать значения масштаба и видеть в интерактивном режиме результаты в видовых окнах. По выбору отрегулированный ключ можно удалить, а значения останутся.

Использование пределов модификатора

Во многие модификаторы включена возможность ограничения места действия их эффекта с помощью параметров, называемых пределами. Они управляются параметрами Upper Limit (верхний предел) и Lower Limit (нижний предел) (иногда на них ссылаются как на From (от) и То (до)) и расположением центра гизмо. Пределы отличаются от модификации подобъекта, поскольку влияют на весь объект, но помещают свою деформацию в заданный диапазон.

Изогнутая соломинка является хорошим примером использования пределов. На рисунке 8.15 показаны несколько попыток изогнуть прямую соломинку (примитив Tybe). Первый изгиб, показанный слева, влияет на всю соломинку, что не требуется. Второй изгибает только верхнюю половину трубки (используется модификатор Volume Select (выбрать объем)), но не допускает прямой секции после изгиба. Третий пытается изогнуть среднюю часть соломинки (снова посредством модификатора Volume Select) и дает плохие результаты. Четвертый изгиб применяется ко всей соломинке (в точности как первый), но эффект локализован в определенных пределах для создания классической изогнутой соломинки.

Изгибание соломинки с использованием пределов

Modifier Limits (пределы модификатора) основаны на центре гизмо. Параметры Upper Limit и Lower Limit указывают расстояние от центра, на протяжении которого модификатор оказывает влияние. После этого расположение центра определяет, где вдоль оси имеет место ограниченный эффект. Поскольку пределы Upper и Lower основаны на центре, при его перемещении они "путешествуют" вместе с ним. Эта концепция хорошо видна при дублировании изгиба соломинки.

  1. Начните с создания цилиндра на плоскости подложки с радиусом приблизительно 5 единиц и высотой 100. Это ваша соломинка.
  2. Добавьте к соломинке модификатор Bend и задайте ему угол 90°. Поскольку точка вращения цилиндра находится на его основании, (оранжевый) гизмо изгибается дугой от основания для образования дуги 90°. Цилиндр пытается согласовать дугу гизмо, но ограничен количеством присвоенных ему сегментов высоты.
  3. Щелкните на стеке, выполните Cylinder (цилиндр) и увеличьте количество сегментов высоты по крайней мере до 50.
  4. Вернитесь к предыдущему модификатору Bend (не применяйте другой модификатор) и активизируйте флажок Limit Effect (эффект предела). Соломинка изгибается "горизонтально", поскольку расстояние Upper равно нулю и вся модификация изгиба происходит непосредственно в центре гизмо (который по умолчанию расположен в точке вращения).
  5. Перетаскивайте счетчик значения Upper Limit вверх до тех пор, пока не будет создан необходимый размер "локтя" (например, 30). Этот Upper Limit определяет размер изгиба от центра гизмо. Значения Upper Limit и Lower Limit фактически являются расстоянием от центра гизмо, измеренными в недеформированном состоянии. Если сделать угол Bend равным 0, линия гизмо, задаваемая Upper Limit, будет проходить на 30 единиц выше центра. Для расположения наклона вдоль соломинки необходимо переместить центр.
  6. Щелкните на Sub-Object и выберите Center из выпадающего списка.
  7. Щелкните на трансформации Move, в качестве системы координат выберите World и задайте ограничение по оси Z.
  8. Перемещайте Center вдоль длины соломинки до тех пор, пока наклон не будет помещен в необходимую точку (отметим, что блокировка выборки путем нажатия на пробел очень удобна при перемещении центров). Теперь соломинка должна быть похожа на левую часть рисунка 8.17. Теперь, когда центр был перемещен от основания внутри цилиндра, можно увидеть эффект использования Lower Limit.
  9. Перетаскивайте счетчик Lower Limit до тех пор, пока его значение не станет отрицательным эквивалентом Upper Limit (например, -30). Изгиб становится более "мягким" и кажется, что цилиндр "вырастает" из плоскости подложки (обратите внимание на центральную часть рисунка 8.17), поскольку угол изгиба 90° растягивается вдоль более длинной части соломинки. Угол изгиба по-прежнему равен 90°, просто изменяется центр изгиба.
  10. Увеличьте угол Bend до 180°. Локоть становится и-суставом, как показано на рисунке 8.17. Изгиб по-прежнему ограничен верхним и нижним пределами, но увеличенный угол изгиба возвращает верхнюю часть к изгибу в 90°, который был ранее.
  11. Теперь можно добавлять более ограниченные изгибы, чтобы превратить соломинку в трубки. Можно. всегда изменять направление и угол изгиба для создания очень сложных изгибов (см. рис. 8.18).

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

Несмотря на простоту в понимании, пределы модификаторов обеспечивают возможность, недоступную в большинстве других программ. Они также весьма эффективны в использовании. В терминах моделирования для эффекта необходимо отрегулировать только один модификатор, а не модификатор и предыдущий модификатор выборки Sub-Object.

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

Отличия между трансформациями и модификаторами

Как описывалось в главе 1, "Ключевые концепции 3D Studio MAX", конвейер геометрии вычисляет объекты путем первоначальной обработки их параметров создания, применения всех модификаторов в порядке, задаваемом стеком, накопления трансформаций (присвоенных с линейки инструментов), и, в конце концов, применения связей с исказителями пространства (модификаторов мирового пространства). Это означает, что трансформации всегда обрабатываются после применения всех модификаторов. Не имеет значения когда применять трансформацию в отношении истории объекта - трансформация всегда применяется последней. Результат не является проблемой при трансляции, вращении и однородном масштабировании, но может стать проблемой при неоднородном масштабировании.

Неоднородное масштабирование

При масштабировании объекта вокруг только одной или двух его осей, операция носит название неоднородного масштабирования (или для краткости nu-scale), поскольку все три оси имеет неодинаковый масштаб. Говорят, что объект "растягивается" или "сжимается" в одном или двух направлениях, в то время когда третье направление остается постоянным.

Применяя неоднородное масштабирование, следует соблюдать особую осторожность. Рисунок 8.19 демонстрирует существенные отличия при выполнении неоднородного масштабирования в качестве модификатора и в качестве трансформации. В обоих случаях масштабирование по оси Z выполняется перед изгибом. Удивительное искажение происходит из-за того, что трансформации всегда применяются в конце конвейера после всех модификаторов. Порядок применения трансформаций по отношению к модификаторам не имеет значения - трансформации всегда применяются после применения всего стека модификаторов.

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

Команды, расположенные на линейке инструментов (Move (перемещать), Rotate (вращать), Uniform Scale (однородный масштаб), Non-Uniform Scale (неоднородный масштаб), Squash (расплющить) и даже Mirror (зеркально отобразить)), влияют на то, что известно как матрица трансформации объекта (или для краткости ТМ). Результаты этих команд хранятся в ТМ объекта в виде положения, вращения и ключей масштаба, если выполняется анимация. После того, как сделано соединение, посредством которого эти операции манипулируют теми же самыми девятью числами в ТМ, позже можно изменить результат любой операции на противоположный.

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

Использование XForm вместо трансформаций

Модификатор XForm используется для применения эффекта трансформации (перемещение, вращение или масштабирование) в качестве модификатора - это означает, что неоднородное масштабирование обрабатывается как модификатор, а не как трансформация на уровне объекта. Глава 9, "Моделирование при помощи форм", показывает, что этот модификатор часто используется как основной метод для анимации геометрии подобъектов.

Понятие модификатора XForm простое. Он создает гизмо, окружающее набор выборок, и немедленно выполняет переход в режим Sub-Object. Все регулировки модификатора XForm выполняются путем трансформирования гизмо.

XForm является интересным модификатором, поскольку кажется, что у него нет пользовательского интерфейса. Выпадающий Sub-Object содержит гизмо и центр гизмо. Других параметров обнаружить нельзя, поскольку XForm в управлении полностью опирается на инструменты трансформации в линейке инструментов. После всего XForm просто берет трансформации и делает их частью истории данных. Как и все модифи-каторы, XForm воздействует на объекты, к которым применяется, только тогда, когда является текущим в панели Modifier. Если режим Sub-Object активен, трансформации записываются на гизмо и ведут себя как модификаторы. Если режим Sub-Object не является активным, трансформации выполняются обычным образом. При первом применении XForm он немедленно входит в режим Sub-Object, поскольку предполагает, что настройки необходимо записать в стек.

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

Использование осевых деформаций

Основные геометрические модификаторы Bend, Taper, Twist, Skew и Stretch создают то, что в компьютерной графике известно как осевые деформации. Каждый из этих модификаторов оказывает влияние на объекты вдоль их текущих осей. Поскольку при этом изменяется форма оси для последующих модификаторов, порядок применения осевых деформаций оказывает огромное влияние на результирующую геометрию.

Все осевые деформации имеют гизмо и центр, влияющие на их результаты. Гизмо можно считать модификацией, воплощенной в виде объекта. Как объект, оно имеет полную матрицу трансформации и его можно перемещать, вращать и масштабировать. Его ориентация определяет на какую ось объекта (во многих случаях вторичную ось) распространяется влияние. У осевых модификаторов часто определены переключатели X, Y, Z. Эти переключатели являются быстрыми средствами для переориентации гизмо, поскольку гизмо можно вращать для достижения одинаковой модификации.

СОВЕТ

В то время, как можно вращать гизмо для дублирования флажков осей X, Y, Z модификатора, масштаб опций осей ориентирует гизмо на экстенты объекта вдоль выбранной оси и быстро перестраивает центр. Это часто экономит время и возвращает гизмо с более подходящей формой, чем при вращении самого гизмо.

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

  1. Присвойте модификатор.
  2. Увеличьте верхнее значение в диалоге чтобы увидеть ориентацию и расположение модификатора (в этот момент величина значения не имеет? пока не будет получен необходимый результат).
  3. Если направление эффекта не подходит, выполняйте циклы по переключателям Axis для обнаружения правильного направления. И вновь, не очень беспокойтесь о конечном результате, поскольку определяется общее осевое направление модификатора.
  4. Если эффект выполняется в корректной плоскости, но в ошибочном направлении, необходимо отрегулировать параметр Direction (направление) или изменить знак первого параметра (например, положительный на отрицательный).
  5. Если в шагах 3 и 4 необходимое направление не достигается, следует вращать гизмо для определения правильной оси. Щелкните на Sub-Object, выберите Gizmo и поверните гизмо на 90° так, как это необходимо, вокруг модифицированной оси. Помните, что на это вращение влияет центр текущей трансформации: Use Pivot Center обеспечивает вращение вокруг центра гизмо (обычно наиболее подходящий выбор); Use Selection Center (использовать центр выборки) выполняет вращение вокруг центра модифицируемого объекта (если модифицируется только один объект); Use Transform Coordinate System Center (использовать центр координатной системы трансформации) выполняет вращение вокруг центра координатной системы трансформации.
  6. Если расположение эффекта некорректно, щелкните на Sub-Object, выберите Center и переместите центр гизмо в необходимое положение (чаще всего ограничив перемещение до одной из осей).

Расположение центра оказывает огромное влияние на результат модификатора. Это может привести к мысли, что нужно вращать гизмо, когда все, что необходимо сделать, - это переместить модификатор.

Использование изгиба

Модификатор Bend "вращает" вершины выборки вокруг точки по умолчанию и вдоль одной оси. Эффект очень похож на изгибание податливого материала на жестком цилиндре. Диаметр этого "цилиндра" изменяется по мере увеличения угла Bend и перемещения центра. Bend на 360° будет вращать объект до тех пор, пока тот не образует круг. Размер этого круга зависит от расположения центра гизмо, как показано на рисунке 8.20.

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

Единственным важным параметром для Bend (и фактически для всех осевых деформаций) является ось, вокруг которой выполняется эффект. Если необходимый эффект происходит на плоскости осей модификатора, изгиб можно ориентировать при помощи выбора оси Bend и настройки угла Directional. Рисунок 8.22 демонстрирует, как три оси и настройки для них 90° размещают эффект изгиба.

При работе с одиночными объектами или множеством объектов посредством опции Use Pivot Points Bend располагает центр своего гизмо в точке вращения объекта. При работе с обобщенной выборкой объектов или подобъектов центр располагается в центре тяжести ограничивающей рамки выборки. На рисунке 8.23 показан эффект расположения центра Bend на различных расстояниях и вдоль различных осей.

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

Использование Taper

Модификатор Taper (свести на конус) является параллелью Bend, будучи весьма гибким и всецелевым инструментом. Taper основывает свой эффект на центре гизмо с противоположным масштабированием, которое выполняется всегда выше и ниже центра. Центр работает как устойчивое место, в котором масштабирование не выполняется. Опция Curve в Тарег позволяет задавать выпуклости и вогнутости для того, что иначе было бы прямым конусом. На рисунке 8.25 показано успешное использование модификатора Тарег. На рисунке 8.26 показан эффект от расположения центра Тарег на трех осях.

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

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

Использование Skew

Модификатор Skew (перекос) является в меньшей степени осевым модификатором, но создает больший эффект масштабирования. Skew масштабирует выборку в противоположных направлениях на основе расположения центра гизмо. Центр работает как стабильное место, в котором перекос не происходит (рис. 8.29).

Skew влияет на геометрию выборки при помощи "растяжения" или "скольжения" вдоль одной из осей мест расположения вершин каркаса. Направление перекоса определяется параметром Direction и выбранной осью. Если центр гизмо находится в середине выборки, объект перекашивается в обеих направлениях (см. рис. 8.30).

Для ограничения Skew так, чтобы расширялась только одна сторона, центр гизмо следует поместить на край стороны, которая должна остаться стабильной. Размещение центра позволяет придавать больший "вес" одной или другой стороне. На рисунке 8.31 показано применение Skew с пределами. Поскольку Skew выполняет масштабирование или уплощение выборки, его можно считать настоль же полезным, как и другие осевые деформации.

Использование Twist

Модификатор Twist (скручивание) по существу берет ось и создает спиральный винт или штопор. Подобный эффект получается, когда в вашей руке висит веревка, а вы начинаете быстро вращать кисть. На рисунке 8.32 показано использование нескольких скручивании на одном и том же объекте.

Влияние Twist достаточно сильно зависит от расположения центра гизмо. Если этот центр находится на объекте. Twist создает геометрические спирали, во многом похожие на столб с белой и красной спиралями (вывеска парикмахера) или на леденец в виде палочки. Если центр перемещается, геометрия скручивается для образования спирали. Цилиндры на рисунке 8.33 показывают эффект расположения центра гизмо в центре объекта и со смещением. Расположение гизмо вдоль оси, на которую производится воздействие, управляет вращением Twist. На рисунке 8.33 показано, что при снижении центра скручивание вращает объект (два ряда чайников имеют одинаковое расположение центра гизмо).

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

Использование Stretch

Модификатор Stretch (растягивание) был добавлен в версии 1.1 для завершения осевых деформаций. Во многом он является пересечением между трансформацией Squash и модификатором Taper. Squash - это неоднородное масштабирование одной оси вверх, а двух других - вниз. Stretch оказывает тот же эффект за исключением того, что он создает кривую на растянутой оси аналогично опции Curve из Taper. На рисунке 8.35 показано, что эффект Stretch имеет ограниченный характер.

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

Хотя Stretch используется в основном в качестве инструмента анимации, потенциально его можно применять при моделировании при условии установки пределов. На рисунке 8.37 показано как можно превратить простую Tube в сложную вазу путем нескольких растяжений. Stretch следует использовать подобным образом, понимания, что одна ось будет масштабироваться за пределами текущей геометрии.


ГЛАВА 9

Моделирование при помощи форм

Инструменты формы в 3D Studio MAX включают в себя такие объекты, как Lines (линии), Circles (окружности) и Rectangles (прямоугольники). Их названия говорят о том, что они скорее принадлежат к рисованию, чем к трехмерному моделированию и анимационным продуктам. Как же формы погружаются в схему трехмерного моделирования ? В 3DS МАХ объекты форм создаются в качестве исходной геометрии для построения других объектов. Можно создавать формы, образующие основу других объектов, во многом подобно тому, как художник натягивает холст на раму или как скульптор создает проволочную арматуру для удержания глины. Поскольку 3DS МАХ также является инструментом анимации, можно создавать формы, управляющие движением.

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

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

Конечно, начинать следует с создания объектов форм.

Создание объектов форм

Создавайте объекты форм путем щелчка на категории Shapes (формы) в панели Create и последующего щелчка на кнопке формы в свитке Object Type (см. рис. 9.1). Для завершения формы выполните перетаскивание в видовом окне и установите параметры формы. В последующих разделах поясняются способы создания форм и что означают параметры формы.

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

  • Вершины. Точки на любом из концов сегментов сплайна. Свойства вершины определяют, является ли вершина углом, гладкой вершиной или имеет тип Безье. Вершины являются подобъектами формы.
  • Касательные ручки. Вершины формы с установленным типом вершины Безье отображают касательные ручки. Перетаскивайте касательные ручки для управления кривизной сегмента сплайна по мере того, как он входит в вершину и покидает ее. Касательные ручки являются свойствами вершины.
  • сегменты. Часть сплайна между двумя вершинами. Кривизна сегментов сплайна управляется за счет изменения свойств вершины на любом конце сегмента или изменения свойств самого сегмента. Свойства сегмента устанавливаются для определения того, является ли сегмент линией или кривой. Сегменты являются подобъектами формы.
  • шаги. Количество делений сегмента, используемое для представления кривой. Если формы применяются для создания геометрии, кривые в форме необходимо преобразовать в треугольные грани. Установка шага определяет количество генерируемых формой ребер грани или элементов. Большие значения шага определяют гладкие кривые, генерирующие много граней. Шаги являются параметром формы.
  • сплайны. Совокупность соединенных сегментов. Сплайны являются типом гладкой настраиваемой кривой, а в 3DS МАХ входят опции для вставки углов и определения линейных сегментов. Сплайны являются подобъектами формы.
  • формы. Совокупность сплайнов определяет объект формы. Ограничения на количество и тип сплайнов изменяются в зависимости от предполагаемого использования формы. Формы являются поименованными объектами.
  • пути. Термин, применяемый для описания формы. Путь неизменно определяет форму, содержащую одиночный сплайн, используемый как след чего-то. Примерами могут служить пути Loft (лофтинг), пути Path Controller (контроллер пути) и пути Path Deform (деформация пути). Помните, что когда бы 3DS МАХ не ссылался на путь, на самом деле описывается форма с одиночным сплайном.

Создание линий

Щелкните на кнопке Line в панели Create для создания наиболее общего типа формы. В создание линий входит не только выбор точек на экране. Необходимо помнить ряд характеристик:

  • Все сегменты, созданные по одной команде Line, являются частью одного и того же сплайна и одной и той же формы. Если необходимо создать отдельные сегменты линии, следует выполнить правый щелчок для завершения первой команды Line и щелкнуть в видовом окне для начала другой линии.
  • Можно создавать плоские линии на плоскости конструкции при помощи щелчка в видовом окне или в полном трехмерном пространстве. Если используется 3D Snap (3D-фиксация) или Keyboard Entry (ввод с клавиатуры) также можно изменять значение Z вершин сплайна.
  • Линии могут быть прямыми или искривленными в зависимости от выборов Creation Method (метод создания) и независимо от того, выполняется щелчок или перетаскивание при создании вершин.

Методы создания линий

Выборы, выполняемые в свитке Creation Method (метод создания), критичны для управления первоначальными свойствами линий. Выберите опции для управления типом вершины, которая получится посредством щелчка или перетаскивания при создании линий. На рисунке 9.3 показаны два типа Creation Method и поддерживаемые ими типы вершин.

  • Начальный тип (Initial Type). Эти опции фактически следует называть Click Type (тип щелчка), поскольку они устанавливают тип вершины при щелчке. Тип по умолчанию - это Corner (угол). Вершины угла создают сегменты, которые являются линейными по мере того, как они входят в вершину и покидают ее.
    Гладкие вершины (smooth vertices) создают кривую через вершину, в которой кривизна одинакова по обеим сторонам от вершины. Касательная к гладкой вершине всегда параллельна линии, нарисованной между двумя вершинами по обеим сторонам от гладкой вершины.
  • Тип перетаскивания (Drag Type). Эти опции устанавливают тип вершины, создаваемой при перетаскивании. В доступные варианты входят Corner, Smooth (очень похожие на находящиеся в Initial Type) и Bezier. Во всех случаях вершина помещается в то место, где первоначально нажимается мышь. Перетаскивание возбуждает выбранный для вершины тип перетаскивания. Направление и расстояние перетаскивания имеют значение только для случая, если тип перетаскивания установлен в Bezier.
    Направление перетаскивания определяет касательную к кривой, когда она проходит через вершину. Расстояние перетаскивания устанавливает значение кривой на вершине.

Интерактивное создание

Наиболее общим методом создания линий является интерактивный щелчок в видовом окне. На интерактивное создание линии распространяются следующие правила:

  • Создание линии может выполняться только в одном видовом окне. После начала создания линии видовые окна переключать нельзя. Для завершения команды следует выполнить правый щелчок перед возможностью переключения на другое видовое окно.
  • Тип вершины устанавливается по опциям в свитке Creation Method. Соблюдайте осторожность при использовании типа перетаскивания Безье. Редко (если вообще когда-нибудь) необходимо перетаскивать первую вершину линии. Можно также обнаружить, что проще создать все вершины и затем использовать Edit Spline (отредактировать сплайн) для преобразования их в настраиваемые вершины Безье.
  • Линии лежат на текущей плоскости конструкции до тех пор, пока 3D Snap не будет активной. При активной 3D Snap вершины линии фиксируются на ребрах и вершинах других объектов в 3D-npo-странстве.
  • Независимо от того, как создается линия, локальная система координат помещается и выравнивается с текущей плоскостью конструкции.

Создание через клавиатуру

Другим методом создания линий является использование характеристик свитка Keyboard Entry (рис. 9.4). Введите координаты X, Y и Z и затем щелкните на Add Point (добавить точку) для каждой вершины линии. После завершения щелкните на Close для соединения последней вершины с первой после чего линия замыкается, либо щелкните на Finish, чтобы линия осталась открытой.

На создание линий с помощью Keyboard Entry распространяются следующие правила:

  • Все вершины используют опцию Initial Туре (щелчок) в свитке Creation Method.
  • Локальная система координат размещается на текущей плоскости конструкции и выравнивается с ней.
  • Все сегменты линии невидимы до тех пор, пока не будет произведен щелчок на Close или Finish.

Последнее правило усложняет рисование точных линий через Keyboard Entry. К счастью, будущий выпуск будет отображать каждый сегмент линии по мере ее создания.

Создание параметрических форм

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

Создавайте большинство вершин путем первоначального перетаскивания радиуса. К формам, использующим подобный метод, относятся пончик (тор), круг, спираль, NGon (N-угольник) и звезда. Для этих форм применяется следующая технология создания:

  1. Выберите Creation Method. Выберите либо Edge (ребро) для определения через диаметр, либо Center (центр) для определения посредством радиуса.
  2. Выполните перетаскивание в видовом окне для определения расположения формы и Radius 1.
  3. При необходимости щелкните в видовом окне для определения остальных параметров. Пончик (donut) и звезда (star): щелкните для установки Radius 2. Спираль (helix): щелкните для установки Height (высота). Щелкните еще раз для установки Radius 2.
  4. Установите остальные параметры в свитке Parameters (параметры).

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

  1. Выберите Creation Method. Выберите либо Edge для определения от угла к углу, либо Center для определения от центра к углу.
  2. Выполните перетаскивание в видовом окне для определения расположения формы и диагонали прямоугольника, которая определяет Length и Width (длину и ширину).
  3. Установите любые остальные параметры в свитке Parameters.

Создание кругов и N-угольников

Создавайте круги и N-угольники при помощи перетаскивания одного радиуса. Круги для определения всегда используют четыре вершины.

Используйте параметры сторон для N-угольников для изменения количества вершин и сторон. Используйте NGons с отмеченной опцией Circular каждый раз, когда необходим круг с числом вершин более четырех, как показано на рисунке 9.5.

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

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

Параметр искажения (Distortion) для звезды вращает вершины с Radius 2 вокруг локальной оси Z звезды. Положительные значения вращают вершины против часовой стрелки, а отрицательные значения - по часовой стрелке (см. рис. 9.6).

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

Создавайте прямоугольники и эллипсы путем перетаскивания диагонали. Диагональ определяет параметры Length и Width, используемые прямоугольником или эллипсом.

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

Создание дуг

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

  • Центр-конец-конец (Center-End-End). Это наиболее знакомый метод, применяемый когда необходимо попасть точно в центр и начальную точку. Расположение второй конечной точки точно предсказать нельзя, поскольку она является функцией радиуса дуги. Для создания дуги Center-End-End выполните перетаскивание для определения центра дуги (кнопка мыши нажата), радиуса и начальной точки (кнопка мыши отпущена). Щелкните для определения второй конечной точки.
  • Конец-конец-середина (End-End-Middle). Используйте такой метод, если необходимо, чтобы дуга попадала точно в две конечные точки. Для создания дуги End-End-Middle применяется следующий метод: Для создания дуги End-End-Middle выполните перетаскивание для определения первой конечной точки (кнопка мыши нажата) и второй конечной точки (кнопка мыши отпущена). Щелкните для определения радиуса дуги.

Какой бы метод не использовался, параметры дуги хранятся в виде радиуса, угла From (от) и угла То (до). Фиксируется только центральная точка дуги. Изменение любого из трех параметров вызывает перемещение конечных точек дуги.

Создание спиралей

Спираль (helix) создается путем перетаскивания сначала радиуса, затем щелчка для установки высоты спирали и второго щелчка для установки радиуса. После этого можно установить еще три других параметра - Turns (повороты), Bias (смещение) и направление поворота. Спираль весьма полезна в качестве пути лофтинга для создания объектов, подобных штопорам, искривленным лестничным перилам и нагревательным элементам. Для создания спирали используется следующий метод:

  1. Выполните перетаскивание для определения центра, радиуса и начальной точки. Начальная точка всегда расположена в положительном направлении Х от центра спирали на плоскости конструкции.
  2. Щелкните для установки расстояния по оси Z от плоскости конструкции для определения конечной точки спирали.
  3. Щелкните снова с целью определения радиуса для конечной точки спирали.

После создания основной спирали можно установить следующие параметры:

  • повороты. Устанавливает количество оборотов на 360°, которые требуется выполнить от начальной до конечной точки.
  • смещение. Устанавливает, где происходит поворот по отношению к высоте спирали. Значение по умолчанию 0.0 распределяет повороты равномерно от начала до конца. Положительные значения перемещают повороты ближе к конечной точке; отрицательные значения перемещают повороты ближе к начальной точке.
  • Опции CW/CCW. Устанавливают направление поворотов, когда последние покидают начальную точку. CW = по часовой стрелке; CCW = против часовой стрелки.

Рисунок 9.7 демонстрирует простую спираль, параметры которой показаны слева. Спирали справа показывают, чего можно достигнуть за счет изменения параметров спирали.

Создание текста

Текст является простейшей создаваемой формой. Щелкните в любом видовом окне и текст будет помещен на текущую плоскость конструкции. Чтобы увидеть текст, можно также выполнить перетаскивание при перемещении курсора в пределах видового окна; текст помещается каждый раз при отпускании кнопки мыши. После этого для изменения шрифта, стиля, размера и отображаемой строки текста необходимо установить параметры следующим образом:

  • шрифт. 3DS МАХ может использовать любой шрифт True Type, установленный в Windows NT, и любой шрифт Adobe Type I PostScript, который необходимо поместить в каталог 3dsmax\fonts. Щелкните на списке шрифтов для выбора любого имеющегося шрифта.
  • стиль. Щелчок на двух кнопках, расположенных ниже списка шрифтов, переключает использование курсива и подчеркнутого текста. Если необходим жирный шрифт, следует выбрать его.
  • размер. Устанавливает высоту текста. Установка высоты текста может показаться вначале несколько витиеватой, поскольку для вычисления высоты 3DS МАХ использует полную высоту шрифта из файла шрифтов. Большинство коммерческих шрифтов по умолчанию определяют высоту как расстояние от верхушки верхнего выносного элемента до низа нижнего выносного элемента плюс междустрочие (или заплечик литеры), как показано на рисунке 9.8.

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

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

Можно также вставить текст из буфера обмена Windows с учетом следующих ограничений:

  • Шрифт, размер и стиль текста из буфера обмена игнорируются. 3DS МАХ использует текущий шрифт, стиль и размер из свитка Parameters.
  • Из буфера обмена считывается только первая полная строка текста; 3DS МАХ игнорирует весь текст, следующий после разрыва первой строки.

ПРЕДУПРЕЖДЕНИЕ

Можно создать текст с пустой строкой (в текстовом поле нет текста). При этом получается невидимая точка вращения, которую можно выбрать только в том случае, если она попадает внутрь выборки области или при выборе ее по имени. Перед выполнением щелчка в видовом окне следует убедиться в том, что текстовое поле что-то содержит.

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

Никто не ошибется в случае применения 3DS МАХ в качестве текстового процессора, но в некоторых задачах анимации может потребоваться создание нескольких строк текста с определенным выравниванием. Например, необходимо создать логотип или знак, содержащий несколько строк текста. Данный пример использует Array и Align для расположения трех строк выровненного влево текста для магазина с названием Cameron's Camera Shop:

  1. Создайте первую строку текста.
  2. Щелкните на Text в категории Shapes панели Create.
  3. Выберите шрифт, оставьте значение 100 для Height и в поле текста наберите Cameron's.
  4. Выполните перетаскивание в видовое окно Front для размещения текста. Требуется три строки текста, но вручную трудно разместить текст и получить равномерный интервал между строками. Для быстрого создания последующих строк используйте инструмент Array.
  5. Выберите текстовый объект и Local в качестве опорной системы координат.
  6. Щелкните на Array в линейке инструментов.
  7. Щелкните на Reset (сброс) в диалоге Array.
  8. Установите поле Move Y (переместить по Y) в значение -90.0 и установите Total In Array (итог массива) в значение 3.
  9. Щелкните на ОК.

Предыдущие шаги создают три строки текста с интервалом 90.0 единиц, как показано на рисунке 9.9. Размер текста обычно является хорошим начальным значением для интервала Array. От этого начального значения можно выполнять регулировку вверх и вниз. Для большинства шрифтов может потребоваться уменьшение интервала, в особенности, если текст имеет всего несколько нижних выносных элементов, как в случае с Cameron's Camera Shop.

Организация массива из первой строки текста является самым быстрым методом расположения множества строк текста. Затем следует отредактировать новые строки через панель Modify (модифицировать).

  1. Выберите среднюю строку текста.
  2. В панели Modify измените поле текста из Cameron's на Camera.
  3. Выберите нижнюю строку текста и измените ее на Shop.

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

  4. Выберите две нижние строки текста и Local в качестве опорной системы координат.
  5. Щелкните на Align в линейке инструментов и затем щелкните на верхней строке текста.
  6. Отметьте флажок Х Position (положение X).
  7. Выберите Minimum для объектов Current (текущий) и Target (целевой).
  8. Щелкните на ОК.

Теперь текст выровнен влево, а первая строка расположена так, как показано на рисунке 9.10. Комбинация параметрического текста. Array и Align позволяет легко расположить множество строк выровненного текста для ЗD-знаков и логотипов.

Создание множества сплайнов в одной и той же форме

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

Создавайте составные формы с помощью снятия отметки с флажка, находящегося за кнопкой Start New Shape (см. рис. 9.11).

  • Когда флажок отмечен, кнопка Start New Shape всегда включена, и все, что создается, становится отдельным объектом формы.
  • Когда флажок сброшен, кнопка Start New Shape исчезает, и все, что создается, становится сплайном в одной большой составной форме.
  • Новую форму можно запустить вручную путем щелчка на кнопке Start New Shape.

К любой форме всегда можно вернуться и произвести добавление к ней чего-либо в соответствие со следующими методами:

  • Выберите объект формы и затем сбросьте флажок Start New Shape. После этого любые создаваемые формы добавляются к выбранной форме в виде сплайнов.
  • Примените к форме модификатор Edit Spline (отредактировать сплайн) и используйте Attach (присоединить) для добавления к выбранной форме других форм. Edit Spline рассматривается в разделе "Использование Edit Spline".

Кнопка Start New Shape обеспечивает быстроту и удобство, но Edit Spline предоставляет большее управление расположением сплайнов. Кроме того, при использовании кнопки Start New Shape не следует возвращаться назад и выполнять доступ к любым параметрам формы после ее создания. Посредством Edit Spline в составной форме можно сохранить по крайней мере один сплайн.

Понимание интерполяции формы

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

Как упоминалось ранее в этой главе, шаги являются делениями вдоль сегмента сплайна. Шаги управляют двумя свойствами формы: гладкостью кривых формы и количеством граней, генерируемых формой. В отношении гладкости кривых формы более высокие установки шага создают более гладкую кривую; в отношении количества граней, генерируемых формой, более высокие установки в шаге создают большее число граней.

Параметры интерполяции управляют количеством шагов в форме:

  • Steps (шаги). Введите в это поле значение для указания числа шагов для всех сплайновых сегментов в форме. Используйте параметр Steps для осуществления точного управления количеством генерируемых граней при использовании формы для создания трехмерной геометрии. Для использования поля Steps следует сбросить флажок Adaptive (адаптивный).
  • Optimize (оптимизировать). В случае отметки количество шагов уменьшается до 0 для всех линейных сплайновых сегментов в форме. Поскольку шаги используются для представления кривых, они не нужны для точного представления линейных сегментов, поэтому их можно удалить. Optimize следует оставить в качестве установки по умолчанию.
    Однако может потребоваться выключение Optimize, если планируется деформировать сплайн вдоль линейных сегментов. Теперь сегменты могут быть линейными, но если планируется их изгибание или скручивание, необходимо посредством оптимизации удалить дополнительные сегменты. Выключение Optimize может также потребоваться в случае планирования генерирования из формы целей Morf (морфинг). Все цели Morf должны иметь одинаковое количество вершин. Оптимизация удаляет сегменты формы, которые будут генерировать вершины каркаса для целей морфинга, что затрудняет генерацию целей морфинга из форм, содержащих плоские стороны, и других форм с искривленными сторонами.
    Для использования флажка Optimize флажок Adaptive необходимо сбросить.
  • adaptive. Автоматически вычисляет шаги для каждого сегмента сплайна в форме. Шаги устанавливаются так, что изменение угла от одного шага к другому не превышает 2 градусов. Линейные сегменты не принимают шагов. Используйте Adaptive, если необходимо видеть гладкие, точные сплайны, используемые в качестве путей движения или компонентов лофтинга. Adaptive не является хорошим выбором для сплайнов, используемых для генерации ЗО-геометрии с модификаторами, подобными Extrude или EditMesh. Гладкость адаптивного сплайна генерирует неэффективное количество граней.
    Отметка Adaptive запрещает параметры Steps и Optimize.

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

Буква слева на рисунке 9.13 использует интерполяцию Adaptive. С большим трудом можно сказать, что одна буква более гладкая по сравнению с другими. Применение EditMesh создает объект каркаса, использующий 141 грань.

Буква посредине рисунка 9.13 также использует установку Steps в значение 1 с отмеченным Optimize. Применение EditMesh создает объект каркаса, использующий 38 граней. Средняя буква имеет на 73% меньше граней, чем буква слева.

Буква справа на рисунке 9.13 использует установку Steps в значение 1 и неотмеченный Optimize. Применение EditMesh создает объект каркаса, использующий 32 грани. Буква справа имеет на 16% граней меньше, чем средняя буква, и на 77% граней меньше буквы слева.

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

Использование Edit Spline

Используйте модификатор Edit Spline для редактирования и трансформаций подобъектов форм (да, но фактически это модификатор Edit Shape). Последующая информация об Edit Spline сфокусирована на основных методах моделирования форм.

Для применения Edit Spline к форме следует выбрать объект формы. Затем щелкните на Edit Spline в панели Modify. В следующих четырех разделах описываются методы, общие для всех уровней редактирования сплайновых подобъектов.

Работа с подобъектами формы

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

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

Выбирайте эти подобъекты формы путем щелчка на кнопке Sub-Object и выбора уровня подобъекта, на котором необходимо выполнить редактирование. После этого выберите подобъект посредством стандартных инструментов выборки.

Использование Undo в Edit Spline

Можно аннулировать любое действие, выполненное с помощью Edit Spline, до тех пор, пока не осуществляется доступ к другому модификатору. При выборе другого модификатора в Modifier Stack или в случае применения другого модификатора буфер Undo очищается. После этого единственный способ возврата к эффектам модификатора Edit Spline заключается в удалении модификатора из Modifier Stack.

Отсоединение подобъектов

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

В обеих свитках Edit Segment и Edit Spline имеется кнопка Detach (отсоединить) с двумя опциями: Сору (скопировать) и Reorient (переориентировать).

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

Если опция Copy не отмечается, выбранный сегмент или сплайн удаляется из формы для создания новой формы. Даже после отсоединения сегмента или сплайна модификатор Edit Spline сохраняет запись отсоединенных подобъектов. При использовании Undo удаляется новая форма, а первоначальная восстанавливается. Можно также восстановить вид первоначальной формы с помощью удаления модификатора Edit Spline из Modifier Stack. На новую форму, созданную путем отсоединения подобъектов, удаление модификатора Edit Spline влияния не оказывают.

При отмеченной опции Reorient отсоединенные объекты перемещаются и вращаются для выравнивания с текущей плоскостью конструкции (активная сетка). Точка вращения нового объекта располагается в начале координат плоскости конструкции, а оси точки вращения выравниваются с осями плоскости конструкции (рис. 9.15). Точка вращения для нового объекта копируется из точки вращения создания первоначальной формы.

Если опция Reorient не отмечена, новая форма с отсоединенными подобъектами сохраняет свое первоначальное расположение. Уловить различия между новой формой с отсоединенными подобъектами и первоначальной формой при отсутствии отметки переориентации может оказаться затруднительным. Намеком на отличия является то, что новая форма изменяет цвет и ее нельзя выбрать до тех пор, пока модификатор Edit Spline остается выбранным в Modifier Stack и режим Sub-Object является активным.

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

Удаление подобъектов

Любые подобъекты формы можно удалять путем их выбора и последующего щелчка на кнопке удаления или нажатия Del на клавиатуре. Кнопка удаления имеется в свитках Edit Vertex (отредактировать вершину), Edit Segment (отредактировать сегмент) и Edit Spline.

Аналогично отсоединению подобъектов модификатор Edit Spline хранит запись всех удаляемых подобъектов. Можно восстановить первоначальный вид формы при помощи удаления модификатора Edit Spline из Modifier Stack.

Трансформация подобъектов

Использование инструментов трансформации Move, Rotate и Scale такое же, как и использование их для полных объектов. Однако специализированные трансформации Mirror, Array и Align работают только на полных объектах.

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

  • Pivot Point Center Игнорируется для всех выборов систем координат подобъектов за исключением случая, когда трансформация вершин выполняется с локальной системой координат. Во всех остальных ситуациях Pivot Point Center - то же, что и центр Selection.
  • Локальная система координат Использует мировую систему координат и начало мировой системы координат в качестве центра трансформации за исключением случая трансформации вершин. По этой причине следует избегать использования локальной системы координат при трансформации сегментов и сплайнов подобъекта.

Минимизация системных накладных расходов, вызванных Edit Spline

Как упоминалось ранее. Edit Spline сохраняет запись о всех отсоединенных или удаленных подобъектах. Edit Spline также записывает каждое изменение для каждого подобъекта. Подобный метод записи приводит к тому, что модификаторы Edit Spline существуют повсюду в Modifier Stack, и является причиной, по которой Edit Spline можно удалить из стека и вернуть объект к предыдущему виду. Платой за такую гибкость является увеличение объема используемой памяти и дискового пространства.

Ниже перечислены общие методы применения Edit Spline:

  • Используйте Edit Spline только тогда, когда другие методы не работают. Если изменения собираются делать на уровне подобъекта сплайна, такой же результат часто можно достигнуть путем применения ко всей форме модификатора XForm или другого. При этом уменьшаются затраты памяти по сравнению с Edit Spline.
  • Каждый раз при изменении решения при редактировании посредством Edit Spline используйте Undo. Поскольку Edit Spline записывает каждое произведенное изменение, привычка сводить на нет незначительные изменения в окончательном результате занимает в памяти много места.
  • Разделяйте модификаторы Edit Spline, используемые для моделирования, и модификаторы Edit Spline, используемые для передачи выборок подобъектов вверх по стеку. Модификаторы Edit Spline, используемые для передачи выборок подобъектов вверх по стеку, используют меньший объем памяти и полезны при анимации форм.
  • Помещайте модификаторы Edit Spline, используемые для моделирования, вблизи от низа Modifier Stack и разрушайте их после завершения моделирования. Посредством Edit Spline нельзя выполнить анимацию сделанных изменений моделирования. После завершения моделирования статического вида формы с целью экономии памяти разрушайте модификаторы Edit Spline.

Приведенный ниже пример показывает сколько памяти используется при перемещении одной вершины несколько раз и демонстрирует возможности сохранения памяти посредством Undo:

  1. Примените к форме Edit Spline и сделайте три копии файла.
  2. Оставьте один файл таким, чтобы Edit Spline не содержал результатов редактирования.
  3. Откройте второй файл, выберите вершину, несколько раз переместите ее и несколько раз перетащите ручки вершины. Сохраните файл.
  4. Откройте третий файл, выполните такое же редактирование и между каждым изменением используйте Undo. Последнее перемещение должно поместить вершину примерно в такое же место, что и последнее перемещение в предыдущем файле. Сохраните файл.
  5. Проанализируйте размеры файлов и отметьте различия. В одном случае третий файл (с использованием Undo) был больше неотредактированного файла всего на 1.5 KB в то время, как второй файл (без Undo) был больше на 9.7 KB. А это увеличение на 546 процентов!

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

Редактирование на уровне объекта

Если выключить режим Sub-Object модификатора Edit Spline, две его характеристики можно использовать на уровне объекта. Эти характеристики находятся в свитке Edit Object, как показано на рисунке 9.16. Использование Attach Attach (присоединить) используется для добавления к выбранной форме других форм посредством модификатора Edit Spline. При использовании Attach запомните следующие важные моменты:

  • Присоединенную форму нельзя рассматривать как отдельный объект. Это означает, что присоединенная форма разрушается в простой сплайн Безье.
  • Больше нельзя выполнять доступ к базовым параметрам присоединенной формы или к любым моди-фикаторам, которые находились в Modifier Stack присоединенной формы.
  • Если флажок Reorient не отмечен, присоединенная форма остается там, где она находится, но становится частью выбранной формы.
  • Если флажок Reorient отмечен, присоединенная форма перемещается и вращается так, чтобы предыдущая точка вращения и локальная система координат совпали с положением и ориентацией точки вращения выбранной формы.

Использование Create Line

Щелкните на кнопке Create Line (создать линию), чтобы начать рисование линий на текущей плоскости конструкции. Считается, что любые вновь создаваемые линии должны быть частью выбранного сплайна. Поскольку новые линии являются частью выбранного сплайна, такой метод является удобным прямым доступом для создания линии и последующего присоединения ее к форме.

Основным отличием между обычным инструментом Line и Create Line в Edit Shape является то, что при использовании Create Line управление над типом вершины создания отсутствует. При перетаскивании всегда создается вершина Безье, а при щелчке - вершина типа Corner.

Редактирование на уровне вершины

Первым уровнем Sub-Object в списке подобъектов Edit Spline является Vertex (вершина). Выбор уровня подобъекта Vertex отображает свиток Edit Vertex (отредактировать вершину) модификатора Edit Spline (см. рис. 9.17).

Работа со свойствами вершины

За счет установки свойств вершины можно управлять кривизной форм. Выберите несколько вершин и выполните правый щелчок на выборке для получения меню свойств Vertex. Существует четыре выбора - Comer, Smooth, Bezier и Bezier Comer (угол Безье) - для установки типа кривой вершины; три первых выбора можно считать опциями Creation Method инструмента Line. Существующие выборы описаны в списке далее и показаны на рисунке 9.18.

  • Угол (Corner). Создает сегменты, которые являются линейными, когда они входят в вершину и покидают ее.
  • Гладкая (Smooth). Создает проходящую через вершину кривую с одинаковой кривизной по обеим сторонам вершины. Касательная к гладкой вершине всегда параллельна линии, нарисованной между двумя вершинами по обе стороны гладкой вершины.
  • Безье (Bezier). Создает проходящую через вершину кривую с регулируемой касательной. Изменения в направлении касательной и величина (размер) кривой одинаково прикладываются по обеим сторонам вершины.
  • Угол Безье (Bezier Corner). Создает регулируемую проходящую через вершину кривую, которая может иметь острый угол. Направление касательной и размеры кривой можно устанавливать с каждой стороны вершины независимо.

СОВЕТ

Тип вершины можно легко преобразовывать. При преобразовании вершины Bezier Comer в вершину Bezier одна ручка перемещается для выравнивания с другой. Обычно необходимо обеспечить такое перемещение обеих ручек, при котором они будут находиться посредине между вершинами по обеим сторонам. Это является определением вершины Smooth. Если требуется выполнить преобразование из Bezier Corner в Bezier, сначала нужно выполнить преобразование в Smooth, а затем в Bezier. В результате обычно получается полезная вершина.

Как сделать вершину первой вершиной

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

  • Начальной точки для сплайнов, используемых как пути, т.е. для путей Loft, контроллеров Path, Motion Trajectories (траектории движения) и исказителей пространства Path Deform (деформировать путь). Первоначальное состояние или начальная точка для этих характеристик устанавливается при помощи первой вершины.
  • Точки упорядочивания вершин для геометрии. Она имеет особенно важное значение для геометрии, генерируемой из множества форм или форм со множеством сплайнов. Первая вершина каждого сплайна используется в качестве начальной точки для конструирования каркаса. Интервал и регулярность сгенерированного каркаса часто можно улучшить путем выравнивания первых точек.

Для указания первой вершины сплайна выберите в нем одиночную вершину. Если сплайн замкнут, на нем можно выбрать любую вершину; если открыт (разомкнут), необходимо выбрать одну из конечных точек. Щелкните на Make First (сделать первой).

Вершина идентифицируется небольшой рамкой, нарисованной вокруг нее, как показано на рисунке 9.19.

Соединение вершин

Используйте кнопку Connect (соединить) для выполнения перетаскивания от одной вершины к другой, чтобы соединить их посредством сегмента. Обе вершины должны быть расположены на концах разомкнутого сплайна. Новый сегмент всегда оказывается линейным. Чтобы сегмент выглядел искривленным, необходимо изменить свойства вершины.

Добавление вершин

Добавление вершин к сплайну осуществляется по одному из трех методов:

  • Insert (вставить). Insert применяется для создания деталей или расширений существующего сплайна. Щелкните на Insert и затем на любом месте сегмента сплайна для вставки вершины в этот сегмент. При щелчке новая вершина остается присоединенной к курсору и ее можно перемещать в любое положение. Здесь доступны три опции. Первой опцией является щелчок для помещение вершины corner в ее текущее положение и вставки другой вершины после новой вершины. Для выполнения второй опции перетащите вершину Безье для помещения ее в текущее положение и вставьте другую вершину после новой вершины. Последняя опция заключается в выполнении правого щелчка (или нажатии Esc) для отмены текущей вставки вершины и выхода из операции вставки. В отличие от других режимов в 3DS МАХ из Insert нельзя выйти посредством нажатия другой кнопки. Для выхода из Insert необходимо выполнить правый щелчок или нажать Esc.
  • efine (уточнить). Используйте Refine для добавления дополнительных вершин к сплайну без изменения его формы. Щелкните на Refine, а затем в любом месте на сегменте сплайна для вставки в это место вершины Безье. Направление и размеры ручек Безье автоматически перенастраиваются с целью сохранения первоначальной формы кривой.
  • Break (разорвать). Используйте разрыв для разделения сегментов сплайна путем замены одной вершины двумя несоединенными в том же месте. Выберите вначале вершины и затем щелкните на Break. Каждая выбранная вершина заменяется двумя несоединенными вершинами того же типа.

Объединение вершин

Хотя свиток Edit Vertex содержит только одну кнопку Weld (объединить), для объединения вершин можно применять один из двух методов.

  • Щелкните на Move и перетащите одну конечную вершину на расстояние приблизительно пять пикселов от другой конечной вершины. По окончании перетаскивания всплывает диалог, запрашивающий о необходимости объединения совпадающих вершин. Подобный метод работает только при перетаскивании одних конечных вершин к другим. Результирующая вершина всегда является вершиной Ве-zier Corner за исключением случая, когда обе вершины первоначально имели тип Smooth; в этом случае результатом будет вершина с типом Smooth.
  • Выберите группу вершин, установите расстояние Weld Threshold (порог объединения) и щелкните на Weld. Выбранные вершины в пределах порога объединения, удовлетворяющие прочим ограничениям объединения, объединяются в одной усредненной точке.

При объединении вершин применяются следующие ограничения:

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

Трансформация вершин

Вершины и касательные ручки обеих типов вершин Безье можно трансформировать при помощи стандартных инструментов выборки и трансформации из линейки инструментов. Эти типы трансформаций являются статическими и с ними нельзя выполнить анимацию.

Как упоминалось ранее в этой главе, центры Pivot Point не работают при трансформации вершин ни в какой системе координат, кроме локальной. При других центрах координат центры Pivot Point ведут себя как центр Selection. При выборе локальной системы координат можно использовать только центры Pivot Point (можно выбрать другой тип центра, но тип ведет себя так, как центр Pivot Point). Трансформация вершин посредством локального центра координат трансформации весьма удобна при работе с касательными ручками вершин Безье.

ПРИМЕЧАНИЕ

Вершины сплайна не существуют сами по себе. Они всегда должны быть частью сплайна, включающего по крайней мере еще одну вершину. Из-за этого ограничения для копирования вершин метод Shift-Clone (сдвиг-клонирование) неприменим.

Трансформация ручек вершин Безье

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

  • Касательное направление Каждый сегмент является касательным к своей ручке в точке расположения вершины. Если обе ручки параллельны и образуют прямую линию, кривая гладко проходит через вершину. Если ни одна из двух ручек не образует прямой линии, кривая в месте расположения вершины содержит перегиб, или острую точку. На рисунке 9.20 показаны касательные ручки для гладкой кривой и для кривой с перегибами. Вершины Безье всегда гладкие, а касательные ручки образуют прямую линию. Вершины, в которых касательные ручки образуют перегиб, всегда являются вершинами типа Bezier Comer.
  • Степень кривизны Длина касательной ручки устанавливает размер (степень кривизны) соответствующего ей сегмента. Чем длиннее ручка, тем больше кривизна сегмента. На рисунке 9.20 показаны сегменты с длинными и короткими касательными ручками.
    Хотя это технически неверно, иногда полезно считать, что касательная ручка является радиусом дуги. Длинная касательная ручка создает дугу большого радиуса, когда сегмент покидает вершину. Экстремальное значение кривизны необходимо для изгиба сегмента назад вокруг направления на следующую вершину.

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

  • Для вершины типа Bezier перетаскивание одной ручки оказывает влияние на обе ручки.
  • Для вершины типа "Bezier Corner" каждую ручку можно перетаскивать по отдельности.
  • Перетаскивание параллельно направлению ручки изменяет степень кривизны ручки.
  • Перетаскивание перпендикулярно ручке вращает ручку вокруг вершины, изменяя направление каса тельной.
  • Нажатие Shift при перетаскивании преобразует вершину Bezier в вершину "Bezier Corner" так, что можно перетаскивать одну ручку.

Можно также перетаскивать ручки выборки вершин или блокировать вместе ручки "Bezier Corner" с помощью опций Lock Handles (заблокировать ручки) (см. рис. 9.21). Опции Lock Handles основаны на понятии порядка вершины. Каждый сплайн сохраняет вершины в порядке, начиная с назначенной первой вершины и завершая последней вершиной. Касательная ручка тогда идентифицируется как входная для ручки, указывающей назад на предыдущую вершину, и как выходная для ручки, указывающей вперед на следующую вершину. Посмотрев на них, трудно определить их различия, однако последние проявляются при использовании опции Alike в Lock Handles.

Опции блокировки Alike (одинаково) и All (все) ведут себя по разному в зависимости от того, выполняется ли работа с выборкой, состоящей из одной или множества вершин.

  • Lock Handles All (заблокировать все ручки) для одной вершины вызывает влияние на обе ручки вершины типа "Bezier Comer" при перетаскивании любой из них.
  • Lock Handles All для множества вершин вызывает то, что перетаскивание одной ручки оказывает влияние на все выбранные вершины.
  • Lock Handles Alike для одной вершины не имеет эффекта, поскольку у одной вершины есть две различных ручки - одна входящая, а другая выходящая.
  • Lock Handles Alike для множества вершин создает эффект, заключающийся в том, что перетаскивание входящей или выходящей ручки влияет на соответствующую ручку всех выбранных вершин. Это отличие заметно только в том случае, если выбранные вершины являются вершинами типа "Bezier Corner". Для вершин типа Безье перетаскивание любой ручки влияет на обе ручки.
  • Нажмите Shift при перетаскивании с опцией Lock Handles Alike для преобразования всех выбранных вершин в вершины типа "Bezier Corner".

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

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

Анимация трансформаций вершины

Анимация недоступна непосредственно ни для одной характеристики модификатора Edit Spline. Однако анимацию эффекта трансформации вершин можно выполнить посредством передачи в Modifier Stack выбранных вершин модификаторам XForm или Linked XForm (связанный XForm). Выполнение анимации с трансформациями вершин производится по следующим шагам:

  1. Выберите вершины с помощью Edit Spline.
  2. Оставьте активной Sub-Object Vertex (вершина подобъекта) и щелкните на кнопке More в панели Modify.
  3. Выберите XForm из диалога Modifiers. Вокруг выбранных вершин появляется желтый прямоугольник. Это гизмо XForm.
  4. При активизированном Sub-Object Gizmo (гизмо подобъекта) для модификатора XForm включите кнопку Animate (выполнить анимацию) и перемещайте, вращайте или масштабируйте гизмо XForm.

При выполнении анимации с гизмо XForm оно переносит вместе с собой выбранные вершины. Этот же метод можно использовать для анимации эффекта трансформации касательных ручек вершины:

  1. Выберите посредством Edit Spline одну вершину. Если необходимо выполнить анимацию с касательными ручками нескольких вершин, повторяйте этот процесс для каждой вершины.
  2. Оставьте активной Sub-Object Vertex и щелкните на кнопке More в панели Modify.
  3. Выберите XForm из диалога Modifiers. Желтое гизмо XForm помещается вокруг одной вершины, что делает ее практически невидимой.
  4. При активном Sub-Object Gizmo для модификатора XForm щелкните на Lock Selection Set (заблокировать набор выборок) в середине Status Line (строка состояния) в нижней части окна 3DS МАХ. Эта выборка позволяет выполнять перетаскивание в любое место на экране для трансформации гизмо, а не перетаскивать само невероятно маленькое гизмо.
  5. Включите кнопку Animate и поворачивайте гизмо для выполнения анимации с направлением касательных ручек. Масштабируйте гизмо для выполнения анимации со степенью кривизны касательных ручек.

Редактирование на уровне сегмента

Следующим уровнем редактирования подобъекта в модификаторе Edit Spline является Segment (сегмент). Выбор Segment в уровне Sub-Object отображает свиток Edit Segment модификатора Edit Spline (см. рис. 9.22). Свиток Edit Segment содержит несколько больше опций, нежели свиток Edit Vertex.

Detach и Delete уже были описаны для всех уровней подобъекта в начале обсуждения Edit Spline. Остальные опции описываются в последующих разделах.

Разрыв сегментов

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

Работа со свойствами сегмента

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

  • Curve (кривая). Выбор Curve необязательно вызывает искривление сегмента. Это свойство скорее заставляет сегмент следовать набору свойств для вершин на любом из концов сегмента. Если вершины являются угловыми, сегмент выглядит линейным; если гладкими или имеют тип Безье, сегмент выглядит искривленным. '
  • Line (линия). Выбор Line заставляет сегмент игнорировать свойства вершин и создавать прямую линию. Когда сегмент использует свойство Line, касательные ручки для вершин Безье на обоих концах отображают X, а не рамку. Х указывает на то, что касательная ручка сегментом игнорируется (рис. 9.23).

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

Трансформация сегментов

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

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

Как упоминалось ранее в этой главе, при трансформации сегментов в любой системе координат центры Pivot Point не работают. При выборе локальной системы координат происходит блокировка на мировую систему координат с центром в мировом начале координат.

Редактирование на уровне сплайнов

Заключительным уровнем подобъекта модификатора Edit Spline является Spline (сплайн). Выбор этого уровня отображает свиток Edit Spline (см. рис. 9.24).

Detach и Delete уже были описаны для всех уровней подобъекта в начале обсуждения Edit Spline.

Замыкание сплайнов

Эта простая команда рисует сегмент от последней вершины разомкнутого (открытого) сплайна обратно к первой. Выберите сплайн и щелкните на Close (закрыть).

Создание контуров для сплайнов

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

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

Флажок Center определяет то, как генерируется контур с расстояния контура.

  • Если этот флажок не отмечен, первоначальный сплайн остается, а контур помещается на расстояние Outline Width (ширина контура) от оригинала.
  • В случае отметки этого флажка первоначальный сплайн удаляется и два контура помещаются по обеим сторонам оригинала на половине расстояния Outline Width. После выбора сплайна для создания контура продолжайте работу в соответствии с одним из следующих методов:
  • Перетащите выбранный сплайн для определения места расположения контура. Контур появляется при перетаскивании. После завершения перетаскивания набросок помещается в требуемое место. При перетаскивании сплайна можно определить только положительную ширину контура - контур может перемещаться только в одном направлении, которое определяется порядком вершин в сплайне. Контуры для сплайнов, построенных по часовой стрелке, всегда перетаскиваются наружу от центра сплайна; контуры для сплайнов, построенных против часовой стрелки, всегда перемещаются внутрь к центру сплайна. Если направление перетаскивания контура не является желаемым, отмените операцию за счет выполнения правого щелчка и примените другой метод .
  • Перетаскивайте счетчик в поле Outline Width. Счетчик можно перетаскивать для определения как положительной, так и отрицательной ширины контура. При отпускании кнопки мыши контур помещается на это место, а значение счетчика сбрасывается в 0.0. При каждом щелчке на счетчике создается новый сплайн-контур.
  • Введите значение в поле Outline Width. После нажатия Enter создается контур и счетчик сбрасывается в 0.0.

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

  1. Выберите сплайн, образующий букву.
  2. Щелкните на Outline.
  3. Снимите отметку с флажка Center.
  4. В поле Outline Width наберите 5, нажмите Enter, наберите 10, нажмите Enter, наберите 15, нажмите Enter.

Каждый раз после нажатие Enter создается контур, а поле Outline Width сбрасывается. Предыдущие шаги создают множество контуров с интервалом 5 единиц между каждой копией (см. рис. 9.25).

Булевы операции

Команда Boolean объединяет два исходных сплайна и всегда их удаляет в процессе создания булевого сплайна.

Перед выполнением булевой операции на сплайнах исходные сплайны должны удовлетворять следующим требованиям:

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

За исключением этих ограничений команда Boolean является очень простым и стабильным инструментом. На рисунке 9.26 показаны действительные и недействительные сплайны для булевых операций. Для выполнения булевой операции с двумя сплайнами:

  1. Выберите один сплайн.
  2. Щелкните на Boolean.
  3. Щелкните на типе булевой операции Union (объединение), Substaction (вычитание) или Intersection (пересечение).
  4. Щелкните на втором сплайне.

Если выбрана операция Substaction, второй сплайн будет всегда вычитаться из первого.

Зеркальное отображение сплайнов

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

Рассмотрим важные отличия между созданием зеркальных отображений сплайнов и объектов:

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

Для зеркального отображения сплайна выполните следующие шаги:

  1. Выберите сплайн.
  2. По необходимости установите флажок Сору.
  3. Щелкните на кнопке оси Mirror для определения направления Mirror.
  4. Щелкните на Mirror.
    Каждый раз при щелчке на Mirror выбранные сплайны переключаются вокруг своих локальных центров.

Трансформация сплайнов

Сплайны можно трансформировать с помощью стандартных инструментов выборки и трансформации в линейке инструментов, включая метод Shift-Clone для создания копий сплайна. Эти типы трансформаций являются статическими и с ними нельзя выполнить анимацию.

Если требуется выполнение анимации трансформации сплайна, можно использовать метод XForm, описанный ранее для вершин.

Как упоминалось ранее в этой главе, центры Pivot Point не работают при трансформации сплайнов в любой системе координат. При выборе локальной системы координат происходит блокировка на мировую систему координат с центром в начале мировых координат.

Использование модификаторов форм

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

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

Применение к сплайнам геометрических модификаторов

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

Один важный момент, который следует помнить при применении модификаторов к формам, заключается в том, что большинство форм являются плоскими (или, по крайней мере, они начинаются плоско); форма не имеет размера вдоль локальной оси Z. По случайному стечению обстоятельств большинство модификаторов по умолчанию оказывают воздействие именно по локальной оси Z объекта.

Если к форме применяется модификатор и создается впечатление, что он не оказывает эффект, проверьте активную ось модификатора. Если форма является плоской, выберите в качестве активной ось Х или Y.

Преобразование форм в плоские каркасы

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

Многие модификаторы преобразуют форму в объект каркаса, и наиболее очевидным модификатором для этого является EditMesh. Другими модификаторами, которые можно использовать для преобразования форм в каркасы, являются любые модификаторы поверхности, подобные Normal (нормальная). Smooth (гладкая) или Material (материал). Модификаторы поверхности просты и не несут в себе потенциал увеличения накладных расходов по памяти, как в случае модификатора EditMesh.

Вытягивание сплайнов

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

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

При вытягивании форм основными понятиями является величина вытягивания (Extrusion amount) и количество сегментов:

  • Величина (Amount). Установите длину вытягивания, которая измеряется вдоль локальной оси Z формы. Большинство форм плоско лежат на своих локальных плоскостях XY, создавая вытягивания с плоской верхушкой. Если вытягивается форма, содержащая сплайны, которые вращаются вне своей локальной плоскости XY, можно создать перекошенные или срезанные по диагонали вытягивания. На рисунке 9.29 показан результат вытягивания формы, если для вращения одного из сплайнов вне плоскости XY используется Edit Spline.
  • Сегменты (Segments). Установите количество делений вдоль длины вытягивания. Если планируется изгибать или как-то иначе деформировать результат вытягивания посредством другого модификатора, следует увеличить количество сегментов.

При вытягивании формы выбор можно делать из следующих опций:

  • Создание наконечников (Capping). Наконечник можно создать на любом или на обеих концах вытягивания, имея при этом возможность выбора между методами создания наконечников - Morph или Grid. Метод создания наконечников Morph использует меньшее количество граней, но не выполняет деформацию так хорошо, как это делает метод Grid. Метод Morph необходим в случае дальнейшего использования вытянутых объектов в качестве целей морфинга.
  • Генерация координат проецирования (Generation Mapping Coordinates). Отметка этого флажка применяет координаты проецирования к вытянутым сторонам для использования проецируемых материалов. Применение координат распределения к наконечникам объекта осуществляется вручную.
  • Вывод (Output). Выбор определяет результат вытягивания - каркасный объект или лоскутный объект. Правильный выбор существенно зависит от того, что планируется делать с объектом. Выбор по умолчанию Mesh подходит для большинства целей.

Вращение сплайнов

Для генерации поверхности кругового вращения к объекту формы применяется Lathe (вращать). Поверхность вращения является чем-то, что можно создать в виде Loft, но применяя Extrude, однако если круговое вращение вокруг дуги совершает одна форма, Lathe является лучшим выбором.

Как и в случае Extrude, можно виртуально вращать любую форму. На рисунке 9.30 показаны примеры форм вращения.

Наиболее важными решениями при вращении форм являются установка опций оси Lathe и установка поверхности кругового вращения.

Установка оси Lathe

По умолчанию расположение оси Lathe начинается с центра создания формы и выравнивается с локальной осью Y формы. Центр создания - это расположение по умолчанию точки вращения после создания формы.

ПРЕДУПРЕЖДЕНИЕ

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

Если необходимо изменить положение сплайна по отношению к точке вращения формы, для перемещения сплайна лучше использовать Edit Spline, а не Adjust Pivot (отрегулировать точку вращения).

Если вместо положения оси по умолчанию требуется использовать что-то другое, доступны четыре выбора:

  • Min (минимум). Щелкните на Min для расположения оси на отрицательной границе оси Х формы.
  • Center (центр). Щелкните на Center для расположения оси в геометрическом центре формы. В зависимости от типа выполняемого на форме редактирования геометрический центр может либо совпадать, либо нет с центром создания по умолчанию.
  • Мах (максимум). Щелкните на Мах для расположения оси на максимальной границе оси Х формы.
  • Sub-Object (подобъект). Щелкните на Sub-object и вручную перемещайте или вращайте ось для помещения ее в требуемое место. К оси Lathe можно также применить неоднородное масштабирование для создания эллиптических поверхностей кругового вращения (см. рис. 9.31). Обычно масштабирование следует применять вдоль активной оси Lathe.

После использования любого из этих четырех методов для расположения оси Lathe нет гарантированного метода для сброса оси в место расположения по умолчанию. Чтобы вернуться к расположению оси по умолчанию следует удалить модификатор Lathe и затем повторно применить его.

Ориентацию оси Lathe можно установить посредством трех кнопок ориентирования. Щелкайте на кнопках X, Y или Z для выравнивания оси Lathe с локальной осью выбранной формы. При выборе оси Lathe необходимо учитывать следующие проблемы:

  • По умолчанию ориентация оси Lathe выравнивается с локальной осью Y формы.
  • Если выбрать выравнивание оси Lathe с локальной осью Х формы, кнопки Min, Center и Мах использовать нельзя. При выравнивании с осью Х ось Lathe необходимо перемещать вручную.
  • Большинство форм, которые вращаются, являются плоскими, что делает основными выборами оси Х и Y. Вращение вокруг оси Z используется только в том случае, если форма не лежит на локальной плоскости XY.

Управление поверхностью кругового вращения

Три опции поверхности кругового вращения управляют степенью кругового вращения и сложностью генерируемого каркаса:

  • Градусы (Degrees). Устанавливает количество градусов кругового вращения. В случае использования значений меньших 360° вероятно следует отметить Capping в начале и в конце формы вращения.
  • Сегменты (Segments). Устанавливает количество промежуточных копий формы, которые необходимо создать в процессе вращения. Большие значения для сигментов приводят к созданию более гладких вращении, тогда как малые значения порождают грубые поверхности или даже геометрические рамки Если необходима круглая форма, для кругового вращения на 360° обычно требуется 16 и более сегментов. Меньшие значения (от 4 до 8) используются для создания обычных геометрических рамок, как показано на рис. 9.32.
  • Объединить главные вершины (Weld Core). Главные вершины - это вершины формы, лежащие на оси Lathe. Каждая главная вершина формы дублируется для каждого сегмента вращения, что приводит к "накоплению" большого количества вершин у центра и может вызвать ошибки визуализации. Weld Core следует отмечать всякий раз, когда вершина формы лежит на оси Lathe. Снятие отметки Weld Core может потребоваться при создании целей морфинга и необходимости сохранения предсказуемого числа вершин.

Опции создания наконечников и выбор между типами вывода Mesh и Patch такие же, как и для Extrude. Lathe включает в себя флажок Generate UV Coordinates (генерировать UV-координаты) для применения координат распределения к сторонам объекта вращения. Если не используется полный оборот в 360°, к наконечникам координаты распределения применяются вручную.

Создание фасок на сплайнах

В 3DS МАХ R1.1 был введен новый модификатор Bevel (фаска), используемый для вытягивания и создания фаски на форме. Этот модификатор в основном применяется для классического текста с фаской и обработок логотипов (см. рис. 9.33).

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

  • Установке значений Bevel.
  • Выбор ребра для обработки.
  • Ликвидация пересечений ребер.

Установка значений для Bevel

Создавайте объект с фаской путем установки для Bevel следующих значений:

  • Уровни (Levels). Для всех объектов с фасками требуется минимум два уровня - начальный и конечный. Поле Start Outline (начальный контур) является единственным параметром для начального уровня. Считайте начальный уровень уровнем Level 0. Level 1 по умолчанию является конечным уровнем для объекта с двумя уровнями. Можно разрешить еще два дополнительных уровня. Уровень с самым высоким номером всегда считается конечным уровнем.
    Обработка классической фаски использует все четыре уровня. Рисунок 9.34 показывает классическую фаску и идентифицирует одну из возможных организаций уровней.
  • Контур (Outline). Указывает насколько большим или меньшим является уровень по сравнению с предыдущей формой уровня. Значение представляет собой расстояние, выраженное в текущих единицах, от ребра предыдущей формы до ребра контурной копии формы. Начальный контур представляет отличие между начальной формой и формой оригинала.
    Ключевым моментом, который следует помнить при установке значений контура, является то, что значение всегда является изменением по отношению к предыдущей форме. Например, объект с классической фаской в 5.0 единиц использует следующие значения контура: Start Outline: 0.0 (нет отличий от формы оригинала) Уровень 1. Outline: 5.0 (фаска наружу 5.0 единиц) Уровень 2. Outline: 0.0 (сохраняет тот же размер, что и уровень 1) Уровень 3. Outline: -5.0 (фаска назад к форме оригинала).
    Если посмотреть на предыдущий список, то основными правилами для создания классических фасок с четырьмя уровнями являются: В поле Start Outline устанавливается основной размер фаски. Уровни 1 и 3 имеют одинаковые значения, но противоположные знаки. Если необходима фаска 45°, значение Height для уровней 1 и 3 положительны и равны значению Outline. Уровень 2 всегда равен 0.
    Понимая то, что начальный контур задает базовый размер объекта, можно устанавливать состояния фаски для уровней 1, 2 и 3 и затем экспериментировать с общим размером объекта путем изменения начального контура.
  • Высота (Height). Устанавливает расстояние от предыдущего уровня до текущего, которое измеряется вдоль локальной оси Z формы. Для классических фасок значения Height всегда положительны и обычно равны. Комбинируя наибольшие положительные и отрицательные значения, можно создавать интересные вариации фасок. На рисунке 9.35 показан объект со следующими значениями фаски: Start Outline: 3.0 Уровень 1. Outline: 0.0, Height: 20.0 (поднимается прямо вверх без фаски) Уровень 2. Outline: -5.0, Height: 0.0 (создает плоскую верхушку шириной 5.0 единиц) Уровень 3. Outline: 0.0, Height: -5.0 (погружается в форму на 5.0 единиц)

Выбор ребер для обработки

Опции области Surface (поверхность) в свитке Parameters устанавливают как обрабатываются поверхности ребер. В основном опции управляют тем, являются ли стороны плоскими, закругленными или гладкими круглыми сторонами:

  • Linear or Curved Sides (линейные или искривленные стороны). Выбирается необходимый тип интерполяции. Curved Sides использует кривую сплайна для интерполяции от одного уровня к следующему. Для просмотра эффекта выбора Curved Sides значение Segments должно быть установлено в значение больше 1.
  • Segments (сегменты). Увеличивайте количество сегментов, если используется Curved Sides или планируется выполнение деформации объекта посредством другого модификатора.
  • Smooth Across Levels (сглаживание через уровни). Применяет сглаживающие группы для сглаживания граней сторон объекта. Bevel никогда не пытается выполнить сглаживание от сторон в грань объекта. При использовании Curved Sides или множества сегментов следует отметить эту опцию.

Опции распределения UV-координат (Generate UV Coordinates) и создания наконечников типичны для всех объектов за небольшим исключением в том, что понимается под созданием наконечников Тор (верхний) и Bottom (нижний). Большинство объектов с наконечниками имеют метки Start (начало) и End (конец). Объекты не беспокоятся о пространственных взаимоотношениях наконечников. Bevel проверяет высоты по локальной оси Z для начального и конечного уровня. Отметка Тор покрывает уровень с наибольшим значением по локальной оси Z, а отметка Bottom покрывает уровень с наименьшим значением по локальной оси Z.

Ликвидация пересечений

Общие проблемы для текстовых форм с фасками возникают на засечках и там, где форма доходит до точки острее 90°. В случае применения фаски эти области стремятся "отскочить" на большие расстояния и пересечь другие части объекта, как показано на рисунке 9.36.

Для решения проблемы пересечений применяется один из двух методов. Используйте параметры Intersection (пересечение) модификатора Bevel или от редактируйте форму вручную.

Опции в области Intersection в свитке Parameters автоматически предотвращают пересечение уровней.

Отметьте флажок Keep lines from crossing (предохранять линии от пересечения) для включения проверки пересечений.

Введите значение в поле Separation (разделение) для установки минимального расстояния, которое следует поддерживать между ребрами. Это значение может быть установлено в 0.01 единицы, при котором создается фаска, переходящая в точку. Рисунок 9.37 показывает результат отметки Keep lines from crossing для предыдущего объекта с фаской, который содержит пересечения.

ПРИМЕЧАНИЕ.

Опции Keep lines from crossing может потребоваться значительное время для вычисления всех ограничений пересечения, в особенности для сложной буквы с засечками. После установки фаски посредством необходимого метода может потребоваться разрушение Modifier Stack для преобразования фаски в каркас и предотвращения повторных вычислений.

Многие проблемы пересечений решаются вручную при помощи Edit Spline. Большинство проблем пересечения вызваны ребрами формы, приходящими в острую точку. Если сделать точку более плоской, можно решить множество проблем, связанных с пересечением.

Для решения проблемы пересечений используется следующий метод:

  1. Примените к форме модификатор Bevel и идентифицируйте пересечения.
  2. Примените модификатор Edit Spline ниже модификатора Bevel.
  3. Используйте Refine для добавления вершины к углу, вызывающему проблемы.
  4. Удалите угловую вершину.
  5. По выбору для линеаризации установите сегмент между двумя новыми вершинами.
  6. Выберите модификатор Bevel из Modifier Stack и проверьте результаты.

На рисунке 9.38 показан объект из рисунка 9.37 после применения приведенного метода.

В Bevel также входит флажок Generate UV Coordinates для применения к сторонам объекта с фаской координат распределения. К наконечникам объекта координаты распределения необходимо применять вручную.


ГЛАВА 10

Создание loft-объектов

Loft-объекты (объекты, полученные в результате лофтинга) являются наиболее сложным и интересным типом объектов, которые можно создавать в 3DS МАХ. Loft-объекты строятся путем объединения любых форм поперечного сечения при помощи одиночной формы пути. Поскольку при создании loft-объектов все зависит от используемой исходной формы, полезно прочитать главу 9, "Моделирование при помощи форм", если вы не сделали это до сих пор.

В этой главе представлена следующая информация о loft-объектах:

  • Стратегия создания исходных форм
  • Два способа конструирования первоначального loft-объекта
  • Создание loft-объекта путем добавления дополнительных форм
  • Управление параметрами loft-объекта, определяющими его детали и внешний вид
  • Использование специальных инструментов деформации loft-объектов
  • Редактирование loft-объектов
  • Анимация loft-объектов
  • Использование деформации Fit

Перед переходом к собственно созданию loft-объектов необходимо познакомиться с основными концепциями их создания.

Концепции создания loft-объектов

В течение всей жизни 3D Studio MAX в качестве аналогии для лофтинга неоднократно использовалось описание строительства корпуса судна. Да, путь лофтинга можно считать килем, а формы для лофтинга -ребрами судна, которые размещаются вдоль киля. К сожалению такое описание предполагает ограниченный подход к лофтингу, поскольку подобный подход несправедлив по отношению к опциям моделирования, имеющимся для loft-объектов.

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

Создание loft-объектов происходит во многом аналогично. Создается основная линия (путь) для поддержания любого количества поперечных сечений (форм). При редактировании пути и форм для отображения поверхности в виде проволочного каркаса или в затененном виде можно использовать параметры поверхности для лофтинга.

Терминология для loft-объектов

Наряду с основными терминами, описывающими объекты Shape (форма), loft-объекты используют специальную терминологию. Приведенные ниже определения дают обзор терминологии для форм при применении их к loft-объектам, и вводят для loft-объектов новые специфичные определения. Подробные определения для терминов формы содержатся в главе 9.

  • вершины. Определяют формы поперечного сечения и пути. Вершины могут иметь свойства Corner, Smooth и оба типа Bezier. Вершины также имеют специальное значение, когда они определяют уровни пути.
  • сегменты. Часть сплайна между двумя вершинами. Управление кривизной сегментов сплайна выполняется за счет изменения свойств вершин на любом конце сегмента или свойств самого сегмента.
  • шага. Количество делений сегмента, используемое для представления кривой. Количество шагов определяет гладкость и плотность каркаса поверхности для лофтинга. Loft-объекты для пути и форм поперечного сечения используют свои собственные установки шагов, игнорируя установки интерполяции самих форм.
  • сплайны. Совокупность соединенных сегментов. Сплайны представляют собой тип гладкой настраиваемой кривой, но в 3DS МАХ входят опции для вставки углов и определения линейных сегментов.
  • формы. Совокупность сплайнов определяет объект формы. Форма пути может содержать только один сплайн. Формы поперечного сечения могут содержать любое количество сплайнов до тех пор, пока все эти формы на пути будут содержать одинаковое количество сплайнов. В loft-объектах формы становятся подобъектами.
  • пути. Описывают одну форму, определяющую основную линию loft-объекта.
  • уровень. Промежуточные положения вдоль пути лофтинга. По крайней мере каждая вершина пути определяет некоторый уровень. Расположения форм и точек управления деформацией могут определять дополнительные уровни.
  • Точка управления. Вершины на кривых деформации. Точки управления выглядят и ведут себя подобно вершинам формы с некоторыми дополнительными ограничениями при их использовании.
  • Кривая деформации. Определяет основную форму loft-объекта путем размещения форм на пути. Разрешает дальнейшую модификацию loft-объекта с помощью кривых деформации для настройки масштаба, угла и размера форм.
  • Первая вершина. У всех форм имеется первая вершина. 3DS МАХ строит поверхность лофтинга посредством согласования первых вершин каждой формы пути и растягивания оболочки от первой до последней вершины. Управлять таким процессом можно, выбрав способ выстраивания этих вершин.

Создание исходных форм для поперечных сечений и путей

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

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

К формам поперечного сечения применяются два ограничения. Все формы на пути должны содержать одинаковое количество сплайнов, что не является серьезным ограничением, как это может показаться. Просто создайте то, что выглядит как одна форма, разделите ее на множество форм путем создания "одной формы" из серии несоединенных сплайнов. На рисунке 10.1 показана вилка, созданная с использованием этого метода. Формы, образующие ручку вилки, состоят из двух сплайнов. Наличие одного сплайна для левой и правой стороны позволяет loft-объекту разделяться, когда он достигает зубьев вилки.

Все формы на пути должны иметь одинаковый порядок вложения. Если первая форма на пути содержит два сплайна внутри другого сплайна, все формы на пути должны содержать два сплайна внутри другого сплайна. Это ограничения можно обойти с помощью открытия внешнего сплайна. Разомкнутые сплайны не вкладываются даже в том случае, если их конечные точки касаются. Странный объект на рисунке 10.2 показывает использование такого метода. Внешний прямоугольник формы для лофтинга был разомкнут за счет разрыва угловой вершины с использованием модификатора Edit Spline.

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

  • Создайте другие объекты, выполняющие роль наконечников, и затем сгруппируйте, свяжите или присоедините их к loft-объекту.
  • Примените к loft-объекту модификатор Edit Mesh и вручную постройте грани для наконечника. Использование модификатора Edit Mesh рассматривается в главе 12 "Моделирование подобъектов".
  • Используйте деформацию масштабирования для грубого масштабирования формы для лофтинга до нуля процентов на концах loft-объекта. Деформация масштаба loft-объекта рассматривается в этой главе в разделе "Использование деформации масштаба".

В последующих разделах представлены другие методы, позволяющие сделать моделирование loft-объектов более успешным.

Трансформация форм

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

За исключением перемещения и вращения первой формы, использованной для создания loft-объекта, трансформации формы не являются частью объекта. В главе 1, "Основные концепции 3D Studio МАХ", рассматривается потоковая схема объекта и то, как информация об объекте распространяется от базовых параметров через модификаторы на трансформации и, в конце концов, на исказители пространства. При использовании в лофтинге формы после применения модификаторов формы и перед тем, как форма трансформируется потоковая схема будет разделяться. Трансформации, подобные Move (переместить). Rotate (вращать) и Scale (масштабировать) в loft-объект с формой не перемещаются.

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

  • Для размещения форм в удобных местах на сцене используйте Move и Rotate. Помните, что перемещение и вращение формы не влияет на то, как она поведет себя в loft-объекте.
  • Никогда не масштабируйте форму! Это хороший совет практически для любого объекта, но это имеет особенно важное значение для форм, использованных в loft-объектах. Коэффициент масштабирования не переносится в loft-объект. Форма появляется в loft-объекте, используя свой первоначальный не масштабированный размер.

При необходимости выполнять Move, Rotate или Scale для формы в качестве части конструкции loft-объекта доступно несколько способов.

  • Изменяйте базовые параметры Многие функции масштабирования можно обрабатывать путем изменения параметров формы. Вместо использования масштабирования изменяйте радиус круга или высоту спирали. #
  • Применяйте модификатор Xform В любой момент, когда требуется перемещать, вращать или масштабировать объект, используйте модификатор XForm. Поскольку XForm является модификатором, он переносит в loft-объект эффект перемещения, вращения или масштабирования.
  • Используйте режим Sub-Object лофтинга Вы можете использовать перемещение, вращение или масштабирование как операцию, примененную к подобъекту внутри loft-объекта. Щелкните на кнопке Sub-Object и трансформируйте формы на пути лофтинга. Эти трансформации переносятся внутрь loft-объекта.
  • Применяйте модификатор Edit Spline Используя режим подобъекта Edit Spline, можно перемещать, вращать или масштабировать такие подобъекты, как вершины или сплайны. Применяемый для этого метод зависит от стиля моделирования и от того, что пытаются сделать с loft-объектом. В любом случае не трансформируйте формы на уровне объекта и не ожидайте, что трансформация будет верна при лофтинге.

Создание форм на месте

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

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

  • Рисуйте форму пути от основания loft-объекта до его верхушки; для горизонтальных объектов рисуйте путь от задней части объекта к передней.
  • Рисуйте формы в видовом окне, которое наиболее близко согласуется с видом сверху или видом спереди объекта.

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

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

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

Затем выполните лофтинг некоторого текста, который следует за колонной. В этом случае путь проходит горизонтально. Располагайте loft-объект текста следующим образом:

  1. Создайте на виде сверху путь, проходящий от задней части к передней. Начинайте возле верха видового окна (задняя часть) и завершайте по направлению к нижней части видового окна (передняя часть).
  2. Создайте текст на виде спереди. И снова, передняя часть текста ориентируется в направлении передней части loft-объекта.

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

Изменение точки вращения формы поперечного сечения

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

Например, представим, что вдоль пути выполняется лофтинг серии звезд, и требуется, чтобы путь проходил через верхнюю точку каждой звезды. Для перемещения точки вращения каждой звезды перед добавлением ее к loft-объекту используется кнопка Affect Pivot Only (влиять только на точку вращения) в панели Hierarchy (иерархия). При использовании Get Shape (получить форму) для добавления звезд к лофтингу путь проходит через точку вращения формы. На рисунке 10.3 показана форма для лофтинга с первоначальным расположением точки вращения и что происходит в случае изменения расположения точки вращения и повторного получения формы.

Расположение точки вращения анализируется только во время добавления формы к loft-объекту. Изменение положения точки вращения после добавления формы к loft-объекту не имеет эффекта.

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

Методы создания loft-объектов

После создания исходных форм можно создавать loft-объект. Доступ к методам создания loft-объектов можно получить посредством щелчка на кнопке Geometry (геометрия) в панели Create и выбора Loft Object из списка категорий. Если форма не выбрана, кнопка Loft неактивна. Если форма выбрана, можно щелкнуть на кнопке Loft для отображения свитка Creation Methods (методы создания), показанного на рисунке 10.4.

Первыми двумя формами, используемыми для создания loft-объекта, должны быть форма пути и форма поперечного сечения. После них можно добавлять дополнительные формы поперечного сечения и даже заменять форму пути. Ниже приведены основные шаги для создания loft-объекта:

  1. Создайте исходные формы.
  2. Выберите форму для начала loft-объекта.
  3. Первая форма имеет очень важное значение, поскольку устанавливает положение и ориентацию loft-объекта.
  4. Выполните доступ к Creation Methods для loft-объекта.
  5. Получите форму пути или поперечного сечения.

Выборы в этом свитке определяют метод клонирования формы и с чего начинать - с формы пути или с формы поперечного сечения.

Как начать с формы

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

Выбранная в качестве пути форма перемещается к точке вращения и вращается для выравнивания с первоначальной системой координат выбранной формы. Используйте такой метод при создании или выравнивании формы в точности там, где следует расположить основание loft-объекта. После этого для получения пути для формы выполняйте Get Path.

Например, может потребоваться получить loft-объект крышки люка проектируемого космического корабля. Создайте контурную форму крышки и используйте Normal Align (нормальное выравнивание) для выравнивания формы с поверхностью корабля. Выполните Get Path, чтобы начать построение loft-объекта в месте расположения формы. На рисунке 10.5 показаны шаги, обеспечивающие решение примера.

Как начать с пути

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

При щелчке на Get Shape происходит переход в режим выбора, в котором можно выбрать только одну форму. Курсор изменяет свою форму на Get Shape каждый раз, когда находится над действительной формой пути. При создании loft-объекта впервые каждая форма является действительной формой поперечного сечения; только при добавлении дополнительных форм к пути начинают появляться недействительные формы поперечного сечения (см. раздел "Добавление форм к пути" позже в этой главе). Щелчок на форме при отображении Get Shape воспринимает эту форму как поперечное сечение на пути.

ПРИМЕЧАНИЕ

Иногда в начале создания loft-объекта обнаруживается, что кнопка Get Shape не действует. Например, при выборе формы пончика и щелчке на Loft первоначальная выбранная форма оказывается недействительной в качестве формы пути, поскольку пончик содержит два сплайна и, следовательно, не может рассматриваться в качестве пути. Щелкните на Get Path и выберите форму пути или отмените процесс создания loft-объекта, чтобы начать с другой формы.

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

ПРИМЕЧАНИЕ

При совместном использовании Get Path и Get Shape можно переключиться на выравнивание формы по умолчанию за счет нажатия Ctrl во время выбора формы. Если при первой попытке получения формы пути или поперечного сечения ориентация оказывается нежелательной, нажмите Ctrl и выберите форму снова.

Выбор метода клонирования

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

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

Перед щелчком на Loft необходимо выбрать объект формы. Выборы, сделанные после щелчка на Loft, определяют становится ли выбранная форма формой пути или формой поперечного сечения. Независимо от того, что выполняется, в loft-объект помещается экземпляр выбранной формы.

Loft-объект и первоначальная форма занимают на сцене одно и то же пространство. При перемещении loft-объекта в другое место на сцене, первоначальная форма остается позади.

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

Выполнение Move, Instance и Copy

При использовании кнопок Get Path или Get Shape для добавления форм к loft-объекту можно задать, должны ли добавленные формы перемещаться, копироваться или будут создаваться их экземпляры в loft-объекте.

  • Переместить (Move). Первоначальная форма перемещается в loft-объект и перестает существовать как независимый объект. После перемещения формы в loft-объект форму можно редактировать только в режиме Sub-Object из Loft. В то время, как выбор Move может показаться привлекательным для целей упорядочивания сцены, это может привести к трудностям при необходимости дальнейшего редактирования формы. Используйте Move только в случае, если есть достаточная уверенность в том, что в форме не нужно будет производить дополнительные изменения.
  • Копировать (Copy). В loft-объект помещается копия первоначальной формы. Копия и оригинал не имеют никаких совместно используемых соединений. Такого выбора следует избегать по той же причине, по которой избегают использования Move. Единственное отличие состоит в том, что Сору оставляет первоначальную форму на сцене для использования с другими объектами.
  • Создать экземпляр (Instance). В loft-объект помещается экземпляр первоначальной формы. Любое последующее изменение первоначальной формы отражается на экземпляре внутри loft-объекта. Создание экземпляра устанавливается по умолчанию и предпочтительно при добавлении форм в loft-объект. Если требуется редактировать формы для лофтинга, вместо этого можно редактировать экземпляры и наблюдать изменения, появляющиеся в loft-объекте. Loft-объект и его экземпляры в конце концов могут создать беспорядок на сцене. Ликвидировать подобный беспорядок можно за счет скрытия форм или удаления их после окончания моделирования loft-объекта.

Перемещение из панели Create в панель Modify

После создания базового loft-объекта (путь с одной формой) можно продолжать добавлять дополнительные формы и изменять параметры поверхности и оболочки, хотя для завершения объекта обычно удобнее перейти к панели Modify. Применим любой метод, который покажется удобным, но использование панели Modify имеет следующие преимущества:

  • Не нужно беспокоиться о покидании режима создания при щелчке на трансформации или любой другой кнопке линейки инструментов.
  • Панель Modify отображает Loft Parameters каждый раз при выборе Loft.
  • Режим Sub-Object можно использовать только в панели Modify.
  • Деформации Loft можно использовать только в панели Modify.

Панель Modify обеспечивает более стабильную среду с большим количеством характеристик для завершения loft-объекта. На рисунке 10.7 сравниваются Loft Parameters в панелях Create и Modify.

Создание loft-объектов со множеством форм

Многие loft-объекты создаются при помощи одной формы на пути, но можно создать более интересные и сложные объекты, поместив на путь множество форм, как показано на рисунке 10.8.

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

Добавление форм к пути

Добавлять формы к loft-объекту можно в режиме создания или позже путем выбора loft-объекта и доступа к его параметрам из панели Modify. Ниже приведена процедура добавления форм к пути для лофтинга:

  1. Установите уровень текущего пути в свитке Path Parameters для указания того, в каком месте пути будет добавляться форма.
  2. Щелкните на Get Shape в свитке Creation Methods.
  3. Установите метод клонирования Move, Сору или Instance.
  4. Выберите форму.

Установка уровня пути

Устанавливайте место добавления формы на пути, через опции свитка Path Parameters (см. рис. 10.9). Текущий уровень пути представляется небольшим символом Х на пути.

Текущий уровень пути устанавливается с помощью ввода значения в поле Path. Это значение может указываться в виде процента длины пути или как абсолютное расстояние вдоль пути. Установка используемого метода производится посредством нажатия на кнопки Percentage (процент) или Distance (расстояние) в свитке Path Parameters.

  • Выберите Percentage для ввода значений от 0 до 100 процентов длины пути.
  • Выберите Distance для ввода значения в текущих единицах для указания расстояния, измеренного от первой вершины пути.

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

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

  1. Сделайте копию формы, которую требуется измерить.
  2. Выберите форму и щелкните на Loft в панели Create.
  3. Щелкните на Get Shape и затем на любой форме сцены.
  4. Выберите опцию Distance из свитка Path Parameters и перетащите счетчик Path в максимальное значение.

В обеих режимах Distance и Percentage можно отметить флажок Snap для задания значения фиксации Distance или Percentage. К сожалению способа фиксации к вершинам пути не существует.

Использование Get Shape

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

Применение Get Shape на уровне, на котором уже существует форма на пути, приводит к замене текущей формы на новую. Если решение изменяется в пользу форм с различным количеством сплайнов или с различным порядком вложения, следует вначале удалить из пути все текущие формы.

Навигация по уровням путей

После размещения на пути нескольких форм оставшиеся три кнопки в свитке Path Parameters можно применять для навигации по уровням пути, содержащим формы.

  • Следующая форма (Next Shape). Выполняет перемещение вдоль пути вперед к уровню следующей формы.
  • Предыдущая форма (Previons Shape). Выполняет перемещение вдоль пути назад к уровню предыдущей формы.
  • Выбрать форму (Pick). Щелкните на любой форме на пути для перехода к уровню этой формы.

Основной смысл использования этих элементов управления заключается в быстром переходе к уровню формы для ее замены через операцию Get Shape.

Изменение одной формы на другую

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

Согласование первой вершины

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

  • Примените к каждой форме Edit Spline. Используйте кнопку Make First в свитке Edit Vertex для присвоения новой первой вершины, которая выравнивается с другими формами. Обратитесь к главе 9, в которой приведена информация по использованию Edit Spline.
  • Выберите Shape в режиме Sub-Object модификатора Loft в рамках панели Modify. Выберите формы на пути и вращайте их до тех пор, пока вершины не станут выровнены. Трансформация форм не уровне подобъектов рассматривается в этой главе позже.

Иногда для достижения результата потребуется применять комбинацию обеих технологий.

Согласование вершин

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

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

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

На рисунке 10.11 показан loft-объект, использующий две достаточно нерегулярные формы. Объект слева для интерполяции от четырех вершин круга к 12 вершинам креста использует установки 3DS МАХ по умолчанию. Интерполяция создает на левом объекте несколько нерегулярную поверхность. Объект справа использует Edit Spline для добавления вершин к кругу с целью их согласования с вершинами креста. Правый объект имеет более регулярную поверхность.

Комбинирование разомкнутых и замкнутых форм

Имеется возможность создавать loft-объекты с использованием форм, которые переходят от разомкнутых к замкнутым. Такой метод полезен для моделирования объектов, поверхность которых имеет разрезы и разрывы. При комбинировании разомкнутых и замкнутых форм в одном и том же loft-объекте необходимо помнить следующее:

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

На рисунке 10.12 показан пример комбинирования разомкнутых и замкнутых форм в одном loft-объекте.

Разделение одного сплайна на два

Другим полезным методом лофтинга является разделение loft-объекта, имеющего вид одной формы, на множество форм. При этом нельзя нарушать правило, требующее чтобы каждая форма в loft-объекте содержала одинаковое количество сплайнов; вместо этого прибегните к небольшой уловке. Разделение loft-объекта основано на делении того, что должно выглядеть одним сплайном, на использовании Edit Spline для деления того, что выглядит как один сплайн на множество сплайнов. Последнее выполняется через Break (разорвать) в свитках Edit Vertex или Edit Segment модификатора Edit Spline.

Помните, что Edit Vertex разделяет сплайн, не изменяя его места расположения или кривизны. Поведение Break различно в зависимости от того, из какого свитка модификатора Elit Spline он используется - Edit Vertex или Edit Segment.

  • В свитке Edit Segment Break вставляет вторую вершину возле выбранной вершины и разрывает сплайн между этими двумя вершинами. Используйте такой метод, если сплайн уже содержит удобную для разрыва точку.
  • В свитке Edit Segment Break вставляет две вершины возле точки, на которой выполняется щелчок, и разрывает сплайн между этими двумя вершинами. Используйте данный метод, если необходимо разорвать сплайн в середине сегмента.

Детали применения команды Break представлены в главе 9. Для разделения loft-объекта, состоящего из одного сплайна, на множество сплайнов выполните следующее:

  1. Создайте все формы, необходимые для Loft-объекта.
  2. Подсчитайте количество сплайнов в форме, содержащей наибольшее их количество.
  3. Примените Edit Spline к оставшимся формам и используйте Break из свитка Edit Segment для деления форм на одинаковое число сплайнов.
  4. Выберите путь и формы для loft-бъекта.

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

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

Этот метод весьма хитроумен и не подходит для людей со слабым сердцем, но позволяет получать невероятное количество loft-моделей.

К loft-объекту потребуется применить модификатор Edit Mesh, поэтому можно объединить швы, созданные всеми разделенными формами, и унифицировать нормали. Детали, связанные с использованием Edit Mesh, рассматриваются в главе 13, "Каркасное моделирование".

Управление поверхностью лофтинга

В предыдущем упражнении выполнялась отметка опции для отображения оболочки лофтинга в видовых окнах с проволочными каркасами. Свиток Skin Parameters (параметры оболочки) содержит много опций, влияющих не только на отображение оболочки лофтинга, но и на плотность каркаса и используемые методы интерполяции. Второй список, называемый Surface Parameters (параметры поверхности), содержит опции для управления способами визуализации поверхности лофтинга. Оба свитка показаны на рисунке 10.13.

Установка деталей оболочки

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

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

Лучшее решение достигается путем создания как можно более разреженных каркасов, удовлетворяющих требованиям проекта по деформации и визуализации. Также можно использовать модификатор Optimize для отображения модели с низкой разрешающей способностью во время моделирования и сохранить модель с высокой разрешающей способностью для окончательной визуализации. Обратите внимание на главу 15, "Использование усовершенствованных модификаторов", в которой приведена информация о модификаторе Optimize.

Отметим, что многие рассматриваемые ниже установки подобны опциям, устанавливаемым в свитке Shape Interpolation (интерполяция формы) при создании форм. Помните, что установки интерполяции не используются при установке форм для loft-объекта. Вместо этого loft-объект перекрывает установки интерполяции форм своими собственными установками. По этой причине можно использовать установку интерполяции Adaptive, работать с самыми гладкими формами и управлять плотностью каркаса через опции лофтинга.

Все последующие параметры находятся в свитке Skin Parameters для loft-объектов.

Установка шагов пути и интерполяция уровней пути

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

Управление тем, как уровни пути влияют на оболочку, выполняется при помощи опции Adaptive Path Steps. В случае отметки опции Adaptive Path Steps уровень вдоль пути создается в следующих местах:

  • В каждой вершине формы пути.
  • В месте расположения каждой формы на пути.
  • В каждой точке управления кривой деформации лофтинга.

Если Adaptive Path Steps не отмечен, уровни пути создаются только в вершинах пути, обеспечивая более эффективную поверхность. Однако можно потерять детали, если формы не расположены возле вершины или возле промежуточной установки шага.

Идея, на которой основана опция Adaptive Path Steps, заключается в автоматическом создании уровней там, где они необходимы. 3DS МАХ предполагает, что при размещении формы возле определенной точки вдоль пути, вставки вершины или точки управления, эта форма или точка должны оказаться важными характеристиками и их необходимо точно представлять на поверхности лофтинга. Это общий случай, но Adaptive Path Steps иногда может создавать больше уровней пути, чем это необходимо. Примером является такое расположение вершин на пути, когда они не совпадают с важными местами расположения форм в loft-объектах. В таких случаях уровни создаются возле расположении вершин и форм, а уровни вершин, возможно, не потребуются. На рисунке 10.14 показан один и тот же loft-объект при отмеченном и неотмеченном Adaptive Path Steps. Оба loft-объекта используют установку Path Steps по умолчанию, равную 5.

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

  • Устанавливайте меньшее количество шагов, если путь имеет мало кривых.
  • Устанавливайте меньшее количество шагов при отмеченном Adaptive Path Steps.
  • Устанавливайте большее количество шагов, если планируется деформировать loft-объект посредством кривых деформации или модификаторов.
  • Устанавливайте большее количество шагов в случае неотмеченного Adaptive Path Steps.

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

  • Edit Spline Применяйте к пути Edit Spline и используйте Refine из свитка Edit Vertex для добавления дополнительных вершин вдоль искривленных сегментов. После добавления вершин число шагов пути можно уменьшить практически до нуля. Дополнительные вершины, добавленные к пути, обеспечивают детали поверхности возле кривых, а уменьшенное количество шагов пути оптимизирует прямой участок пути. Преимуществом такого метода является то, что можно точно видеть, где на пути добавляются дополнительные вершины, и то, что этот метод работает независимо от активности Adaptive Path Steps. Самым большим недостатком является то, что добавленные вершины трудно перемещать, если позже решение изменяется.
  • Кривая деформации loft-объекта Используйте кривую деформации для добавления дополнительных уровней в случае отмеченного Adaptive Path Steps. Подробная информация об использовании кривых деформации приводится позже в этой главе. Хитрость состоит в том, чтобы применить для вставки дополнительных уровней кривую деформации, которая иначе не может быть использована. Для точек управления оставьте значения по умолчанию для предотвращения того, чтобы кривая деформировала loft-объект и уменьшала установку Path Steps. Например, можно вставить точки управления в кривую деформации Teeter (колебание), но оставить значение точек управления равным нулю градусов колебания. Teeter - хороший выбор для этого метода, поскольку практически никто не использует деформацию колебанием. Основными преимуществами подобного метода является то, что точки управления можно легко перемещать и удалять в случае изменения решения о том, куда необходимо поместить уровень, и то, что с точками управления можно выполнять анимацию. Относительно небольшой недостаток заключается в том, что расположение точек управления указывается в процентах вдоль пути, а не при помощи точного расположения.

Установка шагов формы и оптимизация

Поле Shape Steps (шаги формы) и флажок Optimize Shapes (оптимизировать формы) устанавливают количество интерполированных шагов между каждой вершиной формы поперечного сечения. Эти параметры применяются ко всем формам пути и перекрывают шаги и установки оптимизации в базовых параметрах каждой формы. Дополнительная информация приводится в разделе "Шаги и оптимизация" главы 9.

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

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

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

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

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

ПРИМЕЧАНИЕ

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

Установка характеристик поверхности

Характеристики поверхности оказывают влияние на форму loft-объекта без изменения количества созданных граней. Параметры, влияющие на характеристики поверхности, находятся в свитке Skin Parameters.

Создание контура поверхности

Флажок contour управляет поворотом форм на пути так, чтобы они отслеживали кривые. Во многом Contour подобен различию между модификаторами Bend и Skew. В случае отметки Contour формы поворачиваются по мере следования кривым на пути. Contour заставляет формы оставаться перпендикулярными пути, что создает гладкие изгибы там, где путь искривляется. Если Contour не отмечен, формы остаются параллельными форме при уровне 0 пути независимо от кривых пути, и при этом создается объект, который перекашивается из стороны в сторону, а не изгибается. На рисунке 10.15 показано отличие для loft-объекта при отмеченном и неотмеченном Contour. Обычно при создании пути с кривой необходимо добиться изгиба объекта. В таких случаях отмечайте Contour.

Создание крена поверхности

Флажок Banking (крен) управляет вращением форм поперечного сечения вокруг пути, когда путь поворачивается и поднимается вдоль оси Z. Параметр Banking используется только при отмеченном Contour. Если Contour не отмечен. Banking игнорируется.

В случае отметки Banking 3DS МАХ скручивает формы поперечного сечения вокруг пути лофтинга на основе остроты изгиба пути и скорости подъема. Если Banking не отмечен, формы поперечного сечения сохраняют постоянную ориентацию по отношению к пути, как это определено формой на уровне 0. На рисунке 10.16 показано отличие в loft-объекте при отмеченном и неотмеченном Banking.

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

Выбор линейной или криволинейной поверхности

Флажок Linear Interpolation (линейная интерполяция) управляет интерполяцией оболочки между формами на пути. При отмеченном Linear Interpolation оболочка плотно растягивается между формами поперечного сечения. Если Linear Interpolation не отмечается, оболочка выглядит слабее и следует кривой сплайна, проходящей через формы поперечного сечения.

Флажок BLinear Interpolation следует отмечать в случае создания объектов с механической обработкой. Не отмечайте Linear Interpolation при создании органических или скульптурных объектов. На рисунке 10.17 показано отличия loft-объекта для отмеченного и неотмеченного Linear Interpolation.

При необходимости получить полное управление кривизной оболочки оставьте Linear Interpolation неотмеченным и создайте кривизну оболочки вручную посредством деформации Scale. Деформации loft-объекта описываются позже в этой главе.

Установка свойств визуализации поверхности

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

Сглаживание поверхности

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

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

Отметка Smooth Width (сгладить ширину) сглаживает периметр формы. Такая установка создает гладко искривленные поперечные сечения, но кривые пути визуализируются так, как будто они имеют грани. Smooth Width отмечается для среднего объекта на рисунке 10.18.

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

Проецирование (mapping) поверхности

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

Для использования координат проецирования loft-объекта сначала необходимо отметить флажок Apply Mapping в свитке Surface Parameters. При отмеченном флажке Apply Mapping доступны следующие параметры:

  • Повторение по длине (Length Repeat). Устанавливает количество повторений карты вдоль длины пути.
  • Повторение по периметру (Perimeten Repeat) .Устанавливает количество повторений карты вокруг форм на пути.
  • Нормализовать (Normalize). В случае отметки Normalize проекция масштабируется одинаково вдоль длины пути и вокруг периметра форм поперечного сечения. При отсутствии отметки проекция масштабируется неодинаково на основе интервалов между уровнями и вершинами. В большинстве случаев требуется отметка этого флажка.

СОВЕТ

Можно рассмотреть возможность установки полей повторения в 1.0 и отметку Normalize. Затем следует использовать поля UV Tiling в свитке карты Coordinates (координаты) в Material Editor для управления количеством повторений карты. Используя такой метод, можно выполнить анимацию укладки карты, в то время как для полей повторения loft-объекта анимацию выполнить нельзя.

Редактирование форм лофтинга

После размещения на пути форм поперечного сечения может потребоваться их редактирование. Редактируйте формы на пути лофтинга путем активизации Shape режима Sub-Object в панели Modify, как показано на рисунке 10.20.

Для редактирования форм лофтинга выберите loft-объект. Выберите Loft из основания Modifier Stack панели Modify. Щелкните на кнопке Sub-Object и в качестве уровня Sub-Object выберите Shape.

Выбирайте формы на loft-объекте посредством стандартной методики и используйте возможности свитка Shape Commands (команды формы).

В последующих разделах описываются различные способы редактирования форм лофтинга. В эти методы входит использование команд выравнивания в свитке Shape Commands, трансформация форм и доступ к Modifier Stack формы для к форме применения модификаторов и Edit Spline.

Сравнение форм

При размещении на пути множества форм часто требуется сравнивать положение, ориентацию или выравнивание вершин одной формы с другой. Совершенно прямые пути можно легко сравнивать за счет установки пользовательского вида, который просматривает путь по направлению вниз. А что делать, если путь искривлен? В свитке Shape Commands щелкните на Compare (сравнить) для отображения двух или более форм в окне, основанном на их пространственном положении по отношению к пути.

После щелчка на Compare отображается пустое окно Compare. Формы отображаются в окне Compare за счет выполнения щелчка на кнопке Pick Shape и последующего щелчка на формах, которые необходимо отобразить. Окно Compare отображает каждую форму на своей локальной плоскости XY, игнорируя влияние кривизны пути, Contour и Banking. Путь отображается как пересечение, общее для всех отображаемых форм. Рисунок 10.21 показывает loft-объект с искривленным путем и то, как выглядят формы в окне Compare.

В основном окно Compare используется для анализа и сравнения расположения первых вершин форм на пути. Первая вершина каждой формы выглядит как небольшая рамка.

Позиционирование форм

Существует множество способов изменения положения формы на пути. Первое решение о расположении формы делается при указании Path Level перед получением формы. После этого можно изменять положение формы с использованием методов режима Shape в Sub-Object.

Помните, что форма помещается на путь лофтинга, когда локальные оси Х и Y перпендикулярны пути, а локальная ось Z является касательной к пути. Изменение положения формы выполняется в локальной системе координат формы.

Изменение уровня пути

Изменяйте уровень пути формы путем выбора формы и изменения Path Level в свитке Shape Commands. Уровень пути формы также можно изменить посредством перемещения ее вдоль локальной оси Z. Трансформация форм будет рассмотрена далее.

Использование кнопок выравнивания

Для изменения положения формы по отношению к пути применяются кнопки выравнивания Align Left (выровнять влево). Align Right (выровнять вправо) и Center (выровнять по центру). Выберите формы и щелкните на одной из кнопок выравнивания. Кнопки выравнивания перемещают форму на локальной плоскости XY следующим образом:

  • Align Left. Перемещает форму так, что отрицательная граница ее оси Х находится на пути, а форма центрируется вдоль экстентов ее оси Y.
  • Align Right. Перемещает форму так, что положительная граница ее оси Х находится на пути, а форма центрируется вдоль экстентов ее оси Y.
  • center, перемещает форму так, что экстенты осей Х и Y центрируются на пути.

На рисунке 10.22 показана форма в окне Compare с первоначальной ориентацией после Get Shape и результаты использования каждой функции выравнивания.

В свитке Shape Commands отсутствует кнопка, восстанавливающая форму в ее первоначальное выравнивание Get Shape с путем. При получении формы для пути, она первоначально выравнивается со своей точкой вращения на пути. Возвращайте форму к такому выравниванию посредством одного из следующих методов:

  • После использования одной из кнопок выравнивания щелкните на Undo для возврата формы в предыдущее положение, предполагая, что ее предыдущее положение было выравниванием по умолчанию Get Shape.
  • Поместите форму на сцену и используйте Get Shape для замены ее на текущем уровне. Недостатком такого метода является то, что теряется любая другая трансформация, которая применялась к форме на уровне Shape Sub-Object.

Удаление форм

Единственным способом удаления форм из пути является удаление их в режиме Shape Sub-Object. После входа в режим Shape Sub-Object выберите формы, которые требуется удалить, затем щелкните на кнопке Delete в свитке Shape Commands или нажмите Del на клавиатуре.

Использование трансформаций

Трансформация форм на пути подобна трансформации любого другого объекта. Основное отличие состоит в том, что система координат трансформации заблокирована до использования только локальной системы координат формы, и центром трансформации является точка, в которой путь пересекает локальную плоскость формы XY. Трансформация форм лофтинга в режиме Shape Sub-Object следует ряду специальных условий:

  • Перемещение форм вдоль осей Х и Y перемещает их перпендикулярно пути.
  • Перемещение форм вдоль оси Z перемещает их вдоль пути и изменяет уровень пути формы. Каждая форма ограничена положением между предшествующей и следующей формами.
  • Вращение формы вокруг осей Х и Y подобно использованию деформации колебанием.
  • Вращение форм вокруг оси Z вращает формы вокруг пути и подобно использованию деформации скручиванием.
  • Масштабирование форм подобно использованию деформации масштабированием.
  • Все трансформации Scale и Rotate, примененные к форме лофтинга можно удалять путем щелчка на Reset в свитке Shape Commands. Reset не оказывает влияния на результаты перемещения или выравнивания формы.
  • Трансформации, примененные к формам на пути, являются внутренними для loft-объекта и не отражаются в экземплярах формы в любых местах сцены.

Последний пункт следует запомнить. Трансформации Scale и Rotate, примененные к формам на сцене, отбрасываются при использовании Get Shape для выбора формы для loft-объекта. Если формы лофтинга необходимо вращать или масштабировать, сначала используйте Get Shape, а затем вращайте или масштабируйте формы на пути при помощи режима Shape Sub-Object.

Модификация форм

К формам в loft-объекте можно применять модификаторы, подобные Bend, Twist или Edit Spline. Следует соблюдать особую осторожность и не применять модификаторы, преобразующие формы в объекты другого типа, такие как каркас или лоскут. Примерами подобного рода модификаторов являются Extrude и Normal. Модификаторы, преобразующие формы в объект другого типа недействительны и вызывают исчезновение loft-объекта со сцены. Loft-объект по-прежнему можно выбирать по имени через диалог Select Objects и затем удалять модификатор, нарушивший форму, для восстановления loft-объекта.

Применяйте модификатор к форме поперечного сечения с помощью одного из следующих методов:

Для применения модификатора непосредственно к форме лофтинга:

  1. Выберите форму в режиме Shape Sub-Object.
  2. Выберите объект Shape ниже loft-объекта в Modifier Stack. Объект Shape появляется в Modifier Stack только после выбора формы в режиме Shape Sub-Object.
  3. Примените к форме модификатор.

Работа непосредственно с формами может привести в замешательство из-за отличий между локальными системами координат формы и loft-объекта. Большинство считает, что проще применять модификаторы к экземпляру loft-объекта где-нибудь еще на сцене, и это главная причина, по которой вместе с Get Shape используется опция Instance.

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

  1. Выберите экземпляр формы лофтинга, но не сам loft-объект.
  2. Примените модификатор к экземпляру.

Если опция Instance не используется с Get Shape, экземпляр формы лофтинга можно поместить обратно на сцену через кнопку Put в свитке Shape Commands.

Анимация форм

Можно создавать множество эффектов анимации за счет выполнения анимации с формами на пути для лофтинга. Анимация форм выполняется с пользованием следующих трех методов:

  • Анимация базовых параметров параметрической формы лофтинга.
  • Анимация модификаторов, примененных к форме лофтинга.
  • Использование модификаторов XForm с Edit Spline для выполнения анимации с отдельными вершинами форм лофтинга.

Отметим, что в эти методы входит работа со стеком модификаторов формы. Анимация экземпляров формы лофтинга является самым простым способом установки такого вида анимации.

Редактирование путей лофтинга

Путь лофтинга можно редактировать точно так же, как редактируются формы поперечного сечения. Редактируйте путь лофтинга, войдя в режим Path уровня Sub-Object на панели Modify (см. рис. 10.23). Для редактирования путей лофтинга выполните следующее:

  1. Выберите loft-объект.
  2. Выберите Loft в основании Modifier Stack панели Modify.
  3. Щелкните на кнопке Sub-Object и выберите Path уровня Sub-Object.

При входе в режим Path Sub-Object путь выбирается автоматически, поскольку каждый loft-объект имеет только один путь. После входа в режим Path Sub-Object доступно небольшое число опций. В свитке Path Commands имеется только одна кнопка для помещения пути на сцену и все кроме одной трансформации на линейке инструментов являются неактивными. Единственная доступная трансформация - это вращение вокруг локальной оси Z формы пути на уровне 0 пути.

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

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

Замкнутые пути

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

Замкнутые пути имеют следующие отличительные особенности:

  • Они не накрываются колпачками, поскольку у них нет начала и конца.
  • При сглаживании вдоль длины у них нет шва в том месте, где встречаются первая и последняя вершины.

Возвратные пути

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

На первый взгляд кажется, что этот loft-объект использует прямой путь. Только после анализа оболочки loft-объекта или манипуляции вершинами на пути, вскроется настоящий эффект. На самом деле то, что кажется простым прямым путем, является замкнутым путем с тремя вершинами, который раздваивается при возврате по нему. На рисунке 10.25 показана диаграмма объекта с возвратным путем, разделенным для показа места расположения формы. В таблице 10.1 описано, что случается с таким объектом.

Таблица 10.1 Анализ пути гнезда.
Уровень | Внутреннее описание
0.0% | Сплошной круг. Образует переднюю грань гнезда.
50.1% | Квадратное отверстие. Путь изменяет направление к уровню 0.0%. форма переходит от сплошного круга к квадратному отверстию.
5.0% | Сплошной круг. Образует внешнюю поверхность гнезда.
65.0% | Квадратное отверстие. Продолжает "просверливать" отверстие в гнезде.
45.0% | Сплошной круг. Продолжает внешнюю поверхность гнезда.
65.1% | Шестиугольное отверстие. Переходит в отверстие гнезда.
50.0% | Сплошной круг. Образует заднюю грань гнезда.
100% | Шестиугольное отверстие. Путь замыкается с уровнем 0.0%. Форма переходит от шестиугольного отверстия в сплошной круг.

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

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

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

Анимация путей лофтинга

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

  • Анимацию базовых параметров параметрической формы пути лофтинга.
  • Анимацию модификаторов, примененных к форме пути лофтинга.
  • Использование модификаторов XForm вместе с Edit Spline для анимации отдельных вершин формы пути лофтинга.

Отметим, что все три метода включают в себя работу со стеком модификаторов формы. Анимация экземпляров формы пути лофтинга является простейшим способом установки подобного вида анимации.

Использование кривых деформации лофтинга

За счет манипуляции путем или размещения вдоль пути различных форм можно выполнить только немногое. Достаточно важным инструментом создания Ion-объектов являются деформации. Настоящий раздел книги посвящен первым четырем деформациям - масштабированию (Scale), скручиванию (Twist), колебанию (Teeter) и фаске (Bevel). Последняя опция деформации Fit (подгонка) рассматривается в отдельном разделе главы.

Перед переходом к конкретным командам деформации следует познакомиться с общими аспектами, которые используются всеми сетками деформации. На рисунке 10.26 показано типовое окно деформации. В общем случае вертикальные линии представляют собой уровни на пути (сплошные линии для уровней, содержащих формы, и пунктирные уровни для уровней вершин путей и других уровней). Горизонтальные линии определяют значения сетки деформации. Кривая является кривой управления деформацией. Окно деформации может отображать до двух кривых, красную для деформации по оси Х и зеленую - по оси Y.

Ниже приведен список, который необходимо помнить при работе с сетками деформации:

  • Фиксация работает со значениями вертикальных сеток. При фиксации интервала, установленного в 10 единиц, и включенной Snap вы ограничены инкрементами в 10% по сеткам Scale и инкрементами в 10° по сеткам Twist и Teeter. Snap не оказывает влияния на горизонтальное положение пути в графике.
  • Всегда проверяйте установку кнопки Make Symmetrical (сделать симметричным). Кнопка Make на линейке инструментов окна деформации Symmetrical используется Scale и Teeter. Всегда принимайте решение о том, нужны ли вам настройки, чтобы сделать все независимым или симметричным по отношению к осям Х и Y, и анализируйте состояние кнопки Make Symmetrical перед тем, как производить эти настройки.
  • Помните, что кривая деформации не является путем. Легко предположить, что кривая деформации - то же самое, что и путь. Форма и интервал точки управления на кривой деформации полностью независимы от пути. Хотя форма кривой деформации управляет формой loft-объекта, он необязательно выглядит как окончательный loft-объект.
  • Количество Path Steps и установка флажка Adaptive Path Steps определяют как близко отслеживается сетка деформации. Значение кривой деформации применяется на каждом шаге и уровне пути. Если Adaptive Path Steps отмечен, для каждой точки управления в кривой деформации вставляются новые уровни.

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

  1. Выберите точку управления на сетке деформации.
  2. Включите кнопку Animate.
  3. Переместите ползунок времени на новый кадр.
  4. Переместите точку управления или введите новые значения процентов пути и величины деформации в поля в нижней части окна деформации.

Использование масштабной деформации

Используйте окно Scale Deformation (масштабная деформация) для изменения масштаба по оси Х и Y формы. Базовая точка масштабирования всегда находится на пути. Мощной опцией моделирования является деформация масштаба на формах, которые не центрированы по отношению к пути. На рисунке 10.27 показана приборная ручка, из которой создан loft-объект посредством масштабирования формы с ребром, выровненным с путем.

Использование деформации скручиванием

Сетка деформации Twist управляет вращением формы вокруг пути. Аналогичные эффекты можно создать за счет размещения на пути множества форм на пути и вращения их на уровне Shape Sub-Object, но большинство предпочитает применять сетку деформации Twist.

Использование деформации колебанием

Колебания (Teeter) позволяет вращать форму вокруг осей Х и Y перпендикулярно к пути. Колебания со смещением формы от пути часто используются для генерации объектов, которые трудно получить с помощью других способов. На рисунке 10.28 показана дуга, созданная при помощи лофтинга по оси Х Teeter.

Использование деформации фаской

Использование деформации фаской (Bevel) подобно производственной операции снятия фаски. Вы используете кривую деформации для указания точных единиц среза назад или для того, чтобы вытолкнуть форму из ее первоначального размера. Фаски лучше всего работают с большими блочными формами. На тонких формах или формах с острыми точками фаски выполнять трудно. Для таких форм следует использовать модификатор Bevel или другие методы моделирования.

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

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

Создание посредством деформации подгонкой

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

Эта деформация основана на задании трех форм, служащих профилями трехмерного объекта. 3DS МАХ ссылается на эти формы как Fit X, Fit Y и Loft Shape. Fit X и Fit Y представляют собой виды объекта сверху и сбоку и фактически служат пределами масштабирования для Loft Shape. Loft Shape можно считать видом спереди или видом поперечного сечения объекта, и именно эта форма передается вдоль пути.

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

СОВЕТ

Деформация Fit выравнивает локальную ось Х формы для подгонки с длиной пути. Наиболее предсказуемые результаты создаются, если рисовать формы для подгонки на виде сверху, когда ось Х выровнена с длиной формы.

Установка деформации Fit в 3D Lofter требует создания loft-объекта и выбора форм подгонки в окне деформации Fit. При этом необходимо выполнить следующие шаги:

  1. Создайте формы подгонки, форму вида спереди или форму поперечного сечения, а также форму пути.
  2. Выберите форму пути и щелкните на Loft в панели Create.
  3. Щелкните на Get Shape и выберите форму поперечного сечения.
  4. Перейдите к панели Modify, расширьте свиток Deformations и щелкните на кнопке Fit.
  5. Проверьте состояние кнопки Make Symmetrical. Чаще всего приходится отделять формы подгонки для вида на объект сверху и сбоку, поэтому Make Symmetrical следует выключить.
  6. В окне Fit Deformation щелкните на Display X Axis (отобразить ось X), щелкните на Get Shape и выберите форму вида сверху для импорта в окно Fit Deformation как форму Fit X.
  7. Щелкните на Display Y Axis (отобразить ось Y), щелкните на Get Shape и выберите форму вида сбоку для импорта в окно Fit Deformation как форму Fit Y.
  8. Щелкните на Generate Path (генерировать путь), чтобы 3DS МАХ обработал формы для подгонки и сгенерировал путь лофтинга объекта.

На рисунке 10.31 показана установка Fit Deformation и loft-объект, созданный из форм рисунка 10.30. За счет использования приведенных ниже правил ваши шансы успешного выполнения деформации Fit увеличатся:

  • Форма вида сверху (Fit X) и форма вида сбоку (Fit Y) должны иметь одинаковую длину. Это требование не является точным, но при разной длине обеих форм 3DS МАХ будет масштабировать первую импортируемую форму для согласования с длиной второй формы.
  • Для каждой вершины на пути форм видов сбоку (FitY) и сверху (FitX) помещается уровень. Сложность окончательного объекта можно значительно упростить, выстроив в ряд вершины в двух формах.
  • На путь можно помещать множество форм вида спереди или форм поперечного сечения. Если поперечное сечение объекта изменяется вдоль пути, импортируйте на этом уровне другую форму. Многие упускают такую возможность. Применение данного метода показано на примере лодки позже в этой главе.
  • После щелчка на Generate Path путь можно редактировать. Фактически кнопку Generate Path можно игнорировать полностью и использовать формы подгонки на любом пути, созданном вручную.

В "Руководстве пользователя 3D Studio MAX" приведены четыре основных ограничения для форм Fit X и Fit Y:

  • Формы подгонки должны быть одиночным сплайном. Контуры или вложенные формы не допускаются.
  • Форма подгонки Должна быть замкнутой.
  • Искривленные сегменты не должны расширяться за пределы первой или последней вершины формы на оси X.
  • Формы подгонки не должны содержать подрезании. Простым способом проверки подрезании является представление линии, выровненной с локальной осью формы Y, проходящей через формы. Если можно поместить линию так, что она разрезает форму более, чем в двух местах, значит имеет место подрезание. На рисунке 10.32 показаны подрезания, выявленные с помощью такого метода.

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

Следующий пример демонстрирует, как использовать деформацию Fit для создания loft-объекта корпуса лодки. Важное изменение заключается в использовании множества форм на пути, что позволяет вырезать место для сидения.

Лофтинг гребной лодки, полученный с помощью деформации Fit

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

  1. Нарисуйте формы вида сверху и вида сбоку для корпуса лодки; определите длину обеих форм равной 240 единицам.
  2. Нарисуйте для лодки две формы поперечного сечения. Одна из форм является сплошной, а другая полой. Помните о том, что расположение первой вершины имеет важное значение при использовании на пути множества форм. Первой вершиной для форм поперечного сечения является киль. И, как вы помните из предьщущего раздела "Согласование вершин", количество вершин у двух форм согласовывать не нужно, однако, согласованные вершины обеспечивают ' большее управление поверхностью лофтинга. Для примера лодки добавление дополнительных вершин на верхушке простой сплошной формы для согласования с вершинами полой формы создает более чистую поверхность.
  3. Нарисуйте прямую горизонтальную линию, которая будет использоваться в качестве пути. Для упрощения рисования пути можно включить Snap. Формы и расположение их первых вершин показаны на рисунке 10.33. Затем создайте loft-объект и выберите формы для подгонки.
  4. Выберите форму для пути и щелкните на Loft в панели Create.
  5. Щелкните на Get Shape и выберите сплошную форму поперечного сечения. Теперь имеется основной loft-объект. Может потребоваться выбрать Smooth с затенением Highligts в виде Perspective так, чтобы по мере перехода к оставшейся части упражнения можно было видеть оболочку лофтинга.
  6. Перейдите к панели Modify и щелкните на Fit в свитке Deformations.
  7. В окне Fit Deformation выполните следующее: выключите Make Symmetrical, щелкните на Display X Axis, щелкните на Get Shape и щелкните на форме вида сверху (Fit X) для лодки.
  8. Щелкните на Display Y Axis, щелкните на Get Shape и щелкните на виде сбоку для лодки.
  9. Щелкните на Generate Path и закройте окно Fit Deformation. Шаг 9 не нужен, если рисуется путь длиной в 240 единиц (для согласования форм подгонки), но это удобный способ, чтобы путь имел длину такую же, как у форм для подгонки.
    В следующий шаг входит размещение на пути дополнительных форм поперечного сечения. Размещайте сплошную форму возле носа и кормы лодки для создания шпангоутов. Затем разместите возле сплошных форм полые формы, чтобы создать место для сидения.
  10. В свитке Path Parameters установите Path Level в 15%.
  11. Щелкните на Get Shape и щелкните на сплошной форме поперечного сечения.
  12. Установите уровень пути в 15.01% и получите полую форму поперечного сечения. Поместите полую форму настолько близко к сплошной форме, чтобы создавалось впечатление, что оболочка лофтинга опускается прямо в полую форму.
  13. Для кормового шпангоута поместите полую форму поперечного сечения на путь с уровнем 90.0%, а сплошную форму - на путь с уровнем 90.01%.
  14. В свитке Surface Parameters снимите отметку Smooth Length.
    Быстрый переход от сплошной формы к полой вызывает ошибки визуализации при отмеченном Smooth Length. Для точной настройки гладкости поверхности модификатор Smooth можно применить позже.

Loft-объект должен выглядеть подобно объекту на рисунке 10.34. Если кажется, что форма выровнена неправильно на пути, войдите в режим Shape Sub-Object, выберите все формы и щелкните на Center в свитке Shape Commands.


ГЛАВА 11

Моделирование с помощью булевых операций

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

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

  • Основам булевых операций и способам увеличения их интерактивности
  • Работе со вложенными булевыми объектами
  • Использованию различных булевых операций для создания скульптур и моделирования
  • Соображениям, которые необходимо учитывать для успешного выполнения булевых операций

Основы булевых операций

Как и для многих терминов компьютерной графики, термин "булева" происходит от имени человека, который ввел это понятие (в данном случае это Джордж Буль). В математике термин "булева" появился для обозначения операции сравнения между множествами; в 3D Studio MAX подобное сравнение выполняется между геометрическими объектами. Хотя булева операция выглядит во многом похожей на модификатор, она находится на панели Create, а не на панели Modify, поскольку выполняется определение нового объекта из двух существующих (аналогично созданию loft- или morph-объектов). Булева операция в 3D Studio MAX выполняется путем создания булевого составного объекта из двух существующих объектов, которые называются операндами, при этом выполняются следующие шаги:

  1. Выберите начальный объект для булевой операции.
  2. Выберите Compound Objects (составные объекты) из списка выборки Geometry в панели Modify и затем щелкните на кнопке Boolean.
    Выбранный объект становится операндом А для составного булевого объекта. Теперь можно выбрать операнд В.
  3. Выберите требуемый тип операции (Operation:).
  4. Щелкните на Pick Operand В (выбрать операнд В) и затем выберите второй объект.
    Объекты сравниваются для определения их действительности (с точки зрения выполнения булевой операции) и, если они действительны, булева операция выполняется.
    Теперь можно изменить тип операции и увидеть различные булевы результаты.

Типы операции подобны многим традиционным методам. Объединение соединяет объекты подобно работе с глиной; при вычитании один объект вырезается из другого, как в скульптуре; пересечение оставляет то, что должно было бы быть вырезано или выбито из вычитания. Объединение и вычитание всегда возвращают одинаковый результат независимо от порядка выбора операндов. Предусмотрены две опции (А-В и В-А), поэтому при неправильном начальном выборе можно быстро переключиться. Результаты этих основных операций показаны на рисунке 11.1.

ПРЕДУПРЕЖДЕНИЕ

Можно щелкнуть на кнопке Pick Operand В и выбрать другой Operand В произвольное количество раз. При выборе нового операнда В первоначальный операнд со сцены удаляется. При выборе в качестве операнда В неправильного объекта щелкните на кнопке Undo перед выбором другого операнда В.

Булевы выражения в качестве составных объектов

Чрезвычайная гибкость булевых операций в 3DS МАХ состоит в том, что объекты, содержащие булевы операнды, по-прежнему существуют как объекты. Каждый операнд сохраняет свой первоначальный стек Edit History (отредактировать историю) и его можно модифицировать из панели Command. Операнды можно даже трансформировать на уровне подобъекта. На рисунке 11.2 показан результат в Track View после создания булевого объекта.

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

ПРИМЕЧАНИЕ

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

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

СОВЕТ

Чтобы создать экземпляр из объекта, который уже является операндом, войдите в Track View. Скопируйте определение объекта операнда (указано синим кружком) в буфер обмена и вставьте его в определение другого объекта в виде экземпляра. Этот метод можно также использовать в обратном порядке, полностью переопределяя геометрию операндов, например путем изменения всех квадратных отверстий на круглые.

После создания булевого объекта можно заменить операнд В из панели Modify булевого объекта с теми же самыми выборами, предоставленными при создании. Используйте эту опцию осторожно, поскольку она уничтожает со сцены первоначально выбранный операнд В. Уничтожение оригинала может создать проблему при первоначальном использовании опции Move и представлении геометрии, которая уже не существует в виде отдельного объекта. Выбор другого операнда - это то же самое, что и замена определения объекта операнда в Track View, за исключением случая, когда необходимо сделать ссылку, которая не присутствует в Track View.

После создания булевого объекта можно вернуться к каждому Modifier Stack операнда на панели Modify (см. рис. 11.3). При первом входе в панель 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. Результаты выполнения трех последовательных булевых операций показаны на рисунке 11.4. Коробка вычитает сферу, затем цилиндр и, в конце концов, конус.

СОВЕТ

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

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

При навигации по булевому дереву в Track View необходимо помнить, что в нем отражаются только объекты с параметрами, с которыми можно выполнить анимацию. Если булев объект создан из необработанного каркаса или лоскута, показываются только трансформации операнда, поскольку у него нет параметров создания, которые нужно настраивать. Когда для этого же объекта задается модификатор, для модифицированного объекта создается новый вход. То, что у операнда такая же метка, что и у Transform (с голубым кружком модификатора вместо зеленого треугольника контроллера) может привести к замешательству. При глубоком погружении в дерево, изображенное ранее на рисунке 11.4, следите за голубыми кружками Operand. Только самый глубокий операнд А содержит определение объекта; определения всех других объектов находятся внутри предыдущих операндов В.

СОВЕТ

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

Булевы характеристики

При создании булевого объекта сохраняются сглаживающие группы и идентификаторы материалов отдельных объектов. К сожалению, проецирование (mapping) полностью удаляется и его необходимо применить после получения окончательного булевого результата. В случае, если объекту присвоено проецирование через модификаторы UVW, его можно восстановить. Если создается копия, но не экземпляр, первоначального объекта или модификатора, присвойте новый UVW Mapping после выполнения булевой операции, и для восстановления проецирования используйте функцию Acquire (приобрести) модификатора. Отметим, что эта операция не работает для процедурных присвоении проецирования.

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

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

Иногда булев результат содержит дефекты в виде петель и искажений. Эти дефекты часто вызваны тем, что аналогичные сглаживающие группы действуют друг на друга методами, которые не должны применяться, или вершины объединяются так, что сглаживание произойти не может. Если такого рода дефекты видны, примените модификатор Edit Mesh, выберите все вершины и выполните Weld Selected (объединить выбранные). Если дефекты не исчезают, необходимо проанализировать присвоения сглаживающих групп (перед булевой операцией или после нее).

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

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

Соображения по улучшению булевых операций

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

  • Нормали для всей поверхности должны быть унифицированы без всяких ложных граней, указывающих в неправильном направлении. Нормали граней используются в определении направления поверхности и результирующего булевого объекта.
  • Каркас должен быть построен правильно; это означает, что грани, совместно использующие ребро, должны совместно использовать две вершины, а ребро может совместно использоваться только двумя гранями. (Внутренние основные грани вершин объекта вращения для последнего правила являются типичным кошмаром.)
  • Обеспечивайте объединение всех вершин. Может потребоваться объединение всех вершин вручную с помощью Edit Mesh даже для последовательных булевых операций.
  • Копланарные грани, в особенности те, которые находятся внутри одного и того же объекта, причиняют беспокойство и их следует избегать. Одним из наихудших случаев являются копланарные грани, расположенные тыльными сторонами друг к другу (они легко создаются путем построения примитива с нулевой высотой).
  • Булевы операции надежно работают только с одиночными элементами. Если любой из операндов состоит из множества элементов (например, Teapot или Hedra), в каждый момент времени может успешно работать только один элемент.
  • Если операция не удается, выключите опцию Optimize Result (оптимизировать результат) в нижней части свитка так, чтобы последний проход, контролирующий компланарные грани, не вычислялся. Включенная опция Optimize Result часто может быть причиной получения некорректных результатов.
  • Если операция по-прежнему не удается или создает расщепленные грани, попытайтесь выполнить небольшую настройку операндов.
  • Изменяйте уровень детализации операнда, в особенности возле области, которая является локальной для действующей булевой операции.

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

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

Вырезание при помощи булевого вычитания

Булевы операции вычитания - это наиболее используемые типы операции и поэтому являются операциями по умолчанию. Операции вычитания можно рассматривать как операции "откусить кусок от", "создать скульптуру", "вырезать", "удалить из", "просверлить", "отштамповать" - выбирайте аналогию с наибольшим смыслом.

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

ПРИМЕЧАНИЕ

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

Создание посредством булевого пересечения углублений в новых объектах

Булево пересечение создает объект, который иначе следовало бы "вырезать" при помощи операции булевого вычитания. Результат иногда трудно визуализировать, но он может создать геометрию, которую иначе трудно промоделировать (см. рис. 11.6). Здесь второй операнд действует в качестве разреза в шести направлениях.

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

Моделирование при помощи булевого объединения

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

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

Булево объединение также применяется для создания двух элементов, которые можно отделить от других при помощи функции Detach в Edit Mesh. Если операция булевого объединения используется для редактирования объектов там, где геометрия перекрывается однократно, каркас не образуется. Когда результирующие объекты разделяются, в каркасе появляется отверстие в месте соединения объектов. Для эффективного использования этого метода лучше всего присвоить каждому операнду уникальный идентификационный номер материала (Material ID#) так, чтобы можно было легко выбирать грани по Material ID# из Edit Mesh при выполнении отсоединения.


ГЛАВА 12

Моделирование подобъектов

Хотя многие объекты можно смоделировать из примитивов или лофт-объектов, их можно создать гораздо больше, манипулируя основной геометрией вершин, граней, ребер и лоскутов. При этом компьютерное моделирование становится подобным творчеству скульптора. Людей, занимающимися моделированием и являющихся знатоками таких методов, часто называют скульпторами вершин. В 3D Studio MAX эта область называется моделированием подобъектов.

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

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

  • Использование модификаторов выборки
  • Выбор уровней внутри модификаторов редактирования
  • Определение выборок подобъектов для других модификаторов
  • Основные понятия моделирования подобъектов
  • Общие термины и понятия каркасного редактирования

ПРИМЕЧАНИЕ

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

Редактирование на уровне подобъекта

Моделирование подобъекта происходит всякий раз при манипуляции дискретными сущностями или областями в рамках объекта. Для моделирования на уровне вершины, грани, ребра, сплайна, сегмента или лоскута необходимо добавить модификатор, предоставляющий доступ к необходимому уровню подобъекта. Подсущности объекта и модификатор, используемый для редактирования этих подсущностей изменяются в зависимости от геометрии объекта (см. рис. 12.1):

  • Формы Bezier Spline (сплайн Безье) содержат вершины (с касательными ручками), сегменты и сплайны и редактируются посредством модификатора EditSpline
  • Loft-объекты содержат формы и пути (сделанные из сплайнов Безье), которые редактируются в рамках определения loft-объекта
  • Каркасные объекты содержат вершины, грани, ребра и элементы и редактируются при помощи модификатора EditMesh
  • Объекты Bezier Patch (лоскут Безье) содержат вершины (с касательными ручками) и решетки с ребрами и лоскутами и редактируются через модификатор EditPatch
  • Составные булевы объекты содержат операнды, составленные из других объектов, которые в свою очередь редактируются в рамках определения булевого объекта.

При работе с большинством программ моделирования редактирование дискретных секций модели практически всегда является постоянным решением. Таким был метод в 3DS для DOS - каждый раз при редактировании вершин и граней в модели делались явные изменения, которые было нелегко отменить. Этот метод очень похож на создание скульптуры из каменного блока. Решения следует планировать тщательно, а резцом бить уверенно, чтобы на скульптуре не было выемок или чтобы случайно не потерялся нос. Но в 3D Studio MAX подобного постоянства нет, если оно не требуется. Моделирование с объектом EditableMesh является явным, в то время как редактирование в рамках EditMesh и посредством модификаторов выборки является обратимым.

Использование модификаторов выборки

Может оказаться, проще думать, что в 3D Studio MAX существует только два типа модификаторов -определяющие выборки и действующие на них. В этой книге рассматриваются модификаторы выборки и модификатора, моделирования. Понимание основного отличия между ними позволит хорошо спланировать последовательность Edit Modifier Stack.

В настоящее время только несколько модификаторов 3DS МАХ определяют выборки и они называются модификаторами выборки. К ним относятся модификаторы Edit (EditMesh, EditSpline, EditPatch) и Volume Select. Эти модификаторы позволяют выбирать конкретные части модели для передачи их с целью манипуляции посредством остальных модификаторов. Исключение представляет новый объект EditableMesh, позволяющий определять выборку подобъектов без добавления модификатора. Для целей обсуждения EditableMesh будет считаться модификатором выборки, хотя он представляет собой класс объектов.

Есть уверенность в том, что разработчики будут добавлять другие модификаторы выборки ввиду их полезности. После введения эти модификаторы выборки, по всей вероятности, будут следовать тем же правилам, что и Volume Select и EditMesh.

Активная выборка стека

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

ПРИМЕЧАНИЕ

Выборки подобъектов активны только в том случае, если кнопка Sub-Object модификатора Edit нажата и имеет желтый цвет (последний всегда предупреждает о том, что включен режим Sub-Object). В отличие от этого, модификаторы VolSelect активны всегда, поскольку их режим Sub-Object служит для манипуляции гизмо, а не уровней выборки.

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

Модификаторы "Edit'

Невинные по внешнему виду простые кнопки с предшествующим словом "Edit" на панели Modifier обладают наибольшей силой. Каждый из трех модификаторов (EditMesh, EditSpline и EditPatch) выполняет в 3D Studio MAX две роли: они разрешают подобъектам редактировать соответствующую им геометрию и определяют выборки подобъектов для будущих воздействий на них модификаторов стека. Это следующие кнопки:

ПРИМЕЧАНИЕ

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

Для ветеранов 3D Studio единственный модификатор EditMesh является эквивалентом того, что было целым модулем 3D Editor, а модификатор EditSpline - эквивалентом целого модуля 2D Shaper. Все команды, использовавшиеся для охвата редактирования каркасов и редактирования сплайнов в 3DS для DOS, теперь погружены в эти два модификатора.

При работе с модификаторами Edit последние автоматически запрещают кнопку стека Show End Result (показать конечный результат), поскольку модификации на уровне Sub-Object должны выполняться в пространстве, определенном этим модификатором в данной точке истории. Результат можно анализировать посредством нажатия и удержания кнопки Show End Result, но видеть его во время моделирования нельзя. После отпускания кнопки она возвращается в выключенное состояние при возврате к редактированию в режиме Sub-Object.

Определение выборок с помощью Volume Select

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

ПРИМЕЧАНИЕ

Если Volume Select или модификатор Edit в качестве активной выборки определяют целый объект, последующие модификаторы выбирают свои центры в точке вращения объекта, а не в центре выборки.

СОВЕТ

При работе с выборкой подобъектов центр последующего модификатора можно расположить в центре вращения объекта за счет первоначального присвоения модификатора Volume Select, оставив его на уровне выборки объекта, и последующего присвоения модификатора. Теперь можно либо использовать модификатор Volume Select, либо удалить его и применить первоначальный модификатор Edit. Вновь добавленный модификатор будет согласовывать свое гизмо с новой выборкой, оставляя свой центр в точке вращения объекта.

Следует понимать, что модификаторы Volume Select не деформируются предшествующими в стеке моди-фикаторами. Хотя эту характеристику используют все гизмо модификаторов, она оказывает невероятное влияние в случае применения Volume Select. Скажем, например, что на верхушке цилиндра выполняется Volume Selection и затем на верхушке создаются конуса. Если затем перейти к основанию стека и изгибать весь цилиндр, гизмо Volume Select остаются неподвижными, а вершины изгибаются через объем выборки. Набор выборки для последующих конусов изменяется с увеличением изгиба. В этом случае следует добавить еще один модификатор Volume Select в конец стека для возврата выборки к целому объекту. Изгиб необходимо применить после обеспечения неизменности объема выборки при изгибе целого объекта. Эта характеристика не является уникальной для модификатора Volume Select - так фактически происходит со всеми гизмо модификаторов. Просто это влияние гораздо более заметно для модификатора выборки.

Механика модификаторов Edit

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

Каждый добавляемый к стеку модификатор Edit добавляет и накладные расходы, связанные с памятью, поэтому все редактирование является интерактивным и изменяемым. Таким образом применение дюжины модификаторов Edit к объекту увеличивает требования к ОЗУ этого объекта более чем в 12 раз, хотя во всей своей истории объект может иметь одинаковое количество граней и даже значительно меньшее в конце. Поэтому модификаторы Edit следует применять очень осторожно и, возможно, в течение ограниченного периода времени.

ПРИМЕЧАНИЕ

Накладные расходы, связанные с использованием EditMesh, стали причиной того, что в Выпуске 1.1 был введен объект EditableMesh и, вероятно, вскоре появятся объекты EditableSpline и EditablePatch.

Каждый модификатор Edit записывает действия, выполняемые внутри него, несколько по-другому. EditMesh записывает дельту для каждой вершины, на которую оказано воздействие, поэтому модифицированный объект может удвоиться по размеру "только" в том случае, если выполняется трансформация всех вершин. EditSpline и EditPatch совершенно отличаются в том, как они записывают каждую одиночную операцию редактирования и сохраняют их в порядке применения. Благодаря такому хранению записей важные соотношения кривой и касаний для сплайновой геометрии корректно настраиваются при воздействии на элементы, находящиеся в стеке ранее. Такое обширное хранение записей также оказывает влияние на накладные расходы по памяти. При использовании EditSpline необходимо часто разрушать стек для уменьшения объема занимаемого ОЗУ и уменьшения размера файла.

Внутри каждого модификатора Edit имеется "DeleteObject" (удалить объект), который записывается все разрушения, причиненные объекту. Поэтому можно перейти на более ранние стадии в стеке и обнаружить целую модель или удалить модификатор и при этом повторно появляются "удаленные" части. Чтобы сделать удаления внутри модификатора Edit постоянными, его следует разрушить. Подобная характеристика сохранения записи удаленной геометрии также позволяет отсоединять и разбивать части на новые объекты и затем восстанавливать первоначальный объект путем удаления модификатора Edit.

ПРИМЕЧАНИЕ

Неплохой практикой является разрушение части Edit стека после завершения с ней работы, чтобы сохранить ОЗУ и размер файла. Многие занимающиеся моделированием выполняют Save Selected (сохранить выбранное) на объекте для сохранения копии перед разрушением - просто для того, если потребуется вернуться к ранним состояниям модели.

Уровни выборки внутри модификаторов Edit

Каждый модификатор Edit имеет отдельные и различные уровни выборки подобъектов для своих категорий. Каждый уровень выборки действует в качестве отдельного набора выборки и не влияет на другие уровни выборки (за исключением скрытых граней и вершин). Обычно каждый из модификаторов Edit обеспечивает три уровня выборки:

  • EditMesh: вершины, грани и ребра
  • EditSpline: вершины, сегменты и сплайны
  • EditPatch: вершины, ребра и лоскуты

Поскольку модификатор Edit определяет активную выборку для данного момента времени, это оказывает огромное влияние на последующие модификаторы. Уровень выборки (например, вершина, грань или ребро для EditMesh) определяет содержимое и тип геометрии, которые "видит" следующий модификатор в стеке. Это может оказаться важным, поскольку некоторые модификаторы работают только на определенных типах геометрии. Например, модификатор Normal будет функционировать только на активной выборке граней, игнорируя выборки вершин и ребер.

Модификаторы Edit как наборы выборок

Модификатор Edit можно считать контейнером наборов выборок. Когда его уровень Sub-Object активен, определенная в данный момент выборка передается в качестве текущей для дальнейшего применения к ней модификаторов. Здесь может скрываться хитрость, поскольку текущее состояние выборки подобъектов может повлиять на будущие модификаторы. Изменение уровня EditMesh от вершины к грани, вероятно, резко изменит выборку и будущие результаты.

ПРИМЕЧАНИЕ

При помещении модификатора Edit в режим Sub-Object, и в случае, когда для текущего уровня выборки ничего не выбирается, будущие модификаторы в стеке результатов не отобразят, поскольку активная выборка пуста.

Модификаторы Edit используются для самостоятельного редактирования дискретных секций или определяют выборку, которая передается другим модификаторам в конвейере редактирования. Активная выборка остается активной до тех пор, пока в конвейер редактирования не добавляется другой модификатор выборки, например, модификатор Edit или Volume Select. До тех пор, пока при моделировании требуется использовать одну и ту же выборку, можно продолжать добавлять к ней модификаторы. Однако если необходимо изменить выборку, следует добавить другой модификатор выборки.

На практике самый безопасный (и самый благоразумный) способ заключается в использовании модификаторов Edit либо для редактирования модели, либо для определения выборки, но не для того и другого. Редактирование и определение выборки может привести в замешательство при изменении выборки для целей редактирования или работе на выборке последующих модификаторов. Если необходимо передать определенную выборку вверх по стеку в другой модификатор и в этом модификаторе также будет выполняться редактирование, следует немедленно присвоить другой модификатор Select. Если выборка определяется объемом, присвойте модификатор Volume Select, а модификатор Edit присваивайте только в случае, если выборка является нерегулярной или несоприкасающейся.

ПРИМЕЧАНИЕ

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

Поименованные наборы выборок подобъектов

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

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

ПРИМЕЧАНИЕ

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

Другими методами сохранения выборок подобъектов является номер ID материала, превышающий 1 (для объектов, которым не присвоен материал Multi/Sub-Object), и присвоения сглаживающих групп (для объектов, которые полностью сглажены любым способом). Хотя сглаживающие группы и ID материала не являются наборами выборок, они обеспечивают возможность хранения выборок на уровне грани, которые видны всем последующим модификаторам в стеке, и продолжают существовать после разрушения стека.

Определение выборок подобъектов для других модификаторов

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

  1. Используйте Modifier Limits (пределы модификатора) при необходимости оказания влияния на целый объект, но воздействуя только на его часть (например, изогнутая соломинка).
  2. Если необходимо изменить выборку подобъектов так, чтобы она стала целым объектом, добавьте перед модификатором моделирования модификатор Volume Select (на уровне объекта).
  3. Используйте Volume Select при модификации выборок, определяемых посредством одного или нескольких прямоугольных, цилиндрических или сферических объемов. Это позволяет изменять ранее определенную топологию, но не работает, если предыдущая геометрия изменяет размеры.
  4. Используйте выборки EditMesh при модификации нерегулярных или несоприкасающихся выборок. Это позволяет изменять ранее определенные размеры, но не работает при изменении предыдущей топологии.

Настройка модификаторов при помощи выборок подобъектов

Модификаторы обрабатывают выборки подобъектов тем же способом, которым они обрабатывают множества объектов - за счет размещения их центров гизмо в центре тяжести выборки.

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

Перемещение центра гизмо после применения модификатора к выборке под объектов - очень распространенный прием. Типовая процедура описана в последующем списке и показана на рисунке 12.4.

  1. Примените модификатор к выборке подобъектов.
  2. Увеличьте значение (значения) объема, чтобы увидеть эффект.
  3. Активизируйте режим Sub-Object модификатора и выберите Center.
  4. Выберите Move и ограничьте трансформацию соответствующей осью.
  5. Переместите центр гизмо в определенное положение. Например, для Bend или Taper этим положением часто является ребро выборки.
  6. Вернитесь к настройке и окончательно определите значения модификатора.

СОВЕТ

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

Использование выборок EditableMesh с другими модификаторами

При работе в рамках EditableMesh, вероятнее всего, принимаются постоянные решения о моделировании. Если это предпочтительный метод работы. Modifier Stack может выглядеть немного незнакомо. Для деформации только части объекта, например, посредством Bend или Taper, выбираются вершины, которые необходимо модифицировать внутри EditableMesh и модификатор применяется даже без выхода из режима Sub-Object. Модификатор воздействует на все, что является активной выборкой в конвейере и поскольку работа продолжается всегда в режиме Sub-Object, только что выбранные вершины теперь модифицируются. В отличие от других программ, например, 3DS для DOS, можно повторно вернуться к своей выборке, модифицировать ее и вернуться к модификатору. При выполнении явного моделирования общепринято применять следующую процедуру:

  1. Определите выборку подобъектов для вершин или граней (ребра фактически являются выборками вершин).
  2. Для воздействия на выборку добавьте к стеку модификатор и измените значение объема, чтобы эффект стал заметным.
  3. При необходимости, разместите соответствующим образом центр гизмо модификатора по отношению к выборке подобъектов.
  4. Настраивайте значения модификатора до получения удовлетворительных результатов.
  5. Возвратитесь к EditableMesh и настройте выборку, если это необходимо.
  6. После того, как выборка и модификатор становятся корректными, следует разрушить модификатор в стеке.
  7. Возвратитесь к EditableMesh для определения другой выборки (предыдущие выборки подобъектов по-прежнему хранятся) или примените другой модификатор.

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

Другим полезным методом при работе с EditableMesh является определение выборки и добавление Volume Select, экстенты которого автоматически охватывают выборку. Затем выборку можно очистить в EditableMesh и поместить между EditableMesh и Volume Select другие модификаторы. Последнее следует выполнять с некоторой предусмотрительностью, поскольку порядок в стеке переустановить нельзя, а выборки для их использования необходимо создавать в правильном порядке. Однако имеется возможность копирования трансформации и, таким образом, определенного объема выборки, модификаторов Volume Select между входами дорожек модификатора в Track View.

Расположение центров гизмо на выборках подобъектов

Для модификаторов, применяемых на уровне Sub-Object, местом расположения по умолчанию центров их гизмо является центр тяжести выборки. Однако подобное размещение может затруднить координацию нескольких модификаторов, поскольку при изменении выборки центры г^измо будут сдвигаться. Перекрытие места расположения по умолчанию - помещение центров гизмо в точку вращения вместо центра тяжести - облегчает координацию. Ниже приведены шаги, которые можно использовать для помещения центра гизмо модификатора в точку вращения вместо центра тяжести (рис. 12.5):

  1. Определите необходимую выборку подобъектов внутри модификатора Edit или с помощью модификатора Volume Select.
  2. Деактивизируйте режим Sub-Object модификатора Edit (кнопка Sub-Object больше не подсвечена желтым) или переключите модификатор Volume Select на уровень Object.
  3. Примените необходимый модификатор. Гизмо модификатора подгоняется к целому объекту, а центр гизмо расположен в точку вращения.
  4. Вернитесь к модификатору Edit, повторно войдите в режим Sub-Object и выберите подходящий уровень выборки для своей выборки. При использовании Volume Select переключитесь из уровня объекта на уровень вершины или грани.
  5. Вернитесь к модификатору, только что примененному в стеке. Гизмо модификатора подгоняется к активной выборке, но центр гизмо по-прежнему расположен в точке вращения.
  6. Продолжайте настраивать параметры модификатора.

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

ПРИМЕЧАНИЕ

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

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

СОВЕТ

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

Основы моделирования подобъектов

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

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

Общие понятия для модификаторов Edit

Модификаторы Edit имеют много общего, поскольку каждый из них манипулирует геометрией подобъек-та и работает в манере, которая обычно считается явной (при выполнении в других программах моделирования). По этой причине модификаторы Edit имеют множество одинаковых процедур. Сюда входит присоединение объектов для работы с ними, способ, при помощи которого точки вращения-центры работают с выборками различных типов, использование угловых порогов и принципы выполнения анимации с выборками подобъектов. Люди, занимающиеся моделированием, также используют ряд общих методов, увеличивающих удобство работы с модификаторами Edit, например, использование сеточных объектов, вспомогательные объекты точек и множество "горячих" клавиш. Если прочитать об этих общих методах, можно обнаружить, что EditMesh и EditableMesh имеют гораздо больше возможностей по сравнению с EditSpline и EditPatch.

Присоединение на уровне объекта

Модификаторы Edit имеют одну функцию, которая не работает с выборками подобъектов: Attach (присоединить) (см. рис. 12.6). Эта функция соединяет два объекта, в результате чего один становится активным, а другой - присоединенным или элементом активного объекта. Эта операция соединения объектов используется в действиях, которые "сшивают" геометрию подобъектов, что чаще всего необходимо для объединения вершин различных объектов.

ПРИМЕЧАНИЕ

Единственный метод присоединения нескольких объектов к другому за один шаг заключается в использовании функции Attach Multiple из EditableMesh.

ПРИМЕЧАНИЕ

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

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

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

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

Странная ситуация возникает, когда присоединяемые объекты имеют ID материалов, которые не ссылаются на мультиматериал. Например рамки для удобства создаются с шестью различными ID материала (по одному для каждой стороны). При присоединении рамки к другим объектам различные ID внезапно приобретают значение и различные стороны рамки имеют различные материалы. Во избежании подобной ситуации присваивайте целому объекту Box один материал (посредством Material или EditMesh).

Усредненные точки вращения-центры для соприкасающихся выборок

К соприкасающимся выборкам относится несколько функций. Говорят, что выборка является соприкасающейся столько времени, сколько она содержит прилегающие грани или ребра, совместно использующие вершины. Прилегающие грани, принадлежащие отдельным элементам, не считаются соприкасающимися. Несоприкасающаяся выборка образуется при выборе отдельных несмежных областей каркаса или при выборе частей различных элементов. Во всех случаях когда выборка содержит прилегающие грани, ключом к тому, чтобы увидеть какая точка и ось активны в конкретный момент времени, является тренога осей. Трансформации перемещения, вращения и масштабирования очевидно подчиняются ориентации и расположению этих индивидуальных пиктограмм. Функции, используемые EditMesh, и наиболее очевидная среди них Extrude, опираются на эти пиктограммы для направления своего результата.

ПРИМЕЧАНИЕ

EditMesh и EditableMesh вычисляют центры вращения совершенно по-разному, при этом EditMesh обладает большей гибкостью. В таком контексте модификаторы EditSpline и EditPatch аналогичны EditableMesh.

При использовании EditMesh отдельным выборкам граней задаются собственные центры вращения в центре каждой грани. Ориентация центра зависит от текущей системы координат. Если система координат отлична от локальной, ориентация пиктограмм согласовывается с этой системой координат. Как показано на рисунке 12.7, если Pivot Point Center активна, оси отображаются для каждой выборки, в противном случае создается усредненная ось. Если используется локальная система координат, оси отображаются для каждой выборки независимо от выбора текущего центра трансформации. Ориентация пиктограммы Х всегда находится в мировой плоскости XY, ориентация Z совпадает с нормалью грани, a Y перпендикулярна осям Х и Z.

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

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

Предыдущее обсуждение опций центра трансформации относилось к EditMesh. Важно отметить, что EditableMesh, EditSpline и EditPatch значительно отходят от этих весьма гибких опций, которые бьыи только что описаны для EditMesh. Для EditableMesh причиной такого отличия от EditMesh было увеличение интерактивной скорости при моделировании подобъектов. Если необходима только что описанная гибкость трансформации, используйте EditMesh. Если требуется скорость, используйте EditableMesh. В настоящее время эквивалентные опции для EditSpline и EditPatch отсутствуют. Правила для способа расположения центров трансформации оставшихся модификаторов Edit, гораздо проще:

  • Если выбор центра трансформации (на линейке инструментов) устанавливается в Pivot Point Center, генерируется только одна тренога осей, которая устанавливается в центре набора выборок вершина/ грань/ребро. Теперь опция Pivot Point Center идентична опции Selection Center (центр выборки).
  • При использовании локальной системы координат тренога осей по-прежнему расположена в центре набора выборок, однако ее ориентация зависит от уровня выборки. Ориентация оси является усреднением векторов нормалей выборки.

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

Использование точек и сеток вместо точек вращения

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

СОВЕТ

Трансформацию вокруг точки вращения объекта можно выполнять посредством выбора объекта в качестве системы координат Pick и использования Coordinate System Center.

В режиме Sub-Object опция Pivot Point Center менеджера трансформации игнорирует точку вращения объекта и использует вместо нее центр выборки. Поэтому определены две опции - центр выборки и центр системы координат. Таким образом опция Pick менеджера трансформации становится очень важной, поскольку обеспечивает возможность использования в качестве центральной точки любого объекта. Для управления точкой манипуляции выберите объект, который не собираетесь использовать в качестве системы координат Pick, и поместите его туда, где требуется выполнять вращение и масштабирование (см. рис. 12.10).

СОВЕТ

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

Вспомогательные объекты Point, используемые в качестве центра координат, очень похожи на практику 3DS для DOS помещать Global Axis (глобальная ось) в 3D Editor. Вспомогательные объекты Point обеспечивают дополнительные преимущества множества точек, связывания, выравнивания и анимации. Для точного размещения вспомогательный объект Point можно помещать посредством 2.5D-(|mKcauHH вершин или функции Align. Для настоящей SD-^WKCBUHH вершин следует зафиксировать Point на необходимой вершине в двух перпендикулярных видовых окнах.

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

СОВЕТ

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

Сетки представляют собой другой ценный инструмент моделирования подобъектов, поскольку подобно вспомогательному объекту Point, их точку вращения можно использовать в качестве центра координат трансформации. Кроме этого объекты Grid (сетка) обеспечивают настраиваемую сетку фиксации для создания вершин. Незаметной, но ценной характеристикой является Grid Nudging (подталкивание сетки) - возможность, присвоенная (по умолчанию) клавишам "+" и "-". Если сетка активна, нажатие на эти клавиши подталкивает сетку вдоль оси Z на заданное расстояние. По умолчанию расстояние перемещения составляет одну системную единицу, хотя можно установить любое значение через Grid Nudge, который расположен в закладке Preferences Viewports (глобальные параметры видовых окон).

Угловые пороги

Некоторые функции внутри EditMesh и EditableMesh основывают свою работу на углах, образованных между прилегающими гранями. Функции AutoEdge, AutoSmooth и Explode используют то, что называется значением углового порога, что относится к углу, образованному между гранями. Каждая пара граней, совместно использующих ребро, анализируется для определения угла между ними. Это делается путем сравнения смежного угла, образованного между нормалями граней. Хотя оговоримся, это может оказаться несколько трудным для визуализации. Вместо этого угол можно определить с помощью визуальной проекции одной стороны грани и фиксации смежного угла, образованного с другой гранью. Оба метода демонстрируются на рисунке 12.11.

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

Анимация трансформаций подобъектов

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

ПРИМЕЧАНИЕ

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

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

Модификаторы, отличающиеся от XForm, например, Bend или MeshSmooth, будут действовать так, как они действуют на целый объект, за исключением ограничения своего эффекта на то, что было только что выбрано (как показано ранее в этой главе). Анимация с параметрами модификаторов будет выполнять анимацию с дискретной активной выборкой. Если выборка изменяется, то же самое происходит с результатом анимации модификатора. Хотя с выборкой модификатора Edit анимацию выполнить нельзя, можно использовать модификатор Volume Select и выполнять анимацию с тем, что определяет выборку по ее размеру и размещению.

Полезные "горячие" клавиши

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

  • Select All (выбрать все), Select None (не выбирать ничего), Select Invert (инвертировать выбор) и Select Lock (выбрать заблокированное) Поскольку манипулирование выборками является ключом к моделированию подобъектов, для увеличения эффективности текущей выборки, последнюю необходимо быстро преобразовать.
  • Backface Cull (отбор задней грани), Edges Only (только ребра). Hide Unselected (скрыть невыбранное), Unhide All (открыть все), Unhide By Name (открыть по имени) Наличие для этих команд панели Display клавиатурных комбинаций позволяет работать внутри модификатора Edit без выхода из него, без потери своего места в стеке и времени.
  • Move (перемещение), Rotate (вращение). Scale (масштабирование), Cycle Through Scale Modes (цикл по режимам масштабирования), Center Point Cycle (цикл по центральным точкам), Constraint Direction Cycle (ограничение цикла по направлению) и Constraint Plane Cycle (ограничение цикла по плоскости) В модификаторах Edit работа практически всегда происходит с трансформациями и часто необходимо переключать тип системы координат, центральную точку и ограничение по оси. Имея для этого "горячие" клавиши, вы гораздо реже будете посещать линейку инструментов.
  • Select (выбрать). Cycle Selection Method (цикл по методам выборки). Snap (фиксация). Angle Snap (угловая фиксация), Absolute/Relative Snap (абсолютная/угловая фиксация) и Window Crossing (пересечение окон) Эти опции методов выборки позволяют изменять методы выборки без перемещения мыши. Можно сконцентрироваться на самой выборке и не потерять своего места при щелчках на кнопках опций.
  • Cycle Sub-Object Level (цикл по уровням подобъекта) и Sub-Object Selection Toggle (переключение выборок подобъектов) Выполнение циклов между различными уровнями выборок (например, грани, вершины и ребра) является общепринятым и наличие для этого "горячих" клавиш существенно ускоряет навигацию.

Общие термины и понятия для каркасов

Сложность моделей, которые можно создавать в 3D Studio MAX, потрясает и может далее несколько обескуражить. Однако если пристально посмотреть на даже самые сложные модели, можно заметить, что они построены из простых дискретных частей, которые связаны вместе. В действительности 3D Studio MAX использует только несколько основных геометрических типов для определения множества создаваемых миров (см. рис. 12.12). При создании выборок EditMesh, EditableMesh и Volume Select используют одну и ту же геометрическую терминологию.

Редактирование каркасов основано на возможностях, содержащихся внутри модификатора EditMesh. За несколькими исключениями те же возможности имеются в определении объекта EditableMesh. Выбор того, что и когда следует использовать, обсуждается ниже.

В общем смысле каркас относится к каркасному объекту или к совокупности его граней. Термин "каркас" используется при обобщенной ссылке на геометрию и не является конкретным типом сущности. Каркасы состоят из треугольных граней, которые, в свою очередь, определяют плоские, искривленные или изогнутые поверхности. (Каркас является эквивалентом PFace или многогранного каркаса в AutoCad.)

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

Грани являются треугольными поверхностями, образованными за счет соединения трех вершин. Поскольку каждая грань имеет только три точки, она задает геометрическую плоскость, которая по определению является плоской. Каждая грань определяет нормаль-направление, перпендикулярное поверхности грани и указывающее от видимой стороны грани. Грани являются как бы "оболочкой" модели, придают ей форму и разрешают иметь материалы и отражать свет. При сборке граней последние определяют поверхности и идентифицируемые формы. (Грань эквивалентна 3DFace в AutoCAD, которая имеет всего три стороны. Обычная четырехсторонняя 3DFace эквивалентна двум граням в 3D Studio.)

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

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

Элементы являются термином 3D Studio MAX для дискретного каркаса. Когда прилегающие грани построены на одинаковых вершинах, говорят, что они объединены вместе. О вершинах, использующих несколько граней, говорят, что это совместно используемые или объединенные вершины. Элемент распространяется до тех пор, пока каркас имеет объединенные грани. Часто элементы внутри одного и того же объекта кажутся непрерывными, но на самом деле они используют дублирующий набор вершин вдоль общих ребер. Такие вершины называются совпадающими вершинами, которые используются, когда в каркасе необходим отчетливый разрыв, но каркас по-прежнему должен выглядеть непрерывным. Элемент может быть очень большим или настолько маленьким, как одиночная изолированная грань. Один объект может содержать любое количество элементов. Несмотря на то, что элементы являются отдельными каркасами, с ними нельзя выполнить анимацию без модификатора.

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

Следовательно, внутри 3D Studio MAX существует геометрическая иерархия. Ниже эта иерархия приведена в порядке от младшего к старшему:

  1. Вершина (может быть изолированной)
  2. Грань (построена на трех вершинах)
  3. Ребро (результат создания граней и соединяет две вершины)
  4. Многоугольник (содержит копланарные объединенные грани)
  5. Элемент (содержит непрерывно объединенные грани)
  6. Объект (содержит элементы с непрерывными гранями и, возможно, изолированные вершины)

Объект EditableMesh

Объект EditableMesh был введен в Выпуске 1.0 в виде неполностью реализованной и скрытой характеристики, которая необходима для разрешения входа в файл 3dsmax.ini. В Выпуске 1.1 3D Studio МАХ появилась завершенная версия столь необходимого класса объектов в виде стандартной характеристики (см. рис. 12.13).

Из-за своей возможности редактирования и определения выборки EditableMesh попадает в категорию модификаторов выборки. Однако технически EditableMesh не является модификатором - он фактически представляет собой объектный класс для всех каркасных объектов. Интерфейс для EditableMesh выглядит как первый вход стека.

Любой объект, имеющий в качестве параметров создания необработанный каркас (мастер-объект), в Выпуске 1.1 является объектом EditableMesh. Это означает, что при импорте файла 3DS каждый объект импортируется как объект EditableMesh и можно сразу приступать к редактированию в режиме Sub-Object без применения модификатора (аналогично методу редактирования в 3DS для DOS).

Объекты, создаваемые в 3DS МАХ, можно преобразовывать в объекты EditableMesh за счет разрушения их стеков. Объекты без истории редактирования разрушить нельзя. Если объект является примитивом нового типа, loft-объектом или булевым объектом, для разрушения стека до EditableMesh необходимо добавить модификатор (т.е. любой модификатор, кроме EditPatch). Для лоскутного объекта необходимо добавить модификатор поверхности (Normal, Smooth, Material, UVW или EditMesh), чтобы стек изменил результат на каркас. Иначе объект разрушается до лоскутного.

ПРИМЕЧАНИЕ

Работа с EditableMesh подобна работе с программами без концепции истории редактирования (например, 3DS для DOS).

Использование EditableMesh по сравнению с использованием EditMesh

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

В некоторой степени EditableMesh является шагом назад в компьютерном моделировании, поскольку теряется возможность принятия противоположных решений. При использовании EditableMesh на категориях внутри объекта выполняются явные деформации. В отличие от EditMesh история производимых действий в EditableMesh не записывается, поскольку действия являются явными (хотя опция аннулирования по-прежнему доступна). EditMesh записывает ваши действия и поэтому может распространять изменения от низа стека. Поскольку EditableMesh является мастер-объектом, ничего ниже него в стеке быть не может. Все, что делается с EditableMesh, можно считать постоянным, поскольку буфер Undo имеет конечный размер и не сохраняется между сеансами. Очевидно, что каждый метод имеет свои преимущества и недостатки. В приведенной ниже таблице отмечены наиболее важные аспекты каждого метода:
Модификатор EditMesh | Объект EditableMesh
Полная функциональность редактирования каркаса
Возможность использования для выборок локальных центров координат
Может присоединять каждый раз по одному объекту
Полное аннулирование до текущего предела
Каждая выполненная операция запоминается модификатором и сохраняется в файле
Размер файла растет по мере редактирования и добавления модификаторов Edit
Отсоединенная и удаленная геометрия определяется внутри модификатора и сохраняется в файле
Удаление модификатора удаляет все изменения, даже удаление геометрии
Эффект модификатора можно выключить
Активную выборку можно определить в любом месте стека | Полная функциональность редактирования каркаса | Возможность использования в качестве центра выборок только центра системы координат | Может присоединять одновременно множество объектов | Полное аннулирование до текущего предела | В файле сохраняется только результирующий каркас в конце сеанса | На размер файла оказывает влияние только размер результирующего каркаса | Отсоединенная и удаленная геометрия отбрасывается после достижения предела аннулирования | Определения объектов нельзя удалить без удаления самого объекта | Определения объектов нельзя выключить | Активную выборку можно определить только в начале стека Модификатор EditMesh
Для каждого EditMesh в ОЗУ выполняется копия объекта вместе с обработкой всех шагов
Для случая больших каркасов отсоединение граней и вершин может оказаться очень медленным
Введение модификатора для больших каркасов требует некоторого времени | Операции с большими каркасами могут показаться медленными
Предназначен для моделирования с анимацией
"Горячие" клавиши не определены | В ОЗУ сохраняется только результат, являющийся мастер-объектом | Даже для больших каркасов отсоединение выполняется достаточно быстро | Вход в режим Sub-Object выполняется быстро | Операции выполняются быстро | Предназначен для статического моделирования | Имеет клавиатурные эквиваленты, если они активизированы в файле Sdsmax.ini

ПРИМЕЧАНИЕ

Поскольку "горячие" клавиши для EditableMesh зафиксированы и могут вступать в конфликт с выборами, сделанными для самого 3DS МАХ, их разрешение выполняется через опцию файла 3dsmax.ini [EditableMesh] KeyAccelsEnabled= 1 Сами "горячие" клавиши детализированы в файле readme, wri для 3D Studio MAX R1.1.

Графические компоненты каркаса

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

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

Определения каркасной поверхности

Внутри EditMesh и EditableMesh имеется возможность влиять на то, как будет выглядеть поверхность модели. Это выполняется путем присвоения сглаживающих групп, ориентации нормали грани и присвоения ID материала. Все это находится внутри свитка EditSurface уровня Face, показанного на рисунке 12.15.

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


ГЛАВА 13

Каркасное (mesh) моделирование

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

В эту главу включены следующие основные темы:

  • Редактирование каркасов на уровне подобъектов, которое также называется "традиционным " каркасным редактированием или "созданием скульптур ".
  • Моделирование на уровне вершин, включая выборку, скрытие, создание, трансформацию, использование области эффекта и воздействие на топологию.
  • Моделирование на уровне граней, включая выборку, скрытие, создание, трансформирование, вытягивание и изменения топологии.
  • Управление характеристиками поверхности на уровне граней, включая сглаживание, нормали и материалы.
  • Моделирование на уровне Edge (ребро), включая трансформацию, видимость, разделение и повороты.

Моделирование при помощи вершин

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

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

Основы понятия уровня вершин

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

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

Выбор вершин

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

Скрытие вершин

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

ПРЕДУПРЕЖДЕНИЕ

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

Бывает, что вершины трудно увидеть из-за их размера. Перед выбором вершин для редактирования неплохо выполнить Select None для обеспечения того, чтобы выборка была только тем, что вы предполагаете. Поскольку выборки передаются вверх по стеку, легко забыть о более ранней выборке, которая в настоящий момент активна, в особенности в том случае, если выборка была установлена посредством модификатора, примененного гораздо раньше.

Трансформация вершин

Трансформации Move, Rotate и Scale в линейке инструментов являются основными методами манипуляции вершинами. При этом особое значение приобретают тонкости, описанные в разделе "Общие термины и понятия для каркасов" главы 12. Возможность редактирования каркасов на уровне вершин обладает достаточной мощью. При манипуляции положением вершин происходит притягивание, растяжение и масштабирование построенных на них граней. Основной секрет эффективной манипуляции вершинами состоит в выборе корректных вершин для редактирования и оставлении других в стороне.

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

Масштабирование цилиндра для превращения его в гантелю

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

  1. Создайте на основной плоскости цилиндр с 24 сторонами и 9 сегментами высоты. Радиус этого цилиндра будет радиусом гантели.
  2. Добавьте модификатор EditMesh и выберите два средних поперечных сечения вершин (это проще сделать с помощью прямоугольного окна выборки).
  3. Щелкните на кнопке Non-Uniform Scale, выберите мировую систему координат, Selection Center и оси ХиУ.
  4. Масштабируйте вершины вниз для образования центральной ручки захвата, как показано в первом видовом окне на рисунке 13.2.
  5. Выберите четыре средних поперечных сечения. Переключитесь на ограничение по оси Z.
  6. Масштабируйте выборку вверх до тех пор, пока поперечные сечения не приблизятся к следующим рядам вершин, что демонстрируется во втором видовом окне на рисунке 13.2.
  7. Выберите верхний и нижний ряды вершин и масштабируйте их как можно ближе к следующим рядам вершин, как это делалось в шаге б и показано в третьем видовом окне рисунка 13.2. Теперь получены два сегмента оболочки рядом с одним широким сегментом с каждого конца.
  8. Нажмите клавишу Ctrl, чтобы выполнить добавление к текущей выборке, и выберите другие вершины на границе противоположных сегментов оболочки.
  9. Введите ограничения по осям Х и Y и масштабируйте их вовнутрь до тех пор, пока они не образуют фаску, что показано в четвертом видовом окне рисунка 13.2.
  10. Введите ограничение по оси Z и масштабируйте два средних ряда вершин до тех пор, пока они не образуют умеренный наклон на ребрах гантели, как показано в первом видовом окне рисунка 13.3.
  11. Переключитесь в режим Shaded. Верхний вид справа показывает как странно выглядит гантеля. Это связано с тем, что цилиндр начинается с одной сглаживающей группы вдоль его сторон и масштабирование вершин приводит к такому наклону граней, что сглаживание не имеет смысла.
  12. Выйдите из режима Sub-Object, добавьте в конец стека модификатор Smooth, отметьте AutoSmooth (автоматическое сглаживание). Примите значение по умолчанию, составляющее 30°. Фаски и стороны теперь покрываются рябью (нижние виды на рисунке 13.3), поскольку соседние ряды больше не используют одинаковую сглаживающую группу.

Вращение вершин

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

  1. Создайте на основной плоскости сферу с 16 сторонами и добавьте к ней модификатор EditMesh.
  2. В видовом окне вида сбоку выберите каждый второй ряд (широта), пропустив верхнюю вершину (как показано в верхней части рисунка 13.4).
  3. Назовите эту выборку "Lat".
  4. Начните вторую выборку в видовом окне Тор, выбирая каждый второй ряд сферы (широта/меридиан). Это легко делается с помощью метода выборки Fence (изгородь) (нижняя часть рис. 13.4). Отметим, что весьма интересным эффектом является то, что аналогичным методом можно выбирать грани и присваивать отдельные сглаживающие группы для достижения эффектов сглаживания, показанных на рисунке 13.4.
  5. Назовите эту выборку "Long".
  6. Щелкните на Rotate, выберите мировую систему координат, центр выборки и ось Z.
  7. Из выпадающего списка Named Selection Set выберите "Lat" и вращайте выборку в любом видовом окне. Стороны сферы скручиваются в виде шеврона (кавычки елочки), как показано в верхних видовых окнах рисунка 13.5.
  8. Выберите "Long" из выпадающего списка Named Selection Set и вращайте выборку в любом видовом окне.
  9. Шевронные стороны сферы вращаются вместе, уменьшая количество сторон от 16 до 8, как показано в нижних видовых окна рисунка 13.5. Отметим, что хотя выбраны вершины полюсов, они совпадают с центром выборки и вращаются на месте, не оказывая влияния на каркас. Теперь можно переключаться между наборами выборок для совершенствования внешнего вида шевронов.

Моделирование при помощи Affect Region

Функция Affect Region (влияние на область) позволяет оказывать влияние на целую область вершин при гораздо меньшей выборке или, более часто, при выборке только одной вершины. В случае отметки флажка Affect Region каждая выполняемая трансформация влияет на область вершин, а не только на выбранные вершины. При отмеченном флажке Affect Region фундаментально изменяется метод редактирования вершин, поскольку теперь одна вершина ведет себя подобно магниту и при изменении своего положения в трансформациях Move, Rotate и Scale тащит за собой другие.

Affect Region работает совместно с управляющей кривой области. Кривая области является визуализацией результата перемещения одиночной вершины из плоской сетки. Щелчок на Edit Curve (отредактировать кривую) выводит диалог Edit Affect Region Curve (редактировать кривую влияния на область) (см. рис. 13.6). Как можно видеть, установка Falloff (граница области затухания) определяет радиус "сферы" выборки. Внутри этой сферы оказываемое влияние на каждую вершину соответствует значениям кривой области.

ПРЕДУПРЕЖДЕНИЕ

Режим Affect Region Function (функция влияния на область) не нарушает состояния скрытых вершин, но влияет на каждую вершину внутри радиуса области затухания.

Влияние кривой области лучше всего показать на примере одной вершины на рамочной сетке. Рисунки 13.7 и 13.8 показывают перемещение одной вершины на одно и то же расстояние в рамках куба с размером 100 единиц. Верхние ряды на обеих рисунках показывают, как форма кривой области дублируется вытесненными вершинами. С учетом этого можно предсказать влияние определяемых кривых области. Для вытаскивания гладких кривых посредством Affect Region следует манипулировать одиночными вершинами или изолированными гранями и пристально следить за управляющей кривой области.

Результат редактирования вершин с помощью Affect Region аналогичен работе с лоскутами, поскольку перемещение одиночной вершины во многом подобно вытягиванию вершины лоскута. Основное отличие, конечно, заключается в том, что последующее перемещение вершины не восстанавливает предыдущего каркаса, в то время как изменение направления на противоположное перемещает лоскут. На рисунке 13.9 сравнивается результаты вытаскивания центральной вершины из каркасных и лоскутных цилиндров.

Опция Ignore Backfacing (игнорировать заднюю грань) управляет тем, на какие вершины оказывается влияние внутри радиуса распада. При выключенной опции Ignore Backfacing влияние оказывается на каждую вершину внутри радиуса распада. Когда эта опция включена (что происходит по умолчанию), грани, совместно использующие выбранные вершины, анализируются на предмет определения направлений их нормалей. Определяется усредненная нормаль граней и сравнивается с нормалью каждой другой грани в радиусе распада. Если усредненная нормаль может "видеть" другие грани (сравниваемый угол меньше 90°), влияние оказывается на вершины, совместно использующие эти грани. Вершины, совместно использующие заднюю грань и видимые грани, считаются видимыми и на них оказывается влияние.

СОВЕТ

Чтобы полностью убедиться во влиянии Affect Region, выполните клонирование одной или двух граней первоначального каркаса и используйте эти три или четыре вершины в качестве своего притягивающего "магнита". Такой процесс позволит точно понять, какие грани можно видеть при использовании Ignore Backfacing.

ПРЕДУПРЕЖДЕНИЕ

Изолированные вершины являются плохим выбором для Ignore Backfacing, поскольку у них нет никаких граней, из которых можно было бы провести нормаль; вместо этого они используют направление нормали по умолчанию. Лучшим выбором для Ignore Backface является изолированная грань.

Если нормали указывают от вас, вершина "не может" увидеть их грани, и Affect Region не выбирает их вершин. На грани, нормали которых находятся "на ребрах" точно под углом 90°, влияние оказывается. Рисунок 13.10 демонстрирует эффект перемещения средней вершины верхнего переднего ребра куба внутри радиуса распада, который превышает высоту куба. Первый куб показывает результаты при выключенной опции Ignore Backface - смещается каждая вершина, даже те, которые находятся на дне. Средний куб показывает результат с включенной опцией Ignore Backface - нижние вершины не перемещаются, поскольку их нельзя увидеть, в то время как вершины ребер находятся под углом 90° и выбираются. Последний куб имеет выключенную опцию Ignore Backface, но перемещает вершину из второго ряда - на боковые вершины влияния не оказывается, поскольку теперь они представляют для вершины заднюю грань.

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

Во многих ситуациях используется несколько приблизительных перемещений или вращении вместо выполнения одного большого. Первый куб на рисунке 13.11 показывает эффект вращения вершины на 90° за одно движение, и результирующее искажение оказывается линейным. Оставшиеся кубы демонстрируют небольшие последовательные движения, дающие в сумме 90°, и результатом является криволинейное искажение. Средний куб не игнорирует задние грани и поэтому вытаскивает каждую вершину в своем диапазоне. Последний куб имеет отмеченный флажок Ignore Backfacing и теряет вершины в критические моменты.

Создание вершин

Каждый раз при создании или клонировании каркаса также создаются вершины, поскольку они определяют грани. Хотя по такому методу часто создаются вершины, необходимые для другого моделирования, может потребоваться создавать другие вершины независимо и в точном месте расположения для образования соединенных "внахлест" граней.

Вершины нельзя создавать изолировано. Они должны добавляться к существующему объекту из модификатора EditMesh. Внутри EditMesh вершины можно создавать индивидуально посредством функции Vertex/ Create (вершина/создать) или выполнить клонирование выборки вершин в виде части объекта или нового объекта. Клонирование вершин существующего каркаса является единственным методом создания изолированных вершин как объектов.

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

Использование для вершин существующих каркасов

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

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

ПРИМЕЧАНИЕ

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

Использование Vertex Create

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

Vertex Create хорошо работает при фиксации вершины и ребра. Установка свойства фиксации вершины в 1, а всех остальных в Off (выключено) (см. рис. 13.12) обеспечивает то, что фиксация будет происходить только к вершинам. При использовании 3D Snap Vertex Create разрешает создавать проволочный каркас, на котором строятся перекрывающиеся сетки. В случае 2.5D Snap создается спроектированный на активную сетку видового окна шаблон вершин. Хотя это требуется редко, из этих спроектированных шаблонов можно создать сглаженные проекции других каркасов.

Топология вершин

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

Объединение вершин

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

ПРИМЕЧАНИЕ

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

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

Метод Target (цель) из Weld выполняет переход в режим, в котором нужно выбрать вершины и перетащить их на целевую вершину, как показано на рисунке 13.13. Курсор определяет вершину, с которой выполняется объединение, и изменяется на крестообразный, когда он находится над вершиной одного и того же объекта. Целевая вершина определяется близостью курсора в пикселах экрана. Эта чувствительность в пикселах фиксирована и приблизительно равна радиусу в пять пикселов. Таким образом активное видовое окно оказывает большое влияние на то, что объединяется. Работа в ортогональном видовом окне разрешает объединять вершины, расположенные (по глубине) на большом расстоянии друг от друга, что может оказаться как идеальным, так и нежелательным. Работа с видом User или Perspective обычно дает более четкое понимание о взаимоотношениях межцу вершинами при объединении. Часто удобно выбирать вершины на ортогональных видах и затем объединять с целевой на виде User или Perspective.

ПРИМЕЧАНИЕ

Weld Target обычно комбинируется с Edge Turn (поворот ребра) и Divide для создания определяющих линий каркаса.

Метод Selected (выбранные) из Weld анализирует текущую выборку вершин и использует значение Weld Threshold (порог объединения) как "строку" диапазона для прохода по всем выбранным вершинам. Если любая из вершин попадает в диапазон порога другой вершины, они объединяются. Если все вершины не попадают в диапазоны порога других вершин, ничего не объединяется и выводится предупреждение, показанное на рисунке 13.14. Места расположения всех вершин, попадающих в пределы порога, усредняются для создания нового расположения результирующей объединенной вершины. Результирующая вершина остается выбранной. Из-за выполнения усреднения мест расположения объединенные вершины будут перемещаться до тех пор, пока они не совпадут. Если требуется объединить только совпадающие вершины и совершенно не сдвигать вершины, Weld Threshold необходимо установить в 0. При очень высоких порогах Weld Selected функциокально может оказаться аналогичной Vertex Collapse (разрушение вершины) для той же выборки.

На практике Weld Selected регулярно используется при объединении частей модели, которые выравниваются с совпадающими вершинами или имеют вершины, которые очень близки к этому. Может быть, эти отдельные элементы, используемые вместе, являются результатом булевой операции или взяты из другой программы, не имеющей возможности объединения каркасов. В таких случаях выполнение Select All и объединение при низком пороге работает хорошо. Для точного объединения следует выбирать Weld Target, поскольку в таком случае можно иметь уверенность в получении положительных результатов.

Разрушение вершин

Функция Collapse имеет деструктивный характер, однако весьма полезна. При щелчке на Collapse текущая выборка вершин объединяется в одну общую вершину. Эта вершина располагается в месте, являющемся усредненным положением выбранных вершин. Это место совершенно предсказуемо, если разрушенные вершины являются копланарными, как показано на рисунке 13.15. При отсутствии копланарности усредненное положение объединенной вершины обычно вызывает "выбоину" в поверхности. В отличие от Face Collapse (разрушить грань) и Edge Collapse (разрушить ребро) Vertex Collapse не работает на одиночной вершине, поскольку там нечего усреднять. В действительности. Face Collapse и Edge Collapse являются супермножествами Vertex Collapse и оказывают влияние соответственно на две и три вершины.

Разрушение объединяет каждую выбранную вершину независимо от того, как далеко друг от друга они находятся, и от того, что они могут принадлежать отдельным элементам. Эта характеристика показана на рисунке 13.16, на котором для разрушения была выбрана центральная вершина на каждой из сторон. Единственный раз, когда Collapse обрабатывает каждую выборку по отдельности, является применение EditMesh к выборке объектов, в которой каждый объект объединяется отдельно.

Collapse может использоваться в качестве быстрого метода объединения элементов вокруг общей точки, (см. рис. 13.17). Эта возможность подчеркивает тот факт, что Collapse применяется для обнаружения важных точек конструкции из-за метода, при помощи которого усредняются отличия. Например, при разрушении двух вершин можно установить среднюю точку. Мы не слышали о создании изолированных вершин для разрушения с целью поиска подобных точек. Аналогично этому модификатор EditMesh можно добавить после того, как все объекты будут выровнены с разрушенными вершинами.

Отсоединение вершин

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

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

Удаление вершин

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

Моделирование при помощи граней

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

СОВЕТ

Минимизация свитка Modifiers обеспечивает Command Panel, которая полезна при работе на уровне грани. При попытке выполнения цикла по Sub-Object и нажатии на клавиатурные альтернативы режима Sub-Object можно свернуть свиток Modifier Stack.

Основы уровней граней

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

Выбор граней

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

Выборка граней распределяется на три категории геометрических определений: грань, многоугольник и элемент.

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

Polygon selection (выборка многоугольника) выбирает объединенные грани, которые не разделены видимыми ребрами и попадают внутрь значения Planar Threshold (планарный порог). Часто удобно выбирать с помощью многоугольника и затем переключаться в режим Face Select (выбор грани) для отображения каждого ребра выборки.

Element selection (выборка элемента) выбирает все грани, которые могут отследить путь совместно используемых (объединенных) вершин. Выборка элемента игнорирует видимость ребер и Planar Threshold и имеет дело только с экстентами каркаса. Выборка элемента всегда находится в режиме Crossing (пересечение).

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

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

ПРЕДУПРЕЖДЕНИЕ

Режим выборки окна является несколько противоречивым. Элементы всегда игнорируют окно и используют пересечение, в то время как для выбора многоугольников с нерегулярной формой их не требуется полностью охватывать. Кроме того, опция By Vertex игнорирует режим окна и выполняет все выборки с помощью режима пересечения.

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

СОВЕТ

При использовании опции By Vertex скрытое состояние вершин не нарушается и их грани исключаются из выборки.

Опция By Vertex становится очень важной, если выборки области выполняются внутри каркаса. Без нее при первом щелчке мышью для определения области выбирается грань, многоугольник или элемент - результат, который вряд-ли кого-то устроит. При включенной опции By Vertex при первом щелчке ничего не выбирается, поэтому выборка области выполняет точную выборку области вершин, которые после этого охватываются.

ПРИМЕЧАНИЕ

Опция By Vertex игнорирует состояние кнопки Window/Crossing (окно/пересечение) и всегда устанавливает режим пересечения.

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

ПРИМЕЧАНИЕ

Обычно работа происходит поочередно между уровнями выборки Face и Vertex. При этом следует помнить, что в случае выбора граней их вершины не выбираются.

Скрытие граней

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

ПРИМЕЧАНИЕ

Хотя скрытые грани защищены внутри модификатора Edit, на них могут повлиять модификаторы, добавляемые к стеку позже. Volume Select не игнорирует их, а действия на уровне объекта всегда оказывают на них влияние.

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

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

ПРИМЕЧАНИЕ

Скрытые грани не влияют на состояние выборки элементов. Если перед скрытием граней последние были элементами, они остаются таковыми и после скрытия.

Трансформация граней

Трансформации Move, Rotate и Scale линейки инструментов являются главными методами манипуляции гранями. Трансформация граней очень похожа на перемещение, вращение и масштабирование эквивалентных выборок вершин, но с одним существенным отличием - при использовании EditMesh грани позволяют выполнять трансформации вокруг отдельных центров. Эта возможность является одним из фундаментальных отличий между использованием EditMesh и EditableMesh.

При использовании EditMesh в режиме Pivot Point Center каждая выборка граней определяет свою собственную систему координат на основе усредненных нормалей выборки. Это позволяет перемещать, вращать и масштабировать несоприкасающиеся выборки граней одновременно так, как будто вы манипулируете каждый раз только с одной.

СОВЕТ

Часто при использовании Pivot Point Center удобно применять локальную систему координат. Эта опция обеспечивает совместимость друг с другом ориентации оси выборок и ориентацию оси Z вдоль нормали.

Создание граней

Для создания граней в рамках уровня Face применяется множество методов. Грани можно вытягивать, укладывать мозаикой, клонировать и даже создавать по одной каждый раз. Extrude (вытянуть) является наиболее мощным методом, Build (построить) наиболее общепринятым, a Tesselate (уложить мозаикой) связан с наибольшим количеством граней.

Вытягивание граней

Функция Extrude создает грани путем перемещения выбранных граней наружу и построения сторон или "стенок", соединяющих выборку с ее периметром. Эта функция выполняет переход в режим вытягивания и прекращает текущую трансформацию, выбранную из линейки инструментов.

СОВЕТ

Лучшим способом выхода из режима Extrude является щелчок на необходимой кнопке линейки инструментов. Выход из этого режима посредством щелчка на Extrude автоматически изменяет состояние линейки инструментов в Move даже в том случае, если предыдущим режимом был Pick, Rotate или Scale.

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

СОВЕТ

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

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

Extrude перемещает выборку граней в соответствии с ее усредненной нормалью. Если выборка плоская/ копланарная (что, вероятно, является результатом выборки многоугольника), вытягивание перпендикулярно плоскости. Если выборка некопланарная, нормали выбранных граней усредняются и вытягивание следует этому вектору. Например выбор прилегающих сторон рамки производит вытягивание сторон под углом 45°. Для получения управляемых результатов Extrude лучше всего использовать с копланарными выборками.

Функция Extrude игнорирует состояние центра выборки линейки инструментов и всегда обрабатывает его так, как будто используется Pivot Point Center. Каждая несоприкасающаяся выборка граней имеет собственную нормаль. Можно создавать несоприкасающиеся выборки и вытягивать их одновременно, и они будут это делать так, как будто их вытягивают друг за другом. На рисунке 13.21 показано создание сложной формы путем выполнения серии вытягивании и промежуточного неоднородного масштабирования на несоприкасающихся выборках.

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

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

ПРИМЕЧАНИЕ

Плоские формы иногда имеют своеобразные ребра и грани, вызывающие некорректное вытягивание при выполнении Select Ail. Если возникает такого рода ошибка, выбор граней посредством многоугольника, как правило, обеспечивает правильное вытягивание.

Укладка граней мозаикой

Укладка граней мозаикой используется в основном для увеличения плотности каркаса; она применяется на выбранных областях для создания дополнительных вершин и граней, которыми можно манипулировать, или для увеличения общей детализации с целью будущего применения модификаторов. Например, каркас может не содержать достаточное количество сегментов для правильного изгиба, или модификатор Displace (сместить) может потребовать более плотного каркаса для достижения большей степени детализации для смещенного растрового изображения.

Грани, уложенные мозаикой, предполагают наличие сглаживающей группы (групп) их предка. При использовании укладки мозаикой Edge вместе с Tension (натяжение) необходимо проанализировать результирующую геометрию, чтобы убедиться, в порядке ли операция AutoSmooth. Вновь созданные ребра граней, уложенных мозаикой, всегда отображаются независимо от видимости предка. Использование AutoEdge со значением 1 после укладки граней мозаикой очищает внешний вид каркаса, делая копланарные ребра невидимыми. Грани, созданные за счет укладки мозаикой, принимают установки материала и координат отображения первоначальных граней. Заметное изменение происходит только для случая, когда каркасу присваивается материал карты грани.

Опция укладки мозаикой Face-Center (центр грани) разделяет каждую выбранную грань на три. Новые ребра фактически разделяют пополам углы первоначальной грани, а новой вершиной является центр тяжести первоначальной грани. Грани, созданные посредством такой опции, всегда копланарны по отношению к первоначально выбранным граням. Такой метод создает интересный шаблон, который может использоваться сам по себе (рис. 13.22). Повторяемые применения Face-Center продолжают добавлять плотность к одной и той же выбранной области и эта область не вырастает, так как это происходит при укладке мозаикой Edge.

Метод укладки мозаикой Edge разделяет каждую выбранную грань на четыре грани путем деления каждого ребра пополам и соединения новых вершин с центральной гранью. Если ребро совместно используется другой гранью, добавление новой вершины заставляет эту грань разделиться на две грани. Это поясняет способ, в соответствии с которым укладка мозаикой ребер распространяет свое влияние на соседние грани. Может показаться, что такое распространение создает больше граней, чем это необходимо, но во избежании наличия швов соседние грани должны создаваться по порядку. Сглаживание не может произойти между двумя соседними гранями, не использующими совместно двух вершин. На рисунке 13.23 показана укладка мозаикой верхушки сосуда с целью моделирования закругленного края.

Метод Edge также работает со значением Tension (последнее перестает быть серым при активной Face-Center), которое управляет расположением вновь созданных вершин. При проекции новых вершин наружу или "накачке" с положительным натяжением, либо проекции их вовнутрь или "откачке" с отрицательным натяжением никакого влияния на вершины первоначальных граней не оказывается. Tension имеет значения от -100 до 100, и для значения 0 никакой эффект не создается. Если необходимо, чтобы грани, уложенные мозаикой, оставались копланарными (как при Face-Center), установите Tension в 0.

Без использования Tension укладка мозаикой увеличивает только плотность каркаса; она не оказывает влияние на профиль. Если объект содержит кривые, для приведения в соответствие со спроектированной кривой могут потребоваться новые вершины. Опорным значением (значением по умолчанию) для Tension является +25. Это значение проецирует новые вершины так, чтобы они следовали по кругу или сфере. Укладка мозаикой ребер для всей сферы при значении Tension, равном 25, имеет тот же эффект, что и удвоение сегментации сферы (см. рис. 13.24). Правильный выбор значения Tension зависит от кривизны геометрии. Выполнение множества укладок мозаикой с максимальными значениями Tension является отличным методом "комканья" и загрубления поверхности.

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

ПРИМЕЧАНИЕ

Модификатор MeshSmooth (введенный в Выпуске 1.1) обеспечивает превосходный метод увеличения плотности каркаса с более точной кривизной, чем метод укладки мозаикой с натяжением.

Полезным методом для использования с каркасами, имеющими укладку мозаикой, является выбор вершин граней до того, как выполнять на них укладку мозаикой. После укладки мозаикой такая выборка первоначальных вершин может оказаться удобной при управлении поверхностью, поскольку теперь можно перемещать и масштабировать первоначальные вершины, либо инвертировать выборку и манипулировать новыми вершинами. Выполнение однородного масштабирования на инвертированной выборке вершин часто бывает очень похожим на эффект использования элемента управления Tension. На рисунке 13.26 показан пример GeoSphere, у которой выбраны все вершины, выполнена укладка мозаикой на всех ее гранях и масштабирование первоначальной выборки вершин вовнутрь.

Построение граней

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

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

СОВЕТ

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

Нормальное направление вновь построенной грани диктуется порядком, в котором выбираются три вершины. Выбор вершин против часовой стрелки делает грань видимой, в то время как выбор вершин по часовой стрелке помещает грань вдали от вас.

ПРИМЕЧАНИЕ

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

Вновь созданные грани получают установки по умолчанию Material ID#, и если каркасу присваивается какое-либо отображение - координат отображения. Несмотря на то, что присвоение'Material ID#1 часто оказывается корректным, отображение и нехватка сглаживания редко кого-то устраивают. Обычно необходимо завершить построение грани и затем присвоить корректное сглаживание и координаты отображения.

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

Топология граней

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

Разбиение граней на компоненты

Рассмотрим Face Explode (разбить грани на компоненты) - инструмент для разрыва на части или рассечения каркасов. Explode разделяет каркасы путем создания дубликатов вершин и "разъединения" граней. Разрывается ли каркас на грани или элементы зависит от сопровождающего значения Angle Threshold (угловой порог).

Грани, у которых угловые отношения имеют значения ниже Angle Threshold, при разбиении образуют элементы. Угол в 0° разбивает все грани, в то время, как угол 180° разрывает объекты на элементы. Для случая куба угловой порог, например, 90° оставляет куб в неприкосновенности, а 89° разделяет его на б элементов (по одному для каждой стороны), а значение углового порога в 0° разделяет его на отдельные грани. Если вы умеете анализировать угловой порог, применяйте Explode для отделения частей своей модели с целью использования их где-нибудь в других местах.

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

СОВЕТ

Разбиение объекта на компоненты при угловом пороге 180° превращает каждый элемент в новый объект - это экономит время, если необходимо присвоить множеству объектов последовательные имена. Просто присоедините все объекты к одному объекту (с помощью опции Attach Multiple из EditableMesh), выберите все грани и выполните разбиение на объекты при угловом пороге 180°. Теперь каждый объект именуется последовательно.

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

Отсоединение граней

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

СОВЕТ

Для отсоединения граней до элемента без создания объекта разбейте выборку граней при угловом пороге 180°. Эта процедура позволяет также создавать множество объектов за один шаг.

Разрушение граней

Функция Collapse упрощает каркас за счет использования уникального метода удаления граней. Выбранные грани удаляются и заменяются центрированной вершиной. Каждая соседняя грань, совместно использующая вершину вместе с удаленной гранью, растягивается (и объединяется) до места расположения новой вершины. Если соседняя грань совместно использует две вершины (ребро) с удаленной гранью, она удаляется. Разрушение одной грани может за один раз удалить максимум четыре грани - разрушенную и три грани, совместно использующие ребра. Разрушение выборки граней ведет к очень быстрому уменьшению числа граней модели, однако каркасная поверхность сохраняется, что особенно полезно при уничтожении копланарных граней. Например, на углах можно легко отколоть кусочки, что показано на рисунке 13.28.

Самым поразительным является то, что Collapse обрабатывает выборку как единое целое даже в том случае, если она несоприкасающаяся, аналогично функционированию Vertex Collapse. При несоприкасающихся выборках разрушенные вершины по-прежнему располагаются методом усреднения положений каждой выбранной грани. Это не всегда приемлемо, если только не планируется разрушение с помощью анализа того, где будет находиться результирующая вершина. Для большинства случаев моделирования разрушение следует ограничивать до соприкасающейся выборки. 22*

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

Как сделать грани планарными

Функция Make Planar (сделать планарными) анализирует нормали выбранной грани и определяет усредненную нормаль на основе общего размера грани (например, грани, расположенные под правильными углами одна по отношению к другой, будут образовывать только угол в 45° при условии одинакового размера). Затем грани вращаются для выравнивания на той же самой плоскости. На рисунке 13.29 показано как выборки даже несоприкасающихся граней устанавливаются под углом для образования общей плоскости. Эта функция часто используется для уплощения нерегулярностей в том, что должно быть плоской плоскостью. Функцию Make Planar можно применять для создания планарных соотношений между многочисленными элементами с целью быстрого определения критических отношений (см. рис. 13.30).

СОВЕТ

Используйте Make Planar на целом каркасе для того, чтобы сделать его более плоским. Это может создать интересные цели морфинга для анимации.

Удаление граней

Функция Delete выполняет в точности то, что означает ее название - ту же функцию, что и клавиша Delete. Эффект Delete очевиден за исключением работы со скрытыми гранями.

Сразу после скрытия выборки ее периметр остается подсвеченным красным цветом, поскольку скрытые грани по-прежнему находятся в выбранном состоянии и при нажатии Delete будут удаляться. Грани, которые скрыты, но еще не удалены, могут действовать в качестве "предварительного просмотра" удаления.

Можно скрывать грани и добавлять их к выборке при удерживании клавиши Ctrl в нажатом состоянии. Можно продолжать выбирать и скрывать грани в течение всего времени построения "скрытой" выборки. После получения удовлетворительного результата нажмите Delete и все скрытое удалится.

Управление поверхностью при помощи граней

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

Сглаживание граней

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

ПРИМЕЧАНИЕ

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

Понимание сглаживания граней

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

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

Функция Smoothing всегда пытается аппроксимировать эффект сферической формы. Рисунок 13.31 демонстрирует, что сглаживание встречных граней, расположенных под углом острее 60° может приводить к нереальным эффектам, поскольку производится попытка сглаживания углов сферическим образом. Объекты с острыми углами отражают неуклюжее сглаживание на вертикальных поверхностях, поскольку затенение протягивается диагонально поперек сторон каркаса. Если каркас имеет большее число сторон и эти стороны прогрессивно уменьшаются, подсветка диагонали обостряется в угле и достигает вертикали, вследствие чего сглаживание выглядит более естественным. Как правило, углы сглаживания острее 120° (что равно угловому порогу 60°) создают нежелательные результаты.

Использование AutoSmooth

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

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

ПРИМЕЧАНИЕ

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

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

СОВЕТ

Для обеспечение корректного функционирования AutoSmooth на каркасах с изменяющимися угловыми переходами переместите вершины областей небольших углов (путем фиксации) для создания более острых углов, которые легко отделяются через предельный Angle Threshold. Теперь AutoSmooth будет присваивать группы, соответствующие геометрическим линиям модели. После присвоения временно перемещенные вершины можно вернуть в первоначальные положения. В качестве альтернативы можно выполнить отсоединение областей граней в элементы так, чтобы сглаживание между ними не происходило.

Хотя AutoSmooth работает на выборках, наибольшая эффективность ее работы достигается в случае применения к целым элементам. AutoSmooth начинает с самой нижней из 32 сглаживающих групп и продвигается вверх. Выполнение нескольких AutoSmooth на различных выборках одного элемента увеличивает вероятность того, что гранями в различных операциях будут совместно использоваться большее число популярных сглаживающих групп с меньшими номерами. В результате сглаживание может произойти там, где оно нежелательно и, вероятнее всего происходить не будет при выборе для операции AutoSmooth целого элемента. Лучше всего выполнять AutoSmooth на выборке при удалении сглаживания с целого элемента и необходимости применения AutoSmooth к дискретным невстречающимся частям. При этом общие сглаживающие группы не касаются и нежелательное сглаживание не возникает.

Идентификация сглаживающих групп

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

ПРИМЕЧАНИЕ

Странные полосы и сильно потемневшие ребра часто являются признаком некорректности установок сглаживания. Если кажется, что объект визуализируется неправильно, проверьте корректность присвоения сглаживающих групп.

Функция Select By Smooth Group (выбрать по сглаживающей группе) представляет собой диалог (см. рис. 13.32), показывающий каждую сглаживающую группу, присвоенную объекту в настоящий момент. Нажатие кнопки с номером и щелчок на ОК выбирает грани, которым присвоена эта группа.

Опция Clear Selection (очистить выборку) выполняет Select None и затем обеспечивает выбор по сглаживающей группе для выбранной группы. Выключение этой опции добавляет новую выборку к текущей.

СОВЕТ

Имеется возможность выбрать грани без установок сглаживания путем выбора всех сглаживающих групп и последующим выполнением Invert Selection (инвертировать выборку).

Присвоение сглаживания вручную

Посредством 32 кнопок Smoothing Group можно присвоить или отменить сглаживающую группу для любой выборки граней. Такое присвоение вручную обеспечивает полное управление результатом в отличие от автоматического метода AutoSmooth. Для отмены сглаживающей группы щелкните на ее кнопке, чтобы ее отжать. Если кнопка не имеет номера, т.е. выборка не содержит ничего общего, необходимо щелкнуть на кнопке дважды - один раз для присвоения группы целой выборке и второй раз для удаления ее.

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

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

Другим общепринятым приемом является переход к Select All, выполнение AutoSmooth и затем корректировка одних лишь неправильных граней. Сглаженные затененные видовые окна сообщают о состоянии сглаживания и обеспечивают строгий отчет о том, насколько хорошо присвоены сглаживающие группы. При обнаружении ошибочного сглаживания выберите грань и проверьте номера ее групп. Выберите соседние грани, сравните и принимайте решение о том, как продолжать. Часто наилучший путь заключается в снятии сглаживания с этих трудных областей и повторном присвоении "с нуля".

При выборе номеров сглаживающих групп обеспечивается полная свобода, и пусть выбор из 32 групп вас не ошеломляет. Такое количество поддерживается для того, чтобы выборки можно было организовать без неразберихи, и даже наиболее сложные модели имели достаточное количество групп. Выбор меньших, больших или последовательных номеров значения не имеет. Меньшие номера используются AutoSmooth первыми, поэтому есть смысл во избежание конфликтов устанавливать большие номера. Часто оказывается, что для большинства каркасов достаточно от двух до шести сглаживающих групп. Большее количество групп обычно означает, что каркас очень сложный или отдельные группы обеспечиваются для упрощения формирования выборок.

СОВЕТ

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

Управление нормалями граней

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

ПРИМЕЧАНИЕ

Если объект выглядит "обратным" или "вывернутым", причина обычно заключается в перевернутых нормалях. Такой неправильный вид обычно появляется при работе с поверхностями вращения. То, что выглядит "внутренним", нормаль делает "внешним". На рисунке 13.33 показаны несколько объектов с перевернутыми нормалями.

Нормали в 3DS МАХ определяют настоль много, что их нельзя игнорировать. Для EditMesh нормали определяют Pivot Point Center грани, направление вытягивания и угловые пороги, используемые Explode, AutoSmooth и AutoEdge. Другие модификаторы, например Optimize, Displace, MeshSmooth и Relax, вычисляют свои эффекты с использованием нормалей. Унифицированные нормали критичны при создании составных булевых объектов. Некоторые материалы, включая карты граней и многие процедурные текстуры, основывают свои результаты на нормалях граней.

ПРИМЕЧАНИЕ

Опция, игнорирующая нормали граней и визуализирующая обе стороны (для двусторонних (2-Sided) материалов или опция Force 2-Sided в Renderer) является плохим выбором с учетом того, как много операций моделирования зависят от правильных нормалей. Чаще корректировка неправильных нормалей, появление которого вызвано неправильным моделированием, занимает меньше времени, чем использование опции 2-Sided и визуализация дополнительных граней, отмена отбора задних граней и борьба с результирующей некорректной моделью.

Унификация нормалей

Функция Unify сбрасывает выборку нормалей граней в соответствии с требованием 3DS МАХ по умолчанию - переориентация нормали к грани от центра выборки. Эта функция является быстрым методом унификации целого каркаса (хорошо работает с Select All) и обычно должна быть первым шагом для исправления некорректного каркаса. Для правильной работы Unify грани и вершины каркаса уже должны соблюсти золотое правило построения каркаса - каждая грань, совместно использующая ребро с соседней гранью, должна также совместно использовать две вершины.

ПРИМЕЧАНИЕ

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

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

Отображение нормалей

Опция Show Normals показать нормали отображает нормали каждой выбранной грани в виде вектора "от синего к белому". Такое обозначение позволяет быстро обнаружить нормаль с некорректным направлением. Поэтому использование Show Normals для идентификации нормалей с неправильным направлением может стать более эффективным, чем анализ граней. Сопровождающий Show Normals параметр Scale масштабирует размер вектора нормали и не оказывает влияния на каркас. Для некоторых видов геометрии может оказаться полезным резкое увеличение масштаба, чтобы увидеть пересечение нормалей (например, нормали внутреннего купола будут пересекаться в его центре). Векторы нормалей выполняют только отображение и манипулировать ими непосредственно нельзя (вместо этого на выбранных гранях следует использовать функцию Flip).

Переключение нормалей

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

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

Если каркас всюду имеет случайные нормали и не может обеспечить непротиворечивую унификацию, вероятно он построен неправильно (грани, совместно использующие ребра, не используют совместно вершин). Такая ситуация практически всегда является результатом импортирования моделей, созданных где-то в другом месте. Многие программы моделирования, записывающие файлы DXF (например, AutoCAD) не имеют метода хранения нормалей граней и не поддерживают основ каркасного моделирования. В случае с некорректной моделью следует принять решение, основанное на будущих планах моделирования независимо от того, сколько времени требуется для переключения нормалей. Если планируется просто присвоить отображение, материалы и выполнить визуализацию, можно отказаться от переключения нормалей и перейти к применению двусторонних материалов. Отметим, что такой выбор оказывает отрицательное влияние на время визуализации и увеличивает требования к памяти. С другой стороны, если планируется выполнять любое моделирование, в особенности моделирование составных булевых объектов, нужно потратить время на унификацию нормалей либо за счет корректировки нетрадиционного моделирования и использования Unify, либо путем ручного переключения нормалей.

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

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

СОВЕТ

Часто проще переключить нормали целого каркаса на неправильное направление и работать "назад", переключая видимые нормали. После того, как все ложные грани переключены и каркас больше не виден, выполните Select All и затем переключение для получения унифицированного каркаса.

Унификация нормалей против двусторонних материалов

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

ПРИМЕЧАНИЕ

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

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

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

Присвоение ID материала

По умолчанию каждая грань начинает с присвоенного ей Material ID#1. Грани не хранят действительных имен материалов, а только их ID#. Если материал является чем угодно за исключением Multi/Sub-Object, ID материала не оказывает влияния. Если объекту присваивается материал Multi/Sub-Object, ID материала диктует какой присваивается подматериал из определения материала.

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

Типичная ситуация, когда требуется выполнить сглаживание и использовать ID материала с материалом Multi/Sub-Object, возникает в случае применения на непрерывной поверхности различных красок или отделок. Выпуклая стенка с красками различных цветов, хромовая ручка с захватом и ваза с различной глазурью - это все примеры когда сглаживание необходимо продолжать, но также примеры, для которых нужны различные материалы.

Выбор по ID

Рассмотрение ID материалов завершается замечанием о том, что присвоение ID по-прежнему разрешает выборку граней и сохранение набора выборок. Выбор по Material ID создает выборку граней с требуемым ID, что позволяет видеть какой части каркаса какой материал присвоен, при условии, что мультиматериалы не используются. Если материал Multi/Sub-Object не используется, можно безопасно сохранять наборы выборок граней с различными ID#. Сохранение наборов выборок не влияет на материал, но создает очень удобные наборы выборок на уровне граней.

Моделирование при помощи ребер

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

Основы уровня ребер

Свиток Edge, показанный на рисунке 13.34, до сих пор является простейшим из уровней выборок. Ребра подчиняются тем же правилам выборок окном и областью пересечения, что и выборка граней. Однако можно обнаружить, что если все ребра не отображаются, выбрать только то, что нужно, оказывается затруднительным. В особенности это справедливо при создании выборок областей внутри каркаса. В то время как выборка граней имеет опцию By Vertex, выборка ребер подобной опции не имеет. При определении области уже первый щелчок мышью выполняет выборку, по этому высока вероятность попадения на нежелательное невидимое ребро.

ПРЕДУПРЕЖДЕНИЕ

Будьте внимательны при использовании для ребер опции Select All. В отличие от скрытых граней и вершин, Select All выбирает также и невидимые ребра. Любая модификация ребер, применяемая после Select All, оказывает влияние на видимые и невидимые ребра, что часто приводит к нежелательным последствиям.

Трансформация ребер

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

Как и для граней, каждая соприкасающаяся выборка определяет центр выборки. Эта возможность отсутствует в EditableMesh.

Управление видимостью ребер

Ребра не скрыты, а скорее сделаны "невидимыми". Невидимые ребра ведут себя иначе, чем скрытые грани и вершины. С другой стороны, скрытые грани и вершины "защищают" себя от дальнейшей модификации; скрытые ребра этого не делают. Даже не видя ребер, их можно выбирать, трансформировать, вытягивать, делить, поворачивать, разрушать и удалять. Хотя модификация невидимых ребер может оказаться удобной, она также и опасна, поскольку существует вероятность сделать гораздо больше, чем это необходимо.

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

Невидимые ребра можно отображать при помощи опции Edges Only (только ребра), которая находится ниже Display Optimization (оптимизация отображения) в панели Display (см. рис. 13.36). Если планируется работа с ребрами, перед выполнением основного редактирования необходимо войти в панель Display и выключить Edges Only. Опция Edges Only на визуализацию влияния не оказывает.

СОВЕТ

Если вы не хотите покидать панель Edit, чтобы выключить опцию Edges Only, выполните Select All на ребрах и AutoEdge при нулевом угле для отображения каждого ребра. Позже AutoEdge можно применить для того, чтобы сделать ребра невидимыми.

Присвоение видимости вручную

Отображением ребер можно точно управлять посредством опций Visible (видимое) и Invisible (невидимое). Решите, какие ребра должны быть видимыми, выберите их и щелкните на Invisible или на Visible для изменения их состояния. В то время, как выбор видимых ребер с целью превращения их в невидимые достаточно прост, обратная задача может таковой не оказаться. Помните, что в отличие от скрытых граней и вершин, невидимые ребра можно выбирать даже в том случае, если они не отображаются. Для получения уверенности в том, что выбирается, выключите опцию Edges Only. Эта процедура упрощается за счет использования клавиатурной альтернативы Edges Only; при этом нет необходимости покидать панель Modify.

Использование AutoEdge

Несмотря на то, что присвоение видимости вручную обеспечивает управление, подобная процедура может оказаться утомительной. AutoEdge анализирует выборку ребер и сравнивает нормали граней, совместно использующих эти ребра, с сопровождающим значением Angle Threshold. Как и для AutoSmooth и Explode, чем выше значение Angle Threshold, тем больше ребер можно сделать невидимыми. Чем выше значение порога, тем больше количество острых углов попадает в диапазон.

СОВЕТ

Для использования AutoEdge на целом объекте выполните Select All, при этом одновременно выбираются все видимые и невидимые ребра.

При работе с выборкой доступно управление размером части модели, которая вычисляется при текущем значении Angle Threshold. Это вычисление может играть важную роль, если различные части модели имеют различные острые углы, а общий AutoEdge отображает в конкретной области либо очень много или очень мало.

Создание граней при помощи ребер

Хотя ребра сами по себе не являются геометрической реальностью, 3DS МАХ позволяет создавать грани на базе ребер посредством Extrusion (вытягивание) и Dividing (разделение).

Вытягивание ребер

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

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

СОВЕТ

Если необходимо вытянуть только одно ребро, чаще лучше вытянуть, по крайней мере, одно соседнее ребро для обеспечения определенности направления вытягивания. После этого ненужное ребро можно удалить.

Как и для Face Extrude вытягивание можно выполнять в интерактивном режиме с помощью мыши или счетчика величины. Каждое перетаскивание или освобождение мыши или счетчика создает дополнительное вытягивание, за счет чего можно быстро создавать полосы вытянутых граней.

СОВЕТ

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

Разделение ребер

Функция Edge Divide влияет на одно ребро за счет вставки новой вершины в среднюю точку ребра и разделения первоначальной грани на две. Если ребро совместно используется двумя гранями, разделяются обе, в результате чего создается четыре грани. Вновь созданные ребра всегда становятся видимыми, поэтому можно наблюдать за результатами. Edge Divide подобна функции Edge/Refine из EditSpline, и можно считать, что она выполняет "вставку вершины в среднюю точку". Независимо от того, как ее называть, она обладает возможностью создания вершины и граней в местах расположения средних точек. Показанная на рисунке 13.37 геометрия была создана из Box при помощи Edge Divide и последующих масштабирующих трансформаций вершины.

Разделение ребер представляет собой удобный способ введения вершины и добавления грани в области каркаса, которые необходимо объединить. Многие модели, созданные в других программах, имеют некорректную укладку мозаикой и могут иметь неодинаковое количество вершин в точках перехода (примером этого является экспорт в 3DS в рамках AutoCAD сплошных ACIS). Для правильного сглаживания такого рода поверхностей необходимо создавать вершины с целью балансировки количества вершин в сочленениях. После достижения в месте перехода одинакового количества вершин вершины с обеих сторон следует объединить для продолжения сглаживания и ликвидации шва.

Новые грани, созданные при помощи Divide, наследуют от предка координаты отображения, но не приобретают каких-либо сглаживающих групп. Если модель использует сглаживание, сглаживающие группы необходимо присвоить после завершения разделения ребер.

ПРИМЕЧАНИЕ

При разделении ребер на сглаженных моделях вновь созданные грани можно выбирать с использованием Select By Smooth, задав все группы сглаживания и выполнив Select Invert.

Топология ребер

Несмотря на кажущуюся незначительность, функции Edge Turning является одним из наиболее основных инструментов каркасного редактирования. Этот инструмент часто используется перед и после Edge Divide, Vertex Collapse и Face Extrude для создания правильной топологии поверхности для каркаса.

Поворот ребер

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

ПРИМЕЧАНИЕ

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

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

Разрушение ребер

Edge Collapse (разрушение ребра) работает на текущей выборке ребер. Разрушение ребра похоже на разрушение вершины или грани, но гораздо менее предсказуемо. Разрушение ребра разрушает одну из вершин ребра и "перетаскивает" все ребра, которые ранее совместно использовались этой вершиной, к оставшейся вершине. Две грани, которые совместно использовали первоначальное ребро, удаляются и покрываются за счет растяжения соседних граней. К сожалению, невозможно определить, какая из вершин ребра разрушится.

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

Удаление ребер

Edge Delete (удаление ребра) работает на текущей выборке ребер. При удалении ребра фактически удаляются грани, совместно использующие ребро, а вершины остаются неповрежденными. Такое удаление объясняет, почему при удалении ребер никогда не возникает сообщение "Delete Isolated Vertices" (удалить изолированные вершины) в отличие от удаления граней. Можно выбирать и, таким образом, удалять невидимые ребра. Как всегда, соблюдайте осторожность после выполнения Select All, поскольку невидимые ребра могут быть по-прежнему активными. Надежность удаления повышается, если перед созданием выборки ребер выполнить Select None.


ГЛАВА 14

Лоскутное (patch) моделирование

Моделирование с помощью лоскутов Безье представляет собой полную альтернативу традиционному каркасному редактированию. Компьютерные программы моделирования имеют тенденцию использовать каркасный (mesh), лоскутный (patch), nurb (NURB - Non-Uniform Rational B-spline) или монолитный (solids-based) подход. 3D Studio MAX несколько выделяется тем, что дает возможность существовать объекту любого класса и представляет основы лоскутного редактирования через модификатор EditPatch и класс Patch. Хотя лоскутное редактирование может быть предельно артистичным и органичным, но по общему мнению оно ограничено. Лоскутную функциональность, включенную в настоящее время в 3DSMAX, лучше считать солидной основой, на которой строятся другие разработки. Однако благодаря своей основательности, многое из этого нового мира лоскутного моделирования можно изучить уже сейчас и применить позже, когда представится случай.

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

  • Характеристики лоскутных моделей и типов лоскутов в 3DS МАХ
  • Способы определения кривых Безье, а также их соотношение с лоскутным редактированием Безье
  • Использование лоскутов, сформированных множеством методов: примитивами, Extrude, Lathe и каркасами
  • Технология применения модификатора EditPatch и уровней Vertex (вершина), Edge (ребро) и Patch (лоскут) для подобъектного лоскутного моделирования
  • Процедуры для сохранения модели в виде лоскутов без конвертирования в каркас до тех пор, пока это не понадобится.

Основные сведения о типах лоскутов

В 3DS МАХ в настоящее время существует два типа лоскутов: QuadPatch (Quad - четырехугольный участок) и TriPatch (Tri - треугольный участок). Оба типа лоскутов базируются на кривых Безье. Примитивы QuadPatch и TriPatch (их можно найти под Patch Grids в выпадающем списке Geometry в Create Panel) создают отдельные лоскуты соответствующего типа, к которым посредством модификатора EditPatch можно добавлять дополнительные лоскуты. Модификаторы, подобные Lathe и Extrude, могут экспортировать свои объекты в виде лоскутов, а каркасы несложно преобразуются в лоскутные объекты. Важно осознавать, что различные методы создания порождают лоскуты либо Tri, либо Quad, и данные два типа при редактировании дают разные результаты. На рисунке 14.1 показаны два лоскута и их результирующая форма после нескольких основных коррекций. Вершинные и тангенциальные (касательные) ручки обоих лоскутов были позиционированы одинаково. Легко заметить, что объектный каркас TriPatch сгибается постепенно, во многом подобно листу бумаги. Объект QuadPatch сгибается больше похоже на резину, а не на бумагу. Дело в том, что QuadPatch оказывает влияние на четверку смежных управляющих вершин - вершины по диагонали влияют на поверхности друг друга. По контрасту TriPatch влияет только на вершины, не затрагивая при этом разделяющие ребро и поверхность диагональных вершин.

Опции отображения лоскутов

Лоскутные объекты определяются решеткой (lattice), которая порождает поверхность (surface). Решетка представляет из себя сетку из управляющих вершин, векторных ручек и промежуточных вершин (см. рис. 14.2). Существует выбор, отображать ли решетку, поверхность или и то и другое. На практике при работе на уровне Vertex решетка скрывается и показывается лишь на уровнях Edge или Patch.

Edge и Patch "видны" только на самой решетке. При работе на уровнях Edge или Patch все произведенные выделения указываются на решетке и на поверхности ничего не отображается. Если решетки не видно, то выделения по-прежнему делаются, но они невидимы (ситуация довольно опасная). Элементы управления отображением решетки и поверхности обеспечиваются на всех уровнях, поскольку во время работы их постоянно приходится включать и отключать.

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

Понимание кривых Безье

Лоскуты Безье ведут себя во многом подобно сплайнам (spline - кусочно-полиномиальная функция) Безье. Классический сплайн Безье использует четыре точки для определения своей кривой. Кривая проходит через первую и последнюю точки и интерполируется между двумя средними точками. Рисунок 14.3 показывает, что для лоскутов вершины являются конечными управляющими точками сплайна, а векторы лоскута определяют промежуточные управляющие точки.

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

Ребра лоскута охватывают его по периметру независимо от того, какой это лоскут - Tri или Quad, и имеют три соединенных сегмента линии. Хотя ребра могут выглядеть несколько странными, на самом деле они соединяют четыре определяющие точки кривой Безье. Каждое ребро начинается и завершается вершиной с сегментами, определенными положением векторных ручек. Таким образом, лоскуты состоят из трех или четырех ребер, в зависимости от своего типа - TriPatch или QuadPatch. Эти ребра определяют сплайны Безье, которые в свою очередь определяют лоскут.

Векторы являются линиями, которые соединяют управляющие ручки лоскута с вершинами. Ручки на самом деле представляют собой промежуточные управляющие точки для сплайна Безье, который определяет ребро лоскута. Это означает, что между вершинами лоскута существуют две векторные ручки, и вершина имеет столько векторов, сколько ребер ее пересекает. В других программа векторы часто называются узлами, точками пересечения или управляющими точками. В данной главе на векторы ссылаются как на визуальную линию, а на ручки - как на управляющие точки на концах вектора.

ПРИМЕЧАНИЕ

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

Внутренние вершины

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

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

Внутренние вершины/управляющие ручки

Хотя внутренние вершины и полезны, однако получить их достаточно затруднительно. При первом редактировании лоскута он находится в режиме Auto Interior и внутренние вершины невидимы, поскольку внутренние управляющие точки при настройке векторных ручек, ребер и лоскутов перемещаются. Внутренние вершины не появляются до тех пор, пока режим лоскута не изменится на Manual Interior. Для изменения режима следует, находясь на уровне выбора подобъекта Patch, щелкнуть на лоскуте правой кнопкой мыши.

После перевода лоскута в режим Manual Interior визуально ничего не происходит до тех пор, пока не будет осуществлен возврат на уровень Vertex. После этого все внутренние вершины появятся желтыми (четыре вершины для QuadPatch и три для TriPatch). Это касается всех лоскутов, которые в настоящее время находятся в режиме Manual Interior (см. рис. 14.4). В отличие от векторных ручек вы не должны выделять внутренние вершины прежде чем с ними манипулировать - они доступны для манипуляций всегда.

То, что не совсем очевидно - это влияние, который режим Manual Interior оказывает на редактирование Edge и Patch. При работе в режиме Auto Interior внутренние вершины перемещаются при манипулировании ребрами и лоскутами. Режим же Manual Interior замораживает внутренние вершины на своих начальных местах. Теперь их можно редактировать только вручную на уровне Vertex. Рисунок 14.5 демонстрирует перемещение ребра в Auto Interior и в Manual Interior.

Редактирование вершин в режиме Manual Interior также выполняется по-другому, нежели в режиме Auto Interior. Внутренние вершины уже больше не стянуты вместе. На рисунке 14.6 показано редактирование одной и той же вершины в обоих режимах. Перемещение вершин без своих внутренних соседних вершин приводит к появлению заостренных поверхностей. Конечно, как показывает рисунок 14.7, редактирование только внутренних вершин дает в результате в равноценные полезные поверхности.

Трансформация лоскута или ребра изменяет вершины и ручки ребра или лоскута, но не затрагивает внутренние вершины. Хотя это и полезно, но для неподготовленного человека может оказаться непонятным. Будучи готовым к такому результату, можно с большей пользой применять режим Manual Interior.

ПРИМЕЧАНИЕ

Изменение режима лоскута с Manual Interior на Auto Interior прерывает все редактирование, произведенное для внутренних вершин. (К счастью это поправимо, если перейти снова в режим Manual Interior). Если вы начинаете манипулировать внутренними вершинами, для сохранения манипуляций следует оставить лоскут в режиме Manual Interior.

Деление и распространение

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

Опция Propagate обеспечивает деление лоскутов так, чтобы поддержать последовательность вершин и ребер. Если только вы не желаете получить визуального разрыва модели, то при делении должны всегда распространять деления лоскута. Без распространения через ребро нельзя будет продолжить сглаживание. Причина проста - новым вершинам не с чем соединяться. Визуальным эффектом будет гребень на шве, поскольку сглаживание не может быть продолжено через ребро. Это сделает область похожей на "клапан", который вот-вот будет сорван. Как показано на рисунке 14.9, соседние лоскуты при этом остаются нетронутыми.

Создание лоскутов

Лоскуты создаются множеством способов. Можно создать их как исходные прямоугольники, направить на лоскуты вывод Extrude или Lathe, конвертировать в лоскуты ЗО-примитивы. Наконец, 3DS МАХ дает возможность преобразовать в лоскут любой произвольный каркасный элемент. Это достигается при помощи двух разных типов лоскутов Безье - прямоугольного (бикубического) и треугольного. Данные базовые формы обеспечивают взаимное преобразование лоскутов и каркасов.

Использование лоскутов, полученных из примитивов

Достаточно часто будет возникать необходимость работать с различными типами лоскутов. Когда каркасы конвертируются в лоскуты (через добавление модификатора EditPatch), они всегда превращаются в TriPatch, даже если их топология ближе к четырехугольникам. Более предпочтительные QuadPatch формируются как результат параметра создания. Большая часть стандартных примитивов, как и сплайны, полученные из моди-фикаторов Extrude или Lathe, порождают QuadPatch. Рисунок 14.10 показывает результирующую геометрию лоскута сразу после придания примитивам модификатора EditPatch.

СОВЕТ

Создание примитивов с отрицательной высотой порождает лоскуты с реверсированными нормалями. Это может оказаться весьма удобным методом создания лоскутных объектов для контейнеров, сосудов и комнат из Box, Cylinder, Tube и Cone.

Как показывает рисунок 14.10, каждый примитив, за исключением Sphere и GeoSphere, преобразуется в QuadPatch. Сферы конвертируются в TriPatch ввиду того, что QuadPatch "прищипывает" полюса (условие, которое можно воспроизвести за счет вращения полукрущ как лоскута). Лоскутная плотность примитивов фиксирована. Ее можно увеличить с использованием функции Subdivide из EditPatch вместе с опцией Propagate. Это не должно вызывать неудобств благодаря тому, что EditPatch должен добавляться в начале преобразования примитивов в лоскуты.

Использование лоскутов из Extrude и Lathe

И Extrude, и Lathe имеют опции для вывода лоскутов вместо каркасов. В этой связи они становятся двумя наиболее удобными способами начала лоскутного моделирования. Рисунок 14.11 показывает лоскутные модели, начинавшиеся как сплайны и превращенные в QuadPatch посредством Extrude и Lathe.

Сплайны являются естественными стартовыми точками для лоскутных моделей, поскольку оба их типа основываются на одной и той же геометрической форме - сплайне Безье. Сплайны можно преобразовать в лоскуты за счет применения модификаторов Extrude или Lathe. Lofter, к сожалению, лоскутов не порождает.

СОВЕТ

По иронии судьбы в 3D Studio Release 4 лоскутные объекты можно создавать из loft-объектов. Как показано на рисунке 14.12, SDS-модели, созданные модулем 3DSR4 3D Surfer, при импорте в 3DS МАХ транслируются в лоскуты.

Модификатор Lathe очень полезен при создании базовых форм для лоскутного моделирования. Lathe (получение объектов за счет вращения) можно рассматривать как гончарный круг, вытачивающий сплайн в мягкой, податливой глине лоскута. При работе с Lathe сложно направлять его нормали. В отличие от каркасов, перенаправить нормали лоскута нельзя. Если нормали лоскута показывают не в ту сторону, необходимо либо изменить способ создания нормалей, либо переориентировать существующий лоскут, либо использовать двусторонний материал. Последнего следует избегать, поскольку отключение Backface Cull затрудняет все, в особенности базовое редактирование лоскута.

Покрывание (capping) лоскутов

Лоскутные объекты, сформированные через Extrude и Lathe, покрывать не так просто, как их каркасные эквиваленты. Если конечное покрытие (cap) является трехсторонним, оно выполняется с TriPatch, если четырехсторонним - с QuadPatch. Если покрытие имеет большее число сторон, что вероятнее всего, должен проводиться более тщательный анализ с учетом следующих правил:

  • Вложенные формы покрывать нельзя (например, вытянутые пончики).
  • Должна существовать чистая линия зрения от каждой вершины к центру формы.

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

Для более изощренных форм, таких как рука на рисунке 14.14, покрывание следует выполнять вручную. В данном случае к видимым ребрам добавлялись лоскуты (с помощью функции Add Quad из EditPatch) и затем вершины новых лоскутов объединялись с вершинами напротив. Подобный подход предпочтителен для органических форм, поскольку имеется контроль за тем, где проходят линии лоскутов и какой тип лоскутов генерируется (автоматическое покрывание обычно продуцирует TriPatch). Еще важнее то, что добавляемые лоскуты и швы на поверхности объекта имеют непрерывное сглаживание - как раз то, что не происходит с автоматически покрытыми ребрами. В следующем разделе покрывание ребер обсуждается более детально.

Непрерывность сглаживания

Тип вершины сплайна оказывает существенное влияние на результирующее сглаживание вытянутых (extrude) или полученных за счет вращения (lathe) лоскутов. Хотя типы вершин Smooth или Bezier превращаются в гладкие лоскуты, но типы вершин Corner или Bezier Corner превращаются в отчетливые ребра, через которые невозможно продолжить сглаживание. Данная ситуация похожа на описанную для примитивов, хотя в отличие от примитивов можно возвратиться к EditSpline и изменить вершины на Smooth или Bezier (см. рис. 14.15). Если разрушить стек до лоскутного объекта, созданного через Extrude или Lathe, непрерывность сглаживания объекта будет фиксированной и неизменяемой. Таким образом модели следует тщательно анализировать на предмет выяснения, нуждаются ли вершины сплайна в переклассификации, прежде чем выполнять разрушение.

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

СОВЕТ

Если требуется продолжить сглаживание через ребро покрытия Extrude или Lathe, удалите вначале покрытие либо убрав лоскуты, либо убрав опцию покрытия в модификаторе. Затем добавьте лоскуты к ребрам, вытяните открытые вершины к противоположным ребрам и выполните объединение.

Лоскуты, сгенерированные стандартными примитивами, имеют свойство, которое нельзя продублировать каким-либо другим лоскутным моделированием и которое, к сожалению, невозможно изменить. Примитивы, начинающиеся с покрытий (отчетливых, жестких ребер, подобных вершине цилиндра или стороне коробки), поддерживают эти жесткие ребра в течение всей жизни лоскута. В отличие от ребер покрытия Extrude или Lathe, лоскуты, добавленные к примитивам вдоль первоначально покрытых ребер, всегда представляются как ребра. Рисунок 14.16 рассматривает ситуацию, при которой вершина цилиндра была удалена и вновь показавшимся ребрам даны QuadPatch. Поскольку вершина цилиндра изначально была "жесткой", ребро существует даже несмотря на дальнейшее объединение с лоскутными вершинами. Данная ситуация является уникальной, поскольку прерывистость сглаживания нельзя ни ввести для других лоскутов, ни устранить для этих. Памятуя о вышесказанном, прерывистость можно избежать или использовать для своей выгоды, когда требуется представить разрыв в сглаживании, но вы не хотите конвертировать лоскутную модель в каркасную (вынужденно добавляя модификатор Smooth или EditMesh).

Применение EditPatch

EditPatch является основным инструментом редактирования лоскутов. Концептуально EditPatch подобен EditMesh и EditSpline, хотя по общему мнению менее живуч. Как и EditSpline, EditPatch сохраняет каждое выполненное редактирование. Это означает, что чем дольше вы работаете с модификатором, тем больше будет файл (и больше потребность в RAM). Достигнув состояния, когда полученная модель устраивает, определенно стек лучше разрушить. Модели с длинной историей редактирования могут иметь файл, длиннее обычного в 100 и более раз. До тех пор, пока не будет включен модификатор, преобразующий модель в каркасную, результат разрушения стека является объектом Patch, к которому можно применить модификатор EditPatch и вернуться к лоскутному моделированию.

EditPatch является единственным инструментом для установки выборок лоскутных подобъектов. В отличие от каркасного моделирования, модификатор Volume Select для случая лоскутов не работает. К сожалению, он преобразует лоскуты в каркасы и анимации подобъектов должны устанавливать свои выборки при помощи EditPatch. Учитывая накладные расходы, выборки лучше всего определять в модификаторах EditPatch, которые не выполняют никакого редактирования, а применяются только для выбора. Добавление специальных модификаторов выборки EditPatch должно стать стандартным приемом.

Добавление EditPatch в качестве самого первого объекта в историю редактирования примитива преобразует последний в лоскутный объект. Примитив остается лоскутом до тех пор, пока не будет добавлен модификатор, который требует преобразования в каркас (например, Normal или Volume Select). Добавление любого модификатора, отличного от EditPatch, в качестве самого нижнего модификатора стека, преобразует примитив в каркас и удаляет любое лоскутное редактирование, которое могло производиться при помощи последующих модификаторов EditPatch. Для добавления UVW Map (например) перед первым EditPatch, следует прежде добавить EditPatch.

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

Работа с лоскутами на уровне Object

Уровень Object модификатора EditPatch (см. рис. 14.17) предоставляет возможность добавления других лоскутных объектов и сохранения управления плотностью каркаса всего лоскутного объекта. При моделировании на других уровнях принято часто возвращаться на уровень Object с целью настройки параметра Steps для более быстрого или более точного моделирования вершин.

ПРИМЕЧАНИЕ

В отличие от EditSpline или Edi+Mesh, ни на одном из уровней EditPa+ch клонирование не поддерживается. При лоскутном редактировании можете забыть о клавише Shift. Единственным способом создания чего-то, похожего на клон, является отсоединение лоскутов при помощи опции Copy.

Топология лоскута

Параметр Steps влияет на то, сколько делений делается внутри всех лоскутов объекта. Как и со всем в 3DS МАХ, для целей визуализации геометрия должна преобразовываться в грани. Параметр Steps диктует, сколько делений и тем самым, сколько граней, порождается внутри каждого лоскута объекта. Это во многом похоже на параметр шагов для примитивов сплайнов, где установка шагов делает сплайн более округлым. Однако в отличие от сплайна, лоскуты всегда позволяют управлять шагами, даже после того, как они были разрушены. Просто добавьте модификатор EditPatch и всегда сможете установить шаги лоскута в данный момент времени (см. рис. 14.18). Это один из самых мощных аспектов лоскутного моделирования, поскольку имеется возможность установки сложности модели (и результирующих требований к RAM). Поскольку это анимируемый параметр, плотность лоскутной модели может настраиваться по мере изменения значимости модели для сцены.

Объем дискового пространства для лоскутной модели не зависит от параметра Steps. Однако объем RAM для отображения и визуализации - зависит. Для каждого лоскута генерируется (Steps + I)2 граней. При потере бдительности большие значения параметра Steps могут поставить систему на колени. Максимальное значение для Steps составляет 100. При этом для модели создается более двух миллионов граней. Во время настройки счетчика Steps не прибегайте к помощи ускоряющей клавиши Ctrl!

Присоединение лоскутов

Присоединение предоставляет возможность добавить дополнительный лоскутный объект в одно и то же определение лоскутного объекта. Обычно это производится для целей объединения лоскутов вместе, поскольку объединение может происходить только в рамках одного лоскутного объекта. Присоединяемые объекты, которые не являются лоскутными, транслируются в них во время присоединения. Рисунок 14.19 демонстрирует цилиндрический примитив, конвертируемый в лоскут как часть присоединения. Следует быть особенно внимательным в случае присоединения больших каркасных объектов, у которых параметр Steps установлен в большое значение. Такое присоединение существенно раздувает размер модели.

В отличие от EditMesh, но подобно EditSpline, функция Attach обеспечивает опцию Reorient. Если опция включена, выделенный объект переориентируется так, чтобы подходить к объекту EditPatch (см. рис. 14.19). Опция Reorient центрирует выделенный объект в соответствии с его центром создания и совмещает с центром создания активного объекта. Значения вращения и масштабирования активного объекта просто копируются в присоединяемый объект. Для вращения такое копирование имеет эффект выравнивания присоединяемого объекта, что обычно и желательно. Этого нельзя сказать о трансформации масштаба, которая оказывает влияние на геометрию модели. Для предотвращения такого изменения масштаба следует использовать модификатор XForm, а не трансформацию для выполнения масштабирования базового объекта.

ПРИМЕЧАНИЕ

Иногда опция Reorient преподносит сюрпризы, поэтому советуем использовать функцию Align для центрирования объектов перед присоединением. Это будет гарантировать корректность результата переориентации.

Лоскутное моделирование на уровне Patch

Уровень Patch (см. рис. 14.20) обеспечивает основы управления лоскутом. Здесь можно производить различные трансформации, изменять состояние внутренних вершин и "хирургически" отсоединять, удалять и делить. Интересно, что некоторые операции уровня лоскута (подобные удалению и делению) оказывают куда меньшее влияние, чем трансформации на уровне вершины или ребра. На практике уровень Patch используется в основном для отсоединения и деления лоскутов, а также определения статуса внутренних вершин.

Трансформация лоскутов

При перемещении, вращении или масштабировании лоскута на самом деле трансформируются все его вершины. В общем случае работа на уровне Patch ограничена начальной широкой настройкой. Более тонкие детали обеспечиваются на уровне Edge и особенно на уровне Vertex. Удаление на уровне Patch является наиболее управляемым методом удаления лоскутов, поскольку удаляется только то, что выделено - лоскуты, которые совместно используют ребра, остаются.

ПРЕДУПРЕЖДЕНИЕ

Лоскуты используют локальную систему координат в качестве мировой и всегда поворачивают и масштабируют вокруг начальной точки мировых координат. Таким образом использование локальной системы координат на уровне Patch не поощряется.

При трансформации лоскутов следует внимательно следить за статусом внутренних вершин. При использовании метода по умолчанию Auto Interior внутренние вершины всегда перемещаются с лоскутом. В случае активности Manual Interior внутренние вершины замораживаются на месте и перемещаться не могут. Рисунок 14.21 показывает эффект масштабирования лоскутов, у которых для внутренних вершин установлен режим Manual Interior.

ПРЕДУПРЕЖДЕНИЕ

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

Отсоединение лоскутов

В отличие от EditMesh отсоединение лоскута всегда приводит к созданию нового объекта. Отсоединение является единственным способом "клонировать" лоскут из модели, поскольку стандартное клонирование модификатором EditPatch не поддерживается. В отличие от EditMesh опция сохранения нового лоскута как элемента недоступна. Если необходимо, чтобы новый лоскут был частью того же самого объекта, следует использовать Attach на уровне Patch Object.

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

Лоскутное моделирование на уровне Edge

Работа с ребром лоскута подобна одновременному манипулированию двумя вершинами. Ребра бывает трудно идентифицировать, поскольку практически всегда требуется видеть решетку, чтобы убедиться в правильности выбора ребра. Обратите внимание на то, что на рисунке 14.22 нет функции Delete, поскольку удалять на уровне Edge нельзя. На практике уровень Edge обычно используется для добавления новых лоскутов.

ПРЕДУПРЕЖДЕНИЕ

Использование клавиши Delete с выбранным Edge удаляет весь лоскутный объект, так как функция Delete не определена и клавиша Delete в этом случае применяется на объектном уровне.

Трансформирование ребер лоскутов

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

Как и лоскуты, ребра не могут влиять на внутренние вершины, которые находятся в режиме Manual Interior. Данные вершины остаются вне трансформации ребра. Перевод лоскута в режим Auto Interior возвращает внутренние вершины к их положениям по умолчанию и трансформации ребер теперь будут оказывать на них влияние.

ПРЕДУПРЕЖДЕНИЕ

Ребра лоскута рассматривают локальную систему координат в качестве мировой и всегда поворачивают и масштабируют вокруг начальной точки системы World. Таким образом использование локальной системы координат на уровне Edge не поощряется.

Добавление лоскутов

Главная причина перехода на уровень Edge заключается в добавлении лоскутов. Добавление ребер является единственным способом расширения границы лоскутного объекта, который отличается от объединения. Добавляемые ребра объединяются с выбранным ребром. Оставшиеся вершины нового лоскута (две для Quad или одна для Tri) свободны для манипуляций. В большинстве случаев они объединяются с другими лоскутами.

Добавление ребер не является столь уж фундаментальным изменением, как это может вначале показаться. После выделения ребра вы щелкаете на Add Tri или Add Quad для выбора типа лоскута. Неочевидно то, что каждое выбранное ребро получает лоскут. Это может оказаться проблемой в случае создания дублирующих лоскутов там, где кажется имеется только один. Рисунок 14.24 демонстрирует типичную ситуацию, при которой случайно добавились лишние лоскуты из-за того, что было выбрано слишком много ребер. Как показывает нижнее правое видовое окно, дублирующиеся ребра можно отделить друг от друга для просмотра дубликатов.

Корректный метод добавления лоскутов во внутренние углы заключается в выделении единственного ребра (смотрите нижнее левое видовое окно на рисунке 14.25). После добавления новых лоскутов вернитесь на уровень Vertex, выполните Select All и объедините весь лоскут так, чтобы вновь добавленные лоскуты разделяли смежные ребра. При добавлении лоскутов к внешним ребрам не требуется настоль большого внимания. Обычно места для размещения новых лоскутов очевидны. Рисунок 14.26 показывает добавление TriPatch к QuadPatch и затем перемещение вершин для создания начальных штрихов цветка.

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

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

Лоскутное моделирование на уровне Vertex

Уровень Vertex (см. рис. 14.28) - это то, где происходит большая часть лоскутного моделирования. Дело в том, что Vertex является единственным уровнем, на котором доступны критические тангенциальные вектора. В отличие от каркасных вершин лоскутные вершины и их вектора оказывают значительное влияние на окружающую поверхность. Фактически настройка вершин одного лоскута похожа на трансформацию вершин одного каркасного элемента с опцией Affect Region.

СОВЕТ

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

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

Фильтры вершин весьма полезны, хотя их флажки могут сбивать с толку. Когда включены обе опции (состояние по умолчанию), можно выделять ручки как вершин, так и векторов. Щелчок на Vertex отфильтровывает вершины таким образом, что можно выделять только векторные ручки, а щелчок на Vectors отфильтровывает векторы так, что можно выбирать только вершины. Несколько странное переключение опций предотвращает отфильтро-вывание и векторов и вершин, поскольку в этом случае выбирать было бы нечего. Но даже, если перед выбором фильтровать Vertices, нет возможности влиять на векторы, потому что они отображаются только тогда, когда их вершины выбраны. Для работы только с векторными ручками следует выполнить Select All и затем установить Filter Vertices. В основном фильтры используются тогда, когда векторные ручки совпадают или находятся близко к вершинам и требуется гарантировать выбор чего-то одного.

Трансформация ручек вершин и векторов

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

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

СОВЕТ

Вновь введенные модификаторы FFD (Free Form Deformation - свободная деформация формы) могут выполнить анимацию поверхности лоскутов способом, который очень похож на настройку тангенциальных ручек. Модификаторы FFD сохраняют модель как лоскут и являются в высшей степени полезными инструментами для манипулирования лоскутными моделями.

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

СОВЕТ

Для перемещения одной векторной ручки в точности вдоль вектора масштабируйте ручку и она будет двигаться коллинеарно родительской вершине. #PЩелкнув на вершине правой кнопкой мыши или выбрав вершины, вы получаете возможность редактировать тип их вектора. Данная процедура похожа на соответствующую процедуру для сплайновых вершин, за исключением того, что существуют только две опции - coplanar и corner. Опция Corner предоставляет возможность настраивать каждый вектор независимо, при этом редактирование одного вектора не оказывает влияния на остальные. Подобная настройка не затрагивает гладкость пути или непрерывность. Опция Coplanar настраивает ручки Vertex на копланарность друг с другом и затем замыкает вектора так, чтобы они поддерживали свои копланарные отношения. Удивительным может показаться то, что копланарная настройка не гарантирует и не порождает тангенциальное затрагиваемых лоскутов. Она только выравнивает векторные ручки на общей плоскости.

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

СОВЕТ

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

Когда используется локальная система координат, трансформация вершин лоскутов отличается от трансформации лоскутов или ребер. Если Local активна, вершины вращаются и масштабируются вокруг локальных осей, которые выровнены так же, как и сам объект. Это не зависит от опции текущей точки вращения. Сказанное означает, что при использовании с вершинами локальной системы координат, опция Use Selection Center эффект не оказывает. Несмотря на свою сложность, данная возможность позволяет независимо вращать или масштабировать вершины - с эффектом, который заключается в том, что векторные ручки вращаются и перемещаются к и от статических вершин. Если их требуется вращать относительно общего центра, то выберите другой тип системы координат (например, Parent).

Опция Lock Handles блокирует ручки так, что настройка одной влияет на другую. Только когда ручка двигается вдоль своего вектора (масштабируется), другие остаются без влияния. Lock Handles является глобальным параметром для лоскутного объекта, который идентичен по своему воздействию на ручки установке параметра Coplanar. На практике, вероятно, данные параметры включаться не будут. Их основное применение состоит в настройке вершин Corner, которые требуют, чтобы их ручки поддерживали постоянные взаимоотношения.

Объединение

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

  • Нельзя объединять две вершины одного и того же лоскута.
  • Лоскуты должны принадлежать одному объекту.
  • Объединение может осуществляться только между разомкнутыми ребрами.
  • Объединение не получится, если результат будет формировать ребро, которое можно использовать более чем двумя лоскутами.
  • При попытке объединения вершины, которая не находится на разомкнутом ребре, в силу приведенных ограничений объединение игнорируется.

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

СОВЕТ

Выбор лоскутов для вершин, положение которых изменять не требуется, имеет критическое значение при добавлении лоскутов к уже завершенным областям модели.

Объединение лоскутов имеет несколько "магический" оттенок благодаря тому, что объединенные лоскуты становятся тангенциальными и гладкими. При объединении ребра, которые определяются векторными ручками и вершинами, имеют новые точки интерполяции. Благодаря этому кривые Безье порождают натурально гладкую поверхность. Рисунок 14.29 показывает, как несколько добавленных лоскутов гладко начинаются на своих добавленных ребрах. Они становятся непрерывными, когда их угловые вершины близко притягиваются друг к другу и объединяются. Чудесное свойство кривых Безье в том и заключается, что они поддерживают непрерывность между смежными кривыми, в данном случае - между лоскутами.

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

СОВЕТ

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

Удаление

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

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

При работе с лоскутами меньше всего хочется ввести в Modifier Stack что-то такое, что заставит лоскутный объект преобразоваться в каркас. Определенные модификаторы всякий раз форсируют такое преобразование, поэтому их следует использовать только на самой вершине стека так, чтобы лоскутное моделирование продолжалось ниже без проблем. Модификаторы, которые сконструированы для работы с каркасами и гранями (практически все, имеющие дело с поверхностью) должны конвертировать объект в каркас. В Выпуске 1.1 следующие модификаторы в случае применения всегда преобразуют лоскуты в каркасы:

EditMesh Smooth VolumeSelect Relax Material Normal MeshSmooth Optimize

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

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

Использование модификаторов на лоскутах

Модификаторы можно добавлять в историю редактирования лоскутов в основном тем же способом, по которому они добавляются к каркасам. Не забывайте избегать модификаторов Optimize, Relax и MeshSmooth. Хотя модификаторы действуют для каркасов и лоскутов одинаково, их эффект обычно различный. И каркасы, и лоскуты модифицируются своими вершинами. Лоскуты отличаются тем, что их вершины являются управляющими точками и не принадлежат поверхности. Таким образом модификатор, манипулирующий вершинами лоскутов, очевидно оказывает более сильное влияние на поверхность, чем модификатор, манипулирующий вершинами каркасных элементов. Рисунок 14.32 показывает перемещение модификатора Displace по диагонали поверхности лоскута. Во всех четырех кадрах модификатор был на одном уровне и его значения не изменялись. Причина существенно разного эффекта состоит в том, что управляющие вершины лоскута были смещены и поскольку они определяют поверхность лоскута через интерполяцию, то поверхность также значительно сместилась.

ПРИМЕЧАНИЕ

Если имеется лоскутная модель и необходимо, чтобы результат вел себя как каркас, а не как лоскут, поместите в конец стека редактирования какой-нибудь простой модификатор типа Normal, который преобразует модель в каркасную. Рисунок 14.33 показывает ту же самую четырехкадровую модель из рисунка 14.32, за исключением того, что между EditPatch и Displace был вставлен модификатор Normal, превративший лоскут в каркас.

Переключение с лоскутного моделирования на каркасное происходит безболезненно благодаря тому, что сложность поверхности модели не меняется. Для определения результирующего каркаса используется поверхность, определенная параметром Steps из EditPatch. Добавление дополнительного модификатора EditPatch после каркасного редактирования значительно увеличивает сложность геометрии модели, поскольку каждая грань превращается в TriPatch. В идеале вы должны выполнить все каркасное редактирование после лоскутного и вернуться к лоскутному редактированию, перейдя ниже по стеку Edit History.

ПРИМЕЧАНИЕ

Будьте внимательны при возврате к EditPatch после каркасного моделирования. Дело в том, что параметр Steps влияет на упорядоченность вершин и граней, используемых последующими каркасными модификаторами.


ГЛАВА 15

Сложные модификаторы

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

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

  • Модификаторы геометрии
  • Модификаторы каркасов
  • Модификаторы трансформаций
  • Модификаторы поверхностей

Модификаторы геометрии

Некоторые из наиболее разносторонних модификаторов - это работающие с различной геометрией. К такому типу принадлежат модификаторы осевых деформаций (Bend, Taper, Twist, Stretch, Skew), описанные в главе 8, "Моделирование на уровне объектов".К этому списку мы добавляем Displace, Noise, Wave, Ripple и FFD. Каждый из них немного сложнее модификаторов, описанных ранее, но каждый привносит с собой невероятные возможности моделирования.

Использование Displace

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

СОВЕТ

Клавиша Escape прекращает Displace во время длительных вычислений и возвращает вас к предыдущим параметрам.

Параметр Strength, задаваемый в единицах, управляет дистанцией, на которую перемещаются затрагиваемые вершины в соответствии с проекцией отображения. Координаты отображения, расположенные по нормали по отношению к поверхности, под 90°, смещают вершины на дистанцию, равную величине Strength. Рисунок 15.1 показывает эффект использования проекций Spherical и Planar модификатора Displace со значением Strength равным 5 на коробке с шириной 10. Планарная проекция смещает на 5 весь квадрат, тогда как при сферической проекции смещение 5 получает только область по центру сферы.

ПРИМЕЧАНИЕ

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

Уникальность модификатора Displace заключается в его кнопке Image. Щелчок на кнопке Image (помеченной как "None") обеспечивает возможность выделения любой битовой матрицы, модулирующей силу модификатора.

Во всех случаях битовые матрицы считываются как карты интенсивности, где используется яркость и цветные образы обрабатываются в оттенках серого. Белые пикселы производят полный эффект, черные не производят никакого и серые производят эффект, пропорциональный насыщенности. Рисунок 15.2 показывает это на верхних картинках. Белый крест проектируется на всю величину 15, 50%-ное серое окружение проектируется на половину этого и черная область влияния не оказывает.

Опция Center Luminance (центрировать яркость) влияет на параметр Strenght и используется тогда, когда необходимо, чтобы битовая матрица смещало поверхность как в одном, так и в другом направлениях. При включенной опции белое и черное рассматриваются как равное, но с противоположным действием. Белое теперь составляет 50% параметра Strength, черное -50%, среднее серое влияния не оказывает и светло-серое или темно-серое имеет пропорциональный эффект. Рисунок 15.3 показывает влияние данной опции в нижних видовых окнах, где прежде гладкая черная область теперь вырезала углубление, а 50%-ная серая область осталась на уровне с исходной поверхностью. Если вы не используете битовой матрицы, то установка Center Luminance усекает Strength наполовину, но не форсирует отрицательного смещения.

ПРИМЕЧАНИЕ

3D Studio MAX использует такой объем RAM, который необходим для обработки цветовой глубины битовых матриц. При ссылке на матрицу интенсивности 8-битовая версия оттенков серого требует одну треть RAM по сравнению с тем же самым образом в 24-битовом цвете. Образы в оттенках серого более интуитивны, поскольку глубину серого сравнить проще, нежели вообразить серые эквиваленты цвета цветов.

Опция Blur принимает значения от 0 до 10 и влияет на битовую матрицу, пропуская ее через размывающий фильтр. Эффект похож на размывание, получаемое в Materials Editor, когда контрастные ребра образа смягчаются. Верхние окна на рисунке 15.3 показывают, как небольшое значение размывки предотвращает появление грубых ступенчатых ребер. Нижние виды на рисунке показывают, как большие значения размывания полностью выветривает смещение.

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

При включении опции Use Existing Mapping текущая проекция Displace игнорируется и существующие координаты отображения - они могут быть уже применены - используются для управления смещением. Рисунок 15.5 показывает смещение сферического образа с различными степенями мозаичности. Два отображаемых типа, которые не допускает Displace (Box и Cylindrical Cap), также представлены. Кроме того, как показано на рисунке 15.6, существующая опция отображения предоставляет возможность смещаться в соответствии с очень изощренными координатами, независимо от того, были ли они выстроены искусственно или получились в результате многочисленных деформаций.

ПРИМЕЧАНИЕ

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

Для влияния на модель или чаще на отдельные части модели Displace часто применяется без существующего отображения. В таком режиме Displace становится похожим на случайные "вмятины" в модели или на вытягивание поверхности модели "магнитом". Рисунок 15.7 показывает то, как сферический гизмо (неодинаково масштабированный, чтобы быть эллипсоидом) идеально подходит для указанной аналогии, независимо от того, имеет ли он позитивное или негативное влияние.

При локализации эффектов (подобных искажению носа) параметр Decay (ослабление) становится очень важным, поскольку не дает Displace возможности оказывать влияние на весь объект. Decay используется для ограничения степени влияния Displace. По мере увеличения Decay влияние Strength уменьшается. Значения для Decay подобрать непросто, особенно потому, что они одновременно влияют и на Strength. Лучше всего увеличивать Decay и затем Strength до тех пор, пока не будет достигнут желаемый результат.

СОВЕТ

Часто проще установить очень высокое значение Strenght для того, чтобы видно было влияние Decay, и затем уменьшить Strength до получения желаемого результата.

Опции укладки мозаикой для Displace влияют как на существующее, так и на применяемое отображение. Значения, большие одного, приводят к повторению узора внутри элемента. Если используется существующее отображение, то учитывается предыдущее значение мозаики, но только для первого повторения узора. Таким образом предыдущая мозаика обладает эффектом масштабирования области элемента Displace. Предыдущая мозаика может вводить в заблуждение и применять ее не рекомендуется.

При работе с существующим отображением текущий Displace Map Туре влияет на его интерпретацию. Если установить Displace Map Type в Planar, только первый шаг мозаики имеет отношение. Таким образом можно управлять размерами предыдущего отображения, выбирая форму элемента Displace.

Опция Apply Mapping включается тогда, когда необходимо быстро применить отображение внутри Displace в качестве актуальных координат для материалов (или будущих модификаторов). С этой целью обеспечивается только поле W Tile, поскольку оно не оказывает влияния на сам Displace. Опции Alignment внутри Displace идентичны таким же опциям модификатора UVW Mapping.

СОВЕТ

Можно выполнить анимацию элемента Displace, присвоив ему путь или контроллер Look At. Такой прием часто дает большую степень управления, нежели использование версии искажения пространства (space warp) модификатора в мировом пространстве.

На практике для получения необходимых деталей для Displace приходится использовать предельно мелкие элементы каркаса. Данные детали могут получаться из параметров поверхности объекта, мозаики EditMesh или из модификатора MeshSmooth. После того, как Displace выполняет свою деформацию, за ним часто следует модификатор Optimize (обсуждаемый позже в разделе "Каркасные модификаторы"), сокращающий накладные расходы на геометрию. Модификатор Smooth также является частым спутником, следующим за Displace или Optimize, обеспечивая правильное назначение групп сглаживания для вновь смоделированной геометрии. Таким образом распространен следующий порядок применения Displace в стеке модификаторов:
MeshSmooth, Displace, Optimize, Smooth.

Использование Noise

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

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

Нижний левый (Тор) вид на рисунке 15.8 показывает, что шум не виден, если смотреть вдоль активной оси, в данном случае оси Z. Эффект виден при просмотре с двух других сторон. Noise выполняет свое стандартное смещение - синусоидальную кривую по осям Х и Y. Когда каждой оси соответствует одно и то же значение Strenght, то как показано на верхних картинках рисунка 15.8, вдоль каждой оси посылается синусоидальная волна. Начальная фаза кривой управляется значением Seed, поэтому изменение значения Seed является быстрым способом придания сходным объектам разных шумовых смещений. Ограничиться смещением вдоль одной оси невозможно (для того, чтобы это сделать смотрите модификатор Wave).

ПРИМЕЧАНИЕ

Независимо от того, настоль радикально смещается геометрия посредством Noise, вершины на экстремумах элемента Noise остаются стационарными, поскольку они являются конечными точками смещения сплайновой кривой.

Параметр Scale влияет на значения Strength вдоль всех осей. Его следует рассматривать как способ настройки всех трех осей. Scale начинается со 100 (процентов) с нижними значениями, уменьшающими смещение кривой, и верхними значениями, увеличивающими смещение. Если требуется сохранить дистанцию смещения, то по мере сглаживания кривой следует компенсировать гладкость за счет увеличения Strength. To же самое справедливо для нижних значений.

Когда включена опция Fractal, то к исходно гладкой синусоидальной кривой добавляется фрактальная кривая. Результат такого добавления показан на рисунке 15.9. На практике это является наиболее распространенным применением модификатора Noise, поскольку создание и анимация подобного эффекта вручную предельно утомительно. С Noise данный эффект является просто делом интерактивной настройки нескольких параметров. Фрактальные ландшафты обычно генерируются только вдоль одной оси, поскольку использование двух или трех осей сместило бы вершины горизонтально. Параметр Iterations управляет тем, сколько "пиков" образуется вдоль синусоидальной кривой, где 1.0 не делает ничего (потому что начальная синусоидальная волна и является первой итерацией), и 10.0 дает девять дополнительных вариаций. Будьте внимательны с большими каркасами, поскольку возрастание итераций увеличивает время вычислений. Сопровождающий параметр Roughness настраивает изломанность фрактальной кривой и действует как вертикальная настройка смещения вершин. Чем выше Roughness, тем резче шум.

СОВЕТ

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

В отличие от контроллера Noise не существует графа, который бы описывал функцию шума. Вместо этого кривую шума достаточно хорошо представляет гизмо модификатора. Манипулирование центром гизмо очень похоже на настройку значений Seed или Phase, и анимация элемента порождает деформации гладкости. С целью влияния на фазу переместите центр перпендикулярно оси, которую хотите модулировать (например, если это ось Z, переместите центр в плоскости XY). Масштабирование гизмо похоже на одновременную настройку параметров Scale и Strenght. Вращение гизмо изменяет направление вытягивания вершин. Для анимаций лучше всего использовать гизмо и его центр, а не Seed, который приводит к очень резким изменениям на интервал. Как показано на рисунке 15.10, анимация гизмо шума и его центра предоставляет множество интересных возможностей.

Анимация шума управляется опцией Animate Noise. Когда опция включена, Phase упраляет циклом анимации смещаемых кривых. Когда Animate Noise включается впервые, в каждый конец активного сегмента времени помещается ключ. Потом можно обычными способами добавить дополнительные ключи. Если Animate Noise отключить, Track View будет игнорировать дорожку. При включенном Animate Noise ключи возвращаются в активное состояние. Хотя сопровождающий параметр Frequency анимировать нельзя, однако он влияет на "скорость" заданной фазы.

ПРИМЕЧАНИЕ

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

Использование модификатора Wave

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

Значение Amplitude выражает расстояние от гребня волны до исходной поверхности. Как показано в верхней части рисунка 15.11 установленные в одно и то же значение Amplitude 1 и Amplitude 2 порождают унифицированную волну. Amplitude 1 управляет высотой у центра гизмо и Amplitude 2 определяет высоту волны у двух ребер. Обратите внимание на то, что ширина волны всегда занимает всю ширину выборки. Модификатор Wave повторяется только вдоль главной оси. Амплитуды предоставляют возможность модулировать эту одну волну по ее ширине - важное замечание при моделировании ската.

Кривая ширины определяется Amplitude 1 и (по умолчанию вдоль оси Х объекта) является бесконечной неповторяющейся кривой. Как показано на рисунке 15.12, центр гизмо определяет центр кривой. Высота, задаваемая Amplitude 2, является относительной только тогда, когда центр находится в середине ширины гизмо. Рисунок 15.12 также показывает, что перемещение центра к любой из сторон "сдвигает" кривую и значительно изменяет высоту ребра. Таким образом центр гизмо устанавливает позицию и центр первой волны с амплитудами, определяющими высоту.

Параметр Wave Length (длина волны) управляет расстоянием между гребнями волны или, что более правильно, частотой волны. Это свойство имитируется также масштабированием элемента вдоль оси Y. Параметр Phase (фаза) управляет положением или циклом волны во время ее прохождения вдоль оси Y. Данный параметр подлежит анимации, если требуется получить катящуюся волну. Действие параметра Phase можно также достичь, если перемещать центр гизмо вдоль оси Y.

Параметр Decay (затухание) предоставляет возможность гасить волну (если он меньше 1.0) или усиливать ее (если он больше 1.0). Значения Decay имеют тенденцию быть очень маленькими (часто менее 0.1) и управлять затуханием только по длине волны, поскольку высота волны постоянна вдоль ширины и модулируется только параметрами амплитуды. Источником затухания является центр гизмо, поэтому его правильное размещение играет большую роль. Нижние виды рисунка 15.13 показывают результаты использования Decay. Как демонстрируют два верхних вида того же рисунка, манипулирование центром гизмо дает еще большее число вариантов того, что можно создать. Дело в том, что вращение гизмо ориентирует или искажает волны.

Использование модификатора Ripple

Модификатор Ripple (пульсация) идентичен искажению пространства Ripple за исключением того, что действует в локальном, а не мировом пространстве. Он очень похож на модификатор Wave в том, что смещает вершины в соответствии с синусоидальной кривой. Различия заключаются в том, что Ripple проектирует свою синусоидальную кривую радиально от центра гизмо, а не линейно вдоль одной из осей, как это делает Wave (рис. 15.14).

По умолчанию Ripple модифицирует ось Z объекта с Amplitude 1, влияющей на ось X, и Amplitude 2, влияющей на ось Y. Практически для всех пульсации жидкости данные значения должны оставаться одинаковыми. Различающиеся значения обычно означают, что вы моделируете эффект, подобный показанному на рисунке 15.14 на нижнем правом виде (здесь для усиления эффекта гизмо был неровно масштабирован).

Параметры Wave Length, Phase и Decay похожи на соответствующие параметры модификатора Wave. Влияние положения центра гизмо гораздо понятнее, поскольку он определяет центр пульсации. Его можно представлять как камешек, брошенный на поверхность жидкости. Как всегда ориентация гизмо существенно влияет на деформацию. Используя несколько модификаторов Ripple и Wave, которые сталкиваются друг с другом, можно создавать убедительно выглядящую воду или пятнистые поверхности.

Использование Free Form Deformation

Модификаторы Free Form Deformation (FFD) являются относительно недавним дополнением 3DS МАХ, которые можно бесплатно получить из www.ktx.com после заключения юридических соглашений с Viewpoint DataLabs (владелец патента на концепцию FFD). В поставку включены три модификатора FFD с различными плотностями решеток (2 х2 х2,3 хЗ х3и4 х4х4). Модификаторы FFD действуют на вершины независимо от того, каркасы это, лоскуты или даже сплайны.

ПРЕДУПРЕЖДЕНИЕ

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

В принципе смещение FFD элегантно и просто. На поверхности размещается решетка управляющих точек и при перемещении управляющей точки поверхность деформируется. Как показано на рисунке 15.15, при использовании решетки 4х4х4 деформация соотносится с кривой Безье. При решетке 4х4х4 конечные управляющие точки "приклеены" к поверхности, а промежуточные управляющие точки при перемещении формируют кривую Безье. Модификатор 3х3х3 работает в основном похоже, за исключением того, что в нем имеется только одна средняя точка для интерполяции. Модификатор 2х2х2 имеет лишь угловые управляющие точки и генерирует линейную интерполяцию.

ПРИМЕЧАНИЕ

С появлением FFD утратили свою важность несколько других модификаторов 3DS МАХ. Модификатор 2х2х2 устраняет потребность в использовании Skew, a 4 х 4 х 4 сокращает частоту применения Wave.

Сила FFD заключается в их способности к локализации своего эффекта. При масштабировании решетки, пока активна опция Deform/Only In Volume, будут деформироваться только вершины в объеме решетки (см. верхние видовые окна на рис 15.16). Объем решетки определяет выделения прежде чем будут перемещены любые управляющие точки. Это предоставляет возможность перемещать управляющие точки в любом направлении, не влияя на выделение. Нижние видовые окна на рисунке 15.16 показывают, что при масштабировании решетки до небольшой области и затем переключении выбора на All Vertices, результирующее смещение из-за интерполяции может оказаться достаточно большим.

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

СОВЕТ

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

Если вы не хотите знать о протяженности решетки, можете определить подобъектную выборку (посредством модификаторов Edit или Volume Select) и после этого присвоить модификатор FFD. Модификаторы FFD, как и большинство других модификаторов 3DS МАХ, учитывают активную выборку. Выбор Deform/All Vertices игнорирует размеры решетки и влияет на все вершины, которые находятся внутри текущей активной выборки. Вероятно данная опция при работе с выборками подобъектов понравится вам больше других. Модификаторы FFD могут также укладываться в стек и каждый работать с отдельной выборкой. Это предоставляет возможность помещать деформацию FFD именно там, где она нужна, и настолько часто, насколько это необходимо. Рисунок 15.17 показывает, как размещаются три модификатора FFD для целей анимации тонкостей движения уха и ноздрей.

Модификаторы FFD также можно анимировать на уровне решетки или управляющей точки. Аяимация решетки перемещает управляющие точки и их влияние. Это позволяет перемещать решетку по объекту для организации специальных анимационных эффектов. До тех пор, пока недоступно искажение пространства FFD, такая технология необходима для эффектов "сквозь замочную скважину". Но реальная сила FFD заключена в анимации управляющих точек. При активной кнопке Animate каждая выполняемая трансформация управляющей точки генерирует ключ (см. рис. 15.18). Анимационные треки управляющих точек не добавляются до тех пор, пока не будет выполнена анимация точек, подобно добавлению треков к деформационным сеткам Lofter при их анимации. Анимация управляющих точек, особенно на локальных дискретных выделениях, предоставляет возможность тонкого управления. Модификаторы FFD следует использовать всегда, когда требуется выполнить анимацию ряда вещей, которые в 3DS МАХ анимировать затруднительно (например, смещение вершины Affect Region в EditMesh или тангенциальные ручки вершин в EditPatch).

Каркасные модификаторы

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

Использование Optimize

Optimize (оптимизировать) является главным инструментом 3DS МАХ для сокращения количества граней. Это также метод для ускорения перерисовки при манипулировании большими моделями. В любом случае Optimize анализирует угол каждой грани с ее смежными гранями и сравнивает этот угол с пороговым значением. Как показывает рисунок 15.19, Optimize принято использовать после того, как другой модификатор сгенерировал или затребовал большое количество граней (например, MeshSmooth или Displace). Оптимизированный результат с оригиналом сравнивается легко за счет временного выключения пиктограммы лампочки модификатора Optimized.

СОВЕТ

Нажатие клавиши Escape прекращает оптимизацию в случае длинных вычислений и производит возврат к предыдущему состоянию. Это важно, поскольку для больших моделей Optimize требует значительного времени. Таким образом можно прерывать случайные действия (такие как Undo).

Параметр Threshold является ключевым в Optimize, поскольку управляет тем, какие грани будут удалены. Грани внутри порога определяются таким же методом, что и описанный для функций AutoEdge, AutoSmooth и Explode модификатора EditMesh в главе 13, "Каркасное (mesh) моделирование".

Face Threshold оказывает влияние на грани, которые совместно используют три ребра с другими гранями. Значение Edge Threshold управляет оптимизацией только граней с открытыми, неразделенными ребрами. Значение для ребер не может быть выше, чем для граней. Более высокие значения просто игнорируются. Значение по умолчанию 1.0 для ребер оптимизирует коллинеарные ребра. Как показывает рисунок 15.20, различные значения для ребер и граней приводят к различным результатам. Если вы хотите сохранить профиль модели. Edge Threshold должен быть очень низок. При попытке добиться максимальной оптимизации оба порога должны быть одинаковыми.

СОВЕТ

Пороговые значения выше нуля (от 0.01 до 0.1) удаляют все копланарные грани и не затрагивают профиля модели. Для минимизации ошибок порог следует увеличить до 0.1 или 1.0.

Значение Bias управляет формой результирующих граней, со значением 1.0, практически устраняющим оптимизацию, и 0.0, не имеющим эффекта. Низкие значения (меньшие 0.1) устраняют трещины, тогда как высокие значения оставляют достаточное количество вершин для других деформаций. Значение Bias по умолчанию 1.0 устраняет длинные ленточные грани, но если требуется максимальная оптимизация, Bias следует установить в НУЛЬ.

Optimize уникален среди других модификаторов 3DS МАХ, поскольку предоставляет возможность иметь различные значения для интерактивной и окончательной визуализации. Это означает, что сложные модели можно оптимизировать для манипуляций отображения на самом высоком уровне детализации. На рисунке 15.22 показано, что одна и та же модель просматривается с низким количеством граней и визуализируется с исходным количеством. При переключении видовых окон между Level 1 и Level 2 параметры изменяются (они оба имеют одни и те же начальные значения по умолчанию). Это означает, что если для видовых окон используется Level I, необходимо временно переключать видовое окно на Level 2 для редактирования значений. Причина проста: при изменении значений требуется видеть результаты. Применение описанного метода может значительно ускорить работу с насыщенными моделями. Следует помнить, что пока в стеке модификаторов имеется Optimize, вся модель обсчитывается и сохраняется на диске.

СОВЕТ

Сцену можно оптимизировать, не вызывая каких-либо накладных расходов, за счет применения Optimize с уровнем детализации визуализации, установленным в 0.0. При нулевом значении параметра никакие вычисления не выполняются.

Опции Preservation для Material Boundaries и Smooth Boundarues должны тщательно учитываться, если модель использует подобъектный материал или импортируемые установки групп сглаживания. При отмеченной Preservation Optimize обрабатывает каждый ID материала или группу сглаживания как независимую область. Удивительно, что ребра в тех местах, где сходятся различные области, все еще имеют совпадающие вершины. Как упоминалось, материалы и группы сглаживания обычно имеют важные причины для присвоения и часто определяют характерные области модели. Таким образом, если нужно, чтобы эти характерные области оставались после оптимизации, следует использовать Preservation. Рисунок 15.23 отражает влияние, которое оказывает на модель применение и неприменение этой опции для случая групп сглаживания.

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

Использование MeshSmooth

Модификатор MeshSmooth появился в Выпуске 1.1 и обеспечивал возможность округления углов в каркасных моделях. MeshSmooth улучшает геометрию, подбирая мозаичность ребер каркаса таким образом, который значительно более эффективен способа, поддерживаемого EditMesh. Добавление MeshSmooth к модели с небольшим количеством граней часто похоже на добавление шагов в лоскутных или сплайновых моделях (см. рис. 15.24).

Как показано на рисунке 15.25, MeshSmooth создает дополнительные грани, в основном "смещая" каждое ребро в обе стороны и "подгоняя" результат. В результате каждая исходная вершина является центром нового многоугольника, количество сторон которого совпадает с количеством ребер, изначально совместно использовавших вершину. Иногда ребра образуют очень красивые узоры.

Кнопки Iterations выполняют дополнительные вычисления MeshSmooth. Каждая итерация - это то же самое, и что добавление к стеку еще одного модификатора MeshSmooth. Однако следует проявлять осторожность, поскольку с каждой итерацией число вершин учетверяется (по меньшей мере). Модель может стать очень большой, причем достаточно быстро.

СОВЕТ

MeshSmooth чувствителен к клавише Escape. Если вы случайно перейдете от одной к четырем итерациям (и модель вырастет более чем в 50 раз), можете прервать процесс, не дожидаясь результата.

Параметр Strength на самом деле является пропорциональным смещением от исходной вершины. Нулевое значение устраняет эффект MeshSmooth, размещая все вершины на их исходных позициях. Увеличение Strength до 1.0 перемещает все вершины до тех пор, пока они не сойдутся со своими противоположными парами в средних точках. Значения между 0.0 и 1.0 соответствующим образом определяют пропорцию расстояния. Рисунок 15.25 показывает, что если требуется создать упрощенные ребра, распространенные в промышленных изделиях, низкие значения Strength именно это и делают. Высокие значения Strength имеют тенденцию создавать более кристаллические формы, когда ребра сгибаются к средним точкам. Значение по умолчанию 0.5 создает округлую форму с несколькими итерациями. Кроме того, рисунок 15.25 показывает, что значение 0.54 создает из куба практически сферическую форму.

Опция Eliminate Hidden Edges (устранить скрытые ребра), которая по умолчанию включена, игнорирует скрытые ребра. Это единственная операция, где видимый статус ребер играет роль. Рисунок 15.24 показывает одну и ту же геометрическую форму с и без данной опции. Без нее размер модели растет гораздо быстрее и результирующая форма может оказаться неприемлемой.

Для функционирования MeshSmooth важно, чтобы каркас был создан правильно. Дело в том, что для определения мозаичности и направления MeshSmooth пересекает ребра. Если каркас сконструирован некорректно, то MeshSmooth выключает себя, гасит свою лампочку и изменяет имя в Command Panel на "MeshSmooth Error - See Help" (см. рис. 15.26) Когда такое случается, необходимо исследовать и изменить модель в соответствии со следующими правилами:

  • Любое заданное ребро может совместно использоваться только двумя гранями.
  • Грани, которые совместно используют ребро, должны иметь согласованные нормали.

Использование модификатора Relax

Модификатор Relax (уменьшить напряжение) влияет на видимую "напряженность" поверхности каркаса, перемещая вершины ближе или дальше от вершин смежных граней. Рисунок 15.27 показывает то, как вершины мигрируют одна от другой для целей смягчения каркаса. Параметр Relax делает результирующую ослабленную поверхность вогнутой при значениях от 0 до 1.0 и выпуклой при значениях от -1.0 до 0. Параметр Iterations выполняет дополнительную итерацию Relax. Как показывает рисунок 15.28, несколько итераций создают эффекты "уплотнения".

По мере миграции вершин отдельные элементы внутри объекта оттягиваются от других. Как показывает рисунок 15.28, предотвратить подобное можно посредством опции Keep boundary points fixed (сохранить точки границы фиксированными). В отличие от MeshSmooth, итерации в Relax не дорогостоящи, потому что геометрия не усложняется, а только перемещаются существующие вершины. Накладные расходы при большом количестве итераций очень малы, если вообще возникают.

Модификаторы трансформаций

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

Выборка при помощи Volume Select

Volume Select разработан для проведения подобъектных выборок, основанных на определенной области/ объеме (см. рис. 15.29). Это полная альтернатива явному выделению вершин или граней в EditMesh. Все аспекты выделения Volume Select следует хорошо понимать, поскольку его применение существенно для успешного моделирования.

Первая причина использования Volume Select заключается в его минимальных требованиях к памяти и дисковому пространству по сравнению с дорогостоящим модификатором EditMesh. Выборка объема зависит от охватываемой области и не зависит от топологических изменений. Другими словами, Volume Select мало беспокоит, сколько вершин или граней содержит объект. Ему интересно только то, где они расположены.

Напротив, EditMesh зависит от заданной топологии и не зависит от того, какое место выбирается. EditMesh все равно, где размещена выборка, его интересует только количество вершин и граней в объекте. Таким образом, если необходимо изменить общую плотность модели (сегментацию примитивов или лофт-объекта), то для определения выборки следует применить Volume Select, а не явную выборку. Это позволит выборкам объемов работать после модификаторов EditMesh, Optimize и MeshSmooth и быть независимыми от их изменений. Если вы намереваетесь изменять определенные измерения модели (например, параметрические измерения примитивов), то для определения точной выборки требуется применять EditMesh.

ПРИМЕЧАНИЕ

Volume Select работает только с каркасными объектами. Присвоение его лоскутной модели или замкнутому сплайну преобразует объект в каркас.

При первом присвоении Volume Select гизмо принимает размеры активного выборки стека на данном уровне. Часто данная выборка является объектным уровнем и гизмо принимает размеры объекта, вынуждая трансформировать гизмо на подобъектный уровень, если требуется определить подобъектную выборку. Если активная выборка представляет собой выборку вершин, граней или ребер, гизмо действует как большинство модификаторов и подстраивается на подобъектную выборку. В отличие от других модификаторов, гизмо Volume Select не изменяет формы или положения при изменении предыдущей выборки стека. В противном случае ваш тщательно размещенный объем оказался бы испорченным. Таким образом, установка размеров гизмо Volume Selection подобна первичному размещению центра гизмо стандартного модификатора. Первое присвоение определяет положение и последующие настройки выборки его не изменяют.

СОВЕТ

Быстро и аккуратно расположить гизмо Volume Select можно за счет определения размеров подобъектной выборки посредством EditMesh, применив Volume Select и затем удалив модификатор EditMesh из стека. Хотя это может показаться дорогостоящим, но часто является более быстрым и точным способом, нежели трансформация гизмо Volume Select.

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

Stack Selection Level определяет, какой уровень геометрии выбирается (объекты, грани или вершины). По умолчанию принимается уровень Object и выбирается весь объект независимо от размеров элемента. Поскольку выбирается весь объект, остальные элементы управления Volume Select эффекта не оказывают - выбрано все. На уровне объекта вас мало интересует позиция элемента, его размер или форма, все равно всегда выбирается весь объект. Использование Volume Select с несколькими объектами производит выбор объема на уровне граней или вершин. Если оставить объектный уровень, выбираются все объекты независимо от других опций модификатора.

Selection Method определяет, как обрабатывается предыдущая выборка стека. По умолчанию опция установлена в Replace, что отменяет любую текущую выборку стека и делает текущим выбором объем элемента. Опции выборки вступают в силу со следующими опциями, поскольку Add и Replace взаимодействуют с текущей выборкой стека. Это означает, что можно использовать Volumes для булевых методов выборки (см. рис. 15.30). В приведенном примере первый модификатор заменен, второй вычтен и третий добавлен. Затем был добавлен XForm, переместивший и отмасштабировавший результирующую выборку. Volume Selects предоставляет возможность исходной коробке максимизироваться, не искажая формы выборки или конечной модификации.

ПРИМЕЧАНИЕ

Опция Invert модифицирует опцию, выбранную выше (заметьте, что форма - квадратная, а не круглая как переключатель). Если включена опция Invert, выборка объема оценивается и затем результирующая выборка инвертируется. (На практике вы будете маневрировать гизмо с отключенной опцией Invert и инвертировать в конце. В противном случае легко запутаться.) Таким образом Selection Level похож на уравнение: Предыдущая выборка плюс/минус Volume Selection да/нет Invert = Выборка

В отличие от уровня выборки Object, уровни граней и вершин работают с Selection Method и Volume Type. Уровень граней также учитывает выбор Window и Crossing опции Selection Method (уровень вершин считает Window и Crossing одним и тем же). Если в стеке существует несколько подобъектных выборок, влияние оказывается только на текущий Selection Level. Выборка объема не влияет на выборки стека различного типа (ребра или грани при выборе вершин например), поэтому с ними можно взаимодействовать будущих моди-фикаторах.

СОВЕТ

Выбор Selection Level изменяет текущее состояние выборки Modifier Stack. Если Volume Select был установлен на уровень вершин, то уровень выборки, установленный в грани предыдущим модификатором EditMesh, изменяется на вершины.

Можно выбирать грани, базируясь на вершинах, или выбирать вершины, основываясь на гранях. Для этого размер гизмо Volume Select определяется по граням или вершинам и затем переключается на что-то другое.

Опции Alignment быстро ориентируют гизмо объема подобно тому, как это делается модификатором UVW Mapping. Установите размеры гизмо в размеры объекта в соответствии с текущей ориентацией и масштабом объекта. Опция Reset переориентирует гизмо так, чтобы его ось Z совпадала с осью Z объекта, и устанавливает масштаб так, чтобы гизмо удовлетворял размерам объекта.

Трансформация при помощи модификаторов XForm и Linked XForm

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

В случае присвоения модификатора XForm происходит немедленный переход в его подобъектный режим гизмо. Это не должно быть неожиданностью, поскольку цель XForm заключается во взаимодействии с трансформациями Move, Rotate и Scale. При работе с целым объектом результат трансформации элемента XForm идентичен стандартной трансформации. Однако трансформация вершин, а не определения объекта, весьма отличается. Это означает, что независимо от того, насколь сильно вы поворачиваете объект, локальная ось сохраняет постоянную ориентацию. При перемещении гизмо XForm производится перемещение вершин объекта, а точка вращения объекта остается неподвижной. При масштабировании элемента XForm вы масштабируете вершины, а дорожки Scale объекта не затрагиваются. Поскольку локальные оси не изменяются, то граничная ориентация коробки (видимая в режиме отображения Box) также не изменяется.

ПРИМЕЧАНИЕ

Модификатор XForm - это не то же самое, что команда Reset-XForm в 3DS для DOS, которая устанавливает систему координат Local в World в соответствии с текущей ориентацией объекта. Модификатор XForm можно использовать для получения подобного результата, и 3DS МАХ выполняет данное действие автоматически при помощи, утилиты Reset Transform, показанной на рисунке 15.31 и поставляемой в Выпуске 1.1.

Центр гизмо XForm действует как точка вращения гизмо. При манипулировании гизмо у вас нет готового доступа к точке вращения объекта (если вы не установили систему координат в Pick, не выбрали объект и не использовали центр координат трансформации). Как и в случае большинства модификаторов, для воздействия на весь объект центр помещается в точку вращения. Если установлена подобъектная выборка, центр гизмо помещается в центр выборки.

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

ПРИМЕЧАНИЕ

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

Анимация модификации XForm в точности похожа на анимацию любого другого гизмо. В отличии от модификатора Edit, активную выборку в стеке ниже XForm можно изменить, равно как и то, что модифицируется. Подобным способом допустимо определить трансформацию (масштаба, например), вернуться на предыдущий Volume Select, изменить выборку и проследить, как результирующий масштаб обновляется динамически с изменением выборки. Поместите модификатор Smooth в конец стека (в режиме AutoSmooth) и вы увидите изменение сглаживания.

Анимацией подобъектных выборок можно управлять других объектов за счет применения модификатора Linked XForm. Linked XForm работает в точности как модификатор XForm, за исключением того, что "гизмо", который вы перемещаете, вращаете или масштабируете, является другим выбранным объектом. Linked XForm предоставляет возможность выполнения анимации объекта с базовой скелетной структурой (underlying bone structure). В главе 16, "Построение систем", показано, как Linked XForm используется именно для этих целей, применяясь к системам Bones.

Модификаторы поверхности

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

На практике данные модификаторы обычно действуют на весь объект или на выборки граней, определенные модификатором Volume Select. Для определения достаточно нерегулярных выборок иногда применяется EditMesh. Он оказывается полезным, когда нужно иметь четкое разделение между выборкой и эффектом. Конечно, получаемую гибкость следует сопоставить со стоимостью добавления модификатора EditMesh. Применение EditMesh для выборок устареет по мере появления других модификаторов выборок.

Модификатор Normal

Модификатор Normal (см. рис. 15.32) обеспечивает возможности переключения нормалей граней модификатора EditMesh, за исключением того, что Normal не может физически отображать нормали в виде направленных линий.

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

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

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

Модификатор Smooth

Модификатор Smooth (см. рис. 15.33) обеспечивает возможность присвоения групп сглаживания модификатора EditMesh. В отличие от EditMesh, со Smooth можно выполнять анимацию, что является его главным достоинством. Посредством Smooth можно динамически настраивать сглаживание модели по мере того, как она изменяет форму. На практике последнее похоже на опцию "Morph Smoothing" в 3DS для DOS, за исключением того, что модификатор более универсален, может работать с выделениями и настраивать пороговый угол AutoSmooth. Модификатор Smooth идеально подходит для размещения в конце стека.

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

При установленной опции AutoSmooth активная выборка сглаживается в соответствии с сопутствующим пороговым значением, как описано в главе 12 в разделе "Угловой порог". Модификатор оценивает переданную ему поверхность и динамически настраивает назначения групп сглаживания так, как диктует порог. Это предоставляет возможность вернуться по стеку назад, изменить модель и увидеть результаты динамического применения AutoSmooth - то, что невозможно с модификатором EditMesh.

Когда AutoSmooth включена, сетка из 32 кнопок групп сглаживания заблокирована и не работает. Если AutoSmooth отключена, активной выборке можно присвоить конкретную группу. Назначение номера группы сглаживания является явным действием и выполнить его анимацию нельзя. Хотя с EditMesh принято делать несколько назначений групп сглаживания, но с модификатором Smooth очень редко присваивается более одной группы в одной и той же выборке. Присваивание одной группы заставляет выделение сглаживать себя, тогда как назначение других групп имеет эффект только если вы пытаетесь сравнить группы, назначенные смежным, склеенным граням.

Модификатор Material

Модификатор Material (см. рис. 15.34) обеспечивает возможность присвоения ID материала модификатора EditMesh. В отличие от явного назначения, производимого в EditMesh, с назначенным Material ID можно реально выполнить анимацию. Поскольку ID материала являются целыми числами, изменение материалов происходит неравномерно. При выполнении анимации назначений Material ID следует проанализировать их появления как кривой функции в Track View и настроить кривую так, чтобы материалы изменялись предсказуемым образом.

Модификатор UVW Map

Модификатор UVW Map присваивает координаты отображения активной выборки граней или лоскутов в стеке. Для всех объектов выборки вершин и ребер игнорируются и весь объект рассматривается как выборка граней или лоскутов. Данный модификатор предоставляет возможность комбинирования многочисленных координат отображения различных типов в разных положениях в истории редактирования объекта. Наиболее часто это делается тогда, когда объект изображает свою геометрию в ориентациях и конфигурациях, наиболее удобных для назначений отображения. Благодаря тесной связи с назначениями материала UVW Modifier детально описан в главе 21, "Материалы и текстуры".

СОВЕТ

Для постепенного перехода от материала к материалу вместо выполнения анимации Material ID используйте анимированный материал Blend или тип карты Mask или Mix.


ГЛАВА 16

Построение систем: пример использования Biped

В 3D Studio MAX на панели Create имеется кнопка Systems (системы). Система реально является фрагментом программного обеспечения, которое создает объекты, запрограммированные что-то делать: т.е. объекты являются комбинацией геометрии и поведения. Категория Systems предназначена для удобного подключения программ независимых разработчиков. Виды подключаемых приложений, которые провозглашаются как системы, находятся в диапазоне от самых простых до наиболее сложных. 3DS МАХ Release 1.0 распространяется с двумя очень простыми подключаемыми системами: Ring Array и Bones.

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

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

Скелет имеет и еще одно назначение - служить в качестве каркаса для модификатора Physique, одного из подключаемых приложении, поставляемого в рамках Character Studio от Kinetix. (Подробное обсуждение Physique выходит за пределы книги, хотя данная глава содержит введение в модификатор). В основном модификатор Physique присоединяется к корневой кости иерархии костей, размещенных внутри каркасной модели. Затем Physique может деформировать каркас. Это полезная технология моделирования, не менее предпочтительная технологии анимации. Каркасы с Physique предназначены для анимации посредством Biped - еще одного подключаемого приложения Character Studio, которое и является предметом обсуждения данной главы. Рисунок 16.2 показывает торс, использующий кости для своего каркаса, моделируемого в Physique.

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

Решение Biped для создания живого движения

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

Например, предположим, что требуется выполнить анимацию последовательности прыгающей фигурки для создаваемой игры и движение должно быть как можно более реалистичным. Что выбрать? Располагая значительным бюджетом, можно купить или арендовать оборудование для видеозахвата. Видеозахват отслеживает движение реального человека посредством оптико-электронных сенсоров, прикрепленных к суставам человека. Затем сенсоры транслируют движение в приемлемый формат. Прежде чем применять данные движения, их придется подправить вручную, но конечный результат, вероятно, будет предельно реалистичным. Очевидно потребуется кого-то нанять, кто умеет хорошо и высоко прыгать. Убедитесь, что у вас в студии есть достаточно места для этого.

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

Если нет ни большого бюджета, ни достаточного времени, можно использовать Biped и запись бега с препятствиями на Олимпийских играх из собственного видеомагнитофона, которая переносится на компьютер при помощи недорогого видеооборудования. Посредством Biped можно достигнуть качества видеозахвата за часть цены. С точки зрения затрачиваемого времени Biped также ускоряет процесс анимации и устраняет большую и изнурительную работу, связанную с ручным кадрированием.Решение Biped основывается на трех основных идеях:

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

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

Скелет двуногой фигуры

После установки подключаемого приложения Biped создание скелета или фигуры является просто делом рисования коробки в любом видовом окне. Фигура, создаваемая Biped по умолчанию, имеет человеческие характеристики, но структуру легко изменить для создания других двуногих существ (см. рис. 16.3). Двуногое по умолчанию находится справа, тогда как другая двуногая фигура модифицирована в каркасную модель кенгуру. На данной иллюстрации видны также параметры структуры Biped так, как они появляются в 3DS МАХ на панели Create. Эти параметры определяют количество пальцев на руках и ногах, высоту двуногого, наличие хвоста и т.п.

Двуногая фигура обладает собственной развитой системой инверсной кинематики, поэтому, например, при щелчке и перетаскивании его руки или ноги посредством инструмента 3DS МАХ Select and Move будет двигаться вся рука или нога. Рисунок 16.4 показывает двуногого, позиционированного инструментом Select and Моvе. Для использования IK с Biped не следует включать инструмент 3DS МАХ Inverse Kinematics (IK). Система IK Biped на самом деле точнее, чем используемая в 3DS МАХ.Если взять руку двуногого, переместить ее и вернуть на прежнее место, можно обнаружить, что она вернулась точно на то же место, а не приблизительно на то же место.

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

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

Анимация, управляемая шагами

Рядом с некоторыми автобусными остановками в Сиэтле находятся металлические подошвы, впечатанные в тротуар. Эти подошвы отражают последовательность шагов из популярных танцев, так что во время ожидания автобуса вы можете наступать на подошвы и упражняться в танго или вальсе. Biped основан на точно таком же принципе.Вы размещаете перед двуногим подошвы.Когда подошвы активизируются. Biped следует за шагами, адаптируясь к указанному виду движения - ходьбе, бегу или прыжкам. Подошвы можно размещать вручную. Лучше всего это подходит при создании чего-то подобного танцу, содержащему множество зигзагов и поворотов. Или же можно размещать подошвы автоматически, используя диалог Create Multiple Footsteps. Посредством данного диалога легко сгенерировать столько шагов, сколько необходимо. Здесь же можно управлять ускорением или замедлением Biped по ходу выполнения последовательности шагов.Авто-матически сгенерированные шаги ложатся по прямой линии, однако в последствии их можно поворачивать. Кроме того, можно двигать и поворачивать отдельные шаги. Рисунок 16.5 показывает кадр последовательности ходьбы по умолчанию сгенерированной Biped. Обратите внимание на то, что шаги окрашены (легко заметить разницу даже в оттенках серого: справа - зеленый, слева - голубой) и пронумерованы (правые шаги - нечетные, левые - четные).

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

Центр тяжести объекта (также называемого корневым объектом двуногого) важен для вычисления правильной позиции и баланса двуногого во время движения. После создания и активизации шагов двуногого, центр тяжести объекта вместе с ногами ведет себя совершенно по-иному, чем прежде. Активизация шагов генерирует ключи для центра тяжести и для ног, вынуждая данные объекты следовать внутренним правилам Biped для интерполяции ключевых кадров. Рисунок 16.7 показывает одного двуногого перед активизацией шагов (слева) и другого двуногого после активизации (справа). У обоих двуногих центр тяжести объекта повернут по оси X, оси Y и оси Z. Первый двуногий повернут полностью, а второй сохраняет контакт с поверхностью, вполне реалистично вращая туловище.

Подобным образом, если выбрать и переместить корневой объект вниз, то двуногое без шагов просто пройдет сквозь поверхность, а двуногое с активными шагами согнет колени и останется в правильном отношении с поверхностью (см. рис. 16.8).

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

Шаги двуногого обладают своим собственным треком в 3DS МАХ Track View (см. рис. 16.9). Здесь шаги отображаются как цветные блоки: бледно-голубые для левой ноги и бледно зеленые - для правой. Отображается также номер каждого шага (полужирным шрифтом) и начальный и конечный кадры. В данном примере, который показывает ту же самую прогулочную последовательность по умолчанию, что и рисунок 16.5, шаги слегка перекрываются - то есть начальный кадр каждого шага начинается перед конечным кадром предыдущего. Такое перекрытие называется периодом двойной поддержки и является характеристикой прогулочной походки. Если вы сейчас же встанете и неторопливо пройдетесь, то сами почувствуете период двойной поддержки. Двойная поддержка отсутствует при беге или прыжках, где шаги разделяются воздушным периодом.

Ниже трека шагов Biped показаны треки для левой и правой nor (Biped рассматривает все части ноги от бедра до кончиков пальцев как один модуль, поэтому для каждой ноги определяется только один трек.) Все ключи в треках Biped генерирует автоматически после активизации шагов. Некоторые ключи помечены красной точкой. Это означает, что они заблокированы. Biped блокирует ключи для треков ног для того, чтобы успеть правильно выполнить вычисления. Если повернуть ногу в заблокированном ключевом кадре, то нога просто вернется в исходное положение. Внутри Track View заблокированные ключи можно разблокировать, но это делается на свой страх и риск. В Track View шаги можно удлинять, укорачивать и пр. При этом Biped пересчитывает отношения между шагами и генерирует новые ключи. Внутренне Biped обнаруживает столкновения между ногой и плоскостью поверхности и использует точку контакта в качестве основы для вычисления других положений ноги. На любом кадре в анимации каждая нога может находиться в одном из следующих четырех состояний (см. рис. 16.10):

  • Касание (Touch). Кадр, в котором пятка ноги контактирует с землей
  • Опора (Plant). Кадры, во время которых нога контактирует с землей, включая кадры, где вес тела поддерживается ногой
  • Подъем (Lift). Кадр, немедленно следующий перед тем, как нога отрывается от земли
  • Движение (Move). Кадры, во время которых нога висит в воздухе (не имеет контакта с землей)

Цикл шага - это время в кадрах, которое требуется для выполнения одного шага. По умолчанию цикл шага состоит из 15 кадров (полсекунды) для ходьбы и бега и 20 кадров для прыжков. Biped измеряет цикл шага от кадра касания одного шага до кадра касания следующего. Если снова посмотреть на цикл ходьбы, показанный в Track View (см. рис. 16.9), можно найти этому подтверждение. Заблокированные ключи появляются в положениях касания и подъема, т.е. в первом и последнем кадре шага. Поскольку кадры пронумерованы, легко заметить, сколько кадров в каждом цикле. Например цикл ходьбы - с правой ноги на левую после того, как фигура полностью разошлась, проходит 45, 60, 75, 90 и т.д. Чувство цикла полезно при сопоставлении шагов с конкретным движением, захваченным с видео. Четыре состояния для правой и левой ног помечены на командной панели прямо под свитком General. Метки во время шага сдвигаются, но отредактировать их за счет ввода новых значений нельзя.

Сохранение и загрузка файлов Biped

Формат файла Biped (BIP) представляет собой специальный формат, сохраняющий всю ключевую информацию для двуногой фигурки. В файле записана как ключевая информация шагов, так и данные о положении верхней части тела. Единственное движение, которое нс запоминается в файле Biped в неизменном виде, - это движение, созданное инверсной кинематикой. Дело в том, что 1К использует параметр пространства объекта. Отношения IK возникают, например, тогда, когда вы касаетесь рукой мяча- Формат файла Biped ничего не знает о мяче, но сохраняет движение руки.Для сохранения отношения руки и мяча запишите файл МАХ.

После записи файла Biped, его можно загружать и применять к другим двуногим. Другим и словами файл данного формата можно использовать для создания целых библиотек движений. Это очень похоже iia создание библиотек текстур в 3DS МАХ. Можно запомнить различные виды прыжков, бега, ходьбы, танцев, подскоков, пинков и категоризировать их любым желаемым способом. Например, CD-ROM Character Studio включает набор из шести анимаций, сделанных по классическому справочнику по анимации The Human Figure in Motion автора Эдварда Майбриджа (Eadweard Muybridge). Собрав коллекцию клипов движений, их можно загружать и объединять, добавляя одно движение в другое и создавая более сложные последовательности. Анимации двуногих фигур можно загружать в любую двуногую фигуру, любого размера и пропорций, и анимация откорректирует себя в соответствии с новым характером.

Элементы управления сохранением и загрузкой файлов Biped появляются в свитке General панели Motion (см. рис. 16.11).

После выполнения удовлетворительной анимации двуногой фигуры выделите и нажмите кнопку Save File. Присвойте файлу уникальное имя и сохраните его в своей библиотеке движений. Когда потребуется применить движение к другой двуногой фигуре, выделите ее на сцене и нажмите кнопку Load File. Biped загрузит сохраненные шаги и другую ключевую информацию, а также автоматически адаптирует выделенную фигуру к новым данным. Файл Biped в большинстве случаев можно представлять как "конечный продукт". Скелет двуногой фигуры по существу является репозитарием для хранения данных о движении.

Проект MuyBridge

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

Сбор исходного материала

Копирование коммерческих видеолент для публичного просмотра или распространения является нарушением закона, но ФБР, вероятно, не станет беспокоить нас из-за нескольких мгновений съемки великолепного движения атлетов, сделанной в целях самообразования. Посредством видеомагнитофона можно записать ленту со своего телевизора. А если у вас есть видеокамера, то для вас открывается целый мир движения. Все что нужно сделать - это выйти и снимать. Добавьте к этому стоимость недорогой платы видеозахвата и вы готовы создать в 3DS МАХ любой вид движения. Конечно, если вы собираетесь использовать отснятый материал в коммерческом проекте, то могут возникнуть юридические проблемы и в этой связи лучше всего поинтересоваться соответствующими законами. 3DS МАХ поддерживает высококачественный видеоввод с устройств, подобных Accom Work Station Disk, но для обеспечения видеокадров как фона двуногой фигуры вполне достаточно простого файла AVI. Видеозахват и сжатие само по себе является искусством и часто изменяется с представлением новых технологий компрессии/декомпресии. Для получения последней информации о видеозахвате поговорите с кем-то, кто имеет опыт работы с цифровым видео либо почитайте свежую книгу или профессиональный журнал.

Среди распространенных дешевых видеоплат захвата имеется Smart Video Recorder Pro фирмы Intel, VideoIT и UMAX Maxmedia от фирмы ATI. Данные типы плат обычно записывают с разрешением 320 х 240 или меньше и с частотой кадров 15 или 30 кадров в секунду. Стоимость плат - от нескольких сотен до 1000 долларов. Для захвата с большим разрешением требуются более дорогие продукты, подобные Perception Recorder фирмы Digital Processing Systems или Targa 2000 фирмы Truevision. Такое оборудование обычно стоит более 1000 долларов и требует специальный жесткий диск для захвата и воспроизведения. Именно для такой цели Diaquest делает для 3DS МАХ подключаемый элемент под названием 3d/av.

СОВЕТ

Последнюю информацию о продуктах и процессах можно найти в Digital Video Magazine и в PC Graphics and Video.

Настройка 3DS МАХ и Biped для ротоскопирования

ротоскопирование (rotoscoping) представляет собой процесс переноса видеокадров в 3DS МАХ для того, чтобы они служили фоном для выравнивания и синхронизации элементов па сцене. С данного момента вы шаг за шагом будете изучать, как настроить среду 3DS МАХ и Biped на ротоскопирование.

  1. Используйте диалог Viewport Background (выберите ViewsBackground) и укажите исходный AVI-файл или устройство (Ассот)для видеокадров. На рисунке 16.12 представлены параметры диалога для AVI-файла. Обратите внимание на то, что видеоввод нс начинается ранее 51-го кадра. Благодаря этой задержке появляется достаточное время для настройки двуногой фигуры на синхронную ходьбу при старте видео. При визуализации первые кадры можно убрать. Не забудьте включить флажки Animate Background и Display Background. После указания источника фоновые видеокадры можно отобразить в любом видовом окне. Для этого используется переключатель View Background в меню окна, вызываемого по щелчку правой кнопки мыши.
  2. Создайте двуногую фигуру в том же видовом окне, в котором создан фон. Начертите коробку, которая определяет высоту фигуры. Пусть коробка будет того же самого размера или чуть больше трассируемой фигуры. Настройте высоту двуногой фигуры на значение б". Если фон слишком темный, как в данном случае, следует изменить цвет проволочного каркаса фигуры на более яркий, например желтый так, чтобы видеть фигуру более отчетливо.
  3. Создайте на сцене камеру и используйте управляющие элементы Orbit, Truck и Pan Camera для приблизительного совпадения с перспективой двуногой фигуры (см. рис. 16.13).

К данному моменту среда 3DS МАХ настроена и вы готовы начать сопоставление движения в видео.

Анализ движения и создание "наброска" шагов

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

  1. Оформите свои записки в том же формате, который использует Track View - с номерами кадров вдоль оси Х и нумерованными блоками кадров для шагов. Полученная диаграмма будет использоваться в качестве подсказки при настройке шагов двуногой фигуры в Track View. На рисунке 16.14 показана диаграмма для прыжков, отснятых на видео. В этом видео фигура начинает с бега (здесь показан только один шаг, но мы можем экстраполировать шаги, сделанные перед ним), отталкивается правой ногой, вытягивает обе ноги для прыжка и затем приземляется, держа обе ноги вместе.
  2. Сгенерируйте для фигуры несколько шагов по умолчанию, начиная с кадра 0, для того, чтобы занять первые пустые 50 кадров в начале анимации. Их можно отредактировать позже в Track View для точного соответствия. В данный момент важна только одна вещь: когда фигура на видео стоит правой ногой на земле, а левую проносит по воздуху, то ноги нашей фигуры должны иметь соответственно состояния опоры и движения.
  3. Поместите приземляющуюся ногу в верхнем видовом окне на приличном расстоянии от других шагов (см. рис. 16.15). Если требуется, переместите или поверните несколько шагов прежде чем их активизировать. Воспроизводите анимацию по мере ее разработки посредством Time Slider и убедитесь в приемлемости движения.
  4. Вооружитесь нарисованным анализом шагов, перейдите к Track View и начинайте двигать и вытягивать шаги так, чтобы их начальные и конечные кадры совпадали с нарисованными на диаграмме. Рисунок 16.16 показывает отредактированный Track View (сравните его с оригиналом рисунка 16.12). Воспроизведите анимацию и проверьте ее.
  5. После завершения пройдитесь по анимации и проверьте, насколько близко шаги двуногой фигуры совпадают с шагами на видео (проверка каждых 10 кадров вполне достаточна). Для того, чтобы увидеть, что нога делает в конкретном кадре, используйте Foot States Indicator в свитке General.
    Если ваш исходный анализ оказался достаточно точен, шаги совпадут. Правильное выполнение данного пункта является самой большой работой в перехвате видео. Конечно, вес еще требуются ключи для верхней части тела либо тонкая настройка движения. Однако создан неплохой начальный набросок движения, пригодный для дальнейшей работы.
  6. Работая с Time Slider, настройте параметр Gravity Acceleration. Данная настройка определит корректную высоту прыжка (см. рис. 16.17). По умолчанию двуногая фигура прыгает фантастически высоко. За счет настройки гравитации можно точно управлять высотой прыжка по отношению к пролетаемому расстоянию.

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

Завершение анимации установкой ключей тела

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

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

  1. Выделите одну из ног, включите Key Mode и Animate и продолжите переход между ключевыми кадрами. На каждом ключевом кадре ноги вращайте суставы ноги фигуры так, чтобы подогнать их к видео.
  2. Поверните другую ногу в правильное положение и затем настройте положение рук и головы. Продолжайте в том же духе от кадра к кадру.
  3. Когда анимация будет практически завершена, используйте Make Preview с видео в фоне и посмотрите, хорошо ли совпадают движения. Кнопка Biped Playback обеспечивает мгновенную обратную связь и полезна на ранних стадиях для проверки движения. На поздней же стадии полезна Make Preview, поскольку она включает видеофон. Рисунок 16.18 показывает Biped Playback, а рисунок 16.19 - кадр из Preview. Предварительный просмотр демонстрирует, как именно выглядит движение и как оно соотносится с видео. Вы можете пройтись по кадрам и записать все проблемы, которые еще необходимо решить - неожиданные рывки, неправильное положение рук и т.п.
  4. Произведите тонкую настройку анимации в соответствии со своими записями из предварительного просмотра. Количество времени и усилий, которые можно потратить на данной стадии, фактически не ограничены. Почти всегда имеется что улучшить и сделать анимацию более реалистичной. Вот лишь некоторые из корректировок, которые были сделаны на анимации прыжка в высоту на стадии тонкой настройки:
    • Был использован диалог Biped Track Properties и механизм Apply Increment для подъема рук в серии кадров
    • Были исправлены подергивания положений ног во время прыжка, появившиеся из-за того, что слишком много ключей были расположены излишне близко друг к другу
    • Был добавлен наклон назад при разбеге. Для этого мы повернули объект позвоночника
  5. Сохраните завершенное движение в файле Biped.

Отработав движение, теперь его можно применить к каркасной модели при помощи другого подключаемого элемента Character Studio - Physique.

Наращивание тела

Обычно завершенное движение Biped можно запомнить в файле Biped (формат файла BIP), который впоследствии применим к другой двуногой фигуре, возможно, уже имеющей тело (т.е. обладать подсоединенным каркасом). Однако, если с каким-либо объектом на сцене установлено отношение IK, например с рукой, держащей мяч, то для сохранения отношения следует запомнить анимацию в стандартном файле МАХ. Можно сохранить и в файле Biped и он запомнит шаги и все ключи тела. Единственный аспект анимации, который файл Biped не может сохранить, - это ключи IK Object Space.Вданном случае у нас нет IK, поэтому мы просто сохраняем анимацию со сцены в файле Biped. В равной степени успешно можно было бы соединить со сценой каркасную модель и затем использовать каркас для наращивания тела фигуры.

Мы не будем детально освещать процесс наращивания тела двуногой фигуры, поскольку модификатор Physique выходит за рамки данной книги. (Детальное обсуждение темы приведено в документации Character Studio.) Ниже рассмотрен общий процесс:

  1. Выделите фигуру и перейдите в режим Figure - специальный режим, предоставляющий возможность модификации структуры фигуры без оказания влияния на уже выполненную анимацию.
  2. Используйте инструменты трансформации 3DS МАХ для размещения двуногого на каркасной модели. Данный процесс включает позиционирование объекта таза, масштабирование и вращение рук и ног. Фигура может не встраиваться в каркас идеально. Фактически достаточно, если она будет слегка выглядывать из каркаса, особенно если выглядывают пальцы рук или ног и голова (см. рис. 16.20).

    ПРИМЕЧАНИЕ

    В идеальном случае каркас должен находится в вертикальном положении с руками, вытянутыми в стороны ладонями вниз. Если каркас находится в другой позе (например, руки вытянуты вдоль туловища), его необходимо перепозиционировать, прежде чем наращивать тело.
  3. После получения удовлетворительного размещения фигуры примените модификатор Physique из панели Modifier и присоедините его к фигуре. Модификатор сгенерирует серию связей с каркасом и установит отношения между каркасом и базовым скелетом двуногого (см. рис. 16.21). Теперь можно вращать конечности фигуры и каркас будет передвигаться вместе с ними.
  4. Проверьте каркас, поворачивая руки и ноги фигуры. Обычно на данном этапе требуется кое-какая ручная подчистка. Physique назначает вершины каркаса связям фигуры на основании их цилиндрического удаления. Это срабатывает не всегда в совершенстве, поэтому Physique обеспечивает инструменты на уровне вершин, предоставляющие возможность завершения работы. Рисунок 16.22 показывает корректное назначение вершин головы. Ручное присвоение вершин требует времени, но после его выполнения каркас полностью подготовлен к анимации и будет следовать любому движению базовой фигуры, включая движение, сохраненное в файлах Biped.

    ПРИМЕЧАНИЕ

    Вершины можно присваивать в качестве жестких или деформируемых. Используйте данные опции для управления сминанием кожи там, где руки и ноги срастаются с телом. Еще большее улучшение можно достичь за счет применения редактора пересекающихся областей Physique для добавлении мускулатуры на основе углов между костями фигуры и редактора сухожилий для создания дополнительных связей, влияющих на вытягивание, сгибание и защемление кожи.
  5. Скройте фигуру, оставив только каркас и все остальные элементы сцены, которые хотите визуализировать.
  6. Добавьте свет, настройте камеру и выполните визуализацию. Рисунок 16.23 показывает кадр из анимации каркасной модели, скомбинированный с видео, созданным в Video Post. Полная анимация находится в файле chl6all.avi.

Для сравнения мы включили в CD-ROM следующие AVI-файлы:

Ch16bip.avi Затененная фигура с видеофоном Ch16bip2.avi Затененная фигура с видеофоном (другой вид) CMBstep.avi Затененная фигура с шагами и без фона (качество предварительного просмотра)

Character Studio обещал существенно упростить анимацию персонажей. В основном обещание выполнено, поскольку поставляемые инструменты изымают из процесса анимации большой объем изнурительной работы. Предоставляя возможность сконцентрировать внимание на тонкостях реалистичного движения моделей, Character Studio увеличивает степень артистизма и обеспечивает новый волнующий способ работы. Если ваша работа связана с анимацией персонажей или если вы хотите изучать человеческое тело в движении, то Biped и Physique достойны внимания.


ГЛАВА 17

Применение исказителей пространства

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

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

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

  • Разница между исказителями пространства и модификаторами
  • Использование универсального исказителя пространства под названием Displace
  • Использование объектных исказителей пространства, подобных Ripple, Wave, Bomb и Path Deform

Исказители пространства создаются нажатием кнопки категории Space Warp на панели Create. Например, для создания исказителя пространства Ripple следует щелкнуть в свитке Object Type и транспортировать указатель мыши в любое видовое окно для установки радиуса Ripple. После освобождения кнопки мыши перемещайтесь вверх или вниз и щелкайте для установки амплитуды Ripple. Большинство исказителей пространства следует технологии "транспортируй и щелкни".

В 3D Studio Max не все исказители пространства показывают влияние на все типы объектов. Один лишь Displace является универсальным исказителем пространства, который влияет на все типы объектов. Ripple, Wave, Bomb и Path Deform влияют только на объекты, тогда как Gravity, Wind и Deflector работают только с частицами. (Системы частиц Spray и Snow освещаются в главе 25, "Построение и анимация частиц"). Но прежде чем рассказывать о конкретных искажениях, в следующем разделе вы познакомитесь с информацией о том, чем искажения пространства отличаются от модификаторов и как искажения работают в стеке.

Различия между искажениями пространства и модификаторами

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

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

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

Исказители пространства и стек

Объекты связываются с исказителем пространства через кнопку Bind to Space Warp, которая расположена на линейке инструментов (см. рис. 17.2). К одному искажению можно привязать любое количество объектов. Для привязки объектов к исказителю пространства нажмите кнопку Bind to Space Warp, выделите привязываемый объект и транспортируйте мышь от объекта к исказителю пространства.

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

Связи с исказителями пространства являются последними в потоке данных объекта.

Универсальные исказители пространства: Displace

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

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

Применение Displace к системе частиц порождает другой эффект. Вместо смещения геометрии искази-тель пространства Displace искривляет путь системы частиц. Несколько исказителей пространства Displace несколько раз будет изменять направления системы частиц. В отличие от Deflector, который может делать то же самое, Displace на основе оттенков серого образа (см. рис. 17.6) позволяет некоторым частицам проходить сквозь себя или даже неравномерно отклоняться. Как видите, исказитель Displace действует на частицы подобно силе. Использование исказителя пространства Displace реально может заставить частицы ускоряться. Это зависит от силы искажения.

Объектные искажения пространства

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

В данном разделе исследуются три исказителя пространства, предназначенные для деформации геометрии: Ripple, Wave, Bomb и Path Deform.

Ripple

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

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

Можно также деформировать часть объекта связав с исказителем пространства подобъектов. Для этого применяется модификатор редактирования или модификатор Volume Select. Ключом к данной технологии является размещение модификаторов Edit или Volume Select на вершине Modifier Sfack после всех других модификаторов выборки.

Phase

Параметр Phase определяет изменение амплитуды от высшей точки ряби до низшей и обратно. Изменение фазы имеет эффект смещения ряби вдоль локальной плоскости XY исказителя пространства Ripple. Исказители Ripple и Wave используют параметр Phase для позиционирования и анимации своих эффектов. Для того, чтобы волна или рябь казались движущимися, выполняют анимацию параметра Phase. Изменение числа от 0 до 1 представляет полный цикл волны. Имея это в виду, не изменяйте сильно Phase, если хотите получить небольшое движение. Для более заметного движения измените параметр несколько сильнее. Используемые значения зависят от размера объектов, с которыми вы работаете. Большие изменения фазы могут существенно повлиять на маленькие объекты и будут иметь куда более скромное воздействие на большие,

СОВЕТ

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

Использование Ripple для анимации глицериновой лампы

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

Создание глицеринового потока с помощью Ripple

  1. Откройте imxl7rpl.max.
  2. Щелкните на объекте Lava или выделите его посредством Select By Name.
  3. Щелкните на кнопке Bind линейки инструментов.
  4. Используйте Hit By Name для связывания Sphere с RippleOl и Ripple02.

Рисунок 17.7 показывает диалог Bind By Name, который используется для выделения на сцене действующих исказителей пространства.

Flexibility

Общим параметром между пульсацией и волной является Flexibility (гибкость). Фактически Flexibility применяется только с Ripple и Wave и является специальным параметром связывания. Он не применяется к искажению, а скорее указывает, насколь сильно влияет искажение пространства на каждый объект. Параметр Flexibility расположен в панели Modify.

  5. Выделив объект, перейдите на панель Modify.
  6. Измените значение Flexibility.
  7. Обратите внимание на то, что увеличение значения усиливает влияние пульсации на сферу, тогда как уменьшение значения оказывает противоположное влияние. Рисунок 17.8 показывает два значения параметра Flexibility и то, как значения отображаются в панели Modify.

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

  8. Установите Flexibility в 0. Щелкните на Ripple Binding в стеке модификаторов и выберите первый Ripple Binding.
  9. Установите Flexibility в 0.
  10. Перейдите к кадру 20 и включите кнопку Animate.
  11. Установите Flexibility в 1.
  12. Повторите процесс для второго Ripple Binding.
  13. Выполните предварительный просмотр анимации.

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

ПРИМЕЧАНИЕ

Руководство пользователя 3D Studio MAX указывает, что изменение Flexibility похоже на добавление или удаление вершин, хотя на самом деле это не так. Изменение Flexibility более похоже на изменение значения множителя источника света. При 1 значения амплитуды изменяются от 1 до 1. При 2 эффект увеличивается вдвое и т. д.

Wave

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

ПРИМЕЧАНИЕ

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

И Ripple, и Wave содержат параметры под названием Amplitudes 1 и Amplitudes 2.Основное назначение этих двух амплитуд заключается в задании разных амплитуд для осей Х и Y исказителя пространства (Amplitude 1 - это X, Amplitude 2 - это Y). Например, если требуется промоделировать складку по центру волны, установите значения одной из амплитуд в 0. По умолчанию при создании исказителя пространства Ripple или Wave обе амплитуды имеют одно и то же значение. Отредактируйте одно или оба значения вручную непосредственно после создания исказителя или позже в панели Modifier.

ПРИМЕЧАНИЕ

Wave и Ripple имеют раздел отображения, предназначенный чисто для управления отображением искажения пространства в видовых окнах. Раздел отображения не влияет ни на искажение, ни на связанные объекты.

Wave можно использовать для создания нескольких типов сцен. В следующем упражнении рассматриваются изменения геометрии как для целей анимации, так и для моделирования. У вас имеется сцена, содержащая яхту, которая плывет на высокой волне. К сожалению, сцена попала в область плохой погоды и волны становятся опасными. Для имитации такого рода погоды следует использовать Wave для двух вещей: моделирования волн на море и для лодки, плывущей по волнам. Надеемся, что вы не поддадитесь сумасшедшим взлетам и падениям!

Моделирование и анимация при помощи Wave

После загрузки сцены вначале видна лодка, коробка и линия. Начните создавать волны, которые связывают исказитель пространства Wave с коробкой.

  1. Откройте imxl7wav.max
  2. Перейдите на панель Create и щелкните на кнопке Space Warps.
  3. Щелкните на Wave и транспортируйте волну и ее амплитуду в видовое окно Тор. (Сейчас не беспокойтесь о значениях. Вы их измените позже).
  4. Поверните Wave в видовом окне Тор на 90°.
  5. Щелкните на кнопке Bind, выделите коробку и транспортируйте ее к волне.
  6. Выделите волну и перейдите в панель Modify.
  7. Измените параметры волны так, чтобы Amplitude 1 составляла 5, Amplitude 2 - 7 и Wavelength - 120. Phase и Decay должны иметь нулевые значения.

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

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

  8. Прокрутите указатель Frames вперед и назад для просмотра анимации.
  9. Щелкните на кнопке Bind и затем выберите объект сплайна.
  10. Транспортируйте мышь к исказителю пространства Wave.

Сплайн деформируется в волну и вследствие этого движение яхты станет волнообразным (см. рис. 17.9).

ПРИМЕЧАНИЕ

Для корректной деформации в волну сплайн должен иметь достаточное количество вершин. В противном случае деформация и анимация получаются гораздо менее гладкими.

Предположим, что яхта должна постепенно войти в спокойное море. Вот здесь и будет полезен параметр Decay. Вот как он работает для волны.

  11. Перейдите на панель Modify и выберите исказитель Wave.
  12. Измените значение параметра Decay на 0.005.

По мере удаления от пиктограммы исказителя пространства волна будет уменьшаться, поскольку и для Wave, и для Ripple Decay вызывает эффект постепенного затухания по мере удаления от центра исказителя. Размер искаэителя оказывает непосредственное влияние на параметр Decay. Рисунок 17.10 показывает две возможных установки Decay для данной сцены.

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

Bomb

Bomb производит взрыв типа "яичной скорлупы". Он разрывает объект на мелкие кусочки. В результате получается, что взорванное не имеет объема - только оболочку.

Реальная польза Bomb заключена в его параметрах. За счет манипуляций параметрами исказителя пространства Bomb можно создать множество эффектов. Несколько значений, ассоциированных с Bomb, могут быть отрицательными, например сила (strength). Таким образом можно собрать объекты, а не взрывать их. Эффективным применением параметра Gravity можно создать впечатление небольшой силы тяжести, ее отсутствия или отрицательной силы тяжести.

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

Использование Bomb для сборки

  1. Откройте imxl.7bom.max.
  2. Перейдите в панель Create и создайте под банкой исказитель пространства Bomb.
  3. Свяжите банку с исказителем.
  4. Переместите Bomb приблизительно на 50 единиц выше банки.
  5. Перемещайте ползунок Frames вперед и назад для просмотра анимации.

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

  6. Выделите Bomb и перейдите к панели Modify.
  7. Измените значение Strength на -1.

Обратите внимание на то, что банка собирается достаточно упорядочение. Для взрыва существует очевидный шаблон. Переменная Chaos уменьшает упорядоченность силы бомбы. В данном примере установите Chaos в 1. Это рандомизирует шаблон достаточно для того, чтобы банка "не собралась" (подразумевается каламбур, игра слов).

  8. Установите значение Chaos в 1.
  9. Продвиньте указатель кадров так, чтобы увидеть результат анимации.
  10. Теперь измените гравитацию для того, чтобы банка собралась по-другому. Гравитация будет оказывать влияние на движение взорванной геометрии после кадра детонации (обсуждается следующим). Сейчас установите значение гравитации в 0.
  11. Кадр детонации указывает на момент, когда Bomb влияет на детонацию с силой установленной переменной Strength. По умолчанию кадр детонации равен 5. Это означает, что банка соберется на кадре 5, т.е. противоположное тому, что требуется. Необходимо, чтобы объект взорвался на кадре 0 и реформировался на кадре 100. Для того, чтобы подобно произошло, кадр детонации должен быть перед кадром 0, поэтому установите параметр детонации в -30.

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

  12. Перейдите к кадру 100 и щелкните на кнопке Animate.
  13. Установите значение усилия в 0.
  14. Выполните предварительный просмотр анимации.
  15. Обратите внимание на то, что банка собирается на кадре 100. Можно еще поработать с анимацией, перейдя на Track View и отредактировав кривые функций для параметра Strength. Рисунок 17.11 показывает результат использования Bomb и предыдущие шаги.

Path Deform

Path Deform представляет собой последнее дополнение ко множеству исказителей пространства 3DS МАХ. Path Deform можно применять для поворота и изгиба объектов, основываясь на двумерном сплайне. Хорошим примером того, как все это работает, является создание текста и связывание его с исказителем Path Deform.

Path Deform действует несколько иначе, чем другие исказители пространства. Фактически после создания Path Deform вы с ним больше не работаете. Исказитель пространства служит только в качестве формы деформации. Все изменяемые параметры доступны через опции связывания в Modifier Stasc.

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

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

Использование Path Deform для модификации текста

  1. Откройте imxl7pat.max.
  2. Перейдите в панель Create и щелкните на кнопке Space Warp.
  3. Нажмите Path Deform.
  4. Нажмите Pick Path и выделите спиралевидный сплайновый объект.

Только что был создан исказитель Path Deform. В настоящий момент можно связать объект с исказителем пространства и объект будет деформироваться вдоль искажения.

  5. Нажмите Bind to Space Warp на линейке инструментов 3DS MAX.
  6. Нажмите на тексте 3DS МАХ, транспортируйте его к сплайновому объекту и отпустите.

Как видно из рисунка 17.12, объект сам переориентировался. Объект использует форму исказителя пространства для деформации, но деформация происходит в локальном пространстве объекта.

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

  7. Перейдите в панель Modify.
  8. Измените ось Path Deform на X.
  9. Отметьте флажок Move Object to Path (переместить объект на путь)
  10. Установите значение поворота в 180.

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

  11. Нажмите кнопку Animate или клавишу N на клавиатуре.
  12. Переместите указатель кадров на 150 и измените значение Percent на 97.
  13. Измените значение Rotation на 225.
  14. Выполните предварительный просмотр анимации для просмотра результатов и вернитесь назад.

Рисунок 17.13 показывает четыре кадра окончательной анимации.

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

ПРЕДУПРЕЖДЕНИЕ

Опция Move object to path поддается анимации. Обращайте внимание на предупреждение, включая и отключая данную опцию при включенной кнопке анимации.

Исказители пространства частиц

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


ГЛАВА 18

Построение и анимация иерархий

Многие объекты, которые будут строиться и оживляться в 3D Studio MAX, состоят из множества частей. Взгляните на окружающие вас объекты реального мира. Очень немногие из них состоят только из одной части. Кроме того, составляющие части многих объектов реального мира удерживаются вместе за счет подвижных соединений или связей. Примером таких объектов служит подвижный лоток CD-проигрывателя, шарнирные двери машины и суставчатые конечности вашего тела.

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

  • Связывание объектов для построения иерархий
  • Управление поведением связей посредством настройки точек вращения
  • Использование фиктивных объектов
  • Анимация иерархий при помощи Forward Kinematics
  • Применение Inverse Kinematics (IK)
  • Определение суставов I К
  • Анимация при помощи Inverse Kinematics

Следующие несколько разделов описывают, что такое иерархии объектов и как начать их построение.

Использование иерархий объектов

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

Процесс создания связанных иерархий выполняется следующим образом:

  1. Выберите объекты для связи в качестве дочерних с другим объектом.
  2. Нажмите Link на линейке инструментов и транспортируйте мышь от выделенных объектов к единственному родительскому объекту.
  3. Повторяйте шаги 1 и 2 до тех пор, пока не свяжете все объекты желаемой иерархии.
  4. Настройте положение и ориентацию точек вращения связанных объектов.
  5. Задайте наследование связей.
  6. Определите параметры сочленений, если планируется использование Inverse Kinematics.

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

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

Управляющие элементы для создания и манипулирования иерархическими связями находятся на панели Hierarchy и в двух кнопках на линейке инструментов (см. рис. 18.1). Кнопки линейки инструментов используются для создания иди разрыва связей между объектами. Управляющие элементы из панели Hierarchy применяются для настройки связей и определения их параметров.

Родительские, дочерние и корневые объекты

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

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

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

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

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

Иерархии и мир

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

Эта "скрытая иерархия" становится очевидной в следующих ситуациях:

  • Манипулирование точками вращения для корневых объектов работает благодаря тому, что точка вращения определяет связь между корневым объектом и миром.
  • Выбор для корневого объекта системы координат трансформации Parent возвращает систему координат World, так как мир является родителем всех корневых объектов.
  • В случае активной IK нельзя трансформировать корневые объекты до тех пор, пока они не будут освобождены от мира или не будут определены параметры соединения между корневым объектом и миром.

Просмотр дерева иерархии

После создания связей между объектами связанные объекты организуются в древовидную структуру. Данная древовидная структура принимает форму списка, в котором имена порожденных объектов отступают вниз и вправо от родительских объектов. Этот список можно просматривать в Track View либо выбрав опцию Display Subtree в диалоге Select Objects (см. рис. 18.2).

Для модификации структуры иерархии используются кнопки Link и Unlink линейки инструментов. Эти кнопки описываются в следующем разделе.

Связывание объектов

Кнопки Link и Unlink из линейки инструментов применяются для создания и разрыва связей между объектами. Все остальные команды манипулирования связями находятся в командных панелях.

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

При указании связей легко ошибиться, задав неправильный родительский объект, особенно в случае сложной модели. После выбора порожденных объектов через кнопку Link можно щелкнуть на кнопке Select by Name и отобразить диалог Select Parent. Рисунок 18.3 показывает пример применения диалога Select Parent для выбора объекта Right Lower Leg (Правая нижняя нога) в качестве родителя для другого объекта, скорее всего для Right Foot (правой ступни). Данный диалог па самом деле является диалогом Select Objects с новым названием, напоминающим о том, что делается. Выберите в окне списка любого родителя и щелкните на Link в нижнем правом углу диалога для завершения процесса связывания.

Для разрыва связей между выбранными детьми и их родителями щелкните на кнопке Unlink в линейке инструментов. Команда Unlink является одной из немногих в 3DS МАХ, которая заставляет выбирать объекты перед активизацией команды. Для выбора объектов нажмите кнопки Select Object или Select by Name на линейке инструментов и затем нажмите Unlink.

Установка наследования связей

Для определения, какие трансформации будут передаваться от родителя к ребенку, установите опции наследования связей на панели Hierarchy:

  1. Выберите один дочерний объект.
  2. Нажмите Link Info на панели Hierarchy.
  3. Раскройте свиток Inherit и включите или выключите опции наследования (см. рис. 18.4).

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

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

Отображение связей

При связывании объектов, особенно в сложных иерархиях, часто трудно визуализировать, какие объекты с какими и каким образом связаны. Как уже описывалось, для отображения иерархической древовидной структуры можно использовать Track View или диалог Select Object. Однако для отображения связей на сцене имеется еще и третья технология.

Установите опции в свитке Link Display панели Display для управления отображением связей выбранных объектов (см. рис. 18.5). Две опции отображения связей работают как описано в следующем перечне:

  • Display Links (отображать связи). Когда включена, рисуется трехсторонний конус от точки вращения выбранного объекта до точек вращения его дочерних объектов. Конус связи шире со стороны родителя и сужается к точке вращения ребенка (см. рис. 18.5).
  • Link Replaces Object (связь заменяет объекты). Когда включена, выбранные объекты исчезают и заменяются маленькими тетраэдрами, расположенными в точках вращения объектов. Включение Link Replaces Object форсирует также и установку опции Display Links.

Как избежать в иерархиях неоднородного масштабирования

Связывание разработано в качестве способа передачи трансформации от одного объекта к другому. Трансформация родительского объекта передает информацию к каждому из его дочерних объектов. Данный процесс великолепно работает для трансформаций Move, Rotate и Uniform Scale. Хуже связывание работает с неоднородно отмасштабированными объектами.

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

Устранить эффект связи с неоднородным масштабом можно многими способами. Два самых простых метода устранения эффекта таковы:

  • Выберите дочерний объект неоднородно отмасштабированного объекта и выключите ось влияния масштаба в свитке Link Inheritance. Такую процедуру следует повторить для каждого дочернего объекта.
  • Сбросьте трансформацию неоднородно отмасштабированного объекта после разъединения его со всеми детьми. После сброса трансформации можно повторно связать детей с объектом. Технология сброса трансформации объекта представлена позже в разделе "Настройка трансформаций".

Работа с точками вращения

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

ПРЕДУПРЕЖДЕНИЕ

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

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

Следующие разделы описывают способы изменения положения точек вращения внутри объектов.

Настройка точек вращения

Для трансформации и выравнивания точек вращения и их объектов используйте команды из свитка Adjust Pivot. Для отображения свитка Adjust Pivot нажмите кнопку Pivot на панели Hierarchy (см. рис. 18.6).

Две верхних кнопки в свитке - Affect Pivot Only (влиять только на точку вращения) и Affect Object Only (влиять только на объект) - являются критически важными. Для того, чтобы определить, будете ли вы трансформировать объект независимо от его точки вращения или трансформировать точку вращения независимо от объекта, нажмите одну из них. В следующем перечне описано влияние кнопок Affect Pivot Only и Affect Object Only:

  • Когда активна Affect Pivot Only, трансформации и выравнивание применяется только к точке вращения, не затрагивая объект и его дочерние объекты. Применяйте данную кнопку в случае, если необходимо переместить точку вращения объекта в новое положение.
  • Когда активна Affect Object Only, трансформации и выравнивание применяются только к выбранному объекту, нс затрагивая точки вращения и детей. Используйте данную кнопку, если точка вращения находится как раз там, где необходимо и требуется переместить объект в новую позицию.
  • Когда активна любая из кнопок, точка вращения видна и похожа на маленькую пиктограмму с тремя осями (см. рис. 18.7).
  • Когда обе кнопки неактивны, трансформации и выравнивания применяются нормально к объекту, точке вращения и дочерним объектам.
  • Нажатие любой из кнопок для перевода в активное состояние автоматически выключает другую кнопку.
  • Нажатие уже активной кнопки выключает ее.

Выравнивание точек вращения

Три оставшихся кнопки в свитке Adjust Pivot используются для выравнивания объекта или точки вращения. Метки кнопок изменяются в зависимости от того, активна ли Affect Pivot Only или Affect Object Only. Эффекты всех трех кнопок описаны ниже:

  • Center to (центрировать по). Если на кнопке написано Center to Object, ее нажатие перемещает точку вращения в геометрический центр объекта. Ориентация точки вращения не меняется. Если на кнопке написано Center to Pivot, ее нажатие перемещает объект так, чтобы его геометрический центр совпал с точкой вращения. Ориентация объекта не меняется,
  • Align to (выровнять по). Если на кнопке написано Align to Object, нажатие на нее поворачивает точку вращения для совмещения с исходной локальной системой координат, которую имел объект, при создании. Положение точки вращения не изменяется. Если на кнопке написано Align to Pivot, нажатие на нее поворачивает объект так, чтобы выровнять его исходную локальную систему координат с точкой вращения. Положение объекта не изменяется.
  • Align to World (выровнять по мировой системе координат). Объект или точка вращения (в зависимости от того, какая кнопка Affect Only активна) поворачивается для выравнивания с системой координат World. Положение объекта или точки вращения не изменяется.

Выравнивание точек вращения посредством команды Align

Другой интересный способ выравнивания точки вращения объекта заключается в использовании команды Align линейки инструментов в сочетании с одной из кнопок Affect Only свитка Adjust Pivot. Используя команду Align линейки инструментов, можно выровнять объект или его точку вращения с любым другим объектом на сцене, включая самого себя. Посмотрите главу 6, "Выборки, трансформации и точность", где приведены подробности поименения команды Alien.

В случае активной Align to Pivot для достижения наиболее предсказуемых результатов Current Object в диалоге Align должен быть установлен в Pivot Point. Более того, можно выделить объект, к которому принадлежит точка вращения, в качестве целевого и затем использовать опции диалога Align для выравнивания точки вращения относительно границ объекта.

При активной Align to Object в качестве целевого можно выделить точку вращения объекта. Затем используйте опции диалога Align для выравнивания границ объекта по отношению к точке вращения.

Настройка трансформаций

Команды из свитка Adjust Transform используются для трансформации и выравнивания родительского объекта (включая его точку вращения) независимо от связанных детей. Во время трансформации родительского объекта кнопки на свитке Adjust Transform временно приостанавливают действие наследования связей. Нажмите на кнопке Pivot панели Hierarchy для отображения свитка Adjust Transform (см. рис. 18.8).

ПРИМЕЧАНИЕ

Кнопки в областях Alignment и Reset свитка Adjust Transform работают с любым объектом и для настройки трансформаций объектов на сцене.

Для перемещения, поворота или однородного масштабирования родительского объекта без влияния на его детей нажмите кнопку Affect Object Only в свитке Adjust Transform. (He применяйте со связанными объектами неоднородное масштабирование.) Для выравнивания выбранных объектов с World или с выбранными родительскими объектами нажмите на одну из кнопок выравнивания в свитке.

Если в свитке Adjust Transform активна кнопка Affect Object Only, то для выравнивания выбранных объектов с любым другим объектом на сцене и без влияния на детей выбранных объектов можно использовать команду Align линейки инструментов,

Сброс трансформаций

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

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

  • transform (трансформация) Reset Rotation оказалось бы лучшим названием для данной кнопки, поскольку она вращает только точку вращения объекта и выравнивает ее с мировой системой координат. Другими словами, она сбрасывает трансформацию вращения объекта в нуль градусов поворота вокруг каждой оси. Основная разница между Reset Transform и Align To World заключается в том, что Reset Transform оказывает влияние на детей объекта, a Align to World - нет.
  • scale (масштаб) Поглощает установку текущего масштаба объекта и объявляет его масштаб равным 100%. Сброс Scale может (ввести в заблуждение), поскольку приводит к разрыву того, как объект сообщает о своем состоянии. Если имеется сфера с радиусом 50 единиц и 150% однородный масштаб, на сцене сфера имеет радиус 75 единиц. При сбросе Scale данной сферы получится странная ситуация, при которой параметр радиуса сообщает о 50 единицах, а масштаб - о 100%, однако сфера на сцене по-прежнему имеет радиус 75 единиц. Сброс Scale скрывает исходный фактор масштаба от остальной 3DS МАХ.

Сброс Scale является единственным способом исправления неоднородно отмасштабированных объектов так, чтобы они правильно работали с иерархическим связыванием. Перед применением сброса Scale обязательно отсоедините от объекта все его дочерние объекты.

Сброс трансформаций посредством утилиты Reset Transform

Для сброса трансформаций объекта другим способом можно применить новую утилиту 3DS МАХ R1.1. Выберите Reset Transform из списка категорий панели Utility, показанной на рисунке 18.9. После щелчка на кнопке Reset Selected объект возвратится к своей начальной ориентации и масштабу, и любые трансформации масштаба и вращения будут помещены в модификатор XForm.

Применение утилиты Reset Transform обеспечивает дополнительный выигрыш за счет отделения значений вращения и трансформации масштаба от базового объекта. При этом данные значения остаются доступными в гизмо XForm.

ПРЕДУПРЕЖДЕНИЕ

Ввиду того, что утилита Reset Transform использует модификатор, применение Reset Transform аннулировать нельзя. Прежде чем применять утилиту Reset Transform выберите Hold из меню Edit. Затем, если вам не понравятся результаты работы утилиты, для восстановления сцены можно использовать Fetch.

Установка блокировок трансформаций объекта

Опции свитка Locks панели Hierarchy можно использовать для предотвращения трансформирования объекта относительно любых выделенных локальных осей. Доступ к блокированию объектов получается за счет нажатия кнопки Link Info в панели Hierarchy и расширения свитка Locks (см. рис. 18.10). Хотя свиток Locks расположен под Link Info, блокировки никакого отношения к связям между объектами не имеют. Установка блокировки влияет только на трансформации, применяемые непосредственно к объекту.

Свиток Locks содержит три набора флажков X, Y и Z - по одной установке для трансформаций Move, Rotate и Scale. Установка флажков оси предотвращает трансформацию относительно указанной оси- Например, набор блокировок на рисунке 18.10 предотвращает выделенный объект от перемещения вдоль оси Z или от вращения относительно осей Х и Y.

Использование фиктивных объектов

Фиктивные (dummy) объекты являются невидимыми, невизуализируемыми объектами, главная причина существования которых заключается в их связывании с другими объектами. Фиктивные объекты используются в качестве заместителей или поддерживающих структур для других объектов, которые должны выполнять сложные движения. Фиктивные объекты создаются из категории Helper в панели Create (см. рис. 18.11). Щелкните на кнопке Dummy и транспортируйте мышь в любое место сцены. В результате будет создан фиктивный объект кубической формы.

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

Связанная атомарная структура

Данное упражнение использует фиктивные объекты, скрытые внутри модели атома, электроны которого связаны с фиктивными объектами. Упражнение можно выполнять путем загрузки файла на шаге 1. Можно также прочитать описание шагов упражнения и исследовать завершенную модель, загрузив файл atom.max.

  1. Откройте файл atom-ex.max.
    Модель начинается с пустого объекта, центрированного в ядре, и одного электрона, привязанного в качестве дочернего к фиктивному объекту (см, рис. 18.12а).
    Два дополнительных связанных электрона создаются в шагах 2-4.
  2. Выделите вместе фиктивный объект и электрон.
  3. Нажмите Shift и поверните фиктивный объект на 120° относительно локальной оси Z.
  4. В диалоге Clone Options установите опцию Object в Copy, количество копий в 2 и нажмите ОК (см. рис. 18.12Ь). Как видно из рисунка 18.12с, создаются еще два фиктивных объекта со связанными электронами.
    Выполните анимацию электронов с использованием шагов 5-7.
  5. Включите кнопку Animate.
  6. Транспортируйте Time Slider в конец времени анимации.
  7. Вращайте каждый фиктивный объект вокруг одной из его локальных осей (см. рис. 18.12а). Выбор различных локальных осей приводит к разным орбитам.

Завершенную модель можно исследовать самостоятельно. Откройте файл atom.max с CD-ROM проиграйте анимацию atom.avi.

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

Использование инверсной кинематики

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

Подобный тип связывания полезен, но он не имитирует в точности суставчатые объекты реального мира. Как вы знаете, когда реальные объекты связаны вместе, то перемещение одного объекта оказывает влияние на все связанные объекты на основе их положений и свойств их суставов. Такое поведение имитируется посредством инверсной кинематики (Inverse Kinematics - IK).

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

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

Для включения IK-поведения нажмите на кнопку IK линейки инструментов. Для установки параметров IK нажмите кнопку IK в панели Hierarchy (см. рис. 18.13).

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

Системы координат

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

Рисунок 18.14 показывает правильно выложенную и готовую для связывания и установки IK фигуру по сравнению с фигурой, у которой будут проблемы с IK. У фигуры слева все компоненты выложены в соответствии с мировой системой координат и локальные системы координат компонентов выровнены с их объектами. Фигура справа не представляет никакого выравнивания, и некоторые локальные системы координат очевидно не выровнены с их объектами. Для фигуры справа будет трудно установить параметры, при этом ряд суставов могут оказаться неработоспособными.

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

  • Вращение объекта вращает и локальную систему координат. Выравнивание оси сустава IK основано на отношении объекта к родителю, когда объект и родитель выровнены по отношению к World.
  • Модификация объектов на подобъектном уровне влияет на подобъекты, но не изменяет локальную систему координат.
  • Присоединение объектов всегда приносит в жертву локальную систему координат присоединяемого объекта, при этом используется локальная система координат выбранного объекта.
  • Различные формы Reset Transform всегда выравнивают локальную систему координат объекта с мировой системой координат.
  • Любая из команд Adjust Pivot из панели Hierarchy изменяет положение и ориентацию локальной системы координат объекта.

Ситуации, которых следует избегать при использовании IK

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

Технологии, рекомендуемые для использования с IK, включают следующие:

  • Лучше всего с IK работает Эйлеровский контроллер вращения XYZ. Кватернионовы контроллеры вращения, подобные ТСВ и Smooth, работают с IK, но они не настоль точны, как контроллеры XYZ Эйлера и могут иногда "замораживаться" в суставах с ограничениями.
  • Не отключайте наследования связей Move или Rotate для любого-объекта, который планируется использовать с IK. IK-вычисления основаны на трансформациях Move и Rotate, передаваемых через иерархию. Не используйте опцию Follow с любым контроллером Path, присвоенным объектам в IK-иерархии. IK не может вычислить вращение, вызываемое опцией Follow.

Параметрические контроллеры, подобные LookAt, Noise, Audio или Expression, нормально с IK не работают. (Другими словами, 3DS МАХ не запрещает применения данных контроллеров, но скорее всего полезные результаты получены не будут.)

Определение IK-суставов

После того, как объекты связаны, можно начинать определять поведение их IK-суставов. Сердцем IK является определение того, как ограничиваются связи между объектами (их суставы).

Для определения поведения IK-сустава выделите в иерархии объект, который требуется анимировать, и затем настройте элементы управления IK в панели Hierarchy. Доступ к элементам управления IK получается после нажатия кнопки 1Кв панели Hierarchy (см. рис. 18.15).

В следующих разделах обсуждаются элементы управления IK для определения поведения сустава. Этими элементами управления являются Joint Parameters и Joint Precedence.

Установка Joint Parameters

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

Элементы управления суставом и текущие параметры сустава для одного выбранного объекта размещены вдвух свитках панели Hierarchy (см. рис. 18.16). При выборе более одного объекта свиток параметров сустава отображаться не будет. Свитки параметров сустава названы следующим образом:

  • otational Joints (вращательные суставы). Всегда доступны для любого типа вращения. Содержит три набора параметров сустава -- по одному набору для каждой из трех вращательных осей X, Y и Z.
  • Sliding Joints (суставы скольжения). Один из двух стандартных типов позиционных суставов. Sliding Joints является типом по умолчанию, используемым для большинства контроллеров Position. Содержит три набора параметров сустава - по одному набору для каждой из трех позиционных осей X, Y и Z.
  • Path Joints (суставы пути). Второй стандартный позиционный тип сустава. Используется всегда, когда выделенному объекту присвоен позиционный контроллер Path. Содержит один набор параметров, управляющий положением объекта вдоль пути.

Все указанные типы суставов содержат управляющие элементы для трех базовых свойств суставов: активный статус сустава, ограничения сустава и трение сустава (называемое снижением (easing) и затуханием (damping)). Данные свойства описываются в следующих разделах.

Активизация суставов

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

Примеры суставов реального мира, которые можно моделировать посредством 3DS МАХ IK, включают следующие:

  • Дверная петля активна по одной вращательной оси и не имеет осей скольжения.
  • Выдвижной ящик активен только по одной оси скольжения и нс имеет осей вращения.
  • Ваше плечо активно по всем трем вращательным осям и не имеет осей скольжения.
  • Бусинка на кольце (пути) активна по одной вращательной оси и активна по суставу пути.

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

Ограниченные суставы

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

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

  1. Установите флажок Limited для оси активного сустава, по которой требуется ввести ограничение.
  2. Введите значения в поля From и То, устанавливающие максимальный диапазон движения для объекта по данной оси (обратитесь к рис. 18.16).
    Во время прокручивания счетчика поле для задания ограничения выбранный объект передвигается. Кроме того, можно нажать кнопку мыши над метками From или То и заставить объект перейти в указанную позицию ограничения. В обоих случаях после освобождения мыши объект возвращается в исходное положение.

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

ПРЕДУПРЕЖДЕНИЕ

Если выбранный объект использует кватернионов контроллер вращения (ТСВ, Linear или Smooth) и его начальная позиция находится вне ограничений вращения, объект может "заморозиться", при попытке применения (К. Для ликвидации проблемы либо расширьте ограничения так, чтобы включать начальную позицию объекта, либо отключите режим IK и вращайте объект до тех пор, пока он не впишется в ограничение. С вращательным контроллером XYZ Эйлера подобная проблема не возникает.

Снижение и затухание суставов

В идеальном мире суставы не имеют трения и не оказывают сопротивление движению. Наши машины служили бы дольше, а руки не болели бы после работы с большими компьютерными книгами. К сожалению, трение в суставах присутствует. 3D Studio MAX имитирует сопротивление в IK-суставах посредством двух параметров, называющихся Ease и Damping.

Представляйте Ease как попытку передвинуть руку или ногу за максимальный диапазон движения. В диапазоне движение совершается легко, но когда вы доходите до ограничения, ощущается значительное сопротивление и движение затрудняется. Включение флажка Ease для оси увеличивает сопротивление движению по этой оси при подходе сустава к ограничению. Чем больше сопротивление в суставе, тем больше других суставов в иерархии IK должны участвовать в достижении требуемого положения.

О затухании можно думать как о заржавевшем или очень тугом суставе. Сустав с затуханием сопротивляется всем движениям и позволяет другим суставам в иерархии IK выполнять большую часть работы. Суставы с затуханием начинают двигаться тогда, когда другие суставы подходят к своим ограничениям. Установка значения в поле Damping вызывает сопротивление по всему диапазону движения. Значение Damping, равное 0.0, сопротивления не вызывает, а максимальное значение Damping 1.0 вообще не допускает движения по оси.

Копирование и вставка суставов

Часто будет возникать желание использовать один и тот же тип сустава с одними и теми же параметрами в нескольких объектах иерархии. В таком случае можно установить параметры только для одного сустава и затем скопировать и вставить параметры в другой сустав. Суставы Rotational и Sliding имеют свои кнопки Copy и Paste на развороте Object Parameters (см. рис. 18.17). Эти суставы располагают также и своей буферной памятью, поэтому можно одновременно хранить один вращательный и один скользящий сустав.

ПРИМЕЧАНИЕ

Для параметров сустава Path Copy и Paste не поддерживаются.

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

  1. Выберите объект.
  2. Нажмите Copy в свитке Object Parameters для параметров скользящего или вращательного сустава.
  3. Выберите другой объект.
  4. Нажмите Paste для типа сустава, который необходимо вставить.

Установка параметров суставов для корневых объектов

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

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

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

Иногда будет возникать желание сделать параметры сустава для корневого объекта неактивными, чтобы он действовал как якорь для любого решения IK. Но кроме того потребуется непосредственно выделять, перемещать или вращать корневой объект. 3DS МАХ обеспечивает оговоренную возможность через опцию Always Transform Children из World в панели Inverse Kinematics диалога Preference Settings. Когда Always Transform Children выключена, трансформация корневого объекта запрещена и он следует только параметрам сустава объекта. В противном случае можно свободно трансформировать корневые объекты, но любое IK-решение для корневого объекта обязано следовать параметрам сустава объекта.

Приоритет суставов

Параметр приоритета сустава (Joint precedence) управляет распространением движения между суставами. Суставы с большим приоритетом абсорбируют большую долю общего движения по сравнению с суставами, имеющими низкий приоритет. Абсолютное значение приоритета сустава не имеет значения, роль играет только превышение одного приоритета над другим.

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

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

  • Child-Parent. Данный предустановленный выбор обеспечивает типовой решение для большинства ситуаций. Следует выбрать дочерний объект и его предков и щелкнуть на Child-Parent для присваивания приоритета суставов, уменьшающегося от ребенка к родителю. Такая настройка приводит к тому, что порожденные объекты, находящиеся ближе к месту приложения трансформации, передвигаются больше, нежели дальние родительские объекты.
  • Parent-Child. Выберите дочерний объект и его предков и щелкните на Parentr^Child для присвоения приоритета суставов, возрастающего от ребенка к родителю. Подобная настройка приводит к тому, что порожденные объекты в месте приложения трансформации перемещаются меньше, чем удаленные объекты.

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

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

Иногда не требуется, чтобы кинематическая цепь проходила весь путь до корня. Примером служит анимация руки фигуры, когда необходимо, чтобы IK-эффект остановился у плеча. Остановить кинематическую цепь, прежде чем она достигнет корня, можно путем указания объекта как IK-терминатор. Для определения объекта в качестве IK-терминатора следует выбрать объект и установить флажок Terminator в свитке Object Parameters (см. рис. 18.18).

Анимация при помощи инверсной кинематики

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

  • Interactive IK. Связана с ручным выделением и трансформацией конечного эффектора в указанных ключевых кадрах.
  • Applied IK. Включает связывание конечного эффектора с оживляемым объектом и принуждение 3DS МАХ высчитывать IK-решение для каждого кадра.

Использование Interactive IK

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

Использование Applied IK

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

Для использования Applied IK прежде всего свяжите оживляемые конечные эффекторы с подражаемым объектом и затем щелкните на Apply IK в панели Hierarchy.

Связывание с позицией объекта

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

  1. Выберите из иерархии конечный эффектор.
  2. Установите флажок Bind Position в свитке Object Parameters.
  3. Нажмите кнопку Bind в области Bind to Follow Object.
  4. Транспортируйте мышь от конечного эффектора до объекта на сцене.

Когда курсор окажется над подражаемым объектом, он изменится на Bind (курсор Bind выглядит подобно булавке).

СОВЕТ

Попытка транспортирование указателя мыши от конечного эффектора до конкретного объекта для подражания может вызвать затруднения, если рядом с требуемым объектом находится множество других. Объект для подражания можно указать в диалоге Select Pin. В таком случае замените пункт 4 на следующий: Нажмите на линейке инструментов кнопку Select by Name и выделите имя подражаемого объекта в диалоге Select Pin.

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

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

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

Связывание с ориентацией объекта

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

  1. Выделите из иерархии конечный эффектор.
  2. Установите флажок Bind Orientation в свитке Object Parameters.
  3. Нажмите на кнопку Bind в области Bind to Follow Object.
  4. Транспортируйте мышь от конечного эффектора к объекту на сцене. Когда курсор окажется над подражаемым объектом, он изменяется на курсор Bind (курсор Bind выглядит подобно булавке).

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

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

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

Применение IK-решений

Последним действием после связывания конечных эффекторов с оживленным объектом для подражания является применение IK-решений. Управляющие элементы для применения IK находятся в свитке Inverse Kinematics панели Hierarchy.

Для применения IK-решения выполните следующее:

  1. Выделите любой объект в IK-иерархии.
  2. Установите время начала и время завершения IK-решения в полях Start и End.
  3. Щелкните на кнопке Apply IK.

Пока 3DS МАХ вычисляет IK-решение, в нижней части окна приложения 3DS МАХ отображается индикатор хода работы. Для остановки вычислений IK в любой момент времени нажмите на кнопку Cancel справа от индикатора хода работы.

В свитке Inverse Kinematics имеется еще два параметра, влияющих на применение IK-решения:

  • Update Viewports (обновить видовые окна). Когда включена, 3DS МАХ отображает в видовых окнах IK-решение для каждого кадра. Можно наблюдать прохождение процесса IK-решения, но за счет замедления вычислений.
  • Clear Keys (очистить ключи). Когда включена, все позиционные и вращательные ключи из объектов в иерархии IK удаляются до начала вычислений. Если производить в существующем IK-решении только небольшие изменения, сброшенная опция Clear Keys может ускорить вычисления. В случае же значительных изменений Clear Keys следует установить для обеспечения наиболее точного IK-решения.


ГЛАВА 19

Освещение и атмосфера

Хорошее освещение и переменчивая атмосфера -это как раз то, что отличает превосходную работу от средней. Можно создать сцену с великолепно разработанными моделями, изумительной анимацией и текстурами фотографической точности, но размытое или неадекватное освещение превратит произведение искусства в кучу пикселов. Это известно режиссерам, продюсерам фильмов, театральным осветителям, только многие 3D-аниматоры этого не знают. Стоит только пренебречь хорошим освещением и чувством атмосферы и ваша работа станет стерильной и безжизненной.

В данной главе обсуждаются следующие вопросы, связанные с освещением и атмосферой:

  • Освещение по умолчанию в 3D Studio MAX
  • Базовые стили освещения
  • Методы освещения 3DS МАХ
  • Типы источников света и примеры применения
  • Творческое применение ослабления
  • Управление параметрами теней
  • Свет прожекторов
  • Объемные источники света, туман и горение
  • Типы и концепции архитектурного освещения

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

Настройка стандартного освещения

В настоящем разделе освещаются базовые стили освещения, которые часто являются фундаментом для цветового конструирования, придающего сцене акцент и глубину. Кроме того, вы узнаете об умалчиваемом освещении 3D Studio MAX, которое обеспечивает хорошее общее освещение, о базовых иллюстрационных стилях, таких как трехточечное освещение и о концепции отраженного света.

Освещение по умолчанию 3DS МАХ

Когда нет ничего другого, 3DS МАХ для эффективного просмотра сцены обеспечивает установку освещения по умолчанию. Эту установку можно представлять в виде "домашнего света", достаточного для работы, но не предназначенного для результата окончательной визуализации. Освещение по умолчанию представляет собой просто два всенаправленных (omni) источника света, помешенных в диагональных углах сцены. Если предположить, что сцена центрирована относительно начала, источники света размещены вверху спереди в точке -X, -Y, +2 и внизу сзади в точке +Х, +Y, "Z.

При первом добавлении к сцене источника света 3DS МАХ удаляет освещение по умолчанию, так что можно видеть происходящее. Сцена станет темнее, поскольку два источника света заменяются одним. После этого при необходимости можно вводить дополнительные источники света. Освещение по умолчанию остается отключенным до тех пор, пока на сцене имеются пользовательские источники света, независимо от того, включены они или выключены. Когда со сцены удаляются все источники света, освещение по умолчанию возвращается автоматически. Однако иллюминацию сцены можно перекрывать источниками света по умолчанию через клавиатурное сокращение (Ctrl+L). Данное перекрытие основывается на видовом окне и сохраняется вместе со сценой. На практике это полезно тогда, когда освещение под определенным углом отсутствует, но необходимо моделировать темную сторону.

ПРИМЕЧАНИЕ

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

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

Базовые стили иллюминации: треугольное и зонное освещение

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

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

Второй, контровой свет {backlight) применяется для разделения объекта и фона и выявления глубины. Такой источник света обычно находится позади и выше объекта и по сравнению с ключом имеет меньшую или равную интенсивность (см. рис. 19.2).

Третий свет, заполняющий (fill), обычно остается за камерой и заполняет темные области, пропущенные ключевым (см. рис. 19.3). Заполняющий свет применяется для управления контрастом между наиболее яркими и наиболее темными областями сцены. Яркий заполнитель создает равное освещение, тогда как приглушенный заполнитель увеличивает контраст и делает сцену более "тяжелой". Выбор интснсивностей освещения помогает создавать общее настроение. Как веселые мультфильмы ярки и хорошо иллюминированы, так заколдованные замки туманны и полны контрастов. На рисунке 19.4 показана организация источников света для рисунка 19.3.

Иногда большая сцена не может эффективно использовать базовое треугольное освещение, поэтому требуется несколько иной подход. Зонное освещение имеет место тогда, когда область разбивается на зоны и каждая зона иллюминируется индивидуально. Выбор зон основывается на важности или сходстве. После выделения зоны к ней можно примерить базовое треугольное или трехточечное освещение. Однако в ряде случаев зонное освещение не создает требуемого настроения и тогда применяется свободная схема. Акцентирующие источники света (accent lights) используются для освещения ключевых объектов или областей и часто применяются для привлечения внимания к чему-то особенно важному.

Каждое визуальное искусство имеет несколько стилей освещения и все они могут применяться в трехмерном пространстве. Фактически ЗО-освещение не ограничено мощностью и яркостью имеющихся лампочек. Не ограничено оно и тем, куда можно поместить источники света, тем, что они освещают или тем, куда отбрасывают тени. Трехмерные источники света могут выполнять анимацию яркости и цвета и совершенно свободно перемещаться.

ПРИМЕЧАНИЕ

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

Отраженный свет

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

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

Все источники света в 3DS МАХ учитывают цветовые законы аддитивной RGB-иллюминации. Выбор и присваивание цвета света непротиворечиво между всеми формами источников света. Более подробная информация о цвете, иллюминации, а также теория смешивания цветов и ее приложение в 3DS МАХ приводится в главе 2 "Смешанный цвет и свет" данной книги и в главе 20 тома 2 3D Studio MAX User's Guide.

Источники света и их иллюминация

Множество встроенных типов источников света 3DS МАХ могут эмулировать практически любой свет в природе, а также добавлять возможности, существующие только в виртуальном королевстве компьютерной графики. 3DS МАХ содержит несколько типов источников света - целевые (targeted) и свободные (free) точечные (spotlights), всенаправленные (omni) и направленные (directional) источники света. Это физические объекты, которые можно поместить и передвигать по 3D-cueHe. Данные источники света содержат общие элементы управления светом, которые описывают поведение света в среде. Существует также фоновый (ambient) свет, представляющий на самом деле уровень освещения, поскольку он однообразно влияет на всю сцену. Будучи таковым, он находится среди элементов управления средой и не имеет никаких настраиваемых физических свойств.

Типы источников света

3DS МАХ включает четыре различных объекта источников света: всенаправленный (omni) и направленный (directional) источники света, целевой (targeted) и свободный (free) точечные источники света. Фоновый (ambient) свет, не представляемый никаким физическим источником света, играет важную роль в общей световой конструкции.

Все освещение в 3DS МАХ учитывает законы цвета аддитивной RGB иллюминации. Выбор и присваивание цвета света согласуется со всеми формами света. Цвета можно смешивать, используя любую комбинацию значений Red, Green, Blue (RGB) и каналов Hue, Luminance, Saturation (HLS). Более подробная информация о цвете приведена в главе 2.

Всенаправленные источники света

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

ПРИМЕЧАНИЕ

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

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

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

Направленные источники света

Направленный (directional) источник света лучше всего сравнивать с солнцем. Когда свет отбрасывает тени, угол тени определяется линией, проведенной от источника света к объекту. Этот эффект наиболее заметен, когда имеются тесно расположенные объекты с параллельными поверхностями - например, частокол. Размещение точечного источника света рядом с частоколом приведет к появлению расширяющихся теней, поскольку каждый кол проводит собственную линию тени к источнику света. По мере удаления источника света от частокола угол между тенями каждого кола будет все меньше и меньше. Если источник света поместить на значительном удалении, то углы между тенями станут настолько малы, что отбрасываемые тени будут практически параллельными. Именно так получается с солнечным светом, а в компьютерной графике подобный эффект называется параллельным или направленным освещением. Такова иллюминация, порождаемая объектом Directional Light в 3DS MAX.

Объект Directional Light в 3DS МАХ представляет собой нечто подобное гибриду между традиционным параллельным и точечным источником света. Directional Light похож на точечный источник света в том, что имеет яркую точку (hotspot) и границу действия освещения (falloff). Это помогает управлять протяженностью, до которой можно просчитать тени на сцене, и размером границы освещения. Когда яркая точка минимизирована, Directional Light становится похож на фотографический источник света, отбрасывающий мягкий локальный свет. Если включена опция Overshoot, то и яркая точка, и граница освещения игнорируются, и иллюминация будет похожа на солнечную. Для мягкого локального освещения следует использовать ослабление (attenuation). Для имитации солнечного освещения ослабление должно отключаться.

Directional Light похож на Free Spot или Free camera (свободная камера) в том, что у него нет цели и он полностью управляется своим поворотом. Когда активно превышение (overshoot), дистанция между Directional Light и предметом играет незначительную роль. В отличие от других источников света не имеет значения, на каком удалении от одной стороны размещен Directional Light - роль играет только угол, который он образует с предметом.

Целевой точечный источник света

Целевой точечный источник (Target Spot) представляет собой направленный источник света, который светит в направлении своей цели. Цель может двигаться независимо. Целевой точечный источник света похож на ситуацию, когда к источнику света привязывают веревку, что часто используется на концертах. Если потянуть за веревку, свет поворачивается в заданном направлении.

ПРИМЕЧАНИЕ

Цель используется только при наведении точечного источника света. Расстояние от цели до источника света не влияет ни на яркость, ни на ослабление.

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

Свободный точечный источник света

Свободный точечный источник (Free Spot) обладает всеми возможностями Target Spot, но без целевого объекта. Вместо позиционирования цели в световой конус производится вращение вращаете Free Spot для нацеливания его луча. Причиной выбора Free Spot вместо Target Spot может служить персональное предпочтение или необходимость выполнения анимации источника света в сочетании с геометрией. При выполнении анимации источников света возникают случаи, когда источники света должны находиться во взаимоотношении с другим объектом. Типичными примерами являются фары автомобиля, точечные источники и шахтерская каска. Собственно, это те ситуации, для которых Free Spot и предназначен, поскольку он может просто связываться с объектом и нацеливать свой свет, когда объект передвигается по сцене. Это особенно важно, если точечный источник имеет прямоугольную форму и/или проектирует образ. В подобных случаях источник для получения требуемого эффекта должен передвигаться вместе с родительским объектом. Поворот источника света с его результирующей проекцией можно надежно сделать только с помощью Free Spot.

фоновый свет

Если со сцены убрать все источники света, останется только фоновый свет (ambient light). Это постоянно присутствующий свет, который кажется существующими в мире даже тогда, когда нельзя идентифицировать источник света. В реальности свет отражается от поверхностей и освещает то, что нс освещено непосредственно. Фоновый свет является методом аппроксимации отраженного света в 3D Studio MAX.

Цвет фонового света влияет на каждую поверхность на сцене до того, как на них окажут влияния другие источники света. Фоновый свет служит в качестве отправной точки. С ним складываются или вычитаются все остальные световые компоненты. Поскольку фоновый свет применим универсально, увеличение его уровня снижает контрастность и "сглаживает" сцену. Сцена, освещенная одним фоновым светом, не имеет контраста или теней. Каждая сторона и грань визуализируются с одной и той же интенсивностью. Различимы только геометрические силуэты и свойства материалов.

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

Иногда для визуализации "гладких" компонентов, подобных тексту, логотипам и иллюстративным конструкциям, которые вы не хотите оттенять, полезен чисто белый фоновый свет. Поскольку общий уровень света на сцене - белый, то никакие эффекты от любых других источников света существовать не будут, если используемые материалы имеют идентичные базовые цвета Ambient и Diffuse (как в замкнутых картах Diffuse и Ambient). Если между цветами Ambient и Diffuse имеется разница, то по мере увеличения освещенности своих поверхностей материалы будут сдвигаться в направлении значений рассеивания. Вместо настройки определений материалов можно просто устранить другие источники света. Если на сцене нет источников света, придется создать один и выключить его с целью устранения влияния организации освещения по умолчанию.

ПРИМЕЧАНИЕ

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

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

Общие элементы управления светом

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

Флажок Оп/ОгГ управляет тем, будет ли источник света оказывать влияние на сцену. Выбор для сцены ясен и не может анимироваться. Если вы хотите выполнить анимацию включающегося и выключающегося света, следует настроить его цвет и/или значение множителя. Заметьте, что для включения и выключения света с постоянной частотой необходимо либо присвоить линейный (Linear) контроллер, либо настроить Continuity контроллера ТСВ в 0, либо сгладить кривую контроллера Безье.

Щелчок на кнопке Exclude вызывает окно списка и предоставляет возможность выбора конкретных объектов для освещения (см. рис. 19.6). Здесь можно либо выбрать объекты для освещения, либо исключить их из освещения. Правильнее выбрать меньшее из двух множеств. Исключение из освещения не влияет на вычисления визуализации и реально оптимизирует сцену - особенно, когда используется ограничение того, что нужно освещать теневому отбрасываемому свету. Списки включения/исключения предоставляют возможность акцентировать свет в любом месте сцены, не беспокоясь о том, что освещение станет излишним или будет порождать нежелательные блики.

RGB, HSV и Color Swatch осуществляют управление цветом. Хотя анимацию цвета можно выполнить путем настройки любого значения, его всегда оживляют в соответствии со значениями RGB и интерполируют по пространству цвета RGB. Цвет света имеет значение даже на низких уровнях. Величина иллюминации поверхности управляется общим значением RGB, модулированным при помощи значения множителя.

Множители

Множитель похож на переключатель фильтров света. Для определения действительного выходного цвета значение множителя переумножается со значением RGB цветовой отметки. Значение, меньшее единицы, уменьшает освещение, тогда как значения большие единицы ее увеличивают. Когда множителю задаются отрицательные значения, реально освещение со сцены удаляется. Такой "отрицательный свет" полезен для имитации излучающих эффектов и других внутренних цветовых настроек. Например, распространено применение отрицательных всенаправленных источников света путем помещения их во внутренние углы для затемнения углов способом, который трудно получить через положительное освещение сцены.

Хотя у множителей много применений, однако наиболее распространенным является обеспечение применения серией источников света одного и того же цвета. Каждому источнику света задается один и тот же цвет, а интенсивность управляется множителями. То, что применяется один и тот же базовый цвет, видно из цветовой отметки. Подобным же образом маленькие значения множителей позволяют считываться цветовой отметке, как различимому цвету, оставляя при этом цвет источника света достаточно темным. Например, вместо создания темно-красного источника света 10, О, О и практически черного цветового образца, можно задать ему распознаваемый красный 200, О, О и использовать множитель 0.05, чтобы затемнить его до низкого значения.

При увеличении множителей каждый канал завершается у 255. Это означает, что красный цвет, начинающийся как 255, 10, 10 будет розовым с множителем 10, светло-розовым с множителем 20 и чисто белым с множителем 26. Когда множитель достигает такой величины, то факт, что свет "красный", виден только на границе света или за счет использования ослабления. Затем свет переходит от белого до ярко-красного через ореол границы света. Данная характеристика часто полезна для организации специальных световых эффектов.

Ослабление

Ослабление управляет границей света по дистанции. Без ослабления источники света действуют в соответствии со своей ориентацией относительно поверхности. Если поверхность находится под 90°, свет дает полный эффект. Это значит, что чем дальше поместить источник от поверхности, тем круче становится угол падения и ярче освещается поверхность. Но в реальной жизни свет с расстоянием уменьшается. Если вы держите фонарик прямо на столе, то он довольно яркий. Направьте его через комнату и сила его света уменьшится. Направьте его через улицу и он уже вряд ли достигнет соседнего дома. Такое уменьшение, затухание или размывание света называется ослаблением (attenuation) и представляет собой простой результат физики явления.

ПРИМЕЧАНИЕ

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

В окружающем мире свет затухает пропорционально квадрату расстояния. Например, если лампа создает освещенность Х на расстоянии 10 футов, то на расстоянии 20 футов освещенность будет '/4 X. Несмотря на физическую корректность, для компьютерной графики такая величина затухания считается слишком большой. Дело в том, что свет отражается от всех поверхностей и освещает мир со всех углов, хотя и ослабляется. Только программы отражающей визуализации обладают возможностью репродуцировать этот вторичный свет, и такие программы обычно являются единственными, которые придерживаются затухания, пропорционального квадрату расстояния. Большинство компьютерных программ с ослаблением света делают это линейно - та же самая лампа с освещенностью Х на расстоянии 10 футов, на расстоянии 20 футов создаст освещенность '/2 X. 3DS МАХ обеспечивает гибридный метод нулевого и линейного затухания.

ПРИМЕЧАНИЕ

Ослабление показывается в интерактивных видовых окнах только при включенной опции Attentuate Lights в Viewport Preferences. Эта опция оказывает значительное влияние на время перерисовки затенения, хотя и является полезной.

Флажок Attenuation Use указывает на то, использует ли вьтделенный источник света назначенные диапазоны. При активизации флажка вокруг источников света появляются круги, указывающие протяженность диапазонов Start и End (см. рис. 19.7). Данные круги определяют внутренние и внешние границы освещения. Диапазон Start (внутренний круг) похож па горячую точку и определяет регион, в котором ослабление не происходит. Диапазон End (внешний круг) похож на границу действия и определяет расстояние, при достижении которого освещение прекращается. Свет в пределах диапазона Start и End ослабляется линейно. Если необходимо, чтобы свет затухал все время, следует уменьшить диапазон Start до нуля.

СОВЕТ

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

Яркая точка и граница света

Яркая точка (hotspot) и граница (fallon) являются наиболее часто настраиваемыми аспектами точечного и направленного источника света. Разница между яркой точкой и границей света управляет отчетливостью результирующей области света. Значения яркой точки и границы обладают влиянием, подобным влиянию внутренних и внешних диапазонов ослабления всенаправленного света. Яркая точка определяет величину полной освещенности - она нс увеличивает освещенности, как может подсказывать название. Освещенность внутри яркой точки является полным эффектом света. Граница света определяет расстояние, на котором свет перестает действовать. Это увядание или затухание не является линейным, как с диапазонами всенаправленного света, но представляет кубическую сплайповую интерполяцию - большинство переходов происходят около внешней границы света. Разница в размере между яркой точкой и границей света определяет мягкость или расплывчатость световой границы. Маленькая яркая точка и широкое падение создают очень мягкую границу, в то время как яркая точка, подступающая к границе, делает границу света очень резкой.

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

СОВЕТ

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

Превышение (overshoot)

Можно устранить направленную или точечную световую область, активизировав опцию Overshoot. Она устраняет ограничения и обеспечивает освещение, эквивалентное порожденному только внутри яркой точки. В основном опция Overshoot превращает точечный свет в "направленный всенаправленный свет", сохраняя при этом остальные возможности. Благодаря таким качествам на опцию часто ссылаются как на бесконечное превышение. Важно понимать, что преувеличенные точечные источники нс ограничены более конусом света и светят во всех направлениях, подобно всенапраленному источнику света, и направленный источник отбрасывает свет со стороны в сторону бесконечно (см. рис. 19.8). Игнорируя ограничения яркой точки, источники света, использующие превышение, все-таки учитывают параметры ослабления.

Превышение полезно для создания общего освещения. Однако тень точечного источника света и/или возможности прожектора по-прежнему необходимы- Эти свойства по-прежнему учитывают конус границы. Точечный источник с преувеличением следует рассматривать как всенаправлепный источник, у которого возможности отбрасывания тени и проектирования ограничены падением (см. рис. 19.9).

Применение опции Overshoot с направленным источником создает сильный, несколько необычный источник света. Например, преувеличенный направленный источник света будет ровно освещать все поверхности, с которыми сталкивается, но не будет влиять на поверхности, коллинеарные с направлением света (см. рис. 19.10).

Трансформация источников света

Источники света позиционируются на сцене подобно любым другим объектам посредством трансформаций Move и Rotate. В отличие от других объектов трансформация Scale масштабирует только диапазоны и не оказывает влияния на другие атрибуты. Элементы управления трансформацией часто применяются для точной настройки позиции и ориентации источника. Контроллеры Path, Look At и Experssion часто применяются для направления света по пути, для следования ключевым объектам или принуждения их реагировать на другие события на сцене.

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

СОВЕТ

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

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

Работа с тенями

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

Создание эффектов освещения без использования теней достаточно затруднительно. Свет, поступающий слева, смешивается со светом справа и заполняющим. Без привлечения теней очень трудно создать в модели контрасты. Отбрасывание теней представляет собой дорогую опцию, но именно она добавляет в завершенную сцену огромный реализм. Тени, построенные посредством трассировки лучей, требуют времени визуализации, a Shadow Maps (карты теней) в дополнение к потребляемому времени визуализации требуют и ресурсов памяти. Ограничение падения точечного света только той областью, которая требует теней, сэкономит время визуализации. Уменьшение количества объектов, отбрасывающих тени, через атрибуты объекта или света, также имеет целью сокращение накладных расходов на визуализацию.

Каждую тень можно установить локально или глобально. Поскольку каждый источник света влияет на разные области сцены и подчиняется различным требованиям, вероятнее всего вы будете настраивать теневые параметры каждого источника. Каждый направленный и точечный источники содержат диалог Local Shadow Control, доступ к которому осуществляется через параметры источника.

Значения глобальных теней управляют параметрами всех отбрасывающих тени источников, у которых включен флажок Use Global Settings. Эффекты параметров одинаковы, но они не удовлетворяют нуждам каждого источника. Новые источники света создаются с выключенным флажком Use Global Settings и используют для параметров теней встроенные системные значения по умолчанию. Если включить Use Global Settings, параметры изменятся на глобальные (при условии, что уже существует источник с включенным Use Global Settings). Если нет другого источника с включенным Use Global Settings, текущие значения параметров используются в качестве глобальных.

3DS МАХ обеспечивает две формы теней с существенно различающимися свойствами. Выбор требуемой формы сводится к ответу на базовые вопросы: "Должны ли границы тени быть резкими или мягкими?" и "Должна ли тень учитывать прозрачность объекта?"

Использование теней, построенных при помощи трассировки лучей (ray-traced-теней)

Ray-traced-тени точны, имеют резкие границы и практически всегда повторяют форму объекта, который их отбрасывает (неприятная черта, с которой вынуждены бороться карты теней). Всегда, когда нужна четкая граница и вычисления значений прозрачности объекта, требуются ray-traced-тени.

Ray-traced-тени также принимают в расчет непрозрачность материала и цвет фильтра. Данные тени принимают во внимание любую информацию о непрозрачности, содержащуюся в материале. Такая информация предоставляется в форме карты непрозрачности и ее маски, указателей параметров прозрачности материала и опций In/Out. Это все аспекты, определяющие прозрачность. Дополнительные карты, задающие текстуры или неровности, на отбрасываемую тень не влияют. Имитация отметок подобного рода поверхностей требует копирования соответствующей битовой карты в качестве карты непрозрачности или маски для материала.

Точечные источники света, которые используют гау-traced-тени, обрабатывают все непрозрачности в терминах свечения или интенсивности. Срезы (cutouts) материала при освещении такими источниками могут выглядеть предельно убедительно. Данные материалы имеют подходящую текстуру и карты непрозрачности и часто используются для окружения объектов, подобных деревьям, людям и машинам. Однако они могут быть и отдельными листьями, и сложным узором в окне.

ПРИМЕЧАНИЕ

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

Смещение трассы луча

Единственным параметром, который управляет эффектами ray-traced-теней, является Ray Trace Bias (смещение трассы луча). Это не сразу очевидно в свитке Shadow Parameters, потому что при выделенной опции Ray-Traced Shadows параметры карты теней дерева остаются редактируемыми.

В отличие от параметров карты теней, значение Ray Trace Bias редко нуждается в настройке. Значение 1.0 не дает смещения, большие значения начинают оттягивать тень от объекта, в то время как меньшие значения пододвигают ее ближе к объекту. Данное значение должно настраиваться, если отбрасываемые тени объекта содержат самопересекающиеся элементы. Ray-traced-тени, содержащие пустоты, когда они должны быть сплошными, или тени, не связанные с отбрасывающим тень каркасом, имеют слишком высокие значения смещения и их следует уменьшать.

Использование карт теней

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

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

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

Размер карты теней и качество тени

Размер карты теней является самым критическим и дорогостоящим фактором для получения "правильной" тени. Renderer создает квадратную битовую карту такого размера, который указан параметром Map Size. Затраты памяти на подобную карту составляют четыре байта на пиксел карты, т.е. карта теней из 500 строк требует 500 х 500 х 4 = 1 Мб оперативной памяти. Затем данная карта растягивается до размера объектов, отбрасывающих тень, с конусом границы света и проектируется на принимающую поверхность.

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

ПРИМЕЧАНИЕ

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

Map Bias и точность контакта

Значение Map Bias (смещение карты) в основном используется для исправления неточностей, присущих картам памяти в отображении объектов, отбрасывающих тени. Чем ниже значение смещения (bias), тем ближе тень подтянута к объекту.

Широко рекомендуются значения Map Bias 1.0 для архитектурных моделей и 3.0 для остальных конструкций. Очень важно не использовать указанных значений, нс поэкспериментировав с ними на сцене. Каждая модель, и возможно каждый точечный источник должны настраиваться в соответствии с углом света, расстоянием и окончательным выходным разрешением. Кроме того, в точности отображения теневых карт большую роль играет размер теней.

Map Sample Range и мягкость краев

Значение Map Sample Range (предел карты образца) управляет расплывчатостью краев тени - чем выше значение, тем более расплывчатым окажется край тени. Ключевым словом в данном параметре является "Sample", поскольку программа на самом деле размывает окружающие края для создания расплывчатости. Качество и точность краев, как всегда, является балансом смещения теневой карты, размера и диапазона экземпляризации.

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

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

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

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

Проектирование образов

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

Проектируемый свет имеет большие традиции применения в театре и внутреннем световом дизайне. Один из самых традиционных эффектов заключается в том, что когда образ непрозрачный (черный на белом), то он отбрасывает тень, а не образ. При таком использовании проектируемый свет часто называется gobo-светом. Тени, отбрасываемые по такой технологии, могут создавать в 3DS МАХ исключительные и экономящие память эффекты. Два из них показаны на рисунках 19.11 и 19.12.

Проектируемый свет

Точечный и направленный источники света при включенной опции Projector могут проектировать образ. Щелчок на кнопке Assign вызовет Material/Map Browser редактора материалов (см. рис. 19.13). Отсюда можно выбирать существующий канал проецирования, определенный в Material Editor, сцену, библиотеку или определять новую библиотеку. Как только выбран канал проецирования, его имя появляется на кнопке Map источника света. Нажатие данной кнопки позволяет присвоить канал проецирования конкретному слоту в Material Editor для дальнейшей настройки. Можно также извлечь из Material Editor проектируемые карты, использованные в сцене.

ПРИМЕЧАНИЕ

Если тип анимируемой карты выбран как образ проектора, то при визуализации диапазона кадров каждый кадр показывается последовательно. Таким образом проектор слайдов превращается в кинопроектор. Анимация может быть записана либо в файл AV!, последовательность файлов в gobo или в виде результата анимированных параметров в выбранном канале проецирования.

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

ПРИМЕЧАНИЕ

Когда опция Projector используется в сочетании с Overshoot, то образ по-прежнему ограничивается размером границы света. Однако данная граница однако становится ступенчатой, если цвет границы проектируемого образа (т.е. фон) блокирует цвет точечного источника. Поскольку белый цвет никогда не смешивается аддитивно, он должен рассматриваться в качестве первого кандидата на цвет фона образа, пока свет имеет положительный множитель.

СОВЕТ

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

Настройка проекций света

Границу проектируемого источника света следует реально представлять как пиктограмму Planar Projection, поскольку она действует точно так же. Пропорции и поворот битовой карты диктуются положением границы. У границы имеется маленькая вертикальная линия, указывающая на вершину проекции.

Если пропорции кругового точечного источника света очевидным образом фиксированы, то пропорции прямоугольного точечного источника можно настраивать как с помощью команды света Aspect, так и с помощью команды Bitmap Fit.

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

ПРИМЕЧАНИЕ

Проектируемый образ можно повернуть и даже выполнить анимацию вращения. Подобное выполняется посредством параметров материала проектируемой карты в Material Editor.

Установка среды

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

ПРИМЕЧАНИЕ

Обратите внимание на то, что все атмосферные эффекты работают только в окнах Perspective и Camera, а некоторые - только в Camera.

Установка фона

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

СОВЕТ

В случаях, когда вы не хотите визуализировать образ, искаженный фоном, добавьте строку DonfAnfiaSasAgai'nsfBackgroiind=1 внизу раздела [Renderer] 3dsmax.ini и устраните искажения фона. Удаление искажений полезно для визуализации спрайтов на сплошном фоне или для создания графики без рамок для Web, отсекающего лишний фон. Если раздел [Renderer] не существует, его следует добавить.

Выбор фонового образа похож на использование карты проектирования для света. Нажмите кнопку Assign и вызовите броузер Material/Map. Здесь можно создать пользовательскую карту или применить существующую.

Использование объемного света

Объемный свет (volume lights) обеспечивает наполнение конуса света частицами так, чтобы луч или ореол становились видимыми при визуализации. В компьютерной графике это общеизвестно под названием объемного освещения, и когда тени прерывают конус, то объемными тенями. Данный эффект применяется к существующим на сцене световым объектам через раздел Atmosphere элементов управления Environment. Атмосферу объемного света можно назначить многочисленным видам света и ряд объемных светов можно использовать в сцене для локального управления. Объемные виды света имеют широкий диапазон параметров, которые существенно изменяют внешний вид света. Цвет света, плотность, объемная яркость и темнота, ослабление и шум - всеми этими атрибутами легко управлять из диалога Environment 3DS MAX.

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

Важно отметить, что порядок, в котором эффекты объемного света разносятся по уровням в диалоге Environment, оказывает влияние на визуализацию эффектов (см. рис. 19.15). Их порядок управляется кнопками Move Up и Move Down. Эффекты в нижней части списка наслаиваются перед эффектами в верхней части. Внимательное размещение слоев атмосферных эффектов поможет избежать странных ситуаций, когда объемный свет на фоне появляется перед светом на переднем плане.

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

Для управления видом объемного света также важны параметры Density, Max Light и Min Light. Density управляет объемной плотностью света. Чем больше объем, тем менее прозрачным становится весь свет. Оглядываясь на природу, действительно плотный свет мы видим в ней только в насыщенных атмосферных условиях, например в тумане. Таким образом, если не создается очень плотная атмосфера, следует поддерживать плотность света достаточно низкой. По умолчанию значение равно 5, а рекомендуемые значения находятся в пределах от 2 до 6.

После Density параметры Мах Light и Min Light используются для управления рассеиванием света. Мах Light управляет "самым белым" свечением, a Min Light - минимальным свечением. Обратите внимание на то, что Min Light, установленный в значение больше нуля, создает свечение всей сцены, подобно тому, как источник Ambient управляет всей сценой. Кроме того, значение Мах Light равное 100 ярко настолько, насколько позволяет параметр Density. Для увеличения яркости свечения уменьшите плотность.

К объемному свету можно добавить Noise (шум), что создает впечатление запыленности. При включенном параметре Noise появляется необходимость в дополнительных параметрах, таких как Amount, Uniformity, Size, Phase, Wind Strength и Wind Direction. Параметры Amount (количество) и Size (размер) управляют количеством и размером добавляемого шума. Uniformity (однородность) управляет тем, образуют ли помехи ровную дымку или точечную турбулентность. Остальные параметры, Phase (фаза), Wind Strength (сила ветра) и Wind Direction (направление ветра), управляют видом объемного света во время анимации. Wind Direction говорит сам за себя, но важно заметить, что Phase и Wind Strenght оказывают влияние друг на друга. Phase - это значение для анимации, но на движение помех влияет Wind Strenght. Если Wind Strenght отсутствует, то Phase только взвихряет помехи, но они не кажутся куда-то движущимися. С Wind Strenght объемный свет выглядит как имеющий частицы, продвигающиеся по сцене в направлении Wind Direction.

ПРИМЕЧАНИЕ

Хорошим примером анимации помех в объемном свете служит envlite2.max (см. рис-19.16) из каталога SCENES в 3D Studio MAX. Все сцены, начинающиеся на ENV - это файлы, подходящие для исследования элементов управления средой.

Использование тумана и объемного тумана

В 3DS МАХ определены несколько типов тумана. Все они имеют сходное, однако уникальное использование (см. рис. 19.17).

  • Standard Fog (стандартный туман). Стандартный туман 3DS МАХ, вероятно, настраивается проще всего и придает сцене общую атмосферную размытость. Требуя камеру, насыщенность стандартного тумана управляется диапазонами среды камеры. Для окрашивания стандартный туман может использовать материал, что продуцирует множество окрашенных и текстурных туманов. Применимы также карты непрозрачности, которые придают виду неравную плотность.

ПРИМЕЧАНИЕ

Значения Near% и Far% по сравнению с Volume Lights влияют на туман противоположным образом. При тумане после 100% не видно ничего. Это означает также то, что в отсутствие фоновой геометрии туман, визуализированный при 100%, выступает как сплошной цвет. При включенном флажке Exponential зависимость тумана от процента становится экспоненциальной, что существенно изменяет внешний вид тумана.
  • Layered Fog (слоистый туман). Слоистая туманная атмосфера предоставляет возможность определить плавающую "полосу" тумана, которая фиксирована на месте независимо от расположения камеры. "Полоса" всегда параллельна видовому окну Тор, однако имеется возможность полностью контролировать ее верхнюю и нижнюю точки посредством параметров Тор и Bottom. Данные значения указываются в единицах расстояния вдоль вертикальной оси и фиксированы для сцены.
    Позиция слоистого тумана не фиксирована. Можно выполнить анимацию подъема тумана посредством анимации параметров Тор и Bottom. Все остальные параметры также поддаются анимации. Для этого применяется кнопка Animate.
    Варьирование плотностью тумана предоставляет возможность получить множество видов тумана, начиная от легкой влажности до абсолютно темной стены. Слоистый туман обладает однородной плотностью 50% цвета объекта и неравная плотность достигается при помощи карты непрозрачности.

СОВЕТ

Слоистый туман имеет чистый прямой горизонт. Такой эффект полезен, когда туман далеко, но иногда выглядит ненатурально. В этом случае можно добавить немного помех, размывающих горизонт, что часто оказывается полезно для сцен с нечетким горизонтом.
  • Volume Fog (объемный туман). Подобный тип тумана полезен при выполнении анимации облаков, которые может унести ветер или сквозь которые можно пролететь (см. рис. 19.18). Эффект будет настоящим трехмерным и варьируется во времени и пространстве. Volume Fog управляется подобно другим типам туманов и объемным помехам. Для создания движущегося тумана Wind Strength управляет скоростью ветра и применяется в сочетании с оживленной фазой.

Использование горения

Горение, которое прежде было подключаемым элементом, сейчас является частью Выпуска 1.1 3DS MAX. Данный атмосферный эффект отлично подходит для анимации огня, дыма и взрывов. Поскольку он не является эффектом частиц и не генерирует геометрии, то по сравнению с другими типами эффектов задействует и использует меньший объем памяти.

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

Атмосферный аппарат представляет собой физический объект и находится на командной панели Create/ Helpers в подкатегории Atmosphere Apparatus (см. рис. 19.19). В зависимости от желаемого эффекта аппарат может быть как сферой, так и полусферой. Аппарат можно неоднородно масштабировать по измерениям и даже можно выполнить анимацию, позволяя пламени "расти", а ракетному двигателю - увеличивать мощность.

Подобно другим атмосферным явлениям, горение легко поддается анимации путем оживления значения фазы. Горение поддерживает особый порядок выполнения эффектов. Эффекты значений фазы разнятся друг от друга в зависимости от того, включен ли Explosion (взрыв). Если включен, значения фазы 0-100 являются стартовыми значениями эффекта, достигающего полной интенсивности при 100. Фаза 100-200 - это когда взрыв выгорел и огонь превратился в дым. Фаза 200-300 - это когда дым рассеялся и горение завершилось. Если Explosion выключен, фаза управляет скоростью, с которой вихрится пламя (см. рис. 19.20).

Анимация значения фазы пламени должна быть линейной, т.е. не должна ускоряться со временем, но сохранять постоянный темп. Однако взрывы должны быстро возрастать до 100 и затем постепенно идти до 300. Специальная информация по множеству механизмов горения собрана в оперативной помощи 3D Studio МАХ 1.1.

Горение можно установить в Fire Ball (огненный шар) без различимых верха и низа, или Tendril (усик), что имитирует обычное пламя. Fire Ball является хорошим выбором для взрывов и хорошо смотрится в сочетании с другими полусферными аппаратами.

ПРИМЕЧАНИЕ

Envxplod.max (см. рис. 19.21) - хороший пример оживленного взрыва с горением. Данный файл, а также env_burn.max и env_fire.max, которые являются примерами оживленного огня, находятся в каталоге сцен 305 МАХ или на его CD.

ПРИМЕЧАНИЕ

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

Антураж сцены

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

Лучи света и свечение

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

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

Дым, дымка и мгла

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

Эффекты отражения

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

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

Освещение при помощи осветительных приборов

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

Приборы внутреннего освещения

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

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

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

Настенные светильники (бра) и световые фестоны

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

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

Линейные источники света

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

Моделирование светящихся надписей

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

Большинство надписей предназначены для чтения, а основной характеристикой, делающей надпись читабельной, является контраст. Контраст создается из цвета и освещения, что и является причиной, по которой большинство надписей не освещают стену, на которой размещаются, но отбрасывают свет вперед. Края или боковые стенки большинства надписей затемнены и боковая задняя стенка зарисована черным. Это предотвращает отбрасывание света на поле надписи и понижение, если даже не уничтожение, контраста.

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

Самосветящиеся надписи

Наиболее распространенной формой являются самосветящиеся надписи. Такая надпись обычно принимает форму изолированных символов с полупрозрачными гранями, проецирующими цветной свет (см. рис. 19.23). Подобный тип надписи весьма прост.

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

Подсвеченные сзади надписи

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

Моделирование неоновой надписи

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

Приведенный рисунок иллюстрирует технологию, которая адекватна для плотной неоновой надписи, но не подходит для неона, изменяющегося по форме. С появлением Glow художественный неон свободной формы стал легкой задачей. Рисунок 19.26 является примером применения Glow в неоне свободной формы. Использование канала эффектов материала и формы лофтинга существенно упрощает создание неона свободной формы.


ГЛАВА 20

Камеры и установка кадра

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

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

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

  • Создание объекта камеры
  • Важность именования камер
  • Размещение камеры
  • Перемещение камеры
  • Использование кадрирующих плоскостей
  • Моделирование техник съемки

Однако прежде чем стать Стивеном Спилбергом или Орсоном Уиллисом следует познакомиться с основами создания и размещения камер в 3DS МАХ.

Установка камер

Создание камеры выполняется достаточно просто. Вы щелкаете на кнопке категории Camera (идентифицированной пиктограммой камеры) на панели Create, щелкаете на желаемом типе камеры в свитке Object Type и затем щелкаете (для Free Camera - свободной камеры) или транспортируете (для Target Camera -целевой камеры) в любое видовое окно. Камера размещается там, где производился щелчок или начиналась транспортировка.

После создания камеру можно настроить любым из двух способов: используя для камеры стандартные трансформации Move и Rotate и применяя кнопки навигации камеры с видовым окном камеры.

Создание объектов камер

В 3D Studio MAX доступны два типа камер: целевые камеры (Target cameras) и свободные камеры (Free cameras). Каждый вид камер имеет свои сильные и слабые стороны.

Целевые камеры включают два объекта: камеру и цель камеры. Камера представляет вашу точку зрения, а цель указывает точку, на которую вы смотрите. Камеру и ее цель можно трансформировать независимо, но считается, что камера всегда смотрит на цель. Для создания целевой камеры выполните следующие шаги:

  1. Щелкните на категории Camera в панели Create.
  2. Щелкните на кнопке Target в свитке Object Type.
  3. В окне Top щелкните мышью там, где требуется разместить камеру и транспортируйте и отпустите мышь там, где необходимо разместить цель.

По конструкции Target-камеры стараются сохранять свой вектор (локальную ось Y камеры) выровненным с осью Z мира. Создание Target-камер в окне Тор устанавливает камеру с правильным начальным выравниванием и обеспечивает наиболее предсказуемые результаты. Создание Target-камеры в других окнах - где легко устанавливать камеру, смотрящую вниз или вверх, - может привести к непредсказуемым поворотам камеры.

Целевые камеры являются наилучшим выбором из камер общего назначения. Способность трансформировать как камеру, так и ее цель обеспечивает огромную гибкость при установке и выполнении анимации видов камеры. Тенденция конструкции Target-камеры к ориентированию себя по мировой оси Z также совпадает с нашими естественными ожиданиями от реальных камер.

Свободные камеры представляют собой единичный объект - камеру. Поскольку свободная камера не имеет цели, то она определяет свою цель как находящуюся па произвольном расстоянии вдоль негативной локальной оси Z. Для создания свободной камеры выполните следующие шаги:

  1. Щелкните на категории Camera в панели Create.
  2. Щелкните на Free в свитке Object Type.
  3. Для создания камеры щелкните в любом видовом окне.

Свободная камера размешается на сцене со своей локальной системой координат, выровненной с системой координат текущей плоскости конструкции. Ввиду того, что линия взгляда свободной камеры направлена вдоль своей отрицательной оси Z, вид камеры по умолчанию всегда смотрит в плоскость конструкции. Например, свободная камера, созданная в окне Тор, смотрит вниз, а свободная камера, созданная в окне, Left - вправо.

Поскольку свободные камеры не имеют цели, на которую необходимо смотреть, их труднее установить и нацелить, нежели Target-камеры. Свободные камеры абсолютно не понимают, какое направление является правильным. Собственно, это и является преимуществом свободной камеры. Свободные камеры нс ограничены во вращении из-за попытки поддержать вектор, как это происходит в случае с нацеленными камерами. Свободные камеры лучше всего подходят для сложных анимаций, в которых камера применяется для перелетов по сцене со множеством скамеек и вертикальных ориентиров, например, когда она смонтирована на истребителе или салазках американских горок.

Область, просматриваемая камерой, устанавливается двумя независимыми параметрами камеры; полем зрения (field of view - FOV) и фокусным расстоянием объектива. Эти два параметра описывают одно и то же свойство камеры, поэтому изменение параметра FOV изменяет также и параметр объектива и наоборот. Используйте FOV для кадрирования вида камеры и для обеспечения кинематографических эффектов.

Установка поля зрения

Поле зрения (FOV) описывает область сцены, которую видит камера. Значение параметра FOV определяет горизонтальный угол конуса вида камеры.

3DS МАХ использует определение FOV, отличное от FOV камер в реальном мире. Камеры 3DS МАХ используют горизонтальное поле зрения, определяемое как угол между левой и правой сторонами конуса вида. Настоящие камеры используют диагональный FOV, определяемый как угол между нижним левым и верхним правым углами конуса вида камеры.

Подобная разница между 3DS МАХ FOV и реальным FOV играет роль только при попытке совмещения кадра, снятого настоящей 35 мм камерой. К счастью 3DS МАХ компенсирует разницу, высчитывая длину фокусного расстояния объектива и угол FOV. Для точного совпадения с 35 мм камерой всегда указывайте фокусное расстояние объектива, используя параметр Lens, и разрешайте 3DS МАХ вычислять горизонтальный FOV.

Установка фокусного расстояния или параметра Lens

Фокусное расстояние, описывающее размер объектива, всегда измеряется в миллиметрах. Чем меньше параметр Lens, тем шире FOV и тем дальше от объекта кажется камера. Чем больше параметр Lens, или как чаще выражаются - длиннее, тем уже FOV и ближе к объекту кажется камера. Объективы короче 50 мм называются широкоугольными, а объективы длиннее 50 мм называются телеобъективами.

Широко угольные объективы применяются для съемки кадров или установки сцены в первых нескольких кадрах анимации, тогда как телеобъективы переносят зрителя непосредственно в кадр. Поскольку широкоу-гольный объектив обладает меньшим фокусным расстоянием по сравнению с телеобъективом, он может включать в кадр больше информации- Телеобъектив включает в кадр меньшее количество объектов из находящихся на сцене.

Рисунки с 20.1 по 20.7 демонстрируют влияние разных объективов на вид сцены. Сцена остается одной и той же и камера не перемещается - изменяется только фокусное расстояние объектива.

Важность именования камер

Очень часто при работе со сложной моделью или анимационной последовательностью будет возникать желание создать несколько камер, смотрящих на сцену под различными углами. Когда на сцене имеется несколько камер, важно присвоить каждой камере уникальное имя, описывающее ее роль в рамках сцены. Имя по умолчанию для камеры (как умно!) - cameraOl. Все последующие камеры, созданные на сцене, не менее умно именуются как camera02, сатпегаОЗ и т. д.

С целью минимизации путаницы при выборе камер или при выборе камер по имени измените название камеры на что-то подобное groundcam, closeupcam, dollycam или carcam. Используйте имена, которые описывают либо положение/угол камеры, либо ее действие, либо объект,, на котором камера сфокусирована.

Размещение камеры

Обычно после создания камеру или ее цель необходимо переместить в окончательную позицию.

Для позиционирования камеры можно использовать трансформацию, но часто проще настроить камеру из вида Camera. Следующие разделы описывают использование элементов управления навигацией камеры и способы ее трансформирования. Однако для начала следует познакомиться с некоторыми деталями.

Прежде всего следует упомянуть, что иногда бывает трудно, выделить цель камеры, поскольку она расположена за объектами сцены. В таком случае выделите объект камеры, щелкните правой кнопкой и выполните пункт Select Target из всплывающего меню. Кроме того, цель камеры можно выбрать, выполнив пункт Cameras из списка Selection Filters на линейке инструментов и затем щелкнув на цели. Если вы собираетесь настраивать цель повторно разумно заблокировать выборку, щелкнув на пиктограмме Lock линейки инструментов или нажав пробел.

Во-вторых, при активизации видового окна камеры объект камеры автоматически не выбирается. Любой предварительно выбранный на сцене объект таковыми остается.

Использование кнопок навигации видом камеры

Элементы управления для использования в пределах вида камеры предоставляют большие возможности управления и значительную гибкость. Другими словами, камеры и их цели выделяются и трансформируются так же, как и любой другой объект.

Для установки вида камеры выполните следующие шаги:

  1. Создайте камеры.
  2. Активизируйте видовое окно.
  3. Нажмите С и из диалога Select Camera выберите камеру, которую необходимо использовать для вида камеры.

Если на сцене определена только одна камера, она выделяется автоматически и диалог Select Camera не возникает. Можно также щелкнуть правой кнопкой мыши на метке видового окна и выбрать камеру из элемента Views всплывающего меню свойств видового окна.

Кнопки навигации видом камеры трансформируют активную камеру и изменяют ее параметры следующим образом:

  • Dolly (операторская тележка). Перемещает камеру по направлению от или к цели вдоль линии зрения. Dolly - это то же самое, что перемещать камеру вдоль ее локальной оси Z. Буксировка вниз удаляет камеру от цели, буксировка вверх - приближает.
  • Perspective (перспектива). Транспортирует камеру как описывалось выше и также изменяет FOV. Результат заключается в том, что вы поддерживаете одну и ту же видовую композицию и сглаживаете или преувеличиваете перспективу в виде. Буксировка вниз удаляет камеру от цели и сужает FOV, буксировка вверх - соответственно приближает и расширяет FOV.
  • Roll (вращение). Поворачивает камеру вокруг ее линии зрения. Вращение - это то же самое, что и поворот камеры вокруг локальной оси Z. Буксируйте мышь вправо или влево для изменения угла поворота.
  • FOV (поле зрения). Изменяет FOV камеры. Буксировка вниз расширяет FOV и увеличивает область просмотра камеры. Буксировка вверх сужает FOV и уменьшает просматриваемую область.
  • Track (платформа). Перемещает камеру и ее цель перпендикулярно к линии зрения. Платформа - это то же самое, что перемещение камеры и ее цели в локальной плоскости XY камеры.
  • Рап и Orbit (панорамирование я орбита). Данные выпадающие кнопки влияют на то, как камера поворачивается вокруг сцены. Рап поворачивает цель вокруг камеры, подобно повороту камеры на треноге. Orbit поворачивает камеру вокруг цели, что похоже на круговой кадр. Для случая свободных камер Target Distance устанавливает точку, вокруг которой поворачивается камера. Target Distance находится в свитке Parameters для свободных камер.

СОВЕТ

Придерживая нажатой кнопку Ctrl при перетаскивании в видовом окне, можно ограничить Pan и Orbit до использования вертикальной или горизонтальной оси, что определяется первым направлением перетаскивания.

Использование команд навигации видом камеры весьма существенно для позиционирования камеры в желаемом положении на сцене и для установки типа углов и эффектов, анимацию которых необходимо выполнить. Часто возникает необходимость перемещения камеры в видовое окно, отличное от того, где камера находится в настоящий момент, но детали и точную настройку лучше оставить для трансформаций, которые выполняются в видовом окне камеры.

Трансформация камер

Камеры и цели можно трансформировать подобно другим объектам сцены. Как упоминалось в предыдущем разделе, многие команды навигации видом камеры дублируются трансформациями камеры по локальным осям.

При трансформации объектов камер имейте в виду следующее:

  • Не масштабируйте камер. Трансформации масштабирования заставляют базовые параметры камеры отображать ложные значения.
  • Целевые камеры могут вращаться только вокруг своих локальных осей Z. Попытка поворота целевой камеры вокруг осей Х или Y эффекта не дает.
  • Полезная техника заключается во вращении целевых камер с использованием системы координат Pick и выбором цели камеры. Получаемый результат подобен Orbit.
  • У свободных камер нет тех ограничений на вращение, которые имеются у целевых камер.

Safe Frame

Safe Frame (безопасный кадр) является незаменимым механизмом, который показывает как будет кадри-роваться результирующий образ в вашей визуализации. Safe Frame образует три прямоугольника: Live Area (активная область) (самый внешний прямоугольник), Action Safe (безопасное действие) (средний) и Title Safe (безопасный заголовок) (самый внутренний). Live Area отражает область, которая фактически будет визуа-лизироваться независимо от размеров или коэффициента отношения видового окна. Action Safe показывает область, в которой безопасно включать действие визуализации (область не будет перекрыта или кадрирована на большинстве телевизионных экранов). Title Safe показывает область, в которой безопасно включать заголовки или другую информацию (на большинстве телевизионных экранов это область низкого искажения). Поскольку прямоугольник Safe Frame пропорционален, то выходные размеры, например, 600 х 400 и 3000 х 2000 будут иметь один и тот же Safe Frame. Обратите внимание на рисунки 20.8 и 20.9.

Размер внутренней границы под свою систему можно настроить через значение Safe Frame, расположенное в Views/Viewport Configuration. В данном диалоге имеется возможность включить Safe Frames, установить, какие области требуется показать, и сократить процент областей Action Safe и Title Safe.

Применение Safe Frames очень важно при подготовке к окончательной визуализации. Если не использовать Safe Frame в видовых окнах своих камер, можно усечь важные элементы, которые должны быть представлены аудитории. Может случиться так, что элементы будут летать по сцене быстрее или медленнее, чем планировалось. Safe Frame необходимо использовать в каждом анимационном проекте, чтобы не получить неожиданных сюрпризов после 24-часового визуализационного кутежа.

Перемещение камеры

Следующий раздел посвящен теории, лежащей в основе перемещения камеры во время анимации. Однако прежде всего важно понять основы передвижения камеры по сцене, чтобы установить кадр, анимацию которого вы хотите выполнить.

Для случая целевых камер цель является мишенью для позиционирования линии зрения. Расстояние между целью и камерой на композицию влияния не оказывает. Линия, соединяющая камеру и цель, визуально показывает центр линии зрения.

Когда камеры и их цели двигаются, поле зрения поддерживается постоянным. При удалении цели от камеры конус поля зрения возрастает, но угол поддерживается тот же. Это эквивалентно перемещению по сцене камеры с 35 мм объективом - композиция постоянно изменяется, но размер объектива и поле зрения остаются прежними. Для изменения поля зрения и переключения объективов следует либо изменить FOV камеры, либо изменить параметр Lens, либо щелкнуть на кнопке навигации вида FOV в видовом окне камеры.

Камеры отличаются от других объектов тем, что их движения всегда определяют время и скорость с точки зрения аудитории. Хотя движение объекта иногда может происходить незаметно, с камерой такое случается редко. Перемещение камер как правило связано с изучением гибкости движения. Камера представляет аудиторию, а цель камеры - интересы этой аудитории. Таким образом исключительно важно движение и панорамирование проводить с нормальной скоростью и удобными и мягкими переходами.

Тщательное панорамирование требует множества кадров, чтобы движение не дергалось и не раздражало зрителя. Если наблюдатель во время панорамирования смотрит вверх, вниз и вокруг - то есть цель сканируется при перемещении и вращении камеры - то для гладкой анимации всего движения требуется еще большее число кадров. Если необходимо указать на действие, тревогу или неожиданное изменение направления, уменьшите количество кадров панорамирования.

Распространенная ошибка заключается во вставке слишком большого количества ключей анимации для настройки вида камеры на конкретные кадры- Хотя кадры и отображают то, что вы хотите, но переход межау кадрами имеет тенденцию быть медленным, прыгающим или механичным. Такая ошибка анимации часто приводит к тому, что называется рывком (bob), когда камера перемещается от того, что было гладким путем. Для достижения мягкого движения следует задать минимальное количество ключей и позволить 3DS МАХ осуществлять гладкий переход между ключами.

В дополнение к анимации панорам можно выполнить анимацию вращении (rolls) и перемещения операторской тележки (dollies). Вращение создает у зрителя ощущение наклона головы или переворачивания. Такой прием можно эффективно применять при работе с предметным видовым окном камеры, например в носовой части реактивного истребителя. Анимация поворота камеры обычно комбинируется с перекручиванием пути для придания ощущения крена.

Эффект движения операторской тележки (наезд) или изменение фокусного расстояния подробно обсуждается в разделе "Теория движения камеры". Сейчас следует заметить, что негладкий путь тележки создает эффект, похожий на качание головой вперед-назад. Хотя пути тележки или изменений FOV и не видны, но получить ощущение гладкости можно, задействовав кнопку Play и изучив затененное видовое окно.

Просмотр пути после настройки камеры - это разумный и полезный шаг, обеспечивающий более тонкую настройку. Пути просматриваются за счет открывания панели команды Motion, щелкнув на Trajectories и выделив объект камеры. Можно также щелкнуть и на цели камеры и увидеть путь цели. Желательный путь для каждой камеры является гладким, со смежными участками, расположенными по касательной друг к другу. На изогнутых или резко поворачивающих путях следует избегать превышения.

Для тонкой настройки анимации пути камеры можно использовать контроллеров позиции Безье. (Более подробно контроллеры рассматриваются в главе 24, "Использование контроллеров и выражений".)

Создание путей

В дополнение к путям, сгенерированным для камер посредством трансформаций, можно создать пути с помощью объектов формы и затем присвоить форму объектам Camera, Target или Dummy. Данная альтернатива иногда оказывается более простой и управляемой по сравнению с трансформациями и в результате обеспечивает более чистую и гладкую анимацию.

Пути можно нарисовать с использованием любого объекта формы, но наиболее распространена технология создания линии на сцене, вдоль которой будет двигаться камера. Преимущество подобной технологии состоит в том, что у вас имеется полный контроль за кривизной пути и не приходится полагаться на ключевые параметры настройки сплайна.

Для создания пути для переходов внутри офиса выполните следующие шаги:

  1. Откройте сцену с моделью офиса.
  2. Разверните видовое окно Тор так, чтобы было видно только оно.
  3. Щелкните на кнопке Shapes на панели Create и затем щелкните на Line.
  4. Начинайте рисовать прямые линии для создания грубого варианта пути, по которому камера должна перемещаться в пределах сцены. Придерживая кнопку нажатой при каждом щелчке для установки новой вершины, можно настроить элементы управления Безье на создание гладких кривых. Для завершения линии выполните щелчок правой кнопкой мыши.
    Иногда объекты на сцене полезно "замораживать" так, чтобы во время рисования линии нечаянно не выделить и не передвинуть что-нибудь.
  5. После вычерчивания всех прямых линий щелкните на модификаторе Edit Spline в панели Modify и убедитесь, что в качестве подобъекта выделен Vertex. Щелкайте правой кнопкой на каждой вершине, выбирайте тип Безье и настраивайте ручки по своему усмотрению.
  6. Теперь ваш путь готов для использования любой камерой. Со сложными путями лучше всего применять свободные камеры, но и целевые камеры тоже могут использоваться, когда цель привязана к камере или и камера, и цель привязаны к фиктивному объекту, как описано ниже (см. рис. 20.10).
  7. Присвойте камере контроллер пути и сплайн в качестве путь.

После создания пути для камеры также следует создать объект Dummy, который будет выполнять роль посредника между камерой, целью камеры и путем. Хотя пути камеры можно присвоить непосредственно камерам, но тогда возникают серьезные ограничения. Когда камера и, возможно, цель жестко привязаны к пути, пространство для настройки камер, при котором не происходит повреждение плавности движения, оказывается недостаточным. Даже с новой свободной камерой непосредственное назначение пути не обеспечивает лучшего движения из возможных. Большие возможности для реалистического движения достигаются, если связать камеру или цель с двигающимся объектом или фиктивным объектом. (Объекты Dummy детально обсуждаются в разделе "Использование объектов Dummy для построения виртуальной студии" позже в этой главе.)

Использование путей является быстрым и эффективным способом перемещения камеры по серии сложных поворотов на сцене. Пути можно провести в точности по тем позициям, по которым должна проходить камера. Связав камеру и цель с объектом Dummy - очень похоже на реальную съемочную тележку - можно добиться гладкой анимации.

Теория перемещения камеры

Нс следует передвигать камеру в анимации просто ради самого движения. Когда компьютерная анимация впервые приобрела популярность, то казалось, что каждый аниматор вертит камерой во все стороны и делает то, что в реальном мире невозможно. Для некоторых типов анимаций это подходит, но по мере совершенствования искусства наступило время разобраться с движением компьютерных камер и осознать, что они должны работать в основном так же, как реальные камеры.

Осуществляемое камерой движение существенно влияет на смысл анимации. Стоит ли камера на съемочной тележке? Панорамирует ли она конкретный объект или персонаж или обгоняет объект?

Использование съемочной тележки

Как описывалось ранее, имеется возможность перемещать и выполнять анимацию объекта камеры несколькими способами. Въезд в кадр заставляет зрителя сфокусироваться на центральном объекте сцены - по сути вы говорите зрителю, что данный объект очень важен. Мыльные оперы, кажется, всегда наезжают или увеличивают масштаб персонажа в конце каждой сцены, добавляя драматизм к тому, что в данный момент открылось через диалог. Подобная техника, если ее применять слишком часто (как в мыльных операх), очень быстро становится очевидной, излишне драматичной и вычурной.

Но операторская тележка способна порождать и другие эффекты. Например, когда Стивен Спилберг въезжает со своей камерой в пасть акулы в "Челюстях", большинство зрителей испытывают чувство страха.

Операторская тележка может перенести зрителя глубже в области, которые он хочет (или не хочет) исследовать. Когда камера выезжает из туннеля и попадает в огромную пещеру, наполненную сокровищами, то это хорошо. Когда камера въезжает в дом Нормана Бэйтса (Norman Bates) и аудитория находит мать Нормана в подвале, то это плохо.

Кадры, снятые с операторской тележки, не всегда должны наезжать на главный предмет сцены. Точно также эффектен и отъезд камеры от персонажа или объекта сцены, когда зрителю говорится, что значение персонажа уменьшилось или между зрителем и предметом оказалось препятствие.

Существует два способа работы с камерой на операторской тележке. Каждый создает различные ощущения и эффект: постепенный наезд и быстрый наезд. При постепенном наезде зритель может даже не ощутить своего перемещения в направлении к или от центрального предмета сцены. Применяйте такой прием для создания едва заметного, но определенного эффекта приближения к объекту и намека на его важность.

Другой способ - быстрый наезд или быстрая горка может оказаться неприятным для зрителя, но эффектным с точки зрения драматизма. Быстрая горка хороша также в комедийных ситуациях. Например, что-то смешное только что произошло на сцене на среднем расстоянии. Вы можете сфокусироваться на реакции персонажа на происшествие. Быстрый наезд как можно ближе на реакцию персонажа может оказаться очень смешным.

Фактически камера в комедии играет очень важную роль, добавляя к сцене юмор. Быстрое панорамирование в сторону и назад от действия, как если бы камера перескочила сцену, может создавать смешные ситуации. Быстрый наезд, как обсуждалось, и быстрый отъезд - особенно, когда у персонажа случилась отрыжка - может оказаться эффективным использованием движения камеры для акцентирования сцены.

Панорамирование

Еще одним движением камеры является панорамирование. Как обсуждалось выше, панорамирование вообще происходит тогда, когда камера разблокирована и становится центром мира. Камера может давать панораму дугой в 360°. Если камера начинает смещаться в сторону, движение больше не называется панорамированием, а вместо этого становится другой формой трекового кадра.

360°-пая панорама или в противоположность ей 360"-ная орбита (когда объект находится в центре мира и камера движется вокруг него) являются хорошими техническими приемами, дающими зрителю ощущения всеведения. Такая техника раскрывает практически все, связанное с объектом и может оказаться весьма впечатляющей.

Панорамирование бывает гладким и изящным или рваным и быстрым (которое называется быстрым или мелькающим панорамированием). Примеры быстрого панорамирования содержатся в телевизионных шоу, подобных NYPD Blue и Homicide. Быстрое панорамирование эффективно при использовании с субъективным видовым окном или точкой зрения первого лица (детально описываются в разделе "Теория композиции кадра" позже в этой главе). Последовательность быстрых панорам дает зрителю ощущение того, что персонаж пьян или потерял ориентацию.

Замораживание

Возникают случаи, при которых обнаруживается, что лучше вообще не двигаться - это замороженный кадр. Такой метод эффективен для показа смерти или завершающей сцены- Если сцена была полна жизни и затем вдруг застыла, это значит, что зрителю посылается серьезное предупреждение.

Двигаться или не двигаться

Некоторые режиссеры не любят перемещать камеру, полагая что движение отвлекает внимание от актеров и игры. Другие убеждены в противном и полагают, что камера может выступать персонажем со своими собственными чертами. Что касается аниматоров, им важно найти свою собственную точку зрения, учитывающую личные предпочтения в отношении перемещения камеры. В любом случае недопустимо легкомысленное отношение к перемещению камеры. Движение камеры по сцене усиливает ощущение трехмерности сцены и ее актуальности. Но имейте в виду, что хотя Орсон Уиллис и произвел впечатление в "Прикосновении зла" (Touch of Evil), отсняв непрерывные двух с половиной минутные кадры, главная причина произведенного впечатления заключается в том, что события происходят в реальном мире и кадры технически совершенны. В мире битов и байтов создание движения камеры настоль же просто, как и создание зеркально отраженной сферы.

Изучение механики создания хорошей анимации является относительно несложным делом, но требует понимания и знания эмоциональных эффектов, которые оказывают на зрителя движение и расположение камеры. Только в этом случае можно создать качественную анимацию. Качественную анимацию лучше всего определить как тип кинематографического произведения искусства, который западает в умы аудитории и остается там даже после того, как свет уже включен и зрители покинули театр.

Использование фиктивных объектов для построения виртуальной студии

Если вам приходилось когда-либо присутствовать на съемках художественного или документального фильма, то вы запомнили различные треноги, подъемные краны, операторскую тележку, камеры и т.п. Оператор применяет все эти механические устройства для гладкого перемещения камеры или обеспечения ее полной неподвижности. К сожалению, в компьютерной анимации все перечисленные устройства не существуют. Или же существуют?

Для построения некоторых видов того же самого съемочного оборудования можно использовать объекты Dummy. Они упростят анимацию сцены и предоставят возможность создания более гладких путей перемещения. Простейшее применение объектов Dummy заключается в создании треноги для камеры.

  1. Создайте нацеленную камеру.
  2. Создайте фиктивный объект непосредственно под объектом камеры.
  3. Свяжите камеру и цель с фиктивным объектом как с родителем обоих (см. рис. 20.11).

Создав эту простую иерархию, можно выполнять с фиктивным объектом сложные движения и камера будет гладко им следовать.

Более сложное использование объектов Dummy требуется при создании кранов. Представляемая разработка была выполнена Анжело Гуарино (Angelo Guarino) и послана на форум 3D Studio в CompuServe (GO KINETIX):

  1. Создайте целевую камеру.
  2. Создайте два объекта Dummy у позиции камеры. Можете назвать их cam-elevation и cam-azimuth.
  3. Создайте три фиктивных объекта у цели камеры. Можете назвать их trgt- elevation, trgt-azimuth и cam-position.
  4. Свяжите все фиктивные объекты, камеру и цель камеры в следующем порядке:
    cam-position
    trgt-azimuth
    trgt-elevat
    cam-azimuth
    cam-elevat
    cami
    cam 1.target

Сконструировав такой "кран" (см. рис. 20.12), вы получите много сложных движений, используя только ключевые кадры "eiidpoint" в рамках степени свободы каждого объекта. Поэкспериментируйте с перемещением каждого из объектов Dummy вначале отдельно, а затем в комбинации, пока не достигнете требуемого эффекта.

Например, если вы хотите наехать на объект и затем описать круг вокруг него, переместите фиктивный объект cam-position в направлении желаемого объекта. Когда объект находится у вас в кадре в желаемом виде, поверните фиктивный объект trgt-azimuth на требуемый угол. Сконцентрируйтесь на определении движений, используя ключевые кадры конечных точек каждого фиктивного объекта, и вы получите огромную степень управления перемещением камеры.

По существу вы создаете - поскольку многие факторы движения настоящих камер не оказывают влияние на компьютерные камеры - материальное обеспечение для производства гладкого движения камер. Если заблокировать определенные оси движения на каждом объекте Dummy так, чтобы он мог двигаться только в одном направлении (том, которое представляет его имя) и использовать данные объекты для всех перемещений камеры, можно легко устранить нежелательные рывки и тряску. Вы совершенно точно знаете, как двигалась каждая камера и при помощи какой трансформации.

После создания нескольких приспособлений сохраните их в виде отдельных файлов 3DS МАХ и по мере необходимости импортируйте в сцены. Механизм виртуальной студии в компьютере готов.

Глядя на контроллер Look At

Контроллер Look At является контроллером по умолчанию для целевых камер и указывает на отрицательную локальную ось Z камеры у точки вращения объекта Target. Это полезно в случаях, когда необходимо, чтобы камера во время анимации следила за определенным объектом. Например, космический корабль является центральным объектом сцены и перемещается во время анимации. Сделайте космический корабль целью камеры в свитке параметров Look At (см. рис. 20.13), После этого потребуется только выполнить анимацию корабля и камера будет хранить его в поле зрения. Цель камеры была заменена космическим кораблем, что устранило необходимость анимировать и цель, и корабль. В результате анимация получилась значительно чище и глаже.

Применение плоскостей отсечения

В камерах имеются параметры, управляющие плоскостью отсечения (clipping plane), что предоставляет возможность исключить определенные участки геометрии сцены для взгляда внутрь геометрии. Плоскость отсечения представляет собой удобный инструмент создания сечений строений, механизмов, лиц и т. д.

Применение плоскостей отсечения является удобным способом создания архитектурных разрезов или создания высококлассных анимационных эффектов. Кроме того использование плоскостей отсечения эффективно как чисто материальный инструмент визуализации части сцены с большим количеством сложной геометрии.

Каждая камера имеет ближнюю и дальнюю плоскость отсечения, которую можно настроить и выполнить с ней анимацию. Параметры плоскостей отсечения находятся среди параметров создания объекта камеры. И ближняя, и дальняя плоскости измеряются вдоль локальной оси Z камеры в текущих единицах сцены.

На рисунке 20.14 видна нормально визуализированная сцена с отключенной плоскостью отсечения. На рисунке 20.15 показано изменение сцены посредством плоскости отсечения с параметрами 9750.0 и 20000.0. Параметр плоскости отсечения варьируется в зависимости от размера модели и сцены.

Простого размещения камеры на сцене иногда достаточно, если действие имеет захватывающий характер. Часто может возникать желание использовать камеру так, чтобы манипулировать эмоциями зрителя таким образом, чтобы он это нс осознавал. Все полнометражные фильмы нс обходятся без подобного рода методов, и аниматорам есть у кого поучиться.

Моделирование техник съемки

Поскольку камера представляет глаз наблюдателя, то предельно важно связать то, что видит камера с тем, что чувствует наблюдатель. Люди обладают четким представлением о том, как выглядит скорость, и они будут интерпретировать вашу анимацию, связывая увиденное с собственным опытом. Кроме того, на людей можно повлиять эмоционально определенными углами камеры и фокусными расстояниями.

Будучи режиссером анимации, при установке камеры на сцене вы решаете, что могут и чего не могут видеть зрители. Вы редактируете происходящее на сцене и манипулируете зрительскими чувствами, показывая и только то, что считаете нужным. Изучая и применяя описанные ниже технические приемы, можно значительно усилить свои анимации и увеличить зрительский интерес.

ПРИМЕЧАНИЕ

Для того, чтобы стать великим аниматором, следует изучать искусство кинематографии движущихся картинок. Анимация - это не просто перемещающиеся персонажи или космические корабли, это композиция сцен и использование таких углов камеры, которые требуют внутреннего ответа от аудитории. Слишком много аниматоров "плюхают" камеру на сцену в последнюю очередь, когда фактически это должен быть один из первых элементов в постановке анимации. Одни только углы камеры могут настроить сцену на ожидание, комедию или опасность. Изучайте фильмы мастеров класса Уиллис, Хичкок, Скорцезе, Де Пальма, Спилберг и Альтман. Обращайте внимание на то, как они используют камеру в своих повествованиях. В ряде случаев они даже применяют камеру в качестве персонажа своих фильмов.

Первое правило хорошего расположения камеры - это учет композиции. Композиция представляет собой искусство ощущения кадра фильма, наполненного персонажами и объектами, составляющими сцену. Является ли ваша камера блокированной (неподвижной) или движется, кадр можно заполнить по множеству способов, каждый из которых влияет па то, что зритель думает о персонажах и текущей ситуации.

Существует два типа базовой композиции сцепы - симметричная и случайная. При использовании симметричной композиции отношение камеры к персонажам и объектам сцены упорядочено и симметрично. Сцене придается искусственный вид и у зрителей появляется чувство, что они видят нереальную жизнь. При случайной композиции персонажи и объекты размещаются на сцене так, чтобы придать ей более реалистичный вид и заставить зрителя забыть, что они смотрят фильм.

Стиль композиции зависит от тона сценария и типа выполняемой анимации. Должна ли она быть стилизованной и художественной? Если да, то симметричная композиция обеспечит лучшие результаты. Является ли стиль драматическим и вовлекающим зрителя в происходящее? Тогда случайный подход более предпочтителен.

Теория композиции кадра

Для вызова у зрителей различных эмоциональных откликов, кадр с персонажами и объектами можно организовать множеством разнообразных способов. Выбор композиции кадра основывается на жанре фильма, его настроении и ощущениях, которые хочется передать зрителю при просмотре.

Устанавливая камеру так, что фоновые объекты размещаются преимущественно между главным действием и персонажем, вы отделяете зрителя от сцены. Зритель может ощущать недостаток вовлеченности и физическую изолированность. Подобная техника хорошо работает, если персонаж попал в беду или испытывает чувство одиночества. Может быть, ваш герой потерял любимого человека. Размещая между двумя персонажами объект, скажем колонну, вы намекаете на физическое разделение и акцентируете эмоциональное одиночество, присутствующее в повествовании. Если персонаж совершил преступление, вы можете отделить его от камеры вертикальными объектами или оградой. Размещение такого рода объектов будет создавать не только ощущение отделенности, но также символизировать наступающую тень судьбы героя, когда его все-таки схватят и поместят в тюрьму.

Еще одним техническим приемом является длинный кадр. Джон Форд (John Ford), знаменитый режиссер классических вестернов, всегда использовал длинные кадры для придания сценам объемности "дикого запада", которому противостоят маленькие, практически неуместные персонажи. Создание подобного настроения может натолкнуть аудиторию на мысли о хрупкости человеческого существа.

Длинные кадры могут подчеркивать связь героя с местом действия. Теряется ли персонаж па заднем плане разоренной войной деревни во Вьетнаме? Может быть война и относится к великой истории но фокус сосредоточен только на одной из многих судьб.

В противоположность этому, недостаток пространства, замкнутость, вовлекают зрителя в сцену, более близкую к персонажу, и как бы отделяют персонаж от сцены, поскольку окружение не заметно. Сами вообразите положение героя - оно может быть каким угодно, в зависимости от воображения. Сейчас же кадр отсек сцену до лица ведущего героя. Зритель предполагает, что персонаж находится там, где и был, но прямой связи нет, потому что реальное положение героя еще предстоит увидеть.

В дополнение к чувству близости с персонажем такая техника используется для того, чтобы потрясти зрителя и создать некоторый дискомфорт. Тесный кадр чужака, который только что разрушил маленький город, может оказаться немного неприятным (для некоторых). Подобным же образом постоянные тесные кадры - то ли персонажей, то ли объектов -- могут вызвать ощущение клаустрофобии и психологически дезориентировать, поскольку зритель по существу не видит ничего.

Тесные кадры также принуждают зрителя видеть то, что желает режиссер. Хичкок был мастер показывать аудитории разгадки и делать открытия за счет установки камеры. В своем фильме Исчезновение леди (The Lady Vanishes) Хичкок создал тесный кадр внутри среднего, разместив перед камерой зеркало с героем в середине сцены. Сохраняя в фокусе и зеркало, и персонаж, режиссер привлек внимание и к тому, и к другому. Они оба важны в равной степени. Сцену заставляет работать то, что аудитория знала из предыдущих кадров, что зеркало наполнено ядом, но жертва еще не найдена. Такая композиция сцены вызывает у зрителя напряжение и может расцениваться как достижение кинематографии.

Каждый объект в видоискателе камеры является частью композиции фильма и должен считаться важным. Важно ли иметь много объектов в кадре или они только засоряют кадр и отвлекают зрителя от того, что по-настоящему важно? Сцену определяет именно то, что вы хотите сделать.

В комедии композиция сцены может быть рваной, и персонажи или объекты на заднем плане или по краям сцены могут выступать теми, кто вызывает смех. Фильмы Аэроплан и Голый пистолет являются прекрасными иллюстрациями сказанному. Во множестве сцен Лесли Нильсен (Leslie Nielsen) играет на переднем плане - нашем центральном фокусе - но что-то совершенно нелепое и смешное происходит позади него, о чем он и не подозревает? В этом и заключается юмор. Факт, что зритель прежде должен найти комедийный элемент, объединенный с фактом, что герой Нильсена глух к тому, что происходит - это как раз то, что делает сцену смешной. И здесь юмор достигается через композицию кадра. Если бы сцена была отснята так, что зритель видел бы только паясничанье, то это может было бы и смешно, но сцена и близко не была бы такой веселой как в случае, когда зрители знают о том, о чем герои совершенно не догадываются. В конечном счете к юмору и тонкости сцены ведут пространственные взаимоотношения персонажей. Установка съемки является важным типом композиции кадра. Установочный кадр или длинный кадр определяет положение анимации. Где происходит анимация? В какое время дня? Или года? Длинный кадр говорит зрителю почти все о том, что ему надо знать. В Водном мире (Waterworld), например, открытые кадры бесконечного океана настраивают на мир без земли. Установочные кадры чаще всего являются первой сценой в анимации и используются для быстрого "определения" времени и места действия.

Композиция посредством объективов

Еще одна техника в дополнение к положению камеры, героев и объектов на сцене заключается в применении различных объективов для достижения определенной эмоциональной реакции и эффектов.

Длинные или телеобъективы изменяют перспективу сцены и создают драматические эффекты. Во время пиковых моментов в фильме Происшествие на мосту Оул Крик (An Occurence at Owl Creek Bridge), телеобъектив сжимает сцену и приближает главного героя к зрителю, чем это есть на самом деле. Таким образом режиссер достигает эффекта, когда кажется, что хотя герой бежит на полной скорости к зрителю, он не продвигается ни на метр. Такой кадр подчеркивает напряжение и бесполезность усилий героя.

Напротив, применение коротких или широкоугольных объективов также может породить невероятные результаты. Типичным примером является использование широкоугольных объективов в фильме Гражданин Кейн (Citizen Kane), шедевре кинематографии. Орсон Уиллис использовал широкоугольные объективы во многих сценах для того, чтобы добавить главному герою мистики, силы и доминирования.

Применение широкоугольных объективов заставляет фоновые планы казаться дальше от камеры, чем есть на самом деле. Когда герой Кейна движется в направлении камеры, то кажется, что он идет семимильными шагами. Таким образом персонаж может перемещаться из глубины комнаты к ее началу за два шага, становясь больше, быстрее и сильнее. Игра героя усиливается таким типом объектива и композицией сцены.

Другим техническим приемом, связанным с объективом, является "глубокий фокус". К счастью 3DS МАХ должен еще совершенствовать науку глубины поля. Этот недостаток можно использовать для своей выгоды. В другой сцене из Гражданина Кейна факт, что герои в равной степени хорошо видны на переднем плане, в середине сцены и на заднем плане, добавляет сцене важность, когда молодой, невинный Кейн играет на заднем плане, а его мать подписывает опекунство над своим сыном. В середине сцены отец Кейна беспомощно стоит. Композиция показывает зрителю невинность мальчика и в то же самое время подготавливает зрителя стать свидетелем событий, которые навсегда лишат героя детства и свободы. Данный технический прием увеличивает эффективность сцены, чем если бы Орсон Уиллис снимал каждый элемент отдельным кадром-

ПРИМЕЧАНИЕ

Существует два классических фильма всех времен, которые должны быть в коллекции каждого аниматора, желающего делать "фильмы" в противоположность анимации. Это Происшествие на мосту О/л Крик (Роберт Энрико (Robert Enrico), 1961) и Гражданин Кейн (Орсон Уиллис, 1964). Фильм Происшествие на мосту Оул Крик был показан как эпизод Twilight Zone. Оба фильма доступны на видеокассетах.

Композиция посредством углов

Третий способ применения камеры для драматической композиции сцены заключается в изменении углов, под которыми устанавливается камера. Существует четыре базовых угла камеры, каждый со своими вариациями:

  • Eye-level (на уровне глаз)
  • High-angle (высокий угол)
  • Low-angle (низкий угол)
  • Subjective viewpoint (субъективная точка зрения)

Установка камеры на уровне глаз является стандартной. Вид сцены получается нейтральным и объективным. Такой кадр удобен. Он применяется в большинстве ходовых фильмов и историй о любви.

Высокий угол - это когда камера смотрит на объект или персонаж сверху вниз. Использование такого угла уменьшает персонаж или объект, поскольку зритель смотрит на него в буквальном смысле "сверху". Персонаж выглядит мельче и уязвимее.

В Происшествии намосту Оул Крик главный герой падает в быстрый поток и уносится прочь через пороги. Сцена снята с высокого угла и герой в кадре кажется маленьким. Эта высокоугольная композиция усиливает тот факт, что герой уязвим.

С другой стороны, кадр с низкого угла делает персонажи или объекты более сильными, обладающими мощными фигурами. Если вы хотите, чтобы персонах казался более героическим - может быть, даже карикатурно героическим - поместите направленную вверх камеру на уровень его бедра. Такое положение камеры придаст персонажу уверенный и сильный вид. Кадр с низкого угла делает вид объектов монументальным и здоровым.

Установки низкого угла можно применять для достижения и других эффектов. Стивен Спилберг использовал низко установленную камеру в Е.Т.: The Extra-Terrestrial для показа точки зрения ребенка. Камера помещалась на высоту ребенка, показывая аудитории сцену с детской точки зрения на мир. В результате взрослые в фильме выглядели более грозными.

Каждый из упомянутых углов можно смешивать с другими углами и достигать даже больших эффектов. Например, соединяя сцену, снимающуюся с низкого угла, с небольшим поворотом поля зрения, можно достичь дезориентирующего эффекта и повысить ощущение драматизма. Данная техника полезна при съемке или анимации злодеев, для того, чтобы сделать персонаж более зловещим. Эффект может вывести зрителя из равновесия и заставить почувствовать свою уязвимость.

Гражданин Кейн использовал высокий и низкий углы во многих кадрах для придания герою убедительной внешности и для уменьшения фигуры жены Кейна. Подобное применение углов камеры говорит нам что-то о каждом характере, не прибегая к словам. Таким образом можно показать аудитории, что думает один герой о другом.

В каждой сцене, когда Кейн и его жена вместе, Кейн всегда снимается с высоты его талии или с низкого угла, как бы с точки зрения его жены. Тем самым ему придается доминирующий вид. По контрасту жена всегда снимается с высокого угла и тем самым открывается ее слабость и послушание Кейну.

Использование определенного угла при каждом появлении героя на сцене настраивает ум зрителя на острое ощущение персонажа. Позже, когда герой снимается с нейтрального угла, с уровня глаз, закрепленные ощущения будут действовать уже подсознательно.

Четвертый тип угла камеры - это субъективная точка зрения. Такой угол призван сообщить аудитории точку зрения на сцену первого лица. Эффект весьма полезен, если им не злоупотреблять. При чрезмерном усердии эффект становится вычурным и отвлекает зрителя от сюжета.

Примеры субъективной точки зрения можно видеть в любом фильме ужасов, где камера принимает роль убийцы, преследующего обуреваемую ужасом жертву. Другие примеры могут быть более добросердечны, как в Downhill Racer, где камера принимает роль заглавного персонажа - горнолыжника.

Для создания камер с субъективной точкой зрения в 3DS МАХ лучше всего воспользоваться свободной камерой, поскольку она лучше подходит для съемок с поворотами, пикированиями и заносами. Обратитесь к разделу "Движение камеры" ранее в этой главе.

Субъективная точка зрения может также предоставить аниматору возможность творческого создания сцен. В нашем предыдущем примере с чужаками вы можете показать, как чужак видит мир. Кадр с субъективной точки зрения - отличная возможность творчески продемонстрировать то, как видят мир глаза чужака (или вообще то, через что смотрят чужаки). Фильмы, подобные Хищник, Оборотень и другие, ориентированные на ужасные создания, делают это с большим эффектом. Может быть вы считаете, что чужак видит мир только в оттенках зеленого.

Применение субъективной точки зрения добавляет в анимацию напряжение и взволнованность. Если члены аудитории видят то, что видит чужак, то в этот момент сама аудитория становится чужаком (что не очень приятно, учитывая то, что чужак только что разрушил город). Или аудитория может смотреть глазами психопата-убийцы, преследующего очередную жертву. Вы увидите, какой внутренний эффект производится в аудитории.

ПРЕДУПРЕЖДЕНИЕ

Подобные типы драматических углов камеры должны применяться разумно и экономно. Анимацией, которая использует каждый описанный в книге трюк, достаточно трудно наслаждаться. Помните, что чересчур много трюков отвлекает зрителя от сюжета, привлекая внимание к искусству создания фильмов - это не аниматорское дело. Напротив, описанные приемы следует использовать для усиления сюжета и углубления искусства повествования. В качестве основного правила примите условие, что если прием не совершенствует сюжет, его не следует применять.

Анимация представляет собой не просто искусство перемещения персонажа в реалистичной манере. Конечно, реалистичное движение персонажей и объектов важно, но не менее важно использование на сцене камеры. Считайте камеру еще одним героем. Если вы пытаетесь сделать призовую анимацию, сильную и полную смысла, то изучение искусства кинематографии играет существенную роль.


ГЛАВА 21

Материалы и текстуры

Материалы в 3D Studio MAX ограничены только вашим воображением. Можно взять любой материал и получить из него желаемую поверхность или эффект. Знание того, что возможно и как, требует понимания способа, по которому Material Editor предоставляет возможность разветвления и принятия решения очень общим, путем, не имеющим ограничений.

Определение материала - это практически всегда исследование с большим числом экспериментов. Распространенная техника заключается в копировании состоянии материала в смежные ячейки образцов для того, чтобы впоследствии можно было сравнить альтернативные подходы. Сохранение материалов в приватных библиотеках экспериментов также очень распространено (и настоятельно рекомендуется).

Материалы важны сами по себе и можно потратить много часов на улучшение палитры текстур сцены. Кроме того, почти всегда потребуется координировать свои усилия с традиционными пакетами рисования (такими как Photoshop, Animator Studio, Fractal Design Painter, Ron Scott QFX и т.п.) и возможно с пакетами трехмерного рисования (McshPaint от Positron и 4D Paint от 4D Vision уже распространяется как подключаемое приложение 3DS МАХ). Очень часто названные продукты работают параллельно с 3DS МАХ и художники переключаются между двумя системами применяя комбинацию клавиш Windows Alt+Tab. Некоторые студии предпочитают иметь отдельные системы для рисования и трехмерной графики, объединяя результаты через сеть.

Настоящая глава освещает работу с Material Editor и способы применения материала к сцене, а также представляет технологии для эффективного использования материалов в 3D Studio MAX. В частности, вы изучите следующее:

  • Интерфейс Material Editor (Редактора материалов)
  • Присвоения материалов и библиотеки
  • Использование стандартного материала 3DS МАХ
  • Стандартные компоненты цвета материалов и каналы проецирования (map channels)
  • Автоматически высчитываемые отражения
  • Типы карт для образов, композиции и цветовых модификаций
  • Анимация карт и их параметров
  • Дополнительные типы материалов

Первостепенное значение для усвоения данной информации имеет отчетливое понимание того, как материалы могут разветвляться и образовывать иерархии или деревья материалов.

Концепции дерева материалов

В 3DS МАХ материалы следует представлять как практически "живые" вещи. Каждый материал индивидуален, обладает невероятной персональностью, эволюционирующей во времени. Материалы начинаются с достаточно простой базы, которую можно усложнять путем ветвления (см. рис. 21.1). Таким образом, Material Editor становится "деревом" или в высшей степени визуальной версией Windows File Manager с базовым материалом в "корневом каталоге". Каждая длинная и тонкая кнопка, предоставляющая возможность выбора, является каналом проецирования (map channel), выступающим в виде "ветви" или "подкаталога", который вначале пуст. Щелчок на кнопке канала проецирования позволяет выбрать тип карты и тем самым добавить "листья" или заполнить "каталог". Большинство типов карт содержат дополнительные каналы для более глубокого ветвления и дополнительных "ветвей" или "подкаталогов". Материал, показываемый в окне образца, является результатом, каким он видится с базы дерева. Чаще чем больше ветвление, тем тоньше и неуловимее будет окончательный результат.

На самом глубоком уровне находится тип материала (material type). Тип материала содержит все начальные каналы проецирования, от которых можно ветвиться - несколько запутанная концепция, поскольку большинство программ (подобных 3D Studio для DOS) имеют эквивалент только одного "типа" материала. Используя в качестве примера 3D Studio для DOS, можно сказать, что весь его модуль Materials Editor на самом деле манипулирует с эквивалентом одного типа материала. Этот один тип в 3DS МАХ эволюционировал в стандартный тип материала (Standard material type).

Когда бы вы не видели кнопку выбора с меткой "Map", то вы видите канал проецирование. По существу этот канал является точкой ввода или гнездом, для которого можно выбирать тип карты и таким образом продолжать дерево материалов, добавляя ветви. Каналы проецирования могут существовать внутри типов материалов или типов карт. Например, стандартный материал содержит одиннадцать каналов проецирования для выделения до одиннадцати типов карт. Тип карты часто представляется как целый материал сам по себе, в то время как на самом деле это всего лишь ветвь от родительского типа материала или типа карты. Битовые карты являются примером типа карты, где единичная битовая карта используется как основной ввод вместе со всеми своими параметрами и опциями. Другие типы карт, подобные Checker, содержат дополнительные каналы проецирования, так что ветвление можно продолжать, выбирая типы карт.

Элементы управления, не являющиеся каналами проецирование (т.е. они не являются кнопками выбора) являются либо параметрами, либо опциями. Параметры, как правило, имеют диапазоны и редактируемые поля. Типичными параметрами являются цвет, значения, углы и расстояния. Практически каждый параметр имеет трек в Track View и, следовательно, может подвергаться анимации. Остальные элементы управления материалами и картами называются опциями материалов или карт. Они диктуют оценку параметров и обычно являются флажками или переключателями- Примерами опций являются Soften, 2-Sided и Bitmap Invert. Опции материалов редко подвергаются анимации и поэтому обычно в Track View не появляются.

Когда тип карты или материала имеет только параметры и не имеет каналов проецирования, как например тип карты Bitmap, тогда данная ветвь дерева является конечной. Как показано на рисунке 21.2, можно производить ветвление в данной точке, изменив тип карты на один из тех, который имеет каналы, и сохранив текущий тип карты как подкарту вновь выбранного типа карты.

Некоторые типы материалов (подобные Multi/Sub-Object, Top/Bottom, Double Sided и Blend) содержат каналы материалов, а не каналы карт. Статус Map channel или Material channel обозначается тем, как озаглавлена кнопка выбора. При работе на базовом уровне таких материалов вы на самом деле выбираете для ветвления типы материалов, а не типы карт. Тогда как стандартный материал имеет в основном каналы проецирования, у него нет каналов материалов. Материал Matte/Shadow является единственным реальным "тупиком", нс обеспечивающим каналов для ветвления. Следующий раздел описывает многочисленные способы выбора, навигации и координации дерева материалов.

Как и большинство вещей в 3DS МАХ, материалы и карты на самом деле являются объектами и, следовательно, могут порождать экземпляры. При выборе для канала существующей карты или материала появляется возможность сделать карту или материал экземпляром оригинала; это значит, что любое будущее редактирование, применяемое к одному экземпляру, будет также применяться и к другому. Для материалов очень распространено использовать одну и ту же карту во многих положениях. Например, одна и та же карта может применяться для Opacity, Shininess Strenght, Bump и Reflection Mask. Создав их экземпляры, для настройки всех следует настроить только одну.

ПРИМЕЧАНИЕ

Несмотря на то, что в Material Editor нет возможности получить экземпляры параметров, это можно сделать в Track View. Такие экземпляризованные контроллеры действуют только при манипулировании в Track View. Если настройка производится в Material Editor, то экземпляризованные параметры будут вести себя уникальным образом. Если возвратиться в Track View и выполнить настройку, в экземпляр будут скопированы новые значения.

Интерфейс Material Editor

Material Editor представляет собой ту алхимическую лабораторию, в которой можно получить практически любой вид поверхности, который только можно вообразить. Как и другие составляющие 3DS МАХ, Material Editor является расширенной средой, в которой все типы битовых карт, карт и материалов являются на самом деле подключаемыми компонентами. Знакомые кнопки свитка для доступа к областям являются указанием на то, что данный каркас содержит подключаемые компоненты, а раз так, то их возможности и интерфейс изменяются при использовании различных материалов и карт.

Только одна часть интерфейса Material Editor никогда не меняется независимо от используемого типа материала или карты. Как видно из рисунка 21.3, район выше прокручиваемой области в интерфейсе фиксирован. Данные функции используются всеми типами карт и материалов. Когда они неприменимы, они обесцвечиваются. Следующий раздел подробно описывает навигацию и применение Material Editor.

Ячейки образцов материалов

При активизации Material Editor то ли кнопкой линейки инструментов, то ли через выпадающее меню, то ли посредством горящей клавиши, Material Editor появляется в соответствии со своим последним состоянием. Файл сцены МАХ сохраняет последний редактировавшийся материал сцены и опции редактора. При работе над новой сценой Material Editor показывает шесть образцов материалов по умолчанию (см. рис. 21.3). Эти шесть окон материалов или ячеек ведут себя во многом подобно видовым окнам. Щелчок на одном активизирует его, делает текущим внутри редактора и изменяет границу окна на белую, так же как это происходит с видовыми окнами. Если окно образца содержит материал, использованный в сцене, то в углах окна помещаются белые треугольники. Позиция в дереве материалов при переключении между окнами образцов запоминается.

Говорят, что материалы имеют три "температуры" (горячую, теплую и холодную) в зависимости от своего назначения сцене, Если материал используется в сцене, он считается горячим, если он является копией материала, используемого в сцене, то он теплый, и если не используется совсем, то он холодный. Горячие материалы указываются в окнах образцов материалов четырьмя белыми треугольниками в окне, как показано на рисунке 21.4.

Горячие материалы динамичны в своем назначении сцене. При настройке любого параметра горячего материала оказывается влияние и на определение материала на сцене, а не только на определение материала в редакторе. По мере выполнения изменений образца материала, они делаются и во всех затененных видовых окнах. Хотя такой стиль работы общепринят, однако он приводит к задержкам, поскольку затененные видовые окна поддерживаются в соответствии с редактированием.

СОВЕТ

Для ускоренного редактирования горячего (назначенного) материала лучше всего сделать его копию, произвести все изменения в этой теплой версии и затем поместить его в сцену как новый горячий материал.

Теплый материал получается тогда, когда вы либо копируете материал с использованием кнопки Make Material Сору (сделать копию материала), либо транспортируете окно образца в другую ячейку. Скопированный теплый материал имеет то же имя, что и оригинал, но не имеет прямой связи со сценой. Его редактирование нс влияет на текущее состояние сцены. Если назначить этот теплый скопированный материал объекту, появляется подсказка, предлагающая либо переименовать материал, либо заменить одинаково именованное определение материала. Согласие заменить материал - это то же самое, что использование функции Put. Назначение теплому материалу уникального имени превращает его в холодный.

Холодные материалы отличаются от теплых только тем, что они не разделяют имя с уже существующим в текущей сцене материалом. Холодные материалы можно свободно назначать, не задумываясь над тем, как они повлияют на предыдущие определения. По этой причине замена определения текущего назначенного материала холодным материалом производится в два шага. Холодный материал станет теплым, если изменить его имя на уже существующее в сцене.

Элементы управления отображением Material Editor

Material Editor содержит несколько управляющих элементов для просмотра образцов материалов и изменения таких качеств, как форма, освещенность, фон, узор и мозаич-ность. Цель состоит в том, чтобы сделать среду Material Editor как можно более близкой к качественным характеристикам обрабатываемой сцены. Элементы управления расположены вдоль правой стороны окон образцов материала (см. рис. 21.3).

Кнопка Sample Type предоставляет возможность выбора геометрии, показываемой в ячейке образца материала. Варианты таковы: сфера, коробка и цилиндр. Выбор наиболее тесно совпадающей с геометрией вашего объекта позволяет лучше предсказать качества визуализации (см. рис. 21.5).

Кнопка Backlight размещает вторичный источник света ниже и позади образца материала, чтобы предостеречь вас в случае, когда свойства материала приводят к грубым бликам. Хотя данная опция несколько замедляет визуализацию, ее информация критична при работе с материалами Phong без опции Soften.

Кнопка Background изменяет фон окна образца со сплошного оттенка серого на клетчатый узор, содержащий основы RGB, черный и белый. Этот несколько пестрый узор необходим для просмотра результатов управления затемнением, особенно когда они связаны с окрашенными прозрачностями.

Кнопка Sample UV Tiling предоставляет возможность изменить мозаичность в ячейке образца, как показано на рисунке 21.6. Это удобно, если необходимо посмотреть, как пов- теряется узор, но параметры мозаичности карты настройки для данной цели непрактичны. Отображение мозаичности не оказывает влияния на сам материал.

Кнопка Video Color Check заставляет Editor производить проверку на предмет наличия цвета, явля-ющегося "незаконным" для записи на видеокассету и отображения на мониторах NTSC или PAL. Незаконные цвета (особенно яркие красные) очень плохо влияют на отображение, и перехват таких цветов как можно раньше при определении материала часто весьма полезен. Рисунок 21.7 показывает, как Material Editor отображает незаконный цвет в материале. Обратите внимание на то, что цвета являются незаконными только при освещении образцов, а освещение вашей сцены будет иным.

Кнопка Make Preview предоставляет возможность предварительно посмотреть анимацию сферы активного образца с предоставлением управления размером, временем и протяженностью. Это быстрая альтернатива визуализации сцены для просмотра эффектов анимации, содержащихся внутри дерева материалов.

Кнопка Material Editor Options предоставляет доступ к диалогу, содержащему глобальные параметры Material Editor. Здесь определяются интенсивность фона, освещение и масштаб карты. Опция Anti-alias влияет только на края образца и не влияет на скорость. Опция Progressive Refinement полезна для медленных машин при работе со сложными материалами. Наконец, предоставляется управление визуализатором (Ren-derer), используемым для образцов материалов. Scanlinc Renderer - это то же самое, что и окончательный визуализатор 3DS МАХ.

Quick Renderer является более быстрой альтернативой, но не может отображать проволочных материалов и текстур граней. На практике вы, вероятно, освоите определенные параметры и будете изменять их очень редко. Единственный параметр, который будет меняться - это 3D Map Sample Scale. Данные типы карт могут порождать эффект масштаба реального мира. Параметр предоставляет управление тем, на-сколь велик будет генерируемый образец. Эквивалентность размера образца сцене позволяет лучше видеть результаты ЗО-карты.

Кнопка Select by Material вызывает диалог Select by Name и идентифицирует, каким объектам назначается текущий материал. Этот диалог можно применять для выбора объектов или для инвертирования и выбора чего угодно. На практике диалог обеспечивает весьма удобный метод выбора объектов для многих целей, а не только назначения материалов.

Элементы управления материалом для активных материалов

Данные кнопки расположены горизонтально ниже окон образцов материалов и обеспечивают функции, соответствующие образцу активного материала, а не Material Editor в целом. Функции слева позволяют заменять текущий материал в редакторе или сцене, назначать материал, очищать, копировать или помещать материал в библиотеку. Кнопки справа управляют каналами эффектов материалов, отображений текстур, результирующим просмотром, навигацией и просмотром.

Создание новых материалов и карт

Кнопка Get Material (получить материал) производит переход в Material/Map Browser для выбора нового материала, который заменит весь активный материал. Важно понимать, что функция Get Material заменяет текущий материал, а не выбранный подматериал или карту. Для выбора карт или материалов для использования в текущем материале следует получить доступ к броузеру через кнопку Type. Если используется Get Material, но вы не находитесь па уровне корня активного материала, возникает диалог, требующий подтверждения и информирующий о том, что будет заменен весь материал. Предполагается, что раз вы находитесь не на уровне корня, то может быть желаете использовать Get вместо Type. В случае нахождения на уровне корня подтверждение не требуется и материал заменяется. Применяя Get, надо понимать, что активный материал будет уничтожен, и если его определение не существует на сцене, в библиотеке или в другой ячейке, он будет потерян.

Замена материалов посредством Put и Assign

Кнопка Put Material to Scene (поместить материал па сцену) доступна только в случае редактирова- пия теплого материала. Функция Put будет заменять одинаково названное определение материала на сцене редактируемым определением. Предыдущий горячий материал превращается в теплый. Последнее аналогично выполнению Replace при назначении сцене теплого материала, за исключением того, что не будет предупреждающего сообщения, задерживающего обновление.

Кнопка Assign Material to Selection (назначить материал выборке) назначает текущий материал объ- ектам, выбранным на сцене. Данная опция активна только при условии наличия выборки. Совместно функции Put и Assign составляют инструменты для изменения назначений материалов, предоставляя следующие опции для изменения определения назначенного материала:

  • Редактируйте горячий материал в Material Editor и его определение автоматически обновится на сцене.
  • Назначьте новый материал выбранным объектам.
  • Редактируйте теплый материал, назначьте его любому объекту на сцене и замените материал с таким же именем.

Кнопка Make Material Copy доступна только если редактируется горячий материал. Использование данной функции изменяет материал с горячего на теплый. Новый теплый материал поддерживает то же самое определение и имя, но не имеет больше прямой связи со сценой. Если планируется выполнение экспериментов с материалом, корректно использовать Copy для изменения горячего материала на теплый так, чтобы не оказывать прямого влияния на определение на сцепе. После того, как материал полностью устраивает, используйте Put для переопределения материала на сцене. В настоящее время материал на сцене выполняет роль резервной копии, которую при необходимости можно извлекать.

Сохранение материалов в библиотеках

Определения материалов сохраняются в файле сцены МАХ вместе с любыми присвоенными им объектами. При открытии или объединении сцены назначенные материалы можно извлечь из Browser через опции Browse from Scene или Browse from Selected. Сами по себе определения материалов можно сохранить в библиотеке материалов.

Определение материала на самом деле не более чем "рецепт", содержащий ингредиенты и параметры для приготовления материала. Таким образом, библиотека аналогична "поваренной книге", поскольку содержит коллекцию определений материалов. На практике часто весьма удобно запоминать предпочитаемые материалы в разнообразных библиотеках. Многие полагают, что отдельные библиотеки для конкретных нужд (Brick, Stone, Marble, Flesh, Grit, Atmosphere, Backgroun и т. д.) существенно ускоряют поиск и делают материалы доступными другим.

Кнопка Put to Library (поместить в библиотеку) посылает активное определение материала в теку-щуго загруженную библиотеку. В то время, как горячий материал автоматически обновляется на сцене, он не обновляется в библиотеке, откуда поступил. Для добавления или обновления материала в библиотеке прежде следует использовать кнопку Put to Library. Она обновит библиотечную позицию в текущей загруженной библиотеке материалов. Хотя картинка на кнопке изображает дискету, библиотека на диске не будет сохраняться до тех пор, пока это не указать. Для сохранения библиотеки необходимо выполнить в Browser команду Save или Save As. По мере усовершенствования материалов их определения становятся очень ценными. Двухшаговая процедура гарантирует отсутствие случайных разрушении библиотеки.

Каналы эффектов материала

Каждый материал в 3DS МАХ может включать канал эффектов материала, используемый фильтрами Video Post для управления положением их постпроцессных эффектов. Video Post может получить доступ к каналу эффектов материалов при визуализации сцены или за счет использования файла R.LA, который содержит канал эффектов материалов. Рисунок 21.8 показывает визуализацию с каналами материалов, отображенную как коды цветов, а не как типичная визуализированная сцена. Данный вывод предназначен для использования в постпроцессах и не подразумевается в качестве конечного результата. Отображаемые цвета выступают как информация, а не как конечный результат.

Наиболее распространенное применение каналов эффектов материалов заключается в соединении с фильтром образа Video Post. События фильтра, подобные Glow, предоставляют возможность присвоить свечение материалу, а не объекту (используя канал объекта RLA) или просто как цвет-ключ (когда данные сцены не используются вообще). На практике каналы объектов применяются с целью оказания влияния на небольшое число объектов, а каналы материалов используются для влияния на многие объекты через эффекты Video Post.

Отображение текстур

Одной из наиболее полезных характеристик 3DS МАХ является способность отображать текстуры в интерактивных видовых окнах. Рисунок 21.9 показывает сцену, в которой в видовых окнах существуют текстуры и их отображение критично для правильного выравнивания проецирования. На каждый материал в видовом окне показывается одна проекция. Последнее выполняется в 2D Map types посредством кнопки Show Map in Viewport.

ПРИМЕЧАНИЕ

В видовом окне будет отображаться только сама проекция. Изменения образа при помощи параметров или других проекции не показываются.

Поскольку отображение проекций требует дополнительной оперативной памяти, то 3DS МАХ по умолчанию проекции не показывает. Если вы хотите отобразить в видовом окне проекцию, то должны активизировать ее самостоятельно. При этом следует знать, что каждая отображаемая проекция требует RAM (хотя это и не проблема при использовании графического акселератора с поддержкой памяти текстур). Для уменьшения запросов, связанных с памятью, реально в видовом окне отображается только полномочная картинка. Это позволяет отображаться даже очень большим образам за счет малых.

Использование Show End Result

По умолчанию Material Editor показывает все результирующее дерево материалов независимо от редактируемой ветви. Отключение опции Show End Result показать конечный результат приводит к отображению только результата текущего уровня материала. Как показывает рисунок 21.10, отключение данной опции оказывает серьезное влияние на материалы Multi/Sub- Object.

Опция часто используется в случае, если необходимо увидеть локальный эффект, и особенно полезна, когда применяется для просмотра полного эффекта материала в Multi/Sub" Object-материалах. Выключенное состояние Show End Result сообщает только о материале с последней ветви текущей позиции в дереве. Это похоже на Modifier Stack, использующий собственную функцию Show End Result для модификаторе в. Если, например, редактируется материал #4 в Multi/Sub-Object-материале, отключение Show End Result будет отображать в ячейке образца только материал #4. При редактировании карты Diffuse стандартного материала отключение Show End Result отобразит битовую карту без затенения.

Навигация по Material Editor

Material Editor может показаться очень сложным, но после небольшой практики он становится творческой и легко управляемой средой. Рисунок 21.11 показывает, как метафора дерева используется для понимания того, что материал начинается на уровне корня и ветвится для включения множества карт и даже других материалов. Навигацию по дереву можно выполнять посредством переходов по ветвям внутри самого редактора или выборов ключевых уровней в Material/Map Navigator. Интерфейс Material Editor разработан для отображения текущего уровня карты в любой момент времени. Рисунок 21.12 показывает информацию канала карты Diffuse материала Standard с использованием типа карты Bitmap.

После добавления или перехода на новую ветвь доступны несколько возможностей возврата обратно.

Необходимость в названиях

Просматривая Maps обычно в виде части канала карты материала Standard, можно достаточно глубоко погрузиться в дерево материала. Как показывают многочисленные картинки Browser, материалы и типы определений карт отображаются по разному. Материалы распечатываются как "Имя материала [Тип материала]", а карты - как "[Имя типа карты] Имя файла". В то время, как Navigator и Track View обеспечивают имена каналов карт и материалов, Browser не обеспечивает. Единственный способ идентификации карт или материалов в Browser связан с их именами.

По умолчанию картам присваивается имя Тех#Х, где Х - произвольное число. Корректно всегда устанавливать пользовательские имена карт и подматериалов непосредственно после их выбора для использования в канале. Когда карты поименованы логично, можно работать с Browser на полную мощь и гораздо проще понимать свои намерения при дальнейшем возврате к проекту. Если вы приобретете дурную привычку принимать имена по умолчанию, то столкнетесь с рядом трудностей при поиске необходимого в детальной сцене или библиотеке.

Использование Material/Map Navigator

Кнопка Material/Map Navigator обеспечивает полный обзор шести материалов, находящихся в настоящий момент внутри Material Editor. Данный интерфейс доступен через кнопку Material/Map Navigator редактора. Пиктограмма на кнопке является абстракцией дерева иерархии.

СОВЕТ

Хотя Navigator предоставляет возможность проходить по дереву материала подобно Track View, но a Navigator не обеспечивает возможности копирования карт и их параметров, как в Track View.

Navigator по сути является подмножеством Track View, который обеспечивается для изучения шести деревьев материалов в редакторе. Как и в Track View, пиктограммы голубых сфер символизируют материалы, а зеленые трапеции представляют карты. Щелчок на каждом символе настроит Material Editor на заданный материал или карту на данном уровне. Это очень полезная техника быстрой навигации внутри или между сложными материалами. Хотя обеспечивается несколько опций фильтра, наиболее полезной для целей навигации является Material/Maps Only. Отображение параметров - сомнительная опция, поскольку параметры нс являются инструментами навигации и их значения изменяться не могут.

ПРИМЕЧАНИЕ

При одновременном отображении Browser и Navigator следите за тем, чтобы они не пересекались. Выделение материала в Track View обновит Navigator и поместит его диалог наверх.

Обход ветвей в Material Editor

Кнопки Go to Parent (перейти к родительскому элементу) и Go to Sibling (перейти к однорантовому элементу) являются главными навигационными инструментами обхода дерева материалов в самом редакторе. Кнопка Go to Parent перемещает вверх на один уровень, тогда как Go to Sibling перемещает между ветвями одного и того же родителя. Go to Sibling часто используется при редактировании Multi/ Sub" Object-материалов или карт Mask and Composite. Эти одноуровневыс шаги можно использовать повторно для прохода по всему дереву материалов. Выпадающий список Name обеспечивает перечень всех родителей текущей ветви. Находясь глубоко внизу дерева материалов, можно передвинуться сразу на несколько уровней вверх, выбрав более раннего предка. Обратите внимание на то, что если материал или карта не поименованы, то поле остается пустым - еще одна причина необходимости определения имен всех материалов и их карт.

Просмотр материалов и карт

Material/Map Browser (см. рис. 21.13) применяется в четырех ситуациях: когда получен материал для замены текущей ячейки образца, когда впервые получен доступ к каналу карты для выделения карты, когда впервые получен доступ к каналу материала для выделения подматсриала, когда используется кнопка Type для замены текущего подматериала или карты. Находясь в Browser, можно выбрать материал, который хранится в библиотеке материалов, присутствует на сцене, является текущим в Material Editor или определить собственный материал из нового определения. Опции Brose From управляют тем, откуда предоставляется список вариантов.

Библиотека по умолчанию для просмотра хранится в файле 3dsmax.mat (см. рис. 21.14), который распространяется вместе с продуктом и размещен в подкаталоге \3dsmax\maps. Конечно, для просмотра можно выбрать любую библиотеку. К сожалению, выбор того, какую библиотеку загружать, в файле сцены МАХ fie запоминается. Следовательно, в самом начале Material Editor будет всегда искать 3dsmax.mat. Если файл не найден, список окажется пустым и вам придется определить другую библиотеку для просмотра.

Фильтр опций Show указывает, будут ли отображаться материалы, карты либо и то, и другое. По умолчанию активна опция Both (и то, и другое) - возможно, обманчивая ситуация для выбора материалов, поскольку выбор карты представит ветвь без родителя. Для просмотра материалов лучше выбрать Show Materials, a для просмотра карт - воспользоваться Show Maps или Show Both.

Кнопки в верхней части Browser предоставляют возможность изменять отображение с Track View-подобных строк на маленькие или большие образцы сфер. Привлекательная в принци-пе, данная опция медленна для сложных материалов и использует оперативную память для всех обрабатываемых битовых карт. Причина заключается в том, что элементы генерируются на какое-то мгновение и ничто не кэшируется для будущих сеансов. Таким образом, если сферы образцов полезны для маленьких библиотек, то для больших они непрактичны.

При просмотре материалов но именам материалы распечатываются по алфавиту с учетом строчного/ прописного написания. Отступы материалов обозначают, что они являются дочерними одного из сложных материалов (Blend, MulLi/Sub-Object, Top/Bottom или Double Sided). Данные подматсриалы вполне доступны для выделения в качестве автономных материалов. Если хотите, можете отфильтровать подматериалы опцией Sub Material/Maps в нижней части Browser.

Замена карт и подматериалов

Назначенную в данный момент карту часто придется заменять. Настройка текущей карты не подходит, поскольку необходим другой тип карты или параметры, в точности скопированные из другого материала, Находясь на корневом уровне карты, щелкните на кнопке Type и перейдите в Material/Map Browser. Здесь можно выбрать карту из библиотеки, сцены, Material Editor или начать с нуля, выбрав New. Вызов броузера через кнопку Type аналогичен первому нажатию кнопки канала карты, за исключением того, что вы заменяется существующая карта.

Когда материал используется внутри другого материала, его замена очень похожа на замену карт. Хотя имеет смысл использовать функцию Get Material, но это заменит все определение материала, а не только подматериал на текущем уровне. Когда вы находитесь па уровне корня подматериала, щелчок на кнопке Type перенесет в Material/Map Browser. Отсюда можно выделить материал для замены текущего подматериала.

Работа с материалом Standard

Материал Standard обладает большими возможностями, несмотря на свое скромное имя. В частности, он обычно является стартовой точкой и, следовательно, "стандартным" материалом, используемым для большинства работ. Как уже описывалось, по существу материал Standard является эволюцией того, что содержалось в Materials Editor 3DS для DOS. Как показывает рисунок 21.15, тип материала Standard содержит 11 каналов проецирование в качестве отправной точки для создания расширенного дерева карт.

Компоненты цвета материала Standard

Теневые характеристики материала Standard разбиваются на три качества: Ambient (цвет, показанный в тени), Diffuse (цвет, показанный на освещенной стороне) и цвет бликов (см. рис. 21.16). Выбор правильных цветов для реалистичного эффекта требует определенного опыта. Начните с просмотра объектов реального мира, сделанных из материала с теми же самыми качествами. Пристально всмотритесь в их цвет, тень и блики. Похож ли цвет бликов на источник света или тонирует его? Как на затененный цвет влияет то, куда помещен объект? Изменяются ли цвета, когда свет проходит рядом с объектом?

Отраженные блики видны на тех поверхностях, которые по крайней мере немного блестят, и имеют место тогда, когда свет падает на поверхность под углом, обратным к позиции просмотра. Поверхность отображает рассеянный цвет материала тогда, когда она полностью освещена и либо приглушена, либо не подвержена ярким бликам. По мере уменьшения освещенности рассеянный цвет смешивается с фоновым. Там, где нет света, визуализируется только фоновый цвет (и затем то же самое происходит с фоновым светом сцены).

Большинство материалов соотносят свои цвета друг с другом, часто затеняясь в одном и том же семействе цветов. Material Editor упрощает затенение, предоставляя возможность копировать цветовые отметки, транспортируя их от одного материала к другому. Затем можно настроить такие свойства цвета, как белизну, черноту или значение, не затрагивая базовых цветовых отношений.

Компонент цвета Diffuse

Одно из трех базовых качеств цвета, Diffuse, оказывает наибольшее влияние на вид материала и его проще всего определять. Рассеянный цвет - это цвет, на который ссылаются при описании материала в реальной жизни. Как можно чаще обращайте внимание на мир вокруг себя и анализируйте его цвета. Вы вероятно заметите, что очень мало объектов обладают полностью насыщенными оттенками. Некоторые объекты имеют тенденцию рассматриваться в качестве знаков (подписи, упаковки, реклама), игрушек и мультфильмов. Другие имеют тенденцию обладать более сложными смесями. Цвет Diffuse часто заменяется или смешивается с битовой картой при помощи небольшой кнопки рядом с цветовой отметкой, обеспечивая быстрый доступ к каналу проецирования Diffuse.

СОВЕТ

Анализируя цвета реального мира, по крайней мере, необходимо осветить область объекта белым светом, устранив всякое затенение поверхности. Идеальным является кварцевый или ксеноновый свет, однако подойдет и галогенный. Рассеянный цвет можно изолировать за счет удерживания карманного галогенного фонарика близко к поверхности и рассматривания ее таким образом, чтобы блики не были видны.

Компонент цвета блика

Зеркальный (specular) цвет или цвет блика смешивается с цветом освещения. Такая смесь варьируется от материала к материалу, но обычно окрашена в рассеянный цвет или бесцветна (нулевая насыщенность). Неплохая отправная точка для материалов - скопировать рассеянный цвет в цвет блика и увеличить элемент управления Whiteness, добавив белого.

Влияние, которое компонент блика оказывает на материал, прямо связано с его сиянием и значением силы сияния. Материалы, которые не сияют, не могут давать яркие блики. Если материал сияет и на материале формируется блик, рассеянный цвет материала подобно свету смешивается с отраженным цветом по аддитивному закону.

Отраженный цвет материала нс визуализируется, если не формируется блик от света, ударяющего в поверхность и отражающегося обратно в положение наблюдателя. Угол от вашего положения до поверхности должен быть равен углу отражения заданного света для того, чтобы этот свет создавал блик на поверхности (см. рис. 21.17). Обратите внимание на то, что угловые отношения были настроены функцией Place Highlight (разместить блик).

Фоновый компонент цвета

Хотя фоновое значение представляет затененную часть материала, оно существенно влияет на поверхность, поскольку обычно в заданный момент времени под воздействием прямого света находится только небольшая часть объекта. Большинство или по крайней мере часть объектов освещается бликовым светом, который затенен на их поверхностях. Поскольку поверхности затенены, то фоновый цвет смешивается с рассеянным цветом субтрактивным или пигментно-подобным способом. В полной тени используется исключительно фоновый цвет. Результирующий фоновый цвет, видимый без света, обычно достаточно темен, так как иллюминируется только от источника фонового света.

СОВЕТ

Затемнение фонового света иногда полезно для получения глубоких, богатых цветов материала. Можно легко затемнить фоновый свет, скопировав отметку рассеянного цвета в отметку фонового цвета и понизив его значение.

Теоретически очень мало материалов имеют различные фоновое и рассеянное значения. (Часть таких материалов светится или естественным образом переливается.) Затенение, происходящее с большинством поверхностей, является простым уменьшением иллюминации. Вот почему часто рекомендуется сохранять фоновое и рассеянное значения постоянными. На практике же большинство художников этого не делают.

Сделав фоновый цвет темнее рассеянного, вы углубите затенение и создадите богатую визуализацию. Такой прием интенсифицирует тени и предоставляет возможность более общего освещение сцены. Большинство художников стандартно копируют отметку цвета Diffuse в Ambient и затем уменьшают значение цвета, по крайней мере, на 50%. Если изучить библиотеки материалов, распространяемых с 3DS МАХ, можно увидеть, что подобный прием применяется практически к каждому материалу.

СОВЕТ

Имеется возможность имитировать материалы, с очень богатыми цветами, такими как лакированное дерево. Для этого следует увеличить их фоновый цвет до полной насыщенности и значения. Каштановый коричневый рассеянный цвет материала при освещении ярким красным фоновым светом дает очень теплый, богатый коричневый цвет.

Когда сцена освещена исключительно фоновым светом, вид визуализиро ванной поверхности управляется цветом фона материала. Данный эффект "переключения" цветов важен для понимания того, когда для освещения сцены требуется использовать чистый белый фоновый свет (распространенная ситуация при создании плоских работ для двумерной печати). В случае применения белого фонового света ваш интерес полностью сосредоточивается на компоненте рассеянного цвета и ни на чем другом.

Блокирование цветов

Слева от цветов расположены кнопки блокирования, замыкающие цвета так, чтобы они оставались одинаковыми. После этого настройка одного настраивает оба цвета. Использование блокирования ограничено, учитывая легкость, с которой можно копировать цветовые отметки. Вообще блокирование не поощряется, если только вы не желаете абсолютно чистого цвета. Материалы, которые получают выгоду от блокирования цвета, выглядят как яркий пластик и предназначены для художественной рекламы при создании двумерных объектов для гладкого освещения.

Замок справа от цветовых отметок управляет блокированием каналов проецирования Diffuse и Ambient. По умолчанию они блокированы всегда, так что когда выделена карта Diffuse, то она применяется и для фонового и для рассеянного цветов. При отключении замка канал Ambient станет активным, и рядом с отметкой цвета Diffuse появится кнопка ~ предоставляющая возможность окрасить текстурную карту способом, в соответствии с которым вы затемняете или насыщаете отметки базовых цветов.

Базовые параметры материала Standard

Помимо элементов определения компонентов базовых цветов для материала существуют еще несколько управляющих элементов, завершающих раздел Base Parameters (базовые параметры) материала Standard. Они управляют режимом визуализации, сиянием, самосвечением, значением затемнения и проволочного каркаса, двухсторонностью и опциями Face Map. Данные базовые параметры служат в качестве стартовой точки для перечисленных критических качеств. Большинство из них имеют соответствующие каналы проецирования, которые заменяют или влияют на параметры.

Режимы затенения

Наиболее доминирующей опцией в материале Standard является режим затенения. Эта опция управляет тем, какой метод (алгоритм) визуализации будет использоваться для оценки и затенения базовых цветов и сияния. Три затеняющих режима (Phong, Metal и Constant) требуют одинакового времени визуализации, однако изменяют общие характеристики материала, когда визуализация выполняется окончательным визу-ализатором (см. рис. 21.18). Внешний вид поверхностей в видовых окнах остается неизменным, поскольку интерактивный визуализатор рассматривает все материалы как Phong. Возможности канала проецирования, тени, отражение и атмосфера обрабатывают все теневые режимы одинаково.

Режимы затенения Phong и Constant используют одни и те же свойства материалов, но обрабатывают затенение и сглаживание совершенно различным образом, Режим затенения Constant игнорирует группы сглаживания и ищет копланарные поверхности. Каждая копланарная поверхность или грань будет визуали-зирована с одним и тем же постоянным цветом со сглаженными ребрами вдоль граней. Подобный режим используется преимущественно создателями игр и плоских художественных работ.

СОВЕТ

При использовании затенения Constant возникнет желание убедиться, что визуализированный вывод имеет чистые цвета на каждой грани. Для этого следует сбросить флажок True Color в группе Output Dithering закладки Rendering диалога Preferences. 3DS МАХ прореживает и 32 разрядный цвет внутренней сверх высокоцветной 64-разрядной визуализации.

Режимы затенения Phong и Constant включают опцию Soften, предназначенную для смягчения блика отраженного света, как показано на рисунке 21.19. Данная опция должна быть включена для всех материалов за исключением наиболее глянцевых - стекла, лаков, глянцованных рисунков или яркого пластика (опция определенно должна быть включена для любого отображаемого материала). Единственная причина, по которой опция не включена по умолчанию, заключается в том, что интерактивный визуализатор не умеет воспроизводить эффект Soften.

Режим затенения Metal (основанный на алгоритме Кука/Торраиса (Cook/Torrance)) работает с цветовой отметкой и значением Specular. Металлические материалы порождают цвет своего блика непосредственно от своего цветового компонента Diffuse и от формы кривой блика. Форма кривой блика и результирующее сияние на поверхности существенно отличается от получаемого в режиме затенения Phong, хотя значения сияния остается тем же.

Опция 2-Sided

Опция 2-Sided заставляет визуализатор игнорировать нормали граней поверхности и визуализировать обе стороны независимо от того, куда они смотрят. Данная опция предназначена для геометрий и поверхностей, сквозь которые можно видеть, подобных стеклу или проволочным каркасам (см. рис. 21.20), и моделирование обеих сторон объекта для реализма не требуется. Опция применяется также для очень тонких замутненных объектов, обе стороны которых нужно видеть, таких как игральные карты или бумажные деньги.

Использование двухсторонних материалов для более массивных моделей делает их вид странным, поскольку их ребра кажутся очень тонкими (что и есть на самом деле). Данная опция применяется также тогда, когда импортированные модели обладают проблематичными нормалями, требующими значительного времени для исправления. В последнем случае опция должна сопоставляться с корректировкой нормалей ввиду того, что опция является дорогостоящей и заставляет программу визуализировать гораздо больше граней, нежели обычно.

ПРИМЕЧАНИЕ

Если применяется Refraction Map, опция 2-Sided не влияет на непрозрачность или отражение и влияет только в случае, когда материал является проволокой (Wire).

Опция Wire

Опция Wire убирает поверхность и заменяет каждое видимое ребро элемента каркаса или лоскута линией или проволокой. Данная ситуация является одной из немногих, где видимость ребра поверхности влияет на его визуализированный внешний вид. Визуализированные характеристики проволок на самом деле ближе к характеристикам кусков бумаги. Поверхность проволоки является гладкой вдоль грани, чье ребро она очерчивает. Если ребро используется гранями совместно, то как показано на рисунке 21.21, проволока кажется перегнутым кусочком бумаги.

Размер проволоки управляется свитком Extended Parameters. Размер управляется здесь по двум методам. Pixels делает все ребра в визуализированном образе одинаковой толщины. Units придает проволокам реальную толщину. В любом случае проволоки имеют один и тот же радиус. Влияние вашего выбора на определение проволоки проявляется при просмотре поверхности в перспективе. Если толщина определена в пикселах, то она не уменьшается в перспективе, как будто вы ретушируете фотографию ручкой с пером одной толщины. Если толщина определена в единицах, проволока обслуживается как геометрия и, соответственно, в перспективе уменьшается. При визуализации в ортогональном или пользовательском окне два метода производят один и тот же эффект и все проволоки визуализируются с постоянной толщиной.

ПРИМЕЧАНИЕ

Если не включено сглаживание (anti-aliasing), материалы Wire будут визуапизироваться как сплошные поверхности. В случае нахождения в Material Editor внутренняя сторона образца всегда сглажена и нет необходимости изменять опцию Material Editor на anti-alias.

При определении размера Wire в единицах часто стоит потратить время и установить в диалоге Material Editor Option параметр 3D Map Sample Scale в размер, представляющий типичный масштаб сцены. Это улучшит ощущение материала в отношении поверхностей, которым назначается материал. Альтернативой является проведение многочисленных тестовых визуализации.

СОВЕТ

Renderer обеспечивает опцию Wireframe, которая визуализирует все поверхности на сцене так, если бы они были материалами Wire с толщиной в один пиксел - более удобно для быстрых эффектов, нежели переключение свойств материала.

Параметры сияния

Степень отполированности, блеска или лоск материала определяется значениями Shininess и Shininess Strenght. Данные значения объединяются для создания общего характера яркости с эффектом, графически показанным кривой Highlight (см. рис. 21.22).

Кривая Highlight и немногочисленные значения являются лучшими советчиками в том, каким будет блик. Ширина кривой диктует высоту результирующего блика. Узкие кривые говорят о незначительном блике, а широкие - о широком. Высота кривой управляет цветом блика. Когда кривая достигает верха, цвет блика совпадает с цветом Specular и по мере понижения кривой пропорционально смешивается с цветом Diffuse. Высокая острая кривая создает узкую точку яркого цвета, а низкая, широкая кривая создает большой и мягкий блик, не намиого отличающийся от рассеянного цвета. Многие реальные материалы (подобные коже, промасленному дереву или матовым шарам) обладают низким матовым блеском, который можно имитировать с использованием нулевого сияния и увеличением уровня силы сияния.

По мере увеличения области кривой блика увеличивается угол, под которым можно видеть яркий блик. Чем выше кривая блика, тем больше блик объединяется с базовым цветом. Чем ниже кривая, тем больше блик смешивается с цветом рассеянного базового цвета.

Результирующая кривая Highlight очень варьируется при переключении с затенения Phong на Metal. Значение кривой остается тем же, однако результат существенно отличается (см. рис. 21.23). Кривая Highlight обладает наибольшим влиянием на материалы Metal, поскольку их смесь определяет отраженный цвет. Отображение кривой Hightlight иным образом реагирует на металлы, образуя кривую с двумя пиками для низких параметров и тонкую вертикальную линию - для высоких - чем ярче материал Metal, тем сильнее контраст.

Параметры непрозрачности

По умолчанию все материалы на 100% непрозрачны. Процент изменяется, когда вы начинаете настраивать различные элементы управления непрозрачностью - Opacity, Opacity FalloffH, возможно, Opacity Maps. Характеристики непрозрачности далее управляются Opacity Type и, может быть. Filter Color. Основные эффекты перечисленных элементов управления демонстрируются на рисунке 21.24. Параметр Refract Map/Ray Trace IOR предназначен для использования с картами преломления (рефракции) и, возможно, гау-traced-визуализаторами. В окончательном визуализаторе 3DS МАХ указанная опция влияет Ни непрозрачность ТОЛЬКО тогда, когда используется карта рефракции.

ПРИМЕЧАНИЕ

Когда карта рефракции (Refraction Map) используется со 100% силой, игнорируются все элементы управления непрозрачностью за исключением Opacity Type. Если Refraction Map ниже 100%, процент Opacity (определяемый как Opacity Map, так и параметром Opacity) эффективно "тонирует" карту рефракции цветом непрозрачной поверхности. Активные параметры карты рефракции полностью управляют тем, что видно сквозь объект.

В материале Standard имеется три различных типа прозрачности: Filter, Subtractive и Additive. Тип Filter Opacity (по умолчанию) является единственным, который также использует цвет Filter (в противном случае имя цветовой отметки подсвечено серым). Цвет фильтра становится цветом в прозрачных областях поверхности, когда сквозь материал просматривается яркая сцена. Когда 50% непрозрачность просматривается на белом фоне, цвет Diffuse полностью заменяется цветом Filter. При величине процента от 50 до 100 цвета Diffuse и Filter смешиваются. Процент, меньший 50, создает яркие тени цвета Filter. Если фон не является белым, цвета изменяются. Если Background (фон) черный и замутненность равна 50%, поверхность имеет рассеянный цвет, а серый фон будет смешивать Filter и Diffuse. На практике цвет Filter действует в качестве дополнительного фактора, значение цвета которого влияет на общую непрозрачность поверхности. Если вы вообще не хотите, чтобы цвет Filter оказывал влияние на прозрачность, следует оставить цвет со значением по умолчанию 128 серого.

ПРИМЕЧАНИЕ

Для ветеранов 3D Studio для DOS единственным реальным изменением прозрачности является новый цвет Filter, заменяющий метод по умолчанию. Тип Additive остался тем же и метод Subtractive подобен опции "New Subtractive Transparency", доступной в файле 3ds.set. При импорте файлов 3DS с прозрачностью цвет Diffuse копируется как цвет Filter, результат работы которого тесно совпадает с работой старого метода.

Тип непрозрачности Subtractivc достаточно прост, но не похож. По мере того, как материал становится прозрачным, он вычитает рассеянный цвет из фона. Подобный метод имеет эффект удаления цвета, видимого сквозь материал инверсно непрозрачности. Например, пурпурный материал будет вычитать красный и голубой каналы из всего, что видно сквозь него. Материал Subtractive может производить глубокую, богатую полупрозрачность, однако становится неестественным при использовании с низкой или нулевой непрозрачностью.

Тип непрозрачности Additive будет добавлять рассеянный цвет к тому, что видно через поверхность, делая это более ярким и придавая поверхности самосветящийся вид. Аддитивная непрозрачность становится наиболее яркой тогда, когда она наименее замутнена, где изменение значения от 100 до 99 дает огромный скачок. Реально непрозрачность Additive 50 или менее представляет собой то же, что и непрозрачность Filter, использующая белый цвет Filter. На практике непрозрачность Additive часто применяется для лампочек, световых лучей, призраков и т. п.

Запомните, что значение Opacity Falloff всегда влияет на непрозрачность материала, независимо от того, меньше ли значение Opacity 100 или нет. Если используется карта Opacity, вид сцены может преподнести сюрприз (см. рис. 21.25). Значение Falloff диктует прозрачность центра поверхности с опцией In и прозрачность ребер с опцией Out. Когда материал прозрачен, сквозь него можно смотреть. По этой причине весьма распространено включение опции 2-Sided, если объект не моделировался внутри так же, как снаружи.

Видимая плотность материала является следующим качеством прозрачности, которое подлежит рассмотрению. Большинство физических объектов будут казаться менее прозрачными вдоль своих ребер, поскольку там больше материала для фильтрации света. Ребра большинства прозрачных материалов кажутся плотнее при рассматривании материала вдоль ребра- Если у модели сконструирована как внешняя, так и внутренняя сторона, прежде следует попробовать нулевое значение Falloff, а затем увеличивать Inside Falloff вплоть до достижения желаемого эффекта. Если у модели сконструирована только внешняя поверхность, необходимо, чтобы Inside Falloff не появился как бесконечно тонкий сосуд (как есть на самом деле). Outside Falloff используется редко, поскольку в центре находится мало поверхностей плотнее, чем по краям (примеры включают полупрозрачные массы, световые лучи и призраки).

Общую прозрачность материала можно определить с использованием его карты непрозрачности. Когда карта непрозрачности активна, она перекрывает параметр Opacity ввиду того, что она определяет силу и размещение непрозрачности материала. Граница и тип непрозрачности по-прежнему учитываются и работают в сочетании с определением карты непрозрачности, параметрами и положением ползунка.

Параметры самосвечения

Свойство Self-Illumination (самосвечения) производит иллюзию самостоятельного свечения посредством устранения компонента затенения Ambient материала. Увеличение значения уменьшает эффект рассеивания до тех пор, пока затенение не будет больше появляться. Если материал полностью самостоятельно светится со значением 100, то на поверхности нет тени, и везде, кроме бликов, используется рассеянный цвет. Рисунок 21.26 показывает, как заменяется качество фона по мере роста самосвечения.

ПРИМЕЧАНИЕ

Поскольку полностью самосветящиеся материалы затенить нельзя, будет казаться, что они не принимают отброшенных теней.

Самосветящийся материал не отбрасывает никакого света, создавая впечатление, что он освещен изнутри. На материал не влияют тень и затенение - это означает, что материал используется по-иному, чем для имитации светящегося объекта. Возникают случаи, когда потребуется, чтобы объект выглядел гладким и незатененным по цвету как в мультфильме (лучше всего это получается с копланарными объектами). Очень часто самосветящиеся материалы назначаются объектам, используемым в качестве фоновых "досок объявлений" так, чтобы их образ оставался совместимым со сценой. Другие примеры самосветящихся объектов включают телевизоры, проекционные экраны, надписи и лампы. Не беспокойтесь о том, что материал не воспроизводит света самостоятельно, поскольку подобный эффект можно моделировать и управлять им. Самосвечение часто комбинируется с аддитивной непрозрачностью для создания удобных ламп и световых лучей.

Каналы проецирования материала Standard

Одиннадцать каналов проецирования в нижней части Standard Material являются отправными точками для совершенствования вида материала. Можно манипулировать, комбинировать, ответвлять карты множеством способов, заставляя даже простые поверхности выглядеть богатыми и сложными. Внимательная работа может сделать модель предельно реалистичной и все-таки эффектной. Значительное влияние каналов увеличивает важность четкого рабочего понимания их действия.

Поскольку канал проецирования может ветвиться достаточно глубоко, способ интерпретации результатов ветвления изменяется в зависимости от различных каналов. Результат канала оценивается как в цвете RGB, так и в интенсивности оттенков серого (см. рис. 21.27). Каналы проецирования Ambient, Diffuse, Specular, Filter Color, Reflection и Refraction работают с цветом. Каналы Shininess, Shininess Strength, Self-Illumination, Opacity и Bump учитывают только интенсивность, считая конечные цвета оттенками серого. Использование цветовых карт для данных каналов может оказаться непонятным, поскольку визуальный контраст между цветами иногда соответствует контрасту в освещенности (например, чистые красный, зеленый и голубой будут иметь одни и те же значения интенсивности).

Битовые карты достаточно широко используются со всеми каналами, но могут дорого обходиться в смысле оперативной памяти. На каждый байт глубины определения карты используется 1 байт RAM. Таким образом, 24 разрядная карта цвета потребует 3 байта на пиксел, тогда как битовая карта 256-индексного цвета или оттенков серого потребует только 1 байт на пиксел.

Если битовая карта использует фильтрацию (что делают практически все), появляются дополнительные затраты по 1 байту на пиксел при Pyramidal и 12 байтов на пиксел при Summed Area. После того, как на битовую карту сослался материал или фон, в дальнейшем ее можно пеограничено применять без дополнительных расходов RAM. Многие разрабатывают несколько общих битовых карт в качестве отправной точки почти каждого создаваемого материала. Подобные битовые карты придают материалам начальную шероховатость, прожилки или текстуру, которые в основном не потребляют дополнительную RAM.

СОВЕТ

Использование битовых карт в оттенках серого для каналов, читающих только интенсивность, достаточно грамотно. Не только потому, что их тени непосредственно соотносятся с эффектом канала проецирование, но и потому, что они используют одну треть RAM 24-разрядных образов.

При определении и использовании битовых карт целью является создание образа, корректно выполняющего работу. "Корректный размер" будет зависеть от размера выходного образа, выразительности отображения объекта и скорости, с которой он может передвигаться. Распространенная технология заключается в поддержке нескольких разрешений одного и того же образа так, чтобы в конкретной ситуации использовался наиболее подходящий размер. Исходный образ может начинаться из Kodak CD-ROM с разрешением 3072 х 2048 и использовать 25Мб. Таким образом, имеет смысл создать несколько меньших по размеру карт - 1200 х 800, использующую 3.8Мб, 600х400, использующую 1Мб, и 300х200, использующую только 240Кб. Помните, что уменьшение разрешения приемлемо, однако увеличение битовой карты практически ее размывает.

СОВЕТ

Хорошее правило для обеспечения высококачественных образов - не допустить, чтобы пиксел битовой карты был равновелик пикселу визуализации. Таким образом, все пикселы визуализированной битовой карты будут компактны и отвратительный эффект зернистости пропадет.

Текстурные карты Diffuse и Ambient

Из всех каналов проецирование Diffuse, видимо, наиболее проста для ссылки. Она применяет результат канала к поверхности материала очень похоже на картину или обои. Благодаря такой функциональности, во множестве других программ карты Diffuse часто называются "текстурными" картами. Если сделать канал Diffuse активным в полную силу, он заменит базовый рассеянный цвет. Ползунок Amount указывает степень использования канала проецирования. Уровни между 0 и 100 пропорционально смешивают компоненты цвета Diffuse.

Канал Diffuse уникален в том, что имеет справа пиктограмму замка. Активная (по умолчанию) карта Ambient заблокирована на рассеивание. Заблокированной канал проецирования Ambient имеет серый цвет и карта Diffuse используется для компонент рассеивания и фонового затенения. Разблокирование данной опции предоставляет возможность определения различных источников для компонента фона, как показано на рисунке 21.28. Разделение карт Ambient и Diffuse в основном применяется для интенсификации эффекта карт способом, по которому фоновый базовый цвет часто является более темной или насыщенной версией рассеянного базового цвета. Копирование карты Diffuse в качестве карты Ambient предоставляет возможность управления интенсивностью тени.

СОВЕТ

Насыщенная карта текстуры может быть получена за счет настройки вывода копии карты Ambient. Увеличение RGB Level при понижении RGB Offset интенсифицирует цвета света до среднего диапазона и углубит темные области. Например, результат может превратить гладкую текстуру дерева в лакированную.

Применение незаблокированной карты Ambient без карты Diffuse создаст тонкий узор на поверхности, который будет исчезать при полной иллюминации. Подобного рода эффект можно использовать для узоров на металлических поверхностях, представляющих гравировки, анодирование или панели. Случайные узоры могут придать поверхности мягкую текстуру, увеличивая правдоподобность сплошных цветов.

Карты блика Specular

Канал Specular предназначен для специальной цели на случай, если необходимо управлять тем, что видно на отраженном блике материала. Такой эффект может быть едва заметным отражением или просто вариациями, которые видны как блики света, проходящие над поверхностью. Канал Specular при активизации в полную силу заменяет базовый цвет отражения. Ползунок Amount указывает степень использования канала проецирования. Уровни 0-100 пропорционально смешиваются с компонентом цвета Specular. Данный канал проецирования является единственным, который влияет на цвет отраженного компонента. Металлическое затенение не имеет отраженного компонента, поэтому канал Specular обесцвечен.

СОВЕТ

Источник света, имеющий объект в качестве единственного входа в списке может оказаться весьма полезным для управления положением и интенсивностью блика и, следовательно, образом карты Specular.

Эффект карт отражения зависит от ряда других переменных материала и сцены. Координаты отображения диктуют, где на поверхности разместится карта, освещение сцены, и положение наблюдателя относительно поверхности определяет, где будет появляться блик. Свойства сияния материала диктуют, насколь велик и как чист по цвету окажется блик. Как отраженный цвет смешивается с рассеянным, так делает и карта отражения. Помните, что высота кривой Highlight определяет чистоту цвета, а ее ширина указывает на размер блика. Поскольку всегда можно смешать по крайней мере края, рассеянный цвет или карта оказывают значительное влияние на окраску отражаемого образа.

Распространенное применение карт Specular заключается в размещении образа источника света сцены на объекте. Ввиду того, что данный образ имитирует отражение, битовая карта должна представлять, какой требуется видеть область вокруг источника света, вызывающего блик. Голая лампочка, узорчатое окно с занавесками, витиеватый уличный фонарь, жаркое солнце - это всего лишь несколько примеров. Дополнение объекта картой Specular существенно повышает реализм. Часто отражение видно на блестящих объектах из повседневной жизни. Когда вы видите форму окна на блике надувного шара, это как раз и является эквивалентом карты Specular. Карты Specular особенно удобны при использовании в сочетании с картами Reflection. Отражение (Reflection) усиливает иллюзию сияния материала. Вид Specular Reflection соседней неоновой надписи, например, на битовой карте блика является весьма реалистичным мазком. Еще одно распространенное применение карт Specular заключается в размещении текстуры, которая видна только на блике. Круги и пятна на воде (см. рис. 21.29) - типичные примеры этой техники.

Эффект канала Specular тесно напоминает эффекты каналов Shininess и Shininess Strength. Эффекты сходны благодаря тому, что цвет канала Specular объединяется с рассеянным цветом аддитивным или основанным на свете способом. Если карта Specular записана в оттенках серого и не насыщена, влияние блика материала практически идентично влиянию карт сияния. На практике канал Specular предназначен преимущественно для представления цвета. 34 7-чя

Карты выдавливания (Bump Maps)

Карты выдавливание (имитации рельефа) придают поверхности моделируемую структуру, указывая области для вытягивания, проектирования или "выдавливания". Визуализатор создает такую иллюзию за счет применения значения света на отображаемой поверхности таким способом, что ребра или "выдавливания" могут отбрасывать тени и принимать блики. Карты Bump не оказывают влияния на геометрию. То, что выглядит как поднятые края, на самом деле является просто иллюзией - это эффект визуализации, только имитирующий эффект блика и формы. Возможность действительной деформации поверхности часто называется отображением смещения (в других программах) и в 3DS МАХ выполняется посредством модификатора Displacement. Выдавливания предназначены для менее уловимой иллюзии, которая имеет отношение к поверхности, а нс к профилю.

Карта Bump читает интенсивность канала и считает, что черное не оказывает влияния, белое оказывает полное воздействие, а оттенки серого обладают пропорциональным эффектом. Ползунок Amount управляет величиной или кажущейся "высотой" выдавливания, а не процентом канала. Карты Bump проявляют тенденцию к наибольшей эффективности в случаях, когда они начинаются с нижних значений черного и работают вперед. На практике обычно получается более управляемый результат при наличии черного поля и работе в направлении среднего серого, чем если начинать со среднего серого и работать по направлению к белому.

СОВЕТ

Параметр Output Amount оказывает ощутимую помощь в настройке эффекта битовой карты или в увеличении эффекта карты Bump за пределы того, на что способен ползунок Amount карты.

Поскольку эффект карты Bump настоль хорош, имеет смысл точнее изучить его действие. Каждый пиксел карты Bump проецируется вперед подобно прямоугольнику. Пикселы, отличающиеся по интенсивности, проецируются отдельно от своих соседей подобно террасе и не наклонены один к другому. Неплохая визуализация эффекта карт Bump получается, если взять квадратные стержни и поместить их против аппроксимируемой поверхности. Подъем результирующего стержня соотносится с оттенками серого, которые потребовались бы для аппроксимации той же самой поверхности посредством карты Bump.

Хотя приведенную аналогию попять достаточно просто, она приводит к пониманию того, что выдавливание проектирует или понижает различные области. На самом деле иллюзия выдавливания создается за счет имитации гребней и понижении. Выступ ребра порождается разницей в цвете между соседними пикселами. Карты Bump нс влияют на свойства теней различных "террас", "уровней" или "шагов", появляющихся на поверхности. Все эти области визуализируются так, как если бы они были одной гладкой поверхностью ~ иллюзию глубины создают их выступающие ребра. Как показано на рисунке 21.30, иллюзия наиболее сильна тогда, когда с битовыми картами используются карты Mask.

Создание корректной битовой карты для эффекта выдавливания немного сродни искусству. Как и со всеми моноканальными картами, всегда лучше работать с оттенками серого, для лучшего определения контраста (к тому же 8-разрядные битовые карты требуют треть памяти по сравнению с 24-разрядными образами). Для имитации вмятин, желобков или чего-то подобного, проходящего по поверхности, можно начать с создания полностью белой поверхности, которая таким образом будет "снаружи". Площади битовой карты от серого до черного будут проектироваться меньше и, следовательно, окажутся "внутри". Для создания желобка поле делается белым, нижняя линия желобка - черной, а и стенки - серыми. "Рецепты" распространенных карт выдавливания приведены ниже и показаны на рисунке 21.31.

  • Желобки для цементных линий, гребней и панелей основаны на работе простых линий, где глубину определяет контраст между линией и полем. Обратите внимание на то, что дополнительная смежная серая линия придает небольшую скошенность и уменьшает возможный блеск, часто происходящий с линиями.
  • Боковые уклоны, скаты, v-образные каналы и пирамиды определяются ровными линейными градациями. Уклоны можно сделать при помощи типа карты Gradient или битовой картой с заданным уклоном, выполненной в программе рисования.
  • Конусы для острых точек можно построить с помощью типа карты Gradient, используя Radial Gradient Type или битовой картой с заданным радиальным уклоном, выполненной в программе рисования.
  • Полусферы для сводов, заклепок и округлых шляпок формируются вычерчиванием затенения сферы. Данный процесс имеет "взвешенную" градацию, где белое прибавляется по направлению к центру, а по краям быстро наращивается черное. Для случая стаканчика с мороженным реверсирование окраски изменяет свод на впадину. Такие сложные градации часто проще делать путем моделирования и визуализации геометрии.

Удобным методом создания ровно затененных карт выдавливания со сглаженными ребрами заключается в моделировании их базовой геометрии в 3DS МАХ и использования визуализированных образов в качестве прототипов битовых карт (см. рис. 21.32). Сферическую карту Bump можно сделать, создав сферу, назначив ей матовый белый материал и поместив один точечный источник света напротив центра. Визуализируйте видовое окно Spotlight и у вас будет отлично оттененный и рассеянный образ, прекрасно подходящий для карты Bump. В случае применения такой технологии, сохранение альфа-канала с файлом TGA очень полезно. Эта технология обеспечивает подходящую маску для эффекта выдавливания и удваивает полезность битовых карт.

Как и большинство карт материала Standard, карты Bump наиболее удобны, если они координируются с другими каналами проецирования, имеющими соответствующие карты. Рисунок 21.33 показывает, как комбинируются отдельные карты Diffuse, Bump и Shinincss Strength и формируют в результате реалистичную поверхность. Легко обнаружить, что применяемые карты Bump часто должны копироваться как карты Shininess Strength и применяться в качестве масок для других каналов проецирования.

ПРИМЕЧАНИЕ

Проекция карты Bump является однонаправленной - угол проецирования отображения роли не играет. Это отличается от других программ (например, 3DS для DOS), где проецирование отображения толкает выдавливание в одну и в другую сторону. В 3DS МАХ направлением выдавливания управляют параметры материала.

Реверсировать направление карты Bump можно тремя способами: изменив знак ползунка Amount, изменив знак Output Amount или посредством опции Invert. Каждый способ имеет свои преимущества и недостатки. Например, первые два способа поддаются анимации, а опция Invert - нет. Возникают случаи, когда требуется, чтобы выдавливание изменяло направление на одном и том же материале. Наплыв на одной стороне поверхности должен быть впадиной на другой стороне. Для достижения такого эффекта следует выделить грани с обратной стороны и назначить им дублирующий материал с реверсированным параметром выдавливания.

Карты Bump настоль ценны ввиду того, что могут имитировать гораздо большую геометрию, чем реально присутствует. Но если быть недостаточно внимательным, то они более восприимчивы к визуализации блеска или "зазубрин". Ниже представлен приблизительный порядок шагов, которые следует рассмотреть с целью достижении наилучшего эффекта Bump.

  1. Избегайте применения битовых карт с угловыми линиями, если тот же результат можно достичь, прочерчивая прямоугольные линии и настраивая параметр Angle и/или вращая проекцию отображения. Угловая линия имеет характерную, фиксированную степень сглаживания, тогда как вращаемая прямая линия практически не зависит от разрешения.
  2. Обеспечьте использование Filtering в типе Map и активный Filter Maps в опциях Render Scene. Карты выдавливания будут корректно визуализироваться только в том случае, когда присутствует фильтрация.
  3. Увеличьте параметр Blur Offset. Значение 0.01 будет хорошей отправной точкой. Большие значения приведут к значительному размыванию, поэтому данный параметр следует использовать внимательно.
  4. Увеличьте параметр Blur. Для достижения правильного эффекта сбалансируйте его значение с Blur Offset.
  5. Переключитесь на фильтрование Summed Area, если параметры Blur чрезмерно притупляют эффект. Помните, что данная опция увеличивает средний объем используемой RAM с четырех до 15 байтов на пиксел. Обратите внимание на то, что для получения четкого результата с Summed Area требуется меньшее размывание.
  6. Увеличьте размер битовой карты. Обеспечьте отсутствие деталей размером в один пиксел. Помните, что основное правило заключается в том, чтобы никакая часть битовой карты не визуализировалась в размер, превышающей саму битовую карту.
  7. Добавьте промежуточную серую границу к деталям ребер с острым контрастом. Серое ребро при переходе от черного к белому значительно облегчает острый переход.

СОВЕТ

Когда имеется часто используемый эффект выдавливания (например, прямоугольная плитка), часто разумно поддерживать набор похожих карт идентичных пропорции, но различных разрешении. Подобный набор предоставит возможность выбирать наиболее подходящие для поверхности на сцене битовые карты и экономить память, когда большие карты не нужны. Для случая карты плитки меньшее разрешение будет иметь линии цемента шириной в 1 пиксел, следующее разрешение - от 3 до 5 пикселов и наибольшее разрешение - от 7 до 15 пикселов.

Создание выдавливаний внутри других выдавливаний является достаточно распространенным эффектом. Материал Ceiling Tile Square в стандартной библиотеке 3DS МАХ добивается такого эффекта за счет использования карты Composite, которая применяет карту Mask (см. рис. 21.34). Параметр Output Amount обеспечивает возможность независимого управления эффектом силы каждой выпуклости битовой карты.

Карты Shininess и Shininess Strength

Каналы Shininess и Shininess Strength (на которые коллективно ссылаются как на карты "сияния") влияют на существующую кривую Highlight. В отличие от других карт, имеющих коррслирующиеся базовые свойства (Ambient, Diffuse, Specular, Opacity, Self-Illumination и Filter Color), карты сияния работают рука об руку со своими базовыми параметрами. Базовые параметры Shininess и Shininess Strength управляют широтой и чистотой результирующего блика. Каналы Shininess и Shininess Strength определяют узоры, влияющие на форму и процент блика (см. рис. 21.35).

Добавление карт сияния не делают материал сколь-нибудь ярче, чем он уже есть - они определяют, где будет расположено сияние, или скорее - где его не будет. Таким образом материал уже должен порождать блик, чтобы карта имела видимый эффект. Если кривая сияния совершенно гладкая или вертикальная или отраженный цвет является черным, блика нет или он очень мал, чтобы при его помощи блокировать карту сияния.

Каналы Shininess и Shininess Stringth влияют на параметры Shininess и Shininess Strength независимо - т.е. канал Shininess управляет размером блика, а канал Shininess Strength - количеством отраженного света, который смешивается с рассеянным. Можно управлять чистотой блика и в то же самое время поддерживать его размер, или же можно определить его протяженность и при этом сохранить интенсивность. Карты сияния по природе одноканальны, работают только с интенсивностью цвета RGB или альфа-канала (который по определению представлен в оттенках серого).

ПРЕДУПРЕЖДЕНИЕ

Для увеличения интенсивности Shininess или Shininess Strength не следует использовать параметр Bitmap Output или карту RGB Tint из-за их неблагоприятного эффекта на результирующий компонент Specular. Если требуется увеличить интенсивность и блик, необходимо воспользоваться типом карты Mix или настроить битовую карту в программе рисования.

Канал Shininess Strength является главным элементом управления текстурой и бликом, поскольку он усиливает значение параметра Shininess Strength. Без силы (Strength) не будет сияния. Таким образом, черные значения делают поверхность матовой, понижая силу до нуля, серые значения позволяют проходить определенной части значения силы и белый обеспечивает прохождение всего значения. Нет возможности увеличить результирующий блик при помощи капала Shininess Strength - можно только "маскировать" области, где сияние уменьшается. Ползунок Amount просто определяет проходимость канала. Определению одного и того же эффекта служат три переменные: параметр Shininess Strength, цвет канала Shininess Strength и ползунок канала Amount. Например, все три представленных ниже действия произведут 50% сияние:

  • Shininess Strength равно 50, белый канал Shininess Strength установлен на 100%
  • Shininess Strength равно 100, белый канал Shtniness Strenght установлен iia 50%
  • Shininess Strenght равно 100, полусерый канал Shininess Strength установлен на 100%

ПРИМЕЧАНИЕ

Для ветеранов 3D Studio для DOS следует отметить, что использование канала 3DS МАХ Shininess Strength (без карты Shininess) наиболее близко по поведению картам сияния 3D Studio R3 и R4.

Сходные в главном, эффекты капала Shininess работают совершенно иным образом, нежели канал Shininess Strength. Оба канала уменьшают соответствующие базовые параметры, но сокращение Shininess не "за-мутняет" блик, как это делает Shininess Strenght. Напротив, блик становится шире. Черные значения канала снизят сияние соответствующих областей до нуля, а белые вообще не пошлют никаких значений. После модификации канал проецирования через ползунок Amount значение вычитается из уже существующего значения Shininess. Если Shininess равен нулю и, следовательно, порождает максимальный по размеру блик, то модулировать ничего нельзя. Канал Shininess обладает максимальным эффектом, когда базовый параметр Shininess установлен в 100, что позволяет вычитать значения.

Вопреки сказанному в документации, следует быть особо внимательным в применении двух каналов сияния в сочетании друг с другом, поскольку они управляют очень разными эффектами. Канал Shininess Strength управляет яркостью блика, затемнением блика от полного до нуля, и не влияет на размер блика. Напротив, канал Shininess увеличивает размер блика и не оказывает непосредственное влияние на яркость блика. Если выполнить анимацию силы совпадающих каналов Shininess и Shininess Strength и соответствующие параметры имеют значение 100, блик окажется самым ярким в начале, но самым крупным в конце анимации.

ПРИМЕЧАНИЕ

Каналы сияния оказывают гораздо большее влияние на металлические затененные материалы, потому что цвет материала вычисляется, исходя из свойств сияния. Из-за этого эффекта металлические материалы демонстрируют эффекты карты сияния по всей своей поверхности, а не только на бликах.

В случае, если какие-либо другие каналы проецирования не применяются, карта сияния создает текстуру бликов на поверхности и вы самостоятельно определяете узоры сияния для совершенно гладкого и последовательно окрашенного материала. Ситуации, в которых требуется прибегать к такому методу определения текстуры, включают разломанные, поцарапанные, запачканные и пыльные области на сияющем материале, либо обгорелые, отполированные, позолоченные и влажные области на матовых поверхностях.

ПРИМЕЧАНИЕ

Будьте внимательны при работе с картами Shininess Strength без мозаичности. В таких случаях какой-либо блик будет получать только область, определенная единственным деколем, а все остальное окажется матовым.

Каналы сияния наиболее часто используются в сочетании с другими типами каналов проецирования и добавляют к материалам реализм. Когда материал имитирует на своей поверхности различные эффекты, обычно необходимо варьировать блик в разных местах. В течение жизни поверхности ее возвышенные места являются объектом ежедневной подчистки. Грубость поверхности для различных материалов порождает разнообразные эффекты. Со временем более высокие области отполированных поверхностей становятся тусклее, тогда как грубые поверхности выглядят более гладкими и отполированными. Заклепки на грубом металле, приподнятые области старого дерева и выступающие точки скульптуры становятся ярче, тогда как протектор на шине, ручка ракетки и грани на стекле становятся тусклее.

В сочетании с картами выдавливания, каналы сияния могут сделать выступающие области более или менее отполированными, а утопленные области более матовыми (см. рис. 21.36). Качество сияния материала чаще всего соотносится с его впадинами и проекциями. Желобки между металлическими панелями, швы между обожженными кирпичами и трещины в кувшине являются матовыми по сравнению с остальной частью материала. Мерцание в таких областях испортило бы иллюзию, а повторное применение утолщений для управления бликом предотвращает мерцание. Это распространенная потребность и копирование канала Bump как канала Shininess Strength (чаще всего в виде экземпляра) следует рассматривать в качестве стандартной процедуры.

Когда для представления сквозных отверстий используется непрозрачность, канал Opacity (обычно в виде экземпляра) должен копироваться в канал Shininess Strength с целью предотвращения бликов в местах предполагаемых пустот (см. рис. 21.37). В противном случае области с нулевой прозрачностью обрабатываются так, как если бы они были чистым стеклом, и блики повисают в "воздухе", разрушая эффект.

Объединяясь с картами Diffuse, карты сияния делают разные области "нарисованных" поверхностей более или менее сияющими и могут дифференцировать области, которые на самом деле являются гладкими на ощупь. Глянцевый рисунок на стене, медные разделители в деревянном паркете, золотая листва в дсколс логотипа, обожженные заклепки на металле, стекло в раме - сияют сильнее остального материала и извлекут пользу от применения карты Shininess Strength. Карты Shininess могут заставить отражающий материал выглядеть особенно реальным в сочетании с картой отражения. Варьирование значений сияния заставляет отражение "танцевать" по поверхности вращающегося объекта. Когда карты сияния представляют не совсем гладкие материалы, подобные металлическим пластинам, их можно использовать для отражения нерегулярности и придания игры неуловимому слабому отражению.

Карты Self-Illumination

Канал Self-Illumination предоставляет возможность изолировать имитацию эмиссии света тем же способом, каким это делает параметр Self-Illumination. Канал считывает интенсивность и преобразует ее в эквивалент базового параметра Self-Illumination с черным эквивалентом для 0 и белым эквивалентом для 100 и оттенками серого, имеющими пропорциональный эффект (см. рис. 21.38). В случае активности данного канала соответствующий базовый параметр игнорируется. При уменьшении показаний ползунка Amount результат Self-Illumination уменьшается, но не смешивается с базовым параметром Self-Illumination.

Помните о том, что самосвечение имитируется в 3DS МАХ удалением фонового затенения. Таким образом, наиболее сильные (белые) области канала Self-Illumination показывают рассеянный компонент материала безо всякой тени. Для того, чтобы интенсифицировать разрыв между полем и самосветящейся частью часто используется карта, совпадающая с каналом Self-Illumination, но содержащая контрастный цвет.

В случае применения без мозаичности каналы Self-Illuminated обеспечивают превосходный способ имитации надписей, светящихся в темноте рисунков и выгравированных узоров на ярких лампах. Как оказалось, карты Self-Illuminated весьма полезны в организации специализированных эффектов светящихся надписей. Вообще надписи рисуются на стекле или выдавливаются в пластике. Затемненность рисунка или толщина пластика оказывает влияние на количество излучаемого света. Данный эффект, можно усилить используя карту текстуры или выдавливания как карту самосвсчсния и соответствующим образом настроив ее влияние. Неон можно аппроксимировать подходящими каналами Bump и Shininess Strength и точно размещенными источниками рассеянного света (если не присматриваться очень пристально).

Карты непрозрачности

Канал проецирования Opacity предназначен для определения узоров на поверхности, видимых сквозь отверстия, узорчатое стекло или полупрозрачные панели, как показано на рисунке 21.39. Канал Opacity заменяет базовый параметр Opacity и использует интенсивность канала для определения непрозрачности. Чисто белый полностью непрозрачен, а абсолютно черный - прозрачен. Оттенки серого обозначают пропорциональные уровни непрозрачности. Когда карта Opacity активна, параметры Opacity Falloff и Type по-прежнему находятся в свитке Extended Parameters.

Важно понимать, что когда карта Opacity активизирована, считается, что материал имеет 0% непрозрачности везде, кроме областей, закрашенных в битовой карте Opacity цветом, отличным от черного. Данная идея в точности совпадает с концепцией альфа-канала. Сопутствующий ползунок Amount существенно "затемняет" результат, добавляя процент "черного". Белая карта со значением Amount 50% представляет собой то же, что и полусерая карта с Amount 100%. Хотя ползунок может сделать карту более прозрачной, он не обеспечивает увеличение непрозрачности. Если требуются более непрозрачные области, единственный выход состоит в настройке значений цвета, которые порождают результат в канале Opacity.

ПРЕДУПРЕЖДЕНИЕ

Для увеличения интенсивности карты Opacity не следует использовать параметр Bitmap Output или RGB Tint, поскольку это может неблагоприятно повлиять на результирующий компонент Diffuse. Таким способом вы только уменьшите интенсивность. При необходимости увеличения интенсивности и следовательно непрозрачности воспользуйтесь типом карты Mix или настройте битовую карту посредством программы рисования.

Карты Opacity только делают поверхность прозрачной - они не устраняют поверхность, т.е. прозрачная поверхность в большей степени похожа на чистое стекло или пластик, нежели на отверстие. Как и реальное стекло, прозрачные области будут отбрасывать блики, если имеется Shininess Strength. Для реалистичного моделирования пустот в материале с сиянием следует скопировать карту Opacity (обычно как экземпляр), чтобы она служила также и картой Shininess Strength.

Тени будут учитывать прозрачность, определенную картами Opacity только в случае, если они являются ray-trace-тенями. При использовании типа Filter Opacity по умолчанию цвет тени будет тонирован базовым цветом фильтра или картой Filter, если она определена. Источники света, использующие карты теней для своих теней, будут отбрасывать сплошные тени, независимо от способа определения непрозрачности.

Карты Filter Color

Карты Filter Color обычно работают рука об руку с Opacity. Когда типом Opacity является Filter, карта Filter будет тоьгировать своей картой прозрачные области поверхности (обратите внимание на то, что другие программы могут называть подобное тонирование трансмиссивным (передаваемым) цветом). В случае применения ray-trace-теней тонированные области будут также переданы в результирующую тень (см. рис. 21.40).

На практике карты Filter Color практически всегда представляют собой цветные копии совпадающих карт Opacity. Такого рода совпадение требуется для отрисовки правильного цвета в отбрасываемой тени. Для того, чтобы карта Filter была эффективна, требуется некоторая непрозрачность. Полностью прозрачные поверхности не могут отображать или передавать какой-либо цвет. Если тип Opacity установлен в Subtractive или Additive, карта Filter игнорируется.

Карты Reflection

Хотя все в материале является иллюзией в поиске имитации, самой большой иллюзией кажутся отражения. В то время, когда ray-trace - визуализатор будет очерчивать отражения на сцене точно (и очень долго), окончательный визуализатор 3DS МАХ является сканирующим и предлагает многочисленные альтернативы для быстрого порождения убедительных результатов. Если объекты находятся в движении, то сказать, точны тени или нет, предельно трудно. Обратите внимание на то, что описываемые здесь технические приемы те же, в соответствии с которыми Rcnderman генерирует отражения, и они предельно убедительны в фильме Игрушечная история (Toy Story) от Pixar.

Отражения фундаментально отличаются от любого другого типа карт, поскольку являются (или претендуют быть) результатом окружающего мира. По этой причине они не используют и не требуют координат отображения. В то время, как другие карты фиксированы на поверхности, отражения зависят от положения точки зрения на объект. Если вращать отражающий объект вокруг его центра, отражение остается постоянным. Прекрасным примером являются лопасти хромированного пропеллера - пропеллер вращается, а отражение остается совершенно неподвижным.

Отражения можно использовать как сами по себе, например зеркала, либо как слабый мазок, делающий отражающий объект более реалистичным. Отражения либо применяются со связанным образом (битовой картой), либо генерируются непосредственно через типы карт Reflect/Refract или Flat Mirror. В первом случае отражения бывают предельно реалистичными и точными. Во втором случае отражение обычно должно быть иллюзией, усиливающей концепцию, что поверхность сияет и отражает.

Когда вы перемещаетесь вокруг объекта или стоите неподвижно, а объект вращается, текстуры зафиксированы, тогда как отражения перемещаются по стационарному объекту. Эффект отражения зависит от угла зрения и корректно вычисляется только при просмотре в видовых окнах камеры. Помните об этом, выполняя предварительные быстрые просмотры сцены для оценки материалов.

Независимо от источника отраженного образа визуализированным видом отражения управляет несколько правил. На цвет отражения в основном оказывает влияние компонент материала Diffuse и до некоторой степени компонент Ambient. На компонент Specular отражение не влияет (помните о том, что на компонент Specular влияет только карта Specular). Благодаря этому отражения не видны на бликах. Когда необходимо максимизировать отражение и сделать его зеркальным, выполните следующие шаги (или сделайте все наоборот для уменьшения отражения):

  • Для минимизации влияния компонента Specular сделайте кривую блика как можно тоньше (увеличив свойство Shininess).
  • Нетонированные отражения требуют серых компонентов Ambient и Diffuse. Если сделать отражение черным, это позволит просматривать отражения с полным эффектом.
  • Ползунок Amount карты Reflection диктует процент смеси отражения с Diffuse. Установив ползунок в 100%, вы полностью замените Diffuse.

При использовании для отражения битовой карты до некоторой степени принято искажать или замутнять образ. Часто данный шаг выполняется ввиду того, что "отраженный" образ не имеет ничего общего с действительной средой и требуется только придать ему вид отражения. В других случаях отраженный образ может оказаться недостаточно велик, а геометрия недостаточно искривленной и в этой связи неубедительной. Многие материалы не зеркалоподобны, а только блестят и поэтому четкое отражение неприемлемо.

ПРИМЕЧАНИЕ

Когда для представления отражения используются карты, результат иногда будет казаться "самосветящимся". Подобное происходит потому, что карта отражения заменяет рассеяный и фоновый компоненты и тем самым минимально реагирует на тень - это означает, что отражение видно независимо от источника света.

Дело в том, что карта Reflection представляет отражение и, следовательно, на сцене должно быть нечто, которое освещается и отражается на поверхности. Из-за того, что именно вы решаете, что "видит" поверхность, вы и несете ответственность за настройку эффекта отражения. Эффект можно разрушить, если яркость отражения существенно отличается от уровня освещенности сцены. Когда отражение слишком ярко, доступны следующие варианты:

  • Уменьшить значение ползунка Amount карты Reflection
  • Увеличить интенсивность компонента Diffuse
  • Уменьшить параметр Output Amount карты Reflection
  • Настроить исходный образ, используемый для отражения
  • Переключиться на использование типов карт Reflect/Refract или Flat М1ггогдля создания карты Reflection

С целью предотвращения отражения на конкретных областях поверхности следует использовать тип карты Mask. После этого поверхность потребует координат отображения для расположения маски. Рисунок 21.41 показывает пример использования карты Reflection с маской. Применение масок очень важно в случаях, когда материал содержит сияющие или матовые области. Если определена карта Shininess или Shininess Strength, ее вероятно следует повторно использовать ее в качестве маски Reflection. Таким образом можно модулировать и степень отражения, возникающую на поверхности.

Маски Reflection являются хорошими инструментами также для блокирования областей плоского зеркала. Маски отражения предоставляют возможность создания узора на поверхности зеркала и обхода ряда ограничений, не позволяющих распространить гладкое зеркало за пределы элемента. Примерами являются обрамленные картины, мозаика и гравированное зеркальное стекло. Естественно, повторное применение зеркальной маски в качестве маски выдавливания, текстуры и сияния.

Карты Refraction (преломления)

Если посмотреть сквозь толстую вазу, увеличительное стекло или даже стакан воды, то сцена за материалом будет выглядеть изогнутой, искаженной или искривленной. Подобный эффект происходит из-за преломления света или рефракции. В компьютерной графике такое искажение называется рефракцией и моделируется посредством карты Refraction. Карта Refraction на самом деле является вариантом карты непрозрачности. С ее помощью имитируется преломление света сквозь прозрачный, но толстый материал, как показано на рисунке 21.42.

При задании карты Refraction полностью изменяется метод, в соответствие с которым определяется непрозрачность. В результате параметр Opacity, Opacity Falloff и карта Opacity (если определена) всегда игнорируются в случае активной карты Refraction. Как и карты Opacity, карта Refraction со значением Amount, равным 100% полностью прозрачна. Таким образом при работе карты Refraction в полную силу карты Diffuse, Ambient и Opacity игнорируются. Единственным учитываемым параметром непрозрачности остается параметр Opacity Type, действующий так же, как и при стандартной непрозрачности.

Новый параметр, который неожиданно начинает применяться ~ это Refract Map/RayTrace IOR (или для краткости просто IOR). Данный параметр указывает на Index Of Refraction для материала. Жест в сторону ray-tracing в наименовании означает, если подключаемый визуализатор должен выбирать применение параметра для своих собственных аналитических целей. Значение IOR не имеет эффекта при 1.0, когда он является эквивалентом воздуха. По умолчанию значение IOR равно 1.5 (эквивалент стекла). Чем выше значение, тем больше объект похож на сплошную стеклянную сферу (и при 2.0 очень мало, что напоминает реальный материал). Значения ниже 1.0 приводят к искажению, которое формируется вогнутой, a ire выпуклой линзой.

Трудным для понимания здесь может оказаться то, что в случае задания карты Refraction нет возможности видеть сквозь объект, поскольку имитация рефракции делает предположение о том, что вес видится неправильным. Данная трудность проявляется, даже если понизить Refraction Amount до одного и установить Opacity в нуль. (Ползунок Refraction Amount управляет всего лишь смешиванием компонентов рефракции и Diffuse.)

Хотя для карты Refraction можно определить любой тип карты, она все-таки предназначена для использования с типом карты Refract/Reflect. Если вы предпочитаете применение битовой карты, все будет прекрасно при использовании цилиндрической проекции и последующем применении мозаичности и параметров смещения для выравнивания карты в реалистичном положении.

Автоматически вычисляемые отражения

Карта Reflection высчитывается с применением типов либо Refract/Reflect, либо Flat Mirror. Выбор полностью зависит от геометрии отражающей поверхности. Если поверхность изогнута, как у сферы, корректно выбрать Refract/Reflect. Если поверхность копланарная, подобно настенному зеркалу, следует использовать тип карты Flat Mirror. Если объект содержит и то, и другое, как, например, хромированный текст, тогда для убедительного отражения необходимо использовать оба типа карт.

ПРИМЕЧАНИЕ

Поскольку автоматические карты отражения не создаются до времени визуализации, их эффекты невидны в Material Editor - вы должны визуализировать сцену.

. Рисунок 21.43 показывает элементы управления для двух автоматических типов карт Reflection. Параметры Blur предоставляют возможность размывать или размазывать результирующее отражение (Reflect/Refract также обеспечивает Blur Offset, поскольку для этого типа карт часто требуется большее размытие). Данный эффект важен для отражающих поверхностей, неотполированных до идеального зеркального состояния (например, нержавеющая сталь). Параметры Render для рамок предоставляют возможность управления тем, пасколь часто карты Reflection создаются во время анимации. Если ваша точка зрения на изменяется и отражающие объекты не перемещаются, нет необходимости в частой визуализации отражения. Опция Use Environment Map управляет тем, будет ли включаться фоновая карта в визуализацию карты Reflection. При использовании базовой проекции Screen фон может отражаться нежелательным способом (особенно во время анимации) и его следует отключить.

Хотя автоматические отражения рисуют большую часть сцены, создающий отражение объект который отражения создает, не может себя видеть, поскольку габаритная коробка объекта определяет кадрирующую плоскость зеркала и размеры объекта, очевидно, находятся внутри ее. Подобное происходит даже если другие элементы внутри объекта состоят из других материалов и приводит к нереалистичной ситуации, когда объект состоит из отдельных элементов, которые нормально могли бы видеть один другого (классическим примером является строка текста). Единственный способ обхода данной ситуации заключается в отсоединении определенных элементов в отдельные объекты так, чтобы они больше не кадрировались (см. рис. 21.44).

Автоматические отражения генерируются только для граней с положительными нормалями (так происходит даже для материалов 2-Sided или когда Renderer установлен в Force 2-Sided). Данная ситуация обычно проблем не представляет, но иногда при анимации отражений игральных карт и подобных вещей может приводит к сложностям.

Для визуализации обеих сторон одной и той же поверхности необходимо использовать двусторонний материал с автоматизацией отражения на обеих сторонах. Часто забываемый факт относительно автоматических отражений заключается в том, что для убедительности должно быть что-то, что отражать. Хотя это положение кажется очевидным, многие модельеры забывают о факте, что их одинокому объекту нечего отражать, и поначалу недоумевают, почему поверхность "черна" вместо того, чтобы быть отражающей. Кроме того, отражения основывают свой эффект в основном на угле зрения и правильно рассчитываются только при просмотре в персективпых видовых окнах - это важно помнить при выполнении предварительного просмотра сцены для настройки материалов.

Карты Refract/Reflect

Тип карты Refract/Reflect генерирует во время визуализации шесть карт, которые включают объект и проектируются обратно на поверхность в соответствии со способом, чем-то напоминающим прямоугольное отображение. Канцсптуально визуализатор стоит на точке вращения объекта, выполняет мгновенный снимок сцены в каждом важнейшем направлении и собирает шесть образов в куб отражения. Размеры образов затем проецируются обратно на объект. В терминах компьютерной графики происходящее называется либо картой кубической среды (cubic environment map) или Т-картой (T-map (поскольку шесть образов, развернутых из коробки, формируют "Т").

СОВЕТ

Расположением кубического отражения можно управлять путем настройки положения точки вращения объекта.

Карты кубического отражения проецируются обратно на отражающую поверхность. При этом каждая плоскость поверхности принимает указанную часть. Подобное распределение объясняет, почему кривые поверхности работают лучше поверхностей широких гладких сторон прямоугольных объектов, у которых возникают проблемы с охватом достаточного пространства сцены для считывания отражения (см. рис. 21.45). Отраженная сцена кажется куда более правдоподобной на изогнутой поверхности, где каждая грань ловит свою собственную часть сцены и сцена изгибается вокруг поверхности. Куб, стоящий на тскстурированном полу, отражает только размытую порцию, так как его лицо "видит" только небольшую часть отражения образа куба.

Refract/Reflect отличается от Flat Mirror тем, что имеет параметр Size, управляющий размером вычисляемых битовых образов. Вам предоставляется контроль за данным параметром ввиду того, что он становится дорогостоящим с картами Size x Size x 4 байта х 6 карт или Size2 x 24 байта. Если визуализированное отражение слишком размыто, грубо или зернисто, необходимо увеличить значение параметра Size. Такая цена накладывается на каждый объект, использующий материал, поскольку для каждого нового положения следует определить новую установку. Правило здесь заключается в том, что для объекта, охватывающего половину визуализируемой сцепы, размер карты должен быть равновелик визуализированному выводу. Назначая большие значения, используемые многими объектами, будьте внимательны, поскольку 500-строчная карта будет использовать 6Мб ira экземпляр. При наличии нескольких объектов, совместно применяющих один и тот же материал, но имеющих различную важность для сцены, вы сохраните большую часть оперативной памяти, создав дублирующие материалы и изменяя значения их параметра Size соответственно их важности.

Карты Flat Mirror

Тип карты Flat Mirror также генерирует отражение во время визуализации, но применение и результаты очень отличаются от тех, что дает Refract/Reflect. Гладкое зеркало - это единичный образ сцены, который проецируется обратно на поверхность так, будто поверхность его видит. Такой эффект наиболее часто приходит в голову, когда люди просят дать определение отражению. Главным словом в названии типа карты является flat (плоский), поскольку данный тип отображения правильно работает только с копланарными поверхностями.

Когда визуализатор анализирует объект, использующий карту Flat Mirror, он ищет первую грань в определении объекта, которая имеет идентификатор материала (ID#) для данного материала. Первая грань "побеждает" и определяет плоскость для результирующего отражения. Так как вы редко знаете, какая грань будет первой, хорошая практика заключается в назначении Flat Mirror выборке грани на подобъектном уровне или совершенно копланарным поверхностям. Назначение на уровне Sub-Object не требуется ~ вы просто убеждаетесь, что определяете зеркальную плоскость. При определении более одной плоскости отражение будет выглядеть как точечная проекция, поскольку нет поворота на ребрах (см. рис. 21.46).

СОВЕТ

Объект Box идеально подходит для Flat Mirror. Верхняя грань Box содержит первую грань и получает Material 1D#1. Ей можно гарантировано присвоить Standard Material, используя карту Flat Mirror Reflection, и всегда знать, что верх будет отражаться корректно. Лучше всего это работает для Box нулевой высоты, поскольку в противном случае боковые стороны не смогут корректно отражаться.

В отличие от карт Reflect/Refract, Flat Mirror всегда рассчитывается с правильным разрешением и не имеет параметра размера карты. Гладкие отражения, которые в визуализации не видны, не рассчитываются. Такое свойство не причиняет никаких дополнительных проблем, поскольку Flat Mirror нельзя увидеть на отражении ни при каких условиях. Оперативная память, требующаяся для Flat Mirror, варьируется в зависимости от размера Flat Mirror на сцене, поскольку визуализирустся только тот срез сцены, который поверхность может реально видеть.

Множественные зеркала

Многие поверхности содержат несколько зеркальных состояний. Текст, показанный на рисунке 21.47, демонстрирует типичный пример. Передние грани копланарны и им назначен Flat Mirror, тогда как фаски и стороны совместно используют карту Refract/Reflect. Создание такого разделения не представляет трудности, но требует определенного планирования. Когда один и тот же автоматически отображаемый материал применяется к различным объектам, генерируются отдельные карты отражений. Для создания в одном объекте множества отражений каждый экземпляр должен иметь разный автоматически отражаемый материал. Так, для нескольких отражений в одном и том же объекте следует применять материал Multi/Sub-Object с различными определениями материала для разных областей.

ПРИМЕЧАНИЕ

Зеркально отраженный текст является хорошим примером того, когда передние грани должны отсоединяться как объект с картой Flat Mirror, а оставшемуся объекту назначается автоматическое отражение.

Корректно спозиционированные поверхности видят отражения друг друга и могут ими играть (бесконечное число раз, если поверхности перпендикулярны друг другу). Ввиду того, что каждая итерация требует очередного прохода визуализации, время визуализации может оказаться достаточно большим. В связи с этим предоставляется управление количеством обсчитываемых отражений. Для карт Reflect/Refract число отражений управляется параметром Rendering Iteration (под Auto Reflect/Refract Maps) в диалоге Render Scene. На практике редко потребуется увеличение количества отражений более трех, если конечно центром композиции не является отражение.

ПРИМЕЧАНИЕ

Видеть отражение друг друга могут только карты Refract/Reflect. Отражения Flat Mirror нельзя видеть в другом отражающем типе (хотя Reflect/Refract может видеть Flat Mirrors). Во время визуализации все материалы Reflect/Refract визуализируются первыми, а за ними следует визуализация материалов Flat Mirror.

Отмеченная проблема решается за счет применения карты кубической среды, которая использует назначенные образы, а нс генерирует собственные. К сожалению, данная возможность в настоящий момент в 3DS МАХ R1.1 отсутствует, но может поддерживаться через новый тип материала (как всегда, проверьте форум Kinetix в CompuServe и http://www.ktx.com по поводу любых новостей о такого рода дополнении).

Использование типов карт

После щелчка на кнопке канала проецирования вы автоматически переходите в Material/Map Browser, показанный на рисунке 21.48. Опции Browse From предоставляют возможность выбора из предварительно определенных карт в текущей загруженной библиотеке материалов. Выбирается то, что затем видно в шести ячейках образцов Material Editor и что назначено текущим выбранным объектам из имеющихся на сцене или определено "с нуля" путем выбора общих типов.

Процесс создания карты начинается с наслаивания карт в дереве материалов. Рисунок 21.49 иллюстрирует процесс за счет наслаивания нескольких различных типов карт в одном материале Standard. Здесь четыре карты используют тип карты Composite для объединения двух битовых карт, в то время как карта Reflection использует тип карты Mask для совершен ствовапия иллюзии. Материал Starry Nebula в библиотеке 3dsmax.mat является примером наслаивания нескольких карт Noise для создания сцены звездного пространства.

Типы карт для образов

Наиболее широко применяются карты, определяющие образ. Это могут быть процедурные, определенные и вычисленные самостоятельно по типу или ссылки на физически существующие карты, подобные битовым. Часто карты образов предоставляют возможность определить другие карты для создания комбинаций и перекрытий узоров. Вне зависимости от предоставляемых опций, каждая определяет битовую карту, которая прошла канал проецирования, чтобы интерпретироваться родительским материалом. Карты образов организованы в категории 2D и 3D, поскольку некоторые работают в качестве битовых карт в 2D, UV-отображаемом пространстве, а другие работают как сплошные поверхности в 3D, UVM-отображснии или мировом пространстве XYZ.

Типы 2D-карт

Категория 2D Map представляет собой как раз то, о чем большинство говорит как о "картах". Даже само слово "карта" намекает, что это нечто гладкое. Оно также подразумевает, что относится к чему-то очень специфичным образом. Именно здесь вступают в игру координаты UV. Изо всех 20-карт тип Bitmap наиболее прост, потому что является представлением физической битовой карты, которая может поступить с диска, программы рисования или даже визуализации в 3DS МАХ. Если кто-то обобщенно говорит "карта", вероятнее всего он подразумевает тип Bitmap.

Типы карт Reflect/Refract и Flat Mirror генерируют карты отражений автоматически во время визуализации, основываясь на положении объекта и угле зрения на объект. Данные типы карт сконструированы специально для использования в качестве карт Reflection или Refraction (и освещаются в данной главе вместе с описаниями каналов проецирования). Хотя ничто не препятствует использованию данных карты с любым каналом проецирования, но результат оказывается трудно предсказуемым. Экспериментируйте и, может быть, найдете ситуации, когда автоматическая карта отражения обеспечит прекрасный специальный эффект. Все 2D-KapTbi (за исключением автоматических карт отражения) используют одни и те же свитки Coordinate и Noise, управляющие смещением, мозаичностыо, повторением, углом, размыванием и искажением карты (см. рис. 21.50). Свитки Output и Time также распространены для нескольких типов карт. Наиболее часто настраиваемые параметры находятся в свитке Coordinates, поскольку управляют размером, положением и поворотом карты. Данный свиток также содержит все "затемнение" карты с параметрами Blur и Blur Offset.

Общие параметры оказывают влияние на всю карту, тогда как уникальные параметры влияют на внутренние характеристики карты. Например, тип карты Gradient имеет свои собственные параметры шума в добавок к общему свитку Noise. Уникальные параметры создают шум внутри самого градиента, а общие параметры влияют на градиент, как если бы это была одна карта.

Сглаживание ZD-карт посредством Blur

По своей природе битовые карты несовершенны. Независимо от того, насколь ровно затенена или как сложна цветовая глубина, битовые карты являются просто организацией цветных квадратиков, которые мы называем пикселами. Эти квадратные пикселы прекрасны, когда просматриваются непосредственно в двухмерном пространстве, но начинают подводить при помещении в перспективу в трехмерном пространстве. Контраст пикселов увеличивается и появляется видимая ступенчатость, поблескивание, рваные края. Вот когда в игру вступают карты Filter и размывание. Карты Filter делают для 20-карт то, что сглаживание обеспечивает для геометрии с параметрами размывания, управляющими эффектом. Рисунок 21.51 демонстрирует эффект отсутствия фильтрации, а рисунок 21.52 показывает ту же самую сцену при включенной фильтрации. Хотя фильтрация требует несколько большей памяти, но явно видно, почему она является параметром но умолчанию.

Приведенные рисунки подчеркивают, что главный эффект размывания заключается в устранении поблес-кивания - тех самых предельно раздражающих линий "танцующих" пикселов и муаровых узоров. Поблески-ванис особенно заметно при переходе тонких линий в перспективу (на расстоянии) или при сближении (на сторонах кубов). Исследуйте левый куб на обоих рисунках и станет заметно, что без размывания диагональные линии кажутся зазубренными. Кроме того обратите внимание па то, что внешний вид текстуры мрамора практически идентичен на обеих рисунках. На самом деле небольшая разница имеется, поскольку фильтрованный мрамор несколько "мягче" по виду. Из всех типов карт размывание оказывает наиболее сильное влияние на карты выдавливания. Выдавливания вообще нс визуализируются корректно, если не включены карты Filter.

Карта Filter - это термин компьютерной графики, используемый по отношению к различным технологиям. 3DS МАХ обеспечивает для битовых карт два типа фильтрования: Piramidat (известный также под названием mip-проецирование) и Summed Агеа(известный под названием суммированная таблица области). Для большинства 20-карт по умолчанию применяется метод Pyramidal. Тип карты Bitmap предоставляет возможность выбора типа фильтрования для использования и для отключения.

ПРИМЕЧАНИЕ

Размывание не может работать, если не разрешена карта Filter. При отключении фильтрования либо за счет выбора None для фильтрования битовой карты, либо путем отключения параметра Fitter визуализатора, установка размывания для битовой карты или для всей сцены игнорируется.

Различие между двумя опциями фильтрования заключается в сглаженном качестве и запросах к оперативной памяти. Пирамидальное фильтрование нуждается в одном дополнительном байте на пиксел, но такая цена является минимальной по сравнению с достигаемой эффективностью. Фильтрование Summed Area использует превосходную, но более дорогую технологию и требует 12 дополнительных байт на пиксел. Из-за таких затрат метод можно запомнить под названием "Summed Area" и применять его только тогда, когда того требует битовая карта. Для некоторых битовых карт переключение на фильтрование Summed Area критично, в то время как с другими картами Summed Area едва заметно. Фильтрование Summed Area оказывает наибольшее влияние на материалы с тесно расположенными линиями, которые уменьшаются в перспективе, или для тех, которые используют большое значение размывания для получения эффекта "пушистости". Рисунок 21.53 иллюстрирует разницу между двумя типами фильтрования.

Как видно из рисунка, пирамидальное фильтрование усредняет меньшую часть образа и создает муаровые узоры в глубине рисунка. Summed Area обеспечивает большее усреднение и избегает муара. Вблизи пирамидальное фильтрование выглядит более мягким, тогда как Summed Area сохраняет резкость. Если позволительна дополнительная оперативная память, то Summed Area обеспечит лучший результат для ваших битовых карт.

Таким образом, параметр Blur можно представлять как установку силы для карт фильтрования. Blur обеспечивает основной эффект при установке тто умолчанию 1.0 и минимальный эффект при нижнем ограничении 0.1. Более высокие установки Blur предсказуемо увеличат размытость, что может оказаться весьма желательно для подчиненных карт отражения. Параметр Blur Offset фундаментально отличается от Blur фильтрованием 2D-KapTbi перед тем, как она применяется в перспективе. Термин "offset" (смещение) - это точно то же, что и параметр Offset - он смещает битовую карту на указанную величину, где 1.0 является полным смещением битовой карты. Таким образом ясно, почему достаточно маленькие значения Blur Offset как 0.01 оказывают значительный эффект - 0.01 означает, что исходная битовая карта сместилась на 1%. В большинстве случаев Blur Offset применяется для настройки мягкости или пушистости 2D^KapTbi и Blur используется для управления сглаживанием в перспективе.

Как показано на рисунке 21.54, общий свиток Noise посылает через 20-карту "волну" искажения и позволяет включить параметры, отметив опцию On. Параметр Amount управляет высотой волны, Level - количеством итераций, Size - дистанцией повторения фазы и Phase - позицией повторения. Параметр Phase не учитывается, если не включена опция Animate. Другие параметры оживляются кнопкой Animate и не требуют включения данной опции.

Уникальные элементы управления 2D Map

После того, как вы поняли, что данные элементы управления являются общими, то уникальные для каждого конкретного вида карт элементы уже не будут вас пугать (см. на рис. 21.55). Применение уникальных элементов управления подробно описывается в стандартной документации 3DS МАХ, дли случая фильтров Photoshop - в файле помощи и сопровождающем совместимом подключаемом приложении Photoshop. Тогда как типы карт Bitmap и Photoshop не допускают расширения, типы карт Checker и Gradient обеспечивают цветовые отметки Color, которые можно заменить на каналы проецирования и таким образом еще глубже продлить дерево материалов.

ПРИМЕЧАНИЕ

Тип карты Photoshop Plug-In Filter может загружать только Photoshop-совместимые 32-разрядные подключаемые приложения. Данные подключаемые приложения создаются рядом независимых разработчиков, например Metatools. Фильтры, распространяемые с Photoshop, защищены от работы с чем угодно, кроме родительской программы.

Типы 3D-карт

Тип 3D представляет собой как раз то, о чем думает большинство в мире компьютерной графики при разговоре об использовании процедурных материалов (или затенителей). Поскольку данные карты применяются в трех измерениях, то, как показано на рисунке 21.56, они проходят сквозь объект и обычно не превращаются в прослойки, как это случается с 20-картой, когда проекция становится коллинеарной. Из четырех поставляемых типов карт - Marble, Wood, Dents и Noise ~ Noise применяется гораздо чаще других, поскольку обеспечивает три вариации, которые можно использовать для модулирования множества других типов карт и придания поверхности реалистичного искажения, зернистости и черноты.

Четыре ЗО-карты совместно используют общий набор параметров для размещения на поверхности своих эффектов (см. рис. 21.57). Если выбран XYZ, мозаика выполняется в соответствии с размером объекта из реального мира. Координаты проецирования при этом не требуются. Расположение карты связывается с матрицей создания объекта, которую изменить не так просто. Параметры Offset, Tiling и Angle обеспечивают возможность управления картой. Их можно считать аналогами трансформаций позиции, масштаба и вращения. Такая форма XYZ масштабирования реального мира является в компьютерной графике традиционным методом и хорошо работает до тех пор, пока выполняется анимация объектов посредством трансформаций. Однако, если осуществляется анимация Modifier Stack, координаты проецирования по-прежнему применяются в соответствии с исходной проекцией и объект будет перемещаться в рамках координат проецирования. Поскольку подобного рода эффект не всегда желателен, обеспечивается опция координат UVW, так что вы можете использовать назначенные координаты проецирования UVW, которые транслируются вместе с вершинами при деформации поверхности-

На практике координаты XYZ лучше всего подходят для статических моделей. Данное утверждение особенно справедливо, когда один и тот же материал применяется для различных объектов, поскольку это гарантирует идентичные результаты. Результат данных идентичных координат приводит к тому, что кажется, будто объекты отштампованы или вырезаны из одного сплошного блока материала. Когда такой эффект нежелателен и необходимо, чтобы отображение следовало за линиями объекта (или же выполняется анимация Modifier Stack), правильным выбором являются координаты UVW. При использовании координат UVW скорее всего потребуется значительное увеличение Tiling, так как единичное повторение ЗО-карт обычно оказывается слишком маленьким. Проще всего выполнить данную процедуру с помощью параметра Tiling ЗО-карты, а не за счет модификатора мозаичности UVW Mapping, поскольку модификатор должен быть очень большим и его будет трудно связать с другими, не 3D, типами карт. Как показано на рисунке 21.58, помимо общего свитка Coordinate, каждый тип 30-карт имеет собственные характеристики. Каждый набор элементов управления характеристиками содержит по две цветовых отметки для управления контрастом и цветом конкретного эффекта. Каждый из цветов можно заменить другим типом карты в сопровождающем канале проецирования (и тем самым продлить дерево материала). Параметры для различных типов управляют индивидуальными эффектами.

Типы карт для композиции

Категория Compositors максимизирует выбор и предоставляет возможность комбинирования библиотеки битовых карт материалов бесконечным числом способов. При объединении эффектов из двух или более источников выполняется композиция. На практике применение данных типов карт критично для сложных реалистичных материалов.

Типы карт Mask, Composite и Mix

Для ветеранов 3D Studio типы карт Mask и Composite покажутся очень знакомыми, а карта Mix является простой, но полезной опцией. Как показывает рисунок 21.59, каждый тип карты содержит два или более канала для выбора других типов карт. Наиболее часто дополнительными вариантами являются битовые карты.

Тип карты Mask содержит канал Map для поставки исходного образа и канал Mask для подавления исходной карты.

Маску можно представлять как трафарет, аэрозольный распылитель краски, кухонный профильный нож или узорчатое стекло, сквозь которое виден исходный образ. Белые области карты маски позволяют видеть исходный образ, черные области блокируют источник, а серые области обеспечивают пропорциональную видимость.

ПРИМЕЧАНИЕ

Восемь файлов масок из 3DS для DOS были прототипами этого типа карты. В случае импортирования файла 3DS, который использует ячейку маски, он транслируется в тип карты Mask.

Тип карты Composite объединяет произвольное количество карт и установок по умолчанию уменьшая их количество до полностью управляемых двух. Карты перекрываются в соответствии со своими номерами, где Map 1 является основной картой и применяется первой. Map 2 применяется во вторую, очередь поверх Map I; Map 3 применяется третьей поверх Map 2 и т. д. Для того, чтобы увидеть основную карту, Map 2 должна обладать хоть какой-то прозрачностью. Это делается посредством альфа-канала или за счет использования карты Mask. По мере наслаивания все большего количества карт, верхние карты должны быть все более прозрачными, если вы хотите увидеть нижние. Данная ситуация похожа на то, как Video Post объединяет последовательные образы с многочисленными событиями Alpha Compositor.

ПРИМЕЧАНИЕ

Типы карт Texture 1 и Texture 2 из 3D Studio для DOS являются эквивалентом карты Compositor, состоящей из двух карт. При импортировании файла 3DS с материалами, использующими две текстуры, они транслируются в тип карты Composite с Texture 1 и 2, превращающимися соответственно в Map 1 и 2.

Тип карты Mix смешивает два типа карт и предоставляет возможность управлять тем, как происходит смешивание. Параметр Mix Amount указывает процент Color 2, который добавляется к Color 1. Поскольку значение по умолчанию Mix Amount равно нулю, эффекта Color 2 не будет виден, если не увеличить Mix Amount. По умолчанию смешивание выполняется линейно. Если опцией Use Curve активизировать Mixing Curve, можно ввести интерполяцию так, как показано на сопутствующей Mixing Curve.

СОВЕТ

Карты Mix идеально подходят для увеличения яркости или тонирования других карт. Обычно вы получите гораздо лучший, предсказуемый результат, используя для настройки эффекта другой карты карту Mix, чем если использовать собственные элементы управления.

Можно также указать тип карты для Mix Amount. В таком случае процент Mix Amount игнорируется, хотя Mixing Curve работает, как и прежде. Для управления смешиванием используйте интенсивность карты. При этом черный цвет означает то же самое, что и Mix Amount равный нулю, а белый означает Mix Amount равный 100. Таким образом карта Mix Amount становится похожей на тип карты Mask. Здесь важно заметить, что Mixing Curve только модулирует Mix Amount. Если Mix Amount равен 0 или 100 (черный или белый), то при настройке переходной зоны вы не увидите никакого эффекта, поскольку ничего нс смешалось. Для использования процента Mix Amount после указания карты следует выбрать карту "None" для очистки канала и повторно активизировать параметр Mix Amount -

Типы карт для модификации цвета

Категория Color Modification предназначена для типов карт, которые настраивают качество образов других типов карт. Возможно все составляющие данной категории будут выполняться в программе рисования (яркость, контраст, гамма, цветовой баланс и т.д.). Хотя данная категория и многообещающа, но в настоящее время она содержит только тип карты RGB Tint. По сравнению с общими методами программ рисования RGB Tint достаточно неудобен и включен в основном для совместимости с импортированными файлами 3DS (которые содержат данную возможность в качестве параметра карты для карт Texture и Specular).

Анимация карт и их параметров

Как и большинство элементов в 3DS МАХ, свойства карт можно подвергать анимации. В качестве общего правила следует заметить, что если параметр использует для значения редактируемое поле, с ним можно выполнять анимацию. Для того, чтобы точно выяснить, какие параметры карт можно оживлять, изучите Track View карты. Каждый анимируемый параметр отображается с треком анимации, тогда как прочие опции появляются без треков.

Основной способ выполнения анимации битовой карты заключается в задании типа анимирусмой битовой карты. В 3DS МАХ R1.1 файлы FLC, FLI, CEL и AVI могут содержать анимации, которые будут "играть" материалом при визуализации сцены. При достижении конца анимация зацикливается. Несмотря на простоту выполнения, анимация плохо управляема, поскольку иногда трудно определить соответствие кадров анимации сцене.

С целью усовершенствования управления можно указать количество файлов, которые либо последовательно пронумерованы, либо перечислены в файле 1FL (image file list - список файлов образов). Для последовательностей задается префикс имени файла, общий для строки карт. Например, в качестве имени файла битовой карты можно указать "b!ow*.tga". После этого 3DS МАХ автоматически создаст файл 1FL с 690 ссылками на файлы. Данный файл 1FL, размещается в каталоге, который содержит последовательность файлов, и не включает какую-либо информацию о пути.

После усвоения идеи работы файла 1FL можно расширить концепцию и использовать большее количество его возможностей. Файл 1FL просто перечисляет файлы в порядке применения. Ссылки на битовые карты могут содержать явные имена пути к любому действительному каталогу. Размещение числа после имени образа повторяет использование образа для указанного числа кадров. Если битовая карта является анимированным файлом, будет использоваться только первый кадр. Для работы с дополнительными кадрами анимируемого файла потребуется разделить анимацию на отдельные образы и перечислить их файле 1FL. На практике большинство профессиональных аниматоров предпочитает использование 1FL другим методам анимации битовых карт из-за увеличенных возможностей управления.

Использование составных типов материалов

Хотя без сомнений материал Standard применяется наиболее часто, с 3DS МАХ поставляются и несколько других материалов, обеспечивающих уникальные возможности или способы манипулирования другими типами материалов.

Благодаря этому начальному ветвлению на другие материалы, исходные материалы иногда называют составными (compound) и часто начинают обрабатывать деревья материалов. Наиболее распространенная ситуация ~ когда смешанные материалы разветвляются на стандартные, хотя они могут ветвиться и на другие составные материалы. Таким образом, можно продолжать разветвление определения материалов точно так же, как это ваполнялось с картами. Standard распространен в качестве очередного шага ввиду того, что материалы Standard в основном предназначены для комбинирования эффектов других материалов и обладают очень немногими собственными свойствами визуализации.

ПРИМЕЧАНИЕ

Материалы, которые полагаются на комбинирование эффектов подматериапов (Top/Bottom, Blend и Double Sided), должны поддерживать глобальные характеристики. Если в любом подматериале выбраны опции Face Map или Wire другие будут наследовать данный выбор в результирующем составном материале.

Материал Top/Bottom

Тип материала Top/Bottom предоставляет возможность назначить разные материалы верхней и нижней части объекта. Какая часть объекта считается нижней, а какая верхней, зависит от его ориентации относительно мировой оси Z. Если поверхность расположена на положительной оси Z, то ей присваивается материал Тор, а если на отрицательной оси Z, то материал Bottom (см. рис. 21.60). Сказанное означает, что если объект с назначенным материалом Top/Bottom меняет свою ориентацию относительно мировой оси Z, то назначение материала сдвинется по поверхности. Помните об этой ситуации, когда применяете материалы Top/Bottom в анимации. Если объект вращается, то положение Тор и Bottom может передвигаться по поверхности объекта.

Определение перехода верх-низ в дальнейшем настраивается параметром материала Positiion. Параметр Position можно рассматривать в качестве веса, который тянет определение вниз, когда значение установлено низким, и вверх, когда значение установлено высоким. В реальности настраивается угол, под которым грань расценивается как смотрящая вверх или вниз. Из-за того, что назначение материала сделано двум сторонам, переход между верхним и нижним материалами может показаться грубым. Параметр Blend позволяет смягчить переход так, чтобы разрывы линий там, где поверхность меняет угол, не оказались раздражающе очевидными.

Пасть крокодила на рисунке 21.61 является примером хорошей работы материала Top/Bottom. В общем случае для такого сложного каркаса, как пасть крокодила, было бы трудно выделить отдельные области для различных Material ID. Более того, между разными материалами появились бы явные швы. С материалом Top/Bottom верхние грани получают материал внутренней плоти, а нижние грани получают чешуйчатый материал кожи. Переход между материалами настраивается параметром Blend.

Материал Double Sided

Материал Double Siede решает проблему назначения разных материалов двум сторонам одной поверхности. В общем случае при назначении объекту материала, последний применяется к обеим сторонам поверхности. 3DS МАХ визуализирует сторону с положительной нормалью грани и, если не включена опция 2-Sided, то игнорирует обратную сторону грани. Материал Double Sided предоставляет возможность назначить один материал поверхности с положительной нормалью и второй материал - обратной стороне той же поверхности. Материал помечает данные направления соответственно как Facing и Back. Каналы материалов Facing и Back можно затем разветвлять для любого другого желаемого типа материала.

Значение Transparency применяется для смешивания материалов Facing и Back. Если Transparency установлен в 0, то материал Double Sided работает как и ожидалось - один материал па одной стороне и другой материал на другой. Значения между 0 и 50 смешивают одну сторону с другой, пока при 50 они не станут одинаковыми. Значения большие 50 смешивают противоположную сторону больше и эффект получается таким, как если бы вы переключили назначение материалов. Это впечатление усиливается, пока значение Transparency, равное 100, окончательно не переключит назначения.

Рисунок 21.62 демонстрирует, что может произойти при использовании материала Double Sided. Взрывающийся объект использует два различных материала. Снаружи - холодный металлический и внутри - горячий и светящийся. Другим распространенным применением материалов Double Sided являются модели, которые используют стенки толщиной в одну грань, где одна сторона должна быть кирпичной, а другая - покрыта обоями.

Материал Blend

Как и подразумевает название, материал Blend позволяет смешивать два отдельных материала в определенном процентном соотношении. Материал также включает возможность применения маски, управляющей тем, где происходит смешивание и, следовательно, появление композита. Элементы управления материалом Blend тесно напоминают элементы управления типом карты Mix.

Значение Mix Amount управляет процентным соотношением двух смешиваемых материалов. Если определена ссылка па маску, Mix Amount обесцвечивается и смесь рассчитывается исходя из интенсивности маски (как моноканала). Когда используется маска, Mixing Curve может применяться для модуляции перехода между двумя материалами (смотрите тип карты Mix, где приведено большее количество примеров элементов управления). Крокодиловая кожа на рисунке 21.63 для достижения эффекта сделана из материала Blend. Главное различие между материалом Blend и картой Mix заключается в том, что материал Blend смешивает все определения материала, а не только типы карт. Материал Blend смешивает каждый параметр в двух определениях материалов, тогда как Mix оказывает влияние только на один канал внутри материала.

Материал Matte/Shadow

Материал Matte/Shadow является самым ироничным и интригующим типом в 3DS МАХ. Ирония заключается в том, что данный материал не визуализируется как материал. Он преимущественно "скрывает" поверхность, которой назначен. Как показывает интерфейс, у него не существует материалов или карт, откуда разветвляться. Единственная роль материала Matte/Shadow заключается в его собственном эффекте и он является единственным материалом, от которого нельзя ответвляться. Matte/Shadow обладает способностью заставить поверхность принять тени и блокировать другие объекты сцены позади тени. Материал Matte/ Shadow становится ключевой технологией для постпроцессирования или объединения фоновых образов с объектами сцены.

Объект, которому присвоен материал Matte/Shadow, становится "дырой" на сцене, которая отсекает любую геометрию позади себя и проявляет фон. Подобное качество позволяет сопоставлять объекты с элементами фонового образа.

Опция Opaque Alpha управляет тем, включает ли назначенный геометрии материал Matte/Shadow вывод альфа-канала визуализатора. Оставив флажок невключснньш вы делаете объект невидимым для альфа-канала, тогда как установка флажка включает экстенты геометрии как полностью непрозрачные. Данная опция влияет только на альфа-канал - и не затрагивает сам визуализированный образ.

Опции Atmosphere интегрируют матовый объект в атмосферные эффекты. Если на сцене нет атмосферы, то и опции пс имеют эффекта. Опция At Background Depth применяется при визуализации фоновых образов, а опция At Object Depth применяется при визуализации в файл для будущих композиций.

Материал Matte/Shadow предоставляет значительные средства управления композицией, поскольку тень можно визуализировать, не включая геометрию, принимающую тень. Опция Receive Shadows включает данную возможность и сопровождающая опция Shadow Brightness управляет темнотой отбрасываемой тени. Помните о том, что элемент управления отбрасыванием теней является свойством объекта, и если вы не хотите, чтобы матовый объект отбрасывал тень, следует запретить се в Object Properties.

Материал Multi/Sub-Object

Тип материала Multi/Sub-Object предоставляет возможность назначить объекту более одного материала на уровне грани. На практике материал Multi/Sub-Object обычно назначается целому объекту и содержит столько материалов, сколько требует объект. Таким образом, материалы Multi/Sub-Object становятся очень специфичными и часто уникальными для каждого объекта, который их требует. Импорт каркасов из 3DS для DOS, которые имеют материал уровня грани, будет автоматически комбинировать прежде отдельные материалы в одном Multi/Sub-Object на объект. Рисунок 21.64 демонстрирует работу материала Multi/Sub-Object. Каждая часть крокодила, требующая отдельного материала, получила отдельный ID, соответствующий отдельному под материалу.

EditMesh или EditablcMesh распространено использовать для назначения материалов на уровне Sub-Object за счет выделения граней и присвоения идентификаторов материалов (Material ID#). ID# соответствуют Material # в материале Multi/Sub-Object. Мульти мате риал начинается с количества по умолчанию в шесть материалов, однако может принимать любые значения. Альтернативный метод для назначения Material ID# заключается в использовании модификатора Volume Select для выбора граней и модификатора Material для присваивания желаемого Material ID# выбранным граням. Поскольку модификаторы независимы, выбор и даже присваивание можно анимировать, в то время как метод EditMcsh является статичным.

Навигация материала Multi/Sub- Object нс так проста. Для ее облегчения рекомендуется именовать каждый материал так, чтобы знать, где вы находитесь в дереве материала. Из-за того, что маленькие площади образцов Material Editor мало полезны при визуализации эффекта заданного материала, рекомендуется также отключение Show End Result. Это позволит наблюдать полный материал на каждом уровне. Поддержка количества материалов на минимальном уровне ускоряет навигацию. Если необходимы только два материала, переустановите Set Number с числа по умолчанию в шесть материалов на два, так чтобы можно было лучше использовать опцию Go to Sibling.

Исследование "подводных камней", связанных с

материалами

Можно правильно построить поверхности, хорошо их осветить, следуя всем правилам перспективы, гладко и безошибочно визуализировать в 3DS МАХ и все-таки результат будет смотреться плохо. Возможно, вы увидите эффект сами, может быть вам что-то подскажет коллега, а еще хуже - клиент. Может быть, вы настоль долго работали с моделью и видели ее материал визуализированным так часто, что стали нечувствительны к эффектам, которые на самом деле создают материалы. Причин появления неправильных эффектов достаточно много. В данном разделе освещаются лишь наиболее распространенные и заметные из них.

СОВЕТ

Художники часто изучают работу в процессе создания, глядя на нее в зеркало (часто в ручном зеркале, глядя через плечо). Такой трюк с переворотом образа мажет шокировать ваши визуальные ощущения и заставить анализировать образ более точно.

Неправильный размер - необходимость в масштабировании

Очень неприятный эффект заключается в неправильном масштабировании материала, который имеет реальные размеры и пропорции. Типичным примером является кирпич. Архитекторы и строители интуитивно чувствуют пропорции кирпича и основывают размер деталей па том, сколько требуется кирпичей. Если такие размеры и пропорции отсутствуют или оказываются различными для разных областей модели, правдоподобность образа или анимации может вызвать сомнения.

Обои - необходимость в случайности

Если материалы применяются в модели повторяющимся образом, можно гарантировать, что их эффект ослабнет. Такой результат называется эффектом обоев, в которых один и тот же узор повторяется столь часто и столь регулярно, что читается как тон, а не как текстура. Большинство реальных материалов, которые имеют повторения, не делают их с такой регулярностью. Материалы, подобные камню, плитке и кирпичу, варьируются, и видимый определенный узор разрушает их правдоподобность. Применение их в качестве базовых мозаичных текстур создает эффект обоев, а не, например, кирпичей.

Для преодоления эффекта обоев материалы должны варьироваться с небольшим элементом случайности. Традиционно это выполняется при помощи возрастающих битовых карт. Таким образом повторения становятся менее частыми, если не исчезают вообще. Недостаток больших битовых карт заключается в увеличении времени на их производство и в возрастании необходимой памяти. Способность перекрытия карт до любой глубины, комбинирования их в различных масштабах и организации индивидуальной размытости и (особенно) помех, неоценимо для придания поверхности индивидуальности и ощущения жизни. Часто все это достижимо с помощью небольшой коллекции хороших мозаичных битовых карт.

Выглядит "слишком" хорошо - необходимость "запачкать"

Если образ или анимация и характеризуется одним качеством, сигнализирующим о компьютерном происхождении, - то это тенденция выглядеть слишком хорошо, чтобы быть реальностью. Хотя и несколько юмористическая и, возможно, со скрытой похвалой, эта критика очень существенна. Объекты реального мира несут на себе следы жизни. Они царапаются, пачкаются, неровно изнашиваются или с самого начала неправильно конструируются. При соединении материалы обычно образуют шов или зазор и практически никогда точно не совпадают. Объекты редко организуются в идеальном порядке и принуждать их к этому многие считают неуместным. Все эти качества распространяются и на компьютерные модели и проецирование.

Если вы стремитесь к настоящему реализму, нетребуется затратить дополнительное время на варьирование материалов и придания им жизненности. Особенно существенны эти дополнительные усилия для убедительности неподвижных сцен с высоким разрешением. При визуализации анимации часто будет возникать потребность в преувеличении для получения необходимого эффекта - точно так же, как преувеличение требуется в фильме или на сцене.

Ключ к имитации материалов реального мира заключается в представлении их противоречивости и ошибок. В повседневной жизни объекты не бывают совершенно гладкими и полностью чистыми. Лучший способ добавления элементов шероховатостей к материалам заключается в создании коллекции мозаичных случайных битовых карт, представляющих грязь, разводы, пыль, трещины, капли и пятна. После создания используйте эти битовые карты в своей библиотеке материалов из "реального мира". Разработав эффективные карты, вы сможете их использовать вновь и вновь незаметно и ненавязчиво. Когда для материалов применяется одна и та же коллекция рандомизированных карт, затраты памяти не становятся чрезмерными, поскольку вы платите за потребляемую ими RAM только один раз. Случайные карты можно использовать для модулирования практически каждого типа карт, но особенно они эффективны с Mask, Mix и Composite для текстур, сияния, выдавливания, замутнений и отражений. Создание по-настоящему реалистичного материала - нелегкая задача, однако более благодарная, чем его рисование.

Неровности - необходимость в размывании

Когда битовая карта нуждается в большем размывании? Ответ на этот вопрос субъективен и требует рассмотрения эффекта материала на сцене. Если битовая карта поблескивает или показывает нерегулярные ребра, Blur следует увеличить. Если нужна меньшая определенность, увеличьте Blur Offset. Если карта создаст муаровый узор, переключитесь на фильтрование суммарной области. Blur не является чудодейственным средством и не может сделать ступенчатый исходный образ сглаженным. Blur может откорректировать ступенчатость битовой карты при ее переходе в перспективу. Если битовой карте присуща неровность, перед назначением ее необходимо сгладить в программе рисования. Качество эффекта карты улучшается с увеличением масштаба деталей карты. Детали шириной шесть пикселов будут создавать гораздо более четкие ребра и особенно выдавливания, более эффектные по сравнению с создаваемые линиями толщиной в один пиксел.

Заметки о материалах ветеранам 3D Studio для DOS

Для ветеранов более ранних версий 3D Studio, 3DS МАХ Material Editor представляет значительную новизну из-за общего подхода и широчайшего диапазона возможностей. Хотя сравнение двух программ не является главной задачей книги, тем нс менее есть ощущение, что многие читатели получат пользу от аналогии. Если вы успешно создавали материалы в 3DS для DOS, то знание нескольких подробностей ускорит процесс изучения Material Editor и вы сможете работать с ним, как и с прежним редактором.

  • Единичному объекту можно назначить только один материал. Если выбранным граням требуется назначить разные материалы (в традиции 3DS для DOS), следует использовать материал Multi/Sub-Object и назначать грани в соответствии с Material ID#. Предыдущие модели 3DS с назначением материалов на уровне граней при импорте автоматически заставят генерироваться материалы Multi/ Sub-Object.
  • Режимы затенения Flat и Gouraud для материалов исчезли. Появился новый режим затенения Constant, несколько похожий на Flat. Renderer больше не имеет отдельных уровней затенения и всегда учитывает назначение затенения материала.
  • Концепция Map Masks теперь реализуется типом карты Mask, которая может применяться всегда, когда требуется тип маски. Карта вверху - это карта, а карта ниже ее - это маска.
  • Концепция наслаивания карт, представленная картами Texture 1 и Texture 2, теперь реализуется через тип карты Composite, где Map 1 и Map 2 эквивалентны Texture 1 и Texture 2.
  • Карты текстур разделены на карты Ambient и Diffuse. Карта Diffuse обеспечивает блокировку, которая копирует результат в Ambient и делает ее эквивалентной карте Texture 3DS для DOS. При отсутствии блокировки можно тонировать карту Ambient отдельно от Diffuse, что является распространенной практикой при использовании только базовых цветов.
  • Появились два параметра сияния, каждый из которых имеет карты. Появилась новая карта Shininess Strength, представляющая собой эквивалент старой карты Shininess.
  • Термин "Прозрачность" (Transparency) устарел и заменен во всех ситуациях термином "Непрозрачность" (Opacity). Новый тип Filter Opacity наиболее тесно подходит к прежнему стандарту прозрачности. Новый тип Subtractive Opacity похож на опцию "New-Subtractive-Transparency" в старом файле 3ds.set.
  • Режим "Tile" является режимом по умолчанию при включенном U & V Tiling. "Decat" теперь выполняется за счет отключения U & V Tiling. "Both" выполняется, используя источник Alpha и оставляя активной Tiling. Спрайтовый формат "верхний-левый пиксел для ключевого цвета прозрачности" больше не поддерживается.
  • Прозрачность Alpha теперь аддитивна, поэтому черные области альфа должны совпадать с черными данными RGB или же композит станет ярче. Для фона следует использовать тип карты Mask и ссылаться на альфа-канал битовой карты,
  • U & V Scale теперь управляется параметрами U & V Tiling. Данная концепция является инверсией способа, по которому Scale работал прежде, но такой же, как Map Tiling в 3D Editor. Значения Tiling теперь нс являются противоречивыми между проецированием и материалами.
  • Для Mapping Parameters: негатив теперь выполняется опцией Output/Invert, тонирование RGB - типом карты RGB Tint и тонирование Luma - параметрами Output или типом карты Mix.
  • Транспортирование цветовых отметок и "ячейки файла карт" (map file slots) работают как Standard Material 3DS для DOS, за исключением того, что не существует метода для транспортировки их между материалами. Эквивалентное действие можно получить, выделив отметки в Material/Map Browser или вырезав и вклеив их в Track View.
  • Карты Bump теперь универсальны в своих направлениях и не проецируются сквозь объект. Управление направлением выдавливания выполняется единственно параметрами материала.
  • Одному и тому же объекту можно присвоить многочисленные автоматические отражения, но это требует отдельных материалов (определенных в материале Multi/Sub-Object) для каждого отражения.

Обучаясь создавать 3DS МАХ материалы, импортируйте как можно больше своих любимых материалов 3DS для DOS и исследуйте их результирующий вид. За исключением нескольких использовании деколя и ссылок на CUB-файл, они должны конвертироваться в свои ближайшие эквиваленты в 3DS МАХ. Если вы знаете то, как материалы работают в 3DS для DOS, определите материал там, присвойте его объекту, импортируйте файл и изучите, как выполняется эквивалентный эффект в материале с новым определением. Такой путь может занять много времени, но зато вы подготовитесь к работе со всеми новыми возможностями 3DS МАХ.


ГЛАВА 22

Проецирование (mapping) для материалов

Окончательный эффект всех проецируемых материалов зависит от координат проецирования, присваиваемых поверхности. Координаты отображения можно присвоить несколькими способами, через многочисленные проекции, с оптимальным выбором, зависящим от геометрии объекта и желаемого эффекта поверхности

В настоящей главе будут освещены следующие темы, связанные с проецированием:

  • Пространство координат UVW Mapping и то, как оно соотносится с картами
  • Использование модификатора WW Mapping и параметров материала для управления отображением
  • Технологии планарного, цилиндрического, сферического, сферического с одной особой точкой (shrink wrap) u прямоугольного проецирований
  • Определение точности проецирования, свободного от искажений u соотносящегося с масштабом реального мира
  • Стратегии проецирования геометрии

Координаты проецирования

В 3D Studio MAX трудность предсказания размещения и результатов координат проецирования была существенно уменьшена благодаря тому, что теперь результирующую битовую карту можно видеть в интерактивном видовом окне.

При настройке назначаемого материала, который использует битовую карту или процедурную 20-тексту-ру, ее можно отобразить в гладко затененных видовых окнах, щелкнув на кнопке Show Map in Viewport (Показать карту в видовом окне) среди элементов управления типом карты. Имеется возможность показать одну битовую карту на материал. Если вы уже отображаете материал и хотите посмотреть другой, первый материал отключается, освобождая место для нового. Показывая карту в видовом окне, вы точно позиционируете проецирование. В данной главе считается, что вы будете применять этот в высшей степени полезный механизм при любой настройке проецирования.

Для достижения скорости, обеспечивающей интерактивную работу проецирования в видовом окне, было сделано несколько упрощений. При просмотре битовых карт в перспективных видовых окнах, как показано на рисунке 22.1, мозаичность карт искажается, поскольку не происходит коррекции экземпляра битовой карты, как это происходит в окончательном визуализаторе. Если просмотр текстур в перспективе важен, можно включить опцию видового окна Texture Correction и взамен получить уменьшение быстродействия-На практике вы будете переключать эту опцию для проверки, поскольку ее постоянное включение существенно замедляет работу видового окна.

ПРИМЕЧАНИЕ

Коррекция текстуры не является проблемой при использовании Glint-базированных графических плат или других аппаратных акселераторов, поддерживающих коррекцию текстуры в их драйверах HEIDI. Для этих плат коррекция текстуры является свойством набора кристаллов и обеспечивается без дополнительных расходов все время. Коррекция текстуры не является опцией (вариантом по выбору) при работе с драйверами HEIDI, она включена всегда.

СОВЕТ

Если вы предпочитаете работать с отображаемыми текстурами, то лучшая производительность достигается тогда, когда используется плата акселератора с поддержкой текстур. Платы, основанные на новом семействе кристаллов 3D-Labs Glint-TX и Permedia, доказали свое прекрасное быстродействие.

Пространство координат UVW

Хотя мир и объекты в нем описываются в координатах X, Y, Z, битовые карты и проецирование описываются в координатах U, V и W для дифференциации битовых карт от геометрического пространства, поскольку они часто существенно различаются. Геометрические координаты XYZ ссылаются на точное положение в мире или пространстве объекта. Координаты битовых карт UVW представляют пропорции соответствующих битовых карт. В UVW вы всегда подсчитываете приращение битовой карты, не ссылаясь на явные размеры- Хотя метки могут казаться несколько незнакомыми, сама концепция проста (см. рис. 22.2).

Как показывает рисунок 22.2, U и V представляют ширину или высоту по отношению к битовой карте. Оси U и V пересекаются в центре битовой карты и определяют центр координат UV для карты. Центр координат является точкой, вокруг которой вращается карта, когда настраивается значение Angle для типа карты Bitmap.

W-пространство изменяет проекцию отображения на 90° в сторону. Как только происходит переключение, сторона может повернуться на 90° от ожидаемого положения. Направление W" пространства используется, только если тип карты материала реально его требует. Хотя и предназначенное преимущественно для трехмерных параметрических карт (подобных дереву и мрамору), W-пространство может влиять на тип карты Bitmap, если переключиться с проекции UV (см. рис. 22.3).

Параметрическое проецирование

Координаты проецирования можно применить либо параметрически, либо в конвейере истории редактирования с модификатором UVW Mapping. Параметрическое проецирование присваивается как часть параметров создания объекта или как модификатор, который генерировал грани, и обычно разрешается флажком Generate Mapping Coordinates в определении объекта или модификаторе. Параметрическое проецирование можно найти в ЗО-примитивах, объектах лофтинга и модификаторах Extrude, Lathe и Bevel. Ни один из этих методов, за исключением лофтинга, не дает прямого управления результирующим повторением визуализи-руемой карты (характеристика известная как мозаичность (tiling)). Отображение обычно имеет мозаичность ! .0 в обоих направлениях.

ПРИМЕЧАНИЕ

Координаты проецирования по умолчанию не применяются, поскольку они используют дополнительную память. При проецировании каждая грань требует минимум 12 байтов. Учитывая возможность возврата в истории редактирования и включения проецирования с последними данными, следует оставлять координаты отключенными, если не знаете, что объект будет принимать пользовательские координаты проецирования. Необходимость параметрического проецирования следует рассматривать и при разрушении стека.

Поскольку большинство параметрических проецирований применяется с мозаичностью 1х1, потребуется настройка мозаичности для большинства назначаемых материалов. Поскольку нельзя настроить параметрические координаты (исключая координаты для объектов лофтинга), это следует выполнить при помощи элементов управления мозаичностью, имеющихся в материале. Рисунок 22.4 показывает результат параметрического проецирования перед и после настройки мозаичности в параметрах материала.

Когда проецирование генерируется параметрически, мозаичность и ориентацию можно настроить только через параметры материала назначенного поверхности. Как альтернатива, в случае применения проецирования посредством модификатора UVW Mapping, появляется возможность независимого управления проекцией отображения, расположением, ориентацией и мозаичностью. Однако отображение через модификатор может оказаться менее удобным, чем параметрическое.

Модификатор UVW Mapping

Когда параметрическое проецирование не подходит или больше недоступно, следует присвоить координаты проецирования вручную при помощи модификатора UVW Mapping (см. рис. 22.5). Модификаторы UVW Mapping можно разместить в любой точке стека, так что место во времени моделирования, когда применяются координаты, точно управляется.

Как и большинство модификаторов 3DS МАХ, модификатор UVW Mapping оказывает влияние на все, что ему передается в стеке истории редактирования. Если активная выборка содержит грани или лоскуты, проецирование присваивается только выборке подобъектов граней или лоскутов. Если активна выборка подобъ-ектов вершин или ребер, она игнорируется и проецируется весь объект.

Подобная возможность проецировать независимые выборки подобъектов позволяет смешивать типы проекций отображения и помещать отображение в нескольких местах одного и того же объекта (см. рис. 22.6). Однако этап применения координат проецирования часто наступает в конце моделирования. Если вы моделируете объект после применения проецирования, то координаты перемещаются с вершинами, вытягиваются и больше не порождают ровных битовых карт. Таким образом проецирование часто является одним из последних действий, выполняемых с моделью.

Когда моделирование завершено, часто требуется разрушить Modifier Stack (если только вы не собираетесь выполнять анимацию операций моделирования). Назначение нескольких подобъектных координат проецирования обычно работает в сочетании с равным числом модификаторов EditMesh или EditPatch. Эти модификаторы Edit определяют выборку грани или лоскута, которые были отображены последующим UVW Mapping. Из-за затрат, связанных с м од ифи катерам и Edit, может возникнуть потребность разрушить стек после применения нескольких модификаторов UVW в качестве способа устранения их накладных расходов. Замена выборок EditMesh выборками Volume представляет собой альтернативный путь, требующий незначительных накладных расходов. Комбинация модификаторов Volume Select с UVW Mapping обеспечивает эффективное присваивание проецирования, предоставляющее возможность редактирования выборки и просто изменения того, что проецируется.

Способность присваивать проецирование на подобъектном уровне очень важна для поддержки свойств поверхности объекта. Сглаживания граней и непрерывности лоскутов не получится, если поверхности не являются частями одной и той же объединенной поверхности. Проецирование выборки подобъектов предоставляет возможность разместить проецирование именно там, где необходимо, не влияя на топологию.

Настройка размера и размещения битовых карт

Размещение карты материала зависит от координат проецирования поверхности и параметров проецирования материала. Как выяснилось, практически всем, что настраивается в материале, можно также управлять через модификатор UVW Mapping. Поэтому данные общие методы настройки обсуждаются вместе. Короче говоря, при изменении вида проецируемого материала на поверхности доступны четыре возможности:

  • Настроить параметры материала Map Type. (В данной главе всегда подразумевается, что используется тип карты Bitmap.)
  • Настроить тип и параметры проекции модификатора UVW.
  • Настроить положение, ориентацию и масштаб гизмо модификатора UVW.
  • Настроить параметры создания для параметрического проецирования, которые доступны для настройки (в настоящее время только для объектов лофтинга).

Из всех типов карт наиболее широко применяется тип карты Bitmap. Он включает широкий диапазон опций, которые также имеются и в других типах карт (подобных Checker). Bitmap из-за своей распространенности и легкости является типом карты, который данная глава использует в качестве примера для объяснения проецирования вообще. Для пользы обсуждения мы будем также использовать проецирование Planar, как пример модификатора UVW, для сравнения с параметрами типа карты Bitmap (см. рис. 22.7). При использовании проецирования Planar и мозаичности 1, вашей битовой картой по существу является гизмо проецирования.

Масштаб гизмо и параметры мозаичности материала

Гизмо проецирования для модификатора UVW определяет границы, до которых простирается битовая карта материала. При масштабировании гизмо визуализируемая битовая карта использует и масштаб координат. В качестве альтернативы масштабированию гизмо имеется возможность управлять повторениями при помощи параметров мозаичности материала. По умолчанию мозаичность равна единице, что оставляет битовую карту соответствующей границам планарного гизмо. Мозаичность означает одно повторение, так что увеличение значения до трех трижды повторило бы битовую карту в гизмо планарного проецирования.

ПРИМЕЧАНИЕ

Ветераны 3D Studio могут быть поначалу сбиты с толку, поскольку в Выпусках 3 и 4 мозаичность материала является инверсией масштаба карты материала. Однако это то же самое, что и мозаичность карты, доступная в 3D Editor. В 305 МАХ концепция непротиворечива для проецирования и материала.

Значения мозаичности аналогичны по эффекту параметрам Х и Y масштаба для гизмо планарного проецирования, поскольку мозаичность 2 - это то же самое, что и масштабирование гизмо 1 к 2.

ПРИМЕЧАНИЕ

Для корректного зеркального отражения битовой карты вдоль любой из ее осей введите отрицательное значение масштаба. Например, значение масштаба V -1.0 зеркально отражает карту "вверх ногами".

Когда параметр материала Tile не установлен, битовая карта не подвергается мозаичности вдоль заданной оси. Отключение Tile для двух осей оставляет единственный отпечаток битовой карты - то, что другие программы, подобные 3D Studio для DOS называют "деколем" (decal). Расположение плитки мозаики зависит от того, где она была определена. Как показывает рисунок 22.8, материалы всегда измеряются от центра битовой карты, тогда как модификатор UVW Mapping ведет отсчет от нижнего левого угла.

С отключенной опцией Tile и мозаичностьго большей одного результирующая битовая карта "сжимается" от краев гизмо. Если в битовой карте определен элемент мозаики, он уменьшается вокруг центра гизмо, а центр битовой карты всегда совпадает с центром гизмо. Если мозаичность задается модификатором UVW Mapping, битовая карта стягивается вокруг нижнего левого угла. При этом угол битовой кары всегда совпадает с углом гизмо. Смешивание двух методов обеспечивает мультипликативный эффект размера, при этом битовая карта позиционируется ближе к началу координат, обеспечивающему большее значение мозаичности.

Положение гизмо и параметры смещения материала

Положение битовой карты материала диктуется в основном положением гизмо проецирования модификатора UVW Map. Как альтернатива перемещению гизмо, параметры U Offset и V Offset материала "передвигают" битовую карту вдоль соответствующих осей Х и Y гизмо (см. рис. 22.9). Имейте в виду, что Offset (смещение) выражается не в расстоянии, а скорее в единицах битовой карты. Значение Offset соответствует исходному размеру битовой карты. Когда Tiling равно 1.0, то Offset 1.0 перемещает битовую карту на 1 длину битовой карты в сторону. Когда Tiling равно 4.0, a Offset равно 1.0, центр перемещаемой битовой карты остается там, где и был, но поскольку битовая карта меньше, то кажется, что карта передвинулась в четыре раза дальше по сравнению со случаем, когда Tiling был равен 1.0. Хотя смещение и кажется в четыре раза большим по отношению к текущему размеру карты, на самом деле смещение произошло на то же самое расстояние, что и перед уменьшением карты посредством параметра Tiling.

Параметры Offset в основном применяются тогда, когда необходимо позиционировать битовую карту, но либо нет возможности передвигать гизмо отображения, либо нет гизмо для перемещения, потому что проецирование является процедурным. Кроме того, настройка параметров Offset обеспечивает более точное управление по сравнению с перемещением гизмо проецирования.

Вращение гизмо и параметры угла материала

Угол битовой карты материала изначально управляется углом гизмо проецирования с поверхностью. Параметр Angle типа карты Bitmap можно использовать для вращения проецирования без влияния на гизмо. Рисунок 22.10 показывает, что применение параметров Rotation может быть очень важным для методов проецирования. Вращение гизмо весьма серьезно изменяет тип проекции и/или выявляет особые точки и завихрения (такие как цилиндрические или сферические).

Параметр Angle вращает битовую карту вокруг центра с положительным значением вращения по часовой стрелке и отрицательным значением - против часовой стрелки. Параметр Angle имеет ограничение в 360° или -360°, поэтому анимация за пределами этих ограничений должна выполняться в координации с гизмо.

Опции Mirror и Flip

Mirror и Flip являются методами масштабирования в соответственно параметрах материала и модификаторе UVW. Опция Mirror, находящаяся в типах карт материала, делает не то, что делает зеркальная трансформация. Для материалов зеркальное отражение (mirroring) является объединением мозаичности и вращения. В случае выбора зеркального отражения масштаб карты уменьшается на 50% и карта отражается относительно осей так, чтобы появилось две битовых карты там, где была одна. Если зеркально отражаются и ось U, и ось V, появляется четыре битовых карты. Масштаб зеркально отраженных битовых карт уменьшается так, чтобы они помешались на том же гизмо, что и материал, не использующий опцию Mirror. После сокращения в размерах битовая карта покрывается новым битовым изображением (см. рис. 22.11).

Если требуется, чтобы битовая карта отражалась только вдоль одной оси, вероятно понадобится удвоить мозаичность по неотраженпой оси для компенсации половинного размера. Зеркальное отражение является методом, заставляющим битовые карты выглядеть бесшовно покрытыми мозаикой. Некоторые применения, подобные мозаичному полу, мраморным панелям и деревянному шпону, извлекают пользу из применения отраженного узора.

Опция Flip модификатора UVW на самом деле является замаскированным отрицательным масштабом и несколько похожа на опцию материала Mirror. Выполнение отрицательной мозаичности в модификаторе UVW Mapping перемещает результирующую позицию битовой карты, поскольку исходная точка для модификатора находится в углу.Опция Flip выполняет негативную мозаику относительно центра битовой карты так, чтобы результат не смещался.У материалов нет опции Flip, поскольку для материалов центр битовой карты является исходной точкой и отрицательный масштаб битовую карту не сдвигает. Для материала значение параметра Tile, равное -1-0, эквивалентно применению опции Flip в модификаторе UVW Mapping.

Как итог в следующей таблице приведены опции, доступные с модификатором UVW Mapping, и их эквиваленты, являющиеся параметрами материала:
Гизмо проецирования | Параметры материала
Трансформация Move | Параметры Offset
Трансформация Rotation | Параметр Angle
Трансформация Scale | Параметры Tiling
Параметры Tiling | Параметры Tiling (относительно нижнего левого угла гизмо) (относительно центра гизмо)
Неприменима | Опция Mirror
Опция Flip | Значение Tiling -1.0

Выравнивание гизмо проецирования

Модификатор UVW Mapping включает несколько функций, предназначенных для быстрого выравнивания гизмо и объекта. Как показано на рисунке 22.12, все функции сгруппированы в секции Alignment модификатора.

Функция Fit центрирует гизмо по центру активной выборки и масштабирует гизмо так, чтобы он совпадал с границами выборки. Гизмо масштабируется до границ, видимых в локальной системе координат. Гизмо можно ориентировать любым желаемым способом, и функция Fit будет масштабировать его соответствующим образом. Fit не должна использоваться при установке отношений с пропорцией битовой карты (то ли через масштаб гизмо, то ли через мозаичность), поскольку такое действие изменяет пропорции мозаичности. Функция Fit отменяема, так что можно экспериментировать с результатами.

Функция Center сохраняет ориентацию и масштаб гизмо и перемещает его центр в центр активной выборки. Функция Center безопасна в использовании с точно отмасштабированными гизмо, так как она не оказывает влияния на результирующую мозаичность.

Функция Bitmap Fit исследует пропорции выбранной битовой карты и масштабирует горизонтальный размер гизмо так, чтобы он совпадал с отношением высоты к ширине битовой карты. Функция Bitmap Fit работает на проецировании Planar, Cylindrical и Box, но не имеет эффекта на Spherical или Shrink Wrap.

Функция Normal Align крайне полезна для выравнивания гизмо так, чтобы его ось Z оказалась перпендикулярной выбранной грани. Грань или лоскут должны быть частью текущего выбранного объекта, хотя конкретная грань или лоскут могут быть не выбраны. Функция Normal Align позиционирует гизмо, не оказывая влияние на масштаб, поэтому функцию безопасно использовать с гизмо, совпадающим с заданными пропорциями битовой карты. Учитывая, что прямого пути выровнять гизмо отображения и вид не существует, ниже приведен самый быстрый способ выполнения этого, исходя из предположения, что существует грань, перпендикулярная виду:

  1. Щелкните на Normal Align для помещения ее в выбранное (зеленое) состояние.
  2. Щелкните левой кнопкой и укажите желаемую грань или лоскут внутри объекта.
  3. Придерживая левую кнопку мыши, транспортируйте гизмо и выравнивайте с другими гранями, пока не будет выбрана корректная грань.

Функция Reset - это то же самое, что удаление и повторное применение модификатора. Она центрирует гизмо на выборке с ориентацией и масштабом по умолчанию. Функция Reset должна использоваться только тогда, когда необходимо начать все сначала.

Получение координат проецирования

Функция модификатора UVW Acquire предоставляет возможность копирования проецирования с объекта, которому уже был назначен модификатор UVW Map или даже модификатор Displace. Функция Acquire берет последний модификатор UVW Mapping или Displace, который находит в стеке выбранного объекта. Затем на экране появляется диалог, показанный на рисунке 22.13. Имеется возможность выбирать, должно ли проецирование получаться абсолютно или относительно.

Обе опции дублируют тип проецирования, опции мозаичности и переключения, а также масштаб гизмо. Выбор Absolute перемещает гизмо проецирования точно в ту же позицию и ориентацию, что и целевой объект. Это требуется в случае необходимости совпадения проецирований объектов. Absolute следует выбирать, даже если вы намереваетесь поворачивать гизмо проецирования, поскольку опция гарантирует выравнивание невращающейся оси. Выбор Relative хранит гизмо цели в точности там, где оно находится, и копирует ориентацию гизмо проецирования, масштаб и смещение. В реальности в выбранный объект копируется трансформация из выбранного гизмо объекта. ювшшЕШяявшаяавшя

ПРЕДУПРЕЖДЕНИЕ

Получение гизмо проецирования нельзя отменить. В этой связи неплохо сохранить файл, выполнить Hold или клонировать объект как резервную копию и лишь затем применить функцию Acquire.

Часто необходимо получить проецирование от другого модификатора UVW, примененного к тому же самому объекту. Для этого требуется выполнить несколько дополнительных шагов, поскольку данная операция не доступна в функции Acquire непосредственно. Наиболее целенаправленный метод заключается в клонировании объекта на сторону и обеспечении желаемого модификатора UVW Mapping в качестве последнего модификатора такого рода в стеке. Затем можно использовать Acquire для сопоставления гизмо. Данный метод может оказаться непрактичным при очень больших объектах из-за времени, требующегося для клони-рования. В качестве альтернативы зайдите в Track View и скопируйте значения Position, Rotation и Scale из треков желаемого гизмо в треки нового гизмо. Это именно то, что происходит, когда вы получаете проецирование абсолютно (за исключением того, что Acquire копирует все параметры модификатора, а не просто трансформацию).

СОВЕТ

Полезный метод хранения информации проецирования в сочетании с материалом заключается в назначении объекту материала и проецирования (например. Box) и наименовании объекта в соответствии с именем материала. Сохраните Box в отдельном файле и объедините его, когда захотите найти конкретный материал. Материал можно взять со сцены, используя Material Editor, а проецирование легко получить через модификатор UVW. Другие Box, представляющие прочие материалы, также могут создаваться и сохраняться - вы находитесь на пути построения "библиотеки получаемых материалов", объекты из которой могут быть при необходимости объединены с любой моделью.

Типы проекций отображений

Модификатор UVW предоставляет несколько способов проецирования координат отображения на поверхность объекта. Наиболее подходящая технология проекции зависит как от геометрии объекта, так и от характеристики мозаичности битовых карт. Для ручного назначения проекций отображения доступны пять методов: Planar, Cylindrical, Spherical, Shrink Wrap и Box.

Важно понимать, что гизмо проецирования - это точный размер и положение битовой карты, независимо от ее размера или пропорций. Подобная ситуация складывается всегда, когда и модификатор UVW Map, и назначенный материал имеют значения Tiling и Offset соответственно 1.0 и 0.0. Другие установки для мозаичности и смещения изменяют начальное расположение, как описывалось ранее. Рисунок 22.14 показывает, что каждая из разных проекций гизмо содержит визуальные подсказки, указывающие на подходящий способ.

Маленькая вертикальная линия гизмо или риска указывает на правильный способ. Зеленая линия гизмо Planar всегда представляет правую сторону битовой карты. Зеленая вертикальная линия гизмо Cylindrical демонстрирует шов, в котором сходятся правая и левая стороны битовой карты. Подобным же образом гизмо Spherical имеет зеленую дугу, определяющую край шва битовой карты. Гизмо Shrink Wrap идентичен гизмо Spherical, но зеленая дуга не указывает шов, поскольку единственный шов находится внизу напротив вертикальной линии. Гизмо Box не имеет индикации ввиду того, что на самом деле основывается на нормалях граней, порождающих шов на каждом резком переходе поверхности.

Координаты проецирования отображаются на поверхность, направляемые своим гизмо проецирования. Координаты проецирования, сталкивающиеся с поверхностью под углом 90°, порождают неискаженную битовую карту. Когда угол падения изменяется, пикселы становятся вытянутыми. При достижении углом значений 180° и 0° поверхность находится на краю проекции и результируется в пикселы, "пробегающие" по поверхности. Для корректировки появившихся разводов гизмо должен ориентироваться так, чтобы сталкиваться с поверхностью под углом, превышающим 0°.

Модификатор UVW является бесконечным в своих проекциях отображения. Координаты проецирования применяются через любые выбранные в стеке грани.

ПРЕДУПРЕЖДЕНИЕ

Изменение типа Mapping нельзя отменить. Это важно осознавать, поскольку переключение типов проецирования обычно изменяет масштаб гизмо проецирования. Обратное переключение не восстанавливает предыдущие свойства гизмо.

Пленарное (Planar) проецирование

Проще всего понять проецирование в планарной проекции - наиболее распространенном методе проекции. В этом случае прямоугольный гизмо представляет точный размер битовой карты. При изменении формы гизмо картинка вытягивается. Как показано на рисунке 22.15, планарное проецирование проектируется сквозь объект бесконечно. Неважно, насколь близко пиктограмма приближена к каркасу, играет роль только размер пиктограммы и угол с каркасом.

Поскольку битовая карта вытягивается для соответствия координатам проецирования, в случае, если необходимо получить неискаженный результат, гизмо должо иметь те же пропорции, что и битовая карта, Функция Bitmap Fit, показанная на рисунке 22.16, существенно упрощает эту задачу. Нажатие Bitmap Fit предоставляет возможность выбора битовой карты для задания повой ширины гизмо. Существующая высота гизмо остается прежней независимо от пропорций битовой карты.

Часто точный размер битовой карты известен и требуется сопоставить его с размером гизмо проецирования битовой карты. Например, последовательность кирпичей 6х12, использованная на рисунке 22.20, должна всегда быть 48" х 32", если только кирпичи имеют обусловленный размер. К сожалению, нет четкого пути для обеспечения подобного совпадения. Требуемый размер можно обеспечить за счет создания временного объекта в точности необходимого размера, как показано в следующей процедуре:

  1. Установить представление битовой карты реального размера.
  2. Создать такого же размера сплайн Rectangle.
    Помните, что ввод с клавиатуры можно ускорить, если появление объекта в точке начала координат вас устраивает.
  3. Присвоить Rectangule модификатор UVW.
  4. Щелкнуть на Fit.
    Гизмо UVW Mapping зафиксируется на границах прямоугольника.
  5. Возвратиться к основному объекту, имеющему модификатор UVW Map, и использовать функцию Acquire для получения правильно отмасштабированного гизмо.

Правильно отмасштабированный гизмо можно вращать и позиционировать и даже использовать функции Center или Normal Align.

Для наиболее точной настройки координат проецирования следует использовать Track View, поскольку Transform Type-In сообщает только информацию относительного масштаба, а при совмещении размеров требуется управлять их точными размерами. После добавления ключа для UVW Mapping Gizmo Scale можно щелкнуть правой кнопкой на ключе и получить Key Info, которая обеспечивает точные сведения о текущем масштабе гизмо со стопроцентным соответствием 2". Можно настроить значение масштаба, разделив на 50, и точно знать размер (в дюймах) гизмо проецирования.

ПРЕДУПРЕЖДЕНИЕ

После появления правильно отмасштабированного гизмо, совпадающего с конкретной битовой картой, выполнение всего, что влияет на масштаб, разрушит эту взаимосвязь. Не изменяйте типа проекции отображения, а используйте функции Fit или Reset внутри модификатора.

Если объект основан на сплайне, являющемся результатом Extrude, Bevel или Lathe, то определение правильного масштаба становится несколько труднее. Все перечисленные методы создания устанавливают проецирование, но делают так, что 1 х 1 повторяется по всей длине и высоте. Для достижения точности в единицах реального мира следует увеличить мозаичность материала до соответствия с определенным периметром сплайна. К сожалению не существует прямого метода определения длины периметра сплайна. Для получения искомой информации можно выполнить следующий обходной маневр:

  1. Выделив периметр объекта, выключите Extrude, Bevel или Lathe и последующие модификаторы, оставив видимым только определяемый сплайн.
  2. Создайте лофт-объект из сплайна другой формы.
  3. Активизировав опцию Instance, щелкните на Get Path и выберите периметр объекта. Теперь у вас есть лофт-объект, использующий в качестве пути периметр объекта.
  4. Введите 100 для процента Path и затем переключитесь с Percentage на Distance.

В поле Path отображается длина пути. Если хотите, можете удалить временный лофт-объект или использовать его для трассировки положений точек на пути в единицах или процентах длины. Можно также модифицировать сплайн пути и увидеть результирующее обновление длины. Зная длину периметра сплайна, разделите ее на длину оси U реальной битовой карты и узнаете необходимое значение Tiling, как показано на рисунке 22.17.

Технологии работы с пленарным проецированием

Распространено мнение, что планарное проецирование применяется по нормали к поверхности. Хотя такое применение и производит неискаженное проецирование, однако сам подход часто оказывается неудобным. Некоторые объекты являются копланарньши, а некоторые включают углы, требующие совпадения координат смежных сторон. Например, кирпичная стена с углом требует совершенно ровных цементных швов. Для прямоугольной геометрии, которая характерна для большинства структур, существуют следующие варианты:

  • Выберите грани с EditMesh и назначьте им собственный модификатор UVW Mapping. Совместите исходную позицию, размер и ориентацию гизмо проецирования и затем поверните его на 90°.
  • Выберите грани с EditMesh или EditableMesh и назначьте им отдельные Material ID. Сделайте текущий материал мультиматериалом, измените UV-проецирование на VW и угол на 90°.
  • Поверните гизмо проецирования на 45°.

Проблема с первым вариантом заключается в том, что обеспечение выравнивания разных гизмо в будущих настройках может оказаться проблематичной. Фактически для такого управления можно использовать выражения. Второй вариант элегантен, но работает только в случае, когда объект действительно прямоугольный. Последний вариант работает быстро, не имеет накладных расходов и применим в большинстве ситуаций. Все три варианта предполагают, что гизмо обладает корректными пропорциями для желаемой битовой карты (т.е. была выполнена операция Bitmap Fit).

Ключ к корректному планарному проецированию заключается в обеспечении равного угла пиктограммы проецирования с каждой стороной каркаса. Если у объекта несовместимые углы, как у шестнадцатиугольника или восьмиугольника, то для смежных пар граней следует применять отдельные координаты. В таком случае потребуется выполнить выборки подобъектов граней подобъекта и применить отдельные модифика-торы UVW Mapping. Гексагон или октагон корректно отображаются двумя проекциями, тогда как 10- или 12-сторонний многоугольник потребовал бы три проекции.

Применяя проецирование под углом, вы захотите, чтобы проекция отображения была равна каждой принимающей его стороне. Угол подхода гизмо должен быть сходным у всех граней. Однако, когда угол проецирования гизмо становится отличным от 90°, проецируемый образ начинает вытягиваться. Вытягивание корректируется настройкой проецирования вдоль вытягиваемой оси одним из трех способов: масштабированием гизмо проецирования, настройкой мозаичности UVW Mapping или настройкой мозаичности битовой карты материала. Какой бы метод не был выбран, его следует использовать последовательно, делая будущее редактирование более четким и легким процессом. Из всех методов масштабирование гизмо наименее точно и трудно настраивается. Мозаичность материала является хорошим выбором только тогда, когда материал всегда применяется под углом, для корректировки которого производилось масштабирование. В большинстве случаев наибольший смысл имеет работа с мозаичностью модификатора UVW, поскольку модификатор соответствует проекции и может быть получен другими модификаторами проецирования, нуждающимися в сходных значениях. Рисунок 22.18 показывает, как это выполняется со значениями мозаичности.

Для корректировки вытянутого проецирования необходимо увеличить мозаичность карты. Значение увеличения зависит от угла поверхности и гизмо проецирования. Для углов в 90° (справа) коррекция происходит при мозаичности 1.414 - квадратном корне из двух и очень хорошем числе для запоминания, поскольку корректировка для квадратных углов достаточно распространена. Корректирующее отношение можно вывести либо из подхода, либо из включенного угла:

RОтношение мозаичности = 1/sin (угол подхода гизмо) или Отношение мозаичности = 1/cos (включенный угол подхода гизмо)

Рисунок 22.20 показывает вычисление отношения на практике. Обратите внимание на то, что угол подхода гизмо составляет половину угла, образуемую двумя сторонами. Если ваш гизмо расположен под равными углами к сторонам, то корректирующее отношение порождается из угла между сторонами.

Отношение мозаичности = 1/sin (0.5 х угол между сторонами)

Не бойтесь этих формул - они все одинаковые- Просто для некоторых проще полагаться на один метод, нежели на другой. Маленькая арифметика заходит далеко и можно запомнить корректирующее отношение 1.414 для работы со всеми прямоугольными проецированиями.

Хотя косая планарная проекция корректируется один раз для всех поверхностей, во второй раз ее корректировать нельзя. Рисунок 22.19 показывает, что вращение гизмо проецирования второй раз порождает угловое проецирование на всех поверхностях. Данное приложение может оказаться весьма удобным, если битовая карта случайна и мозаична, что также демонстрируется на рисунке 22.19. Если необходим последний эффект, лучше воспользоваться проецированием Box.

Цилиндрическое проецирование

Как показано на рисунке 22.20, цилиндрическое проецирование отображает свои координаты из центра гизмо наружу в бесконечность, подобно ряби на пруду. Высота цилиндра гизмо диктует размер высоты битовой карты, или скорее V измерения. По этой причине радиус гизмо неважен - важно только положение центра. Вы можете представлять цилиндр как визуальную помощь для определения высоты, центра, вершины, шва и того, был ли гизмо неоднородно масштабирован.

Обратная сторона пиктограммы, зеленое ребро, указывает на то, где встречаются ребра битовой карты. Если битовая карта немозаична в направлении U, то при визуализации здесь возникает шов. Задний шов является также начальным положением мозаичности. При работе с мозаичными деколями шов становится левой стороной битовой карты.

Традиционно поверхности, которые параллельны цилиндрической проекции, склонпы к завихрениям или прожилкам, как показано на рисунке 22.21. Поскольку такие прожилки и завихрения обычно нежелательны, окончательный визуализатор обрабатывает ситуацию как особый случай и считает цвет первого пиксела, найденного на вершине, цветом всего покрытия. Ввиду того, что подобного рода коррекция не отображается интерактивным визуализатором, она может сбить с толку. Если вы хотите сохранить спиральные эффекты, показанные в видовом окне, а не принимать коррекцию, то можете либо переместить одну из определяемых вершин на небольшое расстояние, либо повернуть секцию гизмо проецирования на небольшую величину (0.03 градуса будет достаточно).

Опция Cylindrical Mapping Cap применяет к верху и низу цилиндрической проекции планарное проецирование. Такое применение похоже на то, что делает Box Mapping. Ограничение угла как "покрытия" гораздо ниже, чем ограничение угла как стороны отображения коробки, при помощи граней, становящимися пла-нарным проецированием при подходе к 20-25° от горизонтальной плоскости.

Интересная черта цилиндрического гизмо заключается в том, что его можно масштабировать неоднородно так, чтобы проекция оказалась "эллиптической". Выполнение неоднородного масштабирования вокруг осей X, Y гизмо не влияет на проецирование, однако неоднородное масштабирование осей Х и Y создает эллипс. Рисунок 22.22 демонстрирует приемлемость подобного проецирования.

СОВЕТ

Цилиндрическое проецирование перенимает пропорциональность у планарного проецирования. Если требуется получить эллиптическую форму, прежде получите планарное проецирование и затем переключитесь на цилиндрическое. Если вы хотите сбросить проецирование, то переключитесь на сферическое и обратно.

Технологии цилиндрического проецирования

Часто возникает необходимость неискаженной визуализации битовой карты при помощи цилиндрической проекции. Сказанное в особенности справедливо для элементов, искажение которых легко идентифицировать, например для текста, меток, логотипов, портретов или геометрических узоров. Рассмотрим классическую винную этикетку. В таком случае существует ряд факторов, которые следует определить: радиус бутылки, высота этикетки, процент бутылки, который будет обернут и пропорции этикетки. Если вы знаете три из указанных переменных, можете надежно высчитать четвертую. Таким образом, зная размер бутылки, пропорции этикетки и высоту, можно определить, какая часть бутылки будет обернута.

Один из методов обеспечения неискаженной карты заключается в балансе пропорций битовой карты с радиусом модели, чтобы выйти на гизмо требуемой высоты. Другой подход заключается в использовании геометрического размера и точного положения этикетки для определения пропорций нужной битовой карты материала. Факт заключается в том, что для битовой карты заданной пропорции имеется только одна высота гизмо, которая работает с конкретным радиусом объекта.

Общепринято рассматривать битовую карту материала в первую очередь вместе с отношением ширины и высоты, определяющим размер гизмо. Когда карта оборачивается вокруг цилиндра, ее ширина вытягивается до длины окружности. Умножение этой длины на отношение битовой карты определяет требуемую высоту цилиндра гизмо:

Высота гизмо = (Bitmap V/Bitmap U) х Диаметр объекта х П

Если вы создаете специальную битовую карту для объекта особых размеров и пропорций - например, для банки - то должны пропорционировать битовую карту так, чтобы она совпадала с требуемым размером этикетки:

(Bitmap V/Bitmap U) = Диаметр банки х П/Высота банки

Часто этикетка предназначена для оборачивания только части окружности цилиндра. Хотя можно составить соответствующие формулы, но самый легкий способ - определить гизмо, как если бы этикетка оборачивала весь цилиндр и затем изменить мозаичность для управления пропорциями этикетки. Если результирующая этикетка окажется слишком короткой или будет оборачивать некорректное расстояние, то единственный выход заключаеся в изменении пропорций битовой карты этикетки.

При использовании функции Bitmap Fit высота гизмо поддерживается, а радиус гизмо масштабируется так, чтобы битовая карта четко оборачивалась вокруг цилиндра подобно этикетке "суповой банки", порождая идеально пропорциональный цилиндр для этой одной битовой карты. Найдя соответствие, следует либо однородно масштабировать гизмо для совпадения с радиусом геометрии, либо масштабировать геометрию так, чтобы ее радиус совпадал с радиусом гизмо. Значительно более распространен первый подход.

Сферическое проецирование

Сферическое проецирование отображает свои координаты из центральной точки наружу в бесконечность во всех направлениях, очень похоже на всенаправленное освещение (см. рис. 22.23). Размер пиктограммы не оказывает абсолютно никакого влияния на результирующие координаты проецирования. Однако если пиктограмма масштабируется неоднородно, то сферическое проецирование становится эллипсоидным - идеальным для продолговатых объектов ромбовидной формы. Даже в случае неоднородного масштабирования на проецирование влияет не сам масштаб, а скорее положение центра гизмо по отношению к объекту. Основное назначение сферического гизмо заключается в организации помощи в размещении центра и индикации верхнего, заднего и неоднородного масштабирования.

Опция Spherical Mapping может также представляться как "сброс" для других типов карт. Переключение на Spherical с другого типа всегда сбрасывает гизмо в точную сферу. Переключение назад к прежнему типу устанавливает гизмо в состояние по умолчанию (квадрат для планарного и цилиндр с высотой сферы для цилиндрического).

Ориентация гизмо обладает наибольшим влиянием на сферические проекции. Полюса пиктограммы являются точками конвергенции для битовой карты и могут стать причиной сдавливания и завихрений (известных под названием полюсной сингулярности или особых точек на полюсах). Большинство завихрений связано с плотностью каркаса в данной критической точке - чем плотнее каркас, тем чище результирующая карта. Зеленая дуга гизмо указывает на шов, по которому битовая карта из одной плитки мозаики соединяет ребра оси U. Шов может быть очень заметен, если битовая карта не мозаична вдоль данного ребра и может разрушить множество эффектов. Хорошая идея - повернуть шов в ту сторону, где он не будет реально виден.

Технологии сферического проецирования

Сферическое проецирование начинается с вытягивания битовой карты вертикально от полюса до полюса и затем загибания ее горизонтально, начиная с заднего меридиана. Затем карта проецируется обратно на поверхность. Как знает любой картографист, нет способа, по которому прямоугольная карта превратилась бы в сферическую без искажения. Единственной областью, где имеются определенные возможности управления искажением, является экватор координат проецирования, как показано на рисунке 22.24. Здесь на экваторе битовая карта была обернута вокруг всей окружности, тогда как верхняя часть была обернута только на одну ее половину. Таким образом для того, чтобы казаться неискаженной на экваторе, битовая карта должна иметь отношение ширины к высоте 2:1. Битовые карты, не имеющие исходного отношения 2:1, должны иметь U или V мозаичность, отмасштабированную так, чтобы обеспечивать то же самое отношение.

Можно выбирать, какую ось масштабировать, хотя большинство битовых карт имеют тенденцию быть слишком узкими для своей высоты- Например, квадратная битовая карта должна увеличить мозаику по оси U в 2 раза, тогда как ось V остается той же. Если вертикальный размер является полной высотой, то мозаичность U следует увеличить. Битовая карта 640 х 480 требует, чтобы значение U масштабировалось в б40/(2 х 480) = 0.6667. Если горизонтальный размер должен поддерживаться постоянным, значение V нуждается в масштабировании 480/(640/2) == 1.5.

Проецирование Shrink Wrap

Проецирование Shrink Wrap является интересной альтернативой сферическому проецированию и идеально подходит для множества приложений. В то время, как сферическое проецирование имеет сингулярность у обеих полюсов, Shrink Wrap сингулярно только на основании - в области, которую легко скрыть, - идеальное решение для голов, облаков, деревьев и сфер, находящихся на шпилях.

Shrink Wrap работает с учетом только центральной области битовой карты. Shrink Wrap по сути обрабатывает битовую карту как круглый лист резины, оборачивая его вокруг объекта и натягивая подрезанную карту к низу. В результате получается практически неискаженная верхняя половина и вполне приличные бока. Рисунок 22.25 показывает, как это работает, оборачивая битовую карту по кругу. Поскольку Shrink Wrap отрезает углы, то кажется будто применялась только белая карта, а не белый круг на черном поле.

Гизмо Shrink Wrap реагирует подобно сферическому. Его выбор всегда приводит к сбросу. Масштаб гизмо значения не имеет, значение имеет только расположение его центра. Как и сферический гизмо, гизмо Shrink Wrap можно масштабировать неоднородно, покрывая эллипсоидные формы.

Технологии работы с проецированием Shrink Wrap

Проецирование Shrink Wrap лучше всего использовать с битовыми картами, которые мозаичны как по оси U, так и по оси V, или с образами высокого разрешения. Подрезание Shrink Wrap оставляет для проецирования меньшую часть образа, и маленькие битовые карты могут выглядеть зернистыми, поскольку они просматриваются вне своего диапазона. Те карты, которые делаются мозаичными, идеальны для Shrink Wrap. Мозаичность в диапазоне от 3 до 4 по направлениям U и V порождает удивительно хорошие результаты, пример которых показан на рисунке 22.26.

Следующее, что следует рассмотреть в контексте Shrink Wrap, - это его хорошая работа с проекциями битовых карт VW и WU. При настройке гизмо, особенно расположенных под углом и предназначенных для органических моделей, в случае использования описанных ранее мозаичных карт различные осевые проекции могут дать исключительно хорошие результаты.

Прямоугольное проецирование

Прямоугольное (Box) проецирование следует рассматривать как планарное, примененное с шести направлений, поскольку именно это и происходит. Пропорции, проецируемые каждой стороной, соответствуют пропорциям битовой карты. Масштабирование гизмо изменяет размер результирующего проецирования, как это происходит и в случае планарного проецирования. Неоднородное масштабирование гизмо означает, что стороны будут иметь различные пропорции отображения.

ПРИМЕЧАНИЕ

Ветераны 3D Studio не должны путать Box Mapping из 3DS МАХ с Box Material из 3DS для DOS. Box Material из 3DS для DOS растягивал назначенные битовые карты в каждом измерении объекта и представлял небольшую практическую пользу. По сравнению с ним Box Mapping очень управляемо и в высшей степени полезно.

Битовая карта поддерживает высоту гизмо и масштабирует ось Х для совпадения пропорций битовой карты. Проекции Front, Back, Top и Bottom настроены, оставляя квадратные стороны Left и Right. Теперь, если требуется различное представление, можно вращать гизмо Box Mapping как угодно. Причина выбора тех или иных сторон зависит от способа их проецирования. Левая и правая стороны (ось Х гизмо) всегда рассматриваются "сторонами", тогда как другие оборачиваются вокруг оси Y, как показано на рисунке 22.27.

Box Mapping присваивает проецирование в соответствии с ориентацией нормали к поверхности гизмо. После того, как грань пересекает порог 45° между плоскостями проекций гизмо, она принимает проецирование с другой стороны. Таким образом Box Mapping является быстрым способом присвоения проецирования трудной геометрии.

Технология работы с прямоугольным проецированием

Часто желательно, чтобы отображение, порождаемое Box Mapping, было одинаковым для всех сторон проекции. Так получается только тогда, когда гизмо Box Mapping представляет собой идеальный куб. Абсолютно кубическое гизмо проецирования прекрасно работает для материалов, использующих квадратные битовые карты, но вытягивает или сдавливает битовые карты других пропорций. Функция Bitmap Fit масштабирует гизмо для совпадения с битовой картой, но оставляет два конца квадратными и другие четыре непропорциональными. Если требуется, чтобы все шесть сторон были пропорциональны друг другу и битовой карте, следует настроить мозаичность карты, как показано на рисунке 22.28, и выполнить следующие шаги:

  1. Обеспечьте, чтобы гизмо отображения был кубом. Для этого переключитесь на Spherical или Shrink Wrap и затем обратно на Box.
  2. Для идентификации Resolution используйте опцию Info в View File.
  3. Отношение высоты к ширине битовой карты становится отношением UTile KVTile. Данная настройка выполняется либо параметрами материала, либо параметрами модификатора UVW Mapping. Обратите внимание на то, что мозаичности U и V являются противоположностью Height и Width.
  4. Отношение U/V теперь должно поддерживаться для всех будущих настроек. Размер мозаичности можно настраивать как однородным масштабированием гизмо проецирования, так и настройкой значений мозаичности.
    Удобный способ заключается в установке настройки битовой карты в материале - который связан с конкретной битовой картой - и использование модификатора мозаичности для управления повторением. В любом случае доступны три способа изменения мозаичности. Для создания окончательной мозаики каждый можно использовать индивидуально или в сочетании друг с другом. Для душевного спокойствия лучше один метод использовать для настройки отношения битовой карты, а другие - для общего размера мозаичности.

При правильно настроенном размере битовой карты Box Mapping идеально подходит для прямоугольной геометрии. Планарное проецирование предпочтительнее для локального управления отдельными областями с целью обеспечения критических выравнивании.

Стратегии проецирования

Управление тем, как материал должен пересекать поверхность, зависит от корректного применения проецирования. Решение того, как применить проецирование для получения желаемого результата, становится вопросом планирования - где применить, с какой проекцией, в какой ориентации и с какой мозаичностью. При окончательной доводке своих поверхностей на эти вопросы следует ответить.

Хотя практически каждая модель требует несколько отличных технологий, приводимые ниже стратегии полезны для определения, какое проецирование лучше подходит для геометрии модели:

  • Гладкая поверхность (бумага). Планарное проецирование по нормали к поверхности.
  • Прямоугольная без покрытия (стены). Планарное проецирование, примененное под углом, который огибает углы.
  • Прямоугольная с покрытием (коробки). Прямоугольное проецирование, настроенное на отношение мозаичности, или гизмо, подчиняющееся пропорции битовой карты.
  • Симметричная (утка). Планарное проецирование специально созданной битовой карты, которой разрешено проектироваться сквозь объект и отображать обе стороны одним и тем же способом.
  • Цилиндрическая (бутылка). Цилиндрическое проецирование, компенсированное для пропорций битовой карты высотой или мозаичностью гизмо.
  • Сферическая (мяч). Сферическое или проецирование Shrink Wrap в зависимости от природы битовой карты и того, как будут выделяться полюса на окончательных визуализациях.
  • Нерегулярная (растение). Идеально назначать проецирование при создании (лофтинг, вытягивание, фаска, вращение). Как альтернатива, проецирование Shrink Wrap работает с гладкой геометрией, а прямоугольное проецирование - с угловатой геометрией.

Еще один ключевой момент при проецировании заключается в назначении его тогда, когда объект присутствует в наиболее чистой геометрической форме. Прежде чем разрушить стек моделирования, проанализируйте развитие форм и идентифицируйте точки, в которых проецирование проще всего выполнить. Например, лист лучше проецировать тогда, когда он только что вытянут и является гладким, нежели потом, когда он скручен и согнут. Нередко можно встретить деформирование объекта в форму, наиболее удобную для применения проецирования и затем восстановление прежней формы.

Последним следует рассмотреть расположение в стеке модификатора UVW, особенно при выполнении анимации модели. Если деформации происходят после модификатора UVW, координаты проецирования "прилипают" и проецирование вытягивает вершины объекта. Если деформация происходит перед модификатором UVW, объект кажется двигающимся по координатам, поскольку именно это и происходит.


ГЛАВА 23

Инструменты управления анимацией

3D Studio MAX обеспечивает для художников возможность выполнения анимации фактически всего - от трансформаций и модификаций объектов до изменения свойств материала. Активизируя кнопку Animate, 3DS МАХ записывает все изменения, выполняемые в анимации. Каждое изменение создает ключ, который хранит значение, предназначенное для использования модифицированным параметром в заданное время.

Ни один художник не бывает удовлетворен первой анимацией, примененной к сцене. 3DS МАХ обеспечивает мощный набор инструментов управления анимацией, разрешающих редактировать ключи анимации и манипулировать ими во времени. Данная глава приводит обзор различных элементов управления анимацией, доступных в 3DS МАХ, вместе с их применением. В главе освещаются следующие темы:

  • Конфигурирование и перемещение во времени
  • Понимание 3DS МАХ Track View
  • Создание и редактирование ключей
  • Работа с диапазонами
  • Работа со временем
  • Работа с кривыми функций
  • Работа с траекториями

При выполнении анимации сцены добавляется четвертое измерение - время. В предыдущих версиях 3D Studio единицей измерения времени был кадр. Концепция кадра присутствует в 3DS МАХ и сейчас, однако она теперь существенно расширилась. 3DS МАХ обеспечивает инструменты, необходимые для определения и отображения времени способом, совместимым с выводным форматом, и для легкого конвертирования между выходными форматами без неблагоприятного воздействия на время анимации.

Понимание среды анимации

Как видно из предыдущих глав, 3DS МАХ обладает широким диапазоном модификаторов объектов с параметрами, поддающимися анимации. Это предоставляет возможность создавать анимации более интуитивным способом по сравнению со старыми технологиями морфинга, порождающими те же анимации. Например, если вы хотели создать трубу, гнущуюся на ветру, то процесс, занимавший несколько целей морфинга, теперь в 3DS МАХ может выполняться за счет применения модификатора Bend и анимации значения угла изгиба. Анимация характеристик материалов объектов в настоящий момент обеспечивается просто изменением значений параметров на уровне материала без привлечения целей морфинга. Здесь перечислена лишь малая толика того, что можно оживить в 3DS МАХ.

Хотя стандартные виды сцены будут показывать результаты анимации, часто требуется видеть сами данные анимации. Например, может возникнуть желание увидеть, в какое время были созданы ключи для параметра, и либо изменить время, ассоциированное с ключом, либо отредактировать данные, хранящиеся в ключе. 3DS МАХ обеспечивает средство просмотра данных анимации под названием Track View (см. рис. 23.1). Track View показывает иерархический список всех оживляемых элементов на сцене - объектов, модификаторов объектов, источников света, камер, эффектов среды и материалов. Для каждого из этих элементов показаны параметры анимации и ассоциированные ключи. Ключи можно перемещать во времени или копировать в другие временные отметки или изменять значения, соответствующие ключам.

СОВЕТ

Если для редактирования анимации используется Track View, анимацию можно редактировать даже во время воспроизведения. Например, разрешено настраивать время или значения, ассоциированные с конкретным ключом, в то время как объект движется по экрану. Таким образом изменения будут видны интерактивно.

Использование ключей для указания данных анимации в конкретное время отражает традиционную для аниматоров практику. Главный аниматор создает ключевые кадры, показывающие сцену в критические моменты. Затем ассистирующие аниматоры создают промежуточные кадры (tween), расположенные между ключевыми. Промежуточные кадры определяют, как должен изменяться объект на сцене, чтобы отражать начальную и конечную позиции и внешний вид. В 3DS МАХ указываются ключи для объектов в конкретных кадрах и 3DS МАХ создает заполняющие позиции или внешний вид объектов.

Время конфигурирования

По причине существования множества выходных форматов анимации (фильм, видео и пр.), 3DS МАХ обеспечивает несколько опций для выбора частоты кадров и способа отображения времени. Конфигурация времени указывается в диалоге Configuration (см. рис. 23.2). Данный диалог доступен при нажатии Time Configuration или через нажатие правой кнопки мыши на любой из кнопок воспроизведения.

3DS МАХ предоставляет возможность определения частоты кадров на основе выходного формата. Частота кадров по умолчанию соответствует NTSC-видео и равна 30 кадрам в секунду (frame per second - fps). Однако можно выбрать PAL с 25 fps, фильм с 24 fps или даже определить собственную частоту кадров. Отображение времени может быть стандартным Frames или другим, подобным коду времени SMPTE, Frames:Ticks или Minutes:Seconds:Ticks (тики составляют 1/4800 секунды). Time Slider и поле текущего времени внизу отображения 3DS МАХ показывают время анимации в любом выбранном формате.

ПРИМЕЧАНИЕ

Если выбран любой из Ticks, 3DS МАХ предоставляет дополнительную опцию использования субкадровой анимации, позволяя устанавливать ключевые кадры между визуализируемыми кадрами. Это полезно в случаях, когда требуется точное хронометрирование ключей, например при реконструкции несчастного случая.

3DS МАХ обеспечивает возможность изменения как частоты кадров, так и отображения времени в любой желаемый момент. Анимация при этом остается неизменной. Это удобно, поскольку можно создавать анимации для частоты кадров 30 fps, а смотреть на скорости Film или какой-либо другой, с целью сравнения, как анимация будет удовлетворять определенным постпроцессным модификациям. Например, если создана одноминутная анимация для видео, которое работает с частотой 30 fps, а затем появилась информация, что анимация будет работать как фильм (24 fps), то все что нужно сделать в 3DS МАХ - это изменить частоту кадров; при этом система автоматически перемасштабирует время, изменяя и, может быть, сокращая определенные ключи.

СОВЕТ

При любом изменении частоты кадров в диалоге Time Configuration 3DS МАХ вначале не информирует вас о частоте кадров. Однако, если вызвать диалог после сохранения изменения, 3DS МАХ отобразит новое значение fps в редактируемом none Custom FPS.

В диалоге Time Configuration указывается начало и конец времени анимации. Реально время начала и время завершения анимации указывает активный сегмент времени. Установка активного сегмента времени предоставляет возможность просмотреть только часть анимации, воспроизвести только указанные кадры и ограничить диапазон экранных ключевых кадров определенным временем. Изменение начального или конечного времени не оказывает влияние на время или значение предварительно созданных ключей.

ПРИМЕЧАНИЕ

Хотя редактирование анимации и ограничено определенным временным диапазоном, вы по-прежнему можете создавать, удалять и редактировать ключи вне активного сегмента времени с использованием Track View.

Выбрав кнопку Re-scale Time в диалоге Time Configuration, вы перемасштабируете время, ассоциирующееся с ключами в активном сегменте времени. В диалоге Re-scale Time (см. рис. 23.3) можно изменять время начала, время завершения и длину нового активного сегмента времени. Время любых ключей, расположенных внутри исходного активного сегмента времени, масштабируется к новому активному сегменту времени. При изменении начального кадра любые ключи, появившиеся перед начальным кадром, перемещаются во времени на ту же самую величину, на которую изменяется начальный кадр. Если изменяется конечный кадр, любые ключи после конечного кадра перемещаются во времени на ту же самую величину, что и конечный кадр.

Перемещение во времени

3DS МАХ предлагает несколько способов перемещения во времени и просмотра анимации. Примечательно то, что можно воспроизводить анимации в одном или нескольких видовых окнах 3DS МАХ в реальном времени и тем самым сокращать необходимость создания AVI-файлов предварительного просмотра для контроля продвижения работы. Очевидно возникнут персональные предпочтения при воспроизведении, но знайте, что в применении методов воспроизведения 3DS МАХ есть большие преимущества.

Диалог Time Configuration предоставляет возможность указать, будет ли воспроизведение проходить в реальном времени и будет ли задействовано только Active Viewport. Кроме того, 3DS МАХ предоставляет возможность воспроизвести только отдельные из видовых окон, например только Camera и Тор. Для этого другие видовые окна отключаются. Отключить видовое окно можно путем щелчка правой кнопкой на заголовке видового окна и выбора Disable View из всплывающего меню или использования "горячей" клавиши D. Неактивные видовые окна не показывают анимацию во время воспроизведения сцены.

ПРИМЕЧАНИЕ

По-прежнему можно наблюдать анимацию а неактивном видовом окне, просто выделив его. 3DS МАХ временно повторно активизирует видовое окно до тех пор, пока не будет выбрано другое окно.

Помимо способности проигрывать анимацию всех объектов сцены 3DS МАХ позволяет проиграть анимацию только выделенных объектов. Подобный метод воспроизведения можно задействовать, щелкнув и удержав Play Animation и затем выделив пиктограмму Play Selected из выпадающего списка. Данный механизм предельно эффективен при работе с насыщенной геометрией. Он позволяет увеличить скорость отображения. Например, если вы работаете над сценой, содержащей персонажи, строения и автомобили, можно выделить набор оживляемых объектов, анимацию которых требуется предварительно просмотреть, а также оставить на экране все остальные объекты. При воспроизведении анимации 3DS МАХ временно спрячет все невыделенные объекты, оставив на экране только выделенные и неоживляемые. Это можно считать динамической функцией сокрытия для индивидуальных видовых окон.

3DS МАХ оснащен несколькими опциями для прохода по времени. Используя кнопки кадровой индексации из области Play Control, можно индексировать начало или конец активного сегмента или индексировать вперед и назад по одному кадру. Гораздо более мощным механизмом является индексация во времени ключевых кадров и анализ анимации, задаваемой ключами трансформации. Для активизации индекса Key Step следует выделить кнопку Key Mode Toggle (переключатель режима ключей). Обратите внимание на то, что при выделенном режиме Key Step изменяются графические глифы для кнопок Previous и Next Frame. Щелчок на данных кнопках переносит на предыдущий или последующий ключ трансформации. Выбирая различные опции Key Steps в диалоге Time Configuration, можно управлять тем, какие ключи трансформации используются для прохода по анимации. Данные опции обеспечивают возможность задания, будут ли применяться ключи трансформации только для выбранных объектов или для всех объектов. Кроме того в диалоге можно указать типы трансформаций.

Использование Track View

Как описывалось ранее, Track View показывает подвергающиеся анимации параметры, ассоциированные с каждым объектом, и ключи, созданные для каждого из параметров. Track View стартует из выпадающего диалога Edit или из линейки инструментов кнопкой, на которой изображены желтые коробки, висящие па стебле. Типичный Track View показан на рисунке 23.4. Здесь слева представлен иерархический список оживляемых элементов вместе с их параметрами. Справа в виде точек на дорожках параметров представлены ключи. Кроме того, справа на дорожках элементов показаны отметки диапазона. Отметки диапазона проходят по диапазону времени, для которого присутствуют ключи параметров, подчиненные данному элементу. Глядя на рисунок 23.4, можно сказать, что элемент BoxOl имеет по меньшей мере один параметр, у которого есть ключ на кадре 0, и параметр, у которого имеется ключ на кадре 100. Точно так же можно сказать, что по меньшей мере один параметр, подчиняющийся элементу SphereOl, имеет ключи, представленные на кадрах О и 23. Трансформация BoxOl была расширена и легко заметить, что ключи присутствуют па треке позиции в кадрах 0 и 100. Track View имеет пять разных режимов редактирования анимации:

  • Редактирование ключей (Edit keys)
  • Редактирование диапазонов (Edit ranges)
  • Позиционирование диапазонов (Position ranges)
  • Редактирование времени (Edit time)
  • Кривые функций (Function curves)

Track View, показанный на рисунке 23.4, находится в режиме Edit Keys. Каждый из режимов будет обсуждаться в последующих разделах главы. Но прежде всего мы рассмотрим структуру иерархического списка и элементов управления, общих для каждого из режимов редактирования.

Иерархический список

Иерархический список представляет структурированный вид элементов на сцене. Высшие уровни иерархии соответствуют главным группировкам в 3DS МАХ звуков, среды, материалов и объектов. Нижние уровни иерархии проходят по деталям сцены, таким как отдельные объекты, базовые объекты и модификаторы, примененные к базовым объектам, и параметры, ассоциирующиеся с базовым объектом и его модификато-рами. Самый нижний уровень иерархии содержит оживляемые параметры, ассоциированные со сценой.

Каждый уровень иерархии можно расширить или свернуть для отображения большего или меньшего количества деталей. Для редактирования анимационных ключей параметра ветви дерева расширяются до отображения данного параметра.

Корнем иерархического списка является мир (World). Подчиняющиеся миру элементы - это Sound (звук), Environment (среда), MEdit Materials (материалы из редактора материалов). Scene Materials (материалы сцены) и Objects (объекты) (см. рис. 23.5). Линейка диапазона для мира отражает оживляемый диапазон для всех подчиненных элементов за исключением Objects.

Ветвь Sound

Ветвь Sound хранит данные, связанные со звуком. Доступны два типа звуков: метроном и аудиофайл. Доступ к опциям звука можно получить, нажав на любом элементе в ветви звука для выбора элемента и затем либо щелкнув правой кнопкой мыши на данном элементе и выбрав из всплывающего меню Properties, либо нажав кнопку Properties на линейке инструментов. Либо же можно просто щелкнуть правой кнопкой мыши на одном из элементов. Любое из этих действий отображает диалог Sound Options (см. рис. 23.6).

В качестве звуковых файлов 3DS МАХ поддерживает WAV-файлы стандартного типа. Когда визуализируется формат файла AVI, звук WAV размещается в файле AVI. В Track View должны добавляться все звуки. Если выбранным звуковым фоном является AVI-файл со звуком, данный звук будет игнорироваться.

Для выбора звукового файла щелкните на Choose Sound (выбрать звук) и выделите звуковой файл в появившемся броузере файлов. Установите опцию Active. Для удаления активного звука нажмите Remove Sound (удалить звук). Для перезагрузки звука после его редактирования во внешнем приложении нажмите Reload Sound (перезагрузить звук). Для поддержки связи со звуковым файлом, но не проигрывании его во время воспроизведения, отключите опцию Active. Имеется возможность слышать звуковой файл при воспроизведении AVI-файла, созданного с активным звуковым файлом во время воспроизведения в видовом окне со включенным Real Time и во время транспортирования ползунка времени вперед. Громкость звукового файла показывается в Track View на звуковой дорожке (см. рис. 23.7). Для прослушивания звука требуется звуковая плата.

Метроном порождает мерные двухтональные сигналы. Частота сигналов указывается в поле Beats per minute (биений в минуту). Для поддержки установки Metronome в обеззвученном режиме отключите опцию Active. Метроном можно услышать во время воспроизведения в видовом окне со включенной опцией Real Time. Метроном использует динамик компьютера.

Ветвь Environment

Ветвь Environment показывает оживляемые элементы, ассоциированные со средой. Сюда входит фоновый свет, фоновый цвет и любые эффекты среды, определяемые в диалоге Rendering Environment (среда визуализации).

Ветви MEdit Materials и Scene Materials

Ветвь MEdit показывает поддающиеся анимации параметры, связанные с материалами, которые в настоящее время определены в шести ячейках Material Editor. Ветвь Scene Materials показывает то же самое для всех материалов, назначенных сцене в текущий момент. Один материал в иерархии может показываться несколько раз - как материал MEdit, как материал сцены и ниже объектов, которым он назначен.

Ветвь Objects

Ветвь Objects показывает оживляемые параметры, ассоциированные с определенными на сцене объектами. Иерархия показанных объектов определяется тем, какие объекты с какими связаны, и подобна отображаемому в Selected by Name (выбрано по имени) со включенной опцией Display Subtree (отобразить поддерево).

Расширение ветви объекта показано на рисунке 23.8. Если на объекте не размещалось никаких модифи-каторов, ветвь Modified Object заменяется ветвью Object.

Команды иерархического списка

Несколько команд Track View используется для управления отображением иерархического списка или применяется к элементам иерархического списка. Такими командами (см. рис. 23.9) являются:

  • Filters (фильтры)
  • Copy/Paste (копировать/вставить)
  • Assign Controller (присвоить контроллер)
  • Make Unique (сделать уникальным)
  • Parameter Curve Out-of-Range Type (кривые параметров типов вне диапазона)
  • Add/Delete Note Track (добавить/удалить трек примечаний)
  • Add/Delete Visibility Track (добавить/удалить трек видимости)

Команда Assign Controller применяется для назначения элементу нового контроллера. Контроллеры и использование данной команды описано в главе 24, "Контроллеры и выражения".

Команда Parameter Curve Out-of-Range управляет тем, как контроллер выводит значения для времени за пределами определенного диапазона. Действие опций команды лучше всего видно в режиме Function Curve. Данная команда описана в разделе "Работа с кривыми функций" позже в главе.

Остальные команды описаны в следующих разделах.

Фильтрование иерархического списка

Как видно из рисунка 23.8, полностью расширенный иерархический список может оказаться достаточно большим. 3DS МАХ обеспечивает набор выбираемых фильтров, которые помогают управлять размером отображения. Для установки фильтров войдите в диалог Filters, нажав на кнопку Filters (см. рис. 23.10). В разделе Show данного диалога можно выбрать, должны ли показываться указанные типы дорожек. Список фильтров самоочевиден за исключением опций Controller Types, Note Track и Visibility Tracks.

Контроллеры используются для хранения данных анимации (данных ключей) для каждой дорожки и для интерполяции значений, основываясь на данных между ключами. В 3DS МАХ доступно множество различных контроллеров, часть из которых даже не базируется на ключах. Полное описание контроллеров приведено в главе 24, "Контроллеры и выражения". Если данная опция включена, тип контроллера ассоциируется с каждым параметром, показанным вслед за названием параметра.

Note Tracks и Visibility Tracks являются дорожками, которые можно добавить к кажцому объекту. Фильтры обсуждаются в разделах "Note Traks" и "Visibility Tracks" позже в этой главе.

Раздел Show Only диалога Filters содержит три опции. Если включена опция Animated Tracks, показывается иерархия только оживляемых параметров. Рисунок 23.11 демонстрирует тот же иерархический список, который изображен на рисунке 23.8, но при включенной опции Animated Tracks. Как видно из рисунка, длина списка значительно уменьшилась, но остается ясным, какие параметры оживляются и как они связаны с объектом. Если вы вошли в Track View для настройки уже определенной анимации, обязательно выберите данную опцию, которая значительно упростит иерархический список.

Если выбрана опция Selected Objects (выбранные объекты), показываются параметры только выбранных объектов сцены. Данная опция используется вместе с опцией Animated Tracks для показа только оживляемых дорожек выбранных объектов.

Опция Selected Tracks скрывает все дорожки, которые не были выбраны перед включением данной опции. Имена всех дорожек в иерархическом списке выровнены слева, так что не всегда очевидно, для чего используется тот или иной параметр. Для изменения выборки показанных дорожек следует отключить данную опцию, выделить новые дорожки и вновь включить опцию.

Раздел Function Curve Display диалога Filters используется для управления цветом кривых функций, показываемых в режиме Function Curve и описанных в разделе "Работа с кривыми функций" позже в настоящей главе.

Копирование и вставка объектов

Используя кнопки Copy и Paste, находящиеся на линейке инструментов Track View, можно копировать элемент в иерархическом списке в один или более элементов того же типа. Копировать можно хотя и не все объекты, однако большинство. Обратитесь к главе 29 в 3D Studio MAX User's Guide, в которой приводится описание типов доступных для копирования элементов. Можно ли копировать элемент или нет определить проще всего, выбрав его и посмотрев, обесцвечена ли кнопка Copy. Если нет, элемент можно скопировать. Щелкните на кнопке Copy и выбранный элемент попадет в буфер.

Для вставки элемента из буфера выберите один или несколько элементов одного типа и щелкните на кнопке Paste. Если один или несколько выбранных элементов не принадлежат к одному типу, кнопка Paste будет обесцвечена.

После нажатия Paste возникает диалог Paste (см. рис. 23.12). Элемент может вставляться в виде копии или экземпляра. Как и в случае клонирования объектов в видовом окне, копия независима от оригинала. Если производятся изменения в чем-то одном, другое не затрагивается. Экземпляр же зависим от оригинала, то есть, если выполнить изменение в одном, другой изменяется сходным образом. Опция Replace All Instances (заменить все экземпляры) говорит 3DS МАХ о том, что следует делать, если элемент уже был вставлен как экземпляр. Если данная опция включена, все элементы, совместно использующие данный экземпляр, будут продолжать его использование и ссылаться на то, что вставлено. Если данная опция не включена, до выполнения вставки выбранные элементы будут сделаны уникальными (независимыми).

СОВЕТ

Copy и Paste полезны для извлечения операндов объекта Boolean. Просто создайте новый объект любого типа, выделите операнд, который хотите извлечь в Track View, сделайте его копию и вклейте в только что созданный объект.

Copy и Paste также являются очень удобным способом выполнения того, что другим путем сделать в 3DS МАХ нельзя. Для создания следующего по пути гизмо, скопируйте контроллер пути из настоящего объекта в подобъект гизмо. Данный процесс описывается более подробно в главе 24, "Контроллеры и выражения".

Создание уникального элемента

Используйте кнопку Make Unique для преобразования одного или нескольких экземпляров переменных в уникальные элементы. Данные элементы могут быть экземплярами контроллеров, экземплярами объектов или ссылками на объект. Для того, чтобы сделать набор элементов уникальным, выберите данные элементы и щелкните на кнопке Make Unique. Все экземплярные элементы в наборе станут независимыми от других элементов. Уникальные элементы в наборе не затрагиваются.

Note Tracks

3D Studio MAX предоставляет возможность запоминания примечаний для каждой дорожки в Track View. Для создания дорожки примечаний выберите элемент и щелкните на Add Note Track. Дорожка примечаний создается в виде ветви выбранного элемента. В случае выбора более одного элемента для каждого из них будет создана индивидуальная дорожка примечаний. Если для элемента ветвь уже существует, дорожка примечаний добавляется к этой ветви.

Для создания примечаний следует находиться в режиме Edit Key. Щелкните на Add Key и на дорожке примечаний в необходимое время. В результате будет создан ключ Note. Щелчок правой кнопкой мыши на ключе Note вызывает диалог Notes (см. рис. 23.13).

Номер примечания показан в верхнем левом углу диалога. Нажимая клавиши со стрелками можно перемещаться между примечаниями на данной дорожке. В середине верхней части отображается время, соответствующее данному примечанию. Пользователь может настраивать время. Вверху справа расположена опция Lock Key. Если данная опция установлена, примечание фиксируется на указанном времени и не будет перемещаться посредством различных команд Track View. Наконец, в окне текста печатается текст примечания. В данном окне доступны все стандартные операции копирования и вставки, доступные в Microsoft Windows. Первая строка текста из данного окна показывается вслед за ключом Note в Track View.

Для удаления дорожки Note, ее следует выбрать и щелкнуть на Delete Note Track (удалить дорожку примечаний). Для удаления только примечания выберите ключ Note и нажмите Delete Keys.

ПРЕДУПРЕЖДЕНИЕ

Все хранимые на дорожке примечания удаляются вместе с дорожкой. Если вы случайно удалите дорожку Note, для восстановления дорожки и ее примечании щелкните на Undo на главной линейке инструментов 3DS МАХ.

Visibility Tracks

Дорожки видимости, подобно скрытым (Hide) дорожкам в 3D Studio R4, можно применять к отдельным объектам. Для создания дорожек Visibility следует находиться в режиме Edit Key. Выберите объект, к которому хотите добавить дорожки Visibility, и нажмите Add Visibility track. Дорожки Visibility создаются как ветвь выбранного элемента (элементов).

СОВЕТ

Эффект Visibility tracks является не постепенным, но мгновенным. Для постепенно исчезающих объектов выполните анимацию непрозрачности материалов объекта.

К сожалению, для дорожек Visibility не предусмотрен специальный контроллер. Единственный способ определения видимости или невидимости объекта в заданный момент времени заключается в создании ключа в данное время и редактирование его значения в Key Info. (Доступ к диалогу Key Info описан в разделе "Работа с ключами и диапазонами".) Если значение ключа меньше или равно нулю, объект в данное время невидим. Если значение ключа больше 0, объект видим. Поскольку по умолчанию для параметра Visibility используется контроллер Безье-сплайна, последний интерполирует значения между последовательными ключами и заставляет объект становиться видимым или невидимым преждевременно. Для предотвращения подобного эффекта следует установить тангенциальный тип In и Out для каждого из ключей в тангенциальный тип Step в рамках диалога Key Info. Щелкните и удержите кнопку тангенциального типа In и Out в диалоге Key Info и выберите тангенциальный тип Step, как показано на рисунке 23.14.

Работа с ключами и диапазонами

В окне редактирования Track View ключи отображаются на дорожках параметров в виде точек, а линии диапазонов показаны на дорожках элементов. Линии диапазонов проходят по всему диапазону времени, для которого существуют ключи параметров, подчиняющихся данному элементу. Для создания и редактирования ключей предназначен режим Edit Key. Режимы Edit Key и Edit Ranges используются для настройки времени, ассоциированного с ключами. Режим Position Ranges применяется для настройки диапазонов без настройки ключей, ассоциированных с диапазонами.

Команды Track View, которые воздействуют на окно Edit, доступны во всех режимах редактирования Track View. Командами являются Snap Frame и Lock Selection. Рисунок 23.15 показывает кнопки данных команд.

Обычно при работе с ключами требуется, чтобы они оставались точно в кадре. Однако, если вы имеете дело с детальной анимацией, может возникнуть необходимость поместить ключи в подкадры. При нажатой Snap Frame все создаваемые или модифицируемые ключи вынуждаются показываться у ближайшего номера кадра. Если Snap Frame выключена, можно создать или модифицировать ключи на уровне Tick (помните, что в секунде 4800 тиков).

ПРЕДУПРЕЖДЕНИЕ

Если отображение времени установлено в Frames или SMPTE, точное время создания или модификации ключей с отключенной Snap Frame получить нельзя. Кроме того, при открытии доступа к диалогу Key Info тогда, когда отображение времени установлено в Frames или SMPTE, время ключа будет перемещаться к отображаемому значению.

После выбора одного или нескольких ключей нетрудно случайно отменить выборку, щелкнув в окне Edit. Для блокировки или разблокировки выборок ключей щелкните на Lock Selection.

Создание ключей

Для создания ключей в Track View следует находиться в режиме Key Edit. Для создания ключа расширьте иерархию так, чтобы отображать параметр, для которого необходимо создать ключ, щелкните на Add Keys и на дорожке параметра в требуемый момент времени.

Ключи трансформации объектов (рабположения, вращения и масштабирования) можно также создавать в панели Motion в рамках ветви Parameters (см. рис. 23.17). Для создания ключа в панели команд Motion выберите объект и установите Time Slider (ползунок времени) на подходящий кадр. В свитке PRS Parameters щелкните на соответствующей кнопке в разделе Create Key. Обратите внимание на то, что кнопка Animate при создании ключа необязательно должна быть включенной.

Удаление ключей

Для удаления кгпочсй в Track View следует находиться в режиме Edit Key. Расширьте иерархию так, чтобы отображать параметр, ключ которого необходимо удалить, выберите ключ (ключи) и щелкните на кнопке Delete Keys.

Ключи трансформации объекта (расположение, вращение и масштабирование) можно удалять и в панели Motion в пределах ветви Parameters. Для удаления ключа в панели команд Motion выберите объект и установите Time Slider на соответствующем кадре. В свитке PRS Parameters щелкните на подходящей кнопке в разделе Delete Key. Обратите внимание на то, что имеется возможность перемещения между ключами, выделяя тип трансформации ключа, который необходимо удалить, в нижней части свитка PRS Parameters и щелкая на кнопках со стрелками рядом с номером ключа в верхней части свитка Key Info (Basic).

Редактирование значений ключей

Для редактирования значений ключа в Track View выберите ключ и щелкните на Properties или просто щелкните на ключе правой кнопкой мыши. Для данного ключа появится диалог Key Info. Точный формат диалога Key Info зависит от типа контроллера, присвоенного параметру, и количества значений, возвращенных контроллером. Вместе с 3DS МАХ распространяются два типа ключ-базированных контроллеров. Это контроллер Tension/Continuity/Bias (TCB) и контроллер Безье. Разница между двумя контроллерами заключается в способе интерполяции значений между ключами. Данные контроллеры и методы настройки их параметров интерполяции обсуждаются в главе 24, "Контроллеры и выражения".

Обычно контроллеры возвращают одно, три или четыре значения. Контроллеры, возвращающие одно значение, используются для параметров создания объекта, настройки параметров для модификаторов и единичного поля параметров для материалов. Контроллеры, которые возвращают три значения, обычно применяются для позиционирования и масштабирования объектов и для цветов. Контроллеры, возвращающие четыре значения, обычно используются для вращения объектов. Рисунок 23.18 показывает диалоги Key Info для контроллера Безье, возвращающего три значения и контроллера TCB, возвращающего четыре значения.

Номер ключа отображается в верхней левой части диалога. Нажимая на кнопки со стрелками, можно перемещаться между ключами данной дорожки. Поле Time показывает время, в которое ключ был размещен. Настроить время можно путем ввода нового значения или выполнения щелчка на счетчике. Кнопка L блокирует ключ и указанное время. Если данная опция установлена, ключ фиксируется на указанном времени и не будет сдвигаться при перемещениях, сдвигах и командах масштабирования в Track View.

Следующими в диалоге идут значения для ключей или ключевые значения. И здесь можно осуществить настройку значения, вводя новые или щелкая на счетчике. Остальные поля используются для управления параметрами интерполяции для данного ключа и описываются в главе 24.

Также можно редактировать ключи трансформации объекта (расположение, вращение и масштабирование) в ветви Parameters панели Motion. Для редактирования ключа в панели команд Motion выберите объект и установите Time Slider на соответствующий кадр. В свитке PRS Parameter выберите требуемый для редактирования тип трансформации ключа. После этого значения ключа можно настроить в свитке Key Info (Basic).

Настройка хронометрирования ключей

Хотя вы и можете настроить хронометрирование ключей в Track View и на панели Motion путем редактирования значения времени ключа описанным выше способом, но здесь вы ограничены работой только с одним ключом одновременно. Часто возникает необходимость настроить время нескольких ключей или настроить время одних ключей относительно других.

В режиме Edit Key в Track View 3DS МАХ поддерживает еще четыре мощных инструмента для настройки времени ключей:

  • Выравнивание ключей (Align keys)
  • Перемещение ключей (Move keys)
  • Сдвиг ключей (Slide keys)
  • Масштабирование ключей (Scale keys)

СОВЕТ

После выбора набора ключей можете щелкнуть на Lock Selection для обеспечения гарантии, что для какого-то из ключей выборка не будет случайно отменена.

Align Keys работает с текущей выборкой ключей. Align Keys перемещает ключи так, что время первого выбранного ключа на каждой дорожке становится временем, указанным Time Slider (и показанным в Track View вертикальной линией). Любой выбранный ключ, который не является первым выбранным на дорожке, перемещается на такую же величину времени, что и первый выбранный ключ. Время, связанное с невыбранными ключами, не изменяется.

Move Keys просто перемещает выбранный набор ключей во времени. Перемещаются только выбранные ключи. Время, связанное с невыбранными ключами, не изменяется. Ключи можно выбирать перед или после того, как выполнен щелчок на Move Keys. Вы можете клонировать и перемещать набор ключей, удерживая клавишу Shift.

Slide Keys перемещает выбранный набор ключей во времени, но также и перемещает ключи, которые имеются перед или после смещаемых. Если выбранные ключи перемещаются вправо (время возрастает), ключи справа от выбранных перемещаются вправо на такую же величину. Подобным же образом, если выбранные ключи перемещаются влево (время уменьшается), ключи слева от выбранных перемещаются влево на ту же самую величину. Временная взаимосвязь ключей внутри выбранного набора не изменяется. Сдвигаемые ключи можно выбрать перед или после щелчка на кнопке Slide Keys.

Scale Keys масштабирует время, связанное с выбранными ключами, с учетом текущего времени. Выбранные ключи пропорционально смещаются как от текущего времени, так и к нему (обозначенному вертикальной линией в окне редактирования). Для этого выбранный ключ транспортируется от или к текущему времени. Время, связанное с невыбранными ключами, не изменяется. Ключи для масштабирования можно выбрать перед или после щелчка на Scale Keys. Вы можете клонировать или масштабировать набор ключей посредством клавиши Shift.

Настройка хронометрирования ключей через линейки диапазонов

В дополнение к указанным методам настройки хронометрирования ключей можно настроить отсчет времени, управляя линейками диапазонов (Range Bars). Если щелкнуть и транспортировать линейку диапазона элемента, линейки диапазонов и ключи всех подчиненных элементов также будут двигаться. Если щелкнуть и транспортировать конечную точку линейки диапазона элемента, линейки диапазонов всех подчиненных элементов будут масштабироваться в направлении, противоположном конечной точки. Если, например, транспортировать конечную точку линейки диапазона World, будет масштабироваться вся анимация.

Используя режим Edit Ranges (см. рис. 23.19), можно отобразить линейку диапазона для оживляемой дорожки, а не отображать ключи на данной дорожке. Настройка линейки диапазона оживляемой дорожки как было описано выше будет перемещать или масштабировать только ключи данной дорожки.

Если имеются связанные объекты, доступна опция Modify Subtree, предоставляющая возможность настройки диапазона подчиненных объектов в момент настройки диапазона родительского объекта. Данная опция доступна в режиме Edit Ranges. Если включить Modify Subtree щелкнув на ней, линейка диапазона родительского объекта увеличится так, чтобы покрыть оживляемый диапазон данного объекта и всех подчиненных объектов. Перемещение или масштабирование линейки диапазона родителя будет оказывать влияние на ключи всех подчиненных объектов.

Работа со временем

В данном разделе освещаются технические приемы редактирования блоков времени в 3DS МАХ с применением режима Edit Time в Track View. Рисунок 23.20 показывает командные кнопки для режима Edit Time. Хотя временем манипулируют независимо от ключей анимации, главной целью режима Edit Time является изменение времени ключей. При переходе в режим Edit Time окно редактирования Track View все еще показывает ключи и диапазоны, но они обесцвечены и служат только для справок.

Первый шаг при переходе в Edit Time заключается в выборе дорожек, для которых необходимо редактировать время. Выберите один или несколько элементов в иерархическом списке, используя стандартные инструменты выбора.

ПРИМЕЧАНИЕ

Хотя имеется возможность выбрать и неоживляемый объект, Edit Time на него никакого влияния не оказывает.

Все инструменты в Edit Time - за исключением Insert Time (вставить время) - требуют, чтобы блок времени был определен. Блок времени определяется путем щелчка на Select Time или Scale Time и выполнения транспортировки в окне редактирования. Блок времени показывается как жирная черная линия в выбранной дорожке. Альтернативно можно ввести начало и конец блока в редактируемые поля в нижней части Track View.

Вставка времени

Для вставки времени в выбранные дорожки щелкните на Insert Time и в пределах любой дорожки транспортируйте от временной точки, где вы хотите вставить время. Если выполняется транспортировка вправо, время будет вставлено в выбранные дорожки. При транспортировке влево в выбранные дорожки будет вставлено негативное время (т.е. время будет удалено). Подобно показанному на рисунке 23.21, желтые вертикальные линии вычерчиваются для отображения экстентов добавленного или удаленного времени, а время, ассоциированное с этими линиями, показывается в полях внизу Track View. Кроме того, в выбранных дорожках рисуются жирные черные линии, отображающие удаленное или вставленное время. Ключи справа от времени, ассоциированного с начальным щелчком, перемещаются так, чтобы отражать изменение во времени.

Масштабирование времени

Для масштабирования блока времени в выбранных дорожках щелкните на Scale Time и транспортируйте отмеченный блок времени. Транспортируйте вправо для увеличения масштаба времени и влево для уменьшения. Время масштабируется с левой стороны блока времени.

Реверсирование времени

Reverse Time используется для создания зеркального образа ключей в блоке времени. Реверсируется и порядок ключей, и время между ключами. Рисунок 23.22 показывает эффект Reverse Time для одной дорожки.

Ключи в конечных точках реверсируемого диапазона зависят от состояния кнопок Exclude Left End Point (исключить левую конечную точку) и Exclude Right End Point (исключить правую конечную точку) на линейке инструментов Track View. Если кнопка нажата, ключ, находящийся в начале времени, не отражается и остается на месте. Точно так же Exclude Left End Point исключает ключ в конце времени.

Удаление времени

Delete Times удаляет блок времени и все ключи в нем. Ключи справа от конечного времени перемещаются влево на величину удаленного времени. При нажатых Exclude Left End Point и Exclude Right End Point ключи соответственно в начальной или конечной точках удаляться не будут. Если нажаты и Exclude Left End Point, и Exclude Right End Point и ключи существуют в начале и в конце времени, один из ключей будет удален. Если в режиме Edit Key не был удален ни один из ключей, удаляется ключ в конце времени. Если в режиме Edit Key были выбраны оба ключа, удаляется ключ в начале времени. В Противном случае будет удален невыбранный ключ.

Использование Time Clipboard

Time Clipboard применяется для запоминания блока времени и ассоциированных с ним ключей. Пользователь может вырезать или копировать блоки времени в Time Clipboard и затем вставлять их оттуда. В отличие от копирования ключей в режиме Edit Key, блоки времени и ключи можно вставлять в другие оживляемые дорожки.

Вотличис от других команд Edit Time, для Time Clipboard можно выбирать в дереве иерархии только те дорожки, с которыми можно выполнить анимацию. Если выбираются неоживляемые дорожки, команды Time Clipboard обесцвечиваются.

Для копирования блока времени в Time Clipboard отметьте блок времени и щелкните на Copy Track или Cut Track. Если нажимается Copy Track, исходный блок и его ключи не затрагиваются. Если нажата Cut Track, блок времени и его ключи удаляются. Перед выполнением Cut Track можно нажать кнопки Exclude Left End Point и Exclude Right End Point. Если ключи существуют и в начальной, и в конечной точках, используется та же логика, что и для Delete Time.

Для вставки из Time Clipboard следует выбрать целевые дорожки, которые примут вставку. Самый простой случай - когда произведено копирование и выполняется вставка в одну дорожку. Здесь тип контроллера принимающей дорожки должен совпадать с типом контроллера исходной дорожки (типы контроллеров обсуждаются в главе 24). Для отображения типов контроллеров щелкните на Filters и включите Show Controller Types (показать типы контроллеров). В результате рядом с каждым элементом в иерархическом списке будет показан тип контроллера. Внутри иерархии объектов можно безопасно считать, что нетрансформируемые связанные элементы используют плавающий контроллер Безье (Bezier Float controller), даже если для элемента не показано никакого контроллера. Рисунок 23.23 демонстрирует иерархический список со включенным Show Controller Types. Для назначения контроллера элементу, у которого контроллера нет, выберите элемент, щелкните на Assign Controller и выберите контроллер, совпадающий с контроллером исходного элемента в диалоге Replace Controller (см. рис. 23.24). Если диалог Replace Controller не показывает тот же тип контроллера, как и у исходного элемента, не будет возможности вклеивать из данного источника в данную цель.

При вставке из нескольких элементов в несколько элементов или из одного элемента в несколько элементов каждая целевая дорожка должна иметь такой же тип контроллера, что и соответствующая исходная дорожка. Если совпадет только контроллер первой дорожки или несколько первых контроллеров, 3DS МАХ выполнит операцию вставки до первого несовпадающего контроллера.

После выбора целевых дорожек для приема вставки необходимо указать, где во времени выполнять вставку. Здесь доступны две возможности: выбрать одну точку во времени или очертить диапазон времени. В случае указания одной точки во времени она станет точкой вставки. Блок времени из Time Clipboard будет вставлен в эту точку и любые исходные ключи справа от точки вставки сдвинутся вправо на длину вставленного времени.

Если указан диапазон времени для вставки, то прежде чем вставка выполнится, данный диапазон времени будет удален. Любые исходные ключи справа от конечной точки перемещаются вправо на длину вставляемого времени минус длина времени специфицированного диапазона.

После выбора элементов для приема вставки и времени для размещения нажмите Paste Track. На экране появится диалог Paste Track (см. рис. 23.25) в котором есть опции для абсолютной или относительной вклейки блока. Данные опции относятся к обработке ключевых значений в противоположность времени.

Если выбрана опция Paste Absolute (вклеить абсолютно), то значения, ассоциированные с вклеиваемыми ключами, имеют в точности те же значения, что и исходные ключи. Если выбрана опция Paste Relative (вклеить относительно), значение элемента во время вставки добавляется к ключевым значениям всех вставляемых ключей. В качестве примера предположим, что копируется дорожка высоты BoxOl в Вох02. Высота BoxOl в точке вставки равна 100, а высота Вох02 равна 50. Если выбрана Paste Absolute, высота Вох02 будет составлять 100. Если выбрана Paste Relative, высота Вох02 будет равна 150.

Сокращение ключей

Команда Reducing Keys действует на ключи так же, как модификатор Optimize действует на геометрию - сокращает сложность, поддерживая указанный уровень детализации. Для каждой выбранной дорожки Reduce Keys анализирует ключи в блоке времени и создает новый уменьшенный набор ключей, обеспечивающих практически такой же результат, что и исходные. Reduce Keys удобен для постпроцессорной обработки движений инверсной кинематики, а также для ключевых кадров, порожденных системами захвата движений (Motion Capture Systems).

С целью сокращения ключей для блока времени на выбранных дорожках щелкните на Reduce Keys. На экране возникает диалог Reduce Keys (см. рис. 23.26), предоставляющий возможность выбрать значение Threshold (порог). Значение Threshold указывает, насколько могут различаться исходное значение каждого кадра и значение кадра с сокращенным набором ключей. Единицей измерения служит текущая единица для длины и градусы для углов. Каждая выбранная дорожка оценивается независимо от других выбранных дорожек.

Работа с кривыми функций

Следующим режимом редактирования в Track View является режим Function Curve. В других режимах показывается положение ключей и диапазонов с учетом времени, но не указывается действительных используемых значений анимации. Режим Function Curve для выделенных оживляемых элементов отображает и значения анимации в ключах, и интерполированные значения между ключами. В режиме Function Curve при изменении значений ключей эффект изменения показывается на выводе контроллера. Подобная работа предоставляет возможность тонко настраивать значения анимации, подгоняя форму кривых функций во времени. В режиме Function Curves могут отображаться только оживляемые элементы с клгоч-базированными контроллерами.

Для отображения кривой функции для элемента выберите один или несколько элементов и щелкните на Function Curves. Окно редактирования Track View изменится с целью отображения формы вывода контроллера элемента во времени (см. рис. 23.27), и на линейке инструментов Track View появляется новый набор командных кнопок (см. рис. 23.28). Для отображения ключей для кривой щелкните на ней. Значения, ассоциированные с каждым ключом, показываются как вершины кривой, а зеленый треугольник рядом с элементом в иерархии, генерирующем данную кривую, станет подсвеченным. Если данный элемент выводит более одного значения (например, положение, масштаб или цвет), ключевые вершины будут отображены на всех кривых, связанных с данным элементом.

ПРИМЕЧАНИЕ

Контроллер стандартного вращения выводит четыре значения и не отображается в виде кривой функции.

В описанном ранее диалоге Filters один раздел был посвящен опциям отображения кривой функции. Данные опции управляют тем, показывать ли кривые контроллеров масштаба, вращения или положения и кривые контроллеров цвета. Вращение включается как опция в случае, когда становится доступным трехкомпонентный контроллер вращения.

Редактирование кривых функций

Для редактирования кривой прежде всего следует выбрать одну или несколько ее вершин. Выбор осуществляется посредством стандартных элементов выбора 3DS МАХ. С целью предотвращения случайной отмены выбора в наборе ключей щелкните на Lock Selection. В случае отображения кривых множества элементов и желании выбрать вершины только некоторых, выберите кривые, с которыми будете работать, и щелкните на Freeze Nonselected Curves. Это предотвратит кривые, которые решено не настраивать, от случайного выбора и модификации.

После этого выбранные вершины можно редактировать по команде Move Keys, масштабировать ключи во времени с использованием Scale Keys по отношению к текущему времени, масштабировать значения, ассоциированные с ключами, по отношению к 0, используя Scale Values, или удалять ключи используя команду Delete Keys. При работе с командами Move Keys или Scale Keys применительно к вершинам, ассоциированные контроллеры которых выводят более одного значения, соответствующие вершины на других кривых контроллера перемещаются во времени вместе с выбранными вершинами. Обратите внимание на то, что команда Move Keys может настраиваться для перемещения только вертикально или горизонтально. Для этого следует щелкнуть и удержать кнопку Move Keys и выбрать подходящую кнопку из подменю Move Keys.

Выбранные ключи можно выровнять относительно текущего времени, щелкнув на Align Keys. Если для элемента выбрано более одного ключа, по текущему времени выравнивается самый левый ключ, а остальные выбранные ключи перемещаются на ту же величину, что и самый левый ключ. Невыделенные ключи не перемещаются.

Значения, ассоциированные с отдельными вершинами, настраиваются посредством Key Info и щелчка правой кнопкой на вершине, выбором вершин и щелчком на Properties или выбором вершин и вводом значений в поля в нижней части Track View.

СОВЕТ

Время и значение для каждой выбранной вершины отображается рядом с вершиной после щелчка на Show Selected Key Stats. Рисунок 23.29 показывает кривую функции со включенным Show Selected Key Stats.

Ключи можно добавить к кривой, щелкнув на Add Keys и на кривой. Ключ добавится в указанную точку со значением ключа, равным текущему значению в данной точке.

В Function Curves можно также настроить параметры интерполяции, ассоциированные с каждой вершиной. Об этом будет рассказано в главе 24.

Применение кривых Ease и Multiplier

Кривые Ease и Multiplier применимы к любому оживляемому параметру. Ease Curve влияет на время ключей контроллера, к которому применяется. Multiplier Curve влияет на выводное значение контроллера, к которому применена. Для применения Ease Curve выберите один или несколько оживляемых элементов и щелкните на Apply Ease Сигуе.Для доступа к команде Multiplier Curve щелкните и удержите Apply Ease Curve и затем выберите из подменю Apply Multiplier Curve. Multiplier Curves присваиваются выбранным элементам таким же образом, как и Ease Curves.

Что такое Ease Curves проще понять на примере.

  1. Загрузите файл easecurv.max из папки Chapter 23 сопровождающего CD.
    Сцена состоит из двух коробок, перемещающихся по верхнему окну с одинаковой скоростью. Вох02 (нижняя коробка) уже имеет примененную Ease Curve, но это Ease Curve по умолчанию, которая не влияет на время.
  2. Расширьте дорожки для Вох02 так, чтобы они достигали Ease Curve, примененной к дорожке Position. Выберите Ease Curve и щелкните на Function Curves (см. рис. 23.30).
    Горизонтальная шкала времени представляет нормальное время, а вертикальная шкала - время, как оно видится контроллером, к которому применена Ease Curve. Самый легкий способ прочитать граф заключается в транспортировке горизонтальной линейки времени вниз на Ease Curve. Поскольку кривая по умолчанию является прямой линией с наклоном 1:1, ее вводное и выводное время одинаковы.
  3. Щелкните на Ease Curve и выделите среднюю вершину. Измените значение вершины на 30. Транспортируйте линейку времени вниз, так чтобы она встретилась с кривой на кадре 50 линейки (рис. 23.31).
    Горизонтальная линейка времени встречает вертикальную шкалу времени на значении 30. Таким образом позиция коробки на кадре 50 является позицией, которую коробка имела бы в кадре 30, если бы не было Ease Curve. Это можно наблюдать, перемещая ползунок времени к кадру 30, заметив позицию верхней коробки и затем перемещаясь к кадру 50. Нижняя коробка переместится на 50 кадров, тогда как верхняя - на 30 кадров.
  4. Откройте окно Track View, выберите дорожку Position для Вох02 и щелкните на Function Curves. Щелкните на кривой для отображения ключей.
  5. Настройте среднюю вершину Ease Curve и наблюдайте изменения, отражаемые на дорожке Position. Заметьте, как изменяется время ключей на дорожке Position при изменениях в Ease Curve. Если настроить Ease Curve так, чтобы часть кривой была меньше 0 или больше 100, кривая Position сжимается у значения соответственно первого или последнего ключа позиции. Так происходит ввиду того, что поведение по умолчанию контроллеров за пределами диапазона их ключей состоит в сохранении постоянности значения, использованного в конце диапазона.

Применение Multiplier Curve приводит к умножению значения контроллера на значение, задаваемое Multiplier Curve.По умолчанию Multiplier Curve является горизонтальной линией со значением 1.0.

Ease Curves и Multiplier Curves можно удалять, выбрав имя кривой в иерархическом списке и щелкнув на Delete Ease/Multiplier Curve. Ease Curves и Multiplier Curves можно отключать путем выбора имени кривой и щелчка на Ease/Multiplier Curve Enable/Disable Toggle.

Типы Out-of-Range

Как утверждалось ранее, вывод контроллера по умолчанию вне диапазона его ключей заключается в выводе значения ближайшего ключа. Подобное действие называется типом Constant Out-of-Range (ORT). Как к правой, так и к левой сторонам диапазона можно применить шесть ORT. Кроме того, сами диапазоны можно разъединить с базовыми ключами, предоставляя возможность создания петель или повторяющихся циклов. Шесть упомянутых ORT таковы: Constant, Cycle, Loop, Ping Pong, Linear и Relative Repeat.

Для изменения ORT элемента, подвергающегося анимации, выделите элемент в иерархическом списке и щелкните на Parameter Curve Out-of-Range Types. Возникающий диалог Param Curve Out-of-Range Types (см. рис. 23.32) предоставляет возможность применить любой из шести типов к диапазону до или после него. Сплошная часть каждой линии показывает пример кривой функции в диапазоне. Пунктирная часть линии демонстрирует влияние, которое каждый ORT будет оказывать вне диапазона. В предыдущем примере, иллюстрирующем Ease Curves, ORT, который скорее всего применялся к движению коробок, был Linear ORT - коробки продолжали движение по прямой линии. Для мяча, прыгающего вниз по лестнице, можно было бы выполнить анимацию одного прыжка и затем зациклить анимацию, чтобы заставить мяч прыгать вниз оставшуюся часть лестницы. В следующем примере будет сделано именно так.

Влияние типов Out-of-Range на движение предмета

  1. Загрузите файл bouncer.max из папки Chapter 23 на сопровождающем диске. Сцена состоит из мяча, прыгающего по ступенькам вниз.
  2. В Track View расширьте дорожки для Ball до дорожки Position. Обратите внимание на то, что линейка диапазона для дорожки Transform мяча начинается с нуля и завершается на 16. Выберите дорожку Position и щелкните на Function Curves.
  3. Выберите на сцене мяч и на панели команд Motion щелкните на Trajectories (см. рис. 23.33). Траектория мяча отображается в видовом окне.
  4. Проиграйте анимацию и продолжайте проигрывать ее до конца упражнения. Мяч прыгает с одной ступеньки на другую и затем неподвижно застывает. Здесь использовался Constant ORT по умолчанию, поэтому позиция мяча после кадра 16 (конец диапазона позиции) остается постоянной.
  5. Щелкните на Parameter Curve Out-of-Range Types и нажмите кнопки in и out для Cycle. Нажмите на ОК. Мяч прыгает с одной ступеньки на другую и затем немедленно возвращается на первую ступеньку и прыгает вновь.
  6. Щелкните на Parameter Curve Out-of-Range Types и нажмите кнопки in и out для Loop. Нажмите на ОК. Движение мяча будет таким же, как и для Cycle. Loop ORT прыгает со значения последнего ключа на значение первого ключа. Loop ORT выполняет интерполяцию между этими двумя значениями. В данном примере первый и последний ключи находятся на самых границах диапазона. Следовательно, нет времени для интерполяции между двумя значениями.
  7. Щелкните на Parameter Curve Out-of-Range Types и затем на кнопках in и out для Ping Pong. Щелкните на ОК. Мяч будет прыгать вперед и назад между первой и второй ступеньками.
  8. Щелкните на Parameter Curve Out-of-Range Types и нажмите кнопки in и out для Linear. Нажмите на ОК. Мяч прыгнет на вторую ступеньку и последует по своему пути сквозь ступеньку.
  9. Щелкните на Parameter Curve Out-of-Range Types и нажмите кнопки in и out для Relative Repeat. Нажмите ОК. Мяч будет прыгать вниз по всему лестничному пролету.

ПРИМЕЧАНИЕ

Out-of-Range Type для Ease и Multiplier Curves можно изменить, находясь в режиме Function Curve и используя кнопки команд Ease ORT и Mutiplier ORT.

Режим Position Ranges

Линии диапазона для оживляемого элемента обычно начинаются у первого ключа и завершаются у последнего. 3DS МАХ предоставляет возможность отсоединить диапазон для элемента от его ключей. Подобный прием обеспечивает дополнительную гибкость при создании петель и циклов.

Для отсоединения линии диапазона дорожки выберите дорожку и щелкните на Position Ranges. На линейке инструментов Track View отобразится новый набор командных кнопок (см. рис. 23.34). Отображение дорожек изменится так, чтобы показывать линию диапазона для каждой дорожки, проходящей по ключам дорожки. Можно перемещать линию диапазона, транспортируя ее, или настроить длину линии диапазона, транспортируя конечные точки линии. Рисунок 23.25 показывает пример линии диапазона, отсоединенной от ключей дорожки. Ключи располагаются в кадрах 0, 20 и 80. Линия диапазона проходит по кадрам от 10 до 90. Рисунок 23.36 показывает кривую функции, связанной с данной дорожкой. Тип Out-of- Range, примененный к данной дорожке, - это Constant ORT. В кадрах с 10 по 20 применяются значения, являющиеся интерполяцией значений ключей в кадрах 0 и 20. В кадрах с 0 по 10 значения равны значению в начале диапазона (благодаря использованию Constant ORT). В кадрах с 20 по 80 используются значения, являющиеся интерполяцией значений ключей в кадрах 20 и 80. В кадрах с 90 по 100 значения являются значениями, представляющими конец диапазона (благодаря применению Constant ORT).

Работа с траекториями

Из предыдущего упражнения было видно, что часть Trajectories панели команд Motion можно использовать для отображения в видовых окнах траекторий выбранных объектов. Траектория изображается в виде голубой линии с желтыми точками, обозначающими позиции кадров, и белыми квадратиками, обозначающими позиции ключей.

Работая в Trajectory, можно редактировать ключи кривой траектории, преобразовывать траекторию в сплайн или преобразовывать сплайн в траекторию. Для редактирования ключей траектории щелкните на Sub-Object в ветви Trajectory панели Motion (см. рис. 23.37). Это предоставит возможность выбрать один или несколько ключей, а также перемещать, вращать или масштабировать их.

ПРИМЕЧАНИЕ

При вращении или масштабировании ключей следует убедиться, что включен Use Transform Coordinate Center или Use Selection Center (расположенный на главной линейке инструментов 3DS МАХ). В противном случае каждый ключ будет вращаться или масштабироваться относительно самого себя.

Редактируя ключи траектории, легко заметить, что необходимы дополнительные ключи или у вас имеется больше ключей, чем необходимо для получения желаемого движения. Для добавления дополнительных ключей включите Sub-Object Keys, щелкните на Add Keys и затем на траектории в позиции, где необходим дополнительный ключ. Для удаления ключей включите Sub-Object Keys, выделите удаляемые ключи и щелкните на Delete Key.

В ряде случаев для редактирования с применением модификаторов формы проще преобразовать траекторию в сплайн. Сплайн создается экземпляризацией указанного диапазона времени, где каждая вершина сплайна является одним из созданных экземпляров. Взятые экземпляры равномерно распределяются во времени, в противоположность равномерному распределению по длине траектории. Область времени для экзем-пляризации указывается установкой Start Time во время, с которого хотелось начать экземпляризацию, и End Time - во время, когда хотелось ее завершить. Samples устанавливается в количество экземпляров, которые следует взять в указанном диапазоне времени. Щелкните на Convert To для преобразования траектории в сплайн с указанными параметрами.

В качестве траектории для объекта можно использовать отредактированный или новый сплайн. Для выбора сплайна, используемого в качестве траектории, нажмите Convert From. Из сплайна берутся экземпляры и конвертируются в положения ключей. Поля Start Time и End Time указывают диапазон времени, внутри которого разместятся эти ключи. Любые существующие в данном диапазоне ключи будут удалены. Любые ключи, существующие вне диапазона, не принимаются во внимание. Экземпляры берутся так, чтобы ключи, представляющие вершины сплайна, равномерно размещались во времени. Это означает, что взятые экземпляры обязательно равномерно располагаются по длине сплайна. (В главе 24 упражнение "Создание горящего фитиля с использованием оживленной шкалы лофтинга, системы частиц и контроллер пути" описывает, как повторно взять экземпляры сплайна для получения ключей, равномерно распределенных по длине.)


ГЛАВА 24

Использование контроллеров и выражений

Каждый раз при выполнении анимации объекта на сцене 3D Studio MAX сохраняет все данные, необходимые для репродуцирования анимации. Поскольку вы не указываете, как объект будет оживляться в каждом кадре, 3DS МАХ должна рассчитать (интерполировать) данные анимации для кадров, данные анимации которых не заданы. В предыдущих версиях 3D Studio способ сохранения этих данных не был доступен пользователю. Более того, существовал только один тип интерполяции.

Все данные анимации в 3D Studio MAX обрабатываются элементами, которые называются контроллерами и хранят значения анимации, а также управляют интерполяцией от одного значения к другому. 3DS МАХ распространяется со множеством контроллеров. Понимание различий между контроллерами, того, как они работают, умение выбрать контроллер для работы в определенных обстоятельствах и умение настроить поведение контроллера является важным для получения желаемой анимации.

В данной главе разъясняется использование контроллеров в 3DS МАХ и освещаются следующие темы:

  • Выбор типов контроллеров
  • Одиночный параметр против сложных контроллеров
  • Параметрические контроллеры против ключ-базированных контроллеров
  • Типы данных контроллеров
  • Типы интерполяции ключ-базированных контроллеров
  • Контроллеры выражений
  • Копирование и вставка контроллеров
  • Преобразование вывода параметрического контроллера в ключ-базированную анимацию

При создании объекта в 3DS МАХ особое подключаемое приложение, ассоциируемое с объектом, определяет список параметров, поддающихся анимации. С целью экономии памяти данным параметрам контроллер обычно не присваивается. Если пользователь выполняет анимацию параметра, последнему присваивается контроллер по умолчанию.

В дополнение к списку параметров, возвращаемого из подключаемого к объекту приложения, 3DS МАХ присваивает объекту контроллер трансформации. Контроллер трансформации отслеживает положение объекта в мировом пространстве, любые данные вращения, ассоциированные с объектом и примененные к объекту факторы масштабирования. При создании объекта контроллеры по умолчанию присваиваются контроллеру трансформации и его входным контроллерам.

Рисунок 24.1 демонстрирует параметры и контроллеры по умолчанию, ассоциированные с коробкой, которая еще не была оживлена, но ей был присвоен материал- Оживляемые параметры обозначаются зеленым треугольником. Для каждого параметра отображается имя параметра и в случае назначения контроллера за именем параметра следуют контроллер интерполяции и типы данных.

Выбор различных типов контроллеров

Хотя 3DS МАХ и назначает типы контроллеров по умолчанию, можно изменить тип контроллера параметра на другой тип. Кроме того, можно изменить типы по умолчанию, которые 3DS МАХ присваивает параметрам. Типы контроллеров для всех параметров изменяются в Track View. Типы контроллеров уровня трансформации на объектном уровне имеется возможность изменить из панели Motion.

Для изменения контроллера параметра объекта в Track View выполните следующие шаги:

  1. Откройте Track View и расширьте дорожки объекта до уровня параметра.
  2. Выберите параметр и щелкните на Assign Controller.
  3. Выберите желаемый контроллер в диалоге Replace Position Controller и нажмите на ОК (см. рис. 24-2).

Для изменения контроллера параметра объекта на панели Motion выполните следующие шаги;

  1. Выберите объект и откройте панель Motion.
  2. Нажмите на Parameters и откройте свиток Assign Controller (см, рис. 24.3).
  3. Выберите параметр и нажмите на Assign Controller.
  4. Выберите желаемый контроллер в диалоге Replace Controller и затем щелкните на ОК.

Обратите внимание на то, что после выбора контроллера в диалоге Replace Controller кнопка Make Default становится активной. После выполнения на ней щелчка будет задан вопрос, уверены ли вы в том, что хотите, чтобы данный контроллер стал контроллером по умолчанию для всех параметров с одним и тем же типом данных. Если ответить утвердительно, то всегда, когда 3DS МАХ будет присваивать контроллер параметру с определенным типом данных, будет использоваться выбранный контроллер.

ПРЕДУПРЕЖДЕНИЕ

В случае выбора параметрического контроллера (подобного Path или Noise) в качестве контроллера по умолчанию для типа данных, исчезает возможность интерактивной установки или изменения значения параметра, использующего этот тип данных. Например, если установлен контроллер Position Expression в качестве контроллера позиции по умолчанию, все новые объекты создаются в исходной точке World и не могут перемещаться интерактивно. При изменении типа контроллера для параметра 3DS МАХ по возможности превращает любые существующие данные анимации в формат, требуемый для нового контроллера. Если один ключ-базированный контроллер изменяется на другой кпюч-базированный контроллер, данные анимации сохраняются. Однако, если конвертируется параметрический контроллер, то данные анимации будут потеряны.

3D Studio MAX не предоставляет возможности изменить контроллер для некоторых параметров. Такими параметрами являются Ease Curves, Morph, управляющие точки деформации лофтинга и модификатор Gizmo Center Positions.

Что такое контроллеры

Контроллеры можно классифицировать несколькими способами: по одному параметру против нескольких, по тому, является ли контроллер параметрическим или ключ-базированным, по типу данных контроллера и по типу интерполяции контроллера. В данном разделе представлен взгляд на различия между контроллерами для каждого классификационного типа.

Контроллеры с одним и с несколькими параметрами

Контроллеры с единственным параметром размещены на самом нижнем уровне иерархии контроллеров. Данные контроллеры хранят значения анимации, указанные пользователем для параметра объекта и для выводных значений во времени. Возвращаемые значения могут иметь как единственный компонент (такой как высота коробки) или несколько компонентов (подобные позициям X, Y и Z объекта). Контроллер с единственным параметром может быть как параметрическим, так и ключ-базированным.

Сложные контроллеры в качестве своего ввода берут вывод других контроллеров. Затем они объединяют полученные данные с любыми данными параметров, ассоциированными со сложным контроллером, манипулируют данными и выводят результаты (см рис. 24.4). Сложными являются контроллеры трансформации Position/Rotation/Scale (PRS) и LookAt, контроллер вращения Эйлера XYZ, контроллер позиции Path и контроллер List. Каждый из сложных контроллеров детально описывается в данной главе позже.

Параметрические контроллеры против ключ-базированных

Контроллеры с одним параметром можно классифицировать по признаку, является ли контроллер параметрическим или ключ-баз иро ванным. Параметрический контроллер принимает в качестве ввода значения данных, указанные пользователем, и затем выводит значения на основании уравнения, реализуемого контроллером, и на значениях Вводных данных. Ключ-базированный контроллер воспринимает в качестве ввода значения данных, указанные пользователем в определенных временных точках и затем обеспечивает в качестве вывода интерполированные во времени значения для любой точки.

Примером параметрического контроллера является Noise Rotation. Ввод для данного контроллера указывается в диалоге свойств контроллера и включает частоту и силу помех (см, рис. 24.5). Эти данные задаются однажды и не изменяются на протяжении всей анимации. С параметрическим контроллером не связываются ключи, и присутствие контроллера обозначается линией диапазона на дорожке параметра в Track View. Вывод контроллера в заданное время основывается на вводных данных, времени и уравнении, реализуемом функцией помех.

Примером ключ-базированного контроллера является Tension/Continuity/Bias (TCB) Rotation. Вводом в данный контроллер является вращение объекта в заданных временных точках. Эти данные обычно обеспечиваются установкой кадра анимации, включением кнопки Animation и вращением объекта. Каждый раз, когда объект вращается в различных кадрах, генерируются новые данные. Эти данные носят название ключей, а данные, указывающие на величину поворота, называются значениями ключей. Наличие ключа отображается точкой на дорожке параметра в Track View.

Вывод ключ-базированного контроллера основывается на значениях ключей, времени и уравнении, использованном для интерполяции между ключами. Для некоторых контроллеров уравнение, применяемое для интерполяции между ключами, может принимать дополнительный пользовательский ввод. Например, в случае контроллера TCB пользователь может настроить напряжение, непрерывность и смещение каждого ключа (см. рис. 24.6). Другие контроллеры, подобные Linear, всегда интерполируют одинаково и не настраиваются.

Типы данных контроллера

Контроллеры можно также классифицировать по типу возвращаемых данных. Типы данных контроллера должны соответствовать типу данных параметра объекта для того, чтобы контроллер мог применяться с данным параметром. Например, контроллер типа данных Scale нс может использоваться для параметра позиции объекта ввиду различий в типах данных. В таблице 24.1 показаны доступные типы данных и примеры параметров, с которыми они могут использоваться.

Таблица 24.1. Типы данных, связанные с параметрами
Тип данных контроллера | Действительные параметры
Position | Объект или позиция гизмо модификатора, позиция центра гизмо
Scale | Масштаб объекта или гизмо модификатора
Rotation | Вращение объекта или гизмо модификатора
Float | Любой парметр с единственным значением компонента (высота, число сегментов, угол вращения, непрозрачность и т. д.)
Point3 | Любой параметр с тремя значениями компонента, отличных от Position и Scale (в настоящее время используется только для цветов материала)
Color | Любой цвет материала (рассеянный, фоновый и пр.)
Morph | Используется только для параметра морфинга

Типы данных Position и Scale - это выделенные версии типа данных Pomt3 и могут считаться одним и тем же типом, за исключением случая, когда они назначаются контроллерам. Единственное заметное различие между данными контроллерами заключается в том, что тип интерполяции Linear доступен для типов данных Position и Scale, но не доступен для Pomt3.

Для управления вращением 3DS МАХ внутренне использует кватернионовскую математику. Кватврнио-новская математика (используемая практически всеми системами анимации для вещей, подобных камерам и вращению объектов) является полюс-базированной (polar-based) (использующей трехкомпонентный вектор и угол/скаляр). Данная математика первоначально разрабатывалась в начале XVIII века для решения задачи предохранения от блокировки кардановых подвесок на огромных парусных кораблях. Кватерн ионовская математика результируется в гладкие значения интерполяции для вращения, в то время как матричные решения (отдельные вращения X, Y и Z) приводят к негладким результатам.

Тип данных Rotation состоит из четырех значений компонентов, требуемых для кватернионовской математики: значения X, Y и Z вектора и угла вращения вокруг вектора.

СОВЕТ

Поскольку тип данных Rotation возвращает четыре значения, нет возможности отобразить кривую функции для контроллера вращения. Если требуется отобразить кривые функции вращения, следует использовать сложный контроллер Эйлера XYZ. Ввод в контроллер Эйлера XYZ - это три контроллера типа данных Float, определяющих значения вращении X, Y и Z. Затем можно отобразить кривые функций для каждого из этих контроллеров типа данных Float.

Тип данных Color является особым случаем типа данных Pomt3. Вывод из контроллеров Pomt3 имеет любой диапазон значений. Вывод из контроллеров Color ограничен диапазоном 0-255.

Теперь, когда вы познакомились с разницей между классами контроллеров, в следующих разделах будет представлен материал, более детально исследующий основные типы контроллеров.

Ключ-базированные контроллеры

Ключ-базированные контроллеры используются для определения значений между ключами. Для всех контроллеров кривая функции всегда проходит через ключевые значения в момент времени, связанный с ключом. Различные контроллеры оказывают влияние только на интерполяцию между ключами, но не на сами ключи.

Таблица 24.2 показывает доступные типы интерполяции и типы данных, с которыми они могут использоваться.

Таблица 24.2. Типы данных, доступные для каждого типа интерполяции.
Тип интерполяции | Действительные типы данных
Linear | Position, Rotation, Scale, Float
Smooth | Rotation
Bezier | Position, Scale, Float, Points, Color
ТСВ | Position, Rotation, Scale, Float, Point3, Morph

Каждая комбинация типов интерполяции и типов данных реализуется посредством уникального контроллера. Метод для варьирования значений ключей и значений интерполяционных параметров для ключей является одним и тем же внутри группы контроллеров заданного типа интерполяции.

Контроллеры, использующие тип интерполяции Linear, разделяют изменение в значениях ключей между данным ключом и следующим на количество времени между ключами. Значения, возвращаемые из контроллера, следуют прямой линии между ключами и равномерно распределяются во времени, т.е. значения между ключами изменяются с постоянной скоростью. Никакой настройки интерполяции значений выполнить нельзя.

Контроллеры, использующие тип интерполяции Smooth, настраивают касательную кривой, проходящей через значение ключа, и обеспечивают гладкую интерполяцию в ключе. Никакой настройки интерполяции значений выполнить нельзя.

Контроллеры, использующие тип интерполяции Безье, применяют настраиваемый сплайн Безье, проходящий по ключам, и вычисляют значения между ключами. Форма кривой сплайна основывается на значениях ключа и тангенса в ключах. Параметры интерполяции, а также их влияние на кривую, описаны в разделе "Контроллеры Безье".

Контроллеры, использующие тип интерполяции ТСВ, интерполируют между ключами на основе пяти параметров: Tension, Continuity, Bias, Ease to и Ease from. Форма кривой функции базируется на ключе и значениях параметров в ключе. Влияние параметров интерполяции на кривую описано в разделе "Контроллеры ТСВ".

Для всех контроллеров можно установить или настроить значения ключа, включая кнопку Animate, устанавливая соответствующее время и затем устанавливая новое значение для варьируемого параметра. Для всех контроллеров, кроме контроллеров вращения, также можно создавать ключи или настраивать значения, связанные с ключом. Для этого применяются инструменты Function Curve в Track View. Как описывалось ранее, ключи вращения нельзя отобразить как Function Curve, следовательно их нельзя настроить описанным способом.

Для типов контроллеров Безье и ТСВ значения ключей можно также настроить, щелкая правой кнопкой на ключе и задав при этом режим Edit Key или Function Curve. В результате такого действия отображается диалог Key Info, в котором можно изменять значения. Рисунок 24.7 показывает примеры диалогов Key Info для контроллеров Bczier Float, Scale и Color. Рисунок 24.8 демонстрирует диалоги Key Info для контроллеров ТСВ Rotation, Scale и Float. Как видно из диалогов, внутри интерполяционного типа изменяется только количество полей со значениями ключей. Элементы управления остаются одинаковыми. Исключение составляет контроллер Безье Color. Он используется только с параметрами света, что и отражает диалог. В диалоге Key Info данного контроллера пользователь может задавать цвета с использованием как модели RGB, так и модели HSV. Обеспечивается цветовая отметка, отображающая указанный значениями цвет. После щелчка на цветовой отметке будет отображен стандартный диалог Color Selector.

Для контроллеров, связанных с трансформацией на объектном уровне, ключевые значения можно настроить в свитке Key Info в панели команд Motion.

Контроллеры Безье

Интерполяция Безье между двумя ключами основана на ключе и значении тангенса ключа. Значения тангенсов можно настроить, щелкая правой кнопкой мыши на ключе, находясь в Track View в режимах Edit Key или Function Curve. Такое действие отобразит диалог Key Info, где можно изменять значения. Для контроллеров, связанных с трансформацией на объектном уровне, значения тангенсов можно настроить в свитке Key Info на панели команд Motion.

3DS МАХ .обеспечивает пять предварительно определенных тангенциальных типов и один пользовательский тангенциальный тип. Тангенциальный тип выполняется с использованием подменю Key Tangent в диалоге Key Info. Рисунок 24.9 показывает диалог Key Info с раскрытым подменю Key Tangent.

В следующем примере вы увидите влияние каждого из тангенциальных типов на движение объекта. Сцена состоит из сферы, которая перемещается по круговому пути. Две сплайновые формы показывают, каким мог бы оказаться путь, если бы путь следования был круговым или линейным. Обратите внимание на то, что повсюду в примере положение сферы в ключе всегда является положением, определенным ключом и время, ассоциированное с ключом, никогда не изменяется.

Влияние тангенциальных типов Безье на движение объекта

  1. Загрузите файл ch24_l.max из папки Chapter 24 сопровождающего CD-ROM.
  2. Выберите сферу и нажмите в кнопку Trajectories на панели команд Motion.
    Голубая линия отобразит траекторию сферы, желтые точки будут обозначать возрастание кадров и белые квадраты - ключи.
  3. В Track View расширьте дорожки так, чтобы отображать дорожку позиции для SphereOl. Нажмите Function Curves. Щелкните на кривой для отображения ключей.
  4. Выполните выбор области с целью выбора всех ключей. Для отображения диалога Key Info щелкните правой кнопкой мыши (см. рис. 24.10). Перепозиционируйте диалог Key Info так, чтобы можно было видеть кривые функций в Track View и траекторию SphereOl в видовом окне Тор.
    Диалог Key Info показывает, что все ключи используют гладкий тангенциальный тип. Траектория, отраженная в видовом окне, и кривые функций, показанные в Track View, представляют гладкую интерполяцию.
  5. Щелкните в Track View на точке ключа Y (зеленая кривая) в кадре 25. Теперь диалог Key Info будет показывать параметры только для данного ключа.
  6. Щелкните и удержите кнопку мыши на подменю Out Key Tangent и выберите тип касательной Linear. Траектория между вторым и третьим ключом по прежнему кривая, но спрямляется при выходе из второго ключа.
  7. Щелкните на правой стрелке рядом с внешним тангенциальным подменю и установите тангенс следующего ключа в тангенциальный тип Linear.
    Как видно из рисунка 24.11, траектория между вторым и третьим ключами является прямой. Интерполированное значение между двумя ключами 3DS МАХ вычисляет, основываясь как на выходном тангенсе первого ключа, так и на входном тангенсе второго ключа. Эффект тангенса для ключа уменьшается по мере приближения к другому ключу.
  8. Установите выводной тангенс в тангенциальный тип Step. Транспортируйте ползунок времени по диапазону от 25 до 50. Если выводной тангенс для одного ключа является тангенциальным типом Step, то входной тангенс следующего ключа автоматически изменяется на тангенциальный тип Step. Тангенциальный тип Step поддерживает выводное значение постоянным до времени следующего ключа. После этого значение прыгает до значения нового ключа.
  9. Установите выходной тангенс в тангенциальный тип Fast. Щелкните на правой стрелке рядом с выводным тангенциальным подменю и установите входной тангенс следующего ключа в тангенциальный тип Fast. Транспортируйте ползунок времени по диапазону 25-50.
    Как видно из рисунка 24.12, сфера, покинув ключ номер 2, двигается быстро, замедляется и затем вновь ускоряется по мере приближения к ключу номер 3. Приращения кадров на кривой траектории разрежены рядом с обеими ключами и сжаты в середине.
  10. Установите выходной тангенс в тангенциальный тип Slow. Щелкните на правой стрелке рядом с выходным тангенциальным подменю и установите входной тангенс следующего ключа в тангенциальный тип Slow. Транспортируйте ползунок времени через диапазон 25-50.
    Как видно из рисунка 24.13, сфера двигается медленно после покидания ключа номер 2, ускоряется и затем, подходя к ключу номер 3, замедляется вновь. Приращение кадров на кривой траектории сжато рядом с обеими ключами и разрежено в середине.
  11. Установите выходной тангенс в тангенциальный тип Custom. Входной тангенс автоматически изменится на тангенциальный тип Custom. В Track View выберите все точки ключей для данного ключа (кадр 25).
    На каждой точке ключа показаны входная и выходная ручки. Тангенсы для данного ключа можно настроить, перемещая тангенциальные ручки вниз и вверх или настраивая их значения в разделе Advanced диалога Key Info.
  12. Щелкните и транспортируйте ручку.
    По мере движения ручки, ручка с другой стороны ключа будет передвигаться в противоположном направлении. Форма кривой, проходящей через ключ, изменяется по мере перемещения ручки. Пример настройки тангенциальной ручки и результирующей траектории показан на рисунке 24.14.
  13. Щелкните на кнопке Advanced в диалоге Key Info и настройте входное или выходное значение. Вновь будут изменяться обе ручки.
  14. Разблокируйте ручки, щелкнув на пиктограмме замка между входным и выходным полями значения. Настройте входное или выходное значение. Будет передвигаться только одна ручка.
    Разблокировать ручки можно также путем нажатия Shift и щелкнув. После разблокирования ручек настройка одной ручки не заставляет передвигаться другую. Можно вновь заблокировать ручки, щелкнув на пиктограмме замка между входным и выходным полем значения. Перед транспортированием ручек для настройки их можно временно заблокировать путем щелчка на Lock Tangents в линейке инструментов Track View.

Контроллеры ТСВ

Контроллеры, использующие тип интерполяции ТСВ, выполняют интерполяцию между ключами на основе параметров ТСВ для каждого ключа. Параметры ТСВ можно настраивать, находясь в режимах Edit Key или Function Curve в Track View и щелкнув правой кнопкой мыши. Такое действие приводит к появлению диалога Key Info, в котором можно изменять значения. Для контроллеров, связанных с трансформацией, параметры ТСВ можно также настраивать в свитке Key Info панели команд Motion.

Следующее упражнение демонстрируют влияние, оказываемое параметрами ТСВ на движение объекта. Сцена состоит из сферы, двигающейся по круговому пути. Две сплайновых формы показывают, как выглядел бы путь, если бы путь следования был круговым или линейным. Обратите внимание на то, что везде в примере положение сферы в ключе всегда является положением, задаваемым ключом, и время, асоцииро-ванное с ключом, никогда не изменяется.

Влияние изменений значений параметров ТСВ на движение объекта

  1. Загрузите файл ch24_2.max из папки Chapter 24 сопровождающего CD-ROM.
  2. Выберите сферу и щелкните на Trajectories в панели команд Motion.
  3. В Track View расширьте дорожки для отображения дорожки положения для SphereOl. Щелкните на Function Curves. Щелкните на кривой для отображения ключей.
  4. Выполните выбор области для выбора всех ключей. Щелкните правой кнопкой мыши с целью отображения диалога Key Info. Перепозиционируйте диалог Key Info так, чтобы были видны кривые функций в Track View и траектория SphereOl в видовом окне Тор. Все ключи используют параметры ТСВ по умолчанию.
    Как видно из рисунка 24.15, приращение кадров на кривой траектории несколько более сжимается при подходе или уходе с ключа, нежели в середине между ключами. При проигрывании анимации сфера перемещается рядом с ключами медленнее, чем между ними.
  5. Постепенно увеличивайте значение Ease To.
    Как видно из рисунка 24.16, по мере увеличения значения приращение кадров на траектории становится теснее при подходе к ключу и разреживается при уходе из ключа. Если проиграть анимацию, сфера быстрее двигается при уходе из ключа и замедляется при подходе к нему.
  6. Установите значение Ease То в 0 и постепенно увеличивайте значение Ease From. Эффект будет противоположным наблюдаемому при увеличении значения Ease To.
  7. Установите и Ease To и Ease From в 50.
    Как видно из рисунка 24.17, приращение кадров на траектории становится теснее по мере подхода к ключу или ухода с него, чем приращение посредине между двумя ключами. В полученной анимации сфера замедляется рядом с ключами.
  8. Установите и Ease To и Ease From в 0. Постепенно увеличивайте значение Tension.
    Как видно из рисунка 24.18, кривизна траектории уменьшается, пока она не становится прямой линией между ключами. Приращение кадров теснее рядом с ключами и реже между ними.
  9. Постепенно уменьшайте значение Tension.
    Как видно на рисунке 24.19, кривизна траектории между ключами увеличивается. Приращение кадров равномерно распределяется по траектории.
  10. Установите значение Tension в 25. Постепенно увеличивайте значение Continuity.
    Из рисунка 24.20, видно, что угол между входной и выходной касательными и кривой функции возрастает, заставляя интерполированные значения перекрывать значения ключей по обе стороны ключей.
  11. Постепенно уменьшайте значение Continuity.
    Как видно из рисунка 24.21, угол между входными и выходными касательными к траектории и кривой функции уменьшается, заставляя кривизну траектории и кривые функций превращаться в прямые линии между ключами. Приращение кадров равномерно распределяется по траектории.
  12. Установите значение Continuity в 25. Постепенно увеличивайте значение Bias.
    Рисунок 24.22, показывает, что входная и выходная касательные траектории и кривые функции поворачиваются, заставляя значения интерполяции перекрывать значения ключей при уходе с ключей.
  13. Постепенно увеличивайте значение Bias.
    Как видно из рисунка 24.23, входная и выходная касательные к траектории и кривые функции поворачиваются, заставляя интерполированные значения перекрывать значения ключей при подходе к ключам.

Параметрические контроллеры

3DS МАХ распространяется с двумя типами параметрических контроллеров - Noise и Expression. Таблица 24,3 показывает типы параметрических контроллеров и типы данных, с которыми их можно использовать.

Таблица 24.3. Типы данных, доступные для каждого типа параметрического контроллера
Тип параметрического контроллера | Допустимые типы данных
Noise | Position, Rotation, Scale, Float, Point3
Expression | Position, Scale, Float, Point3

Каждая комбинация параметрического типа и типа данных реализуется уникальным контроллером. Внутри группы контроллеров заданного параметрического типа способ, по которому задаются параметры контроллера, является одним и тем же.

Контроллеры Noise

Параметры для контроллера помех указываются в диалоге Properties контроллера. Для всех типов данных диалог Properties доступен в Track View через выбор параметра, которому назначен контроллер, щелчке на свободной области окна редактирования, чтобы убедиться, что никаких ключей не выделено, затем щелчке правой кнопкой мыши на названии параметра и щелчке правой кнопкой на линейке диапазона в дорожке параметра или щелчке на Properties в линейке инструментов Track View.

Для контроллеров, связанных с трансформацией на объектном уровне, параметры контроллера можно также настроить из панели команд Motion, выбрав параметр в свитке Assign Controller, щелкнув правой кнопкой на параметре и выполнив из всплывающего меню команду Properties.

Рисунок 24.24 показывает пример диалога Property для контроллеров Noise Float и Position. Легко заметить, что единственное различие заключается в количестве полей Strength. Во всем остальном контроллеры одинаковы.

Characteristic Graph в диалоге Noise Properties грубо отражает эффект, который окажут на вывод контроллера изменения в параметрах помех. Во многих случаях лучше видеть точный эффект этих изменений. Это можно сделать, щелкнув на Function Curves на линейке инструментов Track View для показа кривой функции параметра. Данная кривая изменяется при изменении параметров помех.

СОВЕТ

Поскольку контроллеры вращения не отображают кривых функции, вы не увидите эффекта изменений параметров помех посредством таких контроллеров. В этом случае следует использовать сложный контроллер Эйлера XY2 и применить контроллер помех к каждой оси. Значения в каждом контроллере будут в основном теми же, за исключением исходного инициирующего, которое для каждого контроллера должно быть различным.

Поля Strength указывают диапазон выводных значений контроллера помех. Диапазон меняется от Strength/2 до "Strength/2, если опция >0 отключена, или от 0 до Strength в противном случае. Здесь существует два исключения. Прежде всего для типа данных масштаба значение 100 автоматически прибавляется к каждому из выводных значений помех. Это означает, что вы применяете, помехи к 100% фактору масштаба. Во-вторых, если включены фрактальные помехи, выводной диапазон увеличивается, а центральная точка не изменяется. Таким образом могут быть значения меньшие нуля даже тогда, когда включена опция >0. Для Roughness 0.0 диапазон увеличивается приблизительно на 10%, для Roughness 1.0 на 100%.

СОВЕТ

Для управления точкой центра результата с контроллером Noise можно'использовать контроллер List и кпюч-базированный контроллер как ввод. Отключите опции >0 в Noise и затем создайте ключ для ключ-базированного контроллера, значение которого желательно для центральной точки.

Поля Ramp In и Ramp Out уменьшают количество помех в начале и в конце диапазона. Данное изменение нелинейно, однако эквивалентно кривой Безье. Для Ramp In кривая определяется вершиной Безье, находящейся в нулевой отметке времени и во времени, указанном в поле Ramp In, с вершиной, имеющей нулевую скорость интерполяции. Рисунок 24.25 показывает кривую для значения Ramp In, равного 10. Форма кривой не настраивается.

Поля Ramp In и Ramp Out ведут себя сходно с Multiplier Curve, примененной к контроллеру Noise. Интересное последствие подобного сходства состоит в том, что если опция >0 включена и указано значение Ramp In, выводное значение контроллера подходит к нулю при нулевом времени, а не к средней точке Strength/2.

СОВЕТ

Если требуется использовать Ramp In или Ramp Out и необходим уклон к значению средней точки, следует отключить опцию >0, поместить контроллер Noise под контроллер List и добавить к контроллеру List ключ-базированный контроллер. Создайте ключ для ключ-базированного контроллера м установите его значение в Strength/2.

Основные сведения о контроллерах выражений

Контроллеры выражений (Expression controllers) уникальны в том, что они оценивают определенные пользователем выражения и таким образом определяют свои выводные значения. Из-за своей относительной сложности контроллеры выражений детально описываются в этой главе позже. Для сравнения их с другими параметрическими контроллерами рассмотрите следующее основное упражнение, посвященное контроллерам выражений.

Настройка числа сегментов высоты цилиндра на основе угла изгиба.

  1. Создайте в видовом окне Тор цилиндр с Radius = 50, Height = 200, пятью Height Segments, одним Cap Segment и 24 Sides. Убедитесь, что опция Smooth включена.
  2. В диалоге Time Configuration установите Animation End Time в 50.
  3. Включите Animate и примените модификатор Bend. На кадре 50 установите Bend Angle (Угол изгиба) в 180 и Bend Axis - в Z (см. рис. 24.26).
  4. Отключите Animate, активизируйте вид Perspective, щелкните на Zoom Extents, увеличьте окно для лучшего обозрения и проиграйте анимацию (зрелище довольно отвратительное).
  5. Откройте вид Track и расширьте дорожки так, чтобы видеть контроллеры, служащие вводом в модификатор Bend и в Object (Cylinder).
  6. Щелкните на Height Segment для его выбора, щелкните на Replace Controller, выберите Float Expression и нажмите на ОК. Рисунок 24.27 отражает иерархию Track View и диалог Replace Controller в этой точке.
  7. Щелкните правой кнопкой мыши на Height Segments и выполните Pproperties из всплывающего меню. После этого происходит переход в диалог Expression Controller.
  8. Прежде всего требуется создать скалярную переменную, определяющую минимальное количество сегментов, которые должен иметь цилиндр. В поле Name в разделе Create Variables (переменные создания) напечатайте HSMin, убедитесь, что выбрана опция Scalar, и нажмите Create. Щелкните на Assign to Constant (присвоить константу), установите значение в 2 и нажмите на ОК.
  9. Далее требуется создать скалярную переменную, определяющую максимальное количество сегментов, которое может быть в цилиндре. В поле Name в разделе Create Variables напечатайте HSMax, убедитесь, что выбрана опция Scalar, и нажмите на Create. Щелкните на Assign to Constant, установите значение в 14 и нажмите на ОК.
  10. Теперь необходимо создать скалярную переменную, указывающую угол изгиба для цилиндра. В поле Name раздела Create Variables напечатайте BendAngle, убедитесь, что опция Scalar включена, и щелкните на Create. Щелкните на Assign to Controller и в появившемся диалоге Track View Pick выберите параметр Angle под Bend. Нажмите на ОК. Рисунок 24.28 показывает диалог Expression Controller и диалог Track View Pick в данный момент.
  11. Наконец, следует ввести уравнение для оценки. В окне Expression напечатайте HSMin+(BendAngle/ 180)*(HSMax-HSMin) и щелкните на Evaluate. Рисунок 24.29 отражает диалог Expression Controller в данной точке.
  12. Переместите или измените размеры диалогов Track View и Expression Controller так, чтобы можно было видеть вид Perspective, после чего проиграйте анимацию. Количество сегментов высоты цилиндра изменяется при изменении угла.

СОВЕТ

Можно опуститься по стеку модификаторе^ до Cylinder и наблюдать за изменением количества Height Segments при воспроизведении анимации. Кроме того, можно изменить значения, присвоенные HSMin и HSMax в выражении, и наблюдать за производимым эффектом.

Составные контроллеры

Как описывалось ранее, составные контроллеры принимают в качестве ввода вывод подчиненных контроллеров и объединяют полученные данные с любыми параметрами, ассоциированными с контроллером, манипулируют данными и выводят результаты.

3DS МАХ распространяется с двумя составными контроллерами уровня трансформации (контроллеры Position/Rotation/Scale и LookAt), контроллером, который объединяет вращение вокруг отдельных осей (контроллер вращения Euler XYZ), контроллером для перемещения объекта вдоль сплайна (контроллер Path position) и контроллером, который производит сложение результатов своих вводных контроллеров (контроллер List).

Способ, в соответствие с которым значения, выходящие из подчиненных контроллеров, используются в контроллере уровня трансформации, зависит от того, присвоен ли контроллеру объект, гизмо модификатора или центр модификатора. Для контроллера трансформации на уровне объекта возвращаемое положение является положением точки вращения объекта относительно начальной точки мировых координат. Возвращаемые значения поворота и масштаба относительны положению точки вращения объекта.

Для контроллера трансформации уровня гизмо модификатора или уровня центра, возвращаемое значение положения является относительным точке вращения объекта, т.е. центр модификатора, позиционированный в [О, О, 0] располагается в точке вращения объекта. Если точка вращения объекта после применения модификатора изменяется, гизмо модификатора и центр будут оставаться в своем начальном положении. Возвращаемые значения вращения и масштаба относительны положению центральной точки гизмо.

Контроллер Position/Rotation/Scale

Контроллер трансформации Position/Rotation/Scale (PRS) объединяет ввод из контроллеров положения, вращения и масштаба (см. рис. 24.30). Вывод из контроллера PRS является матрицей трансформации, которая используется 3DS МАХ внутренним образом. Контроллер PRS можно применять только на дорожках трансформации объектов и гизмо модификаторов.

Никаких настраиваемых пользователем свойств с контроллером PRS не связано.

Контроллер LookAt

Контроллер трансформации LookAt объединяет вывод из контроллеров положения, вращения (тип данных Float) и масштаба (см. рис. 24.31). Вывод контроллера LookAt является матрицей трансформации, используемой 3DS МАХ внутренним образом- Контроллер LookAt можно применять только в качестве контроллеров трансформации для объектов, но не для модификаторов.

Контроллер LookAt вращает объект так, чтобы негативная локальная ось Z всегда указывала на точку вращения другого объекта. Параметр вращения задает угол поворота объекта вокруг локальной оси Z.

Целевой объект, за которым необходимо следить, определяется в качестве параметра контроллера LookAt. Целевой объект контроллера LookAt можно увидеть и отобразить только в разделе Parameters панели команд Motion. Свиток LookAt Parameters в панели команд Motion показан на рисунке 24.32.

Использование контроллера LookAt с объектом

  1. Создайте в окне Тор два конуса. Увеличьте окно на указанную высоту конуса.
  2. Выберите Local из выпадающего списка Transform Coordinate System в линейке инструментов. Это покажет локальные оси выбранных объектов.
  3. В Motion Parameters присвойте контроллеру LookAt параметр трансформации для Сопе02. Сопе02 вращается так, чтобы его отрицательная ось Z указывала на исходную точку мира.
  4. Щелкните на Pick Target и выберите ConeOl. Сопе02 поворачивается так, чтобы его отрицательная ось Z указывала на ConeOl. Точка вращения для конуса расположена в центре его дна. Это будет именно та точка, куда указывает Сопе02.
  5. Перемещайте любой конус в окне Тор. При движении конуса база Сопе02 всегда указывает на ConeOl. Не забудьте изменить Transform Coordinate System или ограничения осей, прежде чем пытаться переместить конус в другое видовое окно.
  6. Вращайте Сопе02. Конус всегда вращается относительно своей локальной оси 2.

Контроллер LookAt используется камерами Target, а также источниками света Target. При создании одного из этих объектов ему присваивается контроллер LookAt, затем создается фиктивный объект, играющий роль цели, и фиктивный объект определяется как цель LookAt.

Контроллер Path

Контроллер Path позиционирует объект так, чтобы точка вращения объекта располагалась на сплайне. Кроме того, создается параметр, подчиняющийся контроллеру Path. Параметр называется Percent (см. рис. 24.33). Параметр Percent задает положение на сплайне для использования в конкретный момент времени. Значение Percent автоматически устанавливается в 0 в начале активного отрезка времени и в 100 в конце активного отрезка времени,

Сплайн для использования в качестве пути указывается как параметр контроллера Path. Сплайн пути контроллера Path может устанавливаться и отображаться только в разделе Parameters панели команд Motion. Свиток Path Parameters на панели команд Motion показан на рисунке 24.34. Если выбранная форма содержит более одного сплайна, то в качестве сплайна пути используется первый из них.

Использование контроллера Path с объектом

  1. Создайте конус в окне Left. Расширьте окно на указанную высоту конуса. Это создаст конус, вершина которого смотрит в направлении положительной оси Х мира. Включите опцию Slice On и установите Slice То в 180.
  2. В окне Тор создайте эллипс. На рисунке 24.35 показаны относительные размеры конуса и эллипса.
  3. Выберите Local из выпадающего списка Transform Coordinate System в линейке инструментов. В результате будут показаны локальные оси выбранных объектов.
  4. Выберите конус и в Motion-Parameters присвойте контроллер Path позиционному параметру конуса.
  5. Убедитесь, что в Path Options опция Follow отключена, нажмите Pick Path и выберите эллипс. Конус изменит свою позицию так, чтобы его точка вращения (расположенная в середине дна конуса) разместилась на первой вершине эллипса. Обратите внимание на то, что ориентация конуса не изменяется (см. рис. 24.36).
  6. Переместите эллипс. Во время движения эллипса также будет передвигаться и конус.
  7. Проиграйте анимацию. За активный сегмент времени конус проходит длину эллипса.
  8. Выберите Editr^Hold. С этого момента начинается следующее упражнение.

Хотя контроллер Path классифицируется как позиционный, он также может изменять вращение объекта, к которому применен. Опции Follow и Bank в Path Options заставляют объект вращаться на основе кривизны сплайна пути. Вращение от контроллера Path дополняет любое вращение, определенное пользователем.

Когда опция Follow отключена, ориентация объекта не изменяется. При включенной опции Follow объект вращается так, чтобы "передняя часть" объекта всегда указывала вдоль касательной сплайна. "Передняя часть" объекта определяется как направление, указывающее вдоль положительной оси Х мира в начале активного диапазона. Таким образом правая сторона объекта в окне Тор является "передней частью" объекта.

Опция Bank указывает, куда смотрит верх объекта ("верх" определяется как направление вдоль положительной оси Z мира). Если Bank выключена или Bank Amount равно нулю, верх объекта пытается указывать в направлении положительной оси Z мира. (Две степени свободы используются опцией Follow, следовательно для опции Bank осталась только одна степень свободы. Таким образом верх указывает в направлении положительной оси Z мира только в той степени, в которой это возможно.)

При включенной опции Bank объект будет вращаться на основе локальной кривизны сплайна. Для низких и умеренных значений верх объекта имеет тенденцию указывать внутрь сплайна. Для высоких значений верх объекта вращается вокруг сплайна.

Smoothness (гладкость) определяет скорость, с которой разрешено меняться вращению при указании опции Bank. Высокие значения смягчают результирующее вращение. Эффекты параметров Bank Amount и Smoothness взаимодействуют друг с другом, поэтому для достижения желаемого движения обычно требуется небольшая интерактивная настройка значений. Как правило, для достижения гладкого движения следует использовать предельно низкие значения указанных параметров.

Влияние значений Bank Amount и Smoothness на контроллеры Path

  1. Выполните Editi-Fetch для получения сцены предыдущего упражнения.
  2. Выберите конус.
  3. Щелкните правой кнопкой в видовом окне Perspective, щелкните на Play Animation и продолжите проигрывание анимации до завершения упражнения.
  4. В Motion Parameters включите Follow. Конус повернется так, что его верх будет указывать на сплайн (см. рис. 24.37).
  5. Включите Bank. Конус, двигаясь вдоль эллипса, будет наклоняться. Величина наклона варьируется в зависимости от кривизны сплайна.
  6. Установите Smoothness в 2. Конус будет меньше наклоняться в концах эллипса, но больше по его сторонам.
  7. Установите Smoothness в 0.5 и Bank Amount в 0. Постепенно увеличивайте значение Bank Amount. Рисунок 24.38 показывает конус со значением наклона, равным 1.5.
    По мере возрастания значения градус наклона увеличивается до точки, когда конус начинает вращаться, следуя по пути.

Во время проигрывания анимации можно было заметить, что конус двигается быстрее у концов эллипса и медленнее по сторонам. При использовании контроллера Path важно принимать во внимание взаимосвязь между положением вершин сплайна, служащего в качестве пути, и временем. 3DS МАХ позиционирует объект на сплайне во времени на основе количества вершин сплайна - а не длины сплайна или расстояния между вершинами. Каждая вершина преобразуется в равномерно распределенный во времени ключ положения. Например, если в качестве пути объекта используется линия с 11 вершинами, создается 11 ключей. Если активный диапазон времени находится между 0 и 100 кадрами, объект размещается на вершине 0 в кадре О, на вершине 1 в кадре 10 и на вершине 2 в кадре 20. В зависимости от расстояния между вершинами скорость объекта во времени может существенно изменяться.

В некоторых ситуациях требуется постоянная скорость вдоль всего пути. 3DS МАХ обеспечивает возможность модификации пути Безье так, чтобы по траектории объекта поддерживалась постоянная скорость. Модификация пути Безье для поддержки постоянной скорости выполняется в диалоге Advanced Key Info.

В следующем упражнении траектория эмиттера системы частиц настраивается на деформацию-дофт объекта. На сцене лофт-объект (Fuse) использует анимацию деформации масштаба для сокращения длины фитиля во времени. Деформация шкалы была определена так, чтобы длина фитиля сокращалась во времени с постоянной скоростью. Эмиттер системы частиц (Sparks) назначается контроллеру пути там, где путь является тем же сплайном, что и путь лофта (FusePath). Поскольку вершины для FusePath распределены неравномерно, Sparks предшествует деформации шкалы.

Создание горяшего фитиля с использованием анимированного масштаба лофт-объекта^ системы частиц и контроллера Path

  1. Загрузите файл ch24_3.max из папки Chapter 24 сопровождающего CD-ROM и проиграйте анимацию.
  2. Выберите объект Dummy.
  3. Выберите Motioned TrajectoriesOConvert From, установите Samples в 11 и выберите Fuse Path как сплайн.
  4. Выберите в Track View контроллер позиции для Dummy, затем на Function Curves и щелкните на одной из кривых функций, показанных в Track View для позиции Dummy.
    Рисунок 24.39 показывает видовое окно Тор и кривые функций позиции Dummy в Track View. Траектория для Dummy отображается в окне Тор голубым цветом с 11 ключами позиций на расстоянии 10 кадров друг от друга. Точки на траектории показывают приращение кадров. Количество кадров приращения между ключами позиций постоянно, однако приращение кадров не распределено равномерно между ключами. Хотя это не тот путь, которому должны следовать Sparks (искры), его можно использовать для демонстрации эффекта модификации траектории для случая постоянной скорости.
  5. На панели команд Motion щелкните на Sub-Object и в видовом окне Тор выберите все ключи позиций на траектории.
  6. Щелкните правой кнопкой мыши на любом ключе позиции, выберите Key Info и щелкните на Advanced (см. рис. 24.40).
  7. Включите Constant Velocity (постоянная скорость).
    Приращение кадров между смежными ключами позиции распределено равномерно. Ключи позиций по прежнему размещены через каждые 10 кадров и находятся на прежних местах. Можно заметить, что в Track View изменилась только кривизна между ключами.
  8. Отключите Constant Velocity и щелкните на Normalize Time.
    Положения ключей остались прежними, но время, связанное с каждой позицией, изменилось на основе расстояния между ключами. В больших сегментах приращений кадров больше, чем в коротких. Между ключами позиций скорость непостоянна.
  9. Включите Constant Velocity.
    Приращение кадров равномерно распределяется на всей траектории. Теперь, посмотрев на эффекты, которые оказывают на траекторию Constant Velocity и Normalize Time, можно завершить анимацию.
  10. В Motionc^Trajectories увеличьте Samples до 101, выберите Convert From и FusePath в качестве сплайна.
  11. Выберите на траектории все ключи позиций, а в Key Info отметьте Constant Velocity. Щелкните на Normalize Time. Рисунок 24.41 показывает траекторию Dummy и положение кривых функций с Samples, равным 101.
  12. Закройте Key Info и щелкните на Convert To. Convert To генерирует из траектории форму под названием ShapeOl.
  13. Выберите Sparks и в Motion- Parameters щелкните на Pick Path и выберите в качестве пути ShapeOl.
  14. Проиграйте анимацию.
    Теперь Sparks на протяжении всей анимации находится в том же самом положении, что и деформация шкалы.

Контроллер Euler XYZ

По умолчанию для дорожек вращения используется контроллер ТСВ Rotation. Хотя данный контроллер и обеспечивает гладкое вращение, однако кривые функций, связанных с данным контроллером, в Track View недоступны из-за того, что контроллер ТСВ для управления вращением применяет кватернионовскую математику. Кватернионовская математика имеет четыре значения - X, Y и Z единичного вектора (unit vector) и угол вращения вокруг единичного вектора (см- раздел "Типы данных контроллеров" ранее в этой главе, где приведены более подробные сведения о кватернионовской математике). Другие контроллеры вращения, также использующие кватернионовскую математику - это Linear и Smooth.

Помимо невозможности отображения кривых функций вращения для данных контроллеров, иногда требуется большее управление вращением, нежели обеспечиваемое данными контроллерами. 3DS МАХ обеспечивает дополнительный контроллер вращения Euler XYZ, для которого можно отобразить кривые функций и отдельно управлять вращением относительно каждой локальной оси объекта.

Рассмотрим случай, когда вращается объект вокруг осей Х и Y и необходимо настроить интерполяцию на один из ключей для вращения вокруг Х-оси. Значения контроллера ТСВ для данного ключа можно настроить либо в панели Motion, либо в Track View, но также будет настраиваться и интерполяция вращения вокруг оси Y в данном ключе. Используя контроллер ТСВ нельзя настроить значения интерполяции для одной оси, не затрагивая значения для всех остальных осей. Если используется контроллер вращения Euler XYZ, интерполяция для ключей, связанных с вращением вокруг оси X, может выполняться без влияния на вращение вокруг оси Y.

Дополнительные преимущества применения контроллера вращения Euler XYZ для объекта заключаются в том, что для каждой из осей вращения можно использовать свой контроллер выражения, а другие контроллеры выражения могут ссылаться на вращение объекта.

Использование контроллера Euler ЛУ7лля настройки параметров интерполяции для отдельных осей врашения

  1. Загрузите файл ch24_4.max из папки Chapter 24 сопровождающего CD-ROM и проиграйте анимацию.
    Коробка анимируется таким образом, чтобы поворачиваться на 180° вокруг своей локальной оси Z в кадрах с 0 по 100. Кроме того, коробка поворачивается на 45° вокруг оси Y в кадрах с 25 по 75. Как можно заметить в видовом окне, вращение вокруг оси Y имеет место и до 25 кадра, и после 75. Можно было бы попытаться настроить параметры ТСВ для ключей в кадрах 25 и 75, но в данных кадрах это повлияло бы на вращение коробки вокруг оси Z.
  2. Откройте Track View и расширьте дорожки так, чтобы отобразить параметр вращения для BoxOl.
  3. Выберите параметр вращения и присвойте ему контроллер Euler XYZ.
  4. Расширьте дорожки для параметра вращения.
  5. Выберите параметр Y Rotation и щелкните на Function Curves. Щелкните на кривой для отображения ключей.
    Кривые функций показаны на рисунке 24.42. Кривые функций показывают, что значение вращения Y варьируется между первым и вторым и между третьим и четвертым ключами.
  6. Щелкните правой кнопкой мыши на первом ключе и отобразите диалог Key Info.
  7. Установите для первого ключа выходную касательную в тангенциальный тип Step.
  8. Установите для четвертого ключа входную касательную в тангенциальный тип Step.
  9. Проиграйте анимацию.
    Теперь нет вращения вокруг оси Y до кадра 25 и после кадра 75. Вращение вокруг оси Z по-прежнему является гладким.

Контроллеры List

Контроллеры List применяются для объединения результатов нескольких контроллеров. Например, можно добавить помехи в предварительно определенное движение, назначив контроллер List желаемому параметру и добавив контроллер Noise в качестве ввода для контроллера List. Кроме того, контроллер List предоставляет возможность интерактивно добавлять дополнительное движение в параметр, управляемый параметрическим контроллером, подобным Path.

В следующем упражнении для части анимации используется контроллер Path, а затем для завершения анимации происходит переключение на контроллер Безье. Сцена состоит из мяча, движение которого управляется контроллером пути. Путь является кругом. Необходимо, чтобы в анимации мяч был неподвижен в начале, а впоследствии, передвигаясь по кругу, ускорился в три раза и улетел туда, где размещен фиктивный объект.

Объединение контроллеров Path, Bezier и List для ограничения контроллера Path временным диапазоном

  1. Загрузите файл ch24_5.max из папки Chapter 24 сопровождающего CD-ROM.
  2. Откройте Track View, щелкните на Filters и включите Show Controller Types.
  3. Расширьте дорожки для SphereOl так, чтобы был виден контроллер Percent под контроллером Position: Path.
  4. Щелкните правой кнопкой мыши на позиции ключа в кадре 100 и вызовите диалог Key Info.
  5. Измените значение кадра ключа на 300 и покиньте диалог.
  6. Проиграйте анимацию. Мяч трижды проходит по кругу с постоянной скоростью.
  7. В Track View щелкните на Function Curves и затем на Add Keys.
  8. Добавьте три ключа к кривой функции Path Percent и щелкните на Move Keys.
  9. Настройте три ключа на получение кривой, подобной показанной на рисунке 24.43.
    Обратите внимание на то, что имеется возможность проигрывать анимацию во время настройки кривых и видеть соответствующее движение в реальном времени. Теперь мяч стартует с последней позиции и ускоряется в три раза, проходя круг за 100 кадров.
    Теперь необходимо выполнить данное движение за 80 кадров и затем улететь в позицию фиктивного объекта.
  10. Щелкните на Edit Keys и выберите PositioniPath controller.
  11. Щелкните и транспортируйте маркер конца диапазона контроллера позиции в кадр 80.
  12. Щелкните на Assign Controller и выберите Position List.
  13. Расширьте дорожки для Position List, выделите Available и присвойте дорожке контроллер Bezier Position.
  14. Щелкните на Add Keys, щелкните на кадре 80 в дорожке Bezier Position для создания ключа и щелкните на Move Keys.
  15. Щелкните на свободной области Track View для отмены только что созданного выбора ключа.
  16. Щелкните на контроллере Position List для его выбора, щелкните на нем правой кнопкой мыши и выберите из всплывающего диалога Properties. Появившийся диалог List Controller покажет контроллер Path как активный. Вы же хотите добиться активности контроллера Bezier Position, чтобы можно было интерактивно настраивать позицию мяча.
  17. Выберите Bezier Position, щелкните на Set Active и выйдите из диалога List Controller.
  18. Включите Animate и перейдите к кадру 100.
  19. В окне Тор переместите SphereOl в положение фиктивного объекта.
  20. Отключите Animate и проиграйте анимацию.
    Теперь мяч ускоряется по кругу в три раза и улетает в новую позицию. Обратите внимание на заметное небольшое изменение скорости мяча, когда он проходит кадр 80.
  21. Выберите все ключи для контроллера Percent и ключ в кадре 80 для контроллеров Bezier Position. Щелкните на Scale Keys и настройте выбранные ключи за счет транспортировки ключа в кадре 80 с целью Bezier Position для получения гладкого перехода скорости.

Контроллер List можно использовать для объединения контроллеров Path и Bezier и для того, чтобы заставить камеру следовать за объектом вдоль пути. Памятуйте об одном ограничении: если контроллер Path подчиняется контроллеру List, он должен быть первым контроллером в списке. Если это не так, то любые значения из контроллеров, предшествующих Path, будут игнорироваться.

В следующем упражнении сцена состоит из тора, катящегося между препятствиями. В данной сцене необходимо, чтобы камера всегда смотрела на тор и следовала позади него.

Создание преследующей (с отставанием) камеры за объектом, использующим Path Controller

  1. Загрузите файл ch24_6.max из папки Chapter 24 сопровожцающего CD-ROM.
  2. Выберите камеру и откройте панель команд Motion. Откройте свиток Assign Controller и щелкните на Transform: Position/Rotation/Scale. Щелкните на Assign Controller, выберите из диалога Replace Transform Controller контроллер LookAt и щелкните на ОК.
  3. В разделе LookAt Target свитка LookAt Parameters щелкните па Pick Target и в качестве цели выберите DummyO 1.
  4. В свитке Assign Controller щелкните на Position: Bezier Float. Щелкните на Assign Controller, выберите в диалоге Replace Position Controller контроллер Path и нажмите на ОК.
  5. В разделе Current Path Object свитка Path Parameters щелкните на Pick Path и в качестве пути выберите TorusPath. Включите опцию Follow Path.
  6. В свитке Assign Controller щелкните на Position:Path. Щелкните на Assign Controller, выберите в диалоге Replace Position Controller контроллер Position List и нажмите на ОК.
  7. Расширьте список позиций, выберите Available и назначьте ему контроллер Bezier Position.
  8. В свитке Position List выберите Bezier Position и щелкните на Set Active.
  9. В окне Front переместите камеру вверх на 200 единиц.
  10. Откройте Track View и расширьте дорожки трансформации для камеры.
  11. Выберите дорожку Percent под контроллером Path.
  12. Щелкните на Position Curves и щелкните на кривой.
  13. Щелкните и удержите кнопку Move Keys и выберите в подменю нижнюю пиктограмму. Это ограничит перемещение точек ключей только вертикальным направлением.
  14. Выберите обе точки ключей и переместите ключи вниз на 5 единиц.
  15. Закройте Track View и проиграйте анимацию.
    Для достижения интересных вариаций в движении камеры выберите контроллер Path в свитке Position List панели команд Motion и щелкните на Set Active. В свитке Path Parameters включите опцию Bank Path и установите Bank Amount в -0.5. Теперь на повороте камера "свернет" с пути.

Контроллеры Expression

Контроллеры Bxpression оценивают определенные пользователем математические выражения и определяют выводные значения контроллеров. Контроллеры Expression можно применять практически ко всем параметрам 3DS МАХ, которые поддаются анимации. Контроллер Expression может получать вывод из других контроллеров и использовать в выражении полученные значения. Момент времени, для которого оценивается выражение, также доступен в нескольких формах. Для использования в выражениях определено множество встроенных функций. Параметры для контроллера Expression задаются в диалоге Properties. Для всех типов данных доступ к диалогу Properties осуществляется в Track View путем выбора параметра, которому назначается контроллер Expression, последующего щелчка в свободной области окна редактирования с целью убедиться, что никаких ключей не выбрано, и затем выполнения одного из следующих действий: щелчка правой кнопкой мыши на имени параметра, щелчка правой кнопкой мыши на линейке диапазона дорожки параметра или щелчка на Properties в линейке инструментов Track View.

Для контроллеров, связанных с трансформацией на объектном уровне, параметры контроллера можно настроить также из панели команд Motion, выбрав параметр в свитке Assign Controller, щелкнув правой кнопкой на параметре и выполнив Properties из всплывающего меню.

Типы данных контроллера Expression

На рисунке 24.45 показан пример диалога контроллера Expression. При первом назначении контроллера Expression параметру, который уже имеет контроллер, окно уравнения показывает значение параметра в кадре 0. Если параметр не имеет контроллера, значение будет установлено в 0. Значение отображается в одном из двух форматов. Первый формат применяется в случае, когда назначаемый контроллер Expression имеет тип данных Position, Scale или Point3. Эти типы данных требуют, чтобы контроллер Expression вернул трехкомпонентный вектор. Формат выражения следующий: [eqnl, eqn2, eqn3]. Второй формат применяется в случае, когда параметр, которому назначается контроллер Expression, имеет тип данных Float. Последний требует, чтобы контроллер Expression возвращал скалярное значение с плавающей точкой. Формат выражения будет выглядеть как eqni. Если формат выражения некорректен или во время оценки выражения возникает ошибка, на экране отображается сообщение об ошибке.

Переменные контроллера Expression

В уравнении можно использовать два типа переменных. Первый тип. Scalar, применяется для ссылок на единичное значение данного с плавающей точкой. Второй тип, Vector, используется для ссылки на трехкомпонентные векторы. Для создания переменной сначала вводится имя переменной в поле имени в окне Create Variables, уточняется, является ли переменная скалярной или векторной, и нажимается на Create. После этого переменная создается и ее имя появляется в колонке Scalars или Vectors.

При создании переменной ей присваивается значение константы 0 для скаляра и [О, О, 0] для вектора. Переменным могут назначаться константные значения во время анимации или присваиваться вводные значения другого контроллера. Для назначения переменной константного значения следует выбрать имя переменной в колонке Scalars или Vectors, щелкнуть на Assign to Constant и присвоить соответствующее значение.

Для назначения переменной вывода контроллера выберите имя переменной, нажмите Assign to Controller и выберите контроллер в появившемся диалоге Track View Pick (см. рис. 24.46). В диалоге Track View Pick контроллеры, которые можно выбрать, выделены жирным шрифтом. Контроллер можно выбрать тогда, когда его тип данных совпадает с типом переменной, и если контролер был назначен параметру. В некоторых случаях 3DS МАХ предоставляет возможность выбрать контроллер, а затем выдает сообщение об ошибке "Can't Assign Control... Circular Dependency". Данное сообщение об ошибке генерируется в случае, если выбранный параметр и параметр, к которому применяется контроллер выражения, подчиняются одному и тому же контроллеру. Например, выражение для параметра Length коробки не может ссылаться на параметр ширины коробки. Однако выражение может ссылаться на параметры трансформации коробки и параметры для любых модификаторов, применяемых к коробке.

Значения Tick Offset

Значения, возвращаемые из контроллера и присваиваемые переменной, обычно являются выводными значениями контроллера в той же самой временной точке, которая оценивается. В ряде случаев желаемое значение является выводом контроллера в другой временной точке. 3D Studio MAX предоставляет возможность задания фиксированного смещения для переменной. 3DS МАХ добавляет значение смещения к оцениваемой временной точке и оценивает назначенный контроллер в новой временной точке. Значение смещения указывается в поле Tick Offset в окне Create Variables. Значение Tick Offset устанавливается в момент создания переменной и может быть изменено за счет выбора имени переменной, установки нового значения Tick Offset и щелчка на Change Offset. Значение Tick Offset может быть как положительным, так и отрицательным, и сохраняется постоянным во время анимации. Как и подразумевает название, значение Tick Offset задает смещение времени в тиках. Секунда содержит 4800 тиков. Если частота кадров равна 30 кадрам в секунду, то на кадр приходится 160 тиков.

Зарезервированные имена переменных

Существует несколько имен переменных, которые нельзя или не требуется применять в качестве имен создаваемых переменных. Четыре из них (Т, S, F и NT) являются предварительно определенными именами переменных со специальными значениями. Кроме того, не следует использовать имена е, pi или TPS. Эти имена переменных также предварительно определены со специальными значениями. Однако 3DS МАХ предоставляет возможность их переопределения. Ниже перечислены значения, ассоциированные с каждой из этих переменных:
Т | Временная точка, оцениваемая в тиках
S | Временная точка, оцениваемая в секундах
F | Временная точка, оцениваемая в кадрах
NT | Нормализованное время. Данное значение линейно возрастает от 0 в начале активного сегмента времени до 1 в конце сегмента
е | Константа е (2.71828...)
pi Константа pi (3.14159...)
TPS | Число тиков в секунду (4800)

Диапазоны значений данных, ассоциированные с параметрами

Начиная применение контроллеров Expression, вы осознаете, что созерцаемое - это не всегда получаемо. Часто значения данных, которые задаются в 3DS МАХ, и отображаемые значения данных не являются действительными значениями, хранящимися в контроллерах. Контроллер Expression, примененный к параметру, должен выводить значения в диапазон, ожидаемый параметром. Если это не происходит, эффект анимации может отключиться из-за ситуации, связанной с превышением значения.

При создании объекта в 3DS МАХ ключевой подключаемый компонент, ассоциированный с данным объектом, определяет список подверженных анимации параметров. В данном случае объект может ссылаться на материал, геометрический объект или модификатор. Для целей обсуждения назовем ключевой компонент родителем. Для каждого поддающегося анимации параметра имеется контроллер, подчиненный родителю.

Родитель самостоятельно решает, как обрабатывать значения данных, возвращаемые из подчиненного контроллера. Родитель также указывает, как значения данных должны появляться в командных панелях, Track View и других диалогах, где можно видеть или устанавливать значения переменных. Часто видимые значения данных не являются действительными данными, переданными контроллером родителю, но являются значениями данных, "проработанными" родителем. Один из примеров связан с параметрами, работающими с углами. Во всех случаях значения устанавливаются и отображаются в градусах. Внутренне большинство углов представляется в радианах.

При использовании контроллеров Expression происходит буквально подключение в центр событий. Если контроллер Expression применяется к параметру, работающему с углами, вывод должен быть в радианах. Если выражение имеет переменную, присвоенную контроллеру, который работает с углами, ожидайте результат в радианах.

В некоторых случаях способы, в соответствие с которыми родитель обрабатывает данные из подчиненного контроллера, варьируются. Хотя большинство углов внутренне обрабатываются в радианах, в некоторых случаях они обрабатываются и в градусах. Примером сказанному служит Bend Angle в модификаторах Bend и Twist. Ниже приведены обобщенные правила для действительных выводных значений контроллеров:

  • Если параметр основан на времени, вывод контроллера обычно представляется в тиках. Примерами являются Ease Curve и частота порождения для системы частиц. Параметр Phase модификатора Noise также выводит значения в тиках.
  • Если параметр является процентом или просматриваемым диапазоном значений от 0 до 100, диапазон вывода контроллера обычно составляет от 0 до 1. Примерами являются параметры масштаба и непрозрачности материала.
  • Если параметр основан на угле, вывод контроллера обычно происходит в радианах. Примерами являются FOV для камеры и контроллеры вращения, подчиняющиеся контроллеру XYZ Эйлера.
  • Если параметр является цветом, диапазон вывода контроллера заключен между 0 и 1.
  • Для параметров, отображаемых как целые, вывод контроллера округляется до ближайшего целого. Примером является параметр Material ID в модификаторе Material.
  • Если параметр отображается как опция, последняя обычно включается, когда вывод контроллера составляет значение, большее 0.5. Примерами являются опция Fractal в модификаторе Noise и опция Symmetry в модификаторе Taper.
  • Для других значений, которые можно свободно настраивать, вывод контроллера обычно является значением, видимым на панели команд и в Track View.
  • Как и во всех основных правилах, всегда имеют место исключения.

СОВЕТ

Для определения действительных выводных значений контроллера следует выполнить анимацию параметра по диапазону его значений. Создайте объект Point и присвойте контроллер Expression его параметру позиции. Используйте в качестве уравнения [inp,inp,inp] и назначьте исследуемый контроллер скалярной переменной inp. После этого действительные значения вывода контроллера можно наблюдать через кривую функции в позиции Point объекта.

Дополнительный аспект, на который следует обратить внимание, заключается в том, что ограничения, налагаемые 3DS МАХ на некоторые параметры, действуют только во время ввода данных. Поскольку контроллер Expression обходит ввод данных, данные ограничения не всегда срабатывают. Примером является FOV камеры. FOV во время ввода данных ограничен углом в 175°, но контроллер Expression может представить любое желаемое значение. Несмотря на редкую фатальность, выходящие за пределы допустимого диапазона значения контроллера Expression могут приводить к достаточно неожиданному поведению. Лучше всего определить пределы изменений параметра и всегда в них оставаться.

Упражнение, связанное с применением контроллера Expression

В данном упражнении вы будете иметь дело с вращением доски объявлений так, чтобы фронт доски всегда смотрел в камеру. Однако доска всегда должна оставаться перпендикулярной земле - ее требуется вращать только относительно одной оси. Для решения поставленной задачи используйте контроллер выражений, который вращает доску объявлений вокруг оси Z на основе положения камеры относительно доски.

Сцена состоит из камеры, коробки, представляющей землю (Ground) и коробки с отображенной текстурой (Billboard). Точка вращения Billboard настроена так, чтобы ось +Z доски оказалась перпендикулярной Ground.

Для применения к Billboard контроллер выражения вращения нуждается в доступе к позиции Billboard. Поскольку выражению вращения для объекта не разрешено получать доступ к контроллеру положения того же объекта, в позиции, где находится Billboard, создается фиктивный объект и Billboard делается дочерним по отношению к фиктивному объекту.

Контроллер Expression реализующий контроллер LookAt относительно одной оси

  1. Загрузите файл ch24_7.max из папки Chapter 24 сопровождающего CD-ROM.
  2. Щелкните на Play Animation для выполнения анимации.
  3. Нажмите Esc для завершения воспроизведения и щелкните на Min/Max с целью отображения всех видовых окон.
  4. Создайте фиктивный объект.
  5. Выполните Align и выберите Billboard как Align Target Object. Выберите X Posinion, Y Position и Z Position и затем Pivot Point как для Current Object, так и Target Object. Выберите оси X, Y и Z в Align Orientation. Щелкните на OK для завершения работы.
  6. Выполните Select and Link и свяжите Billboard с фиктивным объектом.
  7. Откройте Track View и выберите контроллер вращения для Billboard.
  8. Выполните Assign Controller и выберите контроллер Euler XYZ.
  9. Расширьте дорожку контроллера вращения и назначьте дорожке Z Rotation контроллер Float Expression. Рисунок 24.47 показывает экран в данной точке.
  10. Щелкните правой кнопкой мыши на контроллере Z Rotation и выполните Properties.
  11. Щелкните на Load и загрузите lookat__z.xpr из папки Chapter 24 сопровождающего CD-ROM. Рисунок 24.48 отражает диалог Expression Controller, содержащий уравнение Lookat_Z.
  12. Выберите MyPos в колонке Vector, щелкните на Assign to Controller и выберите дорожку позиции для фиктивного объекта.
  13. Выберите TargetPos в колонке Vector, щелкните на Assign to Controller и выберите дорожку позиции для камеры.
  14. Щелкните на Close, активизируйте видовое окно камеры и проиграйте анимацию.

В файле Lookat_x.xpr подготовлен дополнительный контроллер выражения. Рисунок 24.49 показывает уравнение Lookat_X. Если использовать данное выражение для управления дорожкой Х Rotation объекта и уравнение Lookat_Z для управления дорожкой Z Rotation, то ось -Z объекта всегда будет указывать на объект цели. На сцене примера ch24_8.max, находящегося на сопровождающем CD, показано два объекта ~ один использует контроллер LookAt, а другой - приведенные выше выражения.

Копирование и вставка контроллеров

В Track View можно скопировать и вставить большинство контроллеров. Пока параметр имеет присоединенный контроллер с рядом ограничений этот контроллер можно скопировать. Контроллер можно вставить в параметр, если этот параметр может принять тип данных контроллера.

Главное ограничение на вырезание и вставку заключается в том, что нельзя копировать или вклеивать контроллеры, отстоящие от объекта более чем на два уровня вниз. Это ограничение означает невозможность копирования подчиненных контроллеров в контроллере List, контроллерах Ease и Multiplier и подчиненные контроллеры вращения X, Y и Z в контроллере Rotation Эйлера. Дополнительные ограничения заключаются в том, что копирование/вставку нельзя выполнить на дорожке позиции для центра модификатора и его также нельзя выполнить для контроллера PRS для гизмо модификатора. Однако копирование/вставку можно применять для подчиненных контроллеров для PRS контроллера гизмо с учетом предыдущих ограничений.

Последнее ограничение заключается в том, что если копируется и вставляется контроллер, использующий контроллер Ease или Multiplier, канал Ease или Multiplier в копии не сохраняется. Это справедливо как для контроллеров, скопированных в Track View, так и для объектов, которые клонируются в главных видовых окнах.

Из следующего упражнения будет видно, как экзем пляризованные контроллеры можно использовать в качестве помощи при создании геометрии. Цель данного упражнения заключается в создании коробки, которая всегда будет квадратной, - для ширины, высоты и длины коробки всегда будет применяться одно и то же значение.

Экземпляризованные контроллеры для параметров объекта

  1. Создайте коробку произвольных размеров. Грани коробки нс должны быть квадратными.
  2. Откройте Track View, щелкните на Filters и включите Show Controller Types.
  3. Расширьте дорожки для BoxOl.
  4. Выберите параметр Height и присвойте параметру контроллер Bezicr Float.
  5. Щелкните на Copy Controller для сохранения копии контроллера Bezier Float.
  6. Выберите параметр Width и удерживая клавишу Ctrl щелкните на параметре Length, чтобы добавить его к выборке.
  7. Щелкните на Paste Controller. На экране появится диалог Paste с опцией вставки контроллера в виде копии или экземпляра. Следует вставить в виде экземпляра так, чтобы при изменении одного значения поменялись бы значения и для остальных трех дорожек.
  8. Выберите Instance и нажмите на ОК.
  9. Закройте Track View и откройте панель команд Modifier.
  10. Настройте значение для Length, Width и Height.
    Как только изменится одно значение, новое значение отобразится в остальных полях.

СОВЕТ

В предыдущем примере выражения LookAt доска объявлений была связана с фиктивным объектом ввиду того, что контроллер выражения вращения нуждался в позиции доски, но ему не был разрешен доступ к дорожке позиции объекта. Вместо связывания объектов можно было бы скопировать контроллер позиции доски в контроллер позиции фиктивного объекта в виде экземпляра. Тогда какой бы из объектов не передвигался, другой объект передвигался бы автоматически.

Типы контроллеров для уровня трансформации объектов можно указывать в панели Motion или в Track View. Для тех типов контроллеров, требующих задания дополнительного объекта (контроллеры Path и LookAt), этот объект можно указать только из панели Motion.

Типы контроллеров легко определять в Track View для любого значения, поддающегося анимации. Сюда входят контроллеры трансформации для гизмо модификаторов, примененных к объекту. Хотя контроллер Path и можно указать для позиции гизмо, однако прямого способа определения пути следования не существует. Данное ограничение можно обойти, применив контроллер Path к другому объекту, указывающему путь следования на панели Motion, и затем вырезав и вставив контроллер Path в контроллер позиции гизмо.

Позиция модификатора гизмо указывается относительно точки вращения объекта, к которому применен модификатор. Другими словами, модификатор, спозиционированный в [О, О, О], расположен в точке вращения объекта. Когда контроллер пути применяется к объекту или гизмо, возвращаемые значения позиции являются относительными к центру мира.

Следующее упражнение использует контроллеры Position List и Position Expression в сочетании с контроллером Position Path для соответствующего размещения гизмо с учетом объекта. В упражнении модификатор Volume Select применяется для выбора группы граней объекта, а модификатор MeshSmooth - для выбора граней с целью увеличения их плотности в области. Модификатор EditMesh применяется для очистки множества выборок, а модификатор Displace - для формирования "впадины" в объекте. В упражнении для модификаторов гизмо Volume Select и Displace применяется контроллер пути.

Применение контроллеров Path к модификатора^ гизмо

  1. Загрузите файл ch24_9.max из папки Chapter 24 сопровождающего CD-ROM. Рисунок 24.50 отражает перспективу и фронтальный вид цилиндра со "впадиной".
  2. Откройте Track View, щелкните на Filters и включите Show Controller Types.
  3. Расширьте дорожки, как показано на рисунке 24.51.
  4. Выберите контроллер позиции Path на Sphere и щелкните на Copy Controller.
  5. Выберите контроллер позиции на гизмо Displace цилиндра.
  6. Щелкните на Paste Controller и выполните Paste as Instance.
  7. Выберите контроллер позиции на гизмо Displace, щелкните на Assign Controller и выполните Possition Expression.
  8. Расширьте контроллер Position List, выберите Available, щелкните па Assign Controller и выберите Position Expression.
  9. Щелкните правой кнопкой мыши на Position Expression и выполните Properties.
  10. Создайте векторную переменную под названием CylPos, щелкните на Assign Controller и выберите контроллер позиции для Cylinder па панели Track View Pick.
  11. Введите в качестве выражения -l*CylPos и закройте диалог контроллера выражения.
  12. Выберите контроллер Position List и щелкните на Copy Controller.
  13. Выберите контроллер позиции гизмо Volume Select, щелкните на Paste Controller и выполните Paste as Instance.
  14. Закройте Track View и проиграйте анимацию.

Преобразование вывода параметрического контроллера в ключ-базированную анимацию

Применяя поставляемые с 3DS МАХ контроллеры, можно создавать сложное движение объектов. Например, объект может иметь контроллер Path, контроллер List, контроллер LookAt и параметрические контроллеры, подобные Noise. Объект может также быть частью оживляемой иерархии.

В ряде случаев возникает желание свернуть движение для объекта до простых ключей позиции, вращения и масштаба. Последнее делается для использования контроллера Expression, который нуждается в ссылке на дорожки позиции или вращения или для создания пути для лидирующего объекта. Имеется возможность свернуть движение до ключей трансформации, привязав один объект к другому, движение которого необходимо захватить и затем применить Inverse Kinematics/Bind.

В следующем упражнении BoxOl связана со Shpere03, связанной со Sphere02, которая в свою очередь связана с SphereOl. В течение анимации каждая сфера поворачивается на 360° вокруг оси Z. Рассеянный цвет материала, отображающийся на BoxOl, управляется контроллером Expression. Данный контроллер изменяет рассеянный цвет коробки на основе скорости X, Y и Z коробки в текущем кадре. Скорость определяется векторными переменными, присвоенными дорожке позиции BoxOl. Во время проигрывания анимации можно заметить, что рассеянный цвет никогда не изменяется, поскольку для BoxOl не обеспечено никакого движения, кроме как через иерархию. Таким образом значение, возвращаемое с дорожки позиции, является константным.

Использование 1К/Вind для создания ключей внимании из процедурного контроллера

  1. Загрузите файл ch24_10.max из сопровождающего CD-ROM и проиграйте анимацию.
  2. Создайте фиктивный объект и откройте часть IK в панели команд Hierarchy. Щелкните на Bind и свяжите фиктивный объект с BoxOl. Включите Bind Position и Bind Orientation и в свитке Sliding Joints активизируйте оси X, Y и Z. Щелкните на Apply IK.
  3. Откройте Track View, расширьте дорожки и выберите параметр Diffuse для Material #1 под BoxOl. Щелкните правой кнопкой мыши на Diffuse и выполните Properties. На экране появится диалог контроллера Expression, показанный на рисунке 24.52.
  4. Выберите переменную PosLast в колонке Vector и щелкните на Assign to Controller. В появившемся диалоге Track View Pick выберите дорожку позиции DummyOl. Повторите для PosNow и закройте диалог контроллера Expression.
  5. Оставляя Track View открытым, активизируйте вид камеры и проиграйте анимацию. При изменении скорости цвет коробки будет изменяться. Цвет коробки в кадре 0 существенно отличается от цвета в кадре 1 и кадре 100.
  6. В Track View со все еще выбранным Diffuse щелкните на Function Curves. Обратите внимание на прерывание в кадре 0. Выберите дорожку позиции для DummyOl.
    Кроме того следует обратить внимание на постоянные значения, используемые вне активного диапазона времени. Поскольку переменная PosLast в выражении получает доступ к позиции на один тик позже текущего кадра, в кадре 0 изменение скорости не наблюдается.
  7. Щелкните на Parameter Curve Out-Of-Range Types. Щелкните на двух кнопках ниже Cycle и выйдите из диалога.
  8. Закройте Track View и проиграйте анимацию. Теперь цвет в кадре 0 стал корректным.


ГЛАВА 25

Построение и анимация частиц

Хотелось ли вам когда-либо имитировать летающую вокруг пыль? А дым или дождь? В трехмерном мире подобного рода условия порождаются системами частиц. Система частиц представляет собой набор частиц, которые при имитировании могут порождать множество анимационных эффектов. В 3D Studio MAX системы частиц являются объектами, а генерируемые частицы - подобъектами. Можно выполнять анимацию системы частиц как единого целого, а можно настроить свойства системы частиц так, чтобы управлять поведением каждой частицы во времени.

3D Studio MAX распространяется с двумя системами частиц: Spray (струя) и Snow (снег). Spray используется для имитации объектов, подобных дождю, где каждая частица двигается в одном направлении и ориентирована одинаково. Snow используется для анимации объектов, которые ведут себя более похоже на снег -мягко падают и, как правило, кружатся.

Обе системы частиц имеют множество одинаковых свойств, но они также содержат и уникальные элементы управления, характерные для используемого типа системы. В данной главе будет показано, как ведут себя обе системы и как управлять их индивидуальными свойствами для получения чего-то большего, чем просто брызги или снег. Конкретно в главе рассматриваются следующие темы:

  • Параметры систем частиц Spray и Snow
  • Типы визуализации
  • Материалы и типы частиц
  • Отсчет времени
  • Эмиттеры

Кроме того, последняя часть главы освещает две подключаемых системы частиц, созданные независимыми разработчиками для 3D Studio МАХ - Sand Blaster от Digimation и All Purpouse Particles от Sisyphus - и обсуждает применение частиц вместе с исказителями пространства. Однако прежде всего следует понять принципы функционирования систем частиц в 3DS МАХ.

Исследование систем частиц 3D Studio MAX

Системы частиц связаны с геометрией. Кнопки создания системы частиц находятся на панели Create в категории геометрии. Отсюда из списка подкатегорий выбираются Particle System. Здесь вы найдете и кнопку Spray, и кнопку Snow. Здесь также будут видны и другие установленные системы от независимых разработчиков.

При щелчке на кнопках Spray или Snow все редактируемые параметры появляются в свитке (см. рис. 25.1). Курсор также изменяет свой вид для отражения, что вы находитесь в режиме Create.

При создании в 3D Studio MAX системы частиц необходимо определить, откуда частицы испускаются и в каком начальном направлении. Точка испускания называется эмиттером. Эмиттер является невизуализиру-емьш представлением в видовом окне, которое используется для определения, откуда частицы берутся и куда направляются. Для создания эмиттера щелкните на любом видовом окне и транспортируйте наружу прямоугольник. Обратите внимание на то, что эмиттер определяется плоскостью с маленькой линией, перпендикулярной поверхности плоскости и пересекающей ее в центре. Размер эмиттера определяет "отверстие", через которое будут испускаться частицы. Маленький эмиттер производит концентрированную область, из которой появляются все частицы, большой эмиттер расширяет область испускания частиц. Линия задает направление, в котором частицы передвигаются.

Начальная ориентация эмиттера зависит от того, в каком видовом окне он создан и используете ли вы собственную плоскость или объект сетки. Когда в качестве плоскости создания используется сетка, то эмиттер всегда создается параллельно видовому окну, а направление частиц указывает в сторону от вас. Исключением является виды типа перспективы. В этом случае эмиттер создается на сетке и направлен вниз (см. рис. 25.2). Использование объекта сетки приводит к тому, что эмиттер всегда создается на бесконечной плоскости сетки - независимо от того, что отображается. Направление эмиттера зависит от ориентации самого объекта сетки и всегда совпадает с осью Z сетки.

СОВЕТ

При использовании объектов сетки лучше всего создавать объекты в видовом окне, которое не является параллельным поверхности сетки. Создание в параллельном видовом окне приведет к тому, что объект создается в "бесконечности", что существенно затрудняет осуществление навигации в видовых окнах.

В зависимости от того, в каком вы кадре, частицы и эмиттер можно видеть или не видеть. Поскольку частицы базируются на времени, вы увидите в кадре состояние системы частиц по умолчанию. В кадре О обычно не видно ничего.

Параметры Spray и Snow

У Spray и Snow имеются общие параметры. Установки и Spray и Snow реагируют одинаково. Данный раздел описывает общие параметры и исследует их применение.

Счетчики частиц

И Spray, и Snow обеспечивают два параметра для задания количества частиц. Один метод предусматривает использование параметра Viewport Count. Данное значение оказывает влияние только на количество частиц, отображаемых в видовых окнах. Диапазон изменения распространен от 0 до 1000000000, хотя последнее число нереально. Используйте его только в случаях, когда хотите "поставить компьютер на колени".

Главная цель параметра Viewport Count заключается в оптимизации того, насколь хорошо 3DS МАХ перерисовывает видовые окна. Большое количество частиц в видовых окнах может существенно замедлить обновление видовых окон. Такое замедление особенно заметно при воспроизведении анимации в видовом окне. Поддерживайте число частиц как можно меньшим, но убеждайтесь, что в видовых окнах видно точное представление частиц.

Другим параметром является Render Count. Данное значение влияет только на количество визуализируе-мых частиц и не оказывает влияния на количество частиц в видовых окнах. Render Count значение обычно достаточно большое, поскольку для визуализации критичным является качество, а не интерактивность.

ПРИМЕЧАНИЕ

Анимацию видового окна выполнить нельзя, равно как и визуализировать значения счетчика.

Системы частиц имеют отношение к геометрии. Подобно множеству других объектов они содержат грани и вершины. Следовательно, чем выше значения счетчика видового окна или визуализации, тем сильнее замедляется сцена. Часто можно использовать небольшие значения счетчиков частиц и, тем не менее, получать выдающиеся результаты. Поддержка управления счетчиками частиц является ключевым моментом визуализации, занимающим одну минуту, а не пять.

Speed и Variation

Speed (скорость) устанавливает начальную скорость каждой частицы. Значение скорости использует собственную систему единиц для изменения положения частицы во времени. Со скоростью 1 частица грубо проходит 10 единиц в 25 кадрах. Значение по умолчанию 10 означает, что частица проходит 10 единиц в 2.5 кадрах. Любая Variation, большая нуля, эффективно отрицает данное уравнение.

Variation управляет двумя вещами: размером и направлением. Значение по умолчанию 0 порождает постоянный поток частиц, которые проходят точно в том направлении, которое указывает вектор направления эмиттера. Пря увеличении Variation происходят две вещи. Во-первых, возрастает скорость частиц. Во-вторых, частицы начинают отклоняться от вектора направления эмиттера. По существу вариация равдомизирует направление и скорость каждой частицы. При увеличении значения рандомизация становится более заметной.

СОВЕТ

Для того, чтобы заставить частицы выстреливаться во всех направлениях, используйте значение вариации, повышающее значение, указанное для скорости.

Представление видовых окон

Частицы можно отображать несколькими способами - как Drops (капли) (для Spray) или как Flakes (хлопья) (для Snow), как Dots (точки) или как Ticks (тики) (см. рис. 25.3). В случае использования Drops частицы представляются в виде линий, которые увеличиваются или уменьшаются в размерах в зависимости от значения Size. Параметры Size наиболее точно представляют размер визуализированных частиц.

Dots появляются в качестве отдельных пикселов в видовых окнах независимо от размера капель или масштаба отображения. Применяйте Dots тогда, когда не хотите засорять видовые окна ненужной геометрией.

Тики появляются в видовом окне как небольшие 5х5 пикселов крестики. Подобно точкам, независимо от того, насколь сильно распахивается окно, тики остаются одного и того же размера. Тики хорошо работают с распахиванием ввиду того, что каждую частицу всегда можно наблюдать. Однако, чем меньше делается окно, тем теснее становится частицам. В таком случае предпочтительнее использовать Dots.

Рисунок 25.4 иллюстрирует визуализированную частицу с примененной градиентной картой.

ПРИМЕЧАНИЕ

Все методы отображения частиц перерисовывают картинку в видовых окнах практически с одной и той же частотой. Для ускорения воспроизведения частиц следует уменьшить Viewport Count.

Назначение материала

Поскольку частицы в 3D Studio MAX являются объектами, назначение материала всегда происходит на уровне объекта. В случае назначения материала объекту частиц все частицы используют один и тот же материал. Если необходимо, чтобы струя частиц испускала различные материалы, можно применить материал Multi/Sub- Object. Каждая частица принимает материал на основе его номера. Частицы начинают отсчитываться от 0, тогда как материалы - от 1. Так, например пятая выпущенная частица получит материал #1 из материала Mul ti/Sub- object, охватывающем пять материалов. Назначение материала Multi/Sub-object отлично работает при имитации вещей, подобных разноцветному конфетти.

ПРИМЕЧАНИЕ

В Snow шеститочечный объект на самом деле использует два ID материала, а не один, что обеспечивает возможность присвоения различных материалов каждой стороне шеститочечной частицы.

СОВЕТ

Частицы принимают назначения ID материалов, начиная отсчет с 0, а не с 1.

Управление временем частиц

3DS МАХ предоставляет множество средств управления отсчетом времени для частиц. Устойчивый поток или короткие выбросы моделируются путем изменения значений времени. Следующий раздел разъясняет, как работают значения времени и как их использовать.

Start и Life

Значение Start устанавливает на каком кадре эмиттер начинает выбрасывать частицы. Номер кадра может быть любым, в том числе и отрицательным. Отрицательные кадры используются в тех случаях, когда необходимо, чтобы частицы присутствовали на экране уже в кадре 0. Значение Life устанавливает продолжительность жизни в кадрах каждой частицы и назначается каждой частице индивидуально. Данным значением устанавливается продолжительность времени, прежде чем частица будет разрушена. Если требуется, чтобы частицы всегда присутствовали на сцене установите данное значение в последний кадр.

Настройка значений по умолчанию

Значения Start и Life по умолчанию можно изменить с целью настройки устойчивого потока частиц, выбрасываемого из эиттера. Значение Life не только влияет на то, сколько времени частица просуществует до разрушения, но также определяет проходимое частицей расстояние. Чем дольше жизнь, тем дальше частица уйдет от эмиттера.

Constant и Varying Birth Rates

Опция Constant обеспечивает постоянный поток частиц в любое время. По умолчанию данная опция включена. Мах Sustainable Rate (максимальная поддерживаемая частота), находящаяся непосредственно под флажком Constant, отображает количество частиц, которые могут рождаться в каждом кадре, и при этом число частиц остается ниже указанного предела. Данное значение изменяется при изменении значения Life для частиц. Со значением Life по умолчанию, равным 30 поддерживаемая частота равна 3.3 рождения частицы на каждый кадр. Если удвоить Life до 60, Мах Sustainable Rate изменится практически вдвое и составит 1-7. Дело в том, что теперь 3DS МАХ имеет больше времени для генерации этих 100 частиц. За счет простого применения продолжительности жизни можно управлять тем, сколько частиц присутствует на сцене в конкретном кадре.

СОВЕТ

Если требуется, чтобы все частицы, задаваемые полями счетчиков, присутствовали уже в кадре О, установите стартовый кадр частиц в отрицательное значение Life-

Отменив,опцию Constant, можно в поле Birth Rate указать максимальное количество частиц, рождаемых в кажцом кадре (см. рис. 25.5). Однако, значение Мах Sustainable Rate используется в качестве направляющего. Вот как это работает:

  • Если необходимо получить устойчивый поток частиц следует установить Birth Rate в значение, равное или меньшее Мах Sustainable Rate.
  • Если необходимо получить короткие порывы, установите значение, превышающее Мах Sustainable Rate. Например, значение 50 эмитирует 100 частиц в двух кадрах.

Поскольку можно выполнить анимацию значения Birth Rate, его легко использовать как значение управления потоком ваших частиц. Значение 0 не эмитирует ничего. Любое значение Render Count порождает все больше и больше частиц.

СОВЕТ

Анимация Birth Rate с применением опции Step In/Out для ключей в Track View порождает управляемые порывы. С другой стороны, использование кривой по умолчанию порождает постепенное возрастание/снижение частоты рождения частиц.

Размер и ориентация эмиттера

Размер эмиттера управляет областью, из которой генерируются частицы. Длинный тонкий эмиттер порождает узкий зазор, из которого генерируются частицы. Большая область эмиттера распространяет частицы в большей степени. Spray и Snow случайным образом генерируют частицы из области объекта эмиттера. Распределение того, откуда испускаются частицы, управляется только размером эмиттера.

Благодаря возможности выполнения анимации размера эмиттера осуществимы эффекты, подобные открытию пожарного шланга или искрам, летящим из возрастающей области.

Ориентация эмиттера управляет направлением выстреливания частиц. При использовании Spray или Snow частицы испускаются в постоянном направлении и ориентации, если только не взаимодействуют с посторонней силой, например, исказителем пространства. Данный факт можно использовать для своей выгоды с целью управления направлением струи или снега. Эмиттеры работают с нормальными командами трансформации, поэтому их можно и перемещать, и вращать. Если требуется масштабировать размер эмиттера, лучше изменить значения Length и Width в противоположность использованию трансформации масштабирования.

ПРИМЕЧАНИЕ

Частицы создаются на плоскости эмиттера, начиная с верхнего наконечника частицы. В результате некоторые частицы могут существовать перед эмиттером. Это особенно заметно при использовании частиц большого размера.

Исследование системы частиц Spray

Система частиц Spray полезна для имитации эффектов падающей воды. Отсюда очевидно применение ее для эффектов, подобных дождю или падению других видов жидкости из определенного положения. Spray можно также использовать для моделирования таких вещей, как искры от фитиля бомбы или светящейся золы в огне.

Применение Drop Size

Drop Size (размер капли) используется для управления действительным размером в единицах каждой частицы. Drop Size со значением 0 не порождает ничего, тогда как Drop Size 20 порождает длинные выбросы. Значение изменяется в зависимости от искомого эффекта.

Маленькие размеры полезны для таких вещей, как сыплющийся сахар или других тонко гранулированных объектов. Размеры меньшие 1 порождают очень маленькие частицы. Обычно при этом приходится устанавливать счетчик визуализации относительно высоким, чтобы увидеть маленькие частицы на расстоянии.

ПРИМЕЧАНИЕ

Изменение в размере частиц заметно в видовых окнах только тогда, когда частицы отражаются как капли. Если необходимо, чтобы размер частиц точно отображался в видовых окнах, следует использовать для отображения метод Drop.

Большие размеры отлично подходят для создания разводов света, подобных эффектам исказителей. В таком случае используются меньшие значения счетчика, поскольку крупные частицы занимают много места по сравнению с маленькими и "сбиваются в кучу", если их слишком много. Сказанное справедливо и для Viewport Count, и для Render Count.

СОВЕТ

Для имитации роста эффектов разводов можно выполнить анимацию Drop Size.

Типы визуализации Spray

Типы визуализации, выбранные на панели Parameter для распыляемых частиц, предоставляют возможность задания внешнего вида частиц при визуализации. Распыление допускает визуализацию каждого тетраэдра или квадратной грани с любым проецируемым материалом. В данном разделе исследуются оба метода.

Распыляемые частицы в виде тетраэдров выглядят очень похожими на объекты Hedra, использующие тип Tetra, за исключением того, что вершина нижнего полюса больше вытянута на "юг" и частица похожа на многоугольную каплю воды. При попытке эмуляции капель жидкости тетраэдры являются самым лучшим типом частиц для визуализации. Как правило, тетраэдры визуализируются быстрее граненых частиц. Огранка создает квадратные грани, всегда смотрящие в камеру. Это означает, что их визуализируемая грань всегда перпендикулярна камере. Размер квадратов (ширина и высота) указывается в Drop Size. Используйте граненые частицы в сочетании со специфическими материалами для визуализации других типов частиц.

ПРИМЕЧАНИЕ

В случае визуализации вида, отличного от вида камеры, грани будут смотреть в произвольном направлении.

Имеется возможность "полетать" среди тетраэдров и посмотреть на них под различными углами. Летать можно и между гранеными частицами, по они всегда перпендикулярны вашей точке зрения, что выливается в неправильный эффект.

Материалы и распыляемые частицы

Системы частиц можно использовать практически как и любой тип материала. Более конкретно, для генерации специальных эффектов, например, дыма, можно применять такие типы карт, как градиент и помехи. В данном разделе разъясняется процесс применения проецирования и использование материалов для частиц.

Проецирование (Mapping)

Присваивать частицам материалы очень просто. У частиц имеются присвоенные координаты проецирования и они хорошо работают с типами материалов Multi/Sub- Object. Следующих два абзаца подробно разъясняют, как это делать.

Тетраэдры проецируются при помощи цилиндрического типа проецирования с V-образной ориентацией вдоль длины тетраэдра. Исходная точка проецирования располагается в исходной точке тетраэдра плоской части. Если посредством градиентной карты непрозрачности необходимо имитировать становящуюся более прозрачной каплю воды, градиент должен начинаться с черного для цвета 1 и превращаться в белый для цвета 3 - противоположное поведение по сравнению с поведением по умолчанию градиентных карт.

Карты огранки расширяются до своих размеров при помощи планарного проецирования. Если посмотреть навстречу граненой частице в видовом окне с эмиттером, ориентированным вниз, то V в видовом окне должна быть вертикальной. Однако на самом деле для типов визуализации граненых частиц V ориентирована противоположным образом. В предыдущем примере- градиентную карту следует перевернуть.

Испускание искр

Одной из лучших характеристик распыления является его способность имитировать все типы летающих капель, включая искры. При использовании распыления для создания эффекта искр лучше всего увеличить значение Variation. Таким образом частицы будут разлетаться от эмиттера во все стороны, в том числе и вниз. Следующее упражнение показывает, что использование системы распыления с подходящими параметрами порождает эффект искр, разлетающихся от фитиля.

Имитация горящего фитиля при поллоши распыления

  1. Откройте файл imx25spw.max в папке Chapter 25 на сопровождающем CD-ROM.
  2. Для выбора объекта Fuse по имени нажмите Н.
  3. Перейдите на панель Modify и запишите параметры распыления.
  4. Воспроизведите анимацию или создайте предварительный просмотр анимации.
  5. Завершите воспроизведение.
    Обратите внимание на то, что искры ведут себя не так, как это ожидалось. Эмиттер просто распыляет частицы в одном направлении. Изменяя Variation на большее значение, вы заставляете частицы разлетаться во всех направлениях. Можно также изменить переменные, подобные скорости и размеру частиц, с целью создания больших искр.
  6. Установите Variation в 5.
  7. Установите скорость (Speed) в 1.
  8. Установите размер капель в 8.
  9. Просмотрите анимацию.
    Следующее, что необходимо выполнить - превратить анимацию в хорошую визуализацию. По умолчанию частицами являются маленькие тетраэдры. Это подходит для искр, за исключением того, что они выглядят довольно плоскими. Для добавления искрам фильтра свечения можно использовать Video Post. Video Post уже настроен. Если хотите, проверьте параметры фильтра свечения и посмотрите задействованные установки. Просто щелкните дважды на фильтре свечения в очереди Video Post перед кнопкой Setup.
  10. Выполните Rendering/Video Post.
  11. Щелкните на кнопке Execute (выполнить).
  12. Щелкните на Render.
  13. После завершения визуализации анимации воспроизведите AVI из опции View File в выпадающем меню File.

Рисунок 25.6 показывает застывший кадр анимации. Обратите внимание на то, что искры разлетаются во всех направлениях. Это результат достаточно большого значения Variation.

СОВЕТ

Для создания эффекта свечения искр и фитиля используйте фильтр Glow и эффект Volume light (объемный свет).

Исследование системы частиц Snow

Еще одной системой частиц, распространяемой с 3D Studio MAX, является Snow (снег). Подобно системе Spray, Snow генерирует частицы из общего источника. Основное различие между Spray и Snow заключается в поведении частиц после покидания эмиттера. В отличие от дождя, который сохраняет постоянную ориентацию и направление, частицы снега могут вести себя в пространстве произвольным образом. Snow можно применять для создания частиц любого типа с мягким движением.

Значения Tumble и Tumble Rate управляют тем, как частицы снега вращаются и передвигаются. Действительные значения Tumble находятся в диапазоне от 0 до 1. Значение 0 вообще не порождает вращения, тогда как 1 порождает постоянно танцующие хлопья. Tumble Rate указывает, сколько хлопьев реально вращаются в каждом кадре. Более высокие значения порождают интенсивно вращающиеся хлопья, в то время как меньшие значения порождают более умеренное вращение. Значение Tumbling Rate, равное 0, прекращает любое вращение независимо от значения Tumble.

Использование Flake Size

Применяйте Flake Size (размеры хлопьев) для управления реальным размером каждой частицы в единицах (см. рис. 25.7). Flake Size, равный 0, не делает ничего, а значение 20 порождает большие хлопья. В зависимости от искомого эффекта данное число меняется. Маленькие размеры подходят для эффектов, подобных крохотным пузырькам или частичкам пыли. Размеры, меньшие 1, порождают очень маленькие частицы. В этом случае для того, чтобы видеть частицы на расстоянии, придется установить счетчик визуализации в относительно высокое значение.

ПРИМЕЧАНИЕ

Изменения размеров частиц в видовых окнах видны только тогда, когда частицы отображаются в виде хлопьев. Dots и Ticks отображаются с фиксированным разрешением. Метод отображения Flakes является единственным, который учитывает размер.

Большие размеры можно применять для создания реальных частиц снега или эффектов конфетти. В любом случае желательно применять меньшие значения счетчика, поскольку большие частицы занимают больше пространства и "сбиваются" в кучу, если их слишком много. Это справедливо как для видового окна, так и для счетчиков визуализации.

Типы визуализации Snow

Типы визуализации, выбираемые из панели Parameter частиц, предоставляют возможность определения внешнего вида частиц при визуализации. Типы визуализации применяются для генерации множества эффектов, начиная от конфетти и заканчивая дымом. В настоящем разделе описывается три типа визуализации для системы частиц Snow.

Шестиугольные снежные хлопья порождают шестиугольные звезды, которые испускаются в различных направлениях. Шестиугольные звезды могут использовать любой тип материалов, включая Multi/Sub-object. Шестиугольные хлопья могут также состоять из двух различных материалов, назначенных двум поверхностям, по одному для каждой стороны. В зависимости от целей, шестиугольные звезды могут порождать лучшие результаты визуализации при использовании в сочетании с корректно подобранными материалами.

Треугольники порождают треугольные грани, испускающиеся в разных направлениях. Треугольные грани работают в основном так же, как шестиугольные с учетом материалов. Разница состоит в том, что одной стороне можно присвоить только один материал. Материалы, можно рандомизировать назначая каждой частице свой. Для этого используется материал Multi/Sub-Object.

Огранка создает квадратные грани, которые всегда смотрят в камеру, т.е. визуализируемые грани всегда остаются перпендикулярными камере. Их размер как для ширины, так и для высоты определяется значением Flake Size. Для визуализации различных типов частиц используйте визуализацию граненых типов в сочетании с конкретным материалом.

Можно полетать сквозь Six-point и Triangle и посмотреть на них под различными углами. Хотя выполняется полет сквозь граненые частицы, последние всегда остаются "перпендикулярными" к вашей точке зрения, что может породить обманчивый эффект.

Материалы и проецирование

Как упоминалось ранее, частицам легко назначить материалы. Частицы имеют назначенные координаты проецирования и хорошо работают с типами материала Multi/Sub-object. В следующих абзацах описано как это делается.

Шестиугольные частицы автоматически проецируются при помощи планарного проецирования на размер частицы. Проецирование назначается так, как если бы шестиугольник был квадратом с вырезанной из него шестиугольной звездой.

Треугольникам также назначается планарное проецирование, очень похожее на шестиугольное, за исключением того, что треугольная форма вырезается из карты, а не из шестиугольной звезды.

Огранен|{ые карты подгоняются под нужный размер посредством планарного проецирования. Если посмотреть на ограненную частицу вплотную в видовом окне с эмиттером, ориентированным вниз, то V должна быть вертикальна. Однако на самом деле для граненых визуализированных типов V имеет противоположную ориентацию. Рисунок 25.8 показывает, как работает проецирование с частицами Snow.

Использование Snow для генерации пузырьков

По ряду причин система частиц Snow хорошо подходит для создания медленно вращающихся пузырьков. Основная причина состоит в том, что частицы по мере удаления от эмиттера становятся мельче. В следующем упражнении вы увидите, как создать пузырьки, просто изменив несколько параметров в системе частиц Snow.

Создание пузырьков с использованием Snow

  1. Откройте файл imx25snw.max из папки Chapter 25 сопровождающего CD-ROM.
  2. Перейдите на панель Create, убедитесь, что кнопка Geometry нажата, и щелкните на тексте "Standard Primitives" (стандартные примитивы).
  3. Выберите Particles Systems.
  4. Щелкните на кнопке Snow.
  5. Создайте эмиттер Snow. Для этого щелкните на нем и транспортируйте в перспективное видовое окно. Ширина и высота эмиттера должны составлять приблизительно по 20 единиц.
  6. При активном видовом окне Perspective щелкните на кнопке Mirror. В качестве Mirror axis выберите Z и щелкните на ОК.
  7. Транспортируйте указатель кадров на кадр 100 и щелкните на Zoom Extents All.
    В настоящее время 3D Studio MAX использует параметры Snow по умолчанию. Это касается размера и типа визуализации. Для порождения пузырьков они оба должны быть изменены.
  8. Установите значение Flake в 8.
  9. Установите Render Type в 8.
    Вы уже практически завершили. Осталось только назначить снегу материал. Материал под названием Bubble Material уже запомнен в данной сцене. Его можно просто выбрать из Material Editor и применить к Snow.
  10. Щелкните на кнопке Material Editor линейки инструментов 3DS МАХ.
  11. Выберите вторую ячейку образцов (верхнюю среднюю) и затем щелкните на кнопке Assign material to selection.
  12. Визуализируйте кадр 100.

Если вас удовлетворяет материал и фон, визуализируйте сцену как анимацию. С данного момента можно добавлять эффекты, подобные кружению и разбрызгиванию. Пузырьки рандомизируются несколько больше.

Можно также клонировать снег на два или несколько объектов и изменять разбрызгивание клонов и параметры скорости, добавляя сцене большую глубину.

Другие частицы

Для доказательства действительной расширяемости 3DS МАХ в настоящем разделе рассматриваются две подключаемые системы частиц от независимых разработчиков: Sand Blaster фирмы Dimension и All Purpose Particles фирмы Sisyphus. Обе подключаемых системы частиц значительно выходят за пределы того, что могут делать Spray и Snow. Фактически данные подключаемые приложения делают именно то, что вызывает затруднения у многих генераторов частиц.

Sand Blaster

Sand Blaster является подключаемой системой частиц для буквального разрывания объектов на мелкие части. Вы можете заставить эти части разлететься в пространство или даже реформировать их в другие объекты. Sand Blaster также предоставляет возможность взрывать объекты на мелкие кусочки, которые на самом деле могут быть другими объектами. Фактически может существовать до 999 временных объектов, которые можно изменить, прежде чем реформировать целевой объект.

Объекты легко разрывать на части в различных направлениях. При этом осколки будут следовать по указанному пути или разлетаться случайно и точно так же реформироваться.

All Purpose Particles

Система All Purpouse Particles (частицы универсального назначения) обеспечивает множество рабочих систем частиц. Появляется возможность генерировать такие эффекты, как пузырьки и фейерверки, за счет простого нажатия на кнопку мыши. Это одно из лучших качеств All Purpose Particles. Для мгновенного начального создания эффекта используются предварительно установленные параметры. Например, если требуется сгенерировать эффект ударной волны так, как она выглядит в кино, всего лишь нажмите на кнопку Shockwave. Данная опция па самом деле просто устанавливает все редактируемые переменные. Ничего не нужно изменять. Однако, если необходимо настроить параметры, АРР предоставляет и такую возможность.

Использование частиц вместе с исказителями

пространства

Частицы в 3D Studio MAX обладают способностью взаимодействовать с определенными типами исказите-лей пространства. Фактически половина распространяемых исказителей имеют дело исключительно с частицами. В настоящем разделе вы узнаете, как их использовать совместно. Более подробная информация об исказителях пространства приведена в главе 17, "Применение исказителей пространства".

Создание фонтана при помощи исказителей пространства

Используя Spray, можно создать прекрасный фонтан. Для этого Spray связывается с гравитацией, ветром и отклонением. В данном разделе будет рассмотрено использование комбинации исказителей пространства для разбрызгивания частиц в различных направлениях.

Использование гравитации

Объект фонтана состоит из пяти струй - одной главной и четырех вспомогательных. Обратите внимание на то, что струи функционируют именно так, как и ожидается: никакой реальной динамики нет вообще. Было бы более естественно, если главный каскад падал бы сам на себя, а четыре вспомогательных струи загибались по дугам вниз. Проще всего это достигается посредством исказителя пространства Gravity (гравитация). Gravity имитирует реальную гравитацию, отталкивая или притягивая частицы в направлении пиктограммы. Ориентация и положение Gravity в пространстве оказывает существенное влияние на частицы. Для имитации гравитации в этой сцене лучше всего использовать планарную гравитацию, направленную вниз. Подобное легко выполняется в видовых окнах Тор или Perspective.

Использование нсказителен пространства и частиц

  1. Откройте файл imx25spw.max из папки Chapter 25 сопровождающего CD-ROM.
  2. Перейдите на панель Create и щелкните на кнопке Space Warps.
  3. Выберите Gravity.
  4. Щелкните и транспортируйте Gravity в видовое окно Тор. Его размер не имеет значения, важна только ориентация.
  5. Для выбора всех составляющих струй на сцене нажмите Н.
  6. Щелкните на кнопке Bind линейки инструментов и вновь нажмите Н для выбора только что созданной гравитации.

ПРИМЕЧАНИЕ

Поскольку гравитация планарная, ее положение в пространстве не имеет значения. Важна только ее ориентация - то, как она повернута. Убедитесь, что она направлена вниз. Рисунок 25.9 показывает результат применения гравитации к объектам струй фонтана.

Использование Deflector

Исказитель пространства Deflector (отклонитель) добавляет частицам способность проявлять планарные столкновения. В следующем упражнении будет создан один отклонитель, который предотвратит прохождение частиц сквозь фонтан при их падении вниз.

Начните с создания отклонителя в окнах Тор или Perspective. Затем свяжите с ним все струи. Разместите отклонитель так, чтобы он расположился на внутренней базе фонтана. Обратите внимание на то, как частицы мгновенно реагируют на изменение положения отклонителя. Рисунок 25.10 демонстрирует влияние отклонителя на струи фонтана.

  1. Щелкните на кнопке Deflector в панели Create.
  2. Начиная с верхнего левого угла фонтана щелкните и транспортируйте отклонитель в видовое окно Top.
  3. Используйте команду Move для перемещения отклонитель на уровень внутренней базы фонтана.
  4. Используйте команду Bind для связывания струй с отклонителем.

Использование ветра

Ветер действует подобно гравитации - он обладает способностью толкать и притягивать частицы к пиктограмме, но также и свойством турбулентно искажать движение частиц. Замечали ли вы когда-нибудь в парке, как ветер налетает на струю фонтана и сдувает ее на несколько футов в одном направлении (при этом часто намокают безмятежно гуляющие прохожие)? Ветер используется для создания точно такого же эффекта.

Поскольку необходимо, чтобы ветер дул в сторону, его следует создать в левом видовом окне. Далее свяжите с ветром главную струю. Частицы немедленно начнет сдувать в сторону. Если вы хотите создать эффект порывов ветра, можно выполнить анимацию силы ветра и параметров турбулентности. Рисунок 25.11 показывает окончательный результат применения гравитации, отклонится" и ветра.

  1. Щелкните на кнопке Wind в панели Create.
  2. Щелкните и транспортируйте исказитель пространства Wind в центр левого видового окна. (Размер пиктограммы не имеет значения.)
  3. Щелкните на кнопке Bind и свяжите с фонтаном только центр струи.

Со значениями ветра можно экспериментировать так, чтобы генерировать различные стили ветра. Попытайтесь выполнить анимацию значения ветра для постепенного сдувания струи фонтана.


ГЛАВА 26

Визуализация неподвижных образов

Область трехмерной графики существенно отличается от традиционных видов искусства. Для искусства фотографии нажатие кнопки - это все что требуется для поимки образа; просто навел камеру и нажимай. Образ записывается мгновенно. С естественными носителями, такими как рисование маслом, образ эволюционирует из грубого наброска в завершенное произведение путем продолжительного совершенствования образа посредством кисти. Мультфильмы или комиксы прежде очерчиваются вручную, а затем раскрашиваются окончательными цветами. Создание образа с помощью компьютера представляет собой совершенно иной процесс. Создаются модели, подобные товарам в столярном магазине. Затем применяются материалы, позволяющие простой сфере стать стеклянным мячом или планетой Солнечной системы. Затем объект освещается и, наконец, сцена визуализируется в образ, подобно тому, как художник самоотверженно рисует окружающий мир

Визуализация на первый взгляд кажется простой. Однако она не настоль проста, чтобы просто щелкнуть на кнопке Render и надеяться на лучшее. Тип вывода и его использование являются существенными элементами успешной визуализации. Данная глава акцентирует внимание на неподвижных образах и освещает следующие темы:

  • Основы визуализации в 3D Studio MAX
  • Что такое битовая глубина цвета и ее использование
  • Определение типов выводных носителей и их ограничения
  • Определение четкости образа
  • Определение оптимального разрешения выводной печати
  • Изучение сложности и точности модели
  • Использование фоновых образов с высоким разрешением
  • Объединение текста и образа
  • Что такое сервисные бюро

Основы визуализации в 3D Studio MAX

3D Studio MAX предоставляет возможность гибко управлять визуализируемыми объектами и областями видовых окон, которые имеют множество параметров, сокращающих количество повторений, обычно необходимых в начале визуализации.

Для настройки визуализации используется команда Render Scene. Выберите пиктограмму или выполните Render в выпадающем меню, которое является командным центром визуализации со всеми наиболее широко применяемыми параметрами (см. рис. 26.1).

ПРИМЕЧАНИЕ

3D Studio MAX включает высокопроизводительный качественный окончательный визуализатор и дополнительные визуапизаторы, доступные в виде подключаемых приложений. Такого рода характеристика добавляет значительную гибкость среде 3D Studio MAX, допуская неограниченное количество типов визуализации внутри одного бесшовного пакета. Для задействования подключаемых визуализаторов выполните File"^>Preferences и выберите закладку Rendering.

Область Time Output диалога управления визуализатором предназначена для выделения визуализируемых кадров. Визуализировать можно застывший кадр, активный временной сегмент, определенный диапазон или последовательность определенных кадров. При работе с активным временным сегментом или с определенным диапазоном возможно визуализировать каждый N-й кадр. Например, можно визуализировать каждый десятый кадр указанного диапазона. Подобный прием часто полезен для визуализации последовательности кадров, которые представляют то, что происходит в анимации.

Кроме того, в диалоге управления визуализацией доступен широкий диапазон параметров, включая Video Color Check, Super Black, Fields и Force 2-Sided. Особенно полезным из перечисленного является Force 2-Sided. Другие управляющие элементы представляют собой параметры анимации, рассматриваемые в главе 27, "Визуализация анимаций". Force 2-Sided применяется для того, чтобы заставить все объекты визуализироваться как двусторонние. Хотя иногда это может оказаться полезным, особенно для объектов, имеющих инвертированные нормали или потерянные боковые грани, для регулярного применения не рекомендуется, поскольку более экономно в отношении времени визуализации применение двусторонних материалов.

ПРИМЕЧАНИЕ

Устранение фоновой ступенчатости (сглаживания) иногда является нежелательным, особенно в случае создания художественной работы, предназначенной для вырезания из фона. Двумя такими работами являются спрайты для игр и кнопки для использования в мультимедиа-проектах. Сглаживание включается за счет добавления в области [Renderer] файла Sdsmax.ini строки DontAntialiasAgainstBackground=1. Если области [Renderer] нет, ее следует добавить.

Элементы управления визуализацией

Элементы управления визуализацией 3D Studio MAX можно разделить на две группы: управляющие началом визуализации и управляющие тем, что визуализируется. Для порождения образа эти группы работают совместно. 3DS МАХ предоставляет несколько способов инициализации визуализации - отрисовку образа на экране ~ а равно и несколько способов управления тем, что именно визуализируется. С этой целью используются типы визуализации.

Начало визуализации

3DS МАХ начинает визуализацию после выполнения Rcndcringc^Render из линейки меню или, что более распространено, после нажатия одной из трех пиктограмм, связанных с визуализацией: Render Scene, Quick Render или Render Last (см. рис. 26.2).

  • ender Scene (визуализировать сцену). Щелчок на первой пиктограмме - Render Scene - вызывает диалог Render Scene, предоставляющий возможность подтвердить разрешение, имя выводного файла и т. п. (обратитесь к рис. 26.1). Данный вариант хорош, когда требуется изменить параметры или есть готовность вывода в файл. Однако для быстрых визуализации дополнительный диалог может усложнить путь.
  • Quick Render (быстрая визуализация). Для быстрой проверки визуализации наиболее подходит вторая пиктограмма - Quick Render (Shifl+Q). Она предлагает доступ к визуализации за "один щелчок" независимо от типа используемой визуализации. (Обратитесь к разделу "Типы визуализации" за подробностями по данном поводу).
  • ender Last (визуализировать последнее окно). Последний и самый быстрый способ визуализации видового окна заключается в использовании Render Last (Shift+E) - дальней правой пиктограммы. Render Last всегда визуализирует последнее использовавшееся видовое окно и применяет последний использованный тип визуализации. Таким образом Render Last наиболее полезен при работе в одном видовом окне и с одной и той же настройкой освещения и текстур.

Типы визуализации

3D Studio MAX обеспечивает несколько возможностей для управления тем, какая часть сцены должна визуализироваться. Данные опции доступны в верхней части интерфейса. Среди доступных возможностей имеется View, Region, Blowup и Selected (см. рис. 26.2). В предыдущих выпусках и большинстве других программ вы ограничены визуализацией только того, что отображается в активном видовом окне.

  • Визуализация вида (Render View). Render View представляет собой наиболее распространенный тип, поскольку визуализирует все видовое окно. Особенно данный тип подходит для окончательных визуализации.
  • Захват окна с помощью Render Region. Опция Render Region предоставляет возможность визуализации лишь части сцены. Это особенно удобно в случаях, когда производится тонкая настройка параметров теневых карт, изменение отражающих материалов или координирование материалов и расположения различных объектов. Объекты, которые могут отбрасывать тени или отражаться в поверхности других объектов, по-прежнему обсчитываются, несмотря на то, что они могут и не попадать в кадрирующую рамку Render Region.
  • Расширение вида (Blowing up a view). 3D Studio MAX предоставляют возможность увеличения области во время визуализации без распахивания самого видового окна. Это выполняется через тип Render Blowup. Render Blowup часто полезен для изучения определенных областей вида при настройке света или текстур сцены.
  • Избирательная визуализация посредством Render Selected. Возможность визуализировать только выбранные объекты является очень полезной при изучении влияния модификаций материала на объект. Недостаток заключается в том, что не виден любой материал, содержащий отражение или объекты, на которые отбрасывается тень. Ни один из этих эффектов нельзя показать с использованием Render Selected ввиду того, что рассматриваются только выбранные объекты.

Цветовая глубина

Цветовая глубина (также называемая битовой глубиной) относится к числу цветов, которые содержатся в образе, сгенерированном компьютером. Природе нет дела до количества доступных цветов, но с компьютерами дело обстоит не так. Компьютеры должны конвертировать информацию любого типа в числовые последовательности, поэтому естественно, что они должны оцифровывать и запоминать цвета.

В компьютерном рисовании используется несколько битовых глубин, в том числе 8 разрядная настраиваемая палитра, 15- и 16-разрядные фиксированные палитры, 24- и 64-разрядные цветовые глубины. Чем больше разрядов, тем больше цветов. Реальная математика каждой цветовой глубины мало интересна для среднего пользователя. Ему важно знать количество цветов, доступных при каждой цветовой глубине, а также ее сильные и слабые стороны. Глава 2, "Смешивание цвета и света" содержит исчерпывающую дискуссию по поводу каждой битовой глубины.

  • 8-разрядная настраиваемая палитра. Образы содержат только 256 цветов из всего спектра. Точные цвета могут различаться между разными образами, поскольку палитра настраивается на образ посредством базиса образа. Малое количество цветов недостаточно для реалистического отображения всего спектра цветов, но легко/эагружается, отображается и имеет малый размер файла.
  • 15- и 16-разрядные фиксированные палитры. Образы содержат соответственно 32768 и 65536 цветов. Данные битовые глубины менее распространены по сравнению с 8-разрядной и 24-разрядной битовыми глубинами, однако представляют собой хороший компромисс между большим размером файла и цветовым реализмом. Фиксированная палитра также гарантирует, что многочисленные образы в 15-или 16-разрядных цветах не будут конфликтовать в используемых цветах - это полезно в играх и мультимедиа - продукции.
  • 24-разрядный цвет. Наиболее широко распространенная палитра для реальных образов. Количество цветов в 16.7 миллионов вполне достаточно для правдоподобного отображения любого образа, видимого невооруженным глазом. Анимация, предназначенная для фильма или видео, практически всегда визуализируется в 24-разрядном цвете. Однако игры и другие базовые компьютерные графические работы применяют 24-разрядный цвет реже из-за большого размера файла и медленного отображения. По мере развития компьютеров и технологии отображения графики 24-разрядный цвет будет становиться все более и более распространенным - даже для быстро двигающихся компьютерных игр.
  • 64-разрядный цвет. Подобные образы достаточно редки, хотя данная цветовая глубина важна для пользователей 3D Studio MAX, поскольку внутренне 3D Studio MAX визуализирует образы в 64-разрядном цвете, а затем разреживает его в меньшие цветовые глубины. Тогда как 64-разрядный цвет не отображается на обычных компьютерных экранах, данная цветовая глубина используется в высшем аналитическом сглаживании 3D Studio MAX. Данная цветовая глубина особенно при использовании с другой информацией визуализации (подобной G-буферу) может сохраняться в формате файла RLA и использоваться позже любым подключаемым приложением 3D Studio Video Post.

8-разрядные неподвижные образы

Основной акцент в журналах и в маркетинге 3D Studio MAX придается 24-разрядным образам и высококачественным выводным устройствам. Многие напуганы подобным обстоятельством и не осознают, что 3D Studio MAX является превосходным инструментом для создания 8-разрядных образов и файлов FLIC-стиля для Animator Pro.

Применяя 8-разрядную технологию, вы не попадете со своими работами на главные телевизионные сети, но самые распространенные игры, Web-узлы, мультимедиа-проекты, диск-базированные презентации и информационные киоски преимущественно полагаются на 8-разрядную технологию.

Для 8-разрядных анимаций и образов существует достаточно большая рыночная ниша. Применение 8-разрядного цвета не означает, что вы неполноценны или не являетесь профессионалом. Это просто означает, что по той или иной причине выбран именно данный формат файла. Восьмиразрядный формат файла обладает рядом преимуществ, оправдывающих его применение:

  • Небольшой размер файла. Маленькие файлы являются необходимостью для Web-узлов или презентаций, которые должны выполняться на ограниченном аппаратном обеспечении или с гибкого диска.
  • Быстрая загрузка и отображение. Небольшой размер файла приводит к уменьшению времени, требуемого для загрузки 8-разрядных образов в память и отображения их на экране, что весьма существенно для современных скоростных игр.
  • Широкая совместимость программного обеспечевия. Многие программы рисования и презентаций поддерживают файлы 8-разрядных образов, подобные BMP, PCX и PNG.
  • Низкие требования к аппаратному обеспечению. Во многих системах по-прежнему применяется стандарт VGA, поддерживающий 8-разрядный цвет с разрешением 320 х 200. SVGA поддерживает 8-разрядный цвет с разрешением 640 х 480, который также очень популярен, в то время как высокие разрешения и 24-разрядный цвет менее распространены.

При создании образов для отображения в World Wide Web, PC-базированных играх, клиентских системах, портативных презентациях или диск-базированном маркетинге, скорее всего потребуются 8-разрядные образы.

Работа с 8-разрядным цветом накладывает определенные ограничения на то, что можно сделать, но данные ограничения не столь обременительны, как это может показаться на первый взгляд. Ограничение в 256 цветов требует внимательного планирования использования цветов в образах. Кроме того следует находить компромисс между минимизацией размера файла и минимизацией побочных эффектов ограниченного количества цветов,

Полосы (banding)

О полосах говорят как о том, что происходит, когда для представления гладкого перехода от одного цвета к следующему доступно слишком мало цветов. Подобные переходы называются цветовыми уклонами или градиентами и используются в 3DS МАХ для оттенков геометрии или при выборе материала фона. Поскольку для гладкого представления градиента нет достаточного количества цветов, вся область делится на несколько широких полос цвета, аппроксимирующих градиент. Рисунок 26.3 показывает сферу, визуализированную на градиентном фоне. И на сфере, и на фоне заметны резкие полосы.

Во избежание полос используются две основных технологии - внимательный подбор цветов и устранение градиентов. Подбор цветов сфокусирован на том факте, что для работы доступны только 256 цветов. Если выбрать для сцены существенно различающиеся цвета с полностью насыщенными оттенками, каждый цвет получит для переходов лишь немного элементов палитры, и полосы в этом случае неизбежны. Если же наоборот выбрать большую часть цветов из одного семейства с дополняющими контрастными цветами, цвета будут разделять одни и те же оттенки и полосатость уменьшится.

Ликвидация градиентов требует разбивки поверхности геометрии. От эффекта полос страдают прежде всего гладкие, сплошные объекты. Единственный способ представления затенения на поверхности гладкого объекта заключается в использовании градиента по мере изменения цветов от светлого к темному. Один из способов разбиения поверхности и избежания полос состоит в применении проецируемых материалов. Прямо сейчас посмотрите на окружающие объекты. Сколько из них имеют гладкую, сплошную поверхность? Окрашенные металлы обычно имеют гладкую сплошную поверхность, но практически все другие предметы обладают канавками, выдавливаниями и узорами. Карты выдавливания, текстуры и отражении не только прибавляют реализм к сцене, но и разбивают поверхность, сокращая полосы.

Рисунок 26.4 показывает визуализацию с использованием сплошных цветов существенно отличающихся оттенков. Ваза - зеленая, сфера - голубая, поверхность стола - коричневая, и в результате вся сцена получается полосатой. На рисунке 26.5 показана та же сцена, где изменяется только материал. Ваза теперь сделана из мрамора цвета бронзы, сфера - блестящая медь, а стол имеет текстуру дерева. Полосы едва заметны. Ключевой аспект такой визуализации заключается в том, что текстуры разбивают поверхность и материалы совместно используют похожие цветовые диапазоны.

Прореживание (dithering)

Иногда полосы неизбежны. Вам требуется моделировать гладко окрашенные поверхности, когда текстуры и выдавливания неприемлемы. В таком случае 3D Studio MAX обеспечивает в Rendering Preferences параметр, именуемый Dither Paletted. По умолчанию данный параметр включен, но при подготовке к визуализации его можно отключить или по крайней мере подумать, следует ли использовать прореживание. Прореживание размывает грани между полосами. Это помогает глазу игнорировать грани и принимать иллюзию гладкого цветового градиента.

Недостаток прореживания заключается в том, что оно существенно увеличивает размер файла. Большинство форматов 8-разрядных образов применяет технологию сжатия, которая идентифицирует и сжимает области непрерывного цвета. Побочный эффект прореживания состоит в том, что оно уничтожает многие области непрерывного цвета, в результате чего объем файла возрастает. Например, образ на рисунке 26.5 увеличивается в размере на 30% со включенным прореживанием, хотя само прореживание практически не увеличивает качество картинки. Вообще для достижения своих целей, касающихся качества образа, следует использовать технологии проецирования с отключенным Dither Paletted. Затем потребуется решить, нужно ли прореживание для качества образа, которое должно быть сбалансировано с необходимостью уменьшения размера файла.

Понятие сложности модели

Еще одним поводом для озабоченности, касающимся 8-разрядных образов, является разрешение визуализации и сложность модели. Обычно 8-разрядные образы визуализируются для отображения на стандартном компьютерном экране часто с разрешением 640 х 480. Сравните это с типичными 24-битовыми разрешениями для видео 756 х 512 или для фильмов 2048 х 1536. Вы быстро осознаете, что детали, необходимые для большой цветности и высокого разрешения, "убиты" 8-битовой визуализацией. Сохраните собственное время и проектируйте свои модели зная, что малая цветность и низкое разрешение нс требуют множества деталей.

24-разрядные образы с высоким разрешением

Истинный цвет (true color) или 24-разрядная визуализация может звучать сложно и немного пугающе, но на самом деле она гораздо проще 8-разрядной визуализации. Сокращение количества цветов до 256 и проду-цирование качественного образа происходит не автоматически. Оно требует предвидения и глубокого понимания того, как работают распределение цвета, полосы и прореживание. Истинный цвет или 24-разрядная визуализация и близко не предъявляют таких требований - она всегда порождает высококачественные образы и предоставляет возможность тратить время на комбинирование материалов и освещенности модели с целью достижения максимально возможного качества.

Определение выводного разрешения и выбор носителя

Определение конечных целей проекта на как можно более ранней стадии процесса моделирования является критическим. Лучше всего это делать до начала моделирования. Здесь необходимо задать себе ряд вопросов, а ответы на них использовать для определения направлений моделирования. Такие вопросы важны для всех моделей и анимаций, но особенно важны для работ с высоким разрешением, поскольку подобного рода работы диктуют сложность и степень детализации, требования к памяти и решения, связанные с файлами. До начала моделирования ответьте на следующие вопросы:

  • Какого размера будет отпечатанный образ?
  • Какой носитель будет использовать конечный образ?
  • Насколь резким должен выглядеть образ?
  • Какое разрешение будет использоваться для печати?
  • Что является визуальным фокусом модели?
  • Насколь близко будет допущен зритель к различным частям модели?

Приведенные вопросы должны обсуждаться во время планирования проекта и задавать их следует даже тогда, когда проект предназначен для домашнего использования, когда нет клиента или когда проект задуман как совершенно независимое предприятие. Ответы играют жизненно важную роль. Без них дело может закончиться чрезмерно большой моделью, которая недостаточно точна или не подходит для визуализации либо печати.

Разрешение выводного образа зависит носителя, от резкости печатного образа и размера печати. Вы должны принять решения по всем указанным проблемам, прежде чем сможете определить, что необходимо для окончательного выводного образа.

Влияние выбора носителя

Наиболее важная проблема при выборе типа выводного носителя заключается в решении, требуется ли порождать непрерывный тон или экранный отпечаток. Произведенный выбор будет оказывать значительное влияние на требуемое разрешение. Вообще экранный отпечаток (screened print) порождается прореживанием образа, а отпечаток с непрерывными тонами (continuous tone print) напоминает фотографию.

Отпечатки с непрерывными тонами

При печати битового образа пикселы, формирующие композицию, должны транслироваться в такой формат, который может понять печатающее устройство. Процесс с непрерывными тонами размещает пикселы вплотную друг к другу без каких-либо зазоров между ними, которые бы позволили видеть белую бумагу. Таким образом тоны печати смешиваются вместе и не остается изолированных точек, что делает подобный тип печати наиболее простым для понимания, поскольку порождается образ, который выглядит в основном так, как он выглядит на экране. Кроме того, непрерывные тона проще всего печатать ввиду того, что единственным определяющим фактором качества печати является разрешение, обеспечиваемое для образа.

Наиболее распространенным типом печати с непрерывными тонами является стандартный фотографический отпечаток. Вывод на фотографическую пленку связан с использованием съемочной камеры для экспозиции образа на обычную 35 мм или на 4" х 5" широкоформатную пленку. Можно применять любую стандартную 100 ASA печать или прозрачную пленку (хотя рекомендуется прозрачность, которая обеспечивает соответствующую репродукцию цветов). Съемочные камеры обычно способны обеспечить от 4000 до 8000 строк разрешения.

ПРИМЕЧАНИЕ

Линии разрешения съемочной камеры относятся к количеству строк сканирования, посредством которых интерпретируется образ. Поскольку каждый пиксел должен иметь как минимум одну строку сканирования, то образ шириной в 4000 пикселов является максимальным для камеры с 4000 строками. Однако если камера является 4000-строчной, образ необязательно должен быть настоль велик. Все образы недозаполняют кадр независимо от их первоначального разрешения. Вполне убедительные образы возможны при разрешении 1200 ж 800 и даже образы с таким низким разрешением, как 600 х 400, могут оказаться достойными представления.

Красящие сублимационные принтеры представляют еще одну форму печати с непрерывными тонами, которая доступна для компьютерных образов. Это могут быть настольные или Е-размера промышленные принтеры, разрешение которых обычно составляет от 100 до 400 точек на дюйм (dot per inch "- dpi). Вид сублимирующей цветной печати напоминает цветной глянцевый отпечаток - при обоих разрешениях покрывается вся бумага и никакое прореживание не выполняется. Красящие сублимационные принтеры основаны на молекулярном взрыве так, что точки накладываются одна на другую, придавая точечному процессу вид непрерывного тона.

Качество окончательного образа с непрерывным тоном определяется плотностью пикселов на печатный дюйм. Это субъективно и варьируется от одного образа к другому. Образы, содержащие текст и мелкие детали, требуют большего количества пикселов на печатный дюйм, тогда как абстрактные образы могут обойтись меньшим количеством.

Если вывод производится на 35 мм пленку, во внимание следует принимать скорее размер печати, а не размер пленки. Для фото-ретушированных или высококачественных репродукций необходимо использовать наименьшее отношение пикселов к количеству строк сканирования. Стандартным разрешением для фотографической репродукции является 3072х2048, поскольку именно такое разрешение введено Kodak Photo CD. Подобное разрешение транслируется приблизительно в 2200 пикселов па дюйм 35 мм пленки. Размеры файлов для образов с таким разрешением составляют 18.69 Мб каждый и занимают достаточно большой объем памяти.

Экранная печать

Экранная печать берет исходный образ и прореживает его для достижения истинного цвета. Экраны существенны для множества процессов, поскольку краски бледнеют и смешиваются друг с другом в областях пятнистого цвета. Экраны размещают цветовые компоненты (голубой, фуксин, желтый и обычно черный) в отдельные области печатной страницы. Шаблон точек дисперсного цвета создается экраном. Если пристально изучить большинство печатных материалов, можно заметить отдельные точки, которые на расстоянии выглядят как истинный цвет.

Экранные образы широко используются для целей массового производства, для журналов, брошюр, рекламы. Экранные образы также применяются с принтерами без непрерывных тонов. Таковыми являются большинство лазерных, струйных и электростатических плоттеров, устройств для нанесения расплавленного воска или краски. Все эти устройства перед печатью требуют экранизации образа.

При печати на любое из этих устройств прежде всего образ прореживается полутоновым экраном. Экраны поступают во множестве форм и размеров, включая точечные, строчные и диффузионные. Размер полутонового экрана выражается в строках на дюйм (lines per inch - Ipi) и часто носит название экранной частоты. Экранная частота говорит о том, сколько строк на печатный дюйм появляется в окончательном документе ~ чем больше Ipi, тем точнее экран. Типографии варьируют стандартные Ipi в зависимости от приложений. Грубая печать, подобная газетной, использует 85-строчные экраны, в то время как журналы для образов обычно применяют 133-или 150-строчные экраны. Размер экрана определяет, сколько в образах необходимо пикселов на печатный дюйм.

ПРИМЕЧАНИЕ

Термины точки на дюйм (dpi) и пикселы на дюйм (ppi) легко путаются. Пикселы на дюйм относятся к числу пикселов на дюйм, отображаемых монитором, тогда как точки на дюйм говорят о числе точек краски, которые принтер может напечатать на каждый дюйм. При создании компьютерных образов вы заинтересованы в третьем соотношении - количестве пикселов в дюйме окончательной печати. Это отношение часто называется пикселами на печатный дюйм и управляет размером окончательного образа.

Многие настольные издательские системы и некоторые принтеры предоставляют возможность определения типа экрана для печатных образов. (Часто экран по умолчанию применяется к образу самим принтером.) Превращение образов в экраны занимает время и для больших картин требует огромного количества памяти. Нередко приходится часами ожидать, когда на среднем настольном принтере обработается образ с высоким разрешением. Промышленные машины и съемочные камеры делают это в течение нескольких минут. Качество образа определяется осмысленностью и выравниванием экрана. Вообще экраны настольных принтеров не настоль качественны, как экраны коммерческих высококачественных устройств.

Форма, плотность и угол экранов, применяемых коммерческими принтерами, часто считается закрытой информацией. По этой причине каждый принтер имеет собственное правило достижения лучшего соотношения dpi к Ipi. Следует заранее согласовать требования к четкости образа с возможностями принтера. Большинство принтеров предпочитают работать с образами, имеющими от 200 до 400 пикселов на печатный дюйм. Количество пикселов на печатный дюйм оказывает существенное влияние на размер файла и требования к памяти. Переход с 200 на 400 пикселов на печатный дюйм в четыре раза увеличивает запросы к памяти и пространству на диске для файла.

Проблемы четкости образа

Когда образы воспроизводятся за пределами оптимального разрешения, они начинают размываться, расплываться и приобретают зернистость. Степень и неприятность подобных эффектов варьируется в соответствии с носителями отпечатков.

Зернистость (Pixelation)

Чем больше образ, тем более заметны квадратики пикселов, из которых он состоит - явление, обычно называемое зернистостью, которое чаще всего требуется избегать. Зернистость разрушает фотореалистичную иллюзию визуализированных компьютером образов. Сделать образ зернистым легко. Заставить же его казаться фотореалистичным требует значительных усилий и большого объема памяти. Зернистость сокращается за счет визуализации образа с более высоким разрешением.

ПРИМЕЧАНИЕ

Иногда зернистость является именно тем, что требуется. Несколько драматических образов были созданы за счет зернистости фона, который вел зрителя к центру с высоким разрешением - на самом деле это наложение двух или более образов или один образ, созданный с высоким разрешением, однако с привлечением битовой карты для инициирования зернистости. Зернистость можно также использовать для маскировки области или для подчеркивания факта, что образ сгенерирован компьютером.

Четкость экранных образов

Четкость и ясность экранного образа определятся количеством пикселов образа на строку экрана (или отношением пикселов на печатный дюйм к строкам экрана на печатный дюйм). Четкость обсуждается в терминах отношения пикселов на экранную строку и часто носит название отношения экранного решения (screen ruling). Во избежание низкокачественных образов никогда не используйте отношения, меньшее 1:1. Для оптимального качества применяйте отношение 2:1. Увеличение числа пикселов свыше 2:1 обладает минимальными, если вообще заметными, влияниями на качестве образа. Избегайте создания образов больших 2:1, поскольку они требуют значительного объема памяти для визуализации, дискового пространства для хранения и времени для печати. И это все - без увеличения качества печати.

Если принтер использует 150-строчный экран, вы обеспечиваете образ с 150-300 пикселов на печатный дюйм. Необходимость в различных экранах, прессах и принтерах варьируется, поэтому важно обсудить данное отношение с издателем до окончательного определения выводного разрешения для проекта.

Размер печати и выводное разрешение

Печатный размер образа оказывает наибольшее влияние на требуемое разрешение образа и на детали, необходимые для того, чтобы сделать образ убедительным. После выбора носителя и определения отношения пикселов на дюйм для желаемой четкости разрешение образа становится делом простой арифметики:

(ppi) x (Ширина печати) = Ширина разрешения (ppi) x (Высота печати) = Высота разрешения

Память, требуемая для запоминания образа на диске и RAM принтера для обработки, определяется следующим образом:

(ppi)2 У. (печатная ширина в дюймах) х (печатная высота в дюймах) х [3 байта на пиксел) = требуемая память в байтах

Размер данных для 24-разрядного цветного пиксела (8 бит на цвет на канал х 3 канала) составляет 3 байта. Размер печати оказывает отрицательное воздействие на четкость и результирующий dpi- Каждый отпечатанный дюйм требует больше памяти.

Часто размер или, по крайней мере, максимальный размер диктует носитель. Настольные принтеры обычно ограничены отпечатками 4" х 5" или 8" х 10", тогда как красящие сублимирующие принтеры могут печатать изображения размером Е (36" х 48"). В качестве примера отпечаток 4" х 5", использующий 150-строчный экран, получается лучше всего, если поставляемый образ имеет размер:

(150 Ipi) x (2.0 пиксела на строку) = 300 ppi

ПРИМЕЧАНИЕ

Размер Е - это то же самое, что и размер письма или юридической бумаги. Размер Е является наибольшим размером для бумаги, используемым в CAD и в архитектурных работах.

Это в свою очередь означает, что разрешение образа должно быть 4" х 300ppi = 1200 х 5" х 300 ppi = 1500 или 1550 х 1200. Подобный образ потребует 1500 х 1200х3 =- 5.4 Мб памяти принтера.

Печать с цветами, меньшими истинного цвета

Возможно потребуется печатать на оборудовании, которое не может работать с 24-разрядами истинного цвета. Большинство плоттеров и многие настольные принтеры могут работать максимум с 15- или 16-разрядными цветами.

При посылке 24-разрядного образа непосредственно на выводное устройство вы полагаетесь на его программное обеспечение, которое должно интерполировать разницу в глубине цвета. Такая интерполяция обычно не дает наилучшего результата, поскольку большинство драйверов полагаются на базовые алгоритмы, усредняющие различия. Обычным результатом являются полосы, потеки и муаровые узоры. В основном этого можно избежать, заставив 3D Studio MAX записывать 16-разрядный цвет в файл TGA со включенным разре-живанием истинного цвета.

Расчет экранов для существующих образов

Очень часто будет существовать образ, который-необходимо отпечатать с максимально возможным качеством. Сделать это легко, если доступна следующая информация:

  • Разрешение в пикселах
  • Количество строк экрана на дюйм
  • Печатаемые точки на печатный дюйм

Оптимальный размер экрана (Ipi) для печати образа составляет половину разрешения пиксел на печатный дюйм образа. Если образ для печати имеет размер 1024х768, а лучший доступный экран имеет 150 строк, образ должен печататься с разрешением 300 пикселов на печатный дюйм, что результируется в окончательный образ размером 3.41" х 2.56". Если требуется, чтобы тот же образ заполнил область 4" х З", необходимо 256 пикселов на печатный дюйм и 128-строчный экран. Хотя более грубый экран даст возможность уменьшить разрешение, он минимизирует и количество деталей, печатаемых на любом заданном дюйме.

Изучение сложности и точности модели

Вам нужно сбалансировать точность и детализацию модели с точностью и детализацией предполагаемого окончательного вывода- Определение деталей объекта двояко:

  • Насколь близко наблюдатель подойдет к конкретному объекту?
  • Каким будет выводное разрешение окончательного вывода?

ПРИМЕЧАНИЕ

При выполнении анимации скорость, с которой объект пересекает экран, создает третий фактор точности, который необходимо принимать во внимание.

Данная информация потребуется при построении модели таким образом, чтобы включить в нее надлежащее количество деталей в критических местах. Объект, который выглядит приемлемо с разрешением видео 512 х 486, может легко разделиться на части или выглядеть глупо на глянцевом цветном отпечатке с разрешением 3072 х 2048.

Объект, создаваемый в 3D Studio MAX, имеет параметры, которые увеличиваются или уменьшаются по желанию. Это прекрасно для добавления деталей к объектам, которые используются как для печати, так и для анимации, поскольку детали можно увеличить для печати и затем уменьшить с целью улучшения времени визуализации.

Иерархия деталей фокуса модели

Большинство сцен имеют фокус, которым является конкретный объект, группа объектов или область. По мере обретения моделью формы следует иметь грубое представление о конечной композиции и о том, насколь выделенным будет фокус в окончательных образах. Центральный объект или область очевидно требует большинства деталей и внимания. Для эффективной и управляемой модели необходимо набросать список областей так, как они входят в "иерархию деталей".

Подобная организация прослеживается и в традиционном искусстве иллюстрации. Архитектурные и конструкторские рисунки часто используют грубые наброски и отдельные линии для достижения иллюзии детальности и при этом не допуская перегрузки фокуса визуализации. Художники называют это эскизом и часто используют для антуража, фона и даже расширения материалов переднего плана.

Иерархия деталей проясняет, какие объекты будут выполнены детально, а какие - минимизированы. Детали создаются в двух формах - геометрии и отображении. По мере того, как объект занимает в результирующем выводе все больше пикселов, технологии моделирования, работающие с одним разрешением, при высоких разрешениях могут стать грубыми или мультфильмоподобными.

Детали геометрии

Дуги и кривые нуждаются в особом внимании по мере того, как занимают в результирующем выводе больше пикселов. Удаленные дуги могут обойтись и шагом в 15°, тогда как объекты, находящиеся на переднем плане, требуют шага дуги в 0.1°. Показ сегментов очертания круглых или изогнутых объектов - это лучший способ разрушения их правдоподобности. Модель будет наиболее эффективна, если в фокусе сцены расположить дугу с мелкими шагами и увеличить шаги в удаленных или менее сфокусированных областях. То, что сфера на переднем плане имеет 80 сегментов, не означает, что сферы на заднем плане не могут использовать 10 сегментов.

Карты, которые убедительны в качестве моделированных текстур, могут оказаться гораздо менее убедительными при их увеличении. Сказанное особенно касается карт выдавливания. Впадины и канавки, которые были имитированы, теперь нуждаются в моделировании. Швы и желобки будут гораздо более убедительными, если вы потратите время на их моделирование. Затраты времени на моделирование часто приносит меньше проблем, нежели создание больших битовых карт и настройка их размывания, пока они не покажутся приемлемыми. Нельзя по-настоящему избавиться от ступенчатости карт выдавливания, тогда как можно автоматически моделировать суставы с использованием механизации сглаживания визуализатора - и притом с гораздо меньшими накладными расходами памяти.

Не бойтесь добавлять грани для деталей, когда альтернативой является использование больших битовых карт. Добавление соответствующих геометрических деталей требует увеличения времени моделирования, чем ресурсов визуализации. Например, можно добавить 8000 граней за меньшую цену, нежели визуализация одной битовой карты 640 х 480.

Детали битовой карты

Обычно для визуализации требуется использовать битовые карты. Соблюдайте следующие правила;

  • Используйте битовую карту с как можно большим уровнем цветовых деталей
  • В визуализации попытайтесь не превышать исходный размер битовой карты

ПРИМЕЧАНИЕ

Материалы, использующие процедурные текстуры, не нуждаются в особой настройке ввиду того, что их эффекты основаны иа алгоритмах и не зависят от разрешения.

Размер битовой карты может стать проблемой по мере того, как ее присутствие на сцене возрастает. Когда вы начинаете визуализировать битовые карты с превышением их исходных размеров, они выказывают признаки зернистости и прямоугольной лоскутности. Степень проявления данного эффекта зависит от субъекта образа. Битовые карты, изображающие квадраты, блоки и прямоугольники, не отражают большой деградации по мере своего увеличения сверх исходного размера. Например, можно увеличить битовую карту с контрольным узором в 10 раз и она будет выглядеть прекрасно до тех пор, пока не будет произведена попытка применения ее в качестве карты выдавливания. Однако, если та же карта была бы изображением попугая, зернистость стала бы очевидной.

Проблемы фонового образа

В отличие от битовых карт, свобода в выборе фонового изображения для вывода с высоким разрешением недостаточна. Фоновые битовые карты должны всегда иметь 24-разрядный цвет (без JPEG-сжатия) и не должны сильно вытягиваться за пределы первоначальных размеров.

ПРИМЕЧАНИЕ

Не забудьте установить фон в Material Editor и затем применить его в визуализаторв и среде (Renderingci>Environment). Констатация факта, что фон использует Views"^>Background Image, не добавляет фон к визуализации.

Если фон увеличен, в визуализированном образе кажется, что передний план был наклеен на фон. Разница между двумя разрешениями очевидна, хотя не специалист и не сумеет сказать, что именно неправильно. При увеличении образы неизбежно размываются. Увеличение черного квадрата на белом поле не просто порождает больший черный квадрат - на границах квадрата появляется мягкая черная градация.

Всегда следует пытаться применять образы, которые не нуждаются в увеличении. В идеале необходимо использовать образы, требующие уменьшения. В этом смысле удобны образы в формате Kodak CD-ROM, поскольку они имеют разрешение 3072 х 2048.

Если в качестве фонового образа приходится использовать существующую маленькую битовую карту, ее следует перенести в программу рисования истинного цвета для конвертирования и применить соответствующие инструменты для смягчения эффекта увеличения.

Некоторые образы поддаются увеличению намного лучше других. Образы неба, дыма, воды и других объектов со свободными формами не страдают от увеличения в такой степени, как уличные сцены, изображение леса и интерьера. Если битовая карта содержит такие элементы, следует сконцентрироваться на увеличении карты специально для них.

Использование фоновых объектов

Несколько большие возможности представляются, когда фоном является материал текстурной карты. В таком случае другие материалы могут получить доступ к битовой карте без ее повторной перезагрузки.

Объект, содержащий фоновый образ, играет роль доски объявлений. При помощи фонового объекта можно позиционировать образ по своему желанию и делать его больше или меньше с использованием размещения, координат или параметров проецирования без накладных расходов памяти на изменение размеров фонового образа.

Объекты фонового образа на сцене визуализируются в перспективе вместе со всем остальным. Поскольку объект помещается параллельно плоскости зрения, эффекты горизонтальной перспективы отсутствуют. Вертикальные элементы подвергаются воздействию перспективы. Это может оказаться особенно важным для фона, содержащего архитектурные сооружения, высокие стройные деревья, флагштоки или любые другие объекты с определенными вертикальными линиями.

Рецепт для такого образа прост. Вы не хотите, чтобы условия освещения на сцене оказывали влияние на образ, поэтому он должен на 100% обладать самоосвечением и быть совершенно плоским с черным отраженным цветом. Кроме того, следует отключить отбрасывание теней объектом доски объявлений.

Использование предварительного просмотра образов Show Background

Опция Show Background (доступная после щелчка правой кнопкой мыши на имени видового окна) помогает позиционировать объекты на сцене в отношениях с фоновым образом.

Предварительный просмотр не является идеальным вариантом для больших образов. В качестве обходного маневра необходимо пропорционально сократить фоновый образ и использовать его в качестве наброска настоящего образа. Вы не получите никакого преимущества, используя образ, имеющий разрешение большее видимого размера видового окна.

Фоновые образы могут быть кадрами анимации (такими как AVI или последовательностью битовых карт) или перехватом из фильма или видео. Номер кадра такой анимации блокируется на номер кадра сцены и является весьма полезным для ротоскопирования и композиции. Несколько цифровых дисковых рекордеров включают интеллектуальные подключаемые приложения, предоставляющие возможность непосредственного объединения в 3D Studio MAX видео и ЗD-гpaфики.

ПРИМЕЧАНИЕ

Safe Frame часто используется для показа того, как фон помещается в виде. Легко забыть, что видовое окно отличается от большинства визуализации и открывает несколько больше, чем реально визуализируется. Для использования механизма безопасного кадра щелкните правой кнопкой мыши на имени видового окна и выберите в появившемся меню View Safe Frame.

Наложения текста

Часто возникает необходимость позиционирования текста поверх окончательного образа, возможно в форме логотипа, заголовка, подписи или диаграммы. Все программы рисования обеспечивают определенные механизмы для создания перекрывающего текста, некоторые даже обладают возможностью создания сглаженного текста. Однако нет программ рисования, которые бы имели возможности сглаживания, подобные встроенным в 3D Studio MAX. Реально 3D Studio MAX является лучшим составителем текста, доступным для рабочего стола. Если необходим полный контроль за окончательным положением текста, прежде чем посылать на принтер его следует скомпоновать.

Проблемы, связанные с текстовыми объектами

Текст очень чувствителен к эффектам разрешения. Разрешение окончательного образа должно быть достаточно большим для отчетливой визуализации текста с четкими и нерасплывающимися краями. Жирные шрифты без засечек (sans serif) наиболее толерантны к низким разрешениям, но могут оказаться неподходящими. Кривые и тонкие линии простых шрифтов с засечками (serif) требуют самого высокого разрешения для сохранения мелких деталей своих краев. Текст легко создается посредством шрифтов TrueType. Внимательно изучите данные шрифты, поскольку большие кривые требуют больше деталей, задаваемых дополнительными шагами-

После создания текста его можно расположить на фоновом образе и визуализировать с фоновой битовой картой для получения окончательного вывода. Для получения неискаженного текста его следует визуализировать в ортогональных видовых окнах. Для получения трехмерного текста визуализацию можно проводить в видовых окнах Perspective или Camera.

ПРИМЕЧАНИЕ

Настройка вида Perspective полезна для управления отблесками 3D-текста.

Опция Video Post для композиции образов

Video Post обеспечивает опции очередности битовых карт при наложении. Video Post может создавать многослойные эффекты, получая доступ к альфа-каналу и накладывая образы друг на друга. Кроме того, Video Post обеспечивает управление положением, выравниванием и масштабированием битовой карты. Если битовая карта оказывается меньше выводного размера, она не выкладывается мозаикой, а скорее плавает на поверхности черного или цветного фонового изображения.

Если требуется сочетать геометрию сцены с более, чем одним образом. Video Post обеспечивает способ сделать это. Если вы просто накладываете геометрию на простой образ. Video Post требует гораздо больший объем памяти, чем метод фонового образа. Кроме того, нет возможности выровнять текст по отношению к фоновому образу.

Композиция посредством альфа-каналов

Часто в нижнюю часть образа вставляют текст логотипа иди подписи. Наиболее просто подобная вставка осуществляется в моделированием текста логотипа в 3D Studio MAX и визуализацией его в 32-разрядный файл. После того, как окончательный вид и разрешение текста или логотипа устроит, совершенный 32-разрядный образ можно использовать для маркирования или подписи многих образов. Video Post прекрасно справляется с данной задачей и не имеет проблем с наложением множества образов.

Параметры выводного образа

На качество окончательного образа особое внимание оказывают несколько факторов. Первый учитывает размер и пропорции образа. Они должны быть настоящими пропорциями результирующей печати и никогда не должны использовать ничего кроме Aspect Ratio, равного 1,0. Aspect Ratio предназначен для конвертирования образов между различными устройствами отображения и различными разрешениями. Подобное преобразование жесткой копии только растягивает образ.

Следует внимательно учитывать использование выводной гаммы. Многим выводным устройствам, подобным съемочной камере, гамма для порождения правильного образа не нужна. Такие устройства лучше всего работают при гамме 1.0 (т.е. отключенной) и воспроизводят именно то, что видно на мониторе при предварительном просмотре. Важна координация между выводом и требованиями принтера. Всегда следует выполнить серию тестов с гаммой и без нее и добиться правильной интерпретации цветов. В случае, присутствуют если сомнения в Aspect Ratio, визуализация корректных окружностей является хорошим тестом для определения искажений образа. Выполните данный тест как можно раньше, во избежание дополнительных потерь времени.

Интересы конечного образа

В самом начале производственного процесса и, конечно же, перед окончательной визуализацией следует рассмотреть, кто будет ее использовать и что необходимо или предпочтительно в смысле форматов. Если печатающее оборудование находится дома, следует знать ответ на эти вопросы и считать, что вам повезло. Однако большинство пользователей 3D Studio MAX нуждается в услугах сервисных бюро и типографий. Следует вступить в контакт с одним из этих бюро для выбора правильной формы носителя данных и предпочитаемого формата образа (TGA/TIF/BMP/PNG, сжатый-несжатый, гамму и т.д.). Неправильные предположения могут вылиться в потерю времени и денег. Посоветоваться с сервисными бюро следует и перед покупкой устройств памяти, поскольку локальная совместимость устройств в высшей степени желательна.

Хотя 3D Studio MAX была сконструирована в качестве анимационной программы, она может делать превосходные неподвижные образы с высоким разрешением. Ее анимационные способности предоставляют возможность исследования опций изменения освещенности и одновременно снятия сцены несколькими камерами. Создание образов с высоким разрешением обычно связано с максимальным наращиванием ресурсов системы и требует полного понимания предъявляемых ресурсами требований.


ГЛАВА 27

Визуализация анимаций

Данная глава рассматривает проблемы, связанные с визуализацией анимаций для записи и воспроизведения на цифровой, видео и пленочный носители. Распространение CD-ROM и растущая популярность Internet и World Wide Web породили огромный спрос на 3D-графическое содержимое, поставляемое на цифровых носителях. В данной главе также обсуждается теория точной покадровой анимации и методы записи однокадровой анимации. Вот некоторые из тем, которые будут изучены:
  • Понимание ограничений цифрового воспроизведения
  • Управление цветовыми палитрами
  • Сжатие цифрового видео
  • Планирование отсчета времени
  • Использование анимаций для оперативного содержимого
  • Запись в реальном времени компьютерных анимаций
  • Визуализация с записью на диск
  • Визуализация с записью на пленку

В качестве основного и фундаментального документа своих усилий профессиональные художники и аниматоры трехмерной графики визуализируют оживляемую сцену в последовательность цифровых файлов образов с высоким разрешением и глубокой цветовой гаммой. Хотя платформа 3D Studio MAX обеспечивает очень мощную обработку с шикарной визуализацией в реальном времени в видовых окнах и полезным окном виртуального буфера кадра, все равно в 3D-pa6orax не всегда удается "получить то, что видно". Та же мощь обработки, объединенная с графической акселерацией и цифровыми видео-редактирующими системами, теперь позволяет быстро и гибко просматривать визуализацию. Ваш предварительный просмотр и тестирование фактически могут одновременно обеспечить продукт в форме дополнительного материала, оперативного маркетинга и интерактивного содержимого. В настоящей главе будут изучены инструменты и технологии визуализации 3DS МАХ-анимаций для трех базовых форм носителей: цифрового (основанного на диске и оперативного), видеоленты и фильма.

3D Studio MAX представляет собой программу профессионального моделирования и анимации, которая внутренне управляет 64 битами информации ~ т.е. 16 битами на каждый канал RGBA. 3DS МАХ может порождать высококачественную цифровую анимацию для коммерческих фильмов. Однако важно понимать, что профессиональная работа включает целый спектр вывода, от 8-разрядного цвета до результатов с высоким разрешением и цветовой глубиной. Создание анимаций для видео или фильма существенно отличается от создания ЗО-анимаций, предназначенных для цифрового воспроизведения.

Для своего проекта следует определить как формат редактирования, так и формат воспроизведения, задолго до создания предварительных моделей, поскольку различия в форматах оказывают влияние практически на каждое решение, принимаемое в ходе проекта - как творческое, так и техническое. Разнообразие потребностей для 3D-aHHMauHH требует такого подхода к визуализации сцен, который бы учитывал носитель и воспроизведение изображения. Можно создавать эффективные многомерные анимации для новых цифровых форматов (CD-ROM и оперативный) и богатые сложные сцены и эффекты для представления на видео и пленке.

Планирование воспроизведения

Поскольку анимация состоит из отдельных образов, процесс конструирования сосредоточен на кадре. Метод отображения кадров диктует подход, который следует принять в качестве основы как для создания, так и для визуализации Зи-анимаи.ии. Учет вывода лучше всего делать во время планирования, настройки и окончательного процесса. Многие, если не большинство аспектов трехмерного цифрового вывода, лучше управляются до визуализации и их не следует оставлять для специализированного редактирования и доработки посредством Video Post.

Установки по умолчанию 3D Studio MAX вообще настроены для PC-монитора и визуализации последовательных отдельных файлов в битовый формат. Если анимация будет воспроизводиться исключительно в виде цифрового компьютерного видео или с видеоленты или фильма, подобное воспроизведение можно планировать за счет настройки соответствующих параметров в механизме Preferences. Примером может служить то, что 3D Studio MAX управляет Gamma-коррекцией глобально (для отображения, ввода и вывода). Системные параметры можно переопределить для объединения вводных образов со сценами в Video Post или визуализа-торе для вывода на устройство, подобное Digital Disk Recorder. Можно реализовать последовательную нумерацию файлов в визуализациях последовательных шагов (часто применяется для анимации персонажей в заголовках CD-ROM), включив параметр Output File Sequencing.

При визуализации на целевой носитель обязательно проверьте и запишите специальные параметры Preference. Внимательно прочтите оперативную помощь. Глобальные установки категоризированы в диалог и каждая категория представлена закладкой:

  • Закладка визуализации
    Video Color Check. Постоянно применяйте данный инструмент при создании и анимации материалов и при композиции исходных образов, которые могут выпадать из видеоспектра для заданного типа видеосигнала. Не забудьте выключить этот параметр в Render Scene и диалоге Video Post Render Options для окончательной визуализации. Используйте механизмы Scale Luma и Scale Saturation для глобальной настройки выпадающих из спектра значений сцены.
    NTSC или PAL. Сконфигурируйте вывод для формата видеосигнала. Используйте NTSC для США и Японии и PAL для Европы. Данные параметры будут оказывать влияние на то, как Video Color Check ищет выпадающие из спектра цвета.
    Super Black. Установить порог, необходимый для разделения затенения и черного фона. Параметр важен для композиционных эффектов.
    Field Order. Параметр важен для координации порядка полей записывающих устройств, используемых в сочетании с воспроизведением. Например, Accom Digital Disk Recorder ожидает по умолчанию ODD (нечетный) порядок полей, тогда как DPS Perception Video Recorder - EVEN (четный).
    Pixel Size Limit. Используйте данный параметр в сочетании с диалогом Render Scene и Video Post Render Options. В разделе Scanline A Render, Anti-Alias задается размер пиксела с целью сгладить разрешение транслируемых образов. Необходимо установить общий предел для данного параметра в зависимости от воспроизведения (Beta SP, VHS, фильм и т.д.) для всего проекта и затем индивидуально настроить визуализации с учетом специфики сцены или композиции.
    Output File Sequencing. Если в своей визуализации применяется Step frames, следует включить данный параметр для последовательной нумерации кадров. Нумерация особенно важна при разработке интерактивных и оперативных анимаций, где производится поиск компромисса между частотой кадров и быстродействием.
    Dithering, True Color и Paletted. Особое внимание уделяйте тому, как прореживание влияет на создание файлов, связанных с интерактивным и оперативным воспроизведением. С цифровыми видеофайлами (AV1, FLC) прореживание вообще отключается.
  • Гамма
    Enable Gamma Correction. Как правило, включайте данный параметр для всех визуализации. Output Gamma. Каждое отображение имеет уникальные требования к гамме. При визуализации на любое записывающее устройство, цифровое или какое-либо другое, следует настроить Output Gamma для принимающих устройств, отображающих гамму.
    Input Gamma. Когда вы комбинируете исходные образы со сценой, необходимо настроить вводную гамму на соответствие сцене.
  • Файлы
    Auto Backup. Хотя Auto Backup полезен и важен во время сеансов моделирования и анимации, во время визуализации его следует отключать. Он осуществляет ненужную обработку и расходует память, увеличивая шансы аномальной визуализации.
  • Видовые окна (фон видовых окон, Viewport Background)
    Update Background image while playing. При ротоскопировании с использованием файлов анимации или последовательных образов, данный параметр следует включить для того, чтобы анимация проигрывалась на фоне видового окна по мере продвижения кадров.

Дополнительно следует обратить внимание на другие связанные с носителем параметры, которые сохраняются с каждой сценой индивидуально:

  • Виды
    Viewport Configuration/Safe Frames. Используйте данный параметр для того, чтобы обеспечить прохождение анимации в пределах Aspect Ratio воспроизведения.
    Units. Используйте данный механизм для звуковых сцен, фильмов и общих архитектурных черновиков с целью создания точной визуализации.
    Grid Objects. Используйте данные полезные объекты для настройки Rotoscoping perspective. Выровняйте сетки с плоскостями в исходном образе.
  • Конфигурация времени
    Frame Rate. Установите частоту кадров для целевого носителя.
    Time display. Установите данный параметр для отслеживания образов в анимации. Используйте SMTPE, когда собираетесь сопоставить анимацию со звукозаписью, основанной на времени.
    Set Playback/Real Time. Отключите данный параметр при ротоскопировании. Воспроизведение не будет пропускать кадры для того, чтобы не отстать от времени.

Желательно создать "платформе-независимое" содержимое. Однако время и спецификации проекта часто требуют сфокусированного, совмещенного с носителем вывода. Познакомьтесь поближе с параметрами предпочтений 3DS МАХ. Создайте шаблоны файлов МАХ и 3dsmax.ini из ваших проектов, которые соответствуют конфигурациям воспроизведения.

Разберитесь, как неозаглавленные файлы 3D Studio MAX конфигурируются из параметров файла maxstart.max. Файлы МАХ из проектов можно сохранять под различными именами, сокращая или устраняя геометрию, материалы и т.д. И когда начинается похожий проект, переименуйте файл проекта maxstart.max и разместите его в соответствующем каталоге (по умолчанию Scenes) для загрузки конфигураций для нового проекта.

Подобным же образом можно создать шаблон общих параметров 3D Studio MAX, таких как конфигурация видовых окон, конфигурация времени, умалчиваемое положение каталогов. Для этого файл 3dsmax.ini сохраняется как проектно-специфицированный файл, затем переименовывается в 3dsmax.ini и загружается в корневой подкаталог МАХ до запуска 3DS МАХ.

Что такое цифровое воспроизведение

В настоящее время большинство мультимедиа-приложений включают поддержку для создания и проигрывания цифровых "фильмов" в форматах AVI (AVI) и FLIC (FLC или FLI). Растущее число приложений, особенно оперативные броузеры, также обеспечивают поддержку трехмерных объектов и анимации. Специальные текстовые файлы ASCII, содержащие Virtual Reality Modeling Language (VRML), обеспечивают стандартизованные методы для представления ЗО-объектов и анимаций внутри Web-страницы. Подобного рода текстовые файлы имеют расширение WRL (от "world").

3D Studio MAX полностью поддерживает чтение и запись AVI и FLIC форматов, включая поддержку нескольких кодов AVI (алгоритмы компрессии-декомпрессии). Kinetix также разработала подключаемое к 3D Studio MAX приложение для экспорта сцен в виде файлов VRML. Для успешного создания цифрового видео или VRML-анимации необходимо понимать и управлять ограничениями, присущими форматам файлов и средам воспроизведения.

Когда вы создаете анимацию для цифрового воспроизведения, то сталкиваетесь с широким кругом ограничений. Часть необходимых для решения проблем включает следующее:

  • Нормализация цветовой палитры на множестве кадров
  • Выбор и конфигурирование соответствующего кодера-декодера (codec)
  • Обход аномалий воспроизведения, подобных видеоразрывам
  • Уменьшение размеров файлов и количества многоугольников для эффективного воспроизведения и ускорения интерактивного взаимодействия
  • Оптимизация презентаций для соответствия выбранному методу демонстрации
  • Планирование контрольных точек и использование переходов

Управление палитрой

Важная проблема, которую приходится решать при создании CD-ROM и ряда оперативных анимаций, заключается в работе с 265-цветной палитрой (8 разрядов). Некоторые заголовки CD-ROM требуют отображения в 256 цветах или предлагают 8-разрядные и выше параметры конфигурации глубины цвета. Типичная плата графического дисплея конечного пользователя может поддерживать только 256 цветов. В данном случае следует определить стандартную палитру для ранней опции. Двумд наиболее важными вопросами, о которых следует помнить, являются конструкция цветовой схемы и устранение прореживания.

Вы должны внимательно планировать выбираемые цвета и материалы 8-разрядных образов. Когда доступны только 256 цветов, то от каждого цветового набора необходимо получить как можно больше. Для этого большая часть цветов и материалов сохраняется в одном и том же семействе цветов. Данное ограничение не настоль серьезно, как можно подумать, особенно когда разговор идет о теплых тонах земли, холодных зелено-голубых тонах и неуловимо серых. Вы обнаружите, что работа в жестких рамках обостряет ваше зрение и чувство цвета. Большинство хороших цветовых конструкций работает с ограниченной палитрой.

Следует не только справиться с цветовыми ограничениями внутри одной палитры, но также знать, как цвет выражается во времени между сценами и в сочетании с интерактивным выбором. Какие объекты попадают в поле зрения, а какие исчезают? Изменяется ли положение или цвет источников света? Перемещается ли анимация на другую сцену или она встроена в Web-страницу, содержащую собственные требования к цвету? Ответы на подобные вопросы помогут выбрать хорошую цветовую палитру.

Требованиями к изменению цвета можно управлять с использованием 3D Studio MAX для построения цветовой палитры. Соответствие сцены и положения лучше всего достигается путем создания множества сцен с различными палитрами и разработкой переходов между ними- Встроенная анимация должна координироваться с цветовой схемой Web-узла.

Создание 8-разрядной цветовой палитры

Для визуализации пользовательской палитры из анимации 3DS МАХ или из последовательного файла в Video Post в диалоге Render Scene или Video Post Execute Sequence выберите формат файла FLC (FLC или FLI) в качестве типа выводного файла, как показано на рисунке 27.1.

Вывод FLC предоставляет выбор из четырех палитр - Low, Medium, Custom и Uniform. Дополнительно имеется возможность идентификации количества цветов, которое 3DS МАХ будет использовать из выбранной палитры. Если выбрано менее 256 цветов, конструируется оптимизированная палитра Windows, а оставшиеся цвета заполняются черным. Windows резервирует 20 цветов для своих нужд, следовательно, необходимо использовать палитру размером 236 (и менее) цветов для анимаций, воспроизводимых в Windows.

Следующий перечень более детально описывает параметры вывода:

  • Low. Рассчитывает цвета для первого кадра анимации и затем использует полученный набор цветов для всех последующих кадров. Установка Low работает очень быстро, но порождает ряд проблем. Во-первых и прежде всего, если какие-либо объекты отсутствуют на сцене в первом кадре, их требования к цветам не принимаются во внимание. Например, представьте анимацию сквера. Имеется ярко-зеленая трава, темно-зеленые деревья и кустарник, коричневые стволы деревьев и сияющее голубое небо. Спустя несколько кадров в поле зрения попадает красный детский мяч. Откуда возьмется красный цвет? Если производить визуализацию с параметром палитры Low, красного цвета не окажется. С цветом стволов деревьев могут ассоциироваться несколько теплых тонов, однако мяч скорее всего окажется каким угодно, только не красным.
  • Medium. Визуализирует каждый кадр со своей собственной 256-цветной палитрой. После завершения визуализации 3D Studio MAX просматривает все отдельные цветовые палитры и строит одну палитру, обслуживающую все кадры. Данная опция работает очень хорошо и обеспечивает практически лучшую из возможных для анимации палитр. Основной недостаток заключается в медленной работе. После того, как 3D Studio MAX визуализирует файл FLC с отдельной палитрой для каждого кадра, система должна переписать каждый кадр, используя новую цветовую палитру. Подобный процесс требует значительного времени.
  • Custom. Требует, чтобы 3D Studio MAX был обеспечен предварительно определенной цветовой палитрой из GIF-, FLC- или BMP-файлов. К счастью 3D Studio MAX поддерживает инструменты, необходимые для создания данной цветовой палитры. Трюк связан с визуализацией репрезентативного образцового набора кадров и затем принуждения 3D Studio MAX визуализировать всю анимацию в пользовательской палитре, взятой из образцовых кадров. Опция палитры Custom используется чаще всего.
  • Uniform. Также визуализирует каждый кадр, используя одну палитру, но в данном случае визуализация задействует общий куб цвета. Палитра является системно сгенерированной, однородно распределенной таблицей цветов. Однородная палитра обеспечивает использование каждым кадром одних и тех же цветов, поддерживаемых Windows.

Идентификация образцового набора кадров производится посредством поля Every Nth Frame в диалоге Render Scene или Execute Video Post (см. рис. 27.2). Вводимое в данное поле значение должно обеспечивать визуализацию от 10 до 25% общего числа кадров в анимации. Чем больше в анимации кадров, тем большее число следует ввести в поле Every Nth Frame.

ПРИМЕЧАНИЕ

Обязательно сохраните образцовый файл FLC на диске и запомните его расположение. Дело в том, что при окончательной анимации будет выбрана палитра Custom и образцовый FLIC присвоен в качестве файла пользовательской палитры. Если в каталоге, из которого загружен файл МАХ, или в каталоге пути Map FLC-файп отсутствует, FLC не будет найден и 3D Studio MAX отобразит диалог предупреждения, приостанавливающий процесс визуализации.

Для создания AVI-файла, применяющего пользовательскую палитру, выведите сцену как файл FLIC, использующий пользовательскую палитру. Затем задействуйте Video Post для преобразования файла FLIC в файл AVI. Обязательно уберите опцию прореживания в закладке Rendering диалога Preferences. Добавьте файл FLC в качестве события Image Input и файл AVI в качестве события Output. Выберите шифратор-дешифратор Full Frame (Uncompressed) и Execute the sequence. Теперь имеется файл AVI с управляемой 8-разрядной цветовой палитрой.

Работа с несколькими палитрами

Иногда анимации включают сцены, которые круто изменяются как в смысле цвета, так и в смысле освещения. Примером может служить анимация, в которой происходит переход из теплых и нейтральных тонов жилой комнаты в яркий и цветастый внутренний дворик. В подобных случаях следует визуализировать каждую часть как отдельный сегмент с собственной цветовой палитрой. Попытка вместить широкий диапазон цветов из обеих сцен в одну палитру оставит обе сцены без удовлетворительных для приемлемого результата цветов. Точно так же, если анимация будет занимать несколько сред на Web-странице или несколько композиций и ротоскопирований, следует использовать для каждого условия пользовательскую палитру.

Устранение прореживания

Как упоминалось ранее, при визуализации в цифровой видеоформат, лучше всего не использовать прореженный цвет. Для того, чтобы 3D Studio MAX не прореживал цвет, следует отметить флажок Paletted (256-color) в разделе Output Dithering вкладки Rendering диалога Preferences. По умолчанию 3D Studio MAX прореживает образы до 8-разрядного формата файла. Для отдельных битовых карт это может быть и прекрасно. Однако прореживание не очень хорошо транслируется в файлы цифрового видео, где подпрограммы сжатия пытаются найти общие места в файлах, включая избыточный цвет. Прореживание сокращает полоса-тость объектов со сплошной окраской, но мало что делает для увеличения реализма образов цифрового видео и к тому же существенно увеличивает размер файла. Для повышения реализма сцены используйте различные технологии проецирования, поскольку карты обычно предотвращают полосы лучше, чем прореживание, и при этом не создают файлов большого размера.

Еще одна причина избежания прореживания во время визуализации файлов цифрового видео заключается в трудности заставить шаблон прореживания стоять неподвижно. По мере того, как объекты двигаются по сцене и изменяется освещение, шаблон прореживания также изменяется. Иногда изменения шаблона прореживания происходят а гармонии с анимацией и становятся едва заметными, но иногда начинают жить на поверхности объектов собственной жизнью. Описанная выше технология палитры Custom помогает минимизировать данный эффект, но не может устранить его полностью. Лучшие результаты получаются в случае применения пользовательской палитры в сочетании с использованием реалистично отображаемых материалов и устранением прореживания.

Что такое сжатие цифрового видео

Сжатие - это процесс удаления или реструктуризации данных с целью уменьшения размера файла. Когда 3DS МАХ записывает визуализацию в файл типа AVI, происходит сжатие информации каждого кадра на основе выбора из списка программно-управляемых шифраторов-дешифраторов (кодеков).

Кодеки разделяются на три основных категории. Прежде всего они являются либо с потерей, либо без. Сжатие без потерь сохраняет все данные образа, обычно применяя технику под названием Run Length Encoding (групповое кодирование, RLE). RLE убирает непрерывные области одинакового цвета, помечая файл кодом, который восстанавливает дублированный цвет во время распаковки. RLE очень эффективен для графики, сгенерированной компьютером с большими областями одинаковых пикселов, и не очень эффективен с оцифрованным аналоговым видео и фотографиями, поскольку такие образы, как правило, содержат незначительное количество областей непрерывного цвета.

Кодеки с потерями разработаны для распознавания и постоянного удаления информации образа, который скорее всего не будет виден зрителю. Алгоритм чувствителен к прореживанию и диффузии в диапазоне кадров. Кодеки с потерями имеют параметры качества, управляющие величиной потерь (и, следовательно, размером файла). Такие кодеки эффективны при сжатии оживленной ЗО-геометрии, скомбинированной с аналоговым видео.

Вторая важная категория кодеков касается того, как сжатие подходит к целому кадру - пространственно или временно. Пространственное сжатие (spatial compression) исследует каждый кадр, распознает и удаляет деталь внутри кадра. Временное сжатие (temporal compression) сравнивает кадры во времени с целью стратегического и постепенного удаления данных. Важный вид временного сжатия (покадровое дифференцирование) (frame differencing) запоминает только измененные пикселы информации из последовательных кадров.

Наконец, кодеки поддерживают определенную глубину пикселов и являются платформо-специфичными. Некоторые кодеки будут сжимать только 8 разрядов, другие поддерживают 16-разрядное и 24-разрядное сжатие. Некоторые воспроизводят только Video for Windows. Декомпрессия (и рекомпрессия) происходит при воспроизведении фильма. Для этой цели механизм View File в 3D Studio MAX запускает Media Player MS Windows (NT или WIN95).

Кодеки являются критичными, если анимация воспроизводится с дисковода CD-ROM или проигрывается с жесткого диска. Выбираемый в выводе файла визуализации в 3D Studio MAX кодек влияет на визуальное качество и скорость воспроизведения цифровой анимации. Как показано на рисунке 27.3, доступ к кодекам производится после определения имени выводного файла с расширением AVI и нажатии кнопки Setup в диалоге File browsing.

Файлы AVI можно сжимать с использованием любого из программных кодеков, поступающих с Video For Windows. Скорее всего с вашей операционной системой установлен как минимум один кодек. Другие кодеки устанавливаются с мультимедиа-продуктами и броузерами Internet. Можно также добавить в систему кодеки от независимых разработчиков для целого спектра форматов сжатия. Для достижения необходимых для проекта результатов разберитесь с тем, как работают кодеки и побольше экспериментируйте.

Распространенные кодеки и 3DS МАХ

Ниже перечислены несколько кодеков, которые должны присутствовать в вашей системе. Среди них кодек, распространяемый Kinetix вместе с 3D Studio MAX;

  • Microsoft Video 1. Используйте данный кодек для сжатия аналогового видео, например для объединения сцены 3DS МАХ с несжатым цифровым или аналоговым видеозахватом. Хотя это и не самый высококонфигурируемый кодек, улучшение качества производится посредством его временного ползунка. Общее качество сжатия настраивается в главном диалоге Video Compression.
  • adius Cinepak. Данный кодек с потерями используется в основном для сжатия 24-разрядного видео, которое в конечном счете будет воспроизводиться с дисков CD-ROM. (Одним из примеров является анимация спрайтов.) По сравнению с Microsoft Video 1 кодек достигает более высокого уровня сжатия, лучшего качества образов и более быстрого воспроизведения, но его не следует использовать для данных, содержащих образы, сжатые с потерями (такие как AVI, использованные в качестве материала или фона). Данный кодек конфигурируется для сжатия черно-белого или цветного изображения-Качество сжатия настраивается в диалоге 3D Studio MAX Video Compression.
  • Intel Indeo Video R3.2. Данный 24-разрядный кодек с потерями сравним с кодеком Radius Cinepak.
  • Autodesk RLE. Этот поставляемый Kinetix кодек сжимает без потерь посредством RLE 24-разрядное видео, которое можно также просмотреть при помощи программного обеспечения Animator Studio фирмы Autodesk. Используйте данный кодек для большого высококачественного 24-разрядного видео, если хотите, чтобы информация RGB не потерялась. Поскольку кодек не удаляет информацию, его можно эффективно применять для объектов, с проецируемыми анимациями AVI или FLIC.
  • Full Frames (несжатый). Это высококачественный, универсально доступный метод для хранения информации об анимации в потоке данных. Данный кодек требует много места на диске, но обеспечивает удобства единственного последовательного файла. Благодаря совместимости между типами машин и настольными видеоприложениями он является весьма эффективным для интерактивной мультимедиа-продукции.

Видеоразрыв

Видеоразрыв обозначает неспособность аппаратного обеспечения поддерживать необходимую скорость воспроизведения анимации. Рисунок 27.4 показывает кадр анимации, захваченный во время воспроизведения с видеоразрывом. Явление происходит в случае, когда система не может прокачивать информацию через графическую карту достаточно быстро для того, чтобы не отставать от движения объектов в анимации. Можно наблюдать отображение двух кадров одновременно. Верхняя часть экрана показывает следующий кадр, тпгля кяк нижняя часть - ппелнлуший

Легкого и жесткого правила, которое бы говорило о том, при каких обстоятельствах возникает видеоразрыв, не существует. Лучшее, что можно сделать - это планировать для низшей типичной системы, на которой будет проигрываться анимация, и конструировать в соответствии с качеством воспроизведения.

Существует несколько правил, помогающих уменьшить вероятность видеоразрыва. Степень эффективности правил зависит от понимания аппаратного обеспечения, на котором будет воспроизводиться анимация.

  • Избегайте быстро двигающихся объектов. Видеоразрыв является прямым результатом скорости, с которой компьютер отображает единичный образ. Чем быстрее двигается объект, тем больше вероятность того, что он будет разорван на части.
  • Избегайтедвижениявертикальныхребер. Механика передачи видеоинформации (слева направо и сверху вниз) означает, что большие вертикальные ребра, которые движутся по экрану горизонтально, представляют худший сценарий для видеоразрыва. Если движение вертикальных ребер неизбежно, как в архитектурных проходах, попытайтесь уменьшить область, которая может привести к разрыву.
  • Используйте для проекта наименьший приемлемый размер экрана. Чем больше пикселов в образе, тем большее количество данных участвует в пересылке и, следовательно, тем больше вероятность, что система "захлебнется". Другими словами, если 320х200 клиента удовлетворяет, не прибегайте к 1024х768.
  • Экспериментируйте с эффектами размывания движения. Небольшое размывание движения может увеличить реализм движения и помочь замаскировать видеоразрыв. Обратитесь к главе 28, "Композиционные эффекты", где приведена более подробная информация о размывании движения.

Размер файла

Все усилия по производству реалистичных образов и обходу видеоразрыва пропадут даром, если вы заставите систему воспроизведения проигрывать анимацию с диска, а не из памяти. Доступ к диску настолько все замедляет, что анимация будет похожа на старомодное слайдовое шоу. Следует хорошо знать систему, на которой будет проигрываться анимация и затем разделить анимацию на сегменты, помещающиеся в памяти системы.

В случае визуализации для воспроизведения на другой системе, необходимо решить, каковы минимальные требования к памяти системы, выполняющей презентации. Типичные домашние и небольшие деловые PC имеют не более 8 Мб памяти, а некоторые системы обходятся 4 Мб и даже менее- Сколько памяти для хранения цифрового видео доступно на самом деле, зависит от программы воспроизведения и того, как сконфигурирована память воспроизводящей операционной системы. Единственный способ делать какие-либо обоснованные догадки в этом направлении заключается в экспериментировании с системой, которая сконфигурирована точно так же, как и целевая машина. Конечно, визуализация для воспроизведения происходит исключительно на собственной системе, задача существенно упрощается.

Цель состоит в конструировании такой анимации, чтобы можно было поделить ее на сегменты, помещающиеся в доступной памяти. Размещение в памяти предоставляет каждому сегменту возможность выполняться настоль гладко и быстро, как это только возможно, без типичных частых пауз, которые возникают при воспроизведении с жесткого диска. Ключевым словом здесь является "конструирование". Нельзя просто порезать анимацию на куски подходящего размера. Для успешной анимации необходимо планировать, где будут происходить разрывы сегментов и затем расставлять эти разрывы в анимации в такой последовательности, чтобы она имела смысл.

Определение скоростей воспроизведения

Прежде чем планировать переходы и точки разрыва анимаций, вы должны определить окончательную скорость воспроизведения. Обычно видеофайлы не проигрываются со скоростью 30 кадров в секунду (frames per second - fps). Пока оборудование для проигрывания цифровых фильмов с такой скоростью еще недостаточно распространено. Более типичной скоростью воспроизведения является 15-20 fps. По умолчанию 3D Studio MAX визуализирует файлы AVI и FLIC с 30 fps. Для настройки частоты кадров своей анимации используйте механизм Time Configuration. Диалог становится доступен после двойного щелчка на пиктограмме Time Configuration в нижней правой секции главного окна программы. Это как раз справа от поля ввода кадра среди элементов управления VCR.

ПРИМЕЧАНИЕ

Помните о том, что изменение частоты кадров не изменяет общей длины (в кадрах) анимации. Частота кадров ВЛИЯЕТ на количество времени, которое займет воспроизведение одного и того же числа кадров. Так, если необходимо изменить частоту кадров, но анимация все равно должна проигрываться за определенный период времени, то придется изменить и длину анимации. Это можно выполнить за счет параметра длины в диалоге Time Configuration. Однако изменение данного параметра просто обрежет первые и последние кадры или растянет последний кадр анимации. Для того, чтобы заставить 3DS МАХ действительно сократить или растянуть анимацию путем добавления или вырезания промежуточных кадров, следует нажать кнопку Re-scale и изменить параметры Start, End и Length (но не длину кадра).

Планирование точек разрыва

В современном быстро шагающем мире трудно привлечь чье-либо внимание более чем на пять секунд. Смотря телевизор проследите за тем, как часто меняются сцены. Вы заметите, что изменение происходит каждые три или пять секунд. Если вы наблюдаете за музыкальным видеосюжетом, сцены изменяются еще чаще. Нередко музыкальное видео- или коммерческое шоу меняет сцены через каждые одну-две секунды. Путешествие в Сети очень похоже на смену телевизионных каналов. В любое время имеется возможность прервать то, на что смотрите, и перейти к совершенно новому образу.

Хотя соображения изменения сцен и длины фрагмента важны для хорошо сконструированной анимации, они становятся абсолютно критичными для анимации, которую предполагается использовать для записи и воспроизведения в реальном времени. При каждом изменении сцены в анимации имеется возможность разорвать анимацию на отдельные сегменты. Внимательно управляйте данными изменениями сцены или переходами, используя разрезы, затухания и интерактивные паузы для того, чтобы поместиться в ограниченные ресурсы воспроизведения.

Использование переходов

Термин переход относится к любой смене сцен. В фильмах и видео распространено множество разных типов переходов, но два из них очень важны для цифрового воспроизведения - разрезы (cuts) и затухания (fades). Разрезы в простейшем смысле являются склейкой конечного и начального кадров двух анимаций. Они могут состоять из одних и тех же элементов (включая объекты и материалы) или быть полностью другими сценами и образами. Затухания (fades) предлагают постепенное представление образа (fade-in), изменение одной последовательности на другую (cross-fade) или завершение (fade-out).

Обе технологии полезны для поддержки интереса к анимации и для идентификации точек разрыва, разделяющих файлы цифрового видео на сегменты. Однако разрезы не настолько полезны как затухания, поскольку быстрая смена одной сцены на другую превосходит возможности большинства систем. Вообще для того, чтобы разрез правильно работал в течение воспроизведения видео, оба сегмента должны быть в памяти и принадлежать к одной и той же цветовой палитре.

Разрезы и затухания являются одним способом соединения сегментов анимации вместе. Пауза - это период времени, когда сегменты вводятся в память и выводятся из памяти. Если выполняется анимация не музыкального видеошоу и не быстро текущего коммерческого представления, различные паузы в анимации необходимо планировать. Пауза дает возможность зрителю прочитать текст на экране, изучить сцену более пристально или просто схватить и проглотить последний сегмент анимации, прежде чем переходить к следующему.

Скрытая польза от пауз заключается в том, что они предоставляют шанс освободить память от предыдущего сегмента анимации и загрузить следующий. Количество пауз, требуемое для загрузки и выгрузки анимации, имеет прямое отношение к объему памяти, доступной для системы воспроизведения. Чем меньше памяти доступно, тем больше пауз требуется для перемещения сегментов в память и из памяти - вот почему требуется знать тип системы, на которой воспроизводится анимация перед тем, как начать составлять ключевые кадры и визуализировать цифровое видео.

Использование ЗD-анимации для оперативного

содержимого

На сегодня одним из наиболее волнующих аспектов SD-анимаций является их включение в Web-страницы. Эта технология сейчас прокладывает путь в ключевые продукты Kmetix, в том числе в 3D Studio MAX. Утилита экспорта VRML открывает полностью новый и замечательно творческий канал. Вы должны вникнуть в специфические стратегии при визуализации анимаций для данного особого цифрового носителя. Настоящий раздел освещает несколько оптимизационных технологий, которые могут оказать помощь в данном приключении.

В среду World Wide Web включены несколько технологий, среди которых включая телефонная связь, видеоконференции, интерактивные агенты, множество приложений клиент-сервер и менеджмент мультимедиа-баз данных. С точки зрения анимации производство образов для World Wide Web во многом похоже на продукцию для видео игр. Интерактивная среда уступает несколько деталей образов в пользу быстродействия. По мере возрастания полосы пропускания будет увеличиваться и содержимое Web. Точно так же, как броузеры включают расширения VRML, трехмерное содержимое заселит Web-страницы. Уже сейчас можно задействовать 3D Studio MAX для производства фантастических, оптимизированных анимаций.

Использование 3D Studio MAX VRML Exporter

Virtual Reality Modeling Language (язык моделирования виртуальной реальности, VRML) является спецификацией для включения и манипулирования в программе трехмерными образами. Особенно VRML применяется в сочетании с Web-страницами, которые сами определяются посредством HyperText Markup Language (HTML). 3D Studio MAX VRML Exporter был представлен в сочетании с выпусками нескольких продуктов World Wide Web от Kmetix. Hyperwire, ключевой продукт Web, представляет собой мощное, объектно-ориентированное авторизованное приложение, которое создает апплеты JAVA - в высшей степени переносимые Internet-программы.

3D Studio MAX VRML Exporter продуцирует файлы (WRL), которые можно просматривать в любом совместимом с VRML приложении и что самое важное - в броузерах World Wide Web, когда они включают в себя броузер VRML. Броузеры VRML вообще являются подключаемыми компонентами к Web-броузерам, подобным Netscape Navigator. 3D Studio MAX VRML Exporter имеет дополнительный механизм, разработанный для работы специально с Topper - броузером VRML от Kinetix. Например, VRML Exporter включает интерактивные триггеры, которые могут запускать активность, основываясь на том, находится ли объект в поле зрения.

Оптимизация трехмерных миров

Формат файла 3DS, порожденный 3D Studio и теперь поддерживаемый 3D Studio MAX посредством механизмов импорта и экспорта, является стандартным для сохранения информации о трехмерных объектах. Существуют несколько инструментальных программных наборов для работы со внутренним представлением 3DS МАХ файлов, оптимизированных для строительства трехмерных миров. Из-за ограничений полосы пропускания манипулировать трехмерными объектами нельзя, если не ограничить общее количество многоугольников (граней) на сцене. В'настоящее время это ограничение составляет около 1000 многоугольников.

Экспортируете ли вы файлы 3DS МАХ или экспортируете VRML, следует понимать и использовать оптимизационные возможности 3D Studio MAX. Оптимизация заключается в применении к объектам сцены модификатора Optimize и настройки параметров Level of Detail. Рисунок 27.6 показывает, где добавлять модификатор для оптимизации. Прочтите и освойте раздел "Оптимизация" в главе 16, "Применение геометрических модификаторов" тома 1 Руководства пользователя 3D Studio MAX.

При экспортировании в VRML можно получить удивительный уровень контроля над упрощением геометрии. Для этого используется модификатор 3D Studio MAX Optimize в сочетании с механизмом Level of Detail в VRML Exporter. Этот механизм Level of Detail подставляет клонированные объекты с различным количеством граней, основываясь на расстоянии от исходного объекта до зрителя.

Визуализация вывода для воспроизведения с видеоленты и пленки

Создание анимаций для воспроизведения с аналоговой видеоленты или пленки существенно отличается от создания анимаций, предназначенных для компьютерного воспроизведения. Как утверждалось в начале главы, вы должны знать окончательный формат для проекта задолго до начала создания предварительных сцен, поскольку разница между компьютерным и видео воспроизведением оказывает влияние на каждый аспект ЗО-анимации.

Настоящий раздел освещает детали покадровой анимации для конечной записи на видеоленту и предлагает краткое обсуждение аппаратных технологий в покадровой записи, подобных цифровым дисковым рекордерам (DDR).

Запись компьютерных анимаций в реальном времени

Наилучшее качество анимации достигается тогда, когда образы с высоким разрешением воспроизводятся настолько быстро, что пара глаз-мозг может различить отдельные образы в полном цвете. Когда частота кадров падает ниже 20 кадров в секунду, типовой зритель начинает замечать "фрагментарность" анимации.

Целью является совершенно гладкое движение, но определенные физические факторы затрудняют ее достижение при воспроизведении цифрового видео с диска.

Единственный кадр 24-разрядного цвета (16.7 миллионов цветов) с видеоразрешением в несжатом виде занимает почти полный мегабайт. Сжатые образы требуют приблизительно '/д мегабайта памяти. Воспроизведение таких образов со скоростью видеоленты (30 кадров в секунду) означает считывание 15 Мб данных с жесткого диска и передачу этих данных на графическую плату каждую секунду. Поддержка скорости передачи данных на таком уровне при сегодняшнем уровне развития PC-технологии невозможна.

Прежде всего скорость падает гораздо ниже того, что необходимо для поддержки иллюзии движения. Но еще хуже то, что скорость постоянно изменяется - менее сжатые кадры проигрываются быстрее, а кадры, которые совсем не сжаты, увеличивают скорость анимации даже до большего уровня.

Любая анимация, требующая предельно точной скорости воспроизведения, не должна зависеть от стандартов компьютера. Различия в графическом оборудовании компьютеров и даже объем доступной памяти влияют на скорость воспроизведения.

Способ решения всех перечисленных проблем заключается в покадровой записи анимации. Каждый кадр запоминается отдельно на жестком диске компьютера или на новейших специализированных SCSI-потоковых аудио-видеоустройствах. При высоком разрешении доступны все 16.7 миллионов цветов. При покадровом копировании на видеоленту можно рассчитывать, что анимация будет гладко воспроизводиться при 30 кадрах в секунду. Если вы работаете над судебной анимацией, реконструирующей дорожно-транспортное происшествие, или над другим типом анимации, в которой отсчет времени играет существенную роль, запланируйте использование покадровой записи.

При визуализации для воспроизведения с видеосигнала (трансляции или ленты) доступна возможность визуализации поля. Такой тип визуализации, обсуждаемый позже в разделе "Визуализация кадров против визуализации полей", воспроизводится на видеосистемах со скоростью 60 полей в секунду, обеспечивая абсолютно гладкую анимацию.

Выполнение визуализации на диск

В отличие от предыдущих версий 3D Studio, коммерчески распространяемая версия 3D Studio MAX не обеспечивает возможности прямой визуализации на видеоленту. Не имея программного и аппаратного обеспечения контроллера 3D Studio MAX, следует выполнять визуализацию на диск или на DDR и затем переложить образы на ленту. Преимущество непосредственной записи на ленту заключается в том, что не приходится беспокоиться о нехватке дискового пространства. Но зато при возникновении проблем приходилось повторять всю визуализацию. Кроме того, при прямой покадровой записи на ленту изнашивается механизм записывающих головок VTR из-за повторных и частых установок на каждый кадр. Профессиональные рабочие станции класса PC-базированных видеорекордеров и автономные DDR стали предпочтительным методом для точного управления кадрами и записи цифрового 3D на видеоленту.

Профессиональные визуализации 3D Studio MAX, связанные с аналоговым видео, прежде всего визуали-зируются в виде файлов на стандартный жесткий диск, высокоскоростное устройство SCSI AV, систему RAID или дисковый массив в DDR, а затем переписываются на аналоговый видео носитель. Наиболее распространенным форматом файла для такой визуализации является сжатый файл TARGA. Если пространство существенно ограничено, можно визуализировать в другие типы битовых файлов - например, в файл JPEG, который имеет определяемый пользователем коэффициент сжатия. Как и в нашем обсуждении кодеков AVI ранее в настоящей главе, главное различие, о котором следует помнить, заключается в том, что файл TARGA использует сжатие без потерь, т.е. вы извлекаете из файла в точности то, что туда записано. JPEG является схемой сжатия с потерями и результат степени сжатия может оказаться заметным. Следовательно, для высококачественных результатов рекомендуется использование файлов TARGA.

3D Studio MAX выводит файлы как непосредственно на устройства, так и в определенные места диска. С продуктом поступает один драйвер для такой записи. Accom Work Station Disk (WSD) является профессиональным DDR. WSD запоминает до восьми минут несжатого цифрового видео в исходном формате. WSD предлагает устойчивый, независимый механизм для запоминания и перемещения анимаций на другие профессиональные носители. Поищите информацию об использовании Accom WSD в 3D Studio MAX Plug-In Help.

Достоинства визуализации на диск

Визуализация в файлы на диск обеспечивает большую степень управления над конечным выводом по сравнению с визуализацией непосредственно на ленту. Если образы слишком темны или слишком светлы, их можно пропустить через Video Post и изменить тональность. Если объект содержит ошибку, можно повторно визуализировать только данный объект и присоединить его к сцене посредством Video Post. Кроме того, если во время записи анимации возникают проблемы с VTR - пропущенные кадры, выпадения или случайные аварии, следует только еще раз переложить кадры на ленту, что гораздо быстрее повторной визуализации целого проекта.

Последовательные файлы

3D Studio MAX сохраняет каждый кадр в последовательно пронумерованные файлы. До четырех символов используются в качестве первых символов имени файла, а следующие четыре символа являются номером (например, TESTOOOO.TGA, TEST0001.TGA и т.д.). Будьте внимательны с именованием вывода, поскольку вторая группа из четырех символов в имени файла является перезаписываемой. Имя файла SEASHORE.TGA, например, перезапишет SEASHELL.TGA, в обеих случаях присваивая имя SEASOOOO.TGA.

Рекомендуется также, чтобы четвертый символ имени файла был буквой, а не цифрой. При использовании имени GP14 3D Studio MAX добавит к нему последовательный номер. Вдруг вместо того, чтобы начинаться с 0000, нумерация анимации начнется с 140000!

Соображения по поводу дискового пространства

Каждый файл может иметь размер от 500 Кб до 1 Мб. Файлы таких размеров могут быстро добавляться, особенно если работа выполняется в сети. Ротоскопированные карты и текстуры, применяемые в проекте, еще более ужесточают требования к дисковому пространству.

Различные форматы файлов предъявляют разные требования к дисковому пространству. Файлы BMP имеют только 8 бит на пиксел или 256 цветов. Размер файлов BMP значительно меньше, чем размер 24-разрядных (16.7 миллионов цветов) файлов TARGA. Компромисс заключается в визуализации в 16-разрядный (64000 цветов) файл TARGA. После прореживания с 24 разрядов до 16 различия в окончательном выводе практически незаметны, а запросы дискового пространства резко снижаются.

ПРИМЕЧАНИЕ

В случае визуализации альфа-канала либо как Alpha-Split, либо как 32-разрядный файл TARGA (результирующее дисковое пространство идентично), помните, что это займет в два раза больше дискового пространства по сравнению с 16-разрядным TARGA.

Конфигурирование для покадровой записи

Независимо от того, записываете ли вы с DDR, PC-базированного контроллера и дисковода, или стал доступным Plug-In для записи непосредственно из 3DS МАХ на VTR, существует несколько общих правил" применимых к любому типу покадровой записи на видеоленту. Более детальная информация о конкретной конфигурации приведена в руководствах, поступающих с устройством управления кадрами и VTR (видеомагнитофон, Video Tape Recorder).

Теория покадровой записи заключается в том, что устройство "командует" лентопротяжному механизму вернуться назад на три или пять секунд. Это делается для того, чтобы головки и лента набрали скорость, прежде чем начнется реальная запись. Подобный прием называется подмоткой (рге-roll). Затем устройство переводится в режим воспроизведения и точно в тот момент, когда лента находится на необходимом кадре, выдается команда Record (запись) на '/зд секунды. Затем после секунды движения вперед лента останавливается- Очередной кадр предоставляется для записи и весь процесс повторяется - 30 раз для одной секунды анимации или 1800 раз для минуты анимации.

Некоторые устройства используют метод записи анимации на ленту, который работает быстрее и менее изнашивает и рвет лентопротяжный механизм. Такие устройства определяют, насколь быстро кадры представляются для записи, и затем начинают передавать многочисленные кадры без подмотки. Например, если конкретные кадры анимации могут загружаться за две секунды, система подматывает и начинает записывать кадры 0, 60, 120, 180 и т.д. Затем система перематывает ленту к началу и записывает кадры 1, 61, 121, 181 и т.д., пока вся анимация не окажется записанной на ленту. В зависимости от того, как много кадров записывается, происходит огромная экономия времени. Чем длиннее анимация, тем больше времени экономится.

Код времени

Компьютер поддерживает на ленте дорожку, где отдельные кадры проходят через систему, которая называется кодом времени. Код времени (также называемый SMPTE кодом времени от Society of Motion Picture and Television Engineers) является системой, при помощи которой на ленте записывается отдельная дорожка, содержащая информацию кадра в формате часы:минуты:секунды:кадры - например 01:22:35:03. Формат запоминается на ленте в соответствие со способом, похожим на то, как запоминается на ленте аудиоинформация. Фактически некоторые устройства, не имеющие отдельной дорожки кода времени, прекрасно работают, запоминая информацию кода времени на аудиодорожкс.

Информация запоминается в 80 разрядах на каждый кадр. Действительная информация кода времени занимает только 48 разрядов. Остальные 32 разряда доступны пользователю и называются пользовательскими разрядами. Информация, которую можно запомнить в пользовательских разрядах, включает команды управления, количество перемоток, символьную информацию и пр.

Существует два типа кода времени - Longitudinal Time Code (продольный код времени, LTC) и Vertical Internal Time Code (поперечный внутренний код времени, VITC). Между ними практически нет различий -каждый запоминает одну и ту же информацию, только разным способом. LTC запоминается на третью аудиодорожку, тогда как VITC накладывается на вертикальный пустой интервал. При коде времени LTC информация записывается вместе с сигналом на видео- или аудиодорожку. LTC нельзя считать, когда устройство находится в режиме паузы. VITC хранит код времени статически между кадрами, делая его доступным независимо от того, движется лента или нет. По этой причине VITC обычно предпочтительнее LTC.

Код времени с отброшенным кадром против кода времени с неотброшенным кадром

Видео National Television Standard Commitee (NTSC) (стандарта в Соединенных Штатах) на самом деле не достигает в точности 30 кадров в секунду. На самом деле он составляет 29.97 кадров в секунду из-за частоты несущей волны и чередования полей видеосигнала. Для каждого короткого телевизионного сегмента, подобного 15-30 секундной коммерческой рекламе, разница в частоте кадров проблемы не представляет. Однако долгий период времени достаточен для того, чтобы возникли расхождения, осложняющие работу чувствительных ко времени приложений - таких как транслируемые по сети шоу или 60-секундная реклама. При потере 0.03 кадра в секунду за минуту будет потеряно 1.8 кадра.

Для смягчения проблем, связанных с отсчетом времени, применяется система под названием код времени Drop Frame (DF). При такой системе один кадр из 1000 отбрасывается для маскировки временных различий, Это не проблема в длительных редактированиях, поскольку редактор может учесть выпавший кадр. Однако с компьютеризованной покадровой анимацией система не в состоянии учесть потерянный кадр. 3D Studio МАХ не может обеспечить вывод с корректным номером "исчезнувшего" кадра. Если необходимо, чтобы окончательный вывод был в коде времени DF, прежде следует записать анимацию на ленте Non-Drop Frame (NDF), а только затем записать дорожку кода времени с кодом DF или продублировать анимацию на ленту с кодом времени DF.

ПРИМЕЧАНИЕ

Лента должна быть подготовлена к приему данных до своего первого использования в покадровой анимации. Процесс подготовки аналогичен форматированию гибкого диска перед его применением в компьютере и иногда называется стиранием (blacking) или расчерчиванием (striping) ленты.

Форматы VTR

Существует много различных типов форматов покадровых видеозаписывающих устройств. Они записывают единичный кадр в абсолютно точной позиции тысячи раз в день, не теряя кадры и не располагая их в неправильной позиции. Качество этой работы зависит от общего качества механизма устройства, что непосредственно связано с ценой. Не ждите, что устройство SVHS за 3000 долларов сравнимо по качеству механики, быстродействию или качеству образа с устройством BetaSP за 15000 долларов.

Четырьмя основными категориями видеооборудования являются пользовательское, для профессионального пользователя (prosumer), индустриальное и профессиональное (иногда называемое трансляционным). Пользовательские устройства неспособны к покадровой работе. Prosumer-устройства являются следующей ступенью и включают как SVHS, так и Hi-8. Prosumer-устройства наименее дороги из тех, которые могут применяться для покадровой анимации.

Индустриальная категория предлагает образы лучшего качества в дополнение к высококачественному устройству. В эту категорию входят устройства V4", как У4" так и ^"SP (Superior Performance).

Профессиональные устройства включают Beta- и BetaSP-записываемые лазерные диски, M-II, 1 дюйм и цифровые форматы Dl, D2 и D3. Устройства профессионального уровня хранят видеосигнал разделенным на составные части для улучшения качества образов. Указанные форматы можно редактировать любое число раз без деградации сигнала, которая возникает при копировании одной ленты на другую. Например, если расположить анимацию на одной ленте, отредактировать ее в видео и затем выполнить дубликат или копию для распространения, запишите мастер-копию для двух поколений. Каждое поколение ухудшает качество видео. Устройства профессионального уровня устраняют потерю качества, связанную с копированием.

Аппаратная конфигурация VTR

Покадровое устройство записи и DDR или компьютер-базированный контроллер соединяются двумя наборами кабелей. Один набор переносит видеосигнал. В зависимости от устройства это может быть (в порядке роста быстродействия) RGB, Component, SVHS или Composite. Другой набор кабелей является кабелями контроллера. Таких кабелей может быть от одного до трех типов в зависимости от устройства - параллельные, последовательные RS422 или последовательные RS232. Между этими тремя типами существуют значительные отличия. Хотя после того, как они настроены, никакая практическая разница не заметна.

Многие старые устройства используют параллельный интерфейс. Хотя и сходный в концепции с параллельным портом компьютера, это сильно отличающийся интерфейс, который для работы должен иметь аппаратный контроллер.

Большинство новейших устройств используют 9-штырьковый последовательный интерфейс RS422. Это стандартный протокол Sony и он эмулируется практически всеми новыми устройствами. Последовательный интерфейс RS422 существенно отличается от последовательного коммуникационного порта компьютера. Кабель имеет "сбалансированное" двустороннее соединение - оба конца являются "папами". RS232 (компьютерные последовательные интерфейсные кабели) являются несбалансированными - их концы разного пола. Последовательный RS422 представляет собой стандартный управляющий интерфейс между компонентами в комплекте видеоредактирования.

Некоторые устройства в настоящий момент могут управляться через последовательное соединение RS232 - стандартный компьютерный последовательный интерфейс. По этой причине данными устройствами проще всего управлять. Для всех устройств необходимо приобрести карту контроллера или программное обеспечение. Доступны также специальные подключаемые приложения 3D Studio MAX, созданные независимыми разработчиками.

Вопросы синхронизации

Видеосигнал, поступающий с компьютера необходимо синхронизировать с лентопротяжным устройством. Если этого не сделать, возможность помещения кадров в корректные позиции на ленте будет отсутствовать и дело закончится половинками кадров. Это эквивалентно вертикальному или горизонтальному бегу кадров на экране.

Для синхронизации компьютерного вывода с записывающим устройством выбирается один из трех методов. Выбор зависит от того, какое устройство используется в качестве основного источника синхронизации. Как главный источник синхронизации можно использовать контроллер, записывающее устройство или отдельный синхронизирующий генератор. Если и записывающее устройство, и контроллер имеют входную и выходную синхронизацию, можно воспользоваться любым из трех методов. Если какое-либо из устройств имеет только входную или только выходную синхронизацию, выбор будет ограничен.

Предпочтительным методом является применение внешнего синхронизирующего генератора или "домашнего" синхронизатора (house sync). Данный метод синхронизирует не только компьютер, но и весь комплекс для редактирования. В результате все оборудование прекрасно синхронизируется, предоставляя возможность использовать любой фрагмент без изменения соединения.

Визуализация кадров против визуализации полей

Знание различий между покадровой анимацией и анимацией полей и того, когда какую использовать, может превратить просто хорошую анимацию в великолепную. Анимация полей по гладкости отличается от покадровой анимации, как день отличается от ночи.

Если все видео показывается с частотой 30 кадров в секунду, то что можно сделать, чтобы еще больше сгладить анимацию? Ответ на вопрос лежит в основе технологии, которую в индустрии производства компьютерных мониторов стараются избегать. Она носит название чередования. Чередование используется в записи для видео. Компьютерные мониторы отображают каждую сканированную строку последовательно, начиная сверху и двигаясь вниз по методу, который называется нечередующимся или прогрессивным сканированием.

С другой стороны, телевизионный приемник начинает с верхней строки, но отображает каждую вторую строку до самого низа, а затем возвращается назад и отображает пропущенные строки. Подобная схема работы называется чередующимся отображением. Каждый отдельный набор сканируемых строк именуется полем. Как показано на рисунке 27.8, видеокамера записывает образы таким же способом, используя два поля.

В случае использования видеокамеры для записи образа быстро движущегося баскетбольного мяча и последующего воспроизведения записи на высококачественном устройстве с покадровыми паузами, легко заметить, что мяч двигался в то время, когда камера записывала первое и второе поле. Баскетбольный мяч кажется существующим одновременно в двух местах. Образ выглядит дергающимся вперед и назад. Это является демонстрацией записи полей.

Для демонстрации данного эффекта в 3D Studio следует создать сферу с размером приблизительно равным одной третьей части вида камеры и нацелить на нее свет. Теперь в диалоге Time Configuration установите общее количество кадров в 2 и поместите сферу у левого края вида камеры в кадре 0 и у правого края видового окна в кадре 2 (см. рис. 27.9).

Визуализируйте кадр 1 и наблюдайте за тем, какой является сфера в центре видового окна (см. рис. 27.10).

Приготовьтесь визуализировать ту же сцену, но перед запуском Renderer измените опцию Render To Fields в диалоге Render Scene. Визуализируйте сферу еще раз. Renderer теперь визуализирует сцену дважды, но каждый раз только по четным и нечетным строкам и высчитывает позицию сферы, основываясь на полях, а не кадрах, и визуализирует оба поля в один и тот же файл (см. рис. 27.11).

В зависимости от анимации визуализация полей занимает не больше времени, чем покадровая визуализация. Дело в том, что за каждый проход визуализируется только половина образа. Визуализация полей требует большего времени в том случае, когда используются тени или автоматическое отражение. И то, и другое должно быть пересчитано для каждого поля, и такого рода пересчет может потребовать самого большого времени во всей визуализации.

Когда выполнять покадровую визуализацию

В определенных ситуациях следует применять покадровую визуализацию. Например, при визуализации неподвижных образов. Визуализация полей не является заменителем для размывания движения. Никогда не используйте визуализацию полей, если будет применяться компьютерное воспроизведение анимации, поскольку в прогрессивных сканирующих устройствах поля не применяются. То же справедливо для случая визуализации на пленку. Кинопроекторы воспроизводят каждый раз по кадру.

Покадровая визуализация используется и тогда, когда ожидается много задержек, или когда анимация будет применяться для замедленного воспроизведения, например для случая судебного разбирательства. Если желательно, чтобы зритель мог сделать паузу на любом кадре, выполняйте покадровую визуализацию.

Когда визуализировать полями

Визуализируйте полями тогда, когда требуется гладкое движение и проект будет выводиться на видеоленту или предназначен для телевизионной трансляции. Если первый или последний кадр на ленте будут задерживаться, эти два кадра корректнее визуализировать покадрово во избежание дрожи во время задержки.

Если вы задерживаете первый или последний кадр при визуализации на видеоленту, то для гладкого старта и гладкого завершения анимации особенно важно для этих кадров иметь Ease from и Ease to. В противном случае анимация заметно прыгнет при начале и завершении действия.

Настройка полей

Подготовка для визуализации полями является достаточно простой процедурой. Убедитесь, что параметр FIELD ORDER в Preferences на закладке Rendering установлен в ODD. Проверьте конфигурационные установки для устройств, которые будут воспроизводить анимацию, например для Digital Disk Recorders и плат контроллеров кадров. При работе с сервисным бюро убедитесь в корректности спецификаций.

Затем загрузите анимацию и получите доступ к диалогу Render Scene. Проверьте опцию Render to Fields (см. рис. 27.12). Любая визуализация, выполняемая после такой подготовки, будет разделена на поля.

Что такое ротоскопирование

Ротоскопирование, термин, который берет начало в традиционной кинотехнике, применяется в компьютерной анимации для процесса покадрового использования видео в качестве фона или текстурной карты. В старых фильмах определение относилось к использованию кадра фильма для прослеживания поэлементной анимации и организации специальных эффектов.

3D Studio MAX обеспечивает новый механизм ротоскопирования. Существует три основных способа, по которым можно собирать и комбинировать образы (см. рис. 27.13). Можно использовать меню Views, механизм Display Background, строить сцены посредством захвата или записи видеокадров с устройства (например, Accom DDR) или с аудиовизуального потока, SCSI-дисковода, управляемого платами Perception Video Recorder или Truevision Targa 1000 и 2000. После завершения анимации ее можно скомбинировать с тем же фоном в виде события Layer в Video Post. Можно также использовать очень мощный механизм Environment в соединении с Material Editor для отображения видео как экрана (традиционный фон), плоскости, сферы или Shrink wrap, относящихся к сцене.

Соображения по поводу дискового пространства

Ротоскопированные с ленты файлы достаточно велики, поскольку плохо поддаются сжатию. Дело в том, что в них каждый пиксел имеет разное значение цвета. Схема сжатия зависит от идентичности соседних пикселов, а это нечасто встречается с живым видео захватом.

Если вы не используете специализированной системы RAID, DDR или PC-базированного контроллера и дисковода, планируйте сохранять на диске значительный объем ротоскопированных файлов. Если вы будете рассчитывать на несжатые файлы, то окажетесь недалеко от истины при расчете объема свободной дисковой памяти для хранения файлов, 24-разрядный файл с разрешением 720 х 486 занимает приблизительно 1.1 Мб.

Методы захвата

Как упоминалось ранее, 3D Studio МАХ включает контроллер устройства для Accom WSD DDR, который захватывает файлы непосредственно на жесткий диск в исходном несжатом формате. Доступны модели, которые вмещают до 8 минут (14400 кадров) несжатого цифрового видео. На сегодняшний день компании Truevision, DPS и ряд других производят новые PC-базированные цифровые видеорекордеры под Windows NT. Ряд устройств требуют выделенного дисковода, тогда как другие могут использовать дисководы совместно. В любом случае видео захватывается и подвергается минимальному сжатию. Привлекательность заключается в том, что цифровая память позволяет достичь в высшей степени профессионального видеозахвата (записи) и вывода (воспроизведения). Для доступа к кадрам или передачи файлов в серию стандартных битовых файлов следует использовать программное обеспечение, поставляемое вместе с дополнительной платой PC или автономным устройством.

Другой метод ротоскопирования и быстрого вывода файлов заключается в применении перезаписываемого лазерного диска или CD-ROM. Видео для ротоскопирования просто дублируется на диск, и каждый кадр переносится в компьютер. Подобно цифровой памяти лазерный диск не нуждается в подмотке, а передача осуществляется достаточно быстро. Опять же, 3D Studio MAX не включает драйверов для прямого доступа к указанным устройствам. Для выяснения, какие драйверы и устройства доступны, посмотрите каталог Kinetix, содержащий последние продукты от независимых фирм.

Когда удалять поля

Файлы, ротоскопирусмые с живого видео, обычно захватываются с полями. Это не проблема, если образы будут использоваться в качестве фона, поскольку анимация выглядит более гладкой, благодаря дополнительному подкадровому движению. Однако, если будет производиться проецирование изображений на объект, поля, содержащие изображения, могут оказаться выровненными неправильно или столкнуться с эффектами других материалов. Способ решения данной проблемы заключается в удалении полей. Удаление выполняется двумя путями. Самый простой путь заключается в принуждении программы копировать каждую вторую строку сканирования ниже первой- Таким образом удаляются все эффекты, связанные с полями, а процедура сравнительно быстра и разрезает вертикальное разрешение битовой карты пополам. Если объект, на который проецируется материал, занимает небольшую часть экрана, ничего более и нс надо.

Однако, если объект в анимации достаточно заметен, может возникнуть желание очистить ротоскопиро-ванную карту. Очистка выполняется посредством прогона файлов через программу, которая не только копирует каждую строку пикселов вниз, но и выполняет интерполяцию между двумя строками, хранящими гладкий образ. Правильно выполненный образ выглядит гораздо лучше, чем если бы поля просто копировались. Некоторые PC-базированные рекордеры включают для таких целей утилиты.

Использование механизмов управления кадрами и IFL

Механизм Animation Synchronization в диалоге Viewport Background применяется для управления в случае, когда каждый образ представляется относительно позиции кадра сцены. Подобным же образом можно использовать сходные элементы управления в свитке Material Editor Time и в диалоге Video Post Image Input event Options для управления тем, какой кадр исходного цифрового видео файла или последовательности анимации будет в позиции относительно анимации сцены. Имеется возможность достигнуть точного управления, создав IFL из видеокадров, захваченных устройством, подобным DDR или PC-базированной платы захвата. Передайте или конвертируйте файлы в последовательные битовые файлы и разрешите МАХ генерировать IFL (Image File Loader) в каталоге с файлами. Затем загрузите IFL в разделе File диалога Background Image.

Выполнение визуализации на пленку

Присутствие в фильме специальных цифровых эффектов и анимации теперь стало узаконенным механизмом представления зрителю реалистичных эффектов и создания кинематографически изящных образов. Это функция лучших, дешевых и быстрых технологий, а равно и растущей оценки уникальных образов, которые можно создать продуктами, подобными 3D Studio MAX.

Как утверждалось в самом начале главы, механизм воспроизведения для кадров составляет значительную часть трехмерного моделирования и процесса планирования визуализации продукции.

Управление кадрами и длина анимации для воспроизведения фильма

Фильм воспроизводится со скоростью 24 кадра в секунду, поэтому важно установить частоту кадров в 24 и перемасштабировать анимацию в диалоге Time Configuration для поддержания той же длины анимации во времени. (Вернитесь обратно к рисунку 27.5, диалогу Time Configuration.) По мере того, как все большее количество коммерческих фильмов производится с учетом дополнительных свойств CD-ROM, для Web и рынка видеокассет следует поближе познакомиться со множеством созданных схем визуализации.

Работа с файлами высокого разрешения

Для ротоскопирования могут оказаться последовательные файлы очень высокого разрешения, полученные в других системах, например, Abekas. Будьте внимательны в сопоставлении имен последовательных файлов с механизмом автоматической нумерации в 3D Studio MAX. Сделайте копию файлов с низким разрешением, пропустив файлы через Video Post или использовав утилиту пакетного преобразования файлов, подобную Image Alchemy. Для большей части работ используйте копию с низким разрешением. Выполните несколько тестов с выводом высокого разрешения с целью измерения текущих ресурсов памяти системы, Может потребоваться сбросить виртуальную память для обеспечения страничного обмена.

Использование размывания движения объектов для производства кинематографических эффектов

Посредством данного механизма можно имитировать эффекты размывания, однако не следует забывать о затратах времени на итерации в случае применения размывания движения объекта. Поэкспериментируйте с применением данного эффекта для незначительных движений, чтобы получить наибольшую отдачу. Разъяснение деталей и примеры, касающиеся Motion Blur (размывания движения) приводятся в главе 28, "Композиционные эффекты".


ГЛАВА 28

Композиционные эффекты

В главе исследуются методы обработки и подготовки образов и анимации к композиционным эффектам. Большая часть усилий по созданию эффектов должна быть направлена на понимание механизма 3D Studio MAX Video Post, который является отдельным приложением внутри 3DS МАХ. Объединив понимание 30-сцен со стратегическим использованием исходных образов и анимации, можно производить профессиональные трехмерные графические и движущиеся образы для любых визуальных носителей. Кроме того, доступна возможность автоматизации обработки графических файлов с целью использования в других приложениях. Ниже перечислены некоторые темы, исследуемые в данной главе:
  • Понимание Video Post
  • Подготовка к обработке образа и post production (монтажу)
  • Работа с событиями сцены
  • Использование размывания для имитации эффектов скорости
  • Использование событий вводного образа
  • Использование слоев и фильтров Video Post для объединения эффектов
  • Понимание и использование alpha
  • Применение циклов и внешних событий
  • Управление комбинированным выводом

Организация объектов в образе в сочетании со способом просмотра объектов называется композицией. Композиция - это и метод, и результат. Хорошо организованные трехмерные анимации, содержащие объекты и точки зрения в движении требуют эстетического чувства и грамотного использования определенных творческих принципов:

  • Идентифицируйте центр интереса и организуйте все вокруг него.
    Это необязательно положение в пространстве или во времени. Скорее это тематический и контекстуальный фокус, который можно передать цветовым контрастом, масками, перспективой и т. п. Центр интереса анимации может оказаться "вне экрана" или быть эффектом среды.
  • Используйте асимметрию для подчеркивания движения и привлечения зрительского внимания.
    Когда асимметричные объекты двигаются по управляемому пути, можно достичь уникальных эффектов и оптических иллюзий.
  • Управляйте зрительским ощущением сбалансированности.
    Создавайте напряжение и расслабление, управляя визуальным "весом" композиционных элементов.
  • Манипулируйте размерностью с целью влияния на перекрывающиеся объекты и образы.
    Глубина сцены, особенно когда элементы перемещаются один относительно другого, расширяется за счет внимательного наслоения объектов сцены и двумерных исходных образов.
  • Планируйте визуализацию с учетом носителя воспроизведения.
    Используйте технологии композиции, которые станут доступны через конкретный носитель воспроизведения. Например, сформируйте требуемый масштабный коэффициент для письма в фильме о возможностях путем создания своего безопасного кадра и отображения его (например, прямоугольный сплайн, визуализируемый в битовое изображение) в качестве фона видового окна. Кроме того, можно аккуратно уменьшить высоту относительно ширины общего окна 3DS МАХ, отредактировав файл 3dsmax.ini. Измените соответствующим образом значения Size (ширину и высоту) в секции [Window State]. Видовые окна соответствующим образом изменят свою пропорцию отображения. Координация безопасного кадра пользовательского фона и пропорции видового окна поможет породить эффекты, связанные с конкретным форматом (см. рис. 18.1).

Понимание Video Post

Video Post произошел от термина post-production - окончательной стадии создания фильма. Post-production выполняется после того, как фильм отснят и собственно производственная работа выполнена- На завершающей стадии каждый элемент редактируется в законченную форму. Редактор вместе с режиссером решает как, когда и где будут происходить переходы. В этих точках часто вставляются специальные эффекты (если они есть). Обычно переходом является разрез, переключающий действие на новую сцену с новым кадром без каких-либо эффектов. Однако в ряде ситуаций требуется более драматический переход, например медленно затухающий один образ в сочетании с проявляющимся другим или открытие образа с вытиранием слева направо всего экрана. В прошлом такие переходы вместе со специальными эффектами были возможны только при монтаже, который выполняли профессиональный редактор и художник.

Механизм Video Post 3D Studio MAX предоставляет возможность работать с режиссером, редактором и художниками перед, во время и после производства анимации. При помощи Video Post можно быстро породить широкий спектр полезных образов и анимаций. Такими анимациями могут быть трудные и дорогостоящие пиротехнические эффекты. Или же можно создать и "на лету" представить виртуальный фон для композиции с видеозаписью живых актеров. И конечно же, имеется возможность создать завораживающие специальные эффекты и переходы.

В отличие от завершенных настольных приложений редактирования видео. Video Post является в основном служебным приложением, используемым для объединения 3DS МАХ сцен с другими образами анимации. Хотя в учебных целях было бы полезно создать сложную неподвижную композицию из нескольких слоев или смонтировать фильм, типичной функцией Video Post является подготовка образа или анимации для профессионального монтажа или редакторской платформы (цифровой или аналоговой) либо визуализация более масштабных аниматорских усилий.

Дополнительно механизм Video Post в 3DS МАХ оказывает помощь в автоматизации обработки образов и включения содержимого в продукты, подобные видеоиграм, CD-ROM-заголовки и интерактивные анимации.

Диалог Video Post, представленный на рисунке 28.2, состоит из двух главных частей - окна Queue слева и окна Edit справа. Для визуализации того, что происходит, при выполнении последовательности - т.е. визуализации событий, перечисленных в окне Queue, - представьте, что окно Edit является дополнительным видом проектора слайдов, объектив которого установлен вверху слева от линий диапазона и указывает на верх окна. Лампа проектора расположена внизу слева под линиями диапазонов всех событий. Объектив и лампа перемещаются слева направо, продвигаясь во времени по стеку слайдов (кадров). Лампа является чем-то подобным слайду и ее можно вставить в любое место стека слайдов для проектирования образов перед собой. В стек можно поместить различные слайды, играющие роль масок, зеркал, призм и источников света.

Каждый из слайдов имеет свой собственный способ воздействия на проекцию стека в любой заданный момент времени. Некоторые слайды требуют, чтобы другие слайды были смежными, сгруппированными, находились позади и т. д.

Независимо от того, видим ли слайд реально, если он участвует в виде хотя бы одного кадра, он имеет фиксированную иерархическую и относительную позицию в стеке. Эта позиция представляется в левой части окна Video Post меткой (пиктограммой, именем и путем) и справа горизонтальной линией, линией диапазона, указывающей появление слайда во времени.

В случае изменения содержимого стека слайдов за счет добавления, удаления, перепозиционирования или изменения слайдов проекция стека также очевидно изменяется. По отдельности на слайды ссылаются как на события, а все вместе они называются очередью.

В дополнение к своей обычной обязанности интерпретировать и представлять объекты в виде для заданного события Scene визуализатор 3DS МАХ знает, как позиционировать лампу проектора, считывая метки Event. Как и положено, проекция образа видна на экране 3DS МАХ, в Virtual Frame Buffer, и может записываться в файл или на устройство.

Рисунок 28.2 показывает, что случилось бы в случае размещения непрозрачного слайда в качестве третьего автономного события в очереди. Проекция оказалась бы заблокированной - вы бы не увидели первый и второй слайд. Очевидно, порядок размещения событий в очереди очень важен. Существуют несколько инструментов и типов событий, но полезно рассмотреть следующих три общих категории событий:

  • Inputs - сцены и образы
  • Effects - фильтры, слои, петли и внешности (external)
  • Outputs - файлы и устройства

Renderer нс просто проходит по очереди в направлении сверху вниз. Заданное событие может быть в очереди автономным, или находиться в иерархической связи с другим событием - т.е. событие по отношению к другим может быть родительским, дочерним или родственным.

На рисунке 28.2 обратите внимание на колонку чисел, выделенных курсивом, как в левой части очереди событий Video Post, так и в окне Edit вдоль линий диапазона. Числа представляют действительную последовательность визуализации событий для кадров 40 и 550. Повторно визуализируя один и тот же кадр (например, 40) в Virtual Frame Buffer, можно наблюдать за разделом Current Task диалога хода работ и следовать действительной последовательности визуализации в порядке, показанном в колонках. Знание действительного порядка визуализации поможет сконструировать очередь в соответствии с логикой визуализатора.

Окно редактирования является линией времени. Начиная с нуля линия времени представляет диапазон кадров, которые бесконечно расширяются вправо в положительном направлении. Каждое событие имеет соответствующую линию диапазона, обеспечивающую возможность управления тем, как и когда появляется заданный стек слайдов. "Как" выполняется путем добавления событий Scene или Image Input и применения модифицированных эффектов, подобных Filters и Layers. "Когда" достигается за счет организации специальных начальных и конечных параметров линий диапазонов.

Кроме команд запуска в меню Render Video Post не имеет выпадающих меню. Инструменты в верхней части окна Video Post обеспечивают метод для размещения новых элементов в очереди. В зависимости от активного или пассивного состояния событий, инструменты будут себя активизировать для применения к выбору.

СОВЕТ

Очень важно, чтобы последовательность Video Post конструировалась внимательно и консервативно. Файлы Video Post (VPX) следует сохранять для каждой основной стадии конструирования последовательности, нажимая инструмент Save Sequence и подтверждая перезапись существующего файла или присваивая имя новому файлу. Файл 3DS МАХ также следует регулярно сохранять. Данная часть 3DS МАХ не содержит функций UNDO или REDO и нет возможности щелкнуть правой кнопкой мыши для возврата линий диапазонов в исходные позиции. Вообще можно выделить события для редактирования, дважды щелкнув на их метках, а не на пиниях диапазона. Щелкнув на линиях диапазона, можно непреднамеренно сдвинуть параметры Start Time и End Time в Video Post. Настраивать несовпадения одного кадра между смежными событиями или начальными и конечными точками очень скучно и неприятно, особенно в случае, когда вы жаждете увидеть композиционные эффекты и полную визуализацию, необходимую для просмотра работы.

Использование событий Scene

Событие Scene является определенной частью общей сцены 3DS МАХ- При добавлении события Scene к очереди Video Post указывается, какой вид и какие кадры добавляются. Вы применяете эффекты движения сцены и координируете определенный диапазон кадра с общей очередью Video Post.

Во время добавления события Scene имя видового окна или камеры отображается в верхней части списка View диалога. Список View сортируется в алфавитном порядке по именам видовых окон или камер.

Добавлять события Scene можно с различными видами или использовать один и тот же вид в Queue несколько раз для генерации специальных эффектов, подобных прерывистому движению. Например, можно выполнить анимацию движения муравья по экрану. При этом Video Post используется для добавления к очереди нескольких событий Scene. Затем можно разбросать точки, в которых начинается каждая Scene, настроив линии диапазона по правой стороне диалога Video Post. Результатом будет парад муравьев, марширующих по экрану.

Если в одной и той же очереди Video Post требуется использовать разные файлы 3DS МАХ, визуализируй-те один 3DS МАХ файл на диск и затем добавьте его к очереди как событие Image Input. Если в очереди нет событий Scene, текущая сцена игнорируется Video Post, который визуализирует только те события, которые появляются в окне иерархии.

Управление диапазоном сцены по отношению к диапазону Video Post

По умолчанию 3DS МАХ использует полный диапазон Scene для параметров Video Post Start Time и End Time. Можно было бы принять, что время Video Post и время сцены 3DS МАХ одно и то же, но это не тот случай. Время сцены 3DS МАХ распространяется бесконечно назад (отрицательное) или вперед (положительное), тогда как Video Post определяет диапазон положительных кадров. Эта разница становится очевидной при сравнении способов представления времени в окнах Track View и Video Post.

Изучите различия самостоятельно. Откройте учебный файл Video Post tutl9J2.max, который распространяется с 3D Studio MAX и используется в сочетании с Tutorial 19. Откройте окна Track View и Video Post. В Track View расширьте секцию Objects так, чтобы появились линии диапазона. Теперь выберите навигационный инструмент Zoom Time и транспортируйте его вверх и вниз в окне Track View. Заметьте, что линии диапазона расширяются в обеих направлениях. Теперь выберите навигационный инструмент Zoom Time в окне Video Post. Транспортируйте курсор в область Event Editing. Заметьте, как линии диапазона фиксированы на кадре нуль и расширяются в правую сторону окна (см. рис. 28.3).

Когда к очереди Video Post добавляются события Image Input, содержащие последовательность образов или анимацию, их длина и диапазон определяются параметрами в поддиалоге Options диалога Add или Edit Image Input Event. Если диапазон кадра отличается от диапазона Video Post, то Video Post просто блокирует кадр Image Input Start на VP Start Time, отрезает или задерживает последний образ у VP End Time и зацикливает всю последовательность в зависимости от установленных параметров.

Параметры Scene Range в диалоге Add и Edit Scene Event предоставляют возможность раздельно и относительно позиционировать время Scene в контексте времени Video Post. По умолчанию Scene Range блокирован на диапазон Video Post. Сбросив флажок Lock to Video Post Range и затем при необходимости сбросив Lock Range Ваг to Scene Range в диалоге Add или Edit Scene Event, можно указать, будет ли определенный диапазон Video Post содержать кадры, отличные от непосредственно соответствующих параметрам VP Start Time и End Time.

Очистка флажка Lock Range Bar to Scene Range обеспечивает интересный способ создания эффектов медленного и быстрого движения. Если общий диапазон, определенный в Scene Range меньше диапазона, указанного в параметрах Video Post Start и End Time, Video Post добавляет кадры так, чтобы диапазон Scene соответствовал большему диапазону Video Post. Такой процесс растягивает движение во время воспроизведения, создавая эффект медленного движения. Если общее число кадров в диапазоне Scene больше диапазона Video Post, то Video Post пропускает кадры для того, чтобы общая последовательность совпала с меньшим диапазоном Video Post. Большее движение за меньшее время создает эффект ускорения.

Например, в одном событии Scene можно медленно двигать космический корабль по экрану. Затем можно пристыковать второе событие Scene, содержащее тот же вид и диапазон Scene, но с меньшим количеством кадров Video Post. При визуализации и воспроизведении будет казаться, что космический корабль внезапно увеличил скорость. Попробуйте!

Опции визуализации

Диалог Render Scene (см. рис. 28.4) содержит две части, разделенные характерными свитками 3D Studio МАХ -- Common Parameters и Default Scaniine A-BufFer. При установке события Scene в Video Post имеется возможность изменить некоторые из представленных параметров в диалоговых окнах Add или Edit Scene Event. Video Post не разделяет параметры Time Output, Output Size или Render Output с 3DS MAX визуализа-тором. В Video Post данные параметры находятся в диалоге Execute Sequence, поскольку они влияют на все события в очереди. (Более подробная информация приведена в разделе "Управление комбинированным выводом" позже в данной главе.)

Хотя Common Parameters и Scanline-A buffer можно установить из Render Options в отдельном событии Scene, помните, что данные параметры не уникальны для конкретного события Scene. Поддиалог Render Options просто обеспечивает доступ к глобальным параметрам визуализации для удобства настройки события Scene. Если в очереди имеется одно событие Scene и добавляется другое, любые изменения, выполненные в диалоге Render Options, повлияют на первое событие Scene. Сказанное означает, что вы не можете отдельно установить эффекты Anti-Aliasing, Object Motion Blur, Ray Trace Shadows, Atmospheric или какие-либо другие параметры визуализации для каждого события Scene в очереди. Единственный способ комбинирования и редактирования одних и тех же сегментов с разными параметрами эффектов заключается в индивидуальной визуализации сегмента и добавлении его в очередь с другими сегментами сцены в качестве события Image Input.

Исследование движения

Размывание движения представляет собой эффект, который существует в 3DS МАХ в двух вариантах. Первая версия - это размывание движения объекта, который сконфигурирован в диалоге Render Scene, и предоставляет возможность определения эффекта размывания движения для абсолютного изменения в положении отдельных объектов. Второй версией является размывание движения сцены в событии Scene Video Post. Размывание движения сцены применяет эффект размывания ко всей сцене, воздействуя на абсолютное и относительное движение (камера) всех объектов на сцене. Оба эффекта размывания работают, делая копии объекта, на который влияют, однако способы расчета и распространения копий в кадре отличаются. Используемая технология или способ комбинирования обеих технологий зависит от эффекта, который необходимо получить.

Руководство пользователя 3D Studio MAX описывает размывание движения объекта как форму сглаживания движения объекта во времени, а размывание движения сцены ~- как специальный эффект. Руководство указывает на то, что имеется возможность комбинировать оба способа для достижения наилучшего результата. Настоящий раздел описывает оба типа размывания движения и то, как они работают по отдельности, вместе и как соотносятся с визуализацией полей, которая использует сходный метод для "сглаживания" линий и движения.

Концепции размывания движения

Большинство думает о размывании движения в связи с фотографией. Если объект двигается достаточно быстро, то при съемке фотографии он кажется размытым. То, что зарегистрировано на пленке, является результатом нахождения объекта в одном положении, когда шторка камеры открылась, и в другой позиции, когда шторка закрывалась. Эффект размывания является результатом бесконечного числа копий объекта, каждая из которых экспонировалась в течение бесконечно малой части общего времени экспозиции. Копии экспонируются по мере передвижения объекта из положения в начале экспозиции во второе положение в конце экспозиции.

3DS МАХ не может воспроизвести бесконечное количество образов. Вместо этого он делит время на дискретные сегменты и визуализирует одну копию соответствующего объекта для каждого указанного сегмента времени. Количество копий и размер сегментов времени управляется параметрами.

Используемая 3DS МАХ технология математически и технически корректна. К сожалению она некорректна визуально. Верхний размытый мяч на рисунке 28.5 показывает способ по умолчанию, в соответствие с которым 3DS МАХ визуализирует размывание движения.

Хотя визуализация корректна технически, визуально она не создает впечатления размывания. Кажется, что множество копий имеют большую плотность посредине, чем по краям. Большинство наблюдателей считали бы это чем-то вибрирующим, чем движущимся вперед. Даже если бы это была часть анимации, ошибка выявлялась бы подсознательно. Ваше естественное ощущение движущегося объекта порождает ожидание, что ведущий край объекта будет резко сфокусирован, тогда как ведомый окажется размытым вместе с линией движения. Вот почему вы рисуете "линии скорости" позади движущихся объектов и почему традиционные аниматоры обучены рисовать размывание движения, размывая только ведомый край. Нижний мяч на рисунке 28.5 показывает результат имитации данной технологии в 3D Studio MAX.

Создание эффекта, показанного на примере нижнего мяча на рисунке 28.5, требует применения Video Post для комбинирования неразмытой версии объекта поверх размытой. Показанный здесь трюк связан с получением неразмытого объекта, который вел бы размытый. Величина требуемого опережения зависит от типа размывания движения и параметров для каждого типа.

Размывание движения объекта

Размывание движения (motion blur) объекта можно применять для репродукции аналогоподобного размывания и "сглаживания" движущихся объектов и персонажей (например, частей машины или частей персонажа). Вспомните обсуждение в разделе "Визуализация кадров против визуализации полей" в главе 27, "Визуализация анимаций". Параметр Render to Fields также используется для увеличения гладкости оживленных объектов, особенно при визуализации для видеовоспроизведения. Эффект от визуализации полей похож, но не идентичен тому, что создается размыванием движения объекта.

Визуализация полей делит заданный кадр на два сканированных образа. Каждая половина объединяется с половиной предыдущего или последующего кадра. Результирующие кадры содержат два полуобраза, смещенных во времени. Когда кадры проигрываются на чувствительном к полям устройстве, анимация получается более "гладкой" в результате воспроизведения со скоростью 2 поля в секунду.

СОВЕТ

В отличив от размывания движения сцены или объекта, визуализация полей не обладает уникальной способностью сглаживать движение в карте Environment. Карты Environment не обрабатываются как элементы Scene, поэтому размывание на них не влияет. Но Renders to Fields для создания подкадровых экземпляров на самом деле работает с буфером информации, а не с геометрией, деля и переустанавливая сканированный вывод в серии кадров.

Размывание движения объекта определенно может расширить - и иногда полностью заменить - визуализацию полями. Размывание движения объекта обеспечивает дискретное управление отдельными объектами на сцене, прореживанием копий объекта и количеством образов подкадров в диапазоне движения. Если выполняется визуализация анимации для цифрового видео в форматах AVI или FLC и одновременно необходимо обеспечить гладкую анимацию для воспроизведения с видеоленты без визуализации полями (не рекомендуется для цифрового видео), стоит затратить дополнительное время на планирование и визуализацию и привлечь к работе размывание движения объекта.

Помните о том, что прореживание для цифрового видео в общем случае не рекомендуется, поскольку применяемые кодекзми алгоритмы сжатия могут породить цветовые полосы. Таким образом, в предыдущем примере с мячом при визуализации в цифровой видеоформат следовало бы внимательно настроить параметр Samples, управляющий прореживанием цвета при размывании движения объекта (см. раздел "Экземпляры" позже в этой главе). Кроме того убедитесь, что прореживание (усреднение цвета в противоположность смешиванию прозрачности) в разделе Rendering Preferences не включено. В диалоге Render Scene установите значение Samples в максимально возможное (как минимум в величину прореживания), равное количеству Duration Subdivisions. Помните также о том, что кажущееся движение, вызванное перемещением камеры, при размывании движения объектов во внимание не принимается, хотя учитывается при размывании движения сцены.

Для того, чтобы применить размывание движения объекта к отдельным объектам, следует выбрать объект в видовом окне и щелкнуть правой кнопкой мыши, открывая выпадающее меню объекта. После выполнения Properties появится диалог Object Properties. Используйте данный диалог для включения размывания движения, щелкнув мышью на флажке. Параметры размывания движения объекта указываются в диалоге Render Scene (вернитесь и посмотрите на рисунок 28.4). Когда вы начнете визуализацию, объекты, у которых свойства установлены для размывания, станут подвергаться данному эффекту.

Размывание движения объекта приводит к тому, что стек модификаторов объекта оценивается для каждой копии, созданной для размывания. В результате оживляемые параметры трансляции, вращения, масштаба и модификатор также оцениваются для каждой копии. Так например, при трансляции, вращении и масштабировании оживляемого согнутого цилиндра все три трансформации отражаются в копиях движения объекта. Анимация материала в копиях объекта не отражается. Если с объектом связано оживленный исказитель пространства, анимация исказителя пространства в копиях не отражается. Оживляемая гибкость связывания отражается (поскольку находится в стеке объекта).

Durafion Subdivisions

Значение поля Duration Subdivisions представляет число копий для визуализации в каждом кадре. Число, введенное в данное поле, играет критическую роль для успешного эффекта. Если число слишком маленькое, копии окажутся полностью раздельными - получится эффект под названием стробирование (strobing). Если число слишком велико, копии будут наползать одна на другую и результат окажется похож скорее на сплошную полосу, чем на размытое движение. Кроме того, визуализация копий размывания движения требует времени. Визуализация большего количества копий, чем необходимо, для длинной анимации приведет к потере значительного времени.

3DS МАХ налагает ограничение в шестнадцать копий. Вы можете высчитать подходящее начальное значение, воспользовавшись следующей формулой:

Duration Subdivisions >= (distance/size I/overlap

Ниже описаны переменные формулы:

  • Distance (расстояние). Расстояние, которое объект проходит с параметром Duration. Вообще говоря, если Duration установлен в 1.0, расстояние равно расстоянию, проходимому за кадр. Если Duration установлено в 0.5, расстояние равно расстоянию, проходимому за полкадра.
  • Size (размер). Длина объекта вдоль линии движения.
  • Overlap (перекрытие). Значение между .0 и 1, управляющее тем, насколь сильно копии перекрывают друг друга. Чем меньше значение перекрытия, тем больше копии перекрывают одна другую. Значение перекрытия обычно должно не превышать 0.5. Любое большее значение приводит к тому, что объекты будут казаться разделенными-

Рисунок 28.6 показывает размытый мяч со стробированием, являющимся результатом слишком маленького значения, введенного в поле Duration Subdivisions.

Экземпляры

Samples (экземпляры) управляют величиной прореживания, выполняемой для копий. По мере уменьшения данного значения экземпляры случайно выбираются из Duration Subdivisions. Чем ниже значение, тем меньше экземпляров выбирается, соответствуя менее дифференцированным объектам (выглядящим зернисто или разрежено). Самое нижнее допустимое значение 1 приводит к максимальному прореживанию. Максимально допустимое значение равно значению Duration Subdivisions и порождает больше копий, кажущихся полупрозрачными. Таким образом достигается более гладкий тип размывания.

Duration

Duration (продолжительность) управляет количеством движения, применяемым к визуализации каждого кадра. Руководство пользователя 3D Studio MAX описывает Duration как количество времени, в течение которого затвор камеры открыт. Обратитесь к предыдущему разделу "Duration Subdivisions", где приведено описание того, как вычислять расстояние, проходимое при данном значении поля Duration Subdivisions. Количество копий, заданное в поле Duration Subdivisions, распределяется по расстоянию, покрытому в количестве кадров, указанных в поле Duration. Значение Duration может быть меньше 1, что означает сжатие копий в расстояние, меньшее покрываемого одним кадром.

Интересное замечание относительно размывания движения объектов касается того, где размещаются копии. Копии распределяются по расстоянию, указанному значением Duration, и затем центрируются в позиции объекта в данном кадре. Это означает, что когда вы смотрите на размытый образ, порожденный размыванием движения объекта, настоящая позиция объекта находится в центре эффекта размывания. Рисунок 28.7 показывает неразмытый мяч, связанный с его размытым образом.

Размывание движения сцены

Размывание движения сцены применяет эффект, сходный с размыванием движения объекта, за исключением того, что эффект применяется ко всем объектам, движущимся между кадрами. При этом учитывается и движение камеры. Размывание движения объекта и размывание движения сцены можно применять одновременно.

Параметры размывания движения сцены

Размывание движения сцены применяется в Video Post. Им можно управлять через значения в диалогах Add или Edit Scene Event в области Scene Options (см. рис. 28.8).

Эффект размывания движения сцены включается флажком. При установленном флажке все объекты в виде событий Scene подвергаются эффекту размывания - включая материалы, но исключая карты Environment и родительские события, действующие в Scene, подобные композиции слоев или фильтрам. Поле Duration Subdivisions определяет количество копий для визуализации. Значение Duration работает одинаково как для размывания движения объекта, так и для размывания движения сцены. По умолчанию для размывания движения сцены Duration устанавливается в 0.5 или половину умалчиваемого значения размывания движения объекта. Такое значение предполагает, что размывание движения сцены будет стратегически привлекаться к созданию ощущения движения, включая явное движение камеры, происходящее в течение кадра (см. следующий раздел). В сочетании с размывание движения сцены доступна опция прореживания. Прореживание здесь является методом сглаживания краев между перекрывающимся избыточным цветом областей в кадре. Пикселы смешиваются так, чтобы края объектов казались слитыми друг с другом. Поле Dither % устанавливает процент прореживания, применяемый к копиям, созданным размыванием движения сцены. Значение 0 порождает полупрозрачные копии, а значение 100 полностью прореживает копии, порождая определенные края внутри размывания.

Копии размывания движения сцены

Где помещаются копии? Для достижения эффекта размывание движения сцены использует технологию, отличную от применяемой размыванием движения объекта. Как и в случае с размыванием движения объекта, копии распределяются вдоль проходимой дистанции, но они помещаются, начиная с текущей позиции объекта и распрострашнотся вперед до позиции объекта в следующем кадре. Другими словами, настоящая позиция объекта находится на замыкающем крае эффекта размывания, а само размывание распространяется вперед во времени к следующему кадру. Рисунок 28.9 показывает неразмытый мяч, совмещенный с образом размытой сцены.

Объединение размывания движения сцены и объекта

Лучший общий результат можно получить за счет объединения размывания движения объекта и размывания движения сцены. Используйте Scene Motion blur для обеспечения общего эффекта размывания и Object Motion blur для достижения дополнительного прореживания между копиями Scene Motion blur.

Объединяя Object Motion blur и Scene Motion blur, следует иметь в виду эффект, оказываемый на значение Duration. При объединении Object Motion blur и Scene Motion blur значение Duration применяется к расстоянию между копиями Scene Motion blur, а не к расстоянию между кадрами. Таким образом, когда объединяются эффекты размывания движения, то значение Duration Subdivisions для Object Motion blur должно быть низким, а значение Duration - обычно 1.0 или меньше.

Использование событий Image Input

Событие Image Input может содержать любой файл образа или устройство, поддерживаемое 3DS МАХ, включая файлы AVI, FLC, IFL, последовательно пронумерованные или единичные файлы битовых карт и файлы, размещенные на устройствах, подобных Digital Disk Recorder (DDR). Имя, формат параметров и положение образов сохраняется в 3DS МАХ файле -ив независимом файле VPX.

Для создания одного файла, который включает серии файлов с пронумерованными образами, следует использовать глобальные символы, идентифицирующие и генерирующие файл Image File List (IFL). Например, введите первые несколько символов имени серии файлов с последующей звездочкой. 3DS МАХ создаст файл, который начинается с желаемых символов, в конце разместит четырехзначный номер и в качестве расширения имени файла добавит IFL. Файл IFL автоматически разместится в том же каталоге, что и перечисляемые им файлы. Имя файла IFL загружается в диалог Event как входной файл, и метка события в очереди будет отражать его положение и имя. Если имеется анимация или файл списка, подобный IFL, AVI или FLC, количество кадров анимации будет появляться в трех местах: параметрах Video Post Start Time и End Time в Video Post, полях статуса в нижней части окна и линии диапазона для данного события, где кадры представлены графически.

Если необходимо установить специальное значение гаммы для битового образа, нажмите кнопку Gamma в Browse Images для диалога Input. Закладка Gamma диалога Preferences предоставляет возможность глобально корректировать Input Images. Для объединения с Video Post выделите в 3DS МАХ Preferences флажок Enable Gamma, установите правильно гамму дисплея и стратегически планируйте изменение гаммы в событиях Image Input и Output. Сказанное особенно верно при использовании образов, ассоциированных с устройствами, подобными DDR.

СОВЕТ

При редактировании события Image Input путем изменения информации в Browse Images поддиалога Input (например, положение, формат или параметры Gamma), 3DS МАХ будет устанавливать Video Post-параметры Start и End Time в значения по умолчанию- Можно потерять ряд очень точных параметров диапазона, поскольку параметры по умолчанию не только будут изменять общую длину диапазона, они вероятно удалят событие из относительного положения во времени, разместив событие в начале анимации. Наиболее консервативная практика заключается в отдельном хранении упорядоченного списка всех параметров, в частности параметров Video Post Start Time и End Time. Одна стратегия заключается в создании в очереди полностью нового автономного события, ссылающегося на значения параметров, которые необходимо редактировать. Используйте инструмент Swap для замены оригинала и инструмент Delete для его удаления вслед за Swap,

Во время визуализации имеется возможность выровнять и изменить размеры вводных образов. Если данные образы являются файлами анимаций или последовательностями, укажите, какие кадры включать. Подобное осуществляется путем ввода значений в диалог Add или Edit Image Input Event, поддиалог Options (см. том 2 Руководства пользователе. Композиционные эффекты, подобные размещению 2D-cмeщeннoй анимации на сцене, аккуратное размещение масок и вытягивание и сдавливание - все это можно получить при помощи данного приема.

СОВЕТ

Помните о том, что Alignment offsets to Custom Sized images обладает одной относительно непонятной характеристикой. Она проявляется тогда, когда размер Output в диалоге Execute Sequence является таким же, как размер Image Input, или размер, задаваемый полем Custom, совпадает с размером Output. Несмотря на то, что выбран Preset или введен Coordinate offset в области Alignment, 3DS МАХ будет центрировать выравнивание Image Input того же размера, что и Renderes Output. Обходной путь заключается в увеличении размера Rendering Output на один пиксел в каждом направлении или вводе пользовательского размера с разницей в один пиксел в диалог Image Input Options так, чтобы смещение исходного образа возымело действие.

Работа с фонами

Video Post не имеет непосредственного доступа к образу Background, который можно позиционировать во Viewport и использовать для ротоскопирования - конструируя сцену на фоновом образе. Существует несколько способов включения данного образа в визуализацию Video Post. Можно использовать механизм Environment для проецирования образа фона на карту Screen Environment. Зате"! образ включается в событие Scene в Video Post и соответствующим образом визуализируется. Однако, если необходимо использовать данный образ (или анимацию) в качестве композиционного элемента в Video Post, образ должен добавляться отдельно как событие Image Input. Если фон является анимацией, последняя синхронизируется с очередью, управляемой в диалоге Input Image Event/Options.

Вообще говоря, если вы не будете применять эффект к фоновому образу с использованием Material Editor или Environment (матовые или теневые материалы, например), то для позиционирования образа в качестве фона можно просто добавить фон как событие Image Input в Video Post, используя Alpha Compositor в событии Layer. Битовая обработка образа, подобного событию Video Post, весьма целенаправленна и занимает меньше времени при визуализации. Если фон статичен, образ при визуализации можно кэшировать и тем самым дополнительно сэкономить время визуализации. Обычно для этой цели конструируется событие Layer, объединяется фоновое событие Image Input с последующим событием Scene или другим Input Image с альфа-каналом.

Использование событий Filter и Layer

Как утверждалось ранее, события Filter и Layer попадают в широкую категорию событий Effects. Данные события обычно воздействуют на другие события (события Input - Scene и Image). Немного непонятно, как очередь обрабатывает эти эффекты, в частности порядок, в котором они обрабатываются, и способ, в соответствие с которым прозрачность используется в образе, содержащем альфа-канал. Здесь также следует визу-ализировать отдельные кадры сложных очередей в буфер Virtual Frame, наблюдая за изменением поля диалога Current Task (текущая задача). Наблюдение поможет понять порядок визуализации фильтров, масок и композитов.

СОВЕТ

Если удалить дочерний элемент событий Filter или Layer, родитель также удалится. При наличии нескольких вложенных событий удалится вся линия предков до корня или высшего уровня. Корневые разделы очереди можно скопировать, используя клавишу Ctrl и транспортируя корень в точку вставки в очередь. До того, как отпустить клавишу Ctrl, убедитесь, что нет подсвеченных событий. Нажмите клавишу и затем щелкните мышью на корне. Транспортируйте выборку в позицию вставки. Все дочерние элементы родителя будут скопированы в очередь. Если требуется просто заменить детей, добавьте в очередь новое дочернее событие как автономное, затем поменяйте его (используя инструмент Swap) с ненужным событием. Впоследствии автономное событие можно удалить или переименовать, не теряя иерархии.

Стратегии для использования событий Filter

События Filter применяются в Video Post для производства специализированных фотографических эффектов, подобных искажению объектива, постеризации (уменьшению количества цветов в образе), свечению, и других общих манипуляций с образом. Вообще и в частности с подключаемыми фильтрами Adobe Photoshop события Filter визуализируют эффекты во временный образ, предоставляя возможность обработать каждый пиксел в соответствии с установленными параметрами.

С подключаемыми фильтрами Photoshop появляется ограниченная возможность предварительного просмотра эффекта - либо с Video Post замещающим образом, либо с файлом, определенным пользователем. В любом случае способность предварительного просмотра точного влияния фильтра на события в очереди во время установки недоступна. Не забывайте координировать замещающий образ или образ, определенный пользователем, с Output Size очереди Video Post. Значение Output Size видно в последних двух полях Status в нижней части окна Video Post.

Использование событий Layer

События Layer предоставляют возможность комбинировать два события относительно друг друга. Например, событие Alpha Compositor Layer распознает значения прозрачности второго дочернего элемента так, что значения из первого дочернего элемента остаются видны. Поскольку одновременно можно наслаивать только два образа, нетрудно конструировать очень глубоко вложенные иерархии событий Layer. Процессом наслаивания очень трудно управлять, особенно когда события случаются "позже" в Video Post, но с иерархической точки зрения в очереди размещаются "перед" другими событиями. Поначалу может показаться нелогичным, например, что такое событие, как Simple Wipe Layer, для анимации в Tutorial 19 является родителем корневого уровня для других событий Layer, которые в Video Post времени идут раньше.

Это возвращает к метафоре проектора слайдов, описанной в главе ранее. В предыдущих обстоятельствах событие Simple Wipe Layer действует на два дочерних события Layer. Вместо этого возникало искушение разместить событие Simple Wipe Filler на. втором дочернем элементе, событии AlphaCompositor Layer, содержащем конечный заголовок. Но лампа проектора слайдов не смогла бы просветить непрозрачную часть события Simple Wipe Filter, поскольку данный фильтр не может распознавать альфа-прозрачности в своих детях. Фильтр не создает прозрачного окна ввиду того, что он "рисует" черноту из своих дочерних образов. Фильтр отрисовывает комбинацию черных пикселов из конца заголовочного образа и пикселы из непрозрачного композита. При визуализации Plate будет очищать вид, но Tower Scene окажется скрытым. Однако событие Simple Wipe Layer обладает свойством трансляции пустой дорожки в качестве прозрачной и "рисует" пикселы конечного заголовка по мере их вытирания. Лампа просвечивает сквозь Tower Scene до тех пор, пока не выполнится непрозрачное вытирание.

Управление Alpha

Файлы цветных битовых образов, такие как TARGA (TGA), имеют различные битовые глубины, например 8, 16, 24 и 32 разряда на пиксел. В 32-разрядном файле истинного цвета каждый пиксел в образе имеет четыре канала, описывающих образ - RGBA, т.е. Red-Green-Blue-Alpha. Три канала - Red, Green и Blue - охватывают источник создания полного спектра цветовых оттенков. Каналы Red, Green и Blue для описания каждого пиксела в образе используют по 8 бит памяти каждый (3 х 8 = 24 бита на пиксел). Например, чисто зеленый пиксел имеет значения RGB, составляющее 0, 255, 0. Каждый восьмиразрядный канал представляется числом 0-255, поскольку в строке из восьми битов существует 256 возможных комбинаций нулей и единиц (2х2х2х2х2х2х2х2).

Об Alpha в простейшей форме можно думать как о еще одном канале. Он представляет уровень прозрачности посредством еще 8 разрядов памяти для каждого бита образа. Предположим, что визуализируется плоский белый круг на черном фоне, используя для круга на 50% прозрачный материал. Когда Renderer сталкивается с пикселом, попадающим внутрь круга, то он записывает в 32-разрядный файл образа для этого пиксела значения 255, 255, 255, 128 или 8 разрядов для каждого канала. Данные значения уведомляют программу о необходимости отобразить пиксел в виде смеси красного полной интенсивности, зеленого полной интенсивности и голубого полной интенсивности (белый) и предоставить возможность каждому образу ниже данного пиксела быть на 50% видимым - т.е. черный фон, проглядывающий сквозь белый круг, породит серый. Достоинство подобного представления состоит в том, что теперь можно накладывать полупрозрачный круг на любой образ в Video Post, например на облачное небо, и видеть сквозь круг облака.

СОВЕТ

3D Studio MAX создает образы в файлах форматов TGA, RLA и PNG. При первом выводе в 3DS МАХ битового образа автоматически появляется диалог Setup. В диалоге предоставляется возможность определить, будет ли альфа-канал включаться в файл. 3DS МАХ запоминает последнюю установку, введенную для конкретного формата. В диалоге Browsing Image for Input можно выделить любой файл и нажать кнопку Info для просмотра деталей, связанных с файлом. Здесь можно быстро рассмотреть, содержит ли файл альфа-канал. Выбрав View, вы перенесете файл в буфер кадра и изучите альфа-канал.

В Video Post можно воспользоваться преимуществами альфа-канала внутри битовых файлов, указав параметры из событий Filter и Layer. Например, событие Alpha Composite Layer предоставляет возможность объединить два выделенных события путем распознавания альфа-канала второго из двух образов. Если вспомнить слайды, альфа можно считать непрозрачностью образов на слайде. Некоторые образы непрозрачны, другие же полупрозрачны или прозрачны.

Не все образы обладают информацией альфа - подобную возможность имеют только 32-разрядные файлы истинного цвета. По этой причине предоставляется широкий набор методов создания и использования альфа-информации для эффектов Video Post. Например, событие Pseudo Alpha Filter берет верхний правый пиксел RGB не-альфа файла и конвертирует все идентичные пикселы в образ с полностью прозрачным альфа.

В дополнение к способностям некоторых событий Layer и Fileter распознавать и использовать альфа-канал в файлах, па которые они непосредственно воздействуют, ряд событий обеспечивают механизм Mask, предоставляющий возможность использовать альфа-канал другого файла для формирования пользовательской области прозрачности (см. рис. 28.10). Здесь можно определить, как эффект Mask применяется в очереди. Имеется возможность инвертировать Mask и использовать другие каналы в буфере Graphics (G-буфере) для управления эффектом Mask.

В случае щелчка в диалоге на флажке справа от раздела Mask возникает список битовых каналов, один или все из которых могут содержаться внутри исходного образа. Это те каналы, которые 3DS МАХ поддерживает в настоящее время для целей создания маски. 3DS МАХ может выводить файлы как с 16-разрядными каналами RGBA, так и уникальные 3D-KaHanbi, подобные Z-буферу и каналам идентификации объекта или материала. Механизм маски использует некоторые из уникальных каналов для создания своих эффектов. Наиболее распространена маска Alpha-канала. Она создаст маску из альфа-канала исходного битового образа.

Если в качестве исходных данных для маски выбирается канал Red, Green или Blue, то маску формирует двоичное значение (0-255) каждого пиксела данного канала, где 0 ~ полностью прозрачен и 255 - полностью затемнен. Точно так же для создания маски можно использовать информацию глубины Z-буфера или канальных идентификаторов материалов и объектов в исходных файлах RLA. Например, можно вывести маски, созданные 3DS МАХ для файла типа RLA, и реализовать их позже в композициях Video Post.

Можно использовать уникальную способность 3DS МАХ порождать трехмерные маски. Предположим например, что имеется ландшафт, похожий на файл образца wheatfld.tga. Требуется поэкспериментировать с трехмерным объектом, появившимся в небе. Используя следующую технологию, можно смешивать и сопоставлять объекты и текстуры без проецирования материалов.

Прежде всего добавьте к очереди Video Post два события Image Input. В качестве первого входа добавьте образ ландшафта. В качестве второго - образец карты текстуры - например, asphalt2.jpg. У карты текстуры пет альфа-канала, но путем применения к карте текстуры фильтра Image Alpha и идентифицируя маску фильтра, состоящую из информации Z-буфера специального битового файла (RLA), можно объединить текстуру с ландшафтом, используя Alpha compositor (Layer Event). Фактически вы проецируете трехмерную текстуру на фоновый ландшафт.

Применяя нашу прежнюю аналогию с проектором слайдов, данная очередь создает специальный слайд (текстуру с фильтром маски). Когда свет от лампы проектора просвечивает специальный слайд, свет блокируется трехмерным образом (объектом текста). Фильтр Alpha Image создает альфа-канал для текстуры, состоящий из специальной маски и объекта текста, который визуализирован 3DS МАХ в файл RLA. Используя в качестве маски канал Z-буфер файла RLA, фильтр Alpha Image рисует на слайде трехмерную текстуру. Лампа проецирует свет только как часть текстуры, замаскированной в соответствии с глубиной объектной информации в исходном файле RLA. Событие Alpha Compositor Layer применяемое к двум образам Input, использует проекцию фильтрованной текстуры (распознавая Image alpha текстуры) для объединения маски и битовой карты ландшафта. Рисунки 28.11 и 28-12 демонстрируют образ, используемый для маски Z-буфера, и окончательный комбинированный образ.

Использование событий Loop и External

События Loop обеспечивают повторение кадров и реверсирование направления (пинг-понг) отдельных дорожек и целых последовательностей. Хотя ограниченное зацикливание доступно и в событиях Image Input, можно использовать событие Loop для зацикливания композиций и создания тем самым необычных образов и движения.

Для примера предположим, что к очереди добавлено событие Scene, состоящее из 100 кадров, и требуется, чтобы событие повторялось трижды. Если изменить VP End Time на 299, анимация просто остановится на кадре 99 и Video Post будет визуализировать кадр 99 для оставшейся длины линии диапазона. Вспомните, что при изменении Scene Range на значение, отличающееся от Video Post Start и End Times, Video Post добавляет или сбрасывает кадры, создавая тем самым эффекты медленного или быстрого движения. Таким образом единственным способом повторения события Scene, отличным от многократного добавления сцены в очередь и соединения дорожек Event, заключается в использовании события Loop. Задействуйте событие Loop для управления началом и концом повторяющихся кадров, транспортируя линейку диапазона относительно его дочернего события. Поэкспериментируйте с данной возможностью для достижения интересных циклов и эффектов пинг-понг.

Как упоминалось ранее, события Input Image будут зацикливаться при установленном флажке Loop диалога Options. В противном случае Input Image будет вести себя подобно событию Scene, повторяя последний кадр в течение линии диапазона Video Post.

Посредством события External появляется возможность вставки в очередь Video Post других приложений или собственных пакетных файлов. Это то, как обычно будут обрабатываться события Output с использованием конвертирующего приложения, которое принимает параметры командной строки, например Image Alchemy или PKZIP. Здесь также можно разместить обработку, записывающую файлы, используемые в последующих событиях. Для приложений DOS, подобных PKZIP, обязательно создавайте файлы PIF и используйте их в качестве файлов событий External.

Управление Composite Output

В общем случае события Output являются автономными событиями в очереди и как правило последними. Множественные выводные события можно использовать для одновременного порождения последовательных файлов и цифровой анимации, например AVI-файлов. В отличие от событий типа Input или Effects, воздействующих на другие события, событие Output становится дочерним по отношению к событию, на которое воздействует. А раз так, оно будет записывать файл, объединяющий информацию, которая была обработана до точки в очереди, в которой размещен родитель. Эта точка может, например, представлять неполную композицию альфа. Добавление событий Output в очередь подобно вставке лампы в проектор слайдов в середине стопки слайдов. Слайды (события), попадающие за пределы лампы, никогда "не увидят света".


ГЛАВА 29

Сетевая визуализация

3D Studio MAX обладает возможностью использовать всю мощь сети для визуализации анимации на нескольких компьютерах - это носит название сетевой визуализации. Посредством 3DS МАХ можно использовать одну копию для визуализации на 10000 компьютеров без дополнительного программного обеспечения или затрат. Лучше всего 3DS МАХ интегрируется с сетью NT и ее системой безопасности, что позволяет получить устойчивое к ошибкам решение. Если в середине работы напряжение исчезнет, 3DS МАХ после восстановления напряжения сможет продолжить визуализацию в точности с того места, где она была приостановлена.

Многие компании для целей визуализации выделяют целую группу компьютеров, которые в этом случае носят название "визуализационной фермы". В зависимости от масштаба компании диапазон размеров подобного рода ферм колеблется от двух единиц до двух сотен компьютеров. При сетевой визуализации один компьютер можно использовать для пакетной обработки. Перед уходом вечером домой можно поставить в очередь несколько заданий и 3DS МАХ по очереди их выполнит.

Сетевая визуализация для корректной работы требует Windows NT с установленными сетевыми драйверами и минимальной инсталляции 3DS МАХ. Однако для сетевой визуализации нет необходимости регистрироваться в компьютере.

В настоящей главе будет показано, как настроить сетевую визуализацию на различные типы сетевых топологий и как эксплуатировать различные компоненты сетевых возможностей 3DS МАХ.

В главе исследуются следующие темы:

  • Протокол TCP/IP
  • Настройка TCP/IP на компьютере
  • Компоненты 3DS МАХ для сетевых работ: Manager, Server и Queue Manager
  • Настройка 3DS МАХ на сетевую визуализацию
  • Визуализация задания
  • Диалог Job Assignment
  • Сетевая визуализация в файлы FLC и AVI

3DS МАХ задействует задание-базированную (job-based) сетевую систему визуализации. Если два задания на визуализацию приписаны одному компьютеру, использующему данную систему, то компьютер подхватывает новое задание сразу же после завершения предыдущего. При сервер-базированной визуализации задание, которое может визуализироваться на нескольких компьютерах, в завершении не нуждается. Сервер-базированная система полезна, если пользователь посылает однокадровые задания, требующие многочасовой визуализации. Если другие серверы простаивают, они подхватывают любые новые приходящие задания. То же делает и визуализирующий компьютер после завершения задания. В задание-базирован но и системе подобная работа оказалась бы невозможной, поскольку первое задание должно было бы выполниться до того, как следующее начало обрабатываться сетевой системой визуализации.

Следующий раздел освещает другие фундаментальные понятия, которые необходимо знать, прежде чем начинать работу с сетевым механизмом 3DS МАХ.

Основы сетевой работы

До начала визуализации с привлечением сетевых возможностей 3DS МАХ следует запустить на выполнение несколько базовых компонентов среды Windows NT. На компьютере, который планируется использовать для сетевой визуализации, необходимо иметь привилегии администратора. Без таких привилегий скорее всего не будет возможности установить сетевые драйверы для NT и тем более - их запустить. Следующие разделы описывают компоненты, которые требуется инсталлировать и конфигурировать для успешного выполнения сетевой визуализации.

Протокол TCP/IP

TCP/IP является сокращением от Transmission Control Protocol/Internet Protocol (протокол управления передачей/межсетевой протокол). Сетевой протокол представляет собой "язык", позволяющий двум или более компьютерам "разговаривать" друг с другом. TCP/IP является одним из многих типов протоколов, используемых в сетях. Например, компьютеры в Novell-базированной сети применяют другой тип протокола - IPX. Протоколы являются языками, на которых компьютеры "общаются" друг с другом. Компьютеры могут одновременно использовать множество протоколов. Например, NT-базированный протокол может получать доступ к серверам Novell NetWare, Microsoft Windows и UNIX в одно и то же время, задействуя совершенно разные протоколы. Таким образом ваш PC имеет доступ ко всем типам компьютеров, а не только к IBM-совместимым. Вы не можете использовать несколько экземпляров протоколов одновременно, в основном потому, что нет такой нужды. После того, как протокол инициализирован компьютером, он может взаимодействовать с произвольным числом компьютеров. Вам не нужен один и тот же протокол для каждого компьютера, с которым происходит обмен информацией. Благодаря своей универсальности как сетевого стандарта, особенно в Internet, в качестве протокола для системы сетевой визуализации 3DS МАХ был выбран TCP/IP.

Для разговора с любым другим компьютером TCP/IP применяет IP-адрес. IP-адрес является серией цифр, представляющих компьютер в сети TCP/IP. Например, TCP/IP адрес вашего компьютера может выглядеть так;

192.144.92.143

Все TCP/IP-адреса используют четырехзначную комбинацию для определения компьютера в сети, при этом каждый компьютер для правильной работы должен иметь уникальный адрес. Каждый из четырех наборов чисел после объединения представляет специальный адрес. Считайте его номером дома, города, штата и почтовым кодом вашего компьютера. Windows NT способна обнаруживать другие компьютеры в сети, использующие такой же адрес, и предупреждать, что по этим причинам протокол не был загружен. Для исправления ситуации следует поддерживать уникальность адресов. Большинство сетей применяют одну из двух систем адресации TCP/IP: DHCP (Dynamic Host Configuration Protocol - протокол динамической конфигурации хост-компьютеров) или фиксированные адреса.

DHCP динамически присваивает компьютеру новый адрес при каждом новом подключении к сети. Таким образом компания может иметь пул IP-адресов, которые подкачиваются и разгружаются из компьютерной системы в сети. DHCP полезна в случаях, когда компания работает с множеством подсетей, каждая из которых использует одни и те же адреса. Пользователь может переместиться в любую подсеть и всегда иметь действительный TCP/IP-адрес.

При использовании DHCP нет необходимости в ручном конфигурировании адреса. Однако DHCP не рекомендуется для сетевой визуализации 3DS МАХ, поскольку 3DS МАХ должна знать адрес визуализирую-щего компьютера и все время его использовать. Адрес нельзя изменять автоматически. Фактически, если необходимо получить достаточное быстродействие от сетевой визуализации, следует вообще избегать DHCP.

Фиксированные адреса являются предпочтительным методом сетевой визуализации в 3DS МАХ. Фиксированные адреса остаются назначенными данному компьютеру независимо от того, кто и когда подключается.

Настройка TCP/IP на компьютере

Все сетевые параметры для Windows NT 3.51 и 4.0 находятся в диалоге Network Settings. Через этот диалог устанавливаются и конфигурируются сетевые платы и протоколы. Для получения доступа к параметрам сети вашего компьютера щелкните дважды на пиктограмме Control Panel в группе программ Main и затем дважды щелкните на пиктограмме Network для Windows NT 3.51. Для Windows NT 4.0 щелкните на кнопке Start на панели задач и выполните Settings/Control Panel. Когда появится диалог Control Panel, дважды щелкните на пиктограмме Network. Возникнет диалог Network Settings (см. рис. 29.1).

Если компьютер еще не содержит протокол TCP/IP, его следует добавить. Windows NT распространяется с версией TCP/IP Microsoft. Протокол Microsoft TCP/IP полностью совместим с системой визуализации 3DS МАХ, поэтому выбирать необходимо именно его.

ПРИМЕЧАНИЕ

Windows NT требует полной инсталляции протокола TCP/IP, Можно установить протокол без добавления адреса, однако это создаст проблемы для 3DS МАХ. Если у вас нет адреса TCP/IP, полученного от сетевого администратора, лучше всего не торопиться с установкой служб сетевой визуализации. Кроме того, убедитесь, что под рукой имеется инсталляционный компакт-диск Windows NT или дискеты, поскольку они понадобятся при установке TCP/IP.

Прежде всего щелкните на вкладке Protocols. Посмотрите, находится ли в списке протокол TCP/IP. На рисунке 29.2 показан компьютер с установленным TCP/IP. Если протокол уже установлен, повторно его устанавливать не следует. Если TCP/IP в перечне отсутствует, добавьте его, щелкнув на кнопке ADD и выбрав из списка протокол TCP/IP. NT запросит различную конфигурационную информацию и затем установит протокол.

СОВЕТ

TCP/IP конфигурируется правильно, если во время настройки Windows NT не сообщает об ошибке.

IP-адресация в замкнутой сети

Замкнутая сеть представляет собой группу компьютеров, которые не соединены с главной сетью компании - той сетью, в которой компания выполняет основную работу. Это является идеальной ситуацией для сетевой визуализации 3DS МАХ, поскольку снижается вероятность превышения сетевого трафика и потенциальных конфликтов IP-адресов.

При использовании компьютера в замкнутой сети адрес TCP/IP должен быть уникальным. Не имеет значения, какой это номер. Однако наиболее корректно использовать шаблон адресов, позволяющий быстро идентифицировать компьютер по его адресу. Например, в сети из 10 компьютеров, где для сетевой визуализации используются все 10, компьютер номер 8 может иметь адрес 192.144.100.8, где 8 и является главным отличительным числом. Все компьютеры разделяют три одинаковых первых числа, а варьироваться будет только последний номер. 3DS МАХ предпочитает, чтобы использовался IP-адрес, который начинается со 192 и следует некоторым общим соглашениям. Рисунок 29.3 показывает распространенную настройку TCP/IP.

ПРЕДУПРЕЖДЕНИЕ

Избегайте использования в адресах числа 0 или 255. Число 0 зарезервировано для компьютеров, которые не знают своего адреса, а 255 используется для трансляции сообщений.

ПРИМЕЧАНИЕ

Адресация в замкнутой сети также применима к настройке одного компьютера. Для выполнения сетевой визуализации МАХ на единственной машине в качестве сетевого адаптера установите Microsoft Loopback в диалоге NT Network Setup.

Затем установите маску Subnet (подсети). Значение маски Subnet должно равняться 255.255.255.0. Для такого назначения нет особых причин, за исключением удобства. По умолчанию, если в IP-адресе используется префикс 192, NT автоматически назначает маске Subnet 255.255.255.0. Если по какой-либо причине необходимо изменить маску, все другие компьютеры, применяемые для сетевой визуализации, также должны ее поменять. Для того, чтобы два компьютера "разговаривали", используя сетевую визуализацию, у них должна быть одна и та же маска Subnet.

Если для конфигурирования нет других специальных сетевых параметров, инсталляция протокола TCP/ IP на этом завершается. Перезагрузите компьютер и процесс завершен.

IP-адресация в главной сети

Если планируется совмещение работы в главной сети компании, следуйте тому же процессу настройки, что и для замкнутой сети. Однако при установке протокола TCP/IP следует принять во внимание несколько дополнительных соображений. Если компания уже использует TCP/IP (а так обстоит дело с большинством компаний), у сетевого администратора потребуется получить уникальный IP-адрес. Он может предоставить действительные адреса для любого количества компьютеров, которые планируется использовать для целей визуализации.

ПРЕДУПРЕЖДЕНИЕ

Настраивая ферму сетевой визуализации на главную сеть компании до изменения любых параметров сети настоятельно рекомендуется проконсультироваться с сетевым администратором. Часто существуют особые конфигурационные проблемы, специфичные для сети, о которых знает только сетевой администратор. Изменение сетевых параметров может повлиять не только на доступ к сети вашего компьютера, но и всех остальных компьютеров, присоединенных к сети.

Более чем вероятно, что имеется маска Subnet, отличная от предпочтительной для 3DS МАХ 255.255.255.0. Если так, обеспечьте, чтобы все остальные компьютеры, используемые для сетевой визуализации, имели одинаковое значение маски.

Сетевая визуализация в 3D Studio MAX не предназначена для выполнения в сети, использующей DHCP. Если сеть динамически распределяет IP-адреса для компьютеров, попросите администратора о выделении для работы фиксированного диапазона адресов.

Настройка фермы визуализации на сеть масштаба компании, как вы уже догадались, несколько сложнее, чем решение в замкнутой сети. Кроме дополнительной головной боли от конфигурирования, имеется потенциал для значительного возрастания сетевого графика и, следовательно, замедления общей пропускной способности. Во избежание любых конфликтов проконсультируйтесь со своим сетевым администратором по поводу процесса настройки.

Компоненты сетевой визуализации 3DS МАХ

Для инициирования сетевой визуализации необходимо иметь три главных компонента, установленных из 3DS МАХ. Первый из них очевиден - последняя инсталляция 3DS МАХ. Остальные два компонента - это комбинация Manager и Server с Queue Manager. Все компоненты поступают с 3DS МАХ,

ПРИМЕЧАНИЕ

Все компьютеры, принимающие участие в сетевой визуализации, должны иметь установленную и авторизованную систему 3DS МАХ.

Менеджер и сервер

В каталоге 3D Studio MAX есть две программы, которые не инсталлировались в виде пиктограмм в группу программ Kinetix - Manager и Server. Обе программы предназначены для запуска как в окне MS-DOS, так в качестве служб NT.

Программа Manager устанавливает компьютер как конечный делегатор и регулятор сетевых задач визуализации. Компьютер, который выполняет Manager, обладает всей полнотой контроля над задачами сетевой визуализации. Главная роль менеджера заключается в наблюдении за делегированием кадров каждому компьютеру, принимающему участие в задании сетевой визуализации. Manager также поддерживает список работ, представленных на выполнение и ожидающих, и воздействует на них при завершении очередной работы. Manager выполняется только на NT-базированном компьютере и должен иметь фиксированный адрес TCP/IP.

Программа Server позволяет компьютеру действовать в качестве ведомого визуализации (rendering slave). Сервер принимает задания на визуализацию кадров от Manager. Когда задание от Manager получено, Server запускает 3D Studio MAX в специальном серверном режиме. В таком режиме выполнения пользователь не может запустить другой сеанс 3DS МАХ. Однако имеется возможность указать, сможет ли пользователь через службы панели управления наблюдать, что 3DS МАХ выполняет сетевую визуализацию.

Сервер можно запускать на компьютере, выполняющем Manager. Таким образом сетевая визуализация будет происходить на одном компьютере или ресурсы компьютера Manager будут использованы для ускорения сетевой визуализации на другом компьютере.

Queue Manager

Наиболее интерактивная часть сетевой визуализации сосредоточена в Queue Manager (диспетчере очереди). Пиктограмма программы устанавливается в группе программ Kinetix вместе с 3DS МАХ. Внутри Queue Manager вы обладаете полным управлением процессом сетевой визуализации - от просмотра каждого задания, посланного Manager, до реорганизации задач. Queue Manager не обязан запускаться ни на каком компьютере, принимающем участие в сетевой визуализации. Он просто должен быть запущен где-то в сети, возможно даже на удаленном узле. Вообразите, что вы уходите вечером домой и дома можете контролировать и управлять сетевой визуализацией. При наличии удаленного подключения это возможно.

Настройка 3DS МАХ на сетевую визуализацию

После того, как компьютер правильно сконфигурирован для работы в сети, вы готовы установить систему сетевой визуализации 3DS МАХ. Следующие разделы описывают, какие файлы должны присутствовать в каталогах 3DS МАХ. Вы также узнаете, как инсталлировать систему сетевой визуализации вместе с 3DS МАХ или, если 3DS МАХ уже установлен, то как конфигурировать сетевую визуализацию с учетом установки 3DS МАХ.

Каталоги 3DS МАХ

Что должно иметься в каталоге 3DS МАХ для сетевой визуализации? Необходимы три каталога - главный каталог 3DS МАХ, каталог Stdplugs и каталог Network. Основные ненужные элементы - это карты, поступающие с 3DS МАХ и учебные файлы.

Главный каталог

Благодаря компонентной архитектуре 3DS МАХ программа состоит из нескольких частей, записанных в установленном каталоге. Большая часть критических компонентов программы находится ,в каталоге 3DS МАХ, включая файл 3dsmax.exe и его основное дополнение core.all. Ряд других компонентов расположен в каталоге Stdplugs.

Каталог Stdplugs (Standard Plug-Ins)

Поскольку 3DS МАХ при выполнении специальных задач полагается на стандартные подключения, необходимо иметь данные файлы под рукой, если планируется установка станции сетевой визуализации. Данные файлы включают вещи, подобные визуализатору и геометрическим примитивам.

Каталог Network

Каталог Network содержит все центрально расположенные управляющие файлы сетевой визуализации. Сетевой каталог на управляющем компьютере содержит список текущих зарегистрированных серверов. Он также содержит файл под названием manager.ini - файл инициализации, который программа менеджера использует для самонастройки на корректные сетевые параметры. Здесь же содержатся все значения параметров по умолчанию. Manager.log содержит историю взаимодействия менеджера с системой сетевой визуализации. Его можно использовать для слежения за производительностью менеджера и назначенными ему задачами. Поскольку manager.log - это просто текстовый файл ASCII, имеется возможность его просматривать или печатать посредством утилиты Notepad из Windows NT.

Сетевой каталог сервера в основном содержит назначенное ему текущее задание. Это может быть как файл МАХ, так и любые связанные карты. Здесь можно найти файлы server.ini и server.log. Server.ini содержит всю определенную для сервера информацию, а также кто его менеджер. В разделе инсталляции имеется полное описание опций server.ini. Server.log очень похож на manager.log. Он содержит все задачи, посланные на сервер и стартовые и завершающие операции сервера.

Подключаемые приложения от независимых разработчиков и сетевая визуализация

Ввиду того, что 3D Studio MAX является компонентно-ориентированной системой, возникают случаи, когда необходимо инсталлировать подключаемые приложения от независимых разработчиков на производственный компьютер, а не на саму визуализационную ферму. 3DS МАХ не знает о том, какое подключаемое приложение вы намереваетесь использовать для сетевой визуализации, следовательно необходимо выполнить копию каждого подключаемого приложения от независимых разработчиков, установленного в каждой системе сетевой визуализации. Многие коммерческие подключения для 3DS МАХ используют схему авторизованной защиты. В таком случае следует вызывать разработчика и авторизовать подключение на каждой машине, на которой предполагаете использовать подключение. И за каждый вызов необходимо платить. Однако большинство разработчиков подключаемых приложений разрешают устанавливать копию приложения на каждый компьютер. Даже если подключаемое приложение не авторизовано, то к нему есть доступ для целей визуализации - типичная ситуация для любой визуализационной фермы.

Установка сетевой визуализации 3DS МАХ

Для установки механизмов сетевой визуализации 3DS МАХ необходимо выполнить опцию Custom setup. Для случая сервера визуализации можно также не устанавливать файлы образцов и учебных пособий. Если вы нс планируете выполнять 3DS МАХ для чего-либо, кроме сетевой визуализации, нет необходимости устанавливать драйверы Sentinel Pro. Типичный компьютер для сетевой визуализации требует около 15 Мб дискового пространства. Рисунок 29.4 показывает шаги, связанные с надлежащей настройкой компьютера.

ЕСЛИ выбрана установка программы Server, в процессе инсталляции будет выдана подсказка о необходимости ввода имени управляющего компьютера. В этот момент следует ввести имя управляющего компьютера или IP-адрес.

ПРИМЕЧАНИЕ

В имени компьютера для сетевой визуализации 3DS МАХ нельзя использовать тире или

СОВЕТ

Обязательно имейте под рукой дискету сериализации 3DS МАХ. Она потребуется для завершения процесса инсталляции. Без сериализации 305 МАХ работать не будет.

После ввода имени менеджера появится подтверждение введенной информации и начнется процесс инсталляции. В этот момент 3DS МАХ будет устанавливать Manager и Server как службы NT. Когда инсталляционный процесс завершится, перестартуйте компьютер для инициализации программ Manager или Server. Теперь вы готовы начинать сетевую визуализацию, используя данный компьютер. Переходите к настройке раздела INI.

Установка Manager и Server после 3DS МАХ

Даже если вы не указывали инсталляции компонентов сетевой визуализации для 3DS МАХ, они все равно копируются на жесткий диск. Единственная разница заключается в необходимости ручной инициализации Manager или Server или и того и другого. Другая возможность заключается в повторном запуске программы инсталляции и установке только сетевых компонентов. В таком случае просто выполните шаги, описанные в предыдущем разделе. То, что описано здесь, показывает, как инициализировать компоненты сетевой визуализации вручную. Выполняемые действия иллюстрируются на рис. 29.5.

  1. Запустите сеанс MS-DOS.
  2. Перейдите в каталог установленного 3DS МАХ.
  3. Для визуализационного сервера введите server -d. Для визуализационного менеджера - manager -di

И Manager и Server могут выполняться как службы Windows NT. При возникновении такой необходимости их следует запустить еще раз, но с опцией -i для установки в служебной группе. В противном случае Manager и Server будут выполняться в окне DOS, известном как режим Desktop. Выполнение в режиме Desktop приемлемо и часто предпочтительно для новых пользователей.

Независимо от выбранного метода инсталляции создается каталог Network и, в зависимости от того, что устанавливается, создаются два файла ~ server.ini и manager.ini. За исключением нескольких параметров редактировать эти файлы не придется, разве что в экстраординарных ситуациях. Однако, в следующих разделах описывается значение различных параметров и указано, нужно ли их редактировать.

Параметры server.ini

Файл server.ini, показанный на рисунке 29.6, возможно наиболее критичный для процесса сетевой визуализации. Данный файл уведомляет визуализирующий компьютер Server о том, где искать Manager и что самое главное - где искать задания на визуализацию. Ниже приведено обсуждение параметров, содержащихся в разделах файла server.ini.

Network configuration

Параметр Manager - самый критичный параметр в данном файле. Здесь можно указать только два значения: адрес TCP/IP или имя компьютера. Любое из значений должно быть именем или адресом менеджера сетевой визуализации. Без правильной информации компьютер не сможет принимать участие в сетевой визуализации.

Номер версии определяет выполняемую версию программы Server. Номер выражается в сотнях: если версия 100, то на самом деле - это версия 1.0. Редактировать данное значение нет необходимости, поскольку оно не оказывает влияния на сетевую визуализацию.

Номер порта (Port) относится к "каналу", на который настроен сервер. Номер порта должен быть одинаковым для всех серверов, "говорящих" с одним и тем же менеджером. Единственная причина изменения данного номера состоит в том, что другая программа в сети использует такой же номер порта. Если так, иногда лучше изменить номер порта в программе, нежели менять его во всех серверах.

Manager Port похож на номер порта для сервера за исключением того, что он должен совпадать со значением Manager Port, определенном в файле manager.ini. И в данном случае значение менять не приходится, если только другая программа не использует такой же номер порта.

Timers

Acknowledgement Timeout - это время в секундах, которое сервер ждет после посылки сообщения, например такого, как значение завершенного кадра. Значение по умолчанию равно 20 секундам.

Acknowledgement Retries представляет собой число раз, которое сервер повторяет запрос после истечения времени сообщения. Если количество повторений, указанное в данной переменной исчерпано, сервер помечает опрашиваемый компьютер как неисправный и не производит дополнительных попыток связи с ним. По умолчанию выполняется шесть повторений.

ПРИМЕЧАНИЕ

Две данных переменных должны быть одинаковы в файлах server, ini и manager, int. Если это не так, вряд ли Manager и Server смогут успешно взаимодействовать.

Мах Rendering Timeout представляет собой значение, выраженное в секундах, за которое сервер должен завершить назначенный кадр. Если кадр в указанное время не завершен, сервер помечается менеджером как неисправный и кадр переназначается другому серверу. В случае визуализации большой сцены с учетом временных требований, превышающих три часа, следует увеличить данное значение. По умолчанию оно равно 14400 секунд или четыре часа.

ПРЕДУПРЕЖДЕНИЕ

Установка Мах Rendering Time в любое значение, меньшее одного часа, потенциально опасна. Если кадр не визуализировался в течение указанного времени, 3DS МАХ автоматически переназначает его другому компьютеру - даже если асе правильно! Сохраняйте значение как минимум один час, даже если кадры занимают всего 10 минут.

Мах Loading Timeout определяет максимальное время, выраженное в секундах, которое требуется на запуск 3D Studio MAX на сервере после того, как сервер уведомил о получении задачи на визуализацию. Если 3DS МАХ не стартовал в указанное время, кадр автоматически переназначается другому компьютеру. Чрезмерная пауза обычно возникает в одном из двух случаев: либо 3DS МАХ не авторизован для сервера, либо не были сконфигурированы видеодрайверы. По умолчанию значение составляет 300 секунд или 5 минут.

Debug (отладка)

Значение Level задает количество информации, предоставляемое пользователю, когда Server выполняется в окне DOS. Данное значение не оказывает влияния, когда Server выполняется как служба NT. Кроме того, значение Level не влияет на то, какой информацией обмениваются Manager и Server. Если значение параметра установлено в 0, то фактически никакой информации в окне DOS нс отображается, тогда как значение 255 приводит к отображению всей возможной информации. Нс редактируйте данное значение, если поступающие на экран сообщения не становятся слишком раздражающими. Сообщения часто выводят полезную информацию, помогающую решить проблемы настройки сетевой визуализации. По умолчанию значение равно 255.

Archive

Значение Command представляет программу архивирования, которая используется для декомпрессии карт при выборе опций Use Maps. Данная программа должна совпадать с программой архивирования, указанной в файле 3dsmax.ini.rio умолчанию это pkunzip.

Значение Options устанавливает любую опцию для программы архивирования. Помните, что сетевая визуализация в основном не сопровождается, поэтому установите любые опции здесь, чтобы программа архивирования не запрашивала пользовательский ввод. В противном случае компьютеры будут то и дело останавливаться в ожидании ответов на простые вопросы. Какие именно опции требуются программе архивирования можно увидеть, запустив программу с указанием -? или /? после имени.

Параметры Manager.ini

Как и server.ini, manager.ini играет существенную роль для правильного выполнения программы Manager. Он содержит множество таких же или подобных параметров, которые содержатся в файле server.ini, и вероятно изменять их не придется. Файл manager.ini, показанный на рисунке 29.7, обычно не редактируется, поскольку параметры менеджера остаются постоянными. Если возникают серьезные проблемы с визуализацией, изменяйте только нижеперечисленные значения.

Network Configuration

Номер версии определяет выполняемую версию программы Manager. Данный номер выражается в сотнях. Так, если версия равна 100, то на самом деле это версия 1.0. Нет необходимости редактировать данное значение, поскольку оно не оказывает никакого влияния на сетевую визуализацию.

Номер Server Port ссылается на "канал", по которому, как ожидает Manager, все серверы будут обмениваться информацией. Номера портов в файлах server.ini и manager.ini должны быть одинаковыми. Единственная причина изменения данного номера состоит в том, что другая программа в сети может уже использовать такой номер порта. В этом случае лучше изменить номер порта в программе, нежели менять его во всех серверах. Значение по умолчанию равно 1700.

Manager Port является каналом, на который настроен Manager. Каждый файл server.ini должен иметь одно и то же значение Manager Port. В противном случае Manager и Server не смогут обмениваться информацией. Как видите, изменение номеров портов в ini-файлах менеджера и серверов может оказаться трудоемкой задачей. Другими словами, не изменяйте их никогда, за исключением экстремальных ситуаций. Значение по умолчанию равно 1708.

Мах Block Size касается размера "кусков" данных, называющихся пакетами, которыми обменивается Manager и Server. Изменяйте данный параметр только в случае, когда возникают проблемы с постановкой заданий на выполнение по телефонной линии или по какому-либо другому медленному соединению. Чем меньше значение Мах Block Size, тем меньше данных включается в каждый пакет и тем проще и быстрее пакеты обрабатываются модемом. Значение по умолчанию равно 32Кб. В случае возникновения проблем попытайтесь уменьшить это число.

Timers

Acknowlegement Timeout представляет собой время в секундах, которое менеджер ожидает после посылки сообщения, например такого, как значение присвоенное кадру- По умолчанию параметр равен 20 секундам.

Acknowlegement Retries является числом повторений, которое выполняет сервер после истечения срока посылки сообщения. После повторения обращения столько раз, сколько указано в данной переменной, менеджер помечает виновный компьютер как неисправный и больше не пытается вступать с ним в контакт. В этот момент для повторной попытки соединения следует использовать клиент менеджера очереди. По умолчанию делается шесть повторений.

ПРИМЕЧАНИЕ

Описанные выше переменные должны быть одинаковы в server.ini и в manager.ini. Если они не синхронизированы, то велики шансы того, что программы Manager и Server не будут корректно взаимодействовать.

Значение Wait for 3DS МАХ to load полезно, если вы наблюдаете за увеличением или уменьшением количества времени, разрешенного 3DS МАХ на загрузку на сервере, после того как серверу назначено задание. Если предоставлять на выполнение большие проекты медленным компьютерам, это значение следует увеличить. Единицей измерения является секунда. Пауза исчерпывается тогда, когда по каким-либо причинам 3DS МАХ не загружается на сервере. Наиболее частая причина заключается в неавторизованной версии 3DS МАХ или отсутствии карт.

Ожидание выгрузки 3DS МАХ (Wait for Unload) похоже на параметр Wait for Load. Параметр предназначен для того, чтобы серверу не назначались новые задания, если он не завершил работу нормально, до тех пор, пока он не будет каким-то образом исправлен. Значение по умолчанию в 60 секунд удовлетворяет большинство сетей.

Debug

Значение Level указывает на то, сколько информации предоставляется пользователю когда Manager выполняется в окне DOS. Значение особой роли не играет, если Manager выполняется как служба NT. Кроме того, значение не влияет на то, какой информацией обмениваются Manager и Server. При нулевом значении параметра в окне DOS фактически не отображается никакой информации, тогда как значение 255 приводит к показу всей информации. Не редактируйте данный параметр, если сообщения, поступающие на экран, не становятся чрезмерно раздражающими. Сообщения часто несут полезную информацию, помогающую устранить проблемы с настройкой сетевой визуализации. Значение по умолчанию равно 255.

Operation

Concurrent Job Assignment определяет количество активных заданий, которые менеджер может обрабатывать одновременно. Обычно данное значение делается низким. Тогда Manager имеет возможность мультиза-дачности - если два задания посланы в различное время, то каждое использует свой сервер, и Manager может обрабатывать назначение обеих заданий параллельно. Поскольку файлы МАХ и ассоциированные с ними карты могут со временем увеличиваться, то правильная идея - ограничить значение Concurrent Job Assignment, если только компьютер менеджера - это не "суперлошадь" с "мускулистой" сетевой аппаратурой. Большинство современных сетей могут обработать/приблизительно от четырех до шести параллельных назначений, тогда как старые сети могут справиться лишь с двумя. Причина, по которой данное число столь важно, заключается в том, что каждое параллельно назначаемое задание, которое должен поддерживать Manager, съедает процессорное время у других задач, подобных назначению кадров и трекингу для текущих назначенных заданий. Значение по умолчанию равно 4.

Визуализация задания

Если вы чувствуете, что готовы к сетевой визуализации, лучше всего начать всего с двух компьютеров - или одного при однокомпьютерной настройке. Если вы сможете заставить "говорить" друг с другом два компьютера, то сможете заставить общаться и целую комнату при условии, что все компьютеры сконфигурированы одинаково. В первом разделе из приведенных далее описано выполнение Server и Manager как служб, а также в режиме Desktop. Прочтите описание обоих способов и решите, какой для вас более предпочтителен. В следующем разделе рассматриваются способы назначения заданий из диалога визуализации 3DS МАХ. Кроме того там приведено обсуждение настройки карт и путей карт.

Выполнение Manager и Server

Первый шаг к сетевой визуализации 3DS МАХ заключается в инициализации программ Manager и Server на соответствующих компьютерах. И Manager, и Server могут выполняться в двух различных режимах - как служба и в режиме Desktop. Оба режима имеют свои преимущества и недостатки. В зависимости от того, какова конкретная настройка сети, следует решить, какой режим лучше отвечает вашим потребностям.

В виде службы

Windows NT выполняет программы, называемые службами, для инициализации определенных системно-критических операций. Типичной службой является служба сообщений, которая предоставляет сетевому администратору возможность посылки сообщений пользователям сети. Главное достоинство служб заключается в том, что их запуск и работа полностью прозрачны для пользователя. Нет необходимости явно стартовать или прекращать службы. Они стартуют во время запуска компьютера и завершают работу при его выключении.

Если Manager или Server выполняются в виде служб, их инициализация незаметна. Единственный способ определить, что они выполняются, заключается в выдаче задачи из 3DS МАХ на сетевую визуализацию или в переходе па пиктограмму Services в Control Panel (см. рис. 29.8).

Если механизмы сетевой визуализации устанавливались из программы инсталляции, Manager и Server уже являются службами. Для перехода на Control Panel в Windows NT 3.51 выполните следующее:

  1. Дважды щелкните на пиктограмме Control Panel в главной группе программ.
  2. Дважды щелкните на пиктограмме Services. В NT 4,0 выполните следующее:
  1. Щелкните на Starters ettingsc^> Control Panel.
  2. Дважды щелкните на пиктограмме Services.

На рис. 29.8 в списке можно увидеть 3DS МАХ Rendering Manager, Server или оба. Обратите внимание на то, что и Manager, и Server по умолчанию установлены в Started и Automatic. Started означает, что служба запущена и выполняется. Хотя некоторые службы NT можно приостанавливать, Manager и Server выполняются только в состоянии On/Off. Automatic означает, что служба запускается автоматически после запуска компьютера. Другие опции включают Manual или Disabled.

Кто должен выполнять Manager или Server в виде служб NT?

  • Фермы визуализации, в работу которых не вмешиваются в течение 90-100% времени
  • Сетевые топологии, которые распространяются на многие офисы и здания
  • Любой, кто желает получить безопасную, без вмешательства, сетевую визуализацию

Ключевое положение здесь заключается в том, что метод службы обеспечивает гарантию выполнения Manager и Server. Никакого вмешательства человека реально не требуется. Поскольку службы выполняются автоматически, то даже напряжение может исчезать и появляться. NT загрузится автоматически, служба запустится с NT и далее задание на сетевую визуализацию подхватывается там, где было прервано.

Службы также более безопасны. Обычно к службам имеют доступ только администраторы. Это означает, что нормальный пользователь может работать на компьютере в течение дня, а администратор может забрать компьютер для сетевой визуализации на ночь - все удаленно, полностью прозрачно для пользователя на рабочей станции, за исключением того, что текстовый процессор покажется несколько медленнее, чем обычно! Пользователь не обязан регистрироваться в компьютере. Станция визуализации может отображать подсказку регистрации, а служба все равно будет выполняться в фоновом режиме.

Главный недостаток служб, как ни странно, заключается в том, что делает их настоль хорошими - в обеспечиваемом для пользователя уровне управления и взаимодействия. Когда Manager и Server выполняются в виде служб, они нс предоставляют пользователю обратной связи, за исключением того, что 3D Studio МАХ визуализирует тогда, когда хочет. В таком случае наблюдение за тем, что реально происходит, невозможно и существенно затрудняет отладку сетевой визуализации. Поначалу вы должны запускать Manager и Server в режиме Desktop- Убедитесь, что все работает правильно, протестируйте каждый возможный сценарий сетевой визуализации и затем инсталлируйте программы как службы.

СОВЕТ

Для инсталляции/деинсталляции Manager или Server как служб выполните их из каталога 3DS МАХ с опцией -г.

Опции Services

Manager и Server имеют стандартные опции служб (Services), которые можно конфигурировать для лучшего удовлетворения ваших нужд. Для изменения любого из следующих параметров необходимо щелкнуть на кнопке Startup в диалоге Services. В результате на экране появится диалог Services Options (см. рис. 29.9).

Первый раздел предоставляет возможность указать, как стартует служба. Обычно вы оставляете Automatic. Таким образом служба запускается при каждой загрузке NT. Если необходим больший контроль за запуском службы, выберите Manual. После этого придется запускать службу из диалога Service каждый раз, когда ее необходимо использовать. Последняя опция Disabled полностью деактивирует службу. Пользователь не сможет запускать службу с данной панели до тех пор, пока вновь нс будут выбраны Manual или Automatic. Если вы стали замечать, что в сетевой работе на данном компьютере возникают какие-то проблемы и они связаны со службами, иногда простое отключение служб может оказаться отличным способом решения проблем.

Следующий раздел показывает, как задать регистрации служб на компьютере. Службы должны регистрироваться под определенной учетной записью, поскольку они запускаются даже раньше, чем кто-либо зарегистрировался в компьютере. По умолчанию служба настраивает себя на регистрацию с использованием учетной записи System. Данная учетная запись обеспечивает минимальный доступ к сети и должна применяться только тогда, когда компьютер настроен как единственная станция, или все файлы размещены на каждом компьютере и вывод делается локально. Если вы намерены совместно использовать схему дисководов или вывод, следует указать определенный тип учетной записи. Какая бы учетная запись не выбиралась, убедитесь, что она имеет достаточные права для доступа к сетевым дисководам. Для определения пользователя щелкните на кнопке More (три точки) и затем выберите его из списка. Убедитесь в том, что пользовательский пароль точен и подтвержден.

ПРИМЕЧАНИЕ

После выполнения изменений в информации учетных записей и услуг следует остановить и перезапустить службу для инициализации новых параметров.

Удаление

Если Manager или Server уже установлены как службы, их можно инсталлировать/деинсталлировать, выполнив исполняемый модуль с опцией -г, например:

c:\3dsmax\server -r

Данная команда удаляет Server как службу NT, но не уничтожает ее. То же применимо и к Manager. Если служба в текущий момент выполняется, она останавливается и затем удаляется.

В режиме Desktop

Режим Desktop обеспечивает окно во внутреннюю работу служб Manager и Server. В режиме Desktop службы выполняются в окнах MS-DOS на рабочем столе. Такие службы функционируют подобно установленным, за исключением того, что вся связанная информация отображается в соответствующих окнах.

Для запуска службы в режиме Desktop выполните следующее:

  1. Перейдите в группу программ Main и дважды щелкните на пиктограмме MS-DOS.
  2. Перейдите в каталог установленного 3DS МАХ и введите server -d.

Поставьте Manager, если хотите выполнять его в режиме Desktop. Если требуется выполнять два менеджера одновременно, повторите приведенные выше шаги. NT предоставляет возможность запустить несколько сеансов.

ПРИМЕЧАНИЕ

В случае получения сообщения об ошибке, утверждающего "Port is in use" (порт используется), следует остановить службу из диалога Services.

Установка в виде службы

После того, как вы освоились с выполнением 3DS МАХ в режиме Desktop и хотите перейти к выполнению системы как службы, выполните следующее:

  1. Перейдите в группу программ Main и дважды щелкните на пиктограмме MS-DOS.
  2. Перейдите в каталог установленного 3DS МАХ и введите server -i.

Поставьте Manager на выполнение, если это именно то, что необходимо установить. С данного момента для запуска Manager или Server как службы следуйте директивам, описанным в предыдущем разделе (рис. 29.10).

Диалог Job Assignment

В случае готовности к сетевой визуализации следует щелкнуть на опции Net Render в диалоге визуализации 3DS МАХ. После этого появится диалог Job Assignment, показанный на рисунке 29-11. Окно Job Assignment предоставляет возможность указать менеджер, к которому необходимо посылать задание, и требуемые службы. Эта и ряд других опций обсуждаются в следующих разделах.

ПРИМЕЧАНИЕ

Для того, чтобы любые описанные в данном разделе шаги выполнялись корректно, должны работать и Manager, и Server.

Имя задания

Поле Job Name предоставляет возможность определения имени задания, которое отображается в Queue Manager. Выберите имя, отражающее то, что визуализируется. Если визуализируется сцена болота (swamp), кадры 100-200, имя может выглядеть как Swamp Scene (100-200).

При таком способе именования любой, кто посмотрит на задание, мгновенно поймет, какая сцена и сколько ее кадров визуализируются. Если задание с выбранным именем уже существует, возникает предупредительное сообщение, и прежде чем продолжить работу потребуется выбрать другое имя.

ПРЕДУПРЕЖДЕНИЕ

Присваивая заданиям имена, помните, что в имени запрещено использовать символы ". Если попытаться так сделать, 3DS МАХ укажет на ошибку.

ПРИМЕЧАНИЕ

Всем текущим заданиям предоставляются собственные каталоги, названия которых основаны на именах заданий в сетевом каталоге Manager.

Опция Include Maps

До сих пор механизм Include Maps является лучшим новым дополнением к сетевой визуализации, однако и одним из наиболее проблематичных при несоответствующей настройке. Неправильное конфигурирование данной опции приводит к провалу всего задания. Так что же она делает? Когда флажок опции включен, 3D Studio MAX архивирует сцену и все связанные карты в один файл и рассылает его на каждый сервер. Когда файл попадает на сервер, то он разархивируется и начинается процесс визуализации. При этом гарантировано, что каждый компьютер работает с одними и теми же картами, и применяющие данный метод визуализации практически никогда не бывают неудачными. Но в чем же загвоздка?

  • Когда компьютер выдает задание на визуализацию, используя опцию Include Maps, на каждом сервере должна быть установлена одна и та же программа архивирования.
  • Каждый сервер через параметры пути должен иметь доступ к программе архивирования, указанной в файле server.ini.
  • Для фермы визуализации может использоваться только одна программа архивирования.
  • Если в файле server.ini не указаны корректные опции, сервер может ошибиться. Обычно это случается тогда, когда программа архивирования требует пользовательского ввода, например подтверждения.

ПРЕДУПРЕЖДЕНИЕ

PK.ZIP и PKUNZIP ограничены соглашениями по наименованию DOS (восемь символов имя и три символа - расширение). Все операции, использующие опцию Include Maps (имя задания, файлы карт, файлы сцен) должны придерживаться данного формата.

Выбор менеджера

Поскольку в сети возможно иметь несколько менеджеров, потребуется выбрать тот, который будет использоваться для визуализации. Менеджер можно указать как по имени, так и по TCP/IP-адресу. 3D Studio МАХ помнит последних четыре менеджера, введенных в выпадающий список Manager.

После выбора менеджера щелкните на кнопке Connect. Если все настроено правильно, 3DS МАХ выполнит соединение и список серверов зарегистрируется с новым менеджером. Если ничего не произойдет или будет получено сообщение об отказе соединения, следует проверить несколько условий.

  1. Убедитесь в том, что Manager выполняется на том компьютере, который требуется использовать в качестве менеджера.
  2. Если Manager выполняется, проверьте правильность ввода имени компьютера или IP-адреса в диалоге Job Assignment.
  3. Если кажется, что 3DS МАХ выполнил соединение, но серверы не распечатываются, убедитесь, что Server выполняется на каждом компьютере, на котором предполагается выполнять визуализацию.
  4. Наконец проверьте, подключен ли физически каждый компьютер к сети. Обычно это можно выполнить, перейдя к File Manager (или Network Neighborhood в NT 4.0) и попытавшись соединиться с каждым компьютером.

Цветные точки рядом с именем отражают текущее состояние сервера. В следующем разделе описано управление серверами и различные состояния, в которых они могут находиться.

Состояния серверов

Потенциально серверы могут находиться в четырех состояниях - Ready (готов) (зеленый), Busy (занят) (желтый), Running MAX (выполняет МАХ) (серый) и Error (ошибка) (красный). Обычная отметка -• желтый, означающая, что другие задания визуализируются на данном сервере. Серый отображается тогда, когда 3DS МАХ выполняется на данном компьютере в режиме Normal (не сервер) и не может использоваться до тех пор, пока не завершится сеанс 3DS МАХ или пока Server не будет запущен. Красная точка обозначает возникновение каких-то проблем. Такое происходит как правило в случае, когда предыдущее задание на данном сервере завершилось неудачно и сервер сохраняет шаблон до тех пор, пока задание не снимется или не разрешится ситуация, приведшая к ошибке.

При назначении задания серверу его состояние не имеет значения. Единственное назначение цветных точек - проинформировать о текущем состоянии сервера. Назначение задания данному серверу гарантирует, что непосредственно после освобождения сервера он выберет задание и начнет визуализацию. Однако, если компьютер находится в состоянии ошибки, прежде всего следует удалить текущее задание, задействовав Queue Manager. В противном случае сервер никогда не выберет задание.

Пути карт, разделенные дисководы и UNC

Возможно наиболее трудной частью корректной сетевой визуализации является использование в сети текстурных карт. Компьютеры имеют доступ к многочисленным каталогам на многих компьютерах и выбирают разные версии одного и того же файла. Это приводит к массовой путанице не только при работе над проектом, но превращается в кошмар при визуализации сцены в сети. В настоящем разделе описывается лучший способ организовать сетевую ферму визуализации для загрузки карт и сохранения файлов.

Map Central

В ситуациях, когда на сцене работают несколько людей, необходим доступ к центрально расположенным картам. Каждый сотрудник всегда имеет доступ к самой последней версии 20-текстуры, над которой работали художники. В Windows NT распространен именно такой тип организации. Компьютеры могут монтировать дисководы из других компьютеров, называемые разделенными дисководами, и использовать разделенные дисководы так, будто они являются локальными для данного компьютера. Наличие центрального хранилища карт является ключом для правильной организации сетевой визуализации.

ПРЕДУПРЕЖДЕНИЕ

Novell-базированные сетевые серверы понимают только структуру имен DOS - восемь символов имени с тремя символами расширения (8.3).

Можно предпринять следующие организационные шаги для того, чтобы убедиться, что карты загружены на каждом сервере, участвующем в сетевой визуализации:

  1. В начале проекта создайте в сети место, к которому имеет доступ каждый участник проекта. Создайте там каталоги для карт и сцен. Присвойте каталогам осмысленные имена.
  2. Затем вынудите каждого участника проекта соединяться с центральным компьютером, используя один и тот же путь и букву дисковода. Например, заставьте каждого получать доступ к картам через дисковод с буквой М. Сделать это можно в File Manager или посредством Network Neighborhood в NT 4.0. Обязательно определите необходимость подключения к этому дисководу в процессе регистрации. Таким образом пользователь при регистрации всегда будет соединяться с этим дисководом, используя одну и ту же букву.
    Если возможно, разместите карты и сцены в одном и том же каталоге. 3DS МАХ ищет карты для сцены там же, откуда он первый раз загрузил сцену. Оттуда он смотрит пути каталогов карт.
  3. Если имеется визуализационная ферма или другие компьютеры, которые нс используются в производстве, а лишь в визуализации, настройте назначение буквы дисковода точно так же, как и для других компьютеров. Например, если использовать предыдущий пример, каждый сервер оказался бы соединенным с каталогом карт также через устройство с буквой М.
  4. Если использовать одну и ту же букву возможности нет, соединитесь с компьютером через любую букву. Идея заключается в убеждении, что компьютеры соединены.
    Когда файл посылается для сетевой визуализации, он прежде всего отыскивается в том же каталоге, что и файл МАХ, и затем выполняется поиск карт в каталогах, указанных в самом файле МАХ. В последнюю очередь просматриваются пути карт, определенные в опции Configure Paths в выпадающем меню File.

ПРИМЕЧАНИЕ

Для конкретного компьютера пути карт запоминаются в файле 3dsmax.ini.

В случае применения упомянутых шагов все карты будут выбираться на втором шаге. И вот почему. 3DS МАХ для запоминания пути карт использует то, что называется UNC (Universal Naming Convention -универсальные соглашения по именованию). Это означает, что карта с именем weavel .tga, хранимая в компьютере с именем Mapserver в каталоге Carpets, будет запоминаться в -тах-файле как

\\MAPSERVER\CA&PETS\WEAVE1.TGA

ПРЕДУПРЕЖДЕНИЕ

3DS МАХ будет "жестко связывать" каталог локально хранимого файла карт. В результате даже если файл и доступен где-то в сети, сервер будет пытаться найти файл в том же самом каталоге на жестком диске сервера. Во избежание данной проблемы убедитесь в том, что все карты запомнены и доступны в редакторе материалов в общем местоположении на некотором сервере сети.

Обратите внимание на то, что в информации пути буква дисковода не хранится. UNC не полагается на буквы, он полагается только на имена компьютеров. Вот почему можно соединиться с компьютером, используя любую букву дисковода. До тех пор, пока вы соединены, 3DS МАХ будет находить карту. Если требуется получить информацию UNC для файла, запомненного локально, можно соединиться с компьютером через File Manager.

Выводные пути

Большая часть приведенной информации по настройке путей для сетевой фермы визуализации применима и к выводным каталогам. После того, как файл визуализирован, куда же он девается?

Совершенно аналогично настройка общего размещения для выводных файлов критична для фермы визуализации. Если 3D Studio MAX не может записать визуализированный файл, сервер выдает ошибку на конкретном задании. Для указания, куда файлы должны следовать после визуализации, можно использовать большую часть той же логики, которая приведена в предыдущем разделе. Следующие организационные шаги описывают то, как лучше конфигурировать пути при настройке сетевой визуализации.

  1. Установите на центральном компьютере каталог, в котором должен сосредоточиваться весь вывод визуализации, и убедитесь, что все имеют доступ к созданному каталогу.
  2. Вынудите всех пользователей присоединиться к дисководу. Для удобства задействуйте букву дисковода, которая имела бы смысл" например О. Убедитесь, что все другие компьютеры, участвующие в сетевой визуализации, также соединены с данным компьютером и каталогом.
  3. После выполнения визуализации проинструктируйте каждого пользователя о необходимости посылать вывод в диалоге Rendering в определенный компьютер и каталог. Поскольку 3DS МАХ использует UNC, то пока компьютеры соединены, они могут посылать вывод в указанное местоположение.

Одиночные компьютеры и карты

Большая часть прочитанного применима к настройке нескольких компьютеров. Если же для пакетной визуализации применяется единичный компьютер, работа по настройке путей карт и выводных каталогов значительно упрощается.

Самый простой способ убедиться в том, что задание находит все карты, заключается в использовании опции Configure Path в выпадающем меню File и добавлении необходимых путей карт. Если вы загружаете карты из другого компьютера где-то в сети, доступны две возможности. Самый простой и быстрый метод состоит в копировании файлов локально на ваш компьютер. Однако прежде всего необходимо соединиться с компьютером, используя File Manager или Network Neighborhood.

ПРИМЕЧАНИЕ

Для быстрейшей загрузки карт реорганизуйте пути так, чтобы каталоги, в которых размещаются карты, оказались ближе к началу списка. 3D Studio MAX ищет карты в списке, используя его в нисходящем порядке.

С выводом еще проще. Укажите позицию на жестком диске или на сетевом дисководе для запоминания файлов. Единственный подводный камень при загрузке карт из сети или посылки в сеть вывода заключается в том, что если сеть по какой-либо причине отключается, задание на визуализацию пропадает. Если пространство на жестком диске ограничено, лучше почистить некритические данные, запомнив их где-нибудь в сети и переместив карты на свой жесткий диск. Помните о том, что 3DS МАХ попадает в состояние ошибки, если не может найти хотя бы одной карты или запомнить визуализированный образ в указанном расположении. Что касается вывода, нет необходимости в поиске других жестких дисков или каталогов для хранения образов в других местах в качестве резервных копий.

Сетевая визуализация в файлы FLC и AVI

Сетевая визуализация в основном предназначена для визуализации неподвижных кадров, но может возникнуть желание задействовать ее для визуализации таких кадров в файлы AVI или FLC. Проблема с файлами AVI или FLC заключается в том, что их необходимо собирать линейно. Кадры должны предоставляться один за другим. При сетевой визуализации кадры обрабатываются совершенно неупорядочено. Из-за этого ограничения при выборе в качестве формата выводного файла FLC или AVI потребуется выполнять сетевую визуализацию только на одном сервере. 3DS МАХ не обеспечивает возможность выбора более одного сервера. Таким образом возникает вопрос, как распределить визуализацию на несколько компьютеров с использованием в качестве вывода AVI или FLC? Очень просто. Используйте Video Post. В следующих разделах описано, как задействовать несколько компьютеров для визуализации, если вывод помещается в файл AVI или FLC.

Визуализация из диалога Render

AVI или FLC можно визуализировать из диалога Rendering, используя сетевую визуализацию так, как обычно визуализировалась бы последовательность неподвижных образов. Затем для сборки кадров в AVI или FLC применяется Video Post. Данный процесс описывают следующие шаги:

  1. Выберите разрешение визуализации. Помните о том, что по сравнению с неподвижными кадрами FLC и AVI должны иметь меньшее разрешение.
  2. Выберите формат файла для визуализации неподвижных кадров - TGA, TIF" JPG и т.д.
  3. Далее выберите опцию Render.
  4. Выберите Manager и серверы, как это обычно делается, и щелкните на Submit.
  5. Кадры визуализируются как последовательные неподвижные, распределяясь по сети. Перейдите к разделу "Сборка всего вместе", описывающему сборку всех кадров в AVI или FLC.

Визуализация из Video Post

Video Post вообще не позволяет визуализировать FLC или AVI независимо от количества используемых компьютеров. Главная причина заключается в том, что Video Post открывает каждый кадр как сеанс визуализации в начале и закрывает сеанс после завершения кадра. Ни AVI, ни FLC после закрытия нельзя открывать повторно для добавления новых кадров, если не используется пакет, подобный Animator Pro или Animator Studio. В результате Video Post может визуализировать только один кадр из последовательности AVI или FLC - это как правило не то, что требуется. Однако имеется возможность визуализировать в сеть с использованием Video Post через вывод неподвижных кадров. Затем можно повторно применить Video Post для сборки неподвижных кадров в файл FLC или AVI. Детальные инструкции приведены в разделе "Сборка всего вместе". Для визуализации неподвижных кадров из Video Post выполните следующие шаги:

  1. Создайте очередь Video Post со всеми необходимыми переходами, фильтрами и композиционными эффектами.
  2. Добавьте в конец очереди событие Image Output и выберите вывод в файл неподвижных кадров формата TGA, TIF, JPG и т.п.
  3. Щелкните на кнопке Execute Sequence. Выделите кадры, которые хотите визуализировать, и задайте желаемое разрешение.
  4. Выберите опцию Net Render и затем представьте задание Manager, использующему необходимые серверы.

Анимация визуализируется в последовательность неподвижных кадров. Отсюда вы готовы перейти к следующему разделу.

Сборка всего вместе

Теперь, когда имеется вся последовательность визуализированных кадров. Video Post можно использовать для сборки их в файл FLC или AVI. Video Post предоставляет возможность выбирать последовательно пронумерованные кадры посредством Image Input Event и сохранять результат в FLC или AVI, используя событие Image Output. С этой целью выполните следующее:

  1. Перейдите на Video Post и выполните Add Image Input Event.
  2. Нажмите в диалоге на кнопку Files.
  3. Выберите из последовательности первый кадр, удалите из него номер и добавьте на место номера звездочку с последующим расширением имени файла. Щелкните на ОК.
  4. 3D Studio автоматически создает файл IFL (Image File List), содержащий имена всех образов, являющихся частью последовательности.
  5. Добавьте событие Image Output.
  6. Нажмите кнопку Files и введите имя файла. Имя файла должно включать расширение FLC или AVI.
  7. Выполните последовательность и выберите Render.

3D Studio MAX и Video Post загрузят каждый файл из последовательного списка и выведут их в файл AVI или FLC, как показано на рис. 29.12. Результирующий файл должен визуализироваться локально. К сожалению, возможность визуализации данной части через сеть отсутствует, но описанный метод является приемлемым обходным маневром, если нужно визуализировать вывод из диалога Rendering или Video Post, который использовал сетевую визуализацию в AVI или FLC.

Использование Queue Manager

У вас имеется компьютер, "разговаривающий" с сетью и выполняющий визуализацию. Теперь, как ею управлять? Все управляющие элементы сетевой визуализации определены в Queue Manager. Пиктограмма Queue Manager размещена в группе программ Kinetix вместе с остальными связанными с 3DS МАХ пиктограммами. Queue Manager можно применять для управления всеми функциями сетевой визуализации - от активации заданий до указания времени, в течение которого компьютер доступен для визуализации. Queue Manager работает только в 32-разрядной операционной системе Windows и управляет очередью в то время, когда компьютер подключен к сети. Интерфейс Queue Manager представлен на рисунке 29.13.

Управление заданием

Иногда требуется увеличить приоритет задания в процессе визуализации или определить, когда сервер доступен для визуализации. Подобная функциональность доступна из Queue Manager. В настоящем разделе очерчиваются ключевые компоненты Queue Manager, помогающие управлять процессом сетевой визуализации.

Приоритет задания и сервера

Приоритеты заданий упорядочены по убыванию. Задание вверху очереди имеет приоритет выше последующих заданий. Задания визуализируются в том порядке, в котором были приняты. Иногда необходимо переупорядочить задание так, чтобы оно выполнилось до текущего задания. В 3D Studio MAX переупорядочение задания является тривиальным процессом. Просто щелкните на имени задания, которое хотите переупорядочить, и транспортируйте его в желаемое место в очереди. 3D Studio MAX автоматически остановит любые задания, которые теперь оказались после вновь расположенного (если они выполняются), и начнет визуализацию нового задания.

Планирование серверов

Серверы визуализации часто в течение дня используются в качестве рабочих станций для выполнения других задач. Даже если компьютер выполняет другую задачу, он все равно может применяться для целей сетевой визуализации - до тех пор, пока на нем не выполняется 3DS МАХ. Задание может назначаться чьему-то компьютеру, пока хозяин работает, например, с программой двумерного рисования. Надо ли говорить, что одновременное выполнение системы визуализации 3D Studio MAX и интеллектуальной программы двумерного рисования замедлит компьютер до скорости улитки и вызовет гнев со стороны пользователя. Во избежание этого посредством интерфейса Queue Manager можно указать, какие серверы доступны для сетевой визуализации (см. рис. 29.14).

Щелкните правой кнопкой мыши на любом сервере и выберите Properties. В рамках Properties задайте, в какие часы сервер будет доступен или недоступен. Главная цель данного окна состоит в отключение серверов в течение определенных периодов времени. По умолчанию все серверы активны все часы. В диалоге щелкните и транспортируйте мышь по часам или дням для отключения сервера. Для выполнения подобного по отношению к группе серверов следует использовать кнопку Apply To.

ПРИМЕЧАНИЕ

После установки доступности сервера, она сохраняется вплоть до следующего изменения. Один из способов изменить периоды времени, в которые данный сервер доступен для визуализации, заключается в создании фиктивного, неактивного задания. Из него можно перейти на Queue Manager и изменить расписание сервера.


Hello

Внимание!

Вашему вниманию предлагается электронный вариант замечательной книжки "Внутренний мир 3DS MAX".

К сожалению мне не хватило времени и сил отсканировать иллюстрации ;-(

Заглядывайте иногда ко мне на страничку: http://www.loe.pp.ru - вдруг я все-таки пересилю себя :-)

12-01-1999
LOE