В главе рассматриваются следующие понятия:
Термин объект используется повсеместно во всей программе 3DS МАХ; это объектно-ориентированная программа. Если посмотреть на 3DS МАХ в терминах программирования, все, что создается, является объектами. Геометрия, камеры и источники света на сцене являются объектами. Модификаторы также являются объектами, как и контроллеры, растровые изображения и определения материалов. Многие объекты, подобные каркасам, сплайнам и модификаторам, допускают манипулирование на уровне подобъектов.
В этой книге термин объект относится к чему-то, что можно выбрать и манипулировать им в 3DS МАХ. Если необходимо дополнительное уточнение, термин объект сцены используется для дифференциации геометрии и чего-нибудь, созданного при помощи панели Create (создать) из объектов других типов. В объекты сцены входят источники света, камеры, искажения пространства и вспомогательные объекты. На другие объекты, подобные модификаторам, картам, ключам и контроллерам, ссылаются с помощью конкретного типа. В последующих разделах поясняется объектно-ориентированное поведение 3DS МАХ.
Что означает, когда говорят, что 3DS МАХ является объектно-ориентированной программой? Объектно-ориентированное программирование (OOP) - изощренный подход к написанию программного обеспечения, который в настоящее время широко применяется при написании коммерческого программного обеспечения. С точки зрения пользователя 3DS МАХ наиболее важным аспектом объектно-ориентированного программирования является то, как оно влияет на пользовательский интерфейс.
При создании объектов в 3DS МАХ эти элементы переносят с собой информацию о том, какие функции можно выполнять по отношению к ним и что считается действительным поведением каждого объекта. Эта информация влияет на то, что видно в интерфейсе 3DS МАХ. Активными являются только операции, действительные для выбранного объекта; другие операции становятся неактивными или скрываются внутри интерфейса. Рассмотрим примеры объектно-ориентированного поведения:
В обоих предыдущих примерах 3DS МАХ запрашивает объекты для определения, какие выборы и операции являются действительными на основе текущего состояния программы. После этого 3DS МАХ представляет только действительные выборы.
Такой на первый взгляд простой принцип подхода повышает производительность и экономит значительное время. Сравните поведение 3DS МАХ с поведением более старых программ, в которых вы выбираете объекты или выполняете команды и затем наталкиваетесь на сообщение об ошибке, гласящее о том, что выбранный объект или операция являются недействительными.
Большинство объектов в 3DS МАХ являются формой параметрического объекта. Параметрический объект определяется совокупностью установок или параметров, а не явным описанием его формы. Например, рассмотрим два метода определения сферы, один непараметрический, а другой — параметрический.
На рисунке 1.3 показаны базовые параметры для параметрической сферы и для сферы, импортированной в виде явного каркаса.
Параметрический объект обеспечивает важные опции моделирования и анимации. В общем случае необходимо как можно дольше сохранять параметрическое определение. Некоторые операции 3DS МАХ преобразуют параметрические объекты в непараметрические, иногда называемые явными объектами.
К счастью многие операции не отбрасывают параметрические свойства объекта. Примерами операций, которые отбрасывают параметры, являются:
Выполняйте эти операции только в том случае, когда есть достаточная уверенность в том, что больше не придется регулировать параметры объектов.
На панели Create можно объединять два и более объектов для создания нового параметрического объекта, который называется составным объектом. В отношении составных объектов следует помнить то, что по-прежнему можно модифицировать и изменять параметры объектов, из которых состоит составной объект. Составной объект является типом параметрического объекта, в параметры которого входят объединяемые объекты и описание способов их объединения.
Например, рассмотрим булеву операцию, в которой из угла коробки вычитается сфера (см. рис. 1.4). При использовании многих программ 3DS МАХ результатом этой операции будет явный каркас, который является булевым решением. Если необходимо изменить положение коробки или радиус сферы, следует создать новую коробку и сферу и снова выполнить булеву операцию.
Коробка и сфера сохраняются как часть параметрического составного булевого объекта. Можно по-прежнему осуществлять доступ к параметрам сферы и коробки и выполнять с ними анимацию, а также выполнять анимацию их относительных положений. На рисунке 1.5 показан результат изменения длины коробки и радиуса сферы для составного булевого объекта из рисунка 1.4. 3DS МАХ поставляется с тремя стандартными составными объектами:
Термин подобъект относится к чему-то, что можно выбрать и манипулировать им. Общеизвестным примером подобъекта является одна из граней, образующих каркас. При помощи модификатора Edit Mesh (отредактировать каркас) можно выбрать подобъект, например, грань, после чего ее можно перемещать, вращать, разрушать или удалять.
Легко представить себе подобъекты как вершины или грани, но это понятие распространяется на многие другие вещи вне объектов сцены. Примерами подобъектов, которыми можно манипулировать в 3DS МАХ, являются:
В свою очередь перечисленные подобъекты имеют свои собственные подобъекты и, таким образом, создаются ситуации, при которых можно выполнять многоуровневое редактирование подобъектов. Например, представим применение модификатора к выбранному подобъекту вершин из каркасного объекта, который сам является операндом булевого подобъекта. Глубина 3DS МАХ ограничена только вашим воображением.
Во всех предыдущих примерах доступ к подобъектам осуществлялся путем щелчка на кнопке Sub-Object (подобъект) панели команд. Щелчок на этой кнопке осуществляет переход в режим подобъекта, заставляя работать с конкретным типом подобъекта до тех пор, пока этот режим не будет выключен. На рисунке 1.6 показаны два примера выборок подобъектов и соответствующая кнопка подобъекта на панели команд.
Первыми действиями с 3D Studio MAX будет создание объектов сцены, с которыми после этого выполняются анимация и визуализация. При построении объекта сцены создается процесс, который определяет, как параметры основного объекта модифицируются, трансформируются, искажаются в пространстве, как присваиваются ему свойства и как он окончательно будет отображаться на сцене. Это процесс называется потоковой схемой и понимание его критично для понимания поведения 3DS МАХ.
В последующих разделах отдельно описывается каждый из компонентов потоковой схемы — мастер-объект, модификаторы, трансформации, искажения пространства и свойства, а раздел "Потоковая схема" объясняет, как собрать вместе все компоненты и поместить их на сцену.
Мастер-объект — это термин, который относится к параметрам первоначального объекта, создаваемого с помощью функций панели Create. О мастер-объекте можно думать как об абстрактном определении объекта, который не существует на сцене. Объект не существует до тех пор, пока не сделана оценка всей потоковой схемы. Мастер-объект — это просто первый шаг.
Мастер-объект обеспечивает следующую информацию об объекте:
На рисунке 1.7 показан объект вместе с идентифицированными свойствами мастер-объекта. Как вы узнаете из раздела "Создание экземпляров" в этой главе, один и тот же мастер-объект может использовать несколько объектов сцены.
После создания мастер-объекта можно применить любое количество Object Modifier (модификатор объекта), подобных Bend (согнуть) и Stretch (растянуть). Модификаторы манипулируют подобъектами, например, вершинами, по отношению к локальной системе координат объекта и началу координат. Другими словами, Модификаторы изменяют структуру объекта в пространстве объекта.
Поскольку Модификаторы работают с подобъектами в пространстве объекта, они обладают следующими характеристиками:
Считайте Модификаторы своим главным инструментом моделирования, поскольку вы управляете порядком применения модификаторов. Влияние модификатора на объект является постоянным независимо от расположения объекта.
Объекты размещаются и ориентируются при помощи трансформаций. При трансформации объекта изменяется его положение, ориентация и размер по отношению к сцене. Система координат, описывающая всю сцену, называется мировым пространством. Система координат мирового пространства определяет глобальное начало координат сцены и устанавливает глобальные оси координат, которые никогда не изменяются. Object Transforms (трансформации объекта) определяет следующую информацию:
Комбинация позиционирования, вращения и масштаба называется матрицей трансформации объекта. Отметим, что это именно та матрица, которая изменяется при непосредственной трансформации объекта, а также то, что работа выполняется с полным объектом. На рисунке 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.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. В другой раз может потребоваться перемещение или вращение только части объекта.
Трансформацию можно применить в конкретной точке стека модификаторов или применить ее только к части объекта путем использования модификатора для применения трансформации. Имеется три способа применения трансформации при помощи модификаторов:
Клонирование применимо практически ко всему в 3DS МАХ. Клон является термином общего назначения, который используется для описания операции создания копии, экземпляра или ссылки. Большинство объектов, таких как геометрия, модификаторы и контроллеры, можно скопировать и создать их экземпляры. Можно сделать ссылки объектов сцены, подобных камерам, источникам света и геометрии. Ниже определяются понятия копии, экземпляров и ссылок:
Для создания клонов можно делать выбор из нескольких методов. Выбранный метод изменяется в соответствии с типом объекта, с которым выполняется работа. В эти методы входит:
Создавайте копии каждый раз, если необходимо дублировать объект, при этом дубликаты являются уникальными и не имеют отношения к исходному объекту. Некоторые примеры полезных методов копирования перечислены ниже:
Создавайте экземпляры, когда хотите использовать один объект в нескольких местах. Поскольку все экземпляры представляют собой один и тот же объект, изменение одного экземпляра вызывает изменение всех остальных. При корректном использовании экземпляры могут сэкономить значительный объем работ. Ниже приводится ряд полезных методов использования экземпляров:
Ссылки имеют только объекты сцены. Создавайте ссылки, если хотите, чтобы множество объектов совместно использовали одни и те же корневые параметры, но чтобы обеспечивалась возможность независимой индивидуальной модификации каждого объекта. Считайте ссылки переходом между копиями и экземплярами.
Например, требуется выполнить анимацию линейки шахматных пешек. Каждая пешка должна использовать одинаковую корневую конструкцию, но также должна иметь свое собственное растяжение и изгиб. Сначала смоделируйте основную пешку и затем делайте ссылки. После этого можно модифицировать каждую пешку независимо или вернуться к основной модели для изменения всех ссылок. На рисунке 1.24 показан результат использования ссылок. При создании ссылки объекта сцены все ссылки совместно используют один и тот же мастер-объект и первоначальный стек модификаторов.
При создании ссылки потоковая схема разветвляется после последнего модификатора, но по-прежнему можно применять новые модификаторы, которые являются уникальными для каждой ветви. Каждая ссылка имеет собственный набор трансформаций, искажений пространства и свойств объекта. Будет ли влиять модификатор на одну ссылку, несколько ссылок или на все ссылки, зависит оттого, где он применяется в потоковой схеме. Модификатор влияет на все ссылки, которые ответвляются из потоковой схемы после точки в стеке модификаторов, где применяется модификатор. На рисунке 1.25 показана потоковая схема для множества ссылок.
Каждый раз при клонировании объекта тщательно учитывайте, что является лучшим выбором - копия, экземпляр или ссылка. Если нет уверенности, можно сделать ошибку при выборе экземпляров или ссылок. Если принято решение сделать экземпляр чего-то, а затем необходимо получить независимые копии, экземпляр можно сделать уникальным. Если сделать экземпляр уникальным, вся информация, совместно используемая другими экземплярами, дублируется, а выбранный экземпляр преобразуется в независимую копию.
К сожалению, 3DS МАХ не очень последовательна в своих методах создания уникальных экземпляров. Различные экземпляры используют различные методы:
Практически все в 3DS МАХ организовано в иерархию. Понятие иерархии очень простое для понимания. Если вы пишете отчет, используя план для организации своих мыслей, вы используете иерархию.
Все иерархии в 3DS МАХ следуют одним и тем же принципам. Более высокие уровни в иерархии представляют собой общую информацию и являются уровнями наибольшего влияния. Более низкие уровни представляют собой подробную информацию и являются уровнями меньшего влияния.
Track View отображает иерархию всей сцены, что показано на рисунке 1.26.
Определения материалов и карт также организованы в многоуровневую иерархию. Более простые программы используют одиночные материалы и могут допускать только одну карту в качестве текстуры. Другие программы могут разрешать по одной карте для каждого канала, например, выпуклости или непрозрачности. С помощью 3DS МАХ можно создавать иерархический материал и определения карт.
Определения материалов могут иметь вид многоуровневой иерархии:
Каналы проецирования для стандартного материала также могут быть многоуровневыми иерархиями:
На рисунке 1.27 показаны некоторые материалы вместе со своими иерархиями. Материал Top-Final показывает иерархию, в которой Diffuse и Shininess используют подкарты, объединенные с маской, a Bump использует просто растровое изображение. Материал показывает иерархию Multi/Sub-Object с двумя подматериалами (1CUPHAND и 1-MARBFRNT).
Иерархии объектов, вероятно, наиболее знакомы каждому, кто использовал компьютерную программу анимации. Используя инструменты для связи объектов, можно создать иерархию, в которой трансформации, примененные к одному объекту, наследуются объектами, связанными с ним и расположенными ниже его. Связывайте объекты и создавайте иерархии объектов для моделирования и анимации сочлененных структур. Ниже приведена терминология для иерархии объектов:
На рисунке 1.28 показан пример иерархии объектов.
Используйте видеозапись для объединения в одну анимацию множества видов камеры, сегментов анимации и изображений. Способ, по которому создается исходный материал, также организован в иерархию специального вида. Иерархия Video Post организована следующим образом:
Традиционное определение анимации выглядит следующим образом: анимация - это процесс создания множества изображений, демонстрации изменений объекта во времени и воспроизведение этих изображений с такой скоростью, что они сливаются в плавное движение. Странно, но даже фильмы с живым действием подпадают под это определение анимации. Кино- или видеокамера захватывает живые изображения с высокой скоростью с целью их воспроизведения также с высокой скоростью.
Отличием анимации от живого действия является процесс, при помощи которого создается изображение. Живое действие использует камеры для захвата изображений, которые после этого воспроизводятся. Для традиционной анимации необходимо нарисовать каждое изображение и затем сфотографировать его как один кадр для последующего воспроизведения.
Это различие в процессе является причиной того, что в основе дискуссий о времени анимации лежат кадры. Каждое изображение или кадр фильма необходимо нарисовать, обвести и раскрасить вручную. Этот процесс заставляет аниматоров мыслить в кадрах:
"Данное действие занимает такое-то количество кадров".
"Такое-то должно произойти во время этого кадра".
Представим себе, какой ответ режиссер получит от актера, если скажет: "Теперь побеги к крыльцу в течение 90 кадров, сделай паузу в 20 кадров, а затем бросайся открывать дверь". Мыслить в кадрах неестественно, но так мыслить нас заставляют ограничения технологии анимации. Было бы гораздо проще, если бы анимацию можно было выполнять в реальном времени:
"Я хочу, чтобы это длилось четыре секунды, а затем через полсекунды я хочу, чтобы произошло это".
В самом сердце 3DS МАХ анимация выполняется в реальном времени. Вы разрабатываете виртуальный мир, в котором действия определяются и происходят в реальном времени, но перед тем, как вы будете готовы к визуализации, необходимо принять решение о разделении времени между кадрами.
Система измерения времени в 3DS МАХ основана на интервалах времени. Каждый интервал длится 1/4800 секунды. Все то, над чем выполняется анимация, в 3DS МАХ хранится в реальном времени с точностью 1/4800 секунды. Как аниматор, вы должны выбрать, как должно отображаться время при работе и как оно разделяется по кадрам во время визуализации.
Метод отображения времени и частота кадров визуализации определяется в диалоге Time Configuration (конфигурация времени). С помощью диалога Time Configuration, показанного на рисунке 1.30, выбирайте методы отображения времени, соответствующие традиционным стандартам анимации и видео, или выберите работу в реальных минутах и секундах. Частота кадров устанавливается на основе различных стандартов или можно указать любую частоту, которая подходит.
В традиционной анимации интенсивно используется метод, называемый созданием ключевых кадров, Создание ключевых кадров — это то, что делает главный аниматор, когда рисует наиболее важные кадры анимационной последовательности (ключи), после чего передает работу своему помощнику, который завершает кадры между ключами. В зависимости от сложности анимации главный аниматор может рисовать множество близко расположенных ключей или нарисовать всего несколько ключей.
3DS МАХ во многом работает точно так же. Вы являетесь главным аниматором. Вы точно указываете, что и когда должно произойти с помощью создания ключей анимации в конкретные моменты времени. 3DS МАХ является вашим помощником и позаботится об анимации, которая происходит за время между ключами.
Для создания ключей анимации выполните следующее:
Другим типом анимации, который поддерживает 3DS МАХ, является параметрическая анимация. При параметрической анимации ключи устанавливать не нужно, поскольку она является предварительно установленным анимационным эффектом. Укажите время начала и прекращения эффекта и установите его параметры, а 3DS МАХ позаботится обо всем остальном. 3DS МАХ поставляется всего с несколькими эффектами параметрической анимации, но верится, что разработчики вскоре создадут подключаемые элементы для увеличения количества таких эффектов.
Хорошим примером параметрической анимации является Noise (шум), что показано на рисунке 1.32. Можно присвоить Noise в качестве эффекта практически любому параметру с анимацией:
Все виды анимации в 3DS МАХ, как анимация на основе ключей, так и параметрическая анимация, управляются контроллерами анимации. Как анимация хранится, используются ли ключи или параметры, как значения анимации интерполируются от одного момента времени до другого — все это управляется контроллером анимации (или для краткости - контроллером).
3DS МАХ автоматически присваивает контроллер любому параметру, над которым выполняется анимация, в соответствие с технологией, использующей кнопку Animation и Time Slider. Если необходимо использовать параметрический контроллер, вы должны присвоить его самостоятельно с помощью инструментов в Track View или панели Motion (движение). Вы должны сообщить, можно ли выполнить анимацию параметра или ему уже присвоен контроллер анимации, посмотрев на параметр в Track View.
Многие программы поддерживают принцип подключаемых элементов для расширения основной функциональности. Простота использования и значение подключаемого элемента зависят от построения основного применения и от того, насколь хорошо поддерживается подключаемый элемент. К счастью, 3DS МАХ имеет плотно интегрированную, надежную архитектуру подключаемых элементов.
Архитектура подключаемых элементов 3DS МАХ обеспечивает следующие преимущества:
Если подключаемые элементы так хорошо интегрированы, то зачем говорить об их использовании? Да, конечно, можно поместить в каталог новый подключаемый элемент и начать его использовать. Однако, есть несколько методов, которые вы сочтете полезными.
При инсталлировании подключаемых элементов в каталог default\plugins можно быстро столкнуться с хаосом загадочных файлов, скопившихся в одном месте. Большинство основных разработчиков подключаемых элементов будут писать программы установки, которые помещают их подключаемые элементы в специальные заказные каталоги и регистрируют эти каталоги в 3DS МАХ.
3DS МАХ создает идентифицирующие альтернативные каталоги подключаемых элементов очень просто. Диалог Configure Paths (сконфигурировать пути) содержит панель, при помощи которой можно определить требуемое количество каталогов подключаемых элементов, как показано на рисунке 1.34. Любой подключаемый элемент в каталоге, который идентифицирован в диалоге Configure Paths, загружается при запуске 3DS МАХ.
Для конфигурирования альтернативных каталогов подключаемых элементов выполните следующие шаги:
Повторяйте шаги 5 и 6 для каждого нового каталога подключаемых элементов.
После инсталлирования нового подключаемого элемента где его искать? Это зависит от типа подключаемого элемента. В общем случае для доступа к подключаемым элементам используйте следующие четыре метода:
Один из наиболее важных аспектов архитектуры подключаемых элементов 3DS МАХ заключается в том, что происходит при загрузке файла, который использует подключаемый элемент, не инсталлированный в системе. Неудивительно, если файл просто не сможет загрузиться.
Когда 3DS МАХ обнаруживает, что необходимый подключаемый элемент отсутствует, она отображает диалог Missing DLLs (недостающие DLL), как показано на рисунке 1.35. Этот диалог перечисляет недостающие DLL вместе с информацией об именах файлов и об их использовании, и обеспечивает опцию для продолжения загрузки или ее отмены.
Если загрузка продолжается, для недостающих DLL создаются заполнители, данные DLL сохраняются, а все остальное в файле отображается. Например, простои куб заменяет геометрию, которую сгенерировал подключаемый элемент создания объекта. С файлом можно продолжать обычную работу за исключением того, что нельзя делать изменения в частях сцены, которыми управляет утерянная DLL. Позже после установки недостающего подключаемого элемента и перезагрузки файла вся информация будет отображаться корректно.
Цвет обычно является наиболее важной характеристикой поверхности. Когда перед глазами появляется красный знак останова, вы делаете вывод, что знак останова "красный". Вы воспринимаете это как осязаемый факт и описываете его как красный знак или как знак, окрашенный в красный цвет. На самом деле это не сама поверхность красная, а красный свет, отраженный от нее. Пигмент, которым покрашен знак, поглощает весь спектр света, кроме красного, поэтому вашему глазу возвращается отраженная красная часть спектра. Ваши глаза воспринимают отраженный красный свет и мозг делает вывод, что знак на самом деле красный. На рисунке 2.1 показаны диаграммы отражения белого света от такого знака.
Повседневная жизнь и окружающие условия обманывают многих людей в том, что цвет — это в действительности отраженный свет. Это не должно показаться удивительным, поскольку, как правило, вы не взаимодействуете с цветами света. Вы не придаете этому особого значения, редко смешиваете цвета света или играетесь с ними и, вообще, находитесь в таких ситуациях, при которых большинство спектра не присутствует. На протяжении всей жизни вы привыкли сталкиваться с белым или практически белым цветом. В большинстве случаев вы взаимодействуете с цветом, имея дело с веществами, про которые заранее известно, что они отражают свет. Эти вещества называются пигментами. Даже в том случае, если вы не используете традиционные художественные пигменты, подобные краскам или чернилам, вы выполняете цветовое смешивание пигментов во время приготовления пищи, смешивания напитков, разливания жидкостей или даже при неудачах со стиркой белья. Цвет является важным компонентом вашей жизни — вы координируете и согласуете цвета, когда занимаетесь проектированием, украшениями или одеждой.
Но компьютерная визуализация и живопись на экране компьютера совершенно отличается от того, чему вас научила о цвете вся ваша жизнь. Теперь используется устройство, которое взаимодействует со светом (монитор компьютера), и инструменты для создания и манипулирования светом (3DS МАХ и, может быть, другие программы рисования). Важно понимать, что цвет света, который отражает пигменты, и является "цветом", который видят ваши глаза. В восприятии может быть скачок и глазу потребуется некоторое время, чтобы настроиться на цвет. Если вы сначала поймете, что такое цвета пигментов, узнать о сложностях и эффектах света будет намного проще.
Цветовая модель, о которой вы узнали в детстве и, вероятно, с тех пор используете, основана на пигментах. Желтая краска, смешанная с синей, дает водовороты зеленой краски. Существуют правила цвета, которым должны следовать пигменты, краски и даже цветные карандаши. Вас, вероятно, научили, что существуют три первичных цвета: красный, желтый и синий. Вам могли говорить, что, будучи первичными цветами, они должны быть чистыми — сами они не являются смесями, но используются для получения всех прочих цветов. Когда эти первичные цвета смешиваются с одинаковой интенсивностью, образуются вторичные цвета — оранжевый, зеленый и фиолетовый. Между первичными и вторичными цветами возможно бесконечное количество градаций, которые часто называют гармоничными или аналоговыми.
Благодаря тому, что цветовые модели основаны на первичных цветах, их часто называют цветовой моделью Красный-Желтый-Синий (RYB). Однако интуитивно эта модель не полностью корректна, поскольку не все можно получить из смеси трех первичных цветов.
Цветовой диск является традиционным инструментом для демонстрации модели RYB, как показано на рисунке 2.2. Первичные цвета помещаются на равносторонний треугольник, а вторичные образуются на инверсном треугольнике. Цвета следуют по кругу в порядке светового спектра или радуги. Многие художники организуют свои палитры в виде цветовых дисков, что обеспечивает быстрое и предсказуемое смешение цветов. (Ирония состоит в том, что хотя палитра организована в соответствии со световым спектром, она в основном применяется для рассмотрения способов смешивания пигментов.)
Три перекрывающихся круга "красок", полученных из первичных цветов, служат для демонстрации основ смешивания пигментов (посмотрите на первую цветовую пластину). На пластине смешиваются три круга для формирования вторичных цветов. Коричневый цвет образуется в результате тройного смешивания в середине, что является также результатом смешивания дополнительных цветов. Ввиду того, что они расположены друг против друга на цветовом диске RYB, они содержат все три первичных цвета. Белый цвет определен как отсутствие цвета, поскольку на самом деле он представляет собой холст или бумагу, куда наносится пигмент.
На цветовом диске нет черного цвета. В детстве вас, наверное, научили создавать черный цвет, смешивая все остальные цвета, но обычно это приводит к созданию "грязного" цвета, а не черного. Из-за этой трудности многие считают черный цвет первичным и приобретают его как отдельный пигмент. По мере понимания сути цвета станет очевидным, что отсутствие черного цвета является недостатком модели цвета RYB. Хотя модель RYB является интуитивной в отношении общих цветов мира, она завершена неполностью.
Хотя цветовая модель RYB очень древняя и использовалась многими художниками, она не является точной цветовой моделью. Получение настоящих интенсивных цветов, таких как фиолетовый, фуксиновый или зеленоватый, невозможно, равно как и смешивание настоящего черного цвета. При столкновении с этой проблемой многим студентам, собирающимся стать художниками, говорят, что эти цвета трудно смешивать и лучше купить их в виде тюбика. Это связано с полным непониманием цвета, поскольку упомянутые выше цвета являются истинными первичными цветами. Нельзя сказать, что традиционные художники не знают, что они делают — они используют цветовую модель, которую можно связать со всем окружающим миром.
ПРИМЕЧАНИЕ
ПРИМЕЧАНИЕ
Вы должны использовать то, что цвет света является аддитивным, а пигменты — субтрактивными. При аддитивных цветах чем больше цвета добавляется, тем белее становится оттенок, а при пигментах при добавлении цветов оттенок темнеет. Это понятие кажется незнакомым ввиду того, что большинство людей вне театра или индустрии света не имеют опыта (или самой возможности) в смешивании цветов света. Но на самом деле вас каждый день окружает цветовая модель RGB, потому что каждый телевизор и монитор компьютера отображает цвет при помощи раздельных красного, зеленого и синего каналов.
Это упражнение указывает на важное понятие при смешивании цветов в 3DS МАХ. При регулировке ползунка Saturation или Value или обеих ползунков Whiteness и Blackness, просматривается весь диапазон данного оттенка. Хотя при создании цветов с использованием этих двух методов имеются подобия, получаемые результаты совершенно отличны. Если создается диапазон цветов, совместно использующих хроматический диапазон, необходимо придерживаться одного метода. Сигналы соседних цветов можно создавать либо при помощи независимой регулировки Value или Saturation, либо только посредством элементов управления Whiteness и Blackness. Если методы смешиваются, результирующие цвета не будут являться частью непротиворечивого сигнала.
Еще следует помнить о том, что значения всех цветов в 3DS МАХ хранятся только в виде значений RGB. Это означает, что для отображения HSV используются соответствующие хранимые значения RGB. Whiteness и Blackness никогда не отображают значения, поскольку они манипулируют Value и Saturation одновременно и являются только вспомогательными при смешивании цветов. Несмотря на то, что можно ссылаться и записывать определенное значение HSV, значения Whiteness и Blackness являются просто визуальными индикаторами.
В этой главе рассматриваются следующие фундаментальные аспекты:
Все в нашем мире имеет три размера, но мы обычно вынуждены представлять все в двух размерах. Независимо от того, рисунок ли это, фотография или экран компьютера, три размера превращаются в двухмерную плоскость. Работая при таких ограничениях, необходимо установить много соглашений для описания и проектирования объектов, которые требуется создать или отобразить. При компьютерном моделировании выполняется тот же анализ, которым на протяжении веков занимались чертежники, проектировщики и художники; но в отличие от них, у вас имеется динамический выбор способов просмотра своей информации в любой данный момент времени, поскольку информацию в пределах трехмерной модели можно просмотреть в любое время с любой выгодной точки. В этом смысле компьютерное моделирование больше всего похоже на скульптуру, но при создании скульптуры ее следует абстрагировать до сцены с двумя размерами. В результате возникает тенденция попеременного и одновременного использования традиционных и перспективных видов по мере перехода от чертежных методов к скульптурным.
Практически все, что было создано или создается, начинается с рисунка. Некоторые рисунки не представляют собой ничего более, чем набросок салфетки, в то время как другие требуют труда сотен инженеров. Независимо от того, что рисуется - простое зубчатое колесо или очень сложный самолет - нужен один или несколько рисунков, определяющих конструкцию. Большинство создаваемого в 3DS МАХ явно или косвенно появляется из рисунков. Наброски, который сделает режиссер студии, нужно будет интерпретировать, синьки и чертежи с размерами потребуется транслировать, а рисунки в цифровой форме (из других программ CAD) могут стать естественными шаблонами для создания ЗО-моделей в 3DS МАХ. В любом случае, знание терминов рисунка и способов их использования имеет важное значение, обеспечивающее возможность связывания традиционно созданной информации с компьютерной графикой. Вы увидите, что большинство стандартных соглашений о рисунках может относиться к работе в окнах 3DS МАХ, которые позволяют применять установленные методы конструирования во время просмотра в более естественной перспективе.
Большинство рисунков создаваемых элементов являются ортогональными - эти рисунки представляют собой виды предмета, сделанные точно под углом в 90° безо всякой перспективы. Ортографические виды играют важную роль ввиду того, что показывают точное соотношение между высотой и шириной. Все части предмета изображаются параллельно плоскости просмотра и предмет становится объемным в случае просмотра его в перспективе. На ортогональном изображении все имеет одинаковый масштаб, тогда как в перспективе приближенные предметы кажутся увеличенными, а удаленные - уменьшенными. Характерные для ортогонального изображения перпендикулярные виды образуют вокруг предмета "куб" (рис. 3.1).
Во многих случаях (например, при массовом производстве) детали изображаются в трех проекциях и, возможно, дополняются аксонометрическим видом. В других случаях (например, в архитектуре) стремятся показать все виды, даже если они избыточны, и дополняют их поперечными сечениями, чтобы показать соотношения между ними и структурные детали.
Когда виды отклоняются от перпендикуляра, они начинают каждый раз отображать более одной стороны и вид становится перекошенным. Виды такого типа называются аксонометрическими, а в 3DS МАХ они называются еще пользовательскими видами (User Views).
ПРИМЕЧАНИЕ
Аксонометрические пользовательские виды полезны ввиду того, что обеспечивают связь между параллельными линиями. Линии не превращаются в исчезающие точки, как это бывает при нашем ежедневном видении, но остаются параллельными. Связи легко идентифицировать, поскольку положение любой детали можно спроектировать обратно в любую другую область вида. На рисунке 3.3 вы обратите внимание, что характеристики каждого куба остаются параллельными, а относительный масштаб характеристик изменяется в соответствии с вращением.
Легко обнаружить, что пользовательские виды более предпочтительны по сравнению с видами перспективы, потому что элементы сцены пропорциональны друг другу, связи можно просто идентифицировать и элементы управления просмотром те же, что и для случая ортогональных видов. Несмотря на то, что иногда работа в перспективе может быть совершенно естественной, расстояние часто трудно оценить, а опция Zoom Window (изменить масштаб окна) отсутствует.
В повседневном смысле перспектива является видом объектов в глубину, как это воспринимается обычным человеческим зрением. Мы наблюдаем все вокруг себя в перспективе. Камеры, телевидение и фильм отображают мир на двухмерных плоскостях пленки, стекла или экрана так, как они его видят в перспективе. В то время, как эти устройства воспроизводят изображения автоматически, художники традиционно должны создавать собственную перспективу вручную, транслируя видимый трехмерный мир в двухмерную плоскость на бумаге или на холсте. Способ, в соответствие с которым художники создают перспективу, важно знать, понимать его влияние на композицию, а терминологию можно заменить той, которая применяется людьми, незнакомыми с компьютерной графикой. #PВ контексте рисунка перспектива относится к различным методам, созданным художниками для представления трехмерных объектов и создания перспективы на двумерной поверхности. Некоторые эмпирические, механические и основанные на конструкции методы используются ежедневно. Эти методы включают совершенно конкретные шаги и процедуры для создания перспективы, нарисованной от руки. К счастью, 3DS МАХ делает все это в окне Camera с большей точностью, чем может обеспечить большинство чертежников. Приведенное ниже рассмотрение относится к терминам перспективы, традиционно используемыми художниками для аналогии с камерой 3DS МАХ. В традиционной теории перспективы глаз наблюдателя помещается в отправную точку и смотрит на точку на расстоянии, которая называется центром видения. В 3DS МАХ это эквивалентно размещению камеры и ее мишени. Корреляция между двумя моделями показана на рисунке 3.4.
Линия, проходящая между вашим глазом и центром видения, часто называется линией взгляда. 3DS МАХ визуально рисует эту линию для соединения камеры и цели. Этот вектор отслеживает центр вашего зрения и показывает, что может видеть глаз. Если упомянутая линия блокируется объектом, невозможно увидеть то, что за ним находится. Эту линию взгляда можно использовать при просмотре сцены сверху до расположения своих камер и мишеней, зная то, что можно увидеть.
Линии взгляда могут проходить между вашим глазом и каждым объектом на сцене. Эти линии вычерчиваются на теоретической плоскости, которая подвешена между вами и сценой и называется плоскостью изображения. Для художника последнее эквивалентно листу бумаги, на котором рисуется сцена. Для 3DS МАХ - это каркас окончательного изображения и именно таковым является видовое окно Camera.
ПРИМЕЧАНИЕ
Высота вашего глаза (отправная точка) или расположение камеры является также высотой горизонта сцены. Линия горизонта вычерчивается через отправную точку параллельно плоскости грунта. Все линии, параллельные подложке, преобразуются в точки на горизонте. Горизонт можно считать бесконечно большой плоскостью, которая находится на расстоянии, всегда сохраняющем постоянную высоту от плоскости грунта. Когда объекты удаляются на расстояние, они кажутся лежащими на горизонте.
СОВЕТ
Горизонт является важным понятием, поскольку все горизонтальные линии (линии, которые лежат на плоскостях, параллельных плоскости грунта) визуально сходятся в исчезающие точки, расположенные на горизонте. Линии, лежащие на плоскостях ниже вашего глаза, сходятся в точку вверху на линии горизонта, а линии на плоскостях выше вашего глаза сходятся в точку внизу. Линии, которые расположены непосредственно на уровне вашего глаза, совпадают с горизонтом и рассматриваются как одна "линия". Понимая, что такое исчезающие точки, можно лучше расположить объекты внутри сцены и определить наилучшую точку, из которой их следует наблюдать. Исчезающие точки также имеют тенденцию притягивать глаз наблюдателя и в этой связи представляют интерес. Расположение их влияет на интенсивность композиции. #PУгол, под которым производится наблюдение от одной стороны до другой, называется конусом зрения или углом обзора, что эквивалентно полю обзора (FOV) в 3DS МАХ (рис. 3.5). При создании традиционных перспектив угол обзора часто равен 30° в каждую сторону от линии взгляда. В действительности это сделано из-за удобства использования треугольника с углами 30°-60°, а не из-за сохранения физической достоверности. Угол, при котором человеческий глаз может сфокусироваться, приближается к 45° - полю обзора, которое обеспечивают по умолчанию линзы 305 МАХ с размером 51.944 мм.
Перспектива обычно описывается в соответствии с количеством первичных исчезающих точек, которые присутствуют на сцене. Мир, в котором мы живем, обычно основан на прямых углах. Вы пишете на прямоугольной бумаге, создаете объекты, состоящие из углов квадрата, строите большинство зданий перпендикулярно земле и размещаете их "квадратом к миру" на ортогональной сетке улиц и кварталов. Перспектива больше всего влияет на параллельные линии и прямые углы. В результате этого о перспективе принято говорить по отношению к простому кубу (рис. 3.6). Просмотр в одноточечной перспективе Приведенные ниже примеры относятся к рисункам игрушечного кубика, демонстрирующим различные принципы перспективы. При желании поэкспериментировать самостоятельно с видами загрузите сцену toyblok.max из CD-ROM.
Линия взгляда камеры по-прежнему остается перпендикулярной кубу, поэтому результирующий вид остается в одноточечной перспективе.
Если вы нс являетесь квадратом кубика, исчезающая точка имеется на каждой из двух видимых сторон. Эти исчезающие точки находятся вдали от камеры, на линии горизонта, слева от нее и справа. Результат можно просмотреть в видовом окне 2-Point Camera, показанном на рисунке 3.7. Такой вид называется двухточечной перспективой, поскольку теперь есть две исчезающие точки.
В то время, как одноточечный вид должен располагаться по перпендикуляру к одной из граней кубика, двухточечный вид можно сделать откуда угодно. Помните, что необходимо сохранять уровень линии взгляда (цель и камера должны находиться на уровне плоскости грунта), чтобы вертикальные линии оставались вертикальными. Чертежники могут совершенно просто определить расстояние с помощью двухточечной перспективы, потому что вертикальные плоскости остаются неизменными - это одна из причин, по которой двухточечная перспектива является наиболее общепринятой моделью перспективы, нарисованной вручную.
Эффект двухточечной перспективы можно наблюдать посредством регулировки камеры в предыдущей сцене.
Когда вы больше не смотрите на кубик вдоль линии взгляда, т.е. вы смотрите вверх и вниз, - вертикальные линии также сходятся в исчезающую точку. Такой результат можно наблюдать в видовом окне 3-Point Camera, показанном на рисунке 3.8. Все три плоскости кубика теперь имеют исчезающие точки, и такой вид с уверенностью можно назвать трехточечной перспективой. Вертикальные линии куба сходятся в исчезающую точку на линии, нарисованной по вертикали из центра зрения. Если смотреть вниз на точку, расположенную ниже горизонта, вертикальные линии кубика сходятся внизу. Эти линии сходятся вверху, когда вы смотрите на точку над горизонтом. Если смотреть на уровне горизонта, получается двухточечная перспектива.
Трехточечная перспектива на текущей сцене легко получается следующим образом. Переместите выбранную камеру по вертикали в видовом окне Front. Стороны кубика, которые раньше были параллельными, теперь становятся наклонными и сходятся в исчезающую точку. При этом создается трехточечная перспектива, поскольку камера больше не находится на уровне линии взгляда на свою мишень.
Все линии имеют исчезающие точки. Показанный на рисунке 3.9 кубик имеет только три набора исчезающих точек, по одному для каждой группы его параллельных плоскостей.
В создаваемой сцене геометрия может иметь многочисленные углы и содержать сотни исчезающих точек. При рисовании такого рода сложных сцен чертежники и художники обычно сосредоточиваются на основных точках и делают аппроксимации для остальных. Каждая линия, которая параллельна плоскости подложки или равномерно опирается на пол, имеет исчезающую точку на горизонте. Если линии имеют вертикальный скос или наклон или наклонно выходят из плоскости грунта, они преобразуются в исчезающие точки, расположенные непосредственно выше или ниже горизонта. Как можно видеть, полная трехточечная перспектива иногда оказывается сложным испытанием. Именно эта сложность и является одной из причин, по которой художники предпочитают избегать подобных перспектив. Но не беспокойтесь об этом - 3DS МАХ позаботится о вычислениях и позволит потратить время только на композицию.
Основным понятием, которое следует помнить, является то, что уровень, на котором расположен ваш глаз, определяет горизонт. Из-за того, что данная высота для большинства людей отличается не более, чем на фут, их глаза будут наблюдать такой же горизонт, как и вы, если они находятся на такой же плоскости грунта, что и вы. Глаза толпы, таким образом, лежат на одной линии и находятся на уровне горизонта, как показано на рисунке 3.9. Если вы видите голову выше горизонта, вы знаете, что этот человек выше вас или он стоит на более высоком грунте. Если голова ниже горизонта, рост у этого человека меньше, чем у вас, или он стоит на более низком грунте.
Если уровень ваших глаз параллелен плоскости грунта, горизонт расположен совершенно по центру вида. Когда вы наклоняете голову и перемещаете центр своего зрения или камеру, горизонт в виде сдвигается вверх и вниз. При изменении положения горизонта в композиции, его высота от грунта не изменяется; он всегда находится на высоте вашего взгляда.
Очевидно, на компьютерной сцене линия горизонта имеется только в том случае, если на расстоянии существует достаточно объектов для определения этой линии. У большинства моделей нет достаточной геометрии, чтобы уменьшиться до естественного горизонта. Обычно для создания глубины и установления горизонта используется внешняя сцена. Будьте очень внимательны к линии истинного горизонта (высота вашей камеры) и линии горизонта, которую указывает фон. Если горизонты отдалены друг от друга, соответствующая сцена выглядит так, как будто она утонула в долине или вознеслась на возвышенность. Если подобные эффекты нежелательны, следует переместить свою камеру на уровень горизонта фона или отрегулировать изображение фона. На рисунке 3.10 показано, как перемещение головы вверх и вниз смещает горизонт, но не изменяет его соотношения с плоскостью грунта, что противоположно перемещению камеры на более высокий грунт.
Очень просто поместить в качестве фона изображение биржи только для того, чтобы обнаружить, что он не выровнен с высотой камеры - и чтобы определить, где находится линия горизонта. Объекты и линии на сцене правильно уменьшаются в перспективе, но исчезающие точки не попадают на горизонт. Это может показаться в некоторой степени тривиальным и иногда трудноуловимым, но большинство поймет, что изображение не вполне корректно.
Вероятно, вам знаком пример, когда рельсы ровной железной дороги на плоском грунте уходят к горизонту. Кажется, что на расстоянии рельсы сходятся в одной точке (рис. 3.11). Рельсы являются предельным примером из-за того, что несколько сделанных наблюдений сильно различаются и их можно разделить. Этот пример не отражает истинной сложности зрительных данных, которые вы воспринимаете практически в каждый момент.
Ваш глаз воспринимает много изображений - и очень быстро - после чего ваш разум составляет форму всей картины, из которой он делает выводы. Мозг организует очертания и формы в соответствии с пространственными соотношениями. Если проанализировать моментальный снимок сцены, можно увидеть, что все линии "наклонены" или сходятся в точку. Но "глаз разума" стремится откорректировать вид реального мира и понимает, что эти линии параллельны, а не сходящиеся в точку. Последнее является интерпретацией реальности - и, кроме того, объекты на самом деле являются параллельными. Через мир, который ваш разум воспринимает пространственно, гораздо проще продвигаться. Представьте себе мир, в котором вы должны постоянно оценивать эффекты перспективы, прежде чем прогуляться через комнату! Возможность не видеть мир в перспективе является очень полезной и более нормальной. Ваш разум выполняет эту пространственную трансформацию автоматически.
Для настоящего понимания перспективы следует узнать о том, как видеть мир не в виде пространственных изображении, полученных в результате трансформаций вашим разумом, а в виде моментальных снимков из камеры. Перспектива познается; она не является очевидной. Художники узнают о том, как обнаружить сходящиеся в точку линии и исчезающие точки, когда они рисуют сцену, и держат эти правила в уме, производя наброски объектов. Перспективы не понимали полностью вплоть до появления Ренессанса, поэтому не чувствуйте себя неудобно, если перспектива не сразу очевидна для вас.
Хотя ваш разум не интерпретирует того, что видит, в соответствии с правилами перспективы, последние ему известны. Рисунок или иллюстрация, у которых есть перспектива, для любого кажутся имеющими недостаток. Вы можете и не определить что же не так, но интуитивно чувствовать этот факт.
Перспектива оказывает огромное влияние на воспринимаемое настроение и действие изображения. Сцена, нарисованная с плоской перспективой, кажется стабильной и удаленной. В противоположность этому, очень обширная перспектива придает сцене движение, приближает ее и, может быть, делает сцену несколько нестабильной. Перспектива вносит важный вклад в композицию. Знание основных правил перспективы поможет выполнять композицию схемы так, чтобы достигнуть желаемых результатов. На рисунке 3.12 показаны два одинаковых вида города - один с плоской перспективой, а другой - с обширной. Оба вида сделаны вдоль одной линии взгляда (через линзы разных размеров и на разных расстояниях), но создают очень различные впечатления от одной и той же сцены.
Правила и эффекты перспективы гораздо проще понять путем анализа фотографий. Эти замороженные изображения, сделанные со стационарной выгодной позиции, не позволят вашему глазу разума ассемблировать изображения. Каждый вид перспективы, который предоставляет 3DS МАХ, по существу, является такой фотографией.
Исключительные возможности перспективы заложены в среду 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 мм камеры следует познакомиться, потому что это является аналогией того, что 3DS МАХ использует для описания поля обзора в видовых окнах Camera (рис. 3.13). Отметим, что такое соотношение справедливо только до тех пор, пока используется камера такого же типа. Другие стандарты размеров пленки (например, 4"х5" или 70 мм для движущегося изображения) имеют другие диапазоны размеров линз для приведения в соответствие с полем обзора. В 3DS МАХ размером линзы по умолчанию является 43.46 мм, что создает поле обзора, эквивалентное вашему естественному взгляду - 45°.
Чем меньше размер линзы камеры, тем шире поле обзора и больше подчеркивается перспектива. Попытайтесь самостоятельно отрегулировать камеры на модели Toy Block. По мере того, как выбираются линзы меньшего размера, поле обзора увеличивается. Манипуляция размерами линз делает эту зависимость очевидной.
При этом происходит одновременное улучшение и изменение FOV, что точно показывает, как изменяется обширность перспективы при изменении размеров линз. (Этот эффект описан дальше в главе 20, "Камеры и установка снимка".)
Линзы размером меньше 50 мм (точнее, меньше 48.24 мм) обеспечивают большее поле обзора, чем это обычно может сделать человеческий конус зрения. Такие линзы считаются широкоугольными, а сделанные с их помощью виды часто называются широкоугольными видами. Эффекты перспективы, достигнутые при помощи таких линз, являются преувеличенными. Набор линз, который обеспечивает Camera/Adjust, соответствует набору линз, который можно приобрести в магазине.
При выборе линз с размером ниже стандартных размеров 35 мм и 28 мм широкоугольные линзы могут вызвать чрезмерное искажение перспективы, что может создать серьезно сбивающие с толку эффекты в зависимости от того, как делается композиция заключительной сцены. Очень маленькие линзы размером 10-15 мм часто называются "рыбьим глазом", поскольку начинают сильно напоминать сферу. Геометрия, которую видно через такие линзы, кажется "согнутой" при просмотре от одной стороны к другой. Самые маленькие линзы 3D Studio MAX, рыбий глаз с размером 9.8 мм, обеспечивают поле обзора в 178° и при этом создается такое впечатление, что вы смотрите практически позади себя! Подобные линзы следует использовать для очень специальных эффектов.
ПРИМЕЧАНИЕ
Важным восприятием человеком трехточечной перспективы является то, что когда объект становится более обширным, кажется, что он увеличивается (или уменьшается наблюдатель). Такой эффект основан на ежедневных наблюдениях. Если здание очень высокое, а вы стоите возле него, очевидно, что вертикальные линии здания сходятся в верхней точке вдали от вас. Чем ближе вы находитесь, тем больше здание заполняет сцену. Когда вы напрягаете шею, чтобы рассмотреть его, вид искажается еще больше. Обширность трехточечной перспективы (рис. 3.14) может еще больше усилить эти эффекты - простой блок кажется очень большим.
Линзы с длиной более 50 мм называются телефотолчнзами. Эти линзы могут изменять масштаб сцены больше, чем может сделать ваш глаз, и работают по принципу телескопа. Большие телефотолинзы, которые часто появляются в руках спортивных фотографов, на самом деле имеют размер небольших телескопов. Размеры сцены, которые эти линзы могут воспринимать, пропорционально меньше, и их эффектом является уплощение перспективы. Обширность перспективы сведена к минимуму, поэтому виден только небольшой угол сцены. Такой эффект можно смоделировать на фотографии путем подрезки небольшой области и анализа отсутствия сходящихся в точку линий и уплощения перспективы. Иногда следует отдать предпочтение уплощенной перспективе.
Линзы 85 мм получили прозвище портретных линз, поскольку что они немного уплощают характеристики предмета, в результате чего получается более плоское изображение. Если вы будете использовать для портрета широкоугольные линзы, они исказят характеристики предмета и вы можете потерять свой заказ.
При выборе линз для камеры никогда не следует выходить из широкого диапазона. 3DS МАХ имеет неправдоподобно высокий предел для размеров линз, составляющий 100.000 мм (при соответствующем FOV в 0.025). Такие линзы эквивалентны большому обсерваторному телескопу или очень мощному электронному микроскопу. Линзы такого размера эффективно уничтожают перспективу и делают вид похожим на проекцию с планера или с настоящего возвышения.
Многие чертежники и художники ограничивают свои иллюстрации двухточечной перспективой из-за человеческого восприятия и простоты использования. Глаз человека стремится "скорректировать" скашивание вертикальных линий сцены. Просмотр изображения в трехточечной перспективе заставляет многих усомниться в его правильности, что типично для видов интерьера, где для получения достаточно большого обзора необходимы широкоугольные линзы. Вертикальные линии вблизи краев вида начинают скашиваться так, что это доставляет наблюдателю неудобства; каждый знает, что стены прямые сверху донизу.
В фотографии схождение вертикальных линий в точку называется параллаксом. Если вы направляете свою камеру вверх или вниз так, чтобы она не находилась на уровне плоскости грунта, вид приобретает трехточечную перспективу и появляются признаки параллакса. Эти эффекты особенно заметны по краям вида и все больше и больше увеличиваются при расширении поля обзора. На рисунке 3.15 показан вид интерьера с параллаксом.
В традиционной иллюстрации, особенно в фотографиях произведений архитектуры и интерьера, параллакса следует избегать и поэтому фотографы отходят на большие расстояния. Вы можете полностью избежать этого эффекта, всегда удерживая камеру на уровне грунта. Однако подобное может привести к созданию менее захватывающих композиций и, вероятно, заставит подрезать сцену или перемещать камеру на неоправданно большую высоту.
Камеры с видоискателями, также известные как крупноформатные, камеры с изменяемой плоскостью или камеры 45, позволяют фотографу откорректировать эффекты параллакса за счет манипуляций внутренними зеркалами. Такую же возможность имеют камеры 35 мм, у которых имеются специальные линзы управления перспективой (PC). 3DS МАХ обеспечивает практически такую же возможность через опцию визуализатора Blowup (рис. 13.16).
ПРИМЕЧАНИЕ
Организация объектов на сцене, их взаимодействие с внешним окружением и способ, в соответствие с которым они наблюдаются, объединяются в форму, называемую обычно композицией или окончательным рисунком. Композиция может оказаться очень субъективной и поэтому очень запутанной для тех, кто пытается узнать о ней. Некоторые художники согласны с ее определением, но большинство подтверждают только то, есть ли в конкретном произведении искусства композиция или ему не хватает композиции. Понимание эффективности композиции - это ощущение или интуиция, которая развивается со временем и основана на некоторых объективных рекомендациях.
Существуют основные принципы, которые многие принимают как правила большого пальца или, по крайней мере, как соображения при организации композиции. При создании композиции учитывайте перечисленные ниже принципы, но помните, что они не являются быстрыми и жесткими правилами. С опытом вы почувствуете, когда следовать этим принципам, а когда их игнорировать чтобы получить хорошую композицию.
Иногда художники уменьшают компоненты сцены до их силуэтов, чтобы помочь создать и подтвердить свои композиции. Этот метод делает все объекты на сцене совершенно черными на белом фоне, и создается впечатление, что сцена сзади освещается мощным источником белого света. Видны только итоговые, общие формы. Внутренние края и наложения объектов затемняются. Сцена воспринимается как один быстрый жест. Такой метод называется грунтом рисунка.
Вы можете анализировать грунт рисунка в изображении при каждой визуализации. На рисунке 3.17 показано, как кнопка Display Alpha Channel отображает альфа-канал при каждой визуализации в 3DS МАХ. Это не опция, которую нужно устанавливать, поскольку 3DS МАХ всегда визуализирует альфа-канал и его всегда можно просматривать независимо от того, хотите вы или нет сохранять данное изображение.
Художники и создатели фильмов для улучшения композиции часто используют небольшие эскизные наброски. Эти наброски не должны быть очень детальными и даже очень точными. Термин "эскиз" относится к размеру. Эскиз должен быть велик настолько, чтобы охватить общую композицию сцены - набросок грунта рисунка, рисунки привязки, перекрывающиеся положения "объектов замены" или что-нибудь другое, что лучше всего представляет элементы в композиции. Многие из тех, кто использует эскизы, делают их быстро и часто. Обычно за минуту делается пять-шесть эскизов с целью выбора подходящего. Преимущество эскизов заключается в попытке объяснения, что вы пытаетесь делать и куда двигаетесь.
Камеры 3DS МАХ являются очень мощными композиционными инструментами. Они позволяют анализировать неограниченное количество углов обзора и пропорции с любой точки. Одним из полезных методов для экспериментирования с композицией является клонирование рабочей камеры, реализуемое через нажатие на Shift. Оставьте активным видовое окно другой камеры для сравнения при экспериментировании с новым клоном. После получения удовлетворительного вида снова и снова выполняйте клонирования до тех пор, пока не будете убеждены, что это ваша окончательная композиция. Может потребоваться сохранение предварительных идей, особенно если за ними стоит сложная анимация. Для этого можно сохранять другие камеры для последующей ссылки, сохранять изображения в файлах МАХ для использования в будущем или сохранить оригинал и унаследовать от него контрольный след сохранения в Keyframer. Если вы уверены в том, что та или иная идея больше не понадобится, можно удалить соответствующие клоны камеры.
Однако процесс планирования и разработки анимации не вполне вам знаком. Пока не станет известно, что такое кинематограф, постановка пьесы, написание произведения и другие виды искусства, связанные с движением, вы не овладеете искусством эффективного планирования выполнения анимационных проектов. В этой главе рассматривается, как спланировать и разложить анимационный проект путем применения сюжетных панелей, и вводится несколько понятий, связанных с анимацией.
Глава включает рассмотрение следующих понятий анимации:
Что такое сюжетная панель? Многие думают, что сюжетная панель - это гладкая рекламная картинка, транслируемая по телевидению. К сожалению, такое впечатление заставляет думать, что сюжетные панели используются только для продажи идей. На практике же сюжетные панели являются важной частью проектирования любой презентации.
Сюжетные панели появились в 1930-х годах, когда режиссеры и аниматоры поняли, что традиционно написанный сценарий не годится для создания анимационного фильма. Живое действие имеет в своей основе множество диалогов и незначительное количество более сложных действий. С другой стороны, анимация стремится минимизировать диалоги и выразить все через действие. Иногда анимация похожа на пантомиму, а не на живое действие. Результатом понимания того факта, что написанный сценарий не годится для анимации, оказалось создание сюжетных панелей.
Сначала пишущие сценарий делали набросок каждой основной сцены или важного действия и прикрепляли эти изображения к панелям для просмотра. Наброски содержали минимальное количество текста для описания диалога или эффектов камеры. Если сцена не работала графически, ее отбрасывали. Такой метод оправдал себя настолько, что даже сегодня в основе практически всех фильмов и профессиональных презентаций на этапе разработки лежат сюжетные панели.
ПРИМЕЧАНИЕ
Итак, в чем же состоит процесс создания сюжетных панелей? Перед созданием такой панели необходимо придумать историю, которую следует рассказать. Многие аниматоры сразу переходят к программе и думают, что история и последовательность действий появятся в процессе создания анимации. Но так никогда не бывает. Перед тем, как усесться за компьютер, вы должны располагать тремя вещями:
Эти три элемента не всегда являются отдельными физическими документами. Часто сюжетная панель и сценарий объединяются; может быть, история существует только в вашей голове. Независимо от того, какую форму принимают эти компоненты, их следует полностью спланировать и иметь перед началом работ по созданию анимации.
Какую историю вы хотите рассказать посредством этой анимации? Как вы привлечете внимание аудитории? С чего начинается история? Чем она заканчивается? Сколько времени потребуется, чтобы рассказать историю? Все это необходимо учитывать. Иногда для анимации желательно иметь всю историю, но чаще нужна только идея и требования ко времени ее реализации.
Клиент может сказать: "Создайте анимацию предлагаемого здания, дабы привлечь внимание арендаторов". Это - идея истории и на стадии сюжетной панели ее оказывается недостаточно. Проблемы, которые требуется решить для вашей истории, начинаются с таких вопросов: "Какие главные продажные характеристики здания?" или "Должно ли здание располагаться поблизости от транспортных центров?" Если проблема доступа к транспорту имеет значение, может быть, потребуется оценка места расположения скоплений транспорта с высоты птичьего полета.
Как показать вход в холл и место, в котором будут приниматься посетители? Как показать офисные аппартаменты? Как попасть в эти аппартаменты? Компьютерная графика и демонстрационные ленты засорены безжизненными, надоевшими архитектурными деталями, которые могли отснять только зомби, бродящие по зданию. Как аниматору, вам предстоит сделать интересной даже самую скучную историю, причем в пределах времени, отведенного клиентом.
Теперь имеется история, которую вы будете рассказывать, и, может быть, вы ее даже где-то записали и несколько раз прочитали. Убедитесь в том, что она вам нравится. Как узнать, насколь удачно будет выглядеть история при анимации? Именно для этого и служит сюжетная панель.
Возьмите историю и разделите ее на основные сцены, важную последовательность действий и переходы между сценами. Даже если вы не уверены, насколь важна та или иная сцена или действие, все равно включите их. Вы обнаружите, что гораздо проще удалить или выбросить сцену, чем начать анимацию и обнаружить, что какая-то важная проблема осталась нерешенной.
После того, как история разделена на отдельные части, сделайте быстрые концептуальные наброски каждой сцены или действия. Это момент, когда многие могут сказать: "Подождите! У меня есть компьютерная графика, поэтому я не хочу рисовать это вручную!" Помните, что упомянутые наброски нужны именно для вас. Наброски на сюжетной панели должны быть быстрыми и приблизительными, и если даже они выглядят по-детски - еще лучше. Если потратить некоторое время на улучшение набросков, можно потерять нить действия и цель, во имя которой создается панель.
После завершения работы с рисунками разместите их на панели, распределите на столе и просмотрите всю историю. Переходит ли действие от одной сцены к следующей? Есть ли какое-нибудь неудобство в способе, по которому разворачивается действие? Ничего ли не потеряно? Можно ли все эти сцены анимиро-вать в отведенное время? На эти вопросы гораздо легче ответить, когда перед вами лежат наброски, а не написанная история. Проанализируйте сюжетную панель и при необходимости измените наброски. Если требуется прочитать примечания к наброску, проанализируйте, что случилось в этом месте истории. Например, сцена или действие кажется вам очень слабым. Вы должны или усилить сцену, или отвергнуть ее. Текст, относящийся к рисунку, нужен только для подробной информации и для описания того, как собрать все на сцене. Не ожидайте, что текст оживит слабое действие или плохо спланированную сцену.
После утверждения сюжетной панели наступило время написания сценария. В фильмах сценарий сообщает, что сказать актерам, что сделать и когда это сказать и сделать. В случае типовой анимации 3DS МАХ сценарий не следует совершенствовать до бесконечности. Сценарий должен быть сфокусирован на идентификации ключей анимации и определении, что происходит в каждом ключе. Если вы планируете использовать звуковые эффекты, нужно указать моменты, когда появляются звуки и как они связаны с ключами анимации.
Один из полезных способов обращения со сценариями заключается в копировании сюжетной панели и добавлении к наброскам временных отметок или номеров кадров. При этом также следует добавить замечание о том, какие звуковые эффекты принадлежат данной сцене. Затем необходимо проверить все сделанные предположения о синхронизации и общей длительности анимации. Проделайте работу с сюжетной панелью и сценарием несколько раз до тех пор, пока не поймете, что анимация синхронизирована корректно.
При создании анимации можно использовать несколько типов сюжетных панелей. Первый тип близок к тому, что было описано выше - быстрые, грубые наброски связанных между собой сцен с замечаниями о синхронизации, эффектах камеры и звуке. Такой набросок до сих пор считался самой важной версией сюжетной панели и тем инструментом, с которым вы работаете при создании анимации.
Другим типом сюжетной панели является презентационное устройство. Помните ли вы о том, что клиент и аниматор должны завизировать заключительную сюжетную панель в качестве части контракта? Часто бывает неудобно представлять клиенту на подпись грубую рабочую версию сюжетной панели. В этом случае можно приобрести формы сюжетных панелей, включающие небольшие пустые экраны с разлинеенными строками для заметок. Лист такой панели показан на рисунке 4.1. Тщательно перерисуйте эту форму для представления клиенту и утверждения им
Такую форму сюжетной панели следует создавать только после завершения рабочей сюжетной панели, содержание которой вполне удовлетворяет. Пытаться одновременно рисовать презентационную сюжетную панель и работать с анимацией просто невозможно.
Процесс создания сюжетной панели описан в предыдущем разделе. Однако следует отметить ряд существующих технических проблем. Во-первых, метод рисования должен быть быстрым и приблизительным - все, что замедляет поток идей, убивает творческий процесс. Многие могут совершить ошибку при использовании заранее подготовленных форм сюжетной панели, которые содержат множество сцен на одном большом листе. Такой подход приводит ко многим проблемам. Заранее подготовленные кадры имеют тенденцию подавлять процесс рисования; вы пытаетесь строго выдерживать линии, а четкие кромки кадров несовместимы с быстрым методом рисования. При этом также, если на одном листе находится много кадров, трудно заменить или отбросить кадры при осуществлении изменений. Каждую сцену необходимо размещать на отдельном листе бумаги ввиду того, что если сцена не сработает, она отбрасывается и апробируется другой подход.
Второе касается размера сюжетной панели. Рисунки каждой сцены должны быть небольшими, чтобы можно было рисовать быстро и концептуально. Если лист бумаги очень большой, может возникнуть неуправляемое желание заполнять его деталями и фоном, чтобы сделать рисунок более "законченным". Небольшие, клейкие блокноты для набросков или даже листочки - вот что хорошо подходит для листов сюжетных панелей. Они стоят дешево, страницы легко отрывать и их размеры невелики. После того, как нарисованы все сцены, отдельные наброски легко расположить на панели, с минимальными усилиями оторвать, заменить или организовать по-другому.
После того, как клиент завизировал сюжетную панель и вы начали работать с анимацией, всячески пытайтесь придерживаться этой панели. Если над проектом работает несколько людей, каждому предоставьте копию сюжетной панели. Голливудский режиссер не пойдет на место съемки без сценария, и вы не должны садиться за рабочую станцию, если под рукой нет сюжетной панели.
Приведенный ниже пример позволяет быстро создать сюжетную панель для простой анимации. Не забывайте, что наброски для сюжетной панели должны быть очень свободными и приблизительными. Размер набросков должен быть небольшим, и каждую сцену или отдельное действие следует изображать на отдельной странице.
Если у вас нет небольшого записного блокнота, сделайте свои листы для набросков, сложив стандартную страницу размером 8 1/2" х 11" вчетверо и разорвав ее на части так, чтобы размер каждой части составлял 4 1/2" х 51/2'.
Будем создавать сюжетную панель для истории под названием "Большой отскок". Окончательная анимация продолжается около 20 секунд.
Представьте себе, что вы смотрите на великолепный пейзаж, стоя на краю скалы, и в этот момент выкатывается красный мячик и останавливается на краю скалы. Кажется, что мячик хочет посмотреть через край, и затем после короткой паузы он дважды подпрыгивает и перелетает через край скалы.
Вы хотите посмотреть как упал мячик, торопитесь и останавливаетесь в нескольких дюймах от обрыва. Внезапно мячик ударяется о землю с большой силой и, отскочив, исчезает из виду.
Вы стоите на вершине утеса и думаете, что же произошло, когда вдруг замечаете на фоне еще три мячика. Мячики медленно вращаются один за другим, показывая результаты 9.5, 9.6 и 9.4. Практически совершенный отскок.
Сначала историю необходимо разделить на основные сцены и последовательность действий. Рассмотрим следующие сцены:
Теперь, при наличии сюжетной панели, необходимо учесть, когда происходит каждое действие. Добавьте к каждому наброску сюжетной панели ссылки на время и описания камеры. Ниже приведен список того, как может работать синхронизация в предположении, что в диалоге Time Configuration (конфигурация времени) установлена частота кадров 15 кадров/с:
Только что вы прошли через процесс создания истории, рисования сюжетной панели и создания сценария для простой анимации. Даже при создании такой простой анимации, как эта, необходимо работать над синхронизацией и ключевыми кадрами для создания различных сцен. Представьте себе как создать настоящую анимацию без первоначальной работы над сюжетной панелью и сценарием.
Многие используют компьютерную анимацию только для создания модели. Они считают, что если создать модель, которая хорошо выглядит, она оживет сама. К сожалению они заблуждаются. Демонстрационные ленты и даже самые разрекламированные анимации страдают от объектов, которые движутся неуклюже и нереалистично. Этой ловушки можно избегнуть, если понимать, что при любой анимации движение является важной частью всего продукта. Движение следует разрабатывать так же тщательно, как вы строите модель и применяете материалы. На практике движение является составной частью 3DS МАХ, которое трудно украсить совершенными материалами или моделью объекта без понимания способов корректной анимации.
Понимание того, как объекты двигаются и как моделировать их движение в компьютерной анимации,
Как и любой другой элемент проекта, эффективное движение имеет большое значение для достижения успеха в своей анимации. Анимация нереальных и фантастических объектов, подобных говорящим животным и сражающимся космическим кораблям воспринимаются легко, потому что они находятся в движении. Вы также видели много анимаций, в которых объект смоделирован очень подробно и тщательно визуализи-рован, но по каким-то причинам он не привлекает внимания. Причиной неудачной анимации обычно является нехватка или неправдоподобность движения. Другими словами, ваше воображение чувствует, что в модели чего-то не хватает, однако не прощает грубого и нереального движения.
Итак, как же движение становится частью всего проекта? Планирование движения следует начинать сразу - даже перед началом создания модели. Проанализируйте свою сюжетную панель. Как объекты движутся и куда они следуют?
Вы уже понимаете важность правдоподобного движения и необходимость его разработки. Наступило время обратиться к физике. Вы же слышали теорию о том, что каждое действие вызывает равное противодействие? Но понимаете ли вы, как оно транслируется в правдоподобное движение?
Вообразите себе фигуру, которая готовится выполнить длинный прыжок. Что, фигура просто свалилась в пространство? Конечно, нет. Сначала фигура приседает, бедра двигаются назад, а туловище наклоняется вперед для поддержания равновесия. Когда начинаются приседания, руки смыкаются сзади до тех пор, пока тело не перейдет в полный присед с наклоном вперед, а руки не будут вытянуты до отказа назад. После небольшой паузы фигура поднимается на носки и руки устремляются вперед. Затем ноги наклоняют тело вперед, руки размахиваются и фигура покидает почву. В конце концов, фигура летит в пространстве, руки полностью вытянуты вперед и ноги вытягиваются вперед, чтобы подготовиться к приземлению. Эта последовательность показана на рисунке 4.3.
В предыдущей последовательности прыжка использованы практически все элементы правдоподобного движения в анимации:
Преамбула является предварительным действием, определяющим основное действие. Такая установка выполняет в анимации множество полезных задач. Если объект неподвижен, необходимо предпринять какое-то предварительное действие для придания объекту энергии, которую он может использовать, чтобы выполнить основное действие. Давайте еще раз обратимся к предыдущему примеру длинного прыжка. Перед тем, как фигура может прыгнуть, она должна присесть и для равновесия взмахнуть руками. (Попытайтесь прыгнуть без приседания и не взмахнуть при этом руками.) На рисунке 4.4 показан момент преамбулы перед длинным прыжком.
Преамбула используется для подготовки аудитории к тому, что должно произойти, или для направления внимания аудитории к месту, где это должно случиться. Представьте себе веревку, которая разрывается под большой нагрузкой. Вы могли испытывать подобное когда рвется шнурок от ботинка или разрывается перегруженная веревка для сушки белья. Действие происходит внезапно и без предупреждения. Если вы аними-руете такую последовательность событий, аудитория, вероятно, не заметит момента разрыва веревки и другие важные моменты анимации, пытаясь догадаться что же случилось. В традиционном решении для такого сценария используется экстремальный случай, чтобы предвидеть основное действие. На крупном плане видно, что веревка растягивается; несколько нитей разрывается и вдруг БАХ! - веревка рвется и вы воспринимаете это событие так, как будто Порки постигла горькая участь. Преамбула крупного плана подготавливает к разрыву веревки. Вы видели эту последовательность событий сотни раз и, вероятно, никогда не переставали думать "Ну и ну, но ведь веревки так никогда не рвутся!"
Заключительным моментом для привлечения внимания аудитории является перемещение камеры. Представьте, что вы прогуливаетесь по дому. Вы находитесь в гостиной и медленно выполняете съемку. Затем вам хочется заглянуть на кухню справа; на кухню идти лень, но быстрый снимок кухни кажется очень подходящим и интересным. Вы используете преамбулу, чтобы завершить съемку гостиной при помощи камеры, обращенной на вход в кухню. Краткая пауза на неподвижном изображении предвидит такой переход (технически это лишь эффект перехода, а не само движение, но принцип один и тот же) и аудитория делает переход в уме перед тем, как анимация действительно переходит к этой сцене.
Свойством живой ткани и многих других материалов является то, что эти материалы мягкие и под воздействием движения деформируются. Подумайте о том, когда вы последний раз видели сбитого полузащитника во время футбольного матча. Тело ведущего мяч растягивается и деформируется так, что это кажется невозможным для человека (или, по крайней мере, кажется что он не выживет) и внезапно игрок поднимается и уходит с поля. Это пример расплющивания и растяжения. Все объекты, если они не очень плотные и жесткие, испытывают определенное расплющивание и растяжение.
Вы помните сюжетную панель отскакивающего мяча? Удлинение мяча, когда он падает и его уплощение при ударе о землю также демонстрируют принцип расплющивания и растяжения. Представьте себе, как отскакивает шарик от кеглей и резиновый мячик. Шарик от кеглей, тяжелый и жесткий, отскакивает от земли невысоко и вообще не деформируется, что показано на рисунке 4.5 - можно даже подумать, что при падении шарика деформируется земля. Однако резиновый мячик, который гораздо легче и мягче, деформируется больше, чем шарик от кеглей (рис. 4.6).
Другой подход при расплющивании и растяжении применяется к фигурам с сочленениями. Вы указываете не на деформацию геометрии фигуры, а на расплющивание и растяжение в положении сочленений. И снова обратитесь к длинному прыжку. Расплющивание и растяжение часто входит в преамбулу. В быстром движении практически всегда используется растяжение, а резкий останов всегда использует расплющивание (иногда сильнейшее расплющивание). Эти эффекты для примера длинного прыжка показаны на рисунке 4.7.
Следует отметить, что никогда не стоит нарушать правило, утверждающее: "Не имеет значения, как деформировался объект, он всегда должен сохранять один и тот же объем". Даже при стилизованной карикатурной анимации, в которой расплющивание и растяжение сильно преувеличены, предпринимается попытка сохранить постоянный объем. Рассмотрим воздушный шар с водой при его сжатии. Вы не добавляете и не удаляете воду, когда шар деформируется, поэтому объем остается постоянным. Такой метод используется в трансформаторе масштаба Squash и в модификаторе Stretch. Когда объект расплющивается по одной из осей, он автоматически расширяется по двум другим. Однако для усовершенствованной анимации не все так просто. Именно вы, как аниматор, должны обеспечить, чтобы деформация по любой из осей превращалась в противоположную деформацию по другим осям, а объем при этом сохранялся.
Другим важным элементом в правдоподобном движении является понятие перекрывающего действия. Одновременно ничего не происходит. Перекрывающее действие можно видеть в фильмах по безопасности движения, в которых показываются манекены на автомобилях, проламывающих стены. Новичок в анимации может расположить модель автомобиля в точке удара и начать регулировать положение всех объектов в автомобиле. Когда вы посмотрите на пленку крупным планом, то увидите, что же произошло на самом деле. В первых кадрах после удара вся передняя часть автомобиля сминается и разрушается по направлению к передним колесам, но внутренняя часть автомобиля и манекены не двигаются. Они только испытывают удар. Ситуация быстро изменяется в следующих нескольких кадрах, когда манекены устремляются вперед, натягивая ремни безопасности, разбивается ветровое стекло и т.д. Вся эта сцена является результатом одного события - столкновения - но каждое действие происходит в другой момент времени. Если вы досмотрите столкновение до конца, то увидите, что все заканчивается также в различные моменты времени.
Такой же метод применяется и для других эффектов движения в своей анимации. Рассмотрим пример движения руки фигуры из положения покоя до момента, когда она поднимает стакан. Общей ошибкой является продвижение на несколько кадров вперед от положения покоя и затем перемещение всех объектов руки в окончательное положение. Эта ошибка приводит к созданию очень безжизненного движения ввиду того, что все начинается и завершается одновременно. Для корректной последовательности необходимо, чтобы сначала поднялось плечо, затем предплечье, а кисть отклонилась назад. В заключение пальцы охватывают стакан. Каждое из этих движений начинается перед завершением предыдущего, при этом обеспечивается реальное перекрытие, которое подсознательно ожидает аудитория. Традиционные аниматоры часто используют этот метод "Последовательного разделения сочленений", поскольку движение визуализируется за счет последовательного перемещения суставов из положения покоя. Движение начинается от плеча и завершается кончиками пальцев.
Сопровождение является партнером перекрывающего действия и для анимации означает то же самое, что бросить мячик или замахнуться битой. Действие практически никогда не завершается и внезапно не останавливается. Вместо этого инерция перемещает объект за пределы точки останова, часто заставляя его медленно изменить направление движения и откатиться к предполагаемой точке останова.
В 3D Studio MAX входят контроллеры Безье, напряжения, непрерывности и смещения (ТСВ), предоставляющие возможность создания естественного движения и завершения. Хотя эти контроллеры и оказываются полезными, не следует на них серьезно рассчитывать. В большинстве случаев потребуется самостоятельно делать сопровождение и затем тщательно регулировать движение в Track View.
ПРИМЕЧАНИЕ
Попытайтесь визуализировать основные объекты своей сцены в виде силуэтов. Если действие происходит внутри силуэта другого объекта, его трудно обнаружить. Если вы сдвигаете действие в сторону, оно проявляется. Соответствующий пример приведен на рисунке 4.8. Визуализированный вид руки робота показывает, как он подбирает коробку. Если просматривать сцену в силуэте, трудно определить, что же произошло. Сравните рисунок 4.8 с рисунком 4.9. Сцену на втором рисунке проще понять как в визуализированном виде, так и на виде силуэта. Единственное отличие состоит в том, что действие сосредоточено на руке робота.
СОВЕТ
После всех произведенных попыток сделать анимацию более "реалистичной", кажется непродуктивным говорить о каком-то преувеличении. Однако часто для привлечения внимания аудитории необходимо преувеличить движение или его эффект. Правильное использование преувеличения никоим образом не искажает и не вредит правдоподобности анимации. Возможным исключением может быть анимация для презентации в зале судебного заседания, в котором четкое движение важнее хорошей презентации.
Преувеличение работает вместе с преамбулой и инсценировкой того, что делается для привлечения внимания аудитории. Предвидение подготавливает действие, инсценировка обеспечивает наличие действия там, где его можно видеть, а преувеличение подтверждает, что действие не настоль неуловимо, что аудитория не сможет его заметить.
Хорошие примеры преувеличения можно видеть в телевизионных роликах с последующим просмотром драмы. В роликах много преувеличения. Для выполнения повседневных задач используются двойные снимки, взмахи и скользящие движения. Подобные преувеличения требуются для создания комического эффекта. Теперь посмотрите критическим взглядом на драму. Там по-прежнему имеется преувеличение, однако оно смягчено. Отметьте дополнительные взмахи руками, когда актер подходит к телефону или набирает номер. Отметим, как в реальной жизни подчеркивается выражение лица. Такие преувеличения не отвлекают от реальности сцены, а скорее ее увеличивают с целью получения уверенности в том, что аудитория понимает происходящее. Используйте в своей анимации подобные методы.
Вторичное действие является результатом какого-то другого действия. О вторичном действии легко забыть, поскольку в реальной жизни такие побочные эффекты встречаются часто. Даже в случае, если такое вторичное действие видится несознательно, его необходимо включить в свою анимацию, чтобы она стала интересной и реалистичной.
Примером общей ошибки пропуска вторичного действия может служить отскок мячиков. Рассмотрим анимацию, в которой показан отскок баскетбольного мяча от края кольца. Отклонение обода кольца является вторичным движением, а его отсутствие приводит к фальшивой и механической анимации. На рисунке 4.10 показана последовательность отражения мяча от края кольца.
Для просмотра результатов вторичного действия на обод баскетбольного кольца загрузите и воспроизведите файл rim.avi из сопровождающего CD-ROM. Отметьте, что обод наклоняется вниз при ударе мяча и подпрыгивает когда, мяч отскакивает от него.
Общеизвестные данные по движению животных и человека собраны в работе Эдварда Майбриджа (Ead-weard Muybridge), фотографа, который сделал моментальные фотографии животных и людей при выполнении различных задач. Всякий, кто занимается анимацией живых существ, должен обращаться в его книгу "Complete Human and Animal Motion".
Исследование фотографий Майбриджа не позволяет автоматически оживить своих животных. Трудно привлечь внимание аудитории, только копируя прогулку животного. Вместо этого следует придать индивидуальность каждому живому созданию. Снова вернемся к параграфам по восприятию и преувеличению и подумаем о том, как использовать эти методы для придания моделям жизненности и индивидуальности. Например, можно заставить резво подпрыгивать гуляющего молодого щенка, неистово перебирать лапками бегущую мышь либо вытянуть "в струну" взлетающую утку.
Все, что говорилось о движении животных, относится и к движению человека, за исключением того, что следует более осторожно применять преувеличенные эффекты. Вы достаточно хорошо знакомы с движениями своего тела, поэтому в меньшей степени забываете о преувеличениях или перемещениях. Лучший способ определения возможных эффектов заключается в наблюдении за передвижением окружающих людей.
Необходимо сосредоточиться на двух свойствах движения человека, которые часто не замечают: равновесии и криволинейном движении.
За исключением случая падения тело всегда находится в равновесии. При вытягивании правой руки левая рука, плечо и торс поворачиваются и отклоняются назад. Такое положение уравновешивает вытянутую вперед правую руку. Может показаться, что некоторые стоят прямо как шомпол. На самом деле они сдвигают свой вес на одну ногу, что заставляет бедра и торс изгибаться при изменении равновесия. Другая нога несет меньшую нагрузку и действует в качестве предохранителя при нарушении равновесия.
ПРИМЕЧАНИЕ
В природе не существует прямых линий. Такое же утверждение относится и к естественному движению. Контроллеры в 3DS МАХ по умолчанию устанавливаются для воспроизведения криволинейного движения, но помните, что вы используете их для точной настройки разрабатываемого вручную движения. Двумя примерами, в которых часто пропускается криволинейное движение, являются взмахи рук и повороты головы.
Посмотрите на рисунки 4.12 и 4.13 и оцените повороты головы. Многие могут совершить ошибку при анимации поворота головы, показанную на рисунке 4.12. При повороте головы из стороны в сторону черты лица следуют по прямой линии. Результат выглядит неестественно, голова робота поворачивается так, что черты лица кажутся скользящими вокруг головы.
На рисунке 4.13 показано более реальное движение головы. Заметьте, что сначала голова опускается и затем после поворота отклоняется назад. Черты лица теперь следуют по искривленному пути. Чем больше голова опускается, тем более эмоционально выглядит поворот головы.
В этой главе рассматриваются вопросы, решение которых поможет спланировать проект и избежать лишних затрат времени. В первую очередь к ним относятся следующие:
В большинстве случаев необходимую точность можно достигнуть, если довериться своей восприимчивости. То, что делает модель точной, часто слабо связано с точностью размеров. Зрительная система человека не всегда различает точные расстояния, длину и расположение в пространстве, однако превосходно разбирается в пропорциях и соотношениях. Если пропорции и соотношения на сцене устраивают вас, они также устроят и вашу аудиторию.
Иногда излишнее внимание уделяется пространственной точности. Хорошими примерами могут служить анимации в науке, презентации в суде и некоторые типы архитектурных и инженерных презентаций. Однако, следует четко понимать, что даже для проектов, требующих исключительной точности, существует предел, за которым излишняя точность не нужна. Необходимо учитывать два следующих порога:
ПРИМЕЧАНИЕ
Первым шагом является создание простой модели и определение основного вида камеры для сцены. На рисунке 5.1 показана сцена PRECISE.MAX, которую можно загрузить из сопровождающего CD-ROM. На сцене изображена модель офисного здания с размерами 180 футов в ширину, 130 футов в глубину и 34 фута в высоту.
Посмотрите на вид через камеру в правом нижнем видовом окне. Отметьте прямоугольники с одним и тем же центром, которые обрамляют вид. Эти прямоугольники являются видом Safe Frame. Внешний прямоугольник на краях видового окна показывает точный размер окончательного визуализированного изображения. Для правильного определения порога точности необходимо знать ширину и высоту Safe Frame в окне камеры, в котором находится здание. Эти измерения можно сделать при помощи создания объекта сетки, выровненного по камере и последующего создания на сетке рулетки.
Используя информацию из предыдущего примера можно определить, что для данного положения камеры и разрешающей способности моделирование любой детали с шириной менее 2", является пустой тратой времени.
ПРИМЕЧАНИЕ
СОВЕТ
Как может повлиять округление чисел? Это зависит от того, что моделируется, вашего стиля моделирования и количества вычислений, которые необходимо сделать для представления объекта на сцене. Ниже приведены несколько случаев округления:
Если единица измерения в системе по умолчанию составляет I", устанавливаются несколько диапазонов точности, включая:
Из-за метода вычислений чисел с плавающей запятой трудно определить момент, когда наступает округление для данной модели. В приведенный ниже список включены общие рекомендации, как избежать округления:
Также необходимо учитывать, какая видимая деталь является подходящей для сцены. Существует много ситуаций, в которых деталь выглядит излишне большой в сцене, и поэтому не используется. Почему? Потому что некоторые детали не подходят для сообщения, которое требуется передать. Рассмотрим, например, офисное здание, описанное ранее. Была создана модель этого здания и расположена в нужном месте. Теперь вы хотите добавить на фон несколько людей и автомобилей. Расчет порога точности для автомобилей показывает, что детали, подобные дворникам на ветровых стеклах и украшениям на капоте окажутся видимыми. Не моделируйте их. Упомянутые детали автомобилей выпадут из главного предмета визуализации, коим является здание. В этом случае заботы о композиции и фокусе аннулируют точное внимание к деталям.
Можно также рассмотреть возможность применения в модели технологии артиста. Часто артист представляет собой деталь, предполагающую наличие формы или тени, которая к чему-то относится. Зритель подсознательно погружается в детали. Можно только удивляться тому, как небольшая деталь "делает погоду" в модели.
Другой ситуацией, при которой не следует включать все детали, является анимация для презентации в зале судебных заседаний. Детализация и излишний реализм часто затеняют излагаемую проблему. Слишком реалистичные визуализации могут создать у присяжных предвзятое мнение и часто не признаются в качестве доказательств. Для определения подходящего уровня детализации такого проекта следует тесно поработать со своим клиентом. В большинстве случаев нужно использовать минимальное количество деталей, чтобы четко довести предмет анимации.
Различные методы уменьшения сложности модели обобщены в следующих стратегиях:
В 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". Если необходимо работать в милах, можно определить следующую общую единицу:
Последней опцией является Generic Units (общие единицы). 3D Studio MAX не присваивает никакого конкретного значения общим единицам и размер объектов управляется текущей установкой System Unit Scale.
Работа с общими единицами - не очень хорошая идея. Каждый раз при создании объекта следует помнить конкретную единицу измерения. Люди обычно не мыслят в общих единицах измерения. Посмотрите на три последующих заявления:
Это неопределенные заявления, предполагающие весьма странные пространственные соотношения - до тех пор, пока им не присвоить правильную единицу измерения:
Такое же замешательство возникает при моделировании в общих единицах. Это замешательство усиливается, если вы произвольно решаете, что одна общая единица отличается от 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 ориентации вида. Эти ориентации можно организовать в четыре функциональных группы:
Типы видов можно присваивать, указав компоновку видового окна из диалога Viewport Configuration. При щелчке на образце компоновки видового окна на левой стороне диалога отображается всплывающий список имеющихся типов видов, как показано на рисунке 5.8. Этот список появляется также по правому щелчку на метке видового окна и последующему выбору Views из всплывающего меню. Отметим, что типы видов Camera и Spotlight отсутствуют в списке до тех пор, пока на сцене не будут созданы камеры и точечные источники
Самым быстрым и удобным способом изменения типа вида является использование "горячих" клавиш:
ПРИМЕЧАНИЕ
В 3D Studio MAX существует множество способов навигации в 3D-npocTpaHCTBe. Основы использования кнопок навигации по видам описаны в главе 4 "Руководства пользователя 3D Studio МАХ". Последующие разделы предлагают ряд дополнительных советов по использованию видов и показывают способы ускорения навигации по видам через альтернативные клавиши клавиатуры.
Большинство кнопок навигации по видам используется для изменения масштаба отображения вида. Такие кнопки имеются для всех типов видов за исключением Camera и Spotlight.
Основным методом использования является щелчок на кнопке Zoom и последующее перетаскивание в виде для определения масштаба увеличения. Эффект команды Zoom можно изменить нажатием на следующие кнопки модификаторов:
Нажатия на горячие клавиши клавиатуры можно выполнять как автономные команды или интерактивно, если вы находитесь в процессе выполнения другой команды. Например, при перетаскивании объекта можно нажать любую приведенную ниже комбинацию клавиш клавиатуры для изменения вида без прерывания перемещения:
Следующие две горячие клавиши увеличения являются автономными командами. Они отменяют любую другую активную команду:
Горячие клавиши можно присвоить всем командам Zoom. Перечисленные выше горячие клавиши являются горячими клавишами по умолчанию 3D Studio MAX в состоянии поставки. Эти присвоения можно изменять или определять горячие клавиши для других команд Zoom через панель Keyboard в диалоге Preference Settings.
Перетаскивание вверх и вниз для изменения масштаба вида и использование горячих клавиш - быстрые способы установки масштаба отображения вида. Иногда возникает необходимость точной установки величины увеличения/уменьшения - в этих случаях следует использовать клавиши со стрелками. Метод увеличения/уменьшения при помощи клавиш со стрелками отличается от других методов. При нормальном методе требуется щелкнуть на кнопке Zoom или Zoom All и выполнить перетаскивание в видовом окне для уточнения величины увеличения/уменьшения. При использовании клавиш со стрелками нужно щелкнуть на видовом окне, не выполняя при этом перетаскивание.
Клавиши со стрелками имеют следующий эффект:
Команда Pan применяется ко всем типам вида за исключением Camera и Spotlight. На самом деле виды Camera и Spotlight также имеют команду с именем Pan, но это совершенно другая операция. С командой Pan можно использовать следующие горячие клавиши:
Аналогично командам Zoom можно панорамировать вид, используя клавиши со стрелками. Этот метод обеспечивает точное управление расстоянием панорамирования. Клавиши со стрелками имеют следующий эффект:
Кнопка 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 функционирует следующим образом:
Включите Angle Snap для ограничения вращении вида до значения привязки угла, установленного в диалоге Grid and Snap Settings. Как при увеличении/уменьшении и панорамировании, виды можно вращать при помощи клавиш со стрелками. При этом обеспечивается очень точное управление углами обзора.
Клавиши со стрелками имеют следующий эффект:
Последняя проблема при установке проекта связана со стратегиями обнаружения, управления и хранения большого количества файлов. Решение этой проблемы приводит к успеху проекта. В последующих разделах рассматриваются вопросы, связанные с сохранением, объединением, резервным копированием, архивированием файлов и управлением их структурами.
Первый метод управления файлами относится к конструкции сцены и всех поддерживающих ее моделей. Если задача простая, ее можно моделировать в одном МАХ-файле сцены. Однако более вероятно, что сцена состоит из множества объектов, и моделирование этих объектов по отдельности является наиболее простым подходом. При независимом моделировании каждого объекта следует принять решение о способе объединения всех объектов для заключительной визуализации.
Для построения ЗD-модели лучше всего подходит стратегия, подобная стратегии разделения на уровни в системах CAD. Однако, кажется, что стратегия моделирования делится на два основных метода.
С помощью одного метода каждый объект моделируется отдельно и независимо от других. После того, как промоделированы все объекты, их необходимо свести в один файл и организовать требуемым образом. Этот метод очень хорошо работает в двух следующих ситуациях:
ПРИМЕЧАНИЕ
Другой метод моделирования требует предварительной установки основной сцены. Объекты на сцене представляются с помощью упрощенной геометрии или заменяющих объектов. Заменяющие объекты копируются со сцены для использования при создании детализированных моделей. В конце концов детализированные модели помещаются вместо объектов замены в основной сцене. Такой подход имеет преимущество в том, что определяет основную форму, объем и положение каждого объекта перед тем, как затратить время на моделирование. Общая ошибка заключается в подробном моделировании объекта только для того, чтобы поместить его на фон или, что еще хуже, его может заслонить фоновый объект. Второй подход необходим для большой сложной сцены любого типа.
Можно предположить, что для большинства проектов необходимо применять смесь этих двух методов. Если начать с упрощенной сцены с объектами замены и моделировать детали только тогда, когда это необходимо, можно получить улучшенную и более эффективную модель.
После создания различных моделей в отдельных файлах последние необходимо объединить в одну сцену. При моделировании сцены с объектами замены вместо них необходимо поместить более детализированные объекты. Обе операции выполняются при помощи команды 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 поддерживаются следующие типы файлов:
После выбора стратегии моделирования - либо создание всех объектов в одном файле, либо множество файлов отдельных объектов - необходимо преобразовать файл из его собственного формата в формат сцены 3D Studio MAX. При загрузке файла 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. Отдельные МАТ-файлы можно хранить в этом или любом другом каталоге, причем каждый файл связан с конкретным типом материала. Например, некоторые файлы могут включать следующее:
Предпочтительной стратегией организации глобальных каталогов изображений является организация изображений по предметам. При этом создаются каталоги с именами WOOD, MARBLE, SKIES, BACKGRND и т.п. Подобная организация упрощает нахождение изображений, используя конкретный предмет. Поскольку 3D Studio MAX хранит путь к любому изображению и может выполнять альтернативный поиск во многих каталогах, имеет смысл организовать изображения по точным темам. Хорошим примером такой стратегии является организация каталогов карт на сопровождающем CD-ROM (рис. 5.14).
Глобальные библиотеки - это великое дело, когда вы впервые собираете проект вместе, ну а что дальше? Некоторое раздражение возникает в ситуации, когда вы восстановили старый проект из архивов, загрузили его в 3D Studio MAX, а во время визуализации вдруг обнаруживаете, что необходимые файлы карт для критических материалов потерялись или изменились. Особенно это беспокоит, когда для конкретного проекта создаются заказные карты.
Решение проблемы заключается в создании отдельных библиотек для каждого проекта. Каждый проект должен иметь свой каталог для связанных с ним сцен и файлов изображений. С самого начала необходимо создать уникальный МАТ-файл для проекта и сохранить его в каталоге проекта. По мере создания материалов и применения их к модели их определения можно сохранять в МАТ-файле проекта.
При создании файла изображения как заказной карты для проекта сохраните его в каталоге проекта, а не в одном из глобальных каталогов. Позже, если почувствуете, что заказная карта может оказаться полезной для других проектов, скопируйте файл изображения в один из подходящих глобальных каталогов. После окончательных определений материалов скопируйте все файлы изображений, используемые материалами, из глобального каталога в каталог проекта. Это может выглядеть как ужасное расходование места на диске, но при этом изображения из глобального каталога для материалов никогда не будут удалены или изменены. Кроме того, если вы цените свое время, стоимость дискового пространства всегда ниже стоимости повторного создания потерянных файлов карт.
После создания сцены, установки камер и источников света, применения материалов вы готовы к визуализации изображения или к анимации. Вопрос теперь заключается в том, какой следует использовать формат файла и куда поместить файлы. Одним из мест для вывода файлов является каталог проекта. Другим, возможно лучшим решением, является создание подкаталога вывода ниже каталога проекта на отдельном съемном приводе или на сетевом приводе большого объема.
При создании отдельного подкаталога вывода необходимо учитывать две вещи. Во-первых, визуализация неподвижных изображений и анимация создает множество файлов значительного размера. Обработка всех этих файлов облегчается, если они отделены от чего-нибудь еще. Во-вторых, вам захочется избежать размещения визуализированных изображений в том же каталоге, где находятся изображения карт и файлы сцены. Если стратегия именования файлов спланирована неудачно, трудно будет уловить отличие между визуализа-циями и картами только по имени файла.
3D Studio MAX обладает большой гибкостью при выборе формата вывода для визуализации и анимации. Выбор формата файла в 3DS МАХ очень прост и все зависит от того, что вы собираетесь делать с файлом после вывода его из 3DS МАХ. В настоящее время 3D Studio MAX поддерживает следующие форматы:
А что делать, если перечисленные выше форматы не включают требуемого? 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:
Для создания резервных файлов в 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, что можно увидеть из следующего списка:
3D Studio МАХ поддерживает пять буферов undo/redo: один буфер для сцены и по одному буферу для каждого из четырех видовых окон. Эти буферы можно использовать для обеспечения решения большинства проблем. Используйте Undo/Redo из меню Edit или кнопки Undo/Redo на линейке инструментов для отмены изменений, произведенных на сцене. Практически все, что делается на сцене, можно отменить. Если вы хотите убедиться в эффекте Undo для сцены, используйте Edit -> Undo, а не кнопку Undo. Элемент меню Undo обычно включает имя операции, которую необходимо аннулировать.
Имеется возможность установки количества команд в буфере undo сцены путем изменения значения Undo Levels в панели General диалога Preference Settings.
ПРЕДУПРЕЖДЕНИЕ
Используйте Undo/Redo из меню Views для отмены таких изменений в видовых окнах, как панорамирование и увеличение/уменьшение. Каждое видовое окно имеет отдельный буфер undo. В каждом из этих буферов имеется 20 уровней аннулирования.
Отметим, что изменения в видовых окнах Camera и Spotlight на самом деле являются изменениями сцены, потому что вы изменяете объекты камеры и источников света, находящихся на сцене. Для отмены изменений в видовых окнах Camera и Spotlight используйте Edit -> Undo.
Другим способом отмены эффекта множества команд является Hold и Fetch из меню Edit. Выполнение Edit -> Hold сохраняет состояние текущей сцены во временном файле. После этого можно выполнить любое количество команд и по-прежнему вернуться к сохраненному состоянию через Edit -> Fetch.
По сравнению с многократными щелчками на кнопке Undo использование Hold и Fetch более удобно для отмены последовательности команд. Возьмите за привычку выполнять Hold перед попыткой применения сложного метода. (Конечно, в этом случае можно использовать и старомодное Save.) Затем, если метод не работает, можно использовать Fetch для быстрого возврата к начальной точке.
Также, если в системе произошла авария и вы не можете обычным способом выйти из 3D Studio MAX, по-прежнему можно восстановить содержимое временного Hold-файла. Этот файл называется maxhold.mx и находится в каталоге 3dsmax\scenes. Его можно загрузить в 3D Studio MAX непосредственно или переименовать в обычный файл сцены.
Вы уже слышали это раньше, однако стоит повторить: резервируйте свои файлы данных! Ничего не расстраивает больше, чем ситуация, при которой вы включаете компьютер и обнаруживаете, что ночью жесткий диск преспокойно удалился на цифровые небеса. Это расстройство переходит в панику, когда вы медленно понимаете, что в последний раз резервирование выполнялось несколько месяцев тому назад, а проект начался на прошлой неделе. Если хотите похоронить себя как профессионального аниматора, попытайтесь объяснить клиенту, что его анимация не готова, поскольку вы потеряли все файлы из-за сбоя диска.
Вложите деньги в хорошее устройство резервирования с большой емкостью и постоянно его используйте. Некоторые устройства более универсальны и их можно использовать не только для резервирования. Теперь наиболее важной характеристикой хорошего устройства резервирования является возможность его снятия. Плохо, если устройство резервирования находится на втором приводе жесткого диска когда в офисе возникает пожар и вся система плавится. Снимите резервный носитель и храните его вне офиса.
В 3D Studio MAX включено удобное меню для объединения в один сжатый архив файла сцены со всеми опорными картами изображения. Для создания архивов 3DS МАХ использует программу PKZIP. Укажите место расположения зарегистрированной программы PKZIP в панели File диалога Preference Settings. Недостатком встроенной команды Archive является то, что она сохраняет только одну сцену 3D Studio MAX со всеми относящимися к ней картами изображения. К сожалению, многие проекты включают множество сцен, файлы внешних программ и очереди Video Post; все это команда Archive не обрабатывает. Кроме того, любой специализированный подключаемый элемент, используемый сценой, в архив не включается. Каждый подключаемый элемент, используемый для создания сцены, должен находиться на своем месте для эффективной загрузки сцены. Если архивируется файл и затем удаляется необходимый подключаемый элемент, эта часть сцены теряется. Лучшим методом использования команды Archive является быстрая и удобная упаковка своей работы, пока вы еще находитесь в 3D Studio MAX. He надейтесь, что эта команда построит полный архив всего проекта.
ПРЕДУПРЕЖДЕНИЕ
Если требуется сархивировать различные файлы, связанные с проектом, это делается вручную. Используйте предпочитаемую программу архивирования для сжатия файлов в каталоге проекта в один архивный файл. Если вы создали отдельные каталоги для карт или вывода ниже каталога проекта, сообщите программе архивирования о необходимости рекурсивного обращения к подкаталогам и сохранения полных имен путей. Если законченный проект архивируется на длительный срок, неплохо вместе с ним заархивировать 3D Studio МАХ со всеми подключаемыми элементами. СОВЕТ
Ниже перечислены некоторые примеры выборки и трансформации:
На основе приведенного списка можно видеть, что выборка и трансформация являются важными инстру-ментами. В этой главе представлены основные методы выборки и трансформации. От знания способов трансформирования объектов пользы мало, если вы не знаете, как их точно расположить там, где требуется, поэтому в главе также рассматривается установка и использование инструментов, обеспечивающих точность.
Ввиду исключительной важности выборок инструменты для выборок можно найти в любом месте интерфейса 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" (отмасштабировать), хотя они также выполняют двойную функцию.
ПРИМЕЧАНИЕ
Независимо от того, является ли активным инструмент выборки или один из инструментов трансформации, всегда можно определить, какой эффект произведут щелчки или перетаскивание, обратив внимание на экранный курсор. Вид экранного курсора, его значение и эффект перечислены ниже:
СОВЕТ
На рисунке 6.2 показаны все три курсора для случая трансформации Move. Левое видовое окно показывает системный курсор, который находится над пустым местом. Среднее видовое окно показывает курсор выборки, находящийся над действительным, но не выбранным объектом. Правое видовое окно показывает курсор трансформации, который находится над выбранным объектом.
Можно также воспользоваться удобными глобальными методами выборки из меню Edit. Select All (выбрать все) выбирает все объекты на сцене; Select None (не выбирать ничего) отменяет текущую выборку; Select Invert инвертирует текущую выборку так, что все невыбранные объекты становятся выбранными и наоборот.
Как упоминалось ранее, объекты можно выбирать либо щелкнув на них, либо перетащив область, выбирающую все объекты, находящиеся в ней. Для установки формы и поведения выборки области следует ис-пользовать элементы управления выборкой из линейки инструментов, строки подсказки и меню Edit.
Форма выборки области устанавливается во всплывающей группе линейки инструментов (рис. 6.3). Имеется три типа выборки области:
Поведение области устанавливается переключателем области в строке подсказки или путем выбора Region из меню Edit (см. рис. 6.4). Имеется два типа поведения области - Window (окно), при котором выбираются только объекты, целиком находящиеся внутри области, и Crossing (пересечение), при котором выбираются любые объекты, касающиеся границы области или целиком находящиеся внутри нее.
Для добавления/удаления объектов из текущей выборки можно использовать стандартные клавиши моди-фикаторов Windows. За счет нажатия клавиш Ctrl и Alt во время выборки объектов выполняется следующее:
Что предпринять, если при работе с очень сложной сценой необходимо выбрать объекты только определенного типа? Например, представьте, что вы освещаете интерьер большого собрания, в котором находятся сотни объектов. Требуется выбрать только источники света, чтобы отрегулировать их параметры и положение, но вместо этого случайно выбираются стены и мебель.
Можно скрыть все за исключением источников света, но тогда неизвестно, куда поместить эти источники света.
Кроме того, можно сделать неподвижным все, кроме источников света, но тогда затененные видовые окна не покажут как освещение влияет на неподвижные объекты.
Лучший вариант заключается в фильтровании выборки с помощью фильтров выборки из линейки инструментов (см. рис. 6.5).
После определения типа объекта в списке фильтров выборки можно выбирать только объекты, согласующиеся с этим типом. Фильтром по умолчанию является All, который позволяет выбирать все, что угодно. Остальные фильтры соответствуют первым шести категориям панели Create: Geometry (геометрия), Shapes (формы). Lights (источники света), Cameras (камеры), Helpers (вспомогательные объекты) и Space Warps (исказители пространства).
При работе с очень сложной выборкой или при необходимости использовать эту же выборку для последовательности команд выборку неплохо заблокировать. Блокировка выборки предотвращает ее случайное удаление. Блокировка и разблокировка выборки осуществляется с помощью следующих операций:
Существует много ситуаций, в которых можно выбрать всего несколько компонентов объекта, другими словами, определить выборку подобъекта. Выборка подобъекта начинается с выборки объекта и последующего щелчка на кнопке Sub-object для вхождения в режим выборки подобъекта. Это важный момент - сначала выбирается объект, а затем для погружения в него включается режим Sub-object. В этом режиме внутри первоначально выбранного объекта можно выбирать только его компоненты.
Кнопка Sub-object подсвечивается желтым цветом для указания того, что вы находитесь в режиме выборки подобъекта. Если вы пытаетесь выбирать объекты и ничего не получается, посмотрите на панель команд, чтобы определить, не находитесь ли вы в режиме Sub-object. Если это так, щелкните на кнопке Sub-object для выключения режима выборки подобъекта и возврата к обычным методам выборки.
ПРИМЕЧАНИЕ
Не забывайте, что 3D Studio МАХ является объектно-ориентированной программой, поэтому подобъекты включают в себя гораздо больше, чем только компоненты геометрии. Ниже приведены некоторые примеры того, что входит в режимы выборки подобъектов (см. рис. 6.6):
Выборка одиночных объектов или перетаскивание области для выбора множества объектов становится очень ограниченной, если требуется выбрать больше, чем несколько объектов на сцене. Становится очевидным, что необходима возможность выбора объектов по свойству. Например, выбор всех объектов, использующих определенный материал, или выбор всех объектов, имя которых начинается с буквы В. В 3DS МАХ существует множество инструментов для выбора объектов и подобъектов по их свойствам.
Обычно единственным случаем, когда необходимо выбрать объекты по типу, является случай, когда требуется выбрать все объекты конкретного типа, например, выбрать источники света или камеры или формы. Все объекты данного типа можно выбирать одним из двух способов: при помощи фильтров выборки или при помощи диалога Select Objects (выбрать объекты).
Для выбора всех объектов определенного типа выполните следующие шаги:
Для выбора всех объектов данного типа в диалоге Select Objects выполните следующие шаги:
Стратегия присвоения имен играет важную роль при организации любого проекта. Независимо от того, организуете ли вы папки в секции для файлов, файлы текстового процессора на жестком диске или объекты в 3DS МАХ, процедура присвоения имен предполагает определенную организационную стратегию. Чем аккуратней присвоить имена своим объектам, тем быстрее впоследствии можно выбирать группы связанных объектов по имени.
Выбор объектов по имени выполняется через диалог Select Objects (выбрать объекты). Диалог Select Objects можно отобразить с помощью любой из следующих операций:
Когда диалог Select Objects становится видимым, объект можно выбирать или путем щелчка на его имени в списке выборки или при помощи ввода шаблона выборки в поле редактирования над списком выборки, как показано на рисунке 6.8.
Для расширения поиска в шаблонах выборки можно использовать следующие универсальные шаблоны:
Вторым методом выборки объектов по имени является использование списка иерархии в окне 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 несовместима с любым типом стратегии организации цвета.
Для выбора объектов по цвету можно использовать два метода. Первый метод заключается в выборе объекта - вы выбираете объект и при этом выбираются все объекты, которым присвоен тот же самый цвет. Во втором методе вы выбираете цвет и при этом выбираются все объекты того же самого цвета.
Для выбора всех объектов с тем же цветом, что и у другого объекта, выполните следующее:
Для выбора всех объектов с конкретным цветом:
СОВЕТ
Присвоенный материал можно выбирать двумя способами:
Материал, присвоенный объектам на сцене, можно оценить, посмотрев на Material Editor. Материал, присвоенный объекту на сцене, называется горячим материалом. Горячие материалы указываются белыми треугольниками в углах сегмента их образца. Если материал не горячий, он не присвоен никаким объектам и кнопка Select By Material не действует.
Выбор объектов по материалу достаточно прямолинеен. Вы определяете горячий материал в Material Editor и затем щелкаете на кнопке Select By Material. Появляется диалог Select Entities (выбрать сущности) со всеми объектами, которым присвоен текущий материал, подсвеченный в списке выборки (см. рис. 6.12).
Однако чаще всего потребуется выбрать все объекты, которые используют такой же материал, как и другой объект. Для выбора объектов по-прежнему используется Select By Material в Material Editor, но хитрость состоит в том, чтобы начать с правильного материала, который стоит на первом месте.
В следующем примере представим, что имеется объект SampleOl и необходимо выбрать все объекты сцены, которые используют такой же материал, как и SampleOl.
Для выбора всех объектов, которые используют одинаковый с SampleOl материал, выполните следующие шаги:
В случае использования Multi/Sub-object Material (материал мульти/подобъектов) для присвоения множества материалов граням объекта для получения информации о том, какие грани какой материал используют, применяется другой способ. В такой ситуации в модификаторе Edit Mesh потребуется применять кнопку Selected By ID (выбранный по ID). Подробная информация о создании и использовании материалов Multi/ Sub-object приведена в главе 21, "Материалы и текстуры".
В следующем примере рассмотрим объект с именем Racket, который использует материал Multi/Sub-object с именем RacketMat. Необходимо выбрать все грани Racket, использующие подматериал Black Grip.
Для выбора граней по материалу выполните следующие шаги:
После щелчка на OK в объекте Racket выбираются все грани, использующие Material ID 3.
В последующих главах описывается как 3DS МАХ использует группы сглаживания для визуализации гладких поверхностей из каркасов с фасеточными гранями. Может быть при моделировании вы попадете в такую ситуацию, когда потребуется выбрать все грани объекта, использующие одну и ту же группу сглаживания.
Методы для выбора граней по группе сглаживания подобны методам, используемым при выборе граней по материалу. Подробные сведения об этом приводятся в главе 12.
Используя возможности выборок 3DS МАХ можно сохранить и повторно использовать некоторые созданные наборы выборок. Как упоминалось ранее, существует два метода для быстрого выбора связанных групп объектов и для организации их по имени или цвету с последующим использованием команд Select By Name и Select By Color. Это два хороших метода для высокоуровневой организации и выборки, но что делать, если необходим более гибкий метод?
Имеется возможность так поименовать наборы выборок, что в любое время их можно будет вызывать и повторно использовать. Процесс именования выборки очень прост. Для этого:
Убедитесь, что нажали Enter после набора имени выборки. В противном случае имя выборки не записывается и отбрасывается после щелчка в любом месте окна 3DS МАХ.
Поименованную выборку легко использовать повторно. При этом необходимо выбрать ее имя из списка Selection Sets (наборы выборок). Можно использовать либо список линейки инструментов, либо список в диалоге Select Objects (см. рис. 6.14).
Если вы допустили опечатку при наименовании выборки и позже решили изменить это имя, следует создать выборку с новым именем и затем удалить старое имя. Этот процесс не так уж сложен, как может показаться.
Для переименования поименованной выборки выполните следующие шаги:
Выбор Remove Named Selections из меню Edit сразу удаляет поименованную выборку в верхней части списка поименованных выборок. Всегда убеждайтесь, что выборка с именем, которую требуется удалить, находится наверху списка.
Поименованные выборки просто идентифицируют группу объектов. Если вы удаляете один из объектов в поименованном наборе выборок, набор по-прежнему существует и содержит оставшиеся объекты. В случае обнаружения пустого поименованного набора выборок отметьте его в списке и затем выполните Remove Named Selection из меню Edit.
Имена можно также присваивать наборам выборок подобъектов, например выборкам граней или вершин. Поименованная выборка подобъектов сохраняется через модификатор Edit, используемый для создания выборки. Поименованные выборки подобъектов нельзя разделять между модификаторами Edit. Для повторного использования поименованной выборки подобъектов следует вернуться к соответствующему модификатору Edit в Modifier Stack (стек модификаторов).
Используйте группу в тех случаях, когда требуется, чтобы коллекция объектов вела себя как один объект, однако сохраняйте возможность редактирования отдельных объектов в группе.
Все, что необходимо создать, отредактировать и разгруппировать в группе, начинается с выборов в меню Group линейки инструментов.
Для создания групп используются две команды: Group и Attach (группа и присоединить). Команда Group используется для определения любой выборки в качестве новой группы. Команда Attach применяется для добавления любой выборки к существующей группе.
Для создания новой группы из выборки объектов выполните следующие шаги:
Все выбранные объекты становятся членами новой группы. Поскольку группы являются объектами и важным инструментом организации, присваивать имена группам следует так же тщательно, как и другим объектам.
Все объекты могут быть членами в группе. Внутри одной и той же группы можно смешивать геометрию, источники света, исказители пространства и даже другие группы. При помещении группы внутрь другой группы получается вложенная группа. Обычно не рекомендуется вкладывать группу на глубину больше, чем на один-два слоя. Более глубокое вложение утомляет выбор объекта из самой глубокой группы.
При создании группы создается специальный фиктивный объект, называемый узлом группы. Обычно этот объект невидим, но после открытия группы он становится видимым как рамка, окрашенная в розовый цвет, окружающая объекты в группе. При просмотре объектов в Track View или в любом другом отображении иерархии узел группы представляется как предок объектов-членов.
Для добавления объектов к существующей группе необходимо:
Выбранные объекты добавляются к той же группе, что и объект, на котором произведен щелчок. Теперь о хитрости, с помощью которой можно узнать, на каком объекте щелкнуть, если вы не запомнили какие объекты являются членами какой группы. Курсор превращается в перекрестие только в том случае, если он находится над объектом-членом группы, но это еще не вся помощь. Весьма удобно выбирать группу по имени. Группы появляются в диалоге Select Objects с квадратными скобками вокруг имени группы. Удобной и простой заменой шага 3 в предыдущем примере становится:
Существует два способа трансформирования и модифицирования групп. Один из способов состоит в том, что вы трансформируете и модифицируете всю группу так, как это делается с любым объектом. Второй способ - открыть группу, а затем трансформировать и модифицировать отдельные объекты внутри группы.
Всю группу можно трансформировать и модифицировать путем выбора любого объекта в группе или за счет выбора имени группы в диалоге Select Object. Независимо от используемого метода, все объекты-члены подсвечиваются. Трансформации и модификаторы в случае применения их к группе ведут себя по-другому по сравнению с их поведением при применении к отдельному объекту:
Отдельные объекты внутри группы можно трансформировать и модифицировать, сначала открыв группу и затем выбрав один или несколько объектов-членов. После открытия группы с объектами-членами можно работать как с любыми другими объектами на сцене. Любой анимационный эффект, применяемый к объекту внутри группы, сохраняется даже после закрытия группы.
Для открытия группы:
Например, представим, что вы моделируете насекомое внутри стеклянной банки. Вы выбираете насекомое, банку и крышку и затем помещаете их в группу с именем Bug_Zoo. Можно открыть группу и анимиро-вать насекомое так, чтобы оно летало внутри банки. После закрытия группы можно анимировать всю группу, перемещаясь по всей сцене, в то время как насекомое продолжает летать (оставаясь внутри банки).
В открытой группе вы получаете доступ к членам группы, но можно также трансформировать и всю группу. При трансформации розового узла группы трансформируются все члены группы так же, как это происходит при закрытии группы. Однако, к группе нельзя применять модификаторы, если она открыта. Следует либо закрыть группу, либо вручную выбрать все члены группы для применения к ним модификатора.
СОВЕТ
Если открытая группа содержит любые вложенные группы, их можно открыть при помощи той же процедуры. По окончании работы с членами открытой группы она закрывается по команде Close. Для закрытия открытой группы:
При этом открытая группа и любые открытые вложенные группы внутри выбранной группы закрываются.
После создания группы может потребоваться удалить из нее некоторые объекты или даже полностью разрушить группу. Группы разделяются с помощью трех команд из меню Group: Detach (отсоединить), Un-group (разгруппировать) и Explode (разрушить).
Для отсоединения одного или нескольких объектов из открытой группы используйте команду Detach.
Для отсоединения объекта из группы:
Для быстрого разрушения всей группы используйте Ungroup и Explode. Сначала выберите группу, затем выполните Ungroup или Explode из меню Group.
Команда Ungroup аннулирует выбранную группу, возвращая членов группы в состояние индивидуальных объектов. Вложенные группы становятся отдельными группами. Любая анимация трансформации, приложенная к узлу группы, теряется.
Команда Explode разрушает выбранную группу и все вложенные в нее группы. Все члены группы становятся отдельными объектами - вложенных групп не остается. Вся анимация трансформации, приложенная к узлам группы, теряется.
Теперь вам известно, что такое группы, как их создавать, модифицировать и разрушать. Остался один вопрос - когда использовать группы. Как и все в нашей жизни группы имеют достоинства и недостатки. Следующие рекомендации помогают при решении вопроса об использовании групп.
Используйте группу для объединения объектов, когда:
Для объединения объектов не следует использовать группу, если:
Первым шагом при создании точных моделей является установка опорных сеток и системы фиксации. При работе над сценой можно выбирать из одну из трех фиксированных сеток, любое количество заказных сеток и одну из двух различных систем фиксации. Кроме того, имеется ряд вспомогательных объектов, которые можно создавать для нахождения точек в пространстве и измерения расстояний.
Использование сеток является важным инструментом моделирования и при корректном применении может значительно увеличить производительность процесса проектирования. О сетках необходимо помнить следующее:
3DS МАХ отображает три постоянных сетки, которые называются основными сетками и используются для конструирования и визуальной ссылки. Эти три сетки выровнены с мировой системой координат и пересекаются в ее начале. Три основных сетки и их соотношение в мировой системе координат идентифицируются следующим образом:
В любом видовом окне видна только одна из трех основных сеток; вы наблюдаете только ту сетку, которая определяется типом видового окна. Видимая сетка также определяет плоскость конструкции для этого вида. Три видимых основных сетки описываются ниже:
Отображением основной сетки в активном видовом окне можно управлять одним из следующих трех методов:
Интервал для основных сеток устанавливается через панель 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 пикселов. Для управления изменениями интервалов сетки используются следующие правила:
Например, пусть интервал сетки установлен в 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.
Установки по умолчанию создают фон серого цвета с более темной сеткой. Такие установки обеспечивают среднюю контрастность для большинства имеющихся цветов каркаса. В зависимости от вашего стиля работы и требований проекта могут потребоваться изменения следующих установок фона:
ПРЕДУПРЕЖДЕНИЕ
На рисунке 6.21 показано несколько примеров альтернативных установок фона.
Использование Home Crid хорошо подходит для большинства операций, но что будет, если необходимо построить что-то сверху стола или на наклонной стороне крыши? Это тот случай, когда нужно использовать объекты сетки. Сетки являются вспомогательными объектами, которые могут занять место Home Grid для команд конструирования и трансформации.
Используйте сетки для следующего:
Создайте объект сетки путем щелчка на кнопке категории Helpers на панели Create и затем на Grid в свитке типа объекта (см. рис. 6.22). Перетаскивание в любом видовом окне определяет длину и ширину объекта сетки.
Оставшийся базовый параметр определяет интервал сетки. Может вызвать удивление, что при изменении значения интервала сетки ничего не изменяется.
Объекты сетки отображают только свои локальные оси координат Х и Y до тех пор, пока не сделает их активными. Интервал сетки можно увидеть только после того, как сделаете сетку активной.
Объекты сетки можно использовать вместо Home Grid, но они следуют несколько другим правилам:
После создания объекта сетки для ее использования необходимо произвести еще два шага:
Для расположения сетки на сцене можно использовать любую команду трансформации. Можно даже выполнить анимацию сетки, хотя в случае анимированных сеток часто оказывается трудно работать со многими полезными задачами.
ПРЕДУПРЕЖДЕНИЕ
Очень удобным методом для позиционирования объектов сетки является команда Align. После расположения объекта сетки его необходимо активизировать:
Является ли объект сетки активным, можно определить сразу, поскольку линии сетки появляются на объекте сетки и исчезают из 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 рассматривается позже в этой главе.)
Теперь точка находится в центре внутри сферы и выровнена с локальными осями сферы. Чтобы убедиться в том, что точка и сфера остаются вместе, можно поместить их в группу. Просто выберите точку и сферу и затем выполните Group из меню Group.
Во многих случаях фиктивные объекты можно применять там, где используются объекты точек. Традиционно фиктивные объекты выступают в качестве невидимых объектов связи при построении связанных иерархий. Дополнительная информация о связывании приведена в главе 18, "Создание иерархий".
Фиктивный объект создается после щелчка на Dummy (фиктивный) в панели Create и последующего перетаскивания радиуса фиктивного куба в любое видовое окно.
Основные отличия между объектами точек и фиктивными объектами заключаются в следующем:
Используйте либо фиктивный объект, либо объект точки - все зависит от личного предпочтения.
3DS МАХ имеет достаточно сложную систему фиксации. Сначала эта система может показаться пугающей и запутанной, но со временем вы прочувствуете ее полезность. Значения фиксации управляют углом и процентом фиксации. Положение фиксаций основано на следующих методах:
Какой метод фиксации является активным в данный момент зависит от режима команд, в котором вы находитесь, и выбора режимов фиксации из строки подсказки. На рисунке 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 (линия), фиксация работает следующим образом:
При создании объекта Line можно выбирать между режимами 2D, 2.5D и 3D:
Конечно, использовать фиксацию 2.5D или 3D для создания объектов, отличных от строк, весьма полезно. Поместите это в свой список пожеланий и, если повезет, подобная возможность появится в будущем выпуске 3DS МАХ.
Режимы пространственной и сеточной фиксаций также применимы для перемещающихся объектов. Это единственный случай, при котором используется режим фиксации Relative/Absolute.
Режим Relative (относительный) игнорирует значения 2D/2.5D/3D кнопки режима фиксации и проверяет только активность режима фиксации. Когда кнопка имеет серый цвет и внутри линий сетки просматривается точка, режим Relative активен. При перемещении объектов в относительном режиме дистанция перемещения ограничена кратным числом интервалов сетки. Это не означает, что объект прикреплен к сетке. Если объект начинается вне сетки, он вне сетки и остается. Другими словами, объект сохраняет свое относительное смещение от сетки.
Режим Absolute использует все установки кнопки режима фиксации. Если кнопка подсвечена и на пересечении сетки показана точка, режим Absolute активен. Данный режим можно использовать только при наличии следующих условий:
При активном режиме Absolute поведение Snap следующее:
Во всех трех режимах точка фиксации использует ограничения активной оси трансформации. Например, ограничения трансформации установлены для плоскости 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 следует выполнить ряд шагов:
Для определения центра трансформации (см. рис. 6.33) используйте трехкнопочную выпадающую группу в правой части списка координатных систем. Центр используется только при трансформациях вращения и масштаба. При перемещении объекта используемый центр не имеет значения, объект просто перемещается.
Центр-точка вращения является единственным действительным выбором в случае необходимости выполнения анимации чистого вращения или трансформации масштаба. Два других выбора объединяют перемещение вместе с вращением и масштабированием. Именно по этой причине выпадающая группа имеет серый цвет и ее нельзя изменить при включенной кнопке Animation.
Ниже показаны три метода, позволяющие создавать эффект анимационного вращения или масштабирования вокруг центра смещения:
Ограничители осей являются заключительным набором менеджеров трансформации. Можно выбирать из трех ограничителей по одиночным осям или из свитка с тремя ограничителями по двум осям (планарными ограничителями) (см. рис. 6.35). Активное ограничение оси трансформации блокирует влияние трансформации на эту ось или плоскость. Например, если активно ограничение оси X, можно перемещаться только вдоль этой оси. Для выбора ограничений по осям используются следующие горячие клавиши:
Если для операций Move, Rotate и Scale нужна реальная точность, для выполнения трансформации можно использовать клавиатуру. Можно применять любой из клавиатурных методов, приведенных ниже:
Можно перемещать (Move), вращать (Rotate) и масштабировать (Scale) объекты за счет использования клавиш со стрелками практически так же, как производится изменение масштаба и вращение видов. Для трансформирования объектов посредством клавиш со стрелками выполните следующее:
Если после выполнения выборки решено изменить один из менеджеров трансформации или видовые окна, перед переходом к шагу 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 работает только на уровне объекта даже в том случае, если активным является режим подобъекта. Зеркальное отображение чего-то на уровне подобъекта производится при помощи использования диалога Scale Transform Type-In (ввод значений трансформации масштабирования).
Для зеркального отображения объекта посредством модификатора XForm выполните следующие шаги:
Выполнение зеркального отображения гизмо на уровне подобъекта модификатора имеет такой же общий эффект, как и использование команды Mirror, но без побочных эффектов. Выполнение зеркального отображения гизмо дает дополнительное преимущество пребывания в Modifier Stack (стек модификаторов), поэтому в любое время можно вернуться обратно и изменить или удалить зеркальный эффект.
Для зеркального отображения подобъектов при помощи модификатора Edit выполните следующие шаги:
Используя такой метод, можно выполнять зеркальные отображения частей объекта. Модификатор Edit также применим для создания выборки подобъектов и передачи ее в модификатор XForm. Все подробные сведения о редактировании подобъектов приводятся в главе 12. "Моделирование на уровне подобъектов".
ПРЕДУПРЕЖДЕНИЕ
Массивы создаются за счет клонирования объектов множеством повторяющихся трансформаций. Массивы можно создавать одним из двух методов. Первый метод предполагает нажатие Shift при перетаскивании трансформации для создания любого массива, основанного на одной операции Move, Rotate или Scale. Для использования второго метода щелкните на кнопке Array для отображения диалога Array.
Нажатие Shift при перетаскивании вызывает появление диалога Clone Options (опции клонирования) (см. рис. 6.39). Выберите один из трех методов клонирования - Copy, Instance или Reference и установите количество объектов-клонов, которое необходимо создать в массиве. Такой метод удобен для простых, быстрых, линейных и радиальных массивов, а также для массивов масштаба.
Путем использования диалога Array можно быстро создавать сложную геометрию.
Диалог Array отображает текущую координатную систему и центр трансформации. Перед щелчком на Array убедитесь в том, что выбраны требуемая система координат и центр трансформации. Если после щелчка на Array становится понятно, что систему координат или центры необходимо изменить, отмените диалог Array, измените систему координат и снова щелкните на Array.
При создании массива следует решить три проблемы:
За счет изменения установок в области Array Transformation можно создавать многие популярные типы массивов:
СОВЕТ
Приведенный ниже пример показывает преимущество использования в качестве систем координат Pick объектов точки при создании массивов вдоль произвольной оси.
Представьте себе столб изгороди, из которого требуется организовать массив вдоль линии под углом в 30° к мировой оси Х с интервалом в 4 фута. С помощью тригонометрии можно вычислить, что необходим линейный массив, использующий следующие дистанции в полях Move: Х=3'5.5б9" и Y=2'0". Но кто будет заниматься подобной математикой?
Описанный ниже метод использует объект вращающейся точки для установки массива вдоль одной оси:
Важным преимуществом предыдущего метода является то, что после установки вспомогательного объекта точки можно вернуться назад и повторно использовать систему координат в любое время. Вы просто организуете массив ряда столбов изгороди, но также потребуются поперечины изгороди, сторожки, калитки и другие объекты, в которых можно использовать систему координат точки. В этом случае можно создать сеточный объект, а не объект точки, и в дальнейшем создавать объекты на сетке, а также использовать объекты сетки в качестве координатной системы трансформации.
Последний тип массива использует кнопку 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 требуют одинаковой последовательности операций:
Выравнивание является просто методом трансформации для позиционирования объектов в соответствии с указанными соотношениями. Выравнивание не образует специального соединения с объектами, и как только вы завершите эту команду, можно использовать другую трансформацию для перемещения объекта из состояния выравнивания. Если необходимо, чтобы выровненные объекты таковыми оставались, их следует сгруппировать или связать.
Используйте команду Align для выравнивания объектов на основе их геометрических экстентов (ограничивающей рамки) или при помощи их точек вращения. Эта команда наиболее полезна для выполнения следующих задач выравнивания:
Для выравнивания используются два метода:
Выберите исходные объекты, щелкните на Align, а затем на целевом объекте для отображения диалога Align Selection (выровнять выборку) (см. рис. 6.46).
Выравнивайте положение исходного объекта с целью, используя опции в области Align Position (позиция выравнивания). Заголовок Align Position также указывает текущую опорную систему координат, поскольку опции выравнивания зависят от определения ограничивающей рамки объекта в этой системе координат.
Ограничивающая рамка является самой маленькой трехмерной рамкой, которая полностью охватывает объект, и все ее ребра выровнены с опорной системой координат. На рисунке 6.46 показан один и тот же объект со своей ограничивающей рамкой, определенный посредством трех различных опорных координатных систем.
ПРИМЕЧАНИЕ
Для выравнивания положения исходного объекта с положением целевого объекта выбор производится из трех опций: активные оси выравнивания, точка выравнивания исходного объекта и точка выравнивания целевого объекта.
Флажки осей выравнивания подобны ограничениям трансформации по осям для Move. Эти параметры устанавливают, вдоль каких осей исходных объектов можно перемещаться для совпадения их точек выравнивания.
Точки выравнивания для исходных и целевого объекта используют четыре одинаковых опции. Эти опции вычисляются при помощи ограничивающих рамок следующим образом (см. рис. 6.48):
При выборе различных осей и точек выравнивания исходные объекты перемещаются, чтобы показать результат текущего выравнивания. Каждый исходный объект использует собственную точку выравнивания, основанную на своей ограничивающей рамке. Если требуется выровнять выборку исходных объектов как один объект, поместите их сначала в группу.
Можно продолжать апробацию различных опций до тех пор, пока не будет произведен щелчок на ОКдля принятия выравнивания или на Cancel для его отмены.
Три флажка в области Align Orientation (выровнять ориентацию) вращают исходные объекты для согласования их с локальной ориентацией осей целевого объекта. Align Orientation не зависит от текущей опорной системы координат и всегда использует локальные оси как для исходных объектов, так и для целевого объекта.
Для выравнивания поверхностей объектов с поверхностью используется кнопка Normal Align. Это особенно удобно при работе с нерегулярной геометрией или в случае необходимости размещения объектов так, чтобы они касались друг друга. После выравнивания объектов исходные объекты можно вращать или перемещать вокруг выровненной оси нормали. Для выравнивания объектов посредством нормалей граней выполните следующие шаги:
На рисунке 6.49 показана процедура выбора нормали исходного объекта и нормали цели, а также диалог Normal Align.
Для перемещения и вращения объектов по отношению к выровненным нормалям граней используйте следующие опции в диалоге:
СОВЕТ
Place Highlight (поместить подсветку) используется для выравнивания отрицательных осей Z исходных объектов с отраженной линией взгляда на грань объекта цели. Создаваемый Place Highlight результат зависит от вида, в котором выбрана целевая грань.
Первоначальной целью Place Highlight было оказание помощи в размещении источников света для создания отражающих подсветок в конкретных местах поверхности объекта. В качестве исходного объекта для Place Highlight можно использовать любой объект, что позволяет применять данную команду для других методов.
Команду Place Highlight можно использовать для выполнения следующего:
Для использования Place Highlight выполните следующее:
В этой главе обсуждаются следующие вопросы:
Хотя объекты в 3D Studio MAX могут показаться очень сложными, их создание является быстрым и легким процессом. Каждый создаваемый объект по своему характеру является параметрическим, т.е. его форма определяется серией параметров. В процесс создания объекта обычно входят следующие шаги:
Предполагается, что в 3D Studio MAX процесс создания геометрии должен быть интерактивным. Это означает, что обычным методом создания объекта является щелчок в видовом окне и затем перетаскивание курсора для определения оставшихся параметров. 3DS МАХ рисует результирующую геометрию одновременно во всех видовых окнах по мере определения расстояний и выполнения процесса создания.
Плоскость, на которой создается объект, определяется либо с помощью видового окна, либо с помощью активной конструкции вспомогательного объекта Grid. Место расположения объекта является характеристикой определения объекта. Большинство объектов основываются на плоскости создания и по ней определяют высоту. Например, цилиндрические примитивы размещают свои нижние круглые цоколи на плоскости создания, а параметр высоты вытягивает перпендикуляр из этой плоскости. Поскольку примитивы Sphere (сфера), GeoSphere (геосфера). Torus (тор), Hedra ("морской еж") определяются своими центрами масс, они являются исключениями из этого правила и располагают на плоскости конструкции свой центр массы. В то время, как другие объекты опираются на плоскость конструкции, эти три объекта будут рассекаться ею пополам.
Плоскость, на которой начинается примитив, является местом расположения его точки вращения. Точка вращения - это центр локальных осей объекта, и она определяет точку, вокруг которой вращается объект. Такое первоначальное создание определяет также постоянную ориентацию ограничивающей рамки объекта.
ПРИМЕЧАНИЕ
При создании различных примитивов клавиша Ctrl выполняет специальную и в какой-то мере скрытую работу. За исключением Box каждый примитив позволяет за счет нажатия клавиши Ctrl в любой момент между первой и последней определяющими точками отрегулировать свое первоначальное вращение. Это позволяет быстро ориентировать объекты во время их создания. Нажатие клавиши Ctrl для Box ограничивает первоначальное создание до квадрата и не влияет на его вращение.
Ввод с клавиатуры обеспечивается для всех примитивов в качестве удачной альтернативы интерактивного метода. С помощью клавиатуры необходимо ввести все параметры, которые обычно извлекаются при интерактивном вводе. Например, создание коробки обычно состоит в выборе начальной точки, перетаскивании для определения противоположного угла и еще одном перетаскивании для определения высоты. На рисунке 7.1 показано, что для выполнения одного и того же посредством клавиатуры необходимо выполнить шесть вводов, а при работе в интерактивном режиме - всего три шага. Кроме того, при работе с клавиатурой нет никакой визуальной информации вплоть до завершения процесса создания. На практике работу с клавиатурой при создании следует зарезервировать для тех случаев, когда точное размещение имеет решающее значение и соответствующие данные доступны. Хотя ввод с клавиатуры можно использовать для создания всех примитивов (за исключением Hedra), в этой книге всегда будет предполагаться, что объекты создаются в интерактивном процессе.
В то время, как процесс создания посредством клавиатуры может показаться более точным, такая же точность достижима при интерактивном создании объекта и регулировка его параметров из панели Modify, a расположения - из диалога Transform Type-In. Подобную точность можно получить при помощи Snap с учетом соответствующих установок сетки. В большинстве случаев интерактивный процесс создания с последующей модификацией проходит быстрее, поскольку критичными являются один-два параметра.
СОВЕТ
После определения объекта либо в интерактивном режиме, либо с помощью клавиатуры параметры панели Create (создать) остаются "активными" и продолжают оказывать влияние на только что созданный объект. Это отношение между панелью Create и недавно созданным объектом разрушается при щелчке в видовом окне или переключении на другую операцию. Если необходимо отредактировать параметры создания объекта после этой первоначальной точки, просто перейдите с выбранным объектом на панель Modifier.
При использовании стрелок счетчика следует помнить, что нажатие клавиши Ctrl ускоряет мышь, а нажатие клавиши Alt - замедляет. При редактировании цифровых полей замена поля на "г" плюс значение добавляет последнее к оригинальному, "г" в этом случае обозначает "относительный", поскольку при этом значение добавляется относительно оригинала. Процесс относительного ввода показан на рисунке 7.2, на котором параметр Height (высота) 96.0 увеличивается посредством R24 для получения окончательного значения 120.0.
СОВЕТ
При создании объектов при помощи основных сеток, вид, в котором начинает создаваться объект, определяет плоскость конструкции. При создании объекта в видовом окне Orthogonal определяется положение двух из трех координат точек подбора. Третья координата определяется с помощью текущей основной сетки. Например, в случае создания объекта создается в видах Right или Left, определяется положение Z и Y, а компонента Х помещается на основную сетку XY в позицию 0. На рисунке 7.3 показаны плоскости и их обозначения XYZ.
ПРИМЕЧАНИЕ
Если требуется конструировать на плоскостях, отличных от основных сеток или использовать одну и ту же плоскость во всех видовых окнах, доступны объекты вспомогательных сеток. Можно заметить, что основных сеток по умолчанию оказывается достаточно при использовании 3DS МАХ для создания независимых изолированных моделей. Однако объекты сетки становятся весьма полезными при увеличении сложности модели и в случае необходимости координации с другими сборщиками (другими программами). Сетки играют неоценимую роль при определении плоскостей конструкции, которые выравниваются с видами, гранями и объектами.
СОВЕТ
Манипуляции со вспомогательными объектами сетки выполняются так же, как и с другими объектами, поэтому их легко перемещать, вращать и выравнивать. Функция Normal Align (нормальное выравнивание) имеет особенно ценное значение при построении по отношению к моделям. Для использования объекта сетки его сначала необходимо активизировать путем выбора объекта сетки, а затем либо правого щелчка (как показано на рисунке 7.4), либо выбора Grids/Activate Grid Object (Сетки/Активизировать объект сетки) из меню Views. После активизации основные сетки исчезают и отображаются линии объекта сетки. В данной главе под, текущей активной сеткой понимается или активизированный объект сетки, или видимая плоскость собственной сетки в текущем окне.
ПРЕДУПРЕЖДЕНИЕ
Можно выполнить такое присвоение, что видовое окно станет окном Grid и будет отображать вид плоскости XY (план) текущего активного объекта сетки (что показано слева на рисунке 7.4). Когда основные сетки активны, видовые окна Grid отображают плоскость XY основной сетки (плоскость грунта). Виды Grid выполняют динамическое обновление при позиционировании и вращении активного объекта сетки. Теперь имеется постоянный вид с возвышения перпендикулярно плоскости. Виды Grid особенно полезны при создании сплайнов под углами к мировым осям. В этом смысле виды Grid можно считать плоскостями картинки, на которых выполняется рисование в традиционной перспективе.
СОВЕТ
Объекты сетки оказывают помощь не только при создании объектов. Создание ссылок на активный объект Grid в качестве текущих координатных систем для трансформаций, выравнивания, массивов и зеркаль-ного отображения часто оказывается очень полезным и широко применяется для объектов, которые создаются на сетке или выравниваются с ней.
ПРИМЕЧАНИЕ
В качестве инструментов для обеспечения точности при создании 3D Studio MAX обеспечивает системы сеток и фиксации. Отсчеты в нижней части экрана, показанные на рисунке 7.5, отображают координаты X, Y, Z текущего расположения курсора или текущее смещение при позиционировании, вращении или масштабировании. В процессе создания отсчет показывает координаты курсора. При трансформациях отсчет сообщает относительное расстояние трансляции, угол поворота или проценты масштабирования. Для обеспечения точности тщательно следите за отображением координат при перетаскивании или определении подходящего инкремента для активной сетки. Доступ к диалогу Grid and Snap Settings осуществляется по правому щелчку над различными пиктограммами фиксации, путем выбора его из меню Views или посредством присвоенной горячей клавиши.
СОВЕТ
Хотя система фиксации обеспечивает опции для фиксации вершин, ребер, пересечений сетки и линий сетки в пространствах 2D, 2.5D и 3D, доступность этих опций зависит от ситуации. При создании 3D-примитивов система фиксации всегда находится в режиме 2D, а активная сетка обеспечивает недостающий компонент координаты. Прочие установки фиксации 2D и 2.5D применяются только для создания объекта сплайна Line. Фиксация вершин и ребер применяется часто, но только для вершин и ребер, которые лежат на активной сетке. Геометрия всегда сравнивается с расположением сетки. При таких ограничениях инструмент обеспечения точности в процессе создания на самом деле опирается на сетки.
ПРИМЕЧАНИЕ
Видовые окна сетки оказывают неоценимую помощь при использовании объектов сетки. Эти окна совершенно выровнены с активной сеткой даже при повороте и позиционировании объектов сетки. Они предоставляют возможность постоянно корректировать и центрировать вид плана плоскости конструкции.
ПРИМЕЧАНИЕ
Процесс создания всегда происходит на активной сетке. Многие из тех, кто занимается моделированием, считают, что с точки зрения быстроты и точности предпочтительнее переориентировать сетку, чем создавать новую и затем изменять положение объектов.
Для создания объектов, параллельных видам User, Perspective, Camera и Spotlight, следует применять активный объект сетки, поскольку в случае активности основных видов используется только плоскость подложки (грунта) X, Y. При выбранном активном объекте сетки выполните Views -> Grids -> Align to Views и сетка будет выравниваться с этим видом. Теперь сетка готова для конструирования.
Знание основ процесса конструирования и достижения точности позволяет исследовать способы определения примитивов и манипуляции их параметрами. Геометрические примитивы 3D Studio MAX (см. рис. 7.6) обеспечивают строительные блоки, с использованием которых создается множество других форм. Те, кто занимается моделированием, используют примитивы в качестве начальной точки для создания каркаса и вершины. В общем случае примитивы служат инструментами построения и моделирования при создании булевых составных объектов. Стандартными геометрическими примитивами в 3DS МАХ являются:
Все примитивы имеют параметры для управления их определяющими размерами - результирующей сложностью, гладкостью и генерацией координат проецирования. Первоначально можно свободно обращаться со всеми параметрами, поскольку их всегда легко модифицировать и установить такими, как это необходимо, путем уточнения их значений из панели Modify или позже из Track View.
ПРИМЕЧАНИЕ
Создание геометрических примитивов достаточно прямолинейно. Просто выбирается базовая точка и затем для определения оставшихся размеров выполняется перетаскивание. В случае активности основной сетки выбранное для создания видовое окно определяет размещение объекта. Каждый примитив поступает с определяющими размерами и сегментацией, а некоторые имеют опции среза и разрезания на пластины для определения только части исходного примитива.
Для большинства объектов установлен предел в 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.
Параметрические объекты всегда начинаются с одной и той же ориентации локальной системы координат. Например, первоначальная ось Х чайника всегда находится по центру его ручки и носика, независимо от того, где он был создан.
Эта ориентация определяет ориентацию ограничивающей рамки объекта до тех пор, пока объект сохраняет параметрическое определение. В отличие от других программ, ограничивающая рамка объекта не указывает ориентации своих внутренних осей - эта ориентация полностью управляется ориентацией точки вращения объекта, текущей активной системой координат либо и тем, и другим.
СОВЕТ
Примитивы, имеющие определяемые линии пластин, обычно имеют опции параметров 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 показано, как очевидная "округленность" любого криволинейного периметра формы всегда определяется числом граней, из которых он состоит. Как человек, занимающийся моделированием, вы должны балансировать между количеством граней в сцене и необходимой степенью детализации. Помните, что сглаживание не влияет на истинную геометрию объекта - это только способ визуализации его поверхности.
ПРИМЕЧАНИЕ
Сглаживание создает иллюзию округленности за счет присвоения соответствующим граням групп сглаживания. Все прилегающие соединенные грани, совместно использующие общую группу сглаживания, сглаживаются по своим граничным ребрам. Запомните, что сглаживание может работать только между соединенными гранями. Поэтому, когда объект имеет несколько групп сглаживания, которые присвоены различным его частям, сглаживание не распространяется на несоединенные области даже в том случае, если граням присвоена одна и также группа сглаживания.
СОВЕТ
Для большинства примитивов при выключенной опции Smooth группы сглаживания не присваиваются. Коробки, цилиндры и конусы являются исключениями и по-прежнему присваивают группу сглаживания своим плоским колпачкам. Обычно последующие операции моделирования могут деформировать эти ребра. Общая группа сглаживания для трех плоскостей обеспечивает продолжение их гладкой (и предположительно плоской) визуализации. Об этом следует помнить, когда вы начинаете деформировать эти стороны из их первоначальной плоскости и, возможно, не хотите, чтобы они в дальнейшем были гладкими.
ПРИМЕЧАНИЕ
Во время манипуляции объектом или выборкой ряд компонентов оказывают помощь, руководят или управляют результатами процесса. Описанные в последующих разделах компоненты сами по себе не существуют, но временно используются в ходе выполнения операций.
Ограничивающая рамка (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 показано как в зависимости от сегментации изменяется воспринимаемая округлость круговых объектов. Если концов нельзя увидеть, можно создавать минимум сторон; если профиль очевиден (что является общим случаем для внутренних частей труб), количество сегментов должно быть увеличено.
ПРИМЕЧАНИЕ
Количество сегментов высоты для цилиндров и труб будет изменяться в зависимости от применения этих объектов. Чем более эти примитивы деформируются, тем больше сегментов требуется, чтобы они выглядели убедительно и были гладкими. Сегменты высоты влияют только на качество визуализации цилиндра в случае дальнейшей его деформации. Конечно, планирование этого не критично, поскольку сегментацию можно изменять позже. Планирование становится критичным, если вы собираетесь выполнить операцию, разрушающую стек объекта.
Конические объекты фактически очень похожи на цилиндры, потому что по существу конус является цилиндром с концами разных размеров. Конусы часто используются для создания общих форм, что во многом напоминает цилиндры, однако их два радиуса обеспечивают возможность помещения результирующего объекта в управляемый конус в любое время. Другим общим вариантом применения являются основные пирамидальные формы, показанные на рисунке 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.
Объекты Torus (тор) часто называют пончиками, шинами или кольцами. Хотя тор выглядит просто, этот объект имеет ряд интересных параметров. На рисунке 7.19 показано как параметр Twist скручивает радиальные линии (стороны), которые образуют спираль вокруг тора, а параметр Rotation вращает поперечные сечения (сегменты). Эффект параметра Twist полностью очевиден в неподвижном изображении, эффект же параметра Rotation лучше всего виден в анимации.
ПРИМЕЧАНИЕ
Объекты Hedra (ежик) и Teapot (чайник) служат в качестве намека на то, что можно делать с объектами 3DS MAX. Hedra обеспечивает неограниченные перестановки, a Teapot является примером сложного параметрического объекта, состоящего из частей (см. рис.7.22 далее в главе).
Можно ожидать появление множества других параметрических объектов попадающих под эти два класса. Деревья, растительность, ландшафты и тучи аналогичны Hedra, а двери, окна, стулья и даже наборы доспехов аналогичны Teapot.
Объект Hedra обеспечивает пять семейств Polyhedron (многогранник) со множеством управляющих параметров. Возможности этих параметров могут показаться бесконечными, и ввиду того, что над ними можно выполнять анимацию, они обеспечивают очень интересную геометрию (в особенности для систем моделирования частиц от независимых разработчиков, которые могут воспринимать объекты-ссылки в качестве частиц). На рисунке 7.20 показана часть того, что можно сделать с этим объектом; на рисунке 7.21 приведены диаграммы определяющих параметров.
Объект Teapot - это классика компьютерной графики. Известный в промышленности как "чайник из Юты", он является одним из первых предметов, которые всегда визуализируются. Теперь чайник является пиктограммой для 3D-графики в целом (поскольку используется в качестве пиктограммы визуализации). Пусть это покажется смешным, но скромный чайник является совершенно бесценным для проверки материалов и модификаторов благодаря своим геометрическим вариациям и подходящим координатам распределения (см. рис. 7.23).
Поставляемые вместе с 3DS МАХ параметрические объекты представляют собой два основных геометрических класса, поскольку они могут все преобразовывать в треугольные каркасы и лоскуты Безье. С развитием 3DS МАХ и добавлением дополнительных геометрических классов способ, при помощи которого модификаторы взаимодействуют с геометрией, приобретает более важное значение. Архитектура 3DS МАХ может разместить любое геометрическое определение. В базовый продукт включены параметрические, каркасные, лоскутные объекты и объекты сплайнов.
ПРИМЕЧАНИЕ
Модели 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 для работы с интерполированными лоскутами.
СОВЕТ
Лоскутные объекты по сравнению с каркасными объектами реагируют на модификаторы по-другому. На рисунке 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 МАХ умеют обрабатывать элементы каркаса или лоскуты, сохраняя все, что попадется им под руку, и проходя через результат модификации заданного геометрического класса.
Конкретно в ней рассматриваются следующие предметы:
Модификация одиночных объектов достаточно проста. Выберите объект и щелкните на модификаторе, который требуется применить. Модификатор присваивается на текущем уровне Modifier Stack объекта и готов к приему значений. Модификатора! обычно начинаются с их установок по умолчанию, которые часто не имеют значений или осуществляют первую итерацию конечного эффекта. Другие модификаторы, подобные Bevel (фаска) и Extrude (вытянуть), запоминают ранее использованные значения и присваивают их в качестве первоначальных значений по умолчанию. После применения уточните параметры модификаторов из их диалогов в Command Panel (взаимодействие с экраном требуется редко). Дополнительные модификаторы для объекта последовательно накапливаются в Modifier Stack. На рисунке 8.1 показано накопление модификаторов для примера примитива трубы.
ПРИМЕЧАНИЕ
В то время, когда каждый модификатор является уникальным, большинство из них совместно используют ряд основных характеристик. Первой характеристикой является список параметров. Эти значения управляют эффектом модификатора и сохраняются в файле. Практически каждый модификатор имеет параметры, хотя отсутствие любых параметров также допустимо (например, для явного модификатора Conversion); подобные модификаторы встречаются крайне редко.
Модификаторы всегда применяются к пространству объекта (которое также называется локальной системой координат) и носят иногда название "модификаторов пространства объекта" или сокращенно OSM. Как описано в главе 1, "Ключевые концепции 3D Studio MAX", модификаторы следует применять сразу после определения создания объекта и перед трансформациями и искажениями пространства. Поскольку модификаторы применяются в пространстве объекта, они уделяют определенное внимание расположению точки вращения объекта и его ориентации при создании.
Модификаторы можно применить к одиночному объекту, выборке объектов или к выборке Sub-Object (подобъект) внутри объекта. В этой главе рассматриваются проблемы применения первых двух методов, а в главе 9, "Моделирование при помощи форм", основное внимание уделяется проблемам моделирования на уровне подобъектов.
Модификаторы могут содержать подобъекты. Большинство модификаторов, оказывающих влияние на топологию (например. Smooth, Normal, Optimize), не имеют компонентов подобъектов, при этом кнопка Sub-Object становится серой. Класс модификаторов "редактирования" (EditMesh (отредактировать каркас), EditPatch (отредактировать лоскут) и EditSpline (отредактировать сплайн)) работает с наборами выборок в режиме Sub-Object. Все другие модификаторы имеют графическое представление, называемое гизмо, которым можно манипулировать как с объектом для достижения улучшенного управления эффектом модификатора. В свою очередь гизмо имеют центр, очень похожий на точку вращения. Центр управляет точкой, из которой генерируется эффект модификатора.
В случае применения к одиночному объекту модификаторы обычно согласуют свои гизмо с экстентами объекта и располагают центры в точке вращения объекта. При применении к многочисленным объектам модификаторы согласуют свой гизмо с экстентами набора выборок и помещают центр в центр тяжести ограничивающей рамки, как показано слева на рисунке 8.2. В результате объекты как будто бы объединены в один посредством одного модификатора, примененного к коллекции.
Гизмо всегда достигает геометрических экстентов, когда они видны в данной точке истории редактирования. Форма гизмо является главным образом визуальной помощью и не оказывает непосредственного влияния на воздействие модификатора. Эффект генерируется расположением центра гизмо и параметрами модификатора.
Когда модифицируются выборки объектов, они совместно используют одиночный модификатор-экземпляр. Выбор одного из модифицированных объектов и настройка совместно используемого модификатора влияет на все другие модификаторы объекта, поскольку все модификаторы являются экземплярами.
СОВЕТ
При отмеченном флажке Use Pivot Points модификация множества объектов существенно изменяется. Когда эта опция активна, она заставляет модификатор работать так, как будто бы он влияет на выбранные объекты по отдельности.
Как показано справа на рисунке 8.2, для каждого объекта задается гизмо, которое отображает его геометрию, а центр гизмо расположен в точке вращения. Хотя эти модификаторы кажутся отдельными, на самом деле они являются экземплярами - настройка параметров одного из них будет влиять на все экземпляры. Можно сразу сказать, когда вы влияете на модификаторы-экземпляры, поскольку гизмо отображается для каждого объекта первоначальной выборки.
Применение модификатора к набору объектов и последующее уточнение одного из них является общепринятым приемом. Превращение модификаторов-экземпляров в уникальные выполняется через кнопку Make Unique в Modifier Stack. На рисунке 8.3 показан стул, смоделированный подобными модификаторами и завершенный общим изгибом. Во время анимации передние ножки должны "прогуливаться", поэтому их модификаторы Bend были сделаны уникальными и настроены для прогулки.
СОВЕТ
Когда выборка делается при открытой панели Modify Panel (панель модификации), 3DS МАХ производит анализ выборки на предмет наличия общих модификаторов. Если последние найдены, они будут представлены в стеке. В противном случае выпадающий список окажется пустым. Для уточнения модификаторов-зкземпляров не требуется выбирать все объекты совместно используемой модификации. Например, если десять объектов были сужены к конусу, при выборе объектов 1-10 отображается модификатор Taper. Но, если объект не входит в десятку включенных в выборку, общности не будет и список стека окажется пустым.
Из всех областей интерфейса 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 (сплайн Безье). Поскольку это является начальным состоянием объекта, поместить модификатор ниже в стеке невозможно.
СОВЕТ
Кнопки, окружающие выпадающий список стека, используются для управления стеком. Каждый вход в стек может отдельно функционировать и отображаться:
ПРИМЕЧАНИЕ
ПРЕДУПРЕЖДЕНИЕ
Переименование модификатора выполняется посредством выбора модификатора и ввода нового имени в нижней части диалога. Теперь это имя присутствует в стеке и в 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.
СОВЕТ
Результат разрушения зависит от примененных к объекту модификаторов. Начиная с модификатора EditPatch результатом разрушения будет Patch, если не добавлен модификатор, превращающий объект в каркас. В противном случае объект, вероятнее всего, разрушится до Editable Mesh. Типовыми модификаторами, разрушающими объект до каркаса, являются EditMesh, Optimize, Displace, Relax и MeshSmooth.
ПРИМЕЧАНИЕ
При разрушении частей стека следует указать, что с этой частью модели работа завершена. Вновь напомним, что откат невозможен. Поэтому разрушение не следует выполнять для эксперимента, если объект не клонировался или файл не сохранялся. В качестве предусмотрительной меры используйте для объектов Save Selected (сохранить выбранные), при этом обеспечивается копия объектов в форме, которую можно модифицировать. Разрушение стека всегда уничтожает базовые параметры примитивов, а возвращаться к ним часто оказывается весьма полезно. Команда Merge обеспечивает простой метод для замены, если имеются оригиналы для ссылки.
После добавления модификатора в стек объекта, необходимо учесть куда его поместить в стеке или, точнее, в истории для данного объекта. Например распределение часто выполняется проще и более подходит для раннего применения в истории объекта перед деформацией геометрии. Понимание способов хранения модификаторов, порядка их вычисления и способов использования их элементов подобъектов, весьма существенно для правильного использования этой мощной возможности.
В сцене 3DS МАХ фактически все является результатом выполнения серии операций. То, что видно на экране, а в некоторых случаях - визуализация, является результатом этих операций в данный момент времени. При сохранении сцены в файле по сути выполняется сохранение начального состояния объектов с последующим "написанием сценария" каждой модификации, применяемой к объекту. Результирующая геометрия никогда не сохраняется в файле МАХ непосредственно. Вместо этого сохраняется первоначальный объект и все шаги для создания этой геометрии, что позволяет в будущем изменять свое решение при моделировании. #PВычисление стека выполняется только в случае необходимости. Результат называется каркасом действительности, а период времени, в течение которого результат является действительным, называется интервалом действительности. При первой загрузке сцены вычисляется Modifier Stack каждого объекта и отображается результат. Выполняется кеширование этого состояния и, если объект не модифицируется, оно повторно не вычисляется (путем добавления нового модификатора, настройки параметра в стеке или перемещения во временную точку, в которой параметр изменяется). Выполнение трансформаций на объекте не требует повторного вычисления стека; это только одна из причин, почему перемещение, вращение и масштабирование объектов является в 3DS МАХ таким быстрым.
Порядок применения модификаторов оказывает первостепенное влияние на результаты. Этот порядок следует планировать. Рисунок 8.9 показывает существенные различия между двумя модификаторами, которые помещаются в стек в различном порядке.
В то время, как Modifier Stack позволяет вернуться назад в любую точку во времени и поместить новый модификатор в любое место, он не обеспечивает возможность изменения порядка следования модификаторов. Общее недоразумение заключается в предположении, что порядок входов в стеке можно изменить в диалоге Edit Modifier Stack или Track View - этого сделать нельзя. Если модификатор применяется в неправильном порядке, необходимо удалить неправильно помещенный модификатор, найти в стеке подходящее место и снова применить модификатор. Если необходимо обеспечить первоначальные установки, запишите их и скопируйте в новый' модификатор вручную. К счастью, подобное случается очень редко. Как правило, факт неправильного помещения модификатора всплывает очень быстро, поскольку интерактивное видовое окно сразу отражает допущенную ошибку.
В общем случае гизмо следует перемещать только для установки новой визуальной ссылки, а не для управления ее эффектом. Вместо этого перемещайте центр. Перемещение центра гизмо практически всегда то же самое, что и перемещение гизмо, за исключением того, что экстенты гизмо остаются вместе с модифицированным объектом. Перемещение гизмо создает визуальное отклонение, которое может приводить в замешательство в течение жизни модели. На рисунке 8.10 показана одна и та же модель с одинаковыми значениями модификатора Bend. Центр правого модификатора был перемещен на верхушку объекта, а слева показано гизмо, перемещенное вверх. После обеих операций центр находится в том же самом месте, но при перемещении гизмо его граница больше не совпадает с тем, что деформируется. При перемещении центра граница гизмо не нарушает деформированного объекта.
ПРИМЕЧАНИЕ
Расположение точки вращения объекта определяет первоначальное расположение осевого центра модификатора и ориентацию собственной локальной системы координат гизмо. Многие модификаторы обеспечивают параметры, необходимые для вращения их эффекта. Если доступны модификаторы, подобные 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 и настройки абсолютного масштаба гизмо:
Во многие модификаторы включена возможность ограничения места действия их эффекта с помощью параметров, называемых пределами. Они управляются параметрами Upper Limit (верхний предел) и Lower Limit (нижний предел) (иногда на них ссылаются как на From (от) и То (до)) и расположением центра гизмо. Пределы отличаются от модификации подобъекта, поскольку влияют на весь объект, но помещают свою деформацию в заданный диапазон.
Изогнутая соломинка является хорошим примером использования пределов. На рисунке 8.15 показаны несколько попыток изогнуть прямую соломинку (примитив Tybe). Первый изгиб, показанный слева, влияет на всю соломинку, что не требуется. Второй изгибает только верхнюю половину трубки (используется модификатор Volume Select (выбрать объем)), но не допускает прямой секции после изгиба. Третий пытается изогнуть среднюю часть соломинки (снова посредством модификатора Volume Select) и дает плохие результаты. Четвертый изгиб применяется ко всей соломинке (в точности как первый), но эффект локализован в определенных пределах для создания классической изогнутой соломинки.
Modifier Limits (пределы модификатора) основаны на центре гизмо. Параметры Upper Limit и Lower Limit указывают расстояние от центра, на протяжении которого модификатор оказывает влияние. После этого расположение центра определяет, где вдоль оси имеет место ограниченный эффект. Поскольку пределы Upper и Lower основаны на центре, при его перемещении они "путешествуют" вместе с ним. Эта концепция хорошо видна при дублировании изгиба соломинки.
Модификаторы с пределами обычно оказывают влияние на весь объект. Влияние одного ограниченного модификатора может неблагоприятно сказаться на влияние другого, поскольку часто они перекрываются. Порядок применения модификаторов также имеет значение. В общем случае во избежание конфликтов ограниченные модификаторы следует "помещать в стек" вдоль длины объекта. При применении множества ограниченных модификаторов лучше всего применить самый дальний модификатор и работать "назад". Если точка вращения объекта находится в центре, вероятно придется работать с двумя "стеками" - модификато-рами 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 используется для применения эффекта трансформации (перемещение, вращение или масштабирование) в качестве модификатора - это означает, что неоднородное масштабирование обрабатывается как модификатор, а не как трансформация на уровне объекта. Глава 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. Эти переключатели являются быстрыми средствами для переориентации гизмо, поскольку гизмо можно вращать для достижения одинаковой модификации.
СОВЕТ
Центр является точкой вращения гизмо и используется для размещения центра тяжести эффекта модификатора. Перемещение центра во многом похоже на перемещение точки вращения объекта. В отличие от точки вращения центр определяет только одну точку и не имеет набора осей, которые можно вращать или масштабировать. Центр можно считать дочерним объектом гизмо, поскольку при перемещении гизмо центр также перемещается. Процесс использования осевых деформаторов и получения необходимых результатов часто выглядит следующим образом:
Расположение центра оказывает огромное влияние на результат модификатора. Это может привести к мысли, что нужно вращать гизмо, когда все, что необходимо сделать, - это переместить модификатор.
Модификатор 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 (свести на конус) является параллелью Bend, будучи весьма гибким и всецелевым инструментом. Taper основывает свой эффект на центре гизмо с противоположным масштабированием, которое выполняется всегда выше и ниже центра. Центр работает как устойчивое место, в котором масштабирование не выполняется. Опция Curve в Тарег позволяет задавать выпуклости и вогнутости для того, что иначе было бы прямым конусом. На рисунке 8.25 показано успешное использование модификатора Тарег. На рисунке 8.26 показан эффект от расположения центра Тарег на трех осях.
Тарег является уникальным среди базовых модификаторов, поскольку предоставляет опцию для сведения на конус вдоль любой комбинации осей. Эффект таких комбинаций демонстрируется на рисунке 8.27. Этот рисунок также показывает эффект опции Symmetry, которая центрирует и выполняет зеркальное отображение вокруг оси процедуры сведения на конус. Отметим, что поскольку точка вращения Teapot расположена на его основании, изменение опции Symmetry для основной оси Z не оказывает эффекта.
Команда Тарег становится особенно полезной при использовании вместе с пределами. На рисунке 8.28 показан пример того, что можно создать посредством ограниченных конусов. Отметим, что стек истории включает только Тарег и не содержит модификаторов EditMesh или VolSelect. Поэтому модель является достаточно эффективной. Поскольку все модификаторы применялись на уровне объекта, можно свободно модифицировать любой из параметров Tube без неблагоприятного влияния на модель, что разрешает регулировать сегментацию в любое время. После этого в сцену легко включать модели с различной сложностью.
Модификатор Skew (перекос) является в меньшей степени осевым модификатором, но создает больший эффект масштабирования. Skew масштабирует выборку в противоположных направлениях на основе расположения центра гизмо. Центр работает как стабильное место, в котором перекос не происходит (рис. 8.29).
Skew влияет на геометрию выборки при помощи "растяжения" или "скольжения" вдоль одной из осей мест расположения вершин каркаса. Направление перекоса определяется параметром Direction и выбранной осью. Если центр гизмо находится в середине выборки, объект перекашивается в обеих направлениях (см. рис. 8.30).
Для ограничения Skew так, чтобы расширялась только одна сторона, центр гизмо следует поместить на край стороны, которая должна остаться стабильной. Размещение центра позволяет придавать больший "вес" одной или другой стороне. На рисунке 8.31 показано применение Skew с пределами. Поскольку Skew выполняет масштабирование или уплощение выборки, его можно считать настоль же полезным, как и другие осевые деформации.
Модификатор Twist (скручивание) по существу берет ось и создает спиральный винт или штопор. Подобный эффект получается, когда в вашей руке висит веревка, а вы начинаете быстро вращать кисть. На рисунке 8.32 показано использование нескольких скручивании на одном и том же объекте.
Влияние Twist достаточно сильно зависит от расположения центра гизмо. Если этот центр находится на объекте. Twist создает геометрические спирали, во многом похожие на столб с белой и красной спиралями (вывеска парикмахера) или на леденец в виде палочки. Если центр перемещается, геометрия скручивается для образования спирали. Цилиндры на рисунке 8.33 показывают эффект расположения центра гизмо в центре объекта и со смещением. Расположение гизмо вдоль оси, на которую производится воздействие, управляет вращением Twist. На рисунке 8.33 показано, что при снижении центра скручивание вращает объект (два ряда чайников имеют одинаковое расположение центра гизмо).
Использование Twist с пределами содержит большой потенциал. Декоративные изделия из железа, скрученный провод и, как показывает рисунок 8.34, даже ювелирные изделия могут использовать ограниченные скручивания. При анимации символов для создания карикатурных результатов скручивание может ограничиваться только головкой и шейкой.
Модификатор Stretch (растягивание) был добавлен в версии 1.1 для завершения осевых деформаций. Во многом он является пересечением между трансформацией Squash и модификатором Taper. Squash - это неоднородное масштабирование одной оси вверх, а двух других - вниз. Stretch оказывает тот же эффект за исключением того, что он создает кривую на растянутой оси аналогично опции Curve из Taper. На рисунке 8.35 показано, что эффект Stretch имеет ограниченный характер.
Расположение центра гизмо Stretch влияет на сторону, на которой происходит эффект. Обычно требуется, чтобы центр гизмо располагался на объекте, а рисунок 8.35 показывает как смещение центра создает интересные эффекты, придавая деформации вес и характерные особенности.
Хотя Stretch используется в основном в качестве инструмента анимации, потенциально его можно применять при моделировании при условии установки пределов. На рисунке 8.37 показано как можно превратить простую Tube в сложную вазу путем нескольких растяжений. Stretch следует использовать подобным образом, понимания, что одна ось будет масштабироваться за пределами текущей геометрии.
В этой главе рассматриваются общие вопросы создания форм и вводятся некоторые методы трехмерного моделирования, основанные на формах. В частности, внимание акцентируется:
Конечно, начинать следует с создания объектов форм.
Создавайте объекты форм путем щелчка на категории Shapes (формы) в панели Create и последующего щелчка на кнопке формы в свитке Object Type (см. рис. 9.1). Для завершения формы выполните перетаскивание в видовом окне и установите параметры формы. В последующих разделах поясняются способы создания форм и что означают параметры формы.
Перед созданием и редактированием форм полезно иметь основные понятия о терминологии, применяемой для форм. Ниже приведен список терминологии для форм, используемой в 3DS МАХ. Рисунок 9.2 демонстрирует эти термины.
Щелкните на кнопке Line в панели Create для создания наиболее общего типа формы. В создание линий входит не только выбор точек на экране. Необходимо помнить ряд характеристик:
Выборы, выполняемые в свитке Creation Method (метод создания), критичны для управления первоначальными свойствами линий. Выберите опции для управления типом вершины, которая получится посредством щелчка или перетаскивания при создании линий. На рисунке 9.3 показаны два типа Creation Method и поддерживаемые ими типы вершин.
Наиболее общим методом создания линий является интерактивный щелчок в видовом окне. На интерактивное создание линии распространяются следующие правила:
Другим методом создания линий является использование характеристик свитка Keyboard Entry (рис. 9.4). Введите координаты X, Y и Z и затем щелкните на Add Point (добавить точку) для каждой вершины линии. После завершения щелкните на Close для соединения последней вершины с первой после чего линия замыкается, либо щелкните на Finish, чтобы линия осталась открытой.
На создание линий с помощью Keyboard Entry распространяются следующие правила:
Последнее правило усложняет рисование точных линий через Keyboard Entry. К счастью, будущий выпуск будет отображать каждый сегмент линии по мере ее создания.
Оставшиеся формы являются параметрическими объектами. Расположения вершин и типы устанавливаются параметрами в панели Create. Формы в дальнейшем могут различаться в соответствии с методами их создания. За двумя исключениями формы создаются при помощи определения либо их радиуса, либо прямоугольника. Упомянутыми исключениями являются дуги и текст.
Создавайте большинство вершин путем первоначального перетаскивания радиуса. К формам, использующим подобный метод, относятся пончик (тор), круг, спираль, NGon (N-угольник) и звезда. Для этих форм применяется следующая технология создания:
Прямоугольники и эллипсы создаются путем перетаскивания диагонали прямоугольника. Для этих форм применяется следующая технология создания:
Создавайте круги и N-угольники при помощи перетаскивания одного радиуса. Круги для определения всегда используют четыре вершины.
Используйте параметры сторон для N-угольников для изменения количества вершин и сторон. Используйте NGons с отмеченной опцией Circular каждый раз, когда необходим круг с числом вершин более четырех, как показано на рисунке 9.5.
Создавайте пончики и звезды при помощи перетаскивания сначала радиуса и последующего щелчка для определения второго радиуса. Звезды имеет два дополнительных параметра, которые используются для установки количества точек в звезде и значения искажения.
Параметр искажения (Distortion) для звезды вращает вершины с Radius 2 вокруг локальной оси Z звезды. Положительные значения вращают вершины против часовой стрелки, а отрицательные значения - по часовой стрелке (см. рис. 9.6).
Создавайте прямоугольники и эллипсы путем перетаскивания диагонали. Диагональ определяет параметры Length и Width, используемые прямоугольником или эллипсом.
Нажимая Ctrl во время перетаскивания при создании квадратного прямоугольника или кругового эллипса накладываются ограничения. Зачем необходимо создавать круговой эллипс, когда можно ограничиться созданием круга? Если необходимо выполнить анимацию из круга в эллипс, начинайте с эллипса, созданного при помощи клавиши Ctrl.
Способ, в соответствие с которым создаются дуги, в значительной степени зависит от выбора Creation Method. Дугу можно определить с использованием двух методов:
Какой бы метод не использовался, параметры дуги хранятся в виде радиуса, угла From (от) и угла То (до). Фиксируется только центральная точка дуги. Изменение любого из трех параметров вызывает перемещение конечных точек дуги.
Спираль (helix) создается путем перетаскивания сначала радиуса, затем щелчка для установки высоты спирали и второго щелчка для установки радиуса. После этого можно установить еще три других параметра - Turns (повороты), Bias (смещение) и направление поворота. Спираль весьма полезна в качестве пути лофтинга для создания объектов, подобных штопорам, искривленным лестничным перилам и нагревательным элементам. Для создания спирали используется следующий метод:
После создания основной спирали можно установить следующие параметры:
Рисунок 9.7 демонстрирует простую спираль, параметры которой показаны слева. Спирали справа показывают, чего можно достигнуть за счет изменения параметров спирали.
Текст является простейшей создаваемой формой. Щелкните в любом видовом окне и текст будет помещен на текущую плоскость конструкции. Чтобы увидеть текст, можно также выполнить перетаскивание при перемещении курсора в пределах видового окна; текст помещается каждый раз при отпускании кнопки мыши. После этого для изменения шрифта, стиля, размера и отображаемой строки текста необходимо установить параметры следующим образом:
Из-за способа определения высоты шрифта строка текста никогда не заполняет полностью указанный размер. Со значением Size (размер) следует экспериментировать до тех пор, пока строка текста не будет иметь необходимой высоты. После нахождения подходящей высоты весь текст, созданный с использованием одного и того же шрифта и размера, будет иметь одинаковую высоту букв.
Введите текст, который необходимо поместить в сцену 3DS МАХ. Хотя поле текста имеет по высоте множество строк, набрать можно только одну строку текста. Если вводимый текст оказывается длиннее ширины текстового поля, он прокручивается влево.
Можно также вставить текст из буфера обмена Windows с учетом следующих ограничений:
ПРЕДУПРЕЖДЕНИЕ
Текст в 3DS МАХ обладает интересной двойственностью. Текст является параметрическим, поэтому можно вернуться назад и редактировать его как текст. Поскольку текст также является сплайном, его можно редактировать как геометрию. Подобная двойственность текстовых объектов предоставляет лучший из двух миров. Приведенный ниже пример показывает как редактировать и трансформировать текстовые объекты для создания выровненного параграфа.
Никто не ошибется в случае применения 3DS МАХ в качестве текстового процессора, но в некоторых задачах анимации может потребоваться создание нескольких строк текста с определенным выравниванием. Например, необходимо создать логотип или знак, содержащий несколько строк текста. Данный пример использует Array и Align для расположения трех строк выровненного влево текста для магазина с названием Cameron's Camera Shop:
Предыдущие шаги создают три строки текста с интервалом 90.0 единиц, как показано на рисунке 9.9. Размер текста обычно является хорошим начальным значением для интервала Array. От этого начального значения можно выполнять регулировку вверх и вниз. Для большинства шрифтов может потребоваться уменьшение интервала, в особенности, если текст имеет всего несколько нижних выносных элементов, как в случае с Cameron's Camera Shop.
Организация массива из первой строки текста является самым быстрым методом расположения множества строк текста. Затем следует отредактировать новые строки через панель Modify (модифицировать).
Если необходимо выравнивание по центру, на этом можно завершить. 3DS МАХ помещает точку вращения текста в центр строки текста, что по умолчанию обеспечивает текст, выровненный по центру. Для выравнивания влево и вправо используйте команду Align.
Теперь текст выровнен влево, а первая строка расположена так, как показано на рисунке 9.10. Комбинация параметрического текста. Array и Align позволяет легко расположить множество строк выровненного текста для ЗD-знаков и логотипов.
По определению пончики и текст содержат множество сплайнов в одной и той же форме. Такие формы называются составными формами. Форма пончика содержит два круговых сплайна; форма текста содержит по крайней мере по одному сплайну для каждой буквы, а ряд букв требуют множества сплайнов.
Создавайте составные формы с помощью снятия отметки с флажка, находящегося за кнопкой Start New Shape (см. рис. 9.11).
К любой форме всегда можно вернуться и произвести добавление к ней чего-либо в соответствие со следующими методами:
Кнопка Start New Shape обеспечивает быстроту и удобство, но Edit Spline предоставляет большее управление расположением сплайнов. Кроме того, при использовании кнопки Start New Shape не следует возвращаться назад и выполнять доступ к любым параметрам формы после ее создания. Посредством Edit Spline в составной форме можно сохранить по крайней мере один сплайн.
Все основные объекты формы содержат свиток параметров, помеченный Interpolation (интерполяция) (см. рис. 9.12). Этот свиток содержит три параметра, управляющие количеством шагов в каждом сегменте сплайна. Понимание и правильное использование параметров интерполяции критично для эффективного использования форм.
Как упоминалось ранее в этой главе, шаги являются делениями вдоль сегмента сплайна. Шаги управляют двумя свойствами формы: гладкостью кривых формы и количеством граней, генерируемых формой. В отношении гладкости кривых формы более высокие установки шага создают более гладкую кривую; в отношении количества граней, генерируемых формой, более высокие установки в шаге создают большее число граней.
Параметры интерполяции управляют количеством шагов в форме:
На рисунке 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 Shape). Последующая информация об Edit Spline сфокусирована на основных методах моделирования форм.
Для применения Edit Spline к форме следует выбрать объект формы. Затем щелкните на Edit Spline в панели Modify. В следующих четырех разделах описываются методы, общие для всех уровней редактирования сплайновых подобъектов.
Терминология для форм и определения подобъектов формы были представлены в начале этой главы. С помощью модификатора Edit Spline можно выбирать следующие подобъекты формы:
Выбирайте эти подобъекты формы путем щелчка на кнопке Sub-Object и выбора уровня подобъекта, на котором необходимо выполнить редактирование. После этого выберите подобъект посредством стандартных инструментов выборки.
Можно аннулировать любое действие, выполненное с помощью 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 или локальной системы координат. Поведение подобъектов, использующих эти трансформации следующее:
Как упоминалось ранее. Edit Spline сохраняет запись о всех отсоединенных или удаленных подобъектах. Edit Spline также записывает каждое изменение для каждого подобъекта. Подобный метод записи приводит к тому, что модификаторы Edit Spline существуют повсюду в Modifier Stack, и является причиной, по которой Edit Spline можно удалить из стека и вернуть объект к предыдущему виду. Платой за такую гибкость является увеличение объема используемой памяти и дискового пространства.
Ниже перечислены общие методы применения Edit Spline:
Приведенный ниже пример показывает сколько памяти используется при перемещении одной вершины несколько раз и демонстрирует возможности сохранения памяти посредством Undo:
Edit Spline является мощным инструментом, но его следует применять с осторожностью. Планируйте шаги, в которых будет использоваться Edit Spline. Регулярно используйте Undo. Разрушайте модификатор по завершению моделирования. Использование такой методики может значительно сэкономить память и улучшить общую производительность 3DS МАХ.
Если выключить режим Sub-Object модификатора Edit Spline, две его характеристики можно использовать на уровне объекта. Эти характеристики находятся в свитке Edit Object, как показано на рисунке 9.16. Использование Attach Attach (присоединить) используется для добавления к выбранной форме других форм посредством модификатора Edit Spline. При использовании Attach запомните следующие важные моменты:
Щелкните на кнопке 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.
СОВЕТ
Каждый сплайн внутри формы содержит первую вершину. Первая вершина используется для множества целей и в некоторых ситуациях может играть исключительно важную роль. Первую вершину можно использовать в качестве:
Для указания первой вершины сплайна выберите в нем одиночную вершину. Если сплайн замкнут, на нем можно выбрать любую вершину; если открыт (разомкнут), необходимо выбрать одну из конечных точек. Щелкните на Make First (сделать первой).
Вершина идентифицируется небольшой рамкой, нарисованной вокруг нее, как показано на рисунке 9.19.
Используйте кнопку Connect (соединить) для выполнения перетаскивания от одной вершины к другой, чтобы соединить их посредством сегмента. Обе вершины должны быть расположены на концах разомкнутого сплайна. Новый сегмент всегда оказывается линейным. Чтобы сегмент выглядел искривленным, необходимо изменить свойства вершины.
Добавление вершин к сплайну осуществляется по одному из трех методов:
Хотя свиток Edit Vertex содержит только одну кнопку Weld (объединить), для объединения вершин можно применять один из двух методов.
При объединении вершин применяются следующие ограничения:
Вершины и касательные ручки обеих типов вершин Безье можно трансформировать при помощи стандартных инструментов выборки и трансформации из линейки инструментов. Эти типы трансформаций являются статическими и с ними нельзя выполнить анимацию.
Как упоминалось ранее в этой главе, центры Pivot Point не работают при трансформации вершин ни в какой системе координат, кроме локальной. При других центрах координат центры Pivot Point ведут себя как центр Selection. При выборе локальной системы координат можно использовать только центры Pivot Point (можно выбрать другой тип центра, но тип ведет себя так, как центр Pivot Point). Трансформация вершин посредством локального центра координат трансформации весьма удобна при работе с касательными ручками вершин Безье.
ПРИМЕЧАНИЕ
При выборе вершин с типами Bezier или Bezier Corner видны касательные ручки Безье. Можно предположить, что путем манипуляций касательными ручками достигается полное управление направлением и кривизной сегмента.
Наиболее общепринятый способ трансформации ручек вершин заключается в использовании инструмента Move. Для трансформации касательной ручки выполните перетаскивание зеленой рамки на конце ручки, а не перетаскивание самой вершины. Даже если выбрано множество вершин, каждый раз можно перетаскивать только одну касательную ручку. Перетаскивание касательной ручки работает следующим образом:
Можно также перетаскивать ручки выборки вершин или блокировать вместе ручки "Bezier Corner" с помощью опций Lock Handles (заблокировать ручки) (см. рис. 9.21). Опции Lock Handles основаны на понятии порядка вершины. Каждый сплайн сохраняет вершины в порядке, начиная с назначенной первой вершины и завершая последней вершиной. Касательная ручка тогда идентифицируется как входная для ручки, указывающей назад на предыдущую вершину, и как выходная для ручки, указывающей вперед на следующую вершину. Посмотрев на них, трудно определить их различия, однако последние проявляются при использовании опции Alike в Lock Handles.
Опции блокировки Alike (одинаково) и All (все) ведут себя по разному в зависимости от того, выполняется ли работа с выборкой, состоящей из одной или множества вершин.
Недостаток перетаскивания касательных ручек заключается в том, что трудно управлять перетаскиванием, если необходимо изменить одно свойство, подобное направлению. Удобным решением этой проблемы является вращение или масштабирование выборки вершин с использованием локальной системы координат трансформации.
Анимация недоступна непосредственно ни для одной характеристики модификатора Edit Spline. Однако анимацию эффекта трансформации вершин можно выполнить посредством передачи в Modifier Stack выбранных вершин модификаторам XForm или Linked XForm (связанный XForm). Выполнение анимации с трансформациями вершин производится по следующим шагам:
При выполнении анимации с гизмо XForm оно переносит вместе с собой выбранные вершины. Этот же метод можно использовать для анимации эффекта трансформации касательных ручек вершины:
Следующим уровнем редактирования подобъекта в модификаторе 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 щелкните в любом месте на сегменте для вставки двух несоединенных вершин в позицию, где выполняется щелчок.
Имеется возможность управлять кривизной сегментов путем установки свойств сегмента. Выберите несколько сегментов и выполните правый щелчок на выборке для получения меню свойств сегмента. Доступны два выбора:
Использование свойства Line сегмента является удобным способом уплощения сегмента, не влияя на его кривизну на обеих концах. Подобный результат можно получить за счет преобразования вершин в вершины типа "Bezier Corner" и последующей настройки касательных ручек так, чтобы сделать сегмент линейным, однако такой процесс является достаточно трудоемким.
Сегменты можно трансформировать с помощью стандартных инструментов выборки и трансформации в линейке инструментов, включая метод Shift-Clone для создания копий сегмента. Эти типы трансформаций являются статическими и с ними нельзя выполнить анимацию.
Если требуется выполнить анимацию с эффектом трансформации сегмента, можно применить метод XForm, описанный ранее для вершин.
Как упоминалось ранее в этой главе, при трансформации сегментов в любой системе координат центры Pivot Point не работают. При выборе локальной системы координат происходит блокировка на мировую систему координат с центром в мировом начале координат.
Заключительным уровнем подобъекта модификатора Edit Spline является Spline (сплайн). Выбор этого уровня отображает свиток Edit Spline (см. рис. 9.24).
Detach и Delete уже были описаны для всех уровней подобъекта в начале обсуждения Edit Spline.
Эта простая команда рисует сегмент от последней вершины разомкнутого (открытого) сплайна обратно к первой. Выберите сплайн и щелкните на Close (закрыть).
Создание контуров для сплайна является быстрым и удобным методом получения множества концентрических копий закрытого сплайна или получения версии с двойной линией открытого сплайна. Такие копии удобны, при создании контурного текста, полого логотипа или аналогичным форм. Характеристика Outline (контур) сначала может показаться мудреной, но после овладения ею можно заметить, что она обладает большой гибкостью.
Щелчок на кнопке Outline выполняет переход в режим создания контуров. До тех пор, пока эта кнопка активна, можно продолжать выбирать и создавать контуры для любого сплайна в форме. Для выхода из режима Outline щелкните на другой кнопке или выполните правый щелчок в активном видовом окне.
Флажок Center определяет то, как генерируется контур с расстояния контура.
Метод ввода с клавиатуры удобен при создании точных контуров и для генерации множества повторяющихся контуров. Например, представим, что требуется создать множество контуров буквы, причем каждый контур должен отстоять от предыдущего в точности на 5 единиц. Это выполняется посредством ввода с клавиатуры:
Каждый раз после нажатие Enter создается контур, а поле Outline Width сбрасывается. Предыдущие шаги создают множество контуров с интервалом 5 единиц между каждой копией (см. рис. 9.25).
Команда Boolean объединяет два исходных сплайна и всегда их удаляет в процессе создания булевого сплайна.
Перед выполнением булевой операции на сплайнах исходные сплайны должны удовлетворять следующим требованиям:
За исключением этих ограничений команда Boolean является очень простым и стабильным инструментом. На рисунке 9.26 показаны действительные и недействительные сплайны для булевых операций. Для выполнения булевой операции с двумя сплайнами:
Если выбрана операция Substaction, второй сплайн будет всегда вычитаться из первого.
При зеркальном отображении сплайнов создаются такие же результаты, как и при использовании команды Mirror object (создать зеркальное отображение объекта) в линейке инструментов. В обеих случаях происходит переключение объекта по отношению к одной или двум осям, обеспечивая в это же время опцию копирования.
Рассмотрим важные отличия между созданием зеркальных отображений сплайнов и объектов:
Для зеркального отображения сплайна выполните следующие шаги:
Сплайны можно трансформировать с помощью стандартных инструментов выборки и трансформации в линейке инструментов, включая метод 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) и количество сегментов:
При вытягивании формы выбор можно делать из следующих опций:
Для генерации поверхности кругового вращения к объекту формы применяется Lathe (вращать). Поверхность вращения является чем-то, что можно создать в виде Loft, но применяя Extrude, однако если круговое вращение вокруг дуги совершает одна форма, Lathe является лучшим выбором.
Как и в случае Extrude, можно виртуально вращать любую форму. На рисунке 9.30 показаны примеры форм вращения.
Наиболее важными решениями при вращении форм являются установка опций оси Lathe и установка поверхности кругового вращения.
По умолчанию расположение оси Lathe начинается с центра создания формы и выравнивается с локальной осью Y формы. Центр создания - это расположение по умолчанию точки вращения после создания формы.
ПРЕДУПРЕЖДЕНИЕ
Если необходимо изменить положение сплайна по отношению к точке вращения формы, для перемещения сплайна лучше использовать Edit Spline, а не Adjust Pivot (отрегулировать точку вращения).
Если вместо положения оси по умолчанию требуется использовать что-то другое, доступны четыре выбора:
После использования любого из этих четырех методов для расположения оси Lathe нет гарантированного метода для сброса оси в место расположения по умолчанию. Чтобы вернуться к расположению оси по умолчанию следует удалить модификатор Lathe и затем повторно применить его.
Ориентацию оси Lathe можно установить посредством трех кнопок ориентирования. Щелкайте на кнопках X, Y или Z для выравнивания оси Lathe с локальной осью выбранной формы. При выборе оси Lathe необходимо учитывать следующие проблемы:
Три опции поверхности кругового вращения управляют степенью кругового вращения и сложностью генерируемого каркаса:
Опции создания наконечников и выбор между типами вывода Mesh и Patch такие же, как и для Extrude. Lathe включает в себя флажок Generate UV Coordinates (генерировать UV-координаты) для применения координат распределения к сторонам объекта вращения. Если не используется полный оборот в 360°, к наконечникам координаты распределения применяются вручную.
В 3DS МАХ R1.1 был введен новый модификатор Bevel (фаска), используемый для вытягивания и создания фаски на форме. Этот модификатор в основном применяется для классического текста с фаской и обработок логотипов (см. рис. 9.33).
Точно так же, как для Extrude и Lathe, объекты с фаской можно создавать как объекты лофтинга. Для большинства ситуаций, в которых необходима классическая фаска, Bevel представляет собой наилучший выбор. При выполнении фаски основное внимание следует уделить:
Создавайте объект с фаской путем установки для Bevel следующих значений:
Опции области Surface (поверхность) в свитке Parameters устанавливают как обрабатываются поверхности ребер. В основном опции управляют тем, являются ли стороны плоскими, закругленными или гладкими круглыми сторонами:
Опции распределения 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 для предыдущего объекта с фаской, который содержит пересечения.
ПРИМЕЧАНИЕ.
Многие проблемы пересечений решаются вручную при помощи Edit Spline. Большинство проблем пересечения вызваны ребрами формы, приходящими в острую точку. Если сделать точку более плоской, можно решить множество проблем, связанных с пересечением.
Для решения проблемы пересечений используется следующий метод:
На рисунке 9.38 показан объект из рисунка 9.37 после применения приведенного метода.
В Bevel также входит флажок Generate UV Coordinates для применения к сторонам объекта с фаской координат распределения. К наконечникам объекта координаты распределения необходимо применять вручную.
В этой главе представлена следующая информация о loft-объектах:
Перед переходом к собственно созданию loft-объектов необходимо познакомиться с основными концепциями их создания.
В течение всей жизни 3D Studio MAX в качестве аналогии для лофтинга неоднократно использовалось описание строительства корпуса судна. Да, путь лофтинга можно считать килем, а формы для лофтинга -ребрами судна, которые размещаются вдоль киля. К сожалению такое описание предполагает ограниченный подход к лофтингу, поскольку подобный подход несправедлив по отношению к опциям моделирования, имеющимся для loft-объектов.
Другим способом рассмотрения процесса лофтинга является анализ метода, в соответствие с которым разработчики и скульпторы создают учебные модели. Эти профессионалы используют форму пространственных эскизов для построения трехмерных моделей путем расположения линий в пространстве. Линии обычно принимают вид поперечных сечений объекта и удерживаются на месте при помощи основной линии. В ходе разработки образуется поверхность за счет заполнения промежутков между поперечными сечениями скульптурным материалом (подобным глине) или посредством растяжения на поперечных сечениях пленки (подобной ткани, смоченной в гипсе).
Создание loft-объектов происходит во многом аналогично. Создается основная линия (путь) для поддержания любого количества поперечных сечений (форм). При редактировании пути и форм для отображения поверхности в виде проволочного каркаса или в затененном виде можно использовать параметры поверхности для лофтинга.
Наряду с основными терминами, описывающими объекты Shape (форма), loft-объекты используют специальную терминологию. Приведенные ниже определения дают обзор терминологии для форм при применении их к loft-объектам, и вводят для loft-объектов новые специфичные определения. Подробные определения для терминов формы содержатся в главе 9.
Можно использовать практически любую форму в качестве исходной для поперечного сечения или пути. Путем соблюдения ряда ограничений и предложенных методов при создании исходных форм для loft-объектов можно значительно приблизиться к успеху.
Формы пути имеют только одно ограничение - они могут содержать исключительно один сплайн. 3DS МАХ отказывается принимать любую форму, содержащую в качестве пути более одного сплайна (например, пончик). Если предпринимается попытка создания loft-объекта и 3DS МАХ не воспринимает форму, которую необходимо использовать для пути, убедитесь в том, что необходимый путь не является частью формы, включающей множеством сплайнов.
К формам поперечного сечения применяются два ограничения. Все формы на пути должны содержать одинаковое количество сплайнов, что не является серьезным ограничением, как это может показаться. Просто создайте то, что выглядит как одна форма, разделите ее на множество форм путем создания "одной формы" из серии несоединенных сплайнов. На рисунке 10.1 показана вилка, созданная с использованием этого метода. Формы, образующие ручку вилки, состоят из двух сплайнов. Наличие одного сплайна для левой и правой стороны позволяет loft-объекту разделяться, когда он достигает зубьев вилки.
Все формы на пути должны иметь одинаковый порядок вложения. Если первая форма на пути содержит два сплайна внутри другого сплайна, все формы на пути должны содержать два сплайна внутри другого сплайна. Это ограничения можно обойти с помощью открытия внешнего сплайна. Разомкнутые сплайны не вкладываются даже в том случае, если их конечные точки касаются. Странный объект на рисунке 10.2 показывает использование такого метода. Внешний прямоугольник формы для лофтинга был разомкнут за счет разрыва угловой вершины с использованием модификатора Edit Spline.
Во избежание ограничений на количество сплайнов и порядок вложения в оба упомянутые метода входит использование форм, содержащих разомкнутые сплайны. Основным недостатком использования разомкнутых сплайнов является то, что на них нельзя создать наконечники посредством параметров создания наконечников для loft-объекта. Если необходимо создать наконечники на loft-объектах с разомкнутыми сплайнами, рассмотрите применение следующих методов:
В последующих разделах представлены другие методы, позволяющие сделать моделирование loft-объектов более успешным.
Крупным источником замешательства при создании loft-объектов являются эффекты трансформаций, применяемых к исходным формам. Трансформации, примененные к формам на уровне объекта, игнорируются при добавлении формы к loft-объекту.
За исключением перемещения и вращения первой формы, использованной для создания loft-объекта, трансформации формы не являются частью объекта. В главе 1, "Основные концепции 3D Studio МАХ", рассматривается потоковая схема объекта и то, как информация об объекте распространяется от базовых параметров через модификаторы на трансформации и, в конце концов, на исказители пространства. При использовании в лофтинге формы после применения модификаторов формы и перед тем, как форма трансформируется потоковая схема будет разделяться. Трансформации, подобные Move (переместить). Rotate (вращать) и Scale (масштабировать) в loft-объект с формой не перемещаются.
В случае применения трансформаций к объектам формы, которые будут использоваться в качестве форм для лофтинга, используйте следующие правила:
При необходимости выполнять Move, Rotate или Scale для формы в качестве части конструкции loft-объекта доступно несколько способов.
Исходные формы для loft-объектов можно создавать в любом видовом окне и придавать им любую ориентацию. Loft-объекты собираются через локальную систему координат, поэтому 3DS МАХ не заботится о том, в каком видовом окне эти формы создаются. Однако полезно следовать нескольким методам предсказуемого размещения форм для лофтинга.
Генерация поверхности лофтинга начинается с первой вершины пути и продолжается до конечной вершины. Формы помещаются на путь так, что их локальная ось Z является касательной к пути и указывает направление на конец пути. То, что можно рассматривать как грань или переднюю часть формы указывает на конец пути. Используя эту информацию, легко сформулировать несколько полезных правил:
Рисование форм пути и поперечного сечения в одном и том же виде может затруднить прогноз того, как будут выравниваться формы и путь. Для создания форм и пути используйте различные виды. Последующие примеры помогают проиллюстрировать это понятие.
Представьте себе, что необходимо создать loft-объект простой колонны. Основание колоны и капитель используют квадраты, а остальная часть использует круг. Большинство колонн (если вы только не моделируете руины) стоят вертикально на плоскости подложки. Хорошим подходом для расположения форм для колонны является выполнение следующих шагов:
Затем выполните лофтинг некоторого текста, который следует за колонной. В этом случае путь проходит горизонтально. Располагайте loft-объект текста следующим образом:
После некоторой практики можно быстро почувствовать совместную работу форм и путей и с уверенностью предсказывать ориентацию loft-объектов.
После добавлении к loft-объекту форм поперечного сечения форма помещается на путь, проходящий через место расположения точки вращения формы. За счет перемещения точки вращения можно предварительно установить точку, в которой путь пересекает форму поперечного сечения.
Например, представим, что вдоль пути выполняется лофтинг серии звезд, и требуется, чтобы путь проходил через верхнюю точку каждой звезды. Для перемещения точки вращения каждой звезды перед добавлением ее к loft-объекту используется кнопка Affect Pivot Only (влиять только на точку вращения) в панели Hierarchy (иерархия). При использовании Get Shape (получить форму) для добавления звезд к лофтингу путь проходит через точку вращения формы. На рисунке 10.3 показана форма для лофтинга с первоначальным расположением точки вращения и что происходит в случае изменения расположения точки вращения и повторного получения формы.
Расположение точки вращения анализируется только во время добавления формы к loft-объекту. Изменение положения точки вращения после добавления формы к loft-объекту не имеет эффекта.
Ориентация точки вращения формы также игнорируется loft-объектом. Вращение точки вращения формы не оказывает влияния, когда форма добавляется к объекту. При вращении формы в локальной системе координат и необходимости показать это вращение в loft-объекте форму следует вращать на уровне подобъ-ектов.
После создания исходных форм можно создавать loft-объект. Доступ к методам создания loft-объектов можно получить посредством щелчка на кнопке Geometry (геометрия) в панели Create и выбора Loft Object из списка категорий. Если форма не выбрана, кнопка Loft неактивна. Если форма выбрана, можно щелкнуть на кнопке Loft для отображения свитка Creation Methods (методы создания), показанного на рисунке 10.4.
Первыми двумя формами, используемыми для создания loft-объекта, должны быть форма пути и форма поперечного сечения. После них можно добавлять дополнительные формы поперечного сечения и даже заменять форму пути. Ниже приведены основные шаги для создания loft-объекта:
Выборы в этом свитке определяют метод клонирования формы и с чего начинать - с формы пути или с формы поперечного сечения.
Если необходимо начать с выбранной формы, которая будет первым поперечным сечением на пути, щелкните на кнопке 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 Shape для получения поперечного сечения для пути. На рисунке 10.6 показаны шаги, приводящие к решению этого примера.
ПРИМЕЧАНИЕ
При доставке форм в loft-объект требуется принять решение о том, будет ли форма поглощаться в loft-объекте либо клонироваться в виде копии или экземпляра. Произведенный выбор оказывает влияние на последующее редактирование loft-объекта. Не следует сильно беспокоиться о том, что будет сделан неправильный выбор; 3DS МАХ имеет множество опций, которые можно использовать, если позже изменить свое решение.
Перед щелчком на Loft необходимо выбрать объект формы. Выборы, сделанные после щелчка на Loft, определяют становится ли выбранная форма формой пути или формой поперечного сечения. Независимо от того, что выполняется, в loft-объект помещается экземпляр выбранной формы.
Loft-объект и первоначальная форма занимают на сцене одно и то же пространство. При перемещении loft-объекта в другое место на сцене, первоначальная форма остается позади.
После создания loft-объекта следует переместить первоначальную форму в новое место с целью упрощения ее нахождения. Перемещение первоначальной формы также предотвращает случайный совместный выбор loft-объекта и формы в случае, если необходимо модифицировать только loft-объект.
При использовании кнопок Get Path или Get Shape для добавления форм к loft-объекту можно задать, должны ли добавленные формы перемещаться, копироваться или будут создаваться их экземпляры в loft-объекте.
После создания базового loft-объекта (путь с одной формой) можно продолжать добавлять дополнительные формы и изменять параметры поверхности и оболочки, хотя для завершения объекта обычно удобнее перейти к панели Modify. Применим любой метод, который покажется удобным, но использование панели Modify имеет следующие преимущества:
Панель Modify обеспечивает более стабильную среду с большим количеством характеристик для завершения loft-объекта. На рисунке 10.7 сравниваются Loft Parameters в панелях Create и Modify.
Многие loft-объекты создаются при помощи одной формы на пути, но можно создать более интересные и сложные объекты, поместив на путь множество форм, как показано на рисунке 10.8.
В последующих разделах представлены команды и методы, которые следует знать для успешного создания loft-объектов со множеством форм. Основные проблемы при этом заключаются в добавлении форм в указанные места на пути, использование форм различного вида и метод создания такой формы, которая выглядит разделенной на две.
Добавлять формы к loft-объекту можно в режиме создания или позже путем выбора loft-объекта и доступа к его параметрам из панели Modify. Ниже приведена процедура добавления форм к пути для лофтинга:
Устанавливайте место добавления формы на пути, через опции свитка Path Parameters (см. рис. 10.9). Текущий уровень пути представляется небольшим символом Х на пути.
Текущий уровень пути устанавливается с помощью ввода значения в поле Path. Это значение может указываться в виде процента длины пути или как абсолютное расстояние вдоль пути. Установка используемого метода производится посредством нажатия на кнопки Percentage (процент) или Distance (расстояние) в свитке Path Parameters.
Независимо от метода, используемого для добавления формы к пути, форма всегда хранится с помощью процентного метода. При изменении длины пути формы перемещаются для сохранения своего процента пути даже в том случае, если они размещаются через задание абсолютного расстояния.
Встречаются ситуации, в которых необходимо знать длину сплайна. В настоящее время единственным способом считывания длины сплайна в 3DS МАХ является использование свитка Path Parameters для Loft. Для измерения длины сплайна:
В обеих режимах Distance и Percentage можно отметить флажок Snap для задания значения фиксации Distance или Percentage. К сожалению способа фиксации к вершинам пути не существует.
После установки уровня пути щелкните на Get Shape для выбора формы для размещения на этом уровне. При щелчке на Get Shape происходит переход в режим выбора, в котором каждый раз можно выбрать одну форму. При каждом нахождении курсора над действительной формой поперечного сечения он изменяется на вид Get Shape. Действительные формы определяются как формы, содержащие такое же количество сплайнов и такой же порядок вложения, которые использовала первая форма для создания loft-объекта.
Применение Get Shape на уровне, на котором уже существует форма на пути, приводит к замене текущей формы на новую. Если решение изменяется в пользу форм с различным количеством сплайнов или с различным порядком вложения, следует вначале удалить из пути все текущие формы.
После размещения на пути нескольких форм оставшиеся три кнопки в свитке Path Parameters можно применять для навигации по уровням пути, содержащим формы.
Основной смысл использования этих элементов управления заключается в быстром переходе к уровню формы для ее замены через операцию Get Shape.
Обычно при создании loft-объекта на пути размещается множество форм различного вида. Например, легко создать loft-объект отвертки посредством комбинации кругов, квадратов и специализированных форм. На пути можно разместить практически любую форму и 3DS МАХ вычислит способы генерирования поверхностей между ними.
3DS МАХ создает поверхности для лофтинга за счет согласования первых вершин каждой формы. Если первые вершины не совпадают, на поверхности появляется скручивание по мере сдвига ребер от вершины к вершине. На рисунке 10.10 показаны два loft-объекта для демонстрации различий между не выровненными и выровненными первыми вершинами. Ниже перечислены способы выравнивания первых вершин loft-объектов:
Иногда для достижения результата потребуется применять комбинацию обеих технологий.
В каждой используемой в loft-объекте форме поперечного сечения может содержаться неодинаковое количество вершин. 3DS МАХ может выполнять интерполяцию между формами с различным количеством вершин. Эта характеристика весьма полезна при создании loft-объекта, но для получения максимального управления поверхностью лофтинга обычно необходимо согласовать количество вершин и их положения между формами.
Если формы пути не являются регулярными или имеют сильно изменяющиеся количества вершин, оболочка лофтинга может перекручиваться и растягиваться непредсказуемым образом. Подобное перекручивание оболочки лофтинга может привести к аномалиям визуализации и вызывать трудности при модификации loft-объекта через другие модификатора Рисунок 10.10 демонстрирует эффект перекручивания поверхности лофтинга из-за использования нерегулярных форм с изменяющимся количествами вершин.
Нельзя ожидать, что при создании loft-объектов будут использоваться только регулярные формы или формы с одинаковым количеством вершин, но на основе анализа оболочки лофтинга можно принять решение о том, где потребуется редактирование форм для улучшения поверхности. Основным методом улучшения оболочки лофтинга является вставка вершин в формы лофтинга для управления генерацией оболочки.
На рисунке 10.11 показан loft-объект, использующий две достаточно нерегулярные формы. Объект слева для интерполяции от четырех вершин круга к 12 вершинам креста использует установки 3DS МАХ по умолчанию. Интерполяция создает на левом объекте несколько нерегулярную поверхность. Объект справа использует Edit Spline для добавления вершин к кругу с целью их согласования с вершинами креста. Правый объект имеет более регулярную поверхность.
Имеется возможность создавать 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.
Детали применения команды Break представлены в главе 9. Для разделения 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 так, чтобы оно указывало, сколько необходимо промежуточных делений между каждым уровнем. Чем больше это значение, тем более гладкой выглядит кривые пути, представленные в оболочке лофтинга. При установке пути полезно рассмотреть следующие рекомендации:
Одной из характеристик, пропущенных в уравнении для шагов пути, является опция Optimize. Если вы помните главу 9, отметка Optimize удаляет промежуточные шаги из прямых сегментов. Если нужно сделать поверхности loft-объекта как можно более эффективными, для моделирования оптимизации на пути можно использовать один из следующих методов:
Поле Shape Steps (шаги формы) и флажок Optimize Shapes (оптимизировать формы) устанавливают количество интерполированных шагов между каждой вершиной формы поперечного сечения. Эти параметры применяются ко всем формам пути и перекрывают шаги и установки оптимизации в базовых параметрах каждой формы. Дополнительная информация приводится в разделе "Шаги и оптимизация" главы 9.
Отметка Optimize Shapes при наличии искривленных и линейных форм на пути может создать интересные результаты, поскольку 3DS МАХ пытается построить поверхность между формами с весьма различным количеством шагов. Использование в таких ситуациях Optimize Shapes уменьшает сложность поверхности, но может создать трудности при деформации каркаса.
Параметры создания наконечников определяют, покрывает ли 3DS МАХ концы loft-объекта и конструкцию этих концов. Поскольку 3DS МАХ является системой моделирования поверхности, все, что создается, является полым. Иллюзия цельности создается за счет создания наконечников на концах объектов. Если необходимо, чтобы объект выглядел открытым и полым, не отмечайте параметр создания наконечников.
При этом можно выбирать между двумя методами создания наконечников Morf и Grid. Создание наконечников посредством Morf использует меньше граней, но несколько хуже, чем создание наконечников при помощи Grid. Если в качестве целей морфинга планируется использовать варианты loft-объекта, создание наконечников через Morf необходимо.
Если не покрывать loft-объекты наконечниками, стенки сторон выглядят тонкими и нереальными. Для соответствующей визуализации объекта можно применить модификатор Normal. Применение этого модификатора будет рассматриваться в главе 15.
ПРИМЕЧАНИЕ
Характеристики поверхности оказывают влияние на форму 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 показан полностью сглаженный объект с тремя изгибами, объект, сглаженный только по длине, и объект, сглаженный только по ширине. Для нижнего правого объекта отмечены обе опции сглаживания.
Многие созданные loft-объекты можно визуализировать с проецируемыми материалами. Есть шансы, что все объекты, за исключением простейших, пренебрегут возможностями стандартных типов проецирования, находящихся в модификаторе UVW Mapping. Для применения координат проецирования, которые следуют пути и деформациям loft-объекта, используйте собственные параметры покрытия loft-объекта. На рисунке 10.19 показана соломинка, спроецированная с использованием координат проецирования loft-объекта. Этот эффект практически невозможно продублировать при помощи других методов проецирования.
Для использования координат проецирования loft-объекта сначала необходимо отметить флажок Apply Mapping в свитке Surface Parameters. При отмеченном флажке Apply Mapping доступны следующие параметры:
СОВЕТ
После размещения на пути форм поперечного сечения может потребоваться их редактирование. Редактируйте формы на пути лофтинга путем активизации 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 следующим образом:
На рисунке 10.22 показана форма в окне Compare с первоначальной ориентацией после Get Shape и результаты использования каждой функции выравнивания.
В свитке Shape Commands отсутствует кнопка, восстанавливающая форму в ее первоначальное выравнивание Get Shape с путем. При получении формы для пути, она первоначально выравнивается со своей точкой вращения на пути. Возвращайте форму к такому выравниванию посредством одного из следующих методов:
Единственным способом удаления форм из пути является удаление их в режиме Shape Sub-Object. После входа в режим Shape Sub-Object выберите формы, которые требуется удалить, затем щелкните на кнопке Delete в свитке Shape Commands или нажмите Del на клавиатуре.
Трансформация форм на пути подобна трансформации любого другого объекта. Основное отличие состоит в том, что система координат трансформации заблокирована до использования только локальной системы координат формы, и центром трансформации является точка, в которой путь пересекает локальную плоскость формы XY. Трансформация форм лофтинга в режиме Shape Sub-Object следует ряду специальных условий:
Последний пункт следует запомнить. Трансформации Scale и Rotate, примененные к формам на сцене, отбрасываются при использовании Get Shape для выбора формы для loft-объекта. Если формы лофтинга необходимо вращать или масштабировать, сначала используйте Get Shape, а затем вращайте или масштабируйте формы на пути при помощи режима Shape Sub-Object.
К формам в loft-объекте можно применять модификаторы, подобные Bend, Twist или Edit Spline. Следует соблюдать особую осторожность и не применять модификаторы, преобразующие формы в объекты другого типа, такие как каркас или лоскут. Примерами подобного рода модификаторов являются Extrude и Normal. Модификаторы, преобразующие формы в объект другого типа недействительны и вызывают исчезновение loft-объекта со сцены. Loft-объект по-прежнему можно выбирать по имени через диалог Select Objects и затем удалять модификатор, нарушивший форму, для восстановления loft-объекта.
Применяйте модификатор к форме поперечного сечения с помощью одного из следующих методов:
Для применения модификатора непосредственно к форме лофтинга:
Работа непосредственно с формами может привести в замешательство из-за отличий между локальными системами координат формы и loft-объекта. Большинство считает, что проще применять модификаторы к экземпляру loft-объекта где-нибудь еще на сцене, и это главная причина, по которой вместе с Get Shape используется опция Instance.
Для применения модификатора к форме лофтинга выполните следующие шаги:
Если опция Instance не используется с Get Shape, экземпляр формы лофтинга можно поместить обратно на сцену через кнопку Put в свитке Shape Commands.
Можно создавать множество эффектов анимации за счет выполнения анимации с формами на пути для лофтинга. Анимация форм выполняется с пользованием следующих трех методов:
Отметим, что в эти методы входит работа со стеком модификаторов формы. Анимация экземпляров формы лофтинга является самым простым способом установки такого вида анимации.
Путь лофтинга можно редактировать точно так же, как редактируются формы поперечного сечения. Редактируйте путь лофтинга, войдя в режим Path уровня Sub-Object на панели Modify (см. рис. 10.23). Для редактирования путей лофтинга выполните следующее:
При входе в режим 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.
За счет выполнения анимации формы пути для лофтинга можно создавать множество анимационных эффектов. Методы анимации формы пути лофтинга включают в себя:
Отметим, что все три метода включают в себя работу со стеком модификаторов формы. Анимация экземпляров формы пути лофтинга является простейшим способом установки подобного вида анимации.
За счет манипуляции путем или размещения вдоль пути различных форм можно выполнить только немногое. Достаточно важным инструментом создания Ion-объектов являются деформации. Настоящий раздел книги посвящен первым четырем деформациям - масштабированию (Scale), скручиванию (Twist), колебанию (Teeter) и фаске (Bevel). Последняя опция деформации Fit (подгонка) рассматривается в отдельном разделе главы.
Перед переходом к конкретным командам деформации следует познакомиться с общими аспектами, которые используются всеми сетками деформации. На рисунке 10.26 показано типовое окно деформации. В общем случае вертикальные линии представляют собой уровни на пути (сплошные линии для уровней, содержащих формы, и пунктирные уровни для уровней вершин путей и других уровней). Горизонтальные линии определяют значения сетки деформации. Кривая является кривой управления деформацией. Окно деформации может отображать до двух кривых, красную для деформации по оси Х и зеленую - по оси Y.
Ниже приведен список, который необходимо помнить при работе с сетками деформации:
За счет анимации значения и процента пути в точках управления кривой деформации можно создавать фантастические анимационные эффекты. Примером является анимация выпуклости, которая продвигается через объект путем анимации деформации масштаба. Для анимации точки управления деформацией выполните следующее:
Используйте окно 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 в 3D Lofter требует создания loft-объекта и выбора форм подгонки в окне деформации Fit. При этом необходимо выполнить следующие шаги:
На рисунке 10.31 показана установка Fit Deformation и loft-объект, созданный из форм рисунка 10.30. За счет использования приведенных ниже правил ваши шансы успешного выполнения деформации Fit увеличатся:
В "Руководстве пользователя 3D Studio MAX" приведены четыре основных ограничения для форм Fit X и Fit Y:
Уже первое ограничение предотвращает использование формы в качестве формы для подгонки. Формы с очень искривленными сегментами или подрезаниями можно выбирать в качестве форм для подгонки, и 3DS МАХ будет делать кривые более плоскими и игнорировать подрезания.
Следующий пример демонстрирует, как использовать деформацию Fit для создания loft-объекта корпуса лодки. Важное изменение заключается в использовании множества форм на пути, что позволяет вырезать место для сидения.
Первым шагом является создание исходных форм, определяющих путь, поперечные сечения и формы для подгонки. Все эти формы рисуются на виде сверху.
Loft-объект должен выглядеть подобно объекту на рисунке 10.34. Если кажется, что форма выровнена неправильно на пути, войдите в режим Shape Sub-Object, выберите все формы и щелкните на Center в свитке Shape Commands.
Составной булев объект отличается от многих программных понятий булевых операций, поскольку он не изменяет на постоянной основе формы, определяющие геометрию операндов. Позже эту геометрию можно перемещать, переопределять и производить обмен. Поскольку операнды остаются объектами, с ними можно взаимодействовать как с любым другим объектом. Для них можно даже выполнять анимацию, создавая поразительные эффекты. Затененные видовые окна 3DS МАХ позволяют видеть результат булевой операции в случае изменения операндов. Последнее является преимуществом интерактивного режима работы и вызывает ощущение, что один объект используется для вырезания другого. Оставаясь весьма полезными и развлекательными, сложность булевых операций может возрасти при вложении их одна в другую. В этой главе приводится информация, позволяющая упростить использование булевых операций. Внимание уделяется:
Как и для многих терминов компьютерной графики, термин "булева" происходит от имени человека, который ввел это понятие (в данном случае это Джордж Буль). В математике термин "булева" появился для обозначения операции сравнения между множествами; в 3D Studio MAX подобное сравнение выполняется между геометрическими объектами. Хотя булева операция выглядит во многом похожей на модификатор, она находится на панели Create, а не на панели Modify, поскольку выполняется определение нового объекта из двух существующих (аналогично созданию loft- или morph-объектов). Булева операция в 3D Studio MAX выполняется путем создания булевого составного объекта из двух существующих объектов, которые называются операндами, при этом выполняются следующие шаги:
Типы операции подобны многим традиционным методам. Объединение соединяет объекты подобно работе с глиной; при вычитании один объект вырезается из другого, как в скульптуре; пересечение оставляет то, что должно было бы быть вырезано или выбито из вычитания. Объединение и вычитание всегда возвращают одинаковый результат независимо от порядка выбора операндов. Предусмотрены две опции (А-В и В-А), поэтому при неправильном начальном выборе можно быстро переключиться. Результаты этих основных операций показаны на рисунке 11.1.
ПРЕДУПРЕЖДЕНИЕ
Чрезвычайная гибкость булевых операций в 3DS МАХ состоит в том, что объекты, содержащие булевы операнды, по-прежнему существуют как объекты. Каждый операнд сохраняет свой первоначальный стек Edit History (отредактировать историю) и его можно модифицировать из панели Command. Операнды можно даже трансформировать на уровне подобъекта. На рисунке 11.2 показан результат в Track View после создания булевого объекта.
Архитектура ссылок и экземпляров 3DS МАХ демонстрирует свою мощь при работе с булевыми объектами. При первом создании булевого составного объекта можно выбирать опцию перемещения, создания копии, экземпляра или ссылки объекта, выбранного в качестве операнда В. Опцией по умолчанию является Move (переместить) и кажется, что она создает явное действие, поскольку остается только булев результат. Оба объекта, выбранные для булевой операции, теперь являются операндами подобъектов. Остальные опции выполняют булев результат с копией, экземпляром или ссылкой на выбранный объект. Во всех трех случаях объект, выбранный для операнда В, остается без изменений, а булев результат получается с использованием нового объекта в качестве операнда. В таких случаях может показаться, что ничего не произошло, до тех пор пока не переместить или не скрыть один из этих двух объектов.
ПРИМЕЧАНИЕ
Хотя можно сделать копию, экземпляр или ссылку операнда В, для операнда А такой опции не существует (объект выбирается после щелчка на Boolean). Гибкий метод обхода такого ограничения заключается в кло-нировании до экземпляров всех объектов, которые предполагается использовать в булевых операциях. После этого следует использовать опцию по умолчанию Move для выборок операнда В, обеспечив возможность модификации любых объектов в рамках булевого объекта и сохранения их отношений.
СОВЕТ
После создания булевого объекта можно заменить операнд В из панели 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 (при выборе) несколько ненадежен в обновлении результата и на него не следует полагаться.
Для ускорения операций моделирования операнды должны быть простыми. После завершения булевых операций и модификаций возвратитесь к прежним определениям операндов и увеличьте их плотность. Если они являются экземплярами, увеличьте их сложность и затем вручную отрегулируйте результат.
СОВЕТ
При входе в режим Sub-Object булевого объекта операнды можно регулировать независимо друг от друга. В списке перечислены имена операндов, подходящих для перемещения, вращения или масштабирования. При манипуляции операндом на уровне подобъектов фактически выполняется интерактивная булева операция, поскольку при перемещении любого из операндов другой остается неподвижным, и по мере перемещения операнда отображается обновленный булев результат. Для несложных моделей или при использовании быстродействующих машин это часто выполняется в реальном времени.
ПРИМЕЧАНИЕ
Понимание опций Display (отображения) булевой операции является ключевым моментом при выполнении интерактивных изменений. Результат булевой операции показывает опция по умолчанию Result (результат). При изменении опции на Operands (операнды) отображаются оба операнда А и В так, как будто булевой операции не выполнялось. Полностью отображенный операнд скрывает булев результат, поэтому в некоторой степени приходится работать вслепую. На практике лучше всего является комбинация, при которой выбирается Result и активизируется опция Show Hidden Ops (показать скрытые операнды). При этом недостающие операнды отображаются в виде проволочных каркасов (но только в затененных видовых окнах) и обеспечивается информация о точном местонахождении операнда и о его текущем влиянии на булеву операцию.
ПРИМЕЧАНИЕ
Для одного объекта можно выполнить любое число булевых операций, причем каждая операция создает собственный набор операндов, вложенных друг в друга. Единственным "пределом" является практичное количество операций, по которыми необходимо перемещаться.
После создания булевого объекта на той же самой геометрии можно выполнять дополнительные булевы операции путем выбора объекта в качестве операнда А для нового составного булевого объекта. Каждый раз при выполнении на объекте булевой операции фактически создается оригинал операнда нового булевого объекта. Таким образом определяется "булево дерево", состоящее из одиночных ветвей - весьма линейная прогрессия шагов. К каждой выполняемой булевой операции можно осуществить доступ позже, хотя применяемый для этого метод требует небольшой практики, поскольку все это происходит на панели Modify. Результаты выполнения трех последовательных булевых операций показаны на рисунке 11.4. Коробка вычитает сферу, затем цилиндр и, в конце концов, конус.
СОВЕТ
При выполнении нескольких булевых операций, одну за другой, следует соблюдать осторожность. После завершения операции и, таким образом, составного булевого объекта, необходимо выйти из диалога Boolean или последующий выбор заменит только что выполненную операцию и удалит объект со сцены. Хотя для этого требуются дополнительные щелчки на кнопках, необходимо выйти из списка Compound Objects (составные объекты) путем выбора геометрии другого типа (например, Path Grids) и затем вернуться к Compound Objects для определения следующего булевого объекта.
При навигации по булевому дереву в Track View необходимо помнить, что в нем отражаются только объекты с параметрами, с которыми можно выполнить анимацию. Если булев объект создан из необработанного каркаса или лоскута, показываются только трансформации операнда, поскольку у него нет параметров создания, которые нужно настраивать. Когда для этого же объекта задается модификатор, для модифицированного объекта создается новый вход. То, что у операнда такая же метка, что и у Transform (с голубым кружком модификатора вместо зеленого треугольника контроллера) может привести к замешательству. При глубоком погружении в дерево, изображенное ранее на рисунке 11.4, следите за голубыми кружками Operand. Только самый глубокий операнд А содержит определение объекта; определения всех других объектов находятся внутри предыдущих операндов В.
СОВЕТ
При создании булевого объекта сохраняются сглаживающие группы и идентификаторы материалов отдельных объектов. К сожалению, проецирование (mapping) полностью удаляется и его необходимо применить после получения окончательного булевого результата. В случае, если объекту присвоено проецирование через модификаторы UVW, его можно восстановить. Если создается копия, но не экземпляр, первоначального объекта или модификатора, присвойте новый UVW Mapping после выполнения булевой операции, и для восстановления проецирования используйте функцию Acquire (приобрести) модификатора. Отметим, что эта операция не работает для процедурных присвоении проецирования.
Координаты проецирования удаляются, поскольку вершины булевого результата всегда объединены. При этом если имеется намерение после выполнения булевой операции разделить первоначальные операнды, для их отсоединения следует использовать Edit Mesh. Если операнд имеет уникальный материал или сглаживающие группы, это значительно помогает в выборке на уровне грани для отсоединения.
Идентификаторы материалов, вероятно, являются самым ценным инструментом при управлении окончательными результатами для поверхности булевого объекта. Задание для каждого операнда модификатора Material с отдельным идентификатором означает, что имеется гарантированный метод выбора граней после завершения булевых операций. Несмотря на то, что для подобъекта присвоения материала весьма полезно, сохранение операндов в виде выборок граней также имеет значение при выборке граней для присвоения сглаживающих групп и модификаторов UVW Mapping с целью восстановления утерянного покрытия.
Иногда булев результат содержит дефекты в виде петель и искажений. Эти дефекты часто вызваны тем, что аналогичные сглаживающие группы действуют друг на друга методами, которые не должны применяться, или вершины объединяются так, что сглаживание произойти не может. Если такого рода дефекты видны, примените модификатор Edit Mesh, выберите все вершины и выполните Weld Selected (объединить выбранные). Если дефекты не исчезают, необходимо проанализировать присвоения сглаживающих групп (перед булевой операцией или после нее).
В большинстве случаев гораздо проще выбрать критические области перед тем, как они станут частью булевой операции. Если известно, какая часть модели потребует уникального сглаживания (например, закругление на рисунке 11.5), присвойте этим граням уникальную сглаживающую группу или идентификатор материала так, чтобы после булевой операции у них оказалось корректное сглаживание.
Последнее обсуждение может оказаться таким, как будто необходимо проделать тщательные размышления и планирование перед переходом к выполнению булевой операции, хотя фактически Modifier Stack позволяет сделать этот процесс значительно менее структурированным. На практике общим приемом является быстрое создание булевых объектов и затем возвращение к предыдущему операнду в истории операндов с целью произвести при необходимости присвоения сглаживания и материала. Отметим, что это значительно проще сделать, если есть объекты-экземпляры перед тем, как они станут операндами.
Булев код в 3DS МАХ очень обобщен и позволяет работать с произвольными поверхностями. Однако подобное обобщение означает, что не каждый объект образует действительный булев объект и что некоторые "действительные" результаты могут иметь артефакты (например, длинные грани планки) или содержать нежелательные результаты. Ниже приведен контрольный перечень, который поможет при поиске неисправностей и создании моделей, дружественных для булевых операций:
Не допускайте того, чтобы этот контрольный перечень испугал вас и заставил избегать булевых операций. Большинство этих опций работает с первой попытки, в особенности если геометрия подчиняется первым трем правилам, а это, скорее всего, будет выполняться при создании геометрии в рамках 3DS МАХ.
При выполнении анимации с булевыми операциями можно столкнуться с внезапной "вспышкой" или "подрагиванием" в одном или двух кадрах - вероятнее всего, это результат того, что булева операция не выполнилась, или в этом одном кадре созданы странные грани. Учитывая вред и влияние булевой операции с анимацией, стоит потратить время на продвижения от кадра к кадру для анализа булевого результата. Если возникает состояние, при котором происходит ошибка визуализации, немного отрегулируйте геометрию этого кадра с целью улучшения результата и продолжите работу. Если требуется произвести множество настроек, лучше присвоить дорожке положения операнда контроллер Linear и настроить практически каждый кадр.
Булевы операции вычитания - это наиболее используемые типы операции и поэтому являются операциями по умолчанию. Операции вычитания можно рассматривать как операции "откусить кусок от", "создать скульптуру", "вырезать", "удалить из", "просверлить", "отштамповать" - выбирайте аналогию с наибольшим смыслом.
Успешное создание скульптуры посредством булевой операции начинается с понимания того, какой должна быть конечная вычитаемая форма. Это приводит к мысли о том, какая геометрия потребуется для выполнения того или иного шаблона. После частого выполнения операций вычитания объект имеет мало сходства с окончательным результатом; объект просто принимает форму режущего ножа, который делит поверхность на пластины. Второй операнд можно считать "стамеской" или "кусочком фасонной фрезы", которая создает конкретный "желобок" на первом объекте. Операция булевого вычитания также является хорошим, если не основным, методом для создания закруглений и углублений на существующих объектах.
ПРИМЕЧАНИЕ
Булево пересечение создает объект, который иначе следовало бы "вырезать" при помощи операции булевого вычитания. Результат иногда трудно визуализировать, но он может создать геометрию, которую иначе трудно промоделировать (см. рис. 11.6). Здесь второй операнд действует в качестве разреза в шести направлениях.
Одно из основных применений булевого пересечения заключается в восстановлении того, что "отбирается" при операции булевого вычитания. Иногда может потребоваться использовать часть, которая "упала на пол" в анимации. Может потребоваться показать часть, которая отштампована, например, из металлической заготовки. Для этого скопируйте первоначальные объекты и выполните две булевы операции, создав таким образом "разрезанный" объект и то, что было "вырезано".
Операция булевого объединения объединяет два операнда и удаляет любую перекрывающуюся геометрию. Перед выполнением объединения следует тщательно рассмотреть саму необходимость создания объединения. Если основное пересечение можно видеть, использование объединения является правильным выбором. Если пересечение двух объектов скрыто, лучше разрешить объектам просто пересечься. В общем случае используйте объединение, если необходимо продолжить сглаживающие группы через сочленение. В этом случае булево объединение является просто первым шагом в более сложной последовательности моделирования.
Булево объединение более всего используется для объектов, которые должны выглядеть "сплошными". Поверхность закрыта, исследовать внутреннюю структуру не требуется, поэтому объект имеет толщину всего в одну грань. Во многих случаях булево объединение выполняется для достижения эффекта вычитания. Один операнд накладывается на другой, что разрешает использовать последний для других целей, не нанося вреда операнду, который накладывается. Такая операция может оказаться полезной, когда накладываемый объект имеет конкретную форму, которую необходимо связать с другим объектом.
Булево объединение также применяется для создания двух элементов, которые можно отделить от других при помощи функции Detach в Edit Mesh. Если операция булевого объединения используется для редактирования объектов там, где геометрия перекрывается однократно, каркас не образуется. Когда результирующие объекты разделяются, в каркасе появляется отверстие в месте соединения объектов. Для эффективного использования этого метода лучше всего присвоить каждому операнду уникальный идентификационный номер материала (Material ID#) так, чтобы можно было легко выбирать грани по Material ID# из Edit Mesh при выполнении отсоединения.
Если влияние оказывается на нечто меньшее целого объекта, в 3DS МАХ это называется моделированием подобъекта. Существуют две основных формы моделирования подобъектов: манипуляция самими категориями подобъектов и ограничение модификаторов до выборок подобъектов. При первой форме происходит активное вытягивание, масштабирование и вращение наборов вершин и, возможно, изменение топологии за счет добавления или удаления секций. При второй форме определяется выборка вершин с одним модификатором, после чего выборка передается вверх по стеку для обработки последующими модификаторами.
В этой главе рассматриваются следующие понятия моделирования подобъектов:
ПРИМЕЧАНИЕ
Моделирование подобъекта происходит всякий раз при манипуляции дискретными сущностями или областями в рамках объекта. Для моделирования на уровне вершины, грани, ребра, сплайна, сегмента или лоскута необходимо добавить модификатор, предоставляющий доступ к необходимому уровню подобъекта. Подсущности объекта и модификатор, используемый для редактирования этих подсущностей изменяются в зависимости от геометрии объекта (см. рис. 12.1):
При работе с большинством программ моделирования редактирование дискретных секций модели практически всегда является постоянным решением. Таким был метод в 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 передает вдоль себя то, что называется активной выборкой. Эта выборка является геометрией, которую "видят" последующие модификаторы и применяют к ней свое действие. Содержимое активной выборки может изменяться во всем стеке за счет добавления других модификаторов выборки и при помощи воздействия на нее других модификаторов, которым она передается. Подобный факт может оказаться неочевидным при моделировании на уровне объекта, поскольку активная выборка является целым объектом, и кроме того, сам факт передачи выборки по стеку не является очевидным. Сила этого понятия состоит в том, что имеется возможность определения того, что модифицируется в любой точке стека путем добавления или настройки модификатора выборки.
ПРИМЕЧАНИЕ
Активная выборка стека может изменяться от модификатора к модификатору. Кубок, показанный на рисунке 12.2, иллюстрирует это понятие, поскольку стек начинался с примитива Tube и был результатом пяти сведений на конус, после чего были выполнены пять различных выборок объема. Каждая выборка заменяла предыдущую и определяла новую активную выборку для стека. EditMesh добавился в конце для завершения сглаживания и выполнения выпуклой рукоятки. Стек разрешает возвращаться к любой предыдущей выборке и изменять то, что является активной выборкой в данной точке стека. Последующие модификаторы, работающие над этой выборкой, мгновенно воздействуют на новую выборку. Можно видеть влияние последующих редактирований на регулировки выборки - совершенно уникальный и поразительный метод.
Невинные по внешнему виду простые кнопки с предшествующим словом "Edit" на панели Modifier обладают наибольшей силой. Каждый из трех модификаторов (EditMesh, EditSpline и EditPatch) выполняет в 3D Studio MAX две роли: они разрешают подобъектам редактировать соответствующую им геометрию и определяют выборки подобъектов для будущих воздействий на них модификаторов стека. Это следующие кнопки:
ПРИМЕЧАНИЕ
Для ветеранов 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. Скажем, например, что на верхушке цилиндра выполняется Volume Selection и затем на верхушке создаются конуса. Если затем перейти к основанию стека и изгибать весь цилиндр, гизмо Volume Select остаются неподвижными, а вершины изгибаются через объем выборки. Набор выборки для последующих конусов изменяется с увеличением изгиба. В этом случае следует добавить еще один модификатор Volume Select в конец стека для возврата выборки к целому объекту. Изгиб необходимо применить после обеспечения неизменности объема выборки при изгибе целого объекта. Эта характеристика не является уникальной для модификатора Volume Select - так фактически происходит со всеми гизмо модификаторов. Просто это влияние гораздо более заметно для модификатора выборки.
Модификаторы Edit совершенно поражают тем, что записывают каждое действие, выполняемое внутри них. Это не просто список аннулирования, но прогрессия каждого принятого решения. Хотя можно аннулировать только то, что доступно в текущем сеансе 3DS МАХ, все произведенное редактирование сохраняется посредством модификатора Edit в МАХ-файле сцены. Это позволяет возвращаться к более ранним частям стека, настраивать предыдущие модификаторы или параметры создания и распространять все примененное к объекту моделирование через новую историю. Это поразительно мощная возможность, но она имеет и свою цену - увеличение дискового пространства и объема ОЗУ.
Каждый добавляемый к стеку модификатор Edit добавляет и накладные расходы, связанные с памятью, поэтому все редактирование является интерактивным и изменяемым. Таким образом применение дюжины модификаторов Edit к объекту увеличивает требования к ОЗУ этого объекта более чем в 12 раз, хотя во всей своей истории объект может иметь одинаковое количество граней и даже значительно меньшее в конце. Поэтому модификаторы Edit следует применять очень осторожно и, возможно, в течение ограниченного периода времени.
ПРИМЕЧАНИЕ
Каждый модификатор Edit записывает действия, выполняемые внутри него, несколько по-другому. EditMesh записывает дельту для каждой вершины, на которую оказано воздействие, поэтому модифицированный объект может удвоиться по размеру "только" в том случае, если выполняется трансформация всех вершин. EditSpline и EditPatch совершенно отличаются в том, как они записывают каждую одиночную операцию редактирования и сохраняют их в порядке применения. Благодаря такому хранению записей важные соотношения кривой и касаний для сплайновой геометрии корректно настраиваются при воздействии на элементы, находящиеся в стеке ранее. Такое обширное хранение записей также оказывает влияние на накладные расходы по памяти. При использовании EditSpline необходимо часто разрушать стек для уменьшения объема занимаемого ОЗУ и уменьшения размера файла.
Внутри каждого модификатора Edit имеется "DeleteObject" (удалить объект), который записывается все разрушения, причиненные объекту. Поэтому можно перейти на более ранние стадии в стеке и обнаружить целую модель или удалить модификатор и при этом повторно появляются "удаленные" части. Чтобы сделать удаления внутри модификатора Edit постоянными, его следует разрушить. Подобная характеристика сохранения записи удаленной геометрии также позволяет отсоединять и разбивать части на новые объекты и затем восстанавливать первоначальный объект путем удаления модификатора Edit.
ПРИМЕЧАНИЕ
Каждый модификатор Edit имеет отдельные и различные уровни выборки подобъектов для своих категорий. Каждый уровень выборки действует в качестве отдельного набора выборки и не влияет на другие уровни выборки (за исключением скрытых граней и вершин). Обычно каждый из модификаторов Edit обеспечивает три уровня выборки:
Поскольку модификатор Edit определяет активную выборку для данного момента времени, это оказывает огромное влияние на последующие модификаторы. Уровень выборки (например, вершина, грань или ребро для EditMesh) определяет содержимое и тип геометрии, которые "видит" следующий модификатор в стеке. Это может оказаться важным, поскольку некоторые модификаторы работают только на определенных типах геометрии. Например, модификатор Normal будет функционировать только на активной выборке граней, игнорируя выборки вершин и ребер.
Модификатор Edit можно считать контейнером наборов выборок. Когда его уровень Sub-Object активен, определенная в данный момент выборка передается в качестве текущей для дальнейшего применения к ней модификаторов. Здесь может скрываться хитрость, поскольку текущее состояние выборки подобъектов может повлиять на будущие модификаторы. Изменение уровня EditMesh от вершины к грани, вероятно, резко изменит выборку и будущие результаты.
ПРИМЕЧАНИЕ
Модификаторы Edit используются для самостоятельного редактирования дискретных секций или определяют выборку, которая передается другим модификаторам в конвейере редактирования. Активная выборка остается активной до тех пор, пока в конвейер редактирования не добавляется другой модификатор выборки, например, модификатор Edit или Volume Select. До тех пор, пока при моделировании требуется использовать одну и ту же выборку, можно продолжать добавлять к ней модификаторы. Однако если необходимо изменить выборку, следует добавить другой модификатор выборки.
На практике самый безопасный (и самый благоразумный) способ заключается в использовании модификаторов Edit либо для редактирования модели, либо для определения выборки, но не для того и другого. Редактирование и определение выборки может привести в замешательство при изменении выборки для целей редактирования или работе на выборке последующих модификаторов. Если необходимо передать определенную выборку вверх по стеку в другой модификатор и в этом модификаторе также будет выполняться редактирование, следует немедленно присвоить другой модификатор Select. Если выборка определяется объемом, присвойте модификатор Volume Select, а модификатор Edit присваивайте только в случае, если выборка является нерегулярной или несоприкасающейся.
ПРИМЕЧАНИЕ
При определении выборки подобъектов имеется возможность сохранить ее в виде поименованного набора выборок (см. рис. 12.3). Эти наборы действуют просто как наборы выборок на уровне объекта за исключением того, что их можно увидеть только при помощи модификатора, в котором они были определены.
Каждый модификатор Edit (и объект EditableMesh) позволяет определять произвольное количество выборок на один уровень. Во избежание путаницы поименованные наборы выборок подобъектов нельзя увидеть между уровнями выборки. Это означает, например, что поименованная выборка вершин не появляется при работе на уровне граней. При удалении модификатора Edit или разрушении объекта EditableMesh также происходит удаление любых поименованных наборов подобъектов, которые могли быть созданы.
ПРИМЕЧАНИЕ
Другими методами сохранения выборок подобъектов является номер ID материала, превышающий 1 (для объектов, которым не присвоен материал Multi/Sub-Object), и присвоения сглаживающих групп (для объектов, которые полностью сглажены любым способом). Хотя сглаживающие группы и ID материала не являются наборами выборок, они обеспечивают возможность хранения выборок на уровне грани, которые видны всем последующим модификаторам в стеке, и продолжают существовать после разрушения стека.
Как было описано выше, модификаторы действуют как активная выборка стека. Для определения правильной выборки в подходящей точке во время редактирования потребуется некоторое искусство. При модификации частей подобъекта в объекте наибольшая эффективность достигается в случае определения выборки для модификатора с использованием следующих приоритетов:
Модификаторы обрабатывают выборки подобъектов тем же способом, которым они обрабатывают множества объектов - за счет размещения их центров гизмо в центре тяжести выборки.
При модификации одиночного целого объекта центры гизмо размещаются только в точке вращения. Модификаторы согласовывают свои гизмо с экстентами активной выборки. Однако при изменении выборки центр гизмо не перемещается. Он остается там, где был в начале вместе с первоначальной выборкой, или там, где размещался позже.
Перемещение центра гизмо после применения модификатора к выборке под объектов - очень распространенный прием. Типовая процедура описана в последующем списке и показана на рисунке 12.4.
СОВЕТ
При работе в рамках EditableMesh, вероятнее всего, принимаются постоянные решения о моделировании. Если это предпочтительный метод работы. Modifier Stack может выглядеть немного незнакомо. Для деформации только части объекта, например, посредством Bend или Taper, выбираются вершины, которые необходимо модифицировать внутри EditableMesh и модификатор применяется даже без выхода из режима Sub-Object. Модификатор воздействует на все, что является активной выборкой в конвейере и поскольку работа продолжается всегда в режиме Sub-Object, только что выбранные вершины теперь модифицируются. В отличие от других программ, например, 3DS для DOS, можно повторно вернуться к своей выборке, модифицировать ее и вернуться к модификатору. При выполнении явного моделирования общепринято применять следующую процедуру:
Как видно из предыдущего метода, при моделировании с EditableMesh общий прием заключается в применении модификатора и частом разрушении стека. Стек чем-то напоминает уровень воды, который поднимается и падает в зависимости от количества выполняемых редактирований. Если необходимо принять много решений, уровень высокий. Если различные стадии кажутся удовлетворительными, их обычно разрушают и уровень понижается. При выполнении анимации с частями завершенных объектов часто требуется множество модификаторов, и всех их необходимо поддерживать. Следовательно, истории редактирования обычно флюктуируют по размеру.
Другим полезным методом при работе с EditableMesh является определение выборки и добавление Volume Select, экстенты которого автоматически охватывают выборку. Затем выборку можно очистить в EditableMesh и поместить между EditableMesh и Volume Select другие модификаторы. Последнее следует выполнять с некоторой предусмотрительностью, поскольку порядок в стеке переустановить нельзя, а выборки для их использования необходимо создавать в правильном порядке. Однако имеется возможность копирования трансформации и, таким образом, определенного объема выборки, модификаторов Volume Select между входами дорожек модификатора в Track View.
Для модификаторов, применяемых на уровне Sub-Object, местом расположения по умолчанию центров их гизмо является центр тяжести выборки. Однако подобное размещение может затруднить координацию нескольких модификаторов, поскольку при изменении выборки центры г^измо будут сдвигаться. Перекрытие места расположения по умолчанию - помещение центров гизмо в точку вращения вместо центра тяжести - облегчает координацию. Ниже приведены шаги, которые можно использовать для помещения центра гизмо модификатора в точку вращения вместо центра тяжести (рис. 12.5):
Предыдущий метод наиболее надежен при размещении центра гизмо в точке вращения подобъекта. Подобный метод можно использовать со всеми модификаторами выборки, памятуя о том, что выключение их выборки подобъектов может разрешить другой выборке подобъектов вернуться в активное состояние. В этом случае между модификатором Edit и вашим модификатором необходимо добавить модификатор Volume Select на уровне объекта.
ПРИМЕЧАНИЕ
Центр гизмо является настоль критичной точкой манипуляции, что часто используется для обнаружения точки вращения с единственной целью - разместить в ней центр гизмо. В отличие от выборок подобъектов или гизмо, точки вращения не нарушают систему выравнивая, однако могут фиксироваться только на вершинах, принадлежащих другим объектам.
СОВЕТ
Ранее обсуждалось как определенные с помощью EditMesh, EditableMesh и других модификаторов Edit выборки подобъектов передаются другим модификаторам. Но передача выборок является побочным продуктом того, для чего собственно предназначены модификаторы - для моделирования подобъектов. EditMesh и EditableMesh служат для манипуляции необработанным каркасом посредством его вершин, граней и ребер. При этом создаются новые части каркаса, а другие улучшаются или удаляются. В заключение характеристики влияющей на поверхности то, как она выглядит, как отражает свет, какой материал используется присваиваются через редактирование каркаса. Все это редактирование выполняется на уровне подобъектов.
На уровне вершины и грани имеется множество реалистического и эффективного моделирования. После создания объекта может потребоваться растягивать вершины, поворачивать или выравнивать грани и создавать дополнительные грани. На уровне Sub-Object также лучше совершенствуются сглаживающие группы и лучше анализируются нормали граней. Многие люди, занимающиеся моделированием, большую часть времени тратят на работу на уровне Sub-Object, используя инструменты редактирования каркаса и совершенствуя свойства поверхностей. В оставшейся части этой главы анализируются функции, манипулирующие этими конечными категориями и придающие моделям конкретный характер. Следующая глава использует эти основные принципы при исследовании деталей и методов применения каждого из инструментов моделирования подобъектов.
Модификаторы Edit имеют много общего, поскольку каждый из них манипулирует геометрией подобъек-та и работает в манере, которая обычно считается явной (при выполнении в других программах моделирования). По этой причине модификаторы Edit имеют множество одинаковых процедур. Сюда входит присоединение объектов для работы с ними, способ, при помощи которого точки вращения-центры работают с выборками различных типов, использование угловых порогов и принципы выполнения анимации с выборками подобъектов. Люди, занимающиеся моделированием, также используют ряд общих методов, увеличивающих удобство работы с модификаторами Edit, например, использование сеточных объектов, вспомогательные объекты точек и множество "горячих" клавиш. Если прочитать об этих общих методах, можно обнаружить, что EditMesh и EditableMesh имеют гораздо больше возможностей по сравнению с EditSpline и EditPatch.
Модификаторы Edit имеют одну функцию, которая не работает с выборками подобъектов: Attach (присоединить) (см. рис. 12.6). Эта функция соединяет два объекта, в результате чего один становится активным, а другой - присоединенным или элементом активного объекта. Эта операция соединения объектов используется в действиях, которые "сшивают" геометрию подобъектов, что чаще всего необходимо для объединения вершин различных объектов.
ПРИМЕЧАНИЕ
ПРИМЕЧАНИЕ
При необходимости сохранения истории присоединенного объекта и его анимации вместо использования Attach следует либо сгруппировать, либо связать объекты. Основной причиной присоединения объектов является создание граней между ними. Грани можно построить только на объекте, а вершины можно объединять только с вершинами того же объекта. Если требуется построить грани между объектами, которые не нужно присоединять, создайте набор дубликатов вершин, чтобы построить на них грани.
Во время присоединения объектов принимается несколько решений в отношении присвоении материала и отображения. Если материал не присвоен ни одному из объектов, ничего не случится; но если материал присвоен одному или обеим объектам, может произойти следующее:
Странная ситуация возникает, когда присоединяемые объекты имеют ID материалов, которые не ссылаются на мультиматериал. Например рамки для удобства создаются с шестью различными ID материала (по одному для каждой стороны). При присоединении рамки к другим объектам различные ID внезапно приобретают значение и различные стороны рамки имеют различные материалы. Во избежании подобной ситуации присваивайте целому объекту Box один материал (посредством Material или EditMesh).
К соприкасающимся выборкам относится несколько функций. Говорят, что выборка является соприкасающейся столько времени, сколько она содержит прилегающие грани или ребра, совместно использующие вершины. Прилегающие грани, принадлежащие отдельным элементам, не считаются соприкасающимися. Несоприкасающаяся выборка образуется при выборе отдельных несмежных областей каркаса или при выборе частей различных элементов. Во всех случаях когда выборка содержит прилегающие грани, ключом к тому, чтобы увидеть какая точка и ось активны в конкретный момент времени, является тренога осей. Трансформации перемещения, вращения и масштабирования очевидно подчиняются ориентации и расположению этих индивидуальных пиктограмм. Функции, используемые EditMesh, и наиболее очевидная среди них Extrude, опираются на эти пиктограммы для направления своего результата.
ПРИМЕЧАНИЕ
При использовании 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, гораздо проще:
Подобное различие в вычислении точек центра трансформации может оказаться единственной серьезной причиной предпочтительного использования EditMesh по сравнению с EditableMesh. Если необходимо одновременно манипулировать отдельными выборками (например, одновременным вытягиванием или вращением), следует использовать EditMesh. При одновременном моделировании одиночных областей каркаса лучше применять EditableMesh.
Точка вращения объекта является естественно подходящей точкой, вокруг которой выполняется масштабирование и вращение объекта при работе на уровне объекта. Но при работе на уровне подобъекта точка вращения объекта не только недоступна в качестве опции центра, но и обычно не подходит для различных создаваемых выборок подобъектов.
СОВЕТ
В режиме Sub-Object опция Pivot Point Center менеджера трансформации игнорирует точку вращения объекта и использует вместо нее центр выборки. Поэтому определены две опции - центр выборки и центр системы координат. Таким образом опция Pick менеджера трансформации становится очень важной, поскольку обеспечивает возможность использования в качестве центральной точки любого объекта. Для управления точкой манипуляции выберите объект, который не собираетесь использовать в качестве системы координат Pick, и поместите его туда, где требуется выполнять вращение и масштабирование (см. рис. 12.10).
СОВЕТ
Вспомогательные объекты Point, используемые в качестве центра координат, очень похожи на практику 3DS для DOS помещать Global Axis (глобальная ось) в 3D Editor. Вспомогательные объекты Point обеспечивают дополнительные преимущества множества точек, связывания, выравнивания и анимации. Для точного размещения вспомогательный объект Point можно помещать посредством 2.5D-(|mKcauHH вершин или функции Align. Для настоящей SD-^WKCBUHH вершин следует зафиксировать Point на необходимой вершине в двух перпендикулярных видовых окнах.
Для выравнивания вспомогательного объекта Point с правильным местом требуется немного времени, и необходимо принять решение о том, нужна ли на самом деле такая точность. Некоторые предпочитают быстро модифицировать выборку и уже впоследствии заботятся о ее размещении. На уровне подобъекта такого рода подход обычно не работает, поскольку категории внутри объекта масштабируются и вращаются, и вернуться назад, не так просто если точка манипуляции перемещается. Таким образом при манипуляции вершинами и гранями основную помощь оказывает тщательное размещение осей вспомогательного объекта Point.
СОВЕТ
Сетки представляют собой другой ценный инструмент моделирования подобъектов, поскольку подобно вспомогательному объекту Point, их точку вращения можно использовать в качестве центра координат трансформации. Кроме этого объекты Grid (сетка) обеспечивают настраиваемую сетку фиксации для создания вершин. Незаметной, но ценной характеристикой является Grid Nudging (подталкивание сетки) - возможность, присвоенная (по умолчанию) клавишам "+" и "-". Если сетка активна, нажатие на эти клавиши подталкивает сетку вдоль оси Z на заданное расстояние. По умолчанию расстояние перемещения составляет одну системную единицу, хотя можно установить любое значение через Grid Nudge, который расположен в закладке Preferences Viewports (глобальные параметры видовых окон).
Некоторые функции внутри EditMesh и EditableMesh основывают свою работу на углах, образованных между прилегающими гранями. Функции AutoEdge, AutoSmooth и Explode используют то, что называется значением углового порога, что относится к углу, образованному между гранями. Каждая пара граней, совместно использующих ребро, анализируется для определения угла между ними. Это делается путем сравнения смежного угла, образованного между нормалями граней. Хотя оговоримся, это может оказаться несколько трудным для визуализации. Вместо этого угол можно определить с помощью визуальной проекции одной стороны грани и фиксации смежного угла, образованного с другой гранью. Оба метода демонстрируются на рисунке 12.11.
На любую пару граней, смежный угол между которыми меньше значения углового порога, оказывает воздействие функция, использующая эту пару. Чем острее угол, тем выше должен быть угловой порог, чтобы его квалифицировать; меньшие угловые пороги работают на меньших углах. Грани, не попадающие в пределы диапазона, функция просто игнорирует.
Несмотря на все свои возможности, ни один из модификаторов Edit не создает дорожки анимации в Track View. При работе с этими модификаторами либо принимаются явные решения по моделированию, либо определятся выборки подобъектов, которые передаются вверх по стеку для воздействия на них других модификаторов и для возможной анимации. Внутри модификаторов Edit анимация не выполняется - это один из нескольких случаев, когда кнопка Animated недоступна.
ПРИМЕЧАНИЕ
Процедура выполнения анимации с вершинами, ребрами, элементами, лоскутами и сплайнами состоит в том, чтобы создать выборку и применить к ней последующий модификатор для манипуляции выборкой. Часто возникает желание выполнить анимацию с тем, что происходит в самом модификаторе Edit. Поскольку этим практически всегда является трансформация, для выполнения анимации с выборкой со стандартной трансформацией обычно применяется модификатор XForm. Если выборка, созданная внутри модификатора Edit, не квалифицирована как геометрическая, ее нельзя передать вверх по стеку и с ней нельзя выполнить анимацию. Общими примерами этого являются ручки управления структурой и вершиной, а также кривые области вершин. С ними нельзя выполнить анимацию непосредственно и они должны быть аппроксимированы с использованием другого метода.
Модификаторы, отличающиеся от XForm, например, Bend или MeshSmooth, будут действовать так, как они действуют на целый объект, за исключением ограничения своего эффекта на то, что было только что выбрано (как показано ранее в этой главе). Анимация с параметрами модификаторов будет выполнять анимацию с дискретной активной выборкой. Если выборка изменяется, то же самое происходит с результатом анимации модификатора. Хотя с выборкой модификатора Edit анимацию выполнить нельзя, можно использовать модификатор Volume Select и выполнять анимацию с тем, что определяет выборку по ее размеру и размещению.
При моделировании на уровне подобъекта внутри любого модификатора Edit вы обнаружите, что для выполнения некоторых наиболее употребимых функций самым эффективным является использование знакомых "горячих" клавиш:
Сложность моделей, которые можно создавать в 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 существует геометрическая иерархия. Ниже эта иерархия приведена в порядке от младшего к старшему:
Объект 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 и зачем он здесь определяется? Во многих случаях моделирование выполняется в явном виде. Работа над моделью осуществляется на корневом уровне путем перетаскивания вершин, построения граней и разделения ребер. Если это все, что требуется, не требуется передавать выборки по стеку другим модификаторам или сохранять операции как индивидуальные и восстанавливаемые, можно просто использовать основную функциональность объекта EditableMesh.
В некоторой степени EditableMesh является шагом назад в компьютерном моделировании, поскольку теряется возможность принятия противоположных решений. При использовании EditableMesh на категориях внутри объекта выполняются явные деформации. В отличие от EditMesh история производимых действий в EditableMesh не записывается, поскольку действия являются явными (хотя опция аннулирования по-прежнему доступна). EditMesh записывает ваши действия и поэтому может распространять изменения от низа стека. Поскольку EditableMesh является мастер-объектом, ничего ниже него в стеке быть не может. Все, что делается с EditableMesh, можно считать постоянным, поскольку буфер Undo имеет конечный размер и не сохраняется между сеансами. Очевидно, что каждый метод имеет свои преимущества и недостатки. В приведенной ниже таблице отмечены наиболее важные аспекты каждого метода:
Модификатор EditMesh | Объект EditableMesh | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Полная функциональность редактирования каркаса | ||||||||||
Возможность использования для выборок локальных центров координат | ||||||||||
Может присоединять каждый раз по одному объекту | ||||||||||
Полное аннулирование до текущего предела | ||||||||||
Каждая выполненная операция запоминается модификатором и сохраняется в файле | ||||||||||
Размер файла растет по мере редактирования и добавления модификаторов Edit | ||||||||||
Отсоединенная и удаленная геометрия определяется внутри модификатора и сохраняется в файле | ||||||||||
Удаление модификатора удаляет все изменения, даже удаление геометрии | ||||||||||
Эффект модификатора можно выключить | ||||||||||
Активную выборку можно определить в любом месте стека | Полная функциональность редактирования каркаса | Возможность использования в качестве центра выборок только центра системы координат | Может присоединять одновременно множество объектов | Полное аннулирование до текущего предела | В файле сохраняется только результирующий каркас в конце сеанса | На размер файла оказывает влияние только размер результирующего каркаса | Отсоединенная и удаленная геометрия отбрасывается после достижения предела аннулирования | Определения объектов нельзя удалить без удаления самого объекта | Определения объектов нельзя выключить | Активную выборку можно определить только в начале стека Модификатор EditMesh |
Для каждого EditMesh в ОЗУ выполняется копия объекта вместе с обработкой всех шагов | ||||||||||
Для случая больших каркасов отсоединение граней и вершин может оказаться очень медленным | ||||||||||
Введение модификатора для больших каркасов требует некоторого времени | Операции с большими каркасами могут показаться медленными | |||||||||
Предназначен для моделирования с анимацией | ||||||||||
"Горячие" клавиши не определены | В ОЗУ сохраняется только результат, являющийся мастер-объектом | Даже для больших каркасов отсоединение выполняется достаточно быстро | Вход в режим Sub-Object выполняется быстро | Операции выполняются быстро | Предназначен для статического моделирования | Имеет клавиатурные эквиваленты, если они активизированы в файле Sdsmax.ini |
ПРИМЕЧАНИЕ
Помимо своих графических классификаций объекты стремятся иметь собственные графические характеристики, на которые часто ссылаются. Эта книга и документация на 3D Studio MAX ссылаются на одинаковую терминологию, что отображается на рисунке 12.14 и в последующем списке.
Внутри EditMesh и EditableMesh имеется возможность влиять на то, как будет выглядеть поверхность модели. Это выполняется путем присвоения сглаживающих групп, ориентации нормали грани и присвоения ID материала. Все это находится внутри свитка EditSurface уровня Face, показанного на рисунке 12.15.
Достаточно сильное влияние на сглаживание оказывает постоянство каркаса, поскольку сглаживание может происходить только на объединенных гранях. Ребра, которые встречаются и совместно не используют обе вершины, образуют шов, а избыточные грани могут вызвать очень странные эффекты.
В эту главу включены следующие основные темы:
Начнем с манипуляции вершинами, поскольку это основной и часто наиболее подходящий элемент управления каркасом. Подавляющее большинство операций 3DS МАХ (и операций компьютерной графики) манипулирует вершинами с гранями, которые просто размещаются вдоль них. Грани, которые совместно используют вершины, всегда манипулируются вершинами. Каждый раз при создании или клонировании каркаса вершины также создаются, поскольку при помощи них определяются грани.
Трансформация вершин очень напоминает перемещение, вращение и масштабирование граней или ребер. Причина такого сходства заключается в том, что редактирование каркаса всегда влияет на расположение вершин. При редактировании каркаса в 3DS МАХ выполняется манипуляция вершинами - не гранями, элементами или ребрами. Грани и ребра, из которых состоит каркас, следуют вдоль него к новым положениям, заданными вершинами. При масштабировании элемента происходит масштабирование положения его вершин. При вращении граней выполняется вращение положений вершин, и грани изменяют ориентацию на основе новых положений вершин. Учитывайте последнее при выполнении любой операции редактирования каркаса или любой связанной с этим модификации, чтобы сделать результаты более предсказуемыми и очевидными.
При входе на уровень выборки Vertex (вершина) все вершины отображаются в виде крестов (см. рис 13.1). В отличие от граней вершины отображаются даже в том случае, если они расположены на частях каркаса, нормали к граням которых указывают в направлении от вас. В этот момент каждая создаваемая выборка состоит из вершин, и на них влияют только трансформации. Как и обычно, настройка вершин подтягивает грани, созданные на них.
Изолированные и уединенные вершины обычно существуют только по одной причине - для создания на них граней. Изолированные вершины редко служат для других целей. Вершины сами по себе никогда не определяют каркас и не могут быть визуализированы независимо. При удалении граней 3DS МАХ запрашивает, требуется ли одновременно удалить висячие вершины. Если на этих вершинах в будущем не планируется создавать новые грани, ответом всегда должно быть "да".
Выбор вершин очень прост, поскольку опции окна и пересечения не применяются. Щелчок на вершине выбирает ее. Выборка области (прямоугольной, круговой или в виде изгороди), которая охватывает вершину, также ее выбирает. Как обычно, нажатие клавиши Ctrl позволяет производить добавления к выборке, а нажатие клавиши Alt вычитает выборку. Чаще всего будет использоваться выборка области и удаление паразитных вершин посредством другой области или селективных щелчков.
Скрытие вершин является методом предохранения их от случайного редактирования. Скрытые вершины скрывают свои крестики отображения, но не скрывают каркаса, который определяют. После скрытия вершины выбирать нельзя и на них не будут оказывать влияние никакие действия. В таком состоянии вершины очень напоминают неподвижные объекты. Скрытие вершин является весьма ценным инструментом, если необходимо сохранить определенную область каркаса, но модифицировать другие части - в особенности те, которые расположены близко к скрытым вершинам. Скрытые вершины можно также использовать для изолирования областей каркаса от операций на уровне граней. На скрытых вершинах нельзя построить грани и они не учитываются при выборках граней с использованием опции By-Vertex (при помощи вершин).
ПРЕДУПРЕЖДЕНИЕ
Бывает, что вершины трудно увидеть из-за их размера. Перед выбором вершин для редактирования неплохо выполнить Select None для обеспечения того, чтобы выборка была только тем, что вы предполагаете. Поскольку выборки передаются вверх по стеку, легко забыть о более ранней выборке, которая в настоящий момент активна, в особенности в том случае, если выборка была установлена посредством модификатора, примененного гораздо раньше.
Трансформации Move, Rotate и Scale в линейке инструментов являются основными методами манипуляции вершинами. При этом особое значение приобретают тонкости, описанные в разделе "Общие термины и понятия для каркасов" главы 12. Возможность редактирования каркасов на уровне вершин обладает достаточной мощью. При манипуляции положением вершин происходит притягивание, растяжение и масштабирование построенных на них граней. Основной секрет эффективной манипуляции вершинами состоит в выборе корректных вершин для редактирования и оставлении других в стороне.
Несмотря на то, что вершины можно редактировать индивидуально, большая часть редактирования вершин выполняется при помощи выборок. Передача одиночных вершин вверх по стеку в качестве активной выборки редко оказывает (если вообще оказывает) большой эффект. Для получения какого-либо эффекта при вращении или масштабировании одиночной вершины следует использовать центр системы координат. В противном случае выполняется вращение и масштабирование вокруг самой вершины и ничего не происходит.
Широко используемая практика заключается в определении ЗD-примитивов и путем редактирования вершин превращении их в совершенно другие объекты. В приведенном ниже упражнении задается базовый цилиндр и за счет редактирования всего нескольких вершин превращается в гантелю, после чего поверхность совершенствуется путем присвоения сглаживающих групп.
Как показывает следующее упражнение со сферой, для исследования мощных эффектов, которые можно получить за счет манипуляции вершинами, сложная модель не нужна.
Функция Affect Region (влияние на область) позволяет оказывать влияние на целую область вершин при гораздо меньшей выборке или, более часто, при выборке только одной вершины. В случае отметки флажка Affect Region каждая выполняемая трансформация влияет на область вершин, а не только на выбранные вершины. При отмеченном флажке Affect Region фундаментально изменяется метод редактирования вершин, поскольку теперь одна вершина ведет себя подобно магниту и при изменении своего положения в трансформациях Move, Rotate и Scale тащит за собой другие.
Affect Region работает совместно с управляющей кривой области. Кривая области является визуализацией результата перемещения одиночной вершины из плоской сетки. Щелчок на Edit Curve (отредактировать кривую) выводит диалог Edit Affect Region Curve (редактировать кривую влияния на область) (см. рис. 13.6). Как можно видеть, установка Falloff (граница области затухания) определяет радиус "сферы" выборки. Внутри этой сферы оказываемое влияние на каждую вершину соответствует значениям кривой области.
ПРЕДУПРЕЖДЕНИЕ
Влияние кривой области лучше всего показать на примере одной вершины на рамочной сетке. Рисунки 13.7 и 13.8 показывают перемещение одной вершины на одно и то же расстояние в рамках куба с размером 100 единиц. Верхние ряды на обеих рисунках показывают, как форма кривой области дублируется вытесненными вершинами. С учетом этого можно предсказать влияние определяемых кривых области. Для вытаскивания гладких кривых посредством Affect Region следует манипулировать одиночными вершинами или изолированными гранями и пристально следить за управляющей кривой области.
Результат редактирования вершин с помощью Affect Region аналогичен работе с лоскутами, поскольку перемещение одиночной вершины во многом подобно вытягиванию вершины лоскута. Основное отличие, конечно, заключается в том, что последующее перемещение вершины не восстанавливает предыдущего каркаса, в то время как изменение направления на противоположное перемещает лоскут. На рисунке 13.9 сравнивается результаты вытаскивания центральной вершины из каркасных и лоскутных цилиндров.
Опция Ignore Backfacing (игнорировать заднюю грань) управляет тем, на какие вершины оказывается влияние внутри радиуса распада. При выключенной опции Ignore Backfacing влияние оказывается на каждую вершину внутри радиуса распада. Когда эта опция включена (что происходит по умолчанию), грани, совместно использующие выбранные вершины, анализируются на предмет определения направлений их нормалей. Определяется усредненная нормаль граней и сравнивается с нормалью каждой другой грани в радиусе распада. Если усредненная нормаль может "видеть" другие грани (сравниваемый угол меньше 90°), влияние оказывается на вершины, совместно использующие эти грани. Вершины, совместно использующие заднюю грань и видимые грани, считаются видимыми и на них оказывается влияние.
СОВЕТ
ПРЕДУПРЕЖДЕНИЕ
Если нормали указывают от вас, вершина "не может" увидеть их грани, и 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 устанавливает режим, при котором каждый щелчок на экране создает в этом месте вершину на активной сетке. Создание вершин с помощью такого метода весьма полезно, в особенности при использовании объекта активной сетки и ключей толчков. Подобный режим позволяет перемещать активную сетку, не выходя из текущей команды подобъекта, и создавать уровни вершин с управляемой высотой.
Самым большим источником создания вершин являются существующие каркасы. Грани каркаса можно либо разрушать путем удаления и оставления "облака" вершин, либо выбирать вершины граней и клонировать их при выполнении трансформации. Клонированные вершины оставляют свои грани позади себя и создают объект без поверхности. При необходимости клонирования каркаса вместо этого можно выполнять клонирование его граней. При клонировании следует определиться между выбором или нового объекта, или выбором изолированных вершин внутри текущего объекта.
В общем случае необходимо дублировать существующие вершины каркаса в место, в котором они смогли бы стать строительными блоками для другого каркаса, связанного с первым. При намерении добавлять вершины к объекту и необходимости их корреляции с существующими вершинами клонируйте их в требуемое место для использования в качестве исходных. Этот метод обычно проще в реализации и более точен, чем тщательное размещение активной сетки для каждого уровня новых вершин.
ПРИМЕЧАНИЕ
Vertex Create (создать вершину) представляет собой единственный метод создания вершин "с нуля" и отличается от клонирования. Создаваемые вершины всегда являются частью первоначального объекта и обычно служат строительными блоками для будущего создания вершин. При создании вершин происходит определение двух координат, а третья точка обеспечивается при помощи активной сетки видового окна. Это можно перекрыть при использовании фиксации вершины и ребра.
Vertex Create хорошо работает при фиксации вершины и ребра. Установка свойства фиксации вершины в 1, а всех остальных в Off (выключено) (см. рис. 13.12) обеспечивает то, что фиксация будет происходить только к вершинам. При использовании 3D Snap Vertex Create разрешает создавать проволочный каркас, на котором строятся перекрывающиеся сетки. В случае 2.5D Snap создается спроектированный на активную сетку видового окна шаблон вершин. Хотя это требуется редко, из этих спроектированных шаблонов можно создать сглаженные проекции других каркасов.
Работа с вершинами выполняется с помощью определяющих точек и только это является единственны способом влияния на топологию вершин. Помимо всегда доступного Delete, несколько функций для вершин являются уникальными, из которых чаще всего применяется Weld (объединить).
Объединение сплавляет две или более вершин вместе для образования одной вершины, перетаскивающей за собой любые грани, построенные на первоначальных вершинах. Объединение используется для связывания отдельных вершин вместе с целью создания элемента или объединения граней элемента в более простой каркас. Функция Weld до сих пор является часто используемой кнопкой на уровне Vertex, и посредством нее можно достаточно точно либо обобщенно выполнить объединение.
ПРИМЕЧАНИЕ
Хотя координаты отображения могут выходить за пределы необъединенных граней, сглаживающие группы подобным свойством не обладают. Без возможности выполнения правильного сглаживания каркас никогда не будет выглядеть корректно. Ребра, встречающиеся без совместно использующих их и, таким образом, объединенных вершин, нельзя сгладить и при этом всегда образуется ребро.
Метод Target (цель) из Weld выполняет переход в режим, в котором нужно выбрать вершины и перетащить их на целевую вершину, как показано на рисунке 13.13. Курсор определяет вершину, с которой выполняется объединение, и изменяется на крестообразный, когда он находится над вершиной одного и того же объекта. Целевая вершина определяется близостью курсора в пикселах экрана. Эта чувствительность в пикселах фиксирована и приблизительно равна радиусу в пять пикселов. Таким образом активное видовое окно оказывает большое влияние на то, что объединяется. Работа в ортогональном видовом окне разрешает объединять вершины, расположенные (по глубине) на большом расстоянии друг от друга, что может оказаться как идеальным, так и нежелательным. Работа с видом User или Perspective обычно дает более четкое понимание о взаимоотношениях межцу вершинами при объединении. Часто удобно выбирать вершины на ортогональных видах и затем объединять с целевой на виде User или Perspective.
ПРИМЕЧАНИЕ
Метод 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.
В настоящем разделе выполняется переход от вершинам к граням - второму основному компоненту редактирования каркасов. Манипуляция местами расположения граней во многом напоминает работу с наборами по три вершины, но по сравнению с вершинами грани определяют гораздо больше информации. Вершины определяют место расположения границы грани; грани определяют направление нормалей и поверхность, которая может иметь установки материала, отображения и сглаживания. При редактировании вершин моделирование выполняется в объектной форме и касается только положения. При редактировании граней необходимо также знать, как поверхность отражает свет.
СОВЕТ
Уровень граней (рис. 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 при первом щелчке ничего не выбирается, поэтому выборка области выполняет точную выборку области вершин, которые после этого охватываются.
ПРИМЕЧАНИЕ
При работе с большими каркасами реакция системы может показаться замедленной при перемещении выборок, граней или элементов, поскольку для каркаса корректируются все четыре видовых окна. Для получения максимального быстродействия запретите обновление всех видовых окон так, чтобы корректировалось одно активное окно. После этого можно выполнять правый щелчок в другом видовом окне для просмотра результатов.
ПРИМЕЧАНИЕ
Скрытие граней не просто делает их невидимыми. При скрытии граней их нельзя больше выбирать и на них не оказывают влияния производимые действия. Скрытие граней является очень ценным инструментом при необходимости защиты некоторых областей каркаса от выборки или модификации, в особенности, если выборка или модификация выполняются в соседних гранях. Скрытые грани также можно использовать для отделения областей каркаса от операций на уровне вершин и ребер.
ПРИМЕЧАНИЕ
После скрытия граней для всех оставшихся граней можно выполнить Select All, а затем операцию, которая уже не будет оказывать влияние на скрытые грани. На скрытые грани не влияет удаление любой из прочих граней. На скрытые грани влияние оказывается только при модификации вершин, на которых они построены. При трансформации граней, объединенных со скрытыми гранями, трансформируются также объединенные вершины скрытых граней. На уникальные вершины скрытых граней на уровне граней повлиять нельзя. На рисунке 13.19 показано, как выборка граней была скрыта, а оставшиеся грани перемещены, в результате чего скрытые грани растянулись.
Грани удобно скрывать при присвоении ID материала подобъекта и сглаживающих групп. После присвоения своих тщательно сделанных выборок скройте их и перейдите к следующим выборкам, не опасаясь оказать влияние на только что присвоенные. Скрытие граней ускоряет последующие выборки, поскольку потребуется сортировать все меньшее и меньшее количество граней.
ПРИМЕЧАНИЕ
Трансформации Move, Rotate и Scale линейки инструментов являются главными методами манипуляции гранями. Трансформация граней очень похожа на перемещение, вращение и масштабирование эквивалентных выборок вершин, но с одним существенным отличием - при использовании EditMesh грани позволяют выполнять трансформации вокруг отдельных центров. Эта возможность является одним из фундаментальных отличий между использованием EditMesh и EditableMesh.
При использовании EditMesh в режиме Pivot Point Center каждая выборка граней определяет свою собственную систему координат на основе усредненных нормалей выборки. Это позволяет перемещать, вращать и масштабировать несоприкасающиеся выборки граней одновременно так, как будто вы манипулируете каждый раз только с одной.
СОВЕТ
Для создания граней в рамках уровня Face применяется множество методов. Грани можно вытягивать, укладывать мозаикой, клонировать и даже создавать по одной каждый раз. Extrude (вытянуть) является наиболее мощным методом, Build (построить) наиболее общепринятым, a Tesselate (уложить мозаикой) связан с наибольшим количеством граней.
Функция Extrude создает грани путем перемещения выбранных граней наружу и построения сторон или "стенок", соединяющих выборку с ее периметром. Эта функция выполняет переход в режим вытягивания и прекращает текущую трансформацию, выбранную из линейки инструментов.
СОВЕТ
Extrude является одной из редких функций 3DS МАХ, которая разрешает определить свой результат в видовом окне. В этом режиме курсор превращается в пиктограмму Extrude, когда находится над выборкой. После этого вытягивание можно определить путем перетаскивания курсора; поле Amount сообщает высоту вытягивания.
СОВЕТ
Вытягивание нельзя настраивать. После выполнения вытягивания оно устанавливается. Попытка "настроить" вытягивание приводит к дополнительному вытягиванию на той же самой выборке. Поэтому перед отпусканием стрелки счетчика или перетаскиваемого курсора следует тщательно проанализировать вытягивание. Настройка существующего вытягивания может сэкономить значительное время, если необходимо быстро получить последовательные сегменты вытягивания. На рисунке 13.20 показано способ предоставления объектам последовательных вытягивании с целью добавления сегментов.
Extrude перемещает выборку граней в соответствии с ее усредненной нормалью. Если выборка плоская/ копланарная (что, вероятно, является результатом выборки многоугольника), вытягивание перпендикулярно плоскости. Если выборка некопланарная, нормали выбранных граней усредняются и вытягивание следует этому вектору. Например выбор прилегающих сторон рамки производит вытягивание сторон под углом 45°. Для получения управляемых результатов Extrude лучше всего использовать с копланарными выборками.
Функция Extrude игнорирует состояние центра выборки линейки инструментов и всегда обрабатывает его так, как будто используется Pivot Point Center. Каждая несоприкасающаяся выборка граней имеет собственную нормаль. Можно создавать несоприкасающиеся выборки и вытягивать их одновременно, и они будут это делать так, как будто их вытягивают друг за другом. На рисунке 13.21 показано создание сложной формы путем выполнения серии вытягивании и промежуточного неоднородного масштабирования на несоприкасающихся выборках.
Нормали вытянутых граней направлены наружу при положительном вытягивании и вовнутрь - при отрицательном. Координаты отображения "растягиваются" вдоль длины новых сторон. Помните, что обычно отображение лучше применять после модификатора EditMesh, поскольку так можно сделать все топологические изменения.
В случае применения модификатора EditMesh к замкнутой форме (например, к тексту) форма сразу покрывается каркасным наконечником. После этого можно использовать функцию Extrude для быстрого придания глубины, подобно применению модификатора Extrude. В отличие от модификатора Extrude функция Extrude не создает наконечник на другой стороне. Таким образом функция Extrude весьма полезна, если форма уже является каркасом (либо за счет разрушения, либо за счет импорта из другой программы) и необходимо получить результат применения модификатора Extrude к замкнутым формам.
ПРИМЕЧАНИЕ
Укладка граней мозаикой используется в основном для увеличения плотности каркаса; она применяется на выбранных областях для создания дополнительных вершин и граней, которыми можно манипулировать, или для увеличения общей детализации с целью будущего применения модификаторов. Например, каркас может не содержать достаточное количество сегментов для правильного изгиба, или модификатор 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 показано распространение последующих укладок ребер мозаикой, при которых поверхность не деформируется до тех пор, пока не достигает угла и не имеет граней, между которыми кривая усредняется.
ПРИМЕЧАНИЕ
Полезным методом для использования с каркасами, имеющими укладку мозаикой, является выбор вершин граней до того, как выполнять на них укладку мозаикой. После укладки мозаикой такая выборка первоначальных вершин может оказаться удобной при управлении поверхностью, поскольку теперь можно перемещать и масштабировать первоначальные вершины, либо инвертировать выборку и манипулировать новыми вершинами. Выполнение однородного масштабирования на инвертированной выборке вершин часто бывает очень похожим на эффект использования элемента управления Tension. На рисунке 13.26 показан пример GeoSphere, у которой выбраны все вершины, выполнена укладка мозаикой на всех ее гранях и масштабирование первоначальной выборки вершин вовнутрь.
Build Face (построить грань) позволяет создавать одну за другой треугольные грани на существующих вершинах. Щелчок на Build Face выполняет переход в режим "сшивания" граней, который является единственным в 3DS МАХ методом ручного создания граней. Данный режим переключает отображение вершин на крестики, поэтому целевые вершины легко видеть.
Построение граней является процедурой "соединить по точкам", используя три вершины, определяющие новую грань. Все три вершины должны принадлежать одному и тому же объекту и не должны быть скрытыми, поскольку в виде крестиков отображаются только видимые вершины выбранного объекта. Построение граней не создает и не изменяет вершины, поэтому новые грани автоматически объединяются с гранями, уже совместно использующими эти вершины. При этом курсор изменяет вид на перекрестие, находясь над действительной вершиной.
СОВЕТ
Нормальное направление вновь построенной грани диктуется порядком, в котором выбираются три вершины. Выбор вершин против часовой стрелки делает грань видимой, в то время как выбор вершин по часовой стрелке помещает грань вдали от вас.
ПРИМЕЧАНИЕ
Вновь созданные грани получают установки по умолчанию Material ID#, и если каркасу присваивается какое-либо отображение - координат отображения. Несмотря на то, что присвоение'Material ID#1 часто оказывается корректным, отображение и нехватка сглаживания редко кого-то устраивают. Обычно необходимо завершить построение грани и затем присвоить корректное сглаживание и координаты отображения.
Для любых трех вершин существуют две грани с противоположно направленными нормалями. При попытке создания уже существующей грани появляется предупреждение, показанное на рисунке 13.27, и создание продолжить далее невозможно. Подобное запрещение имеет место ввиду того, что каркасы с дублированными гранями вызывают ряд проблем, куда входят в первую очередь аномалии визуализации и неудачно завершенные булевы операции.
Несколько функций разрешают изменять топологию поверхности каркаса за счет разрыва, отсоединения, разрушения, преобразования ее в планарную и удаления. Характер этих функций стремятся близок к деструктивному; они используются, главным образом, при необходимости существенного изменения поверхности модели.
Рассмотрим Face Explode (разбить грани на компоненты) - инструмент для разрыва на части или рассечения каркасов. Explode разделяет каркасы путем создания дубликатов вершин и "разъединения" граней. Разрывается ли каркас на грани или элементы зависит от сопровождающего значения Angle Threshold (угловой порог).
Грани, у которых угловые отношения имеют значения ниже Angle Threshold, при разбиении образуют элементы. Угол в 0° разбивает все грани, в то время, как угол 180° разрывает объекты на элементы. Для случая куба угловой порог, например, 90° оставляет куб в неприкосновенности, а 89° разделяет его на б элементов (по одному для каждой стороны), а значение углового порога в 0° разделяет его на отдельные грани. Если вы умеете анализировать угловой порог, применяйте Explode для отделения частей своей модели с целью использования их где-нибудь в других местах.
Опция разбиения на объекты или элементы достаточно проста и состоит в следующем. Если необходимо, чтобы разбитые части имели свою собственную историю редактирования и дорожки анимации, выбирайте объекты. Если необходимо, чтобы разбитые части были частью того же самого объекта, разбивайте части на элементы.
СОВЕТ
Помните, что при использовании EditMesh история ваших действий обеспечивается модификатором. Если объект разбивается на другие объекты, позже модификатор EditMesh можно удалить. При этом первоначальный объект повторно появляется нетронутым, а созданные при разбиении объекты остаются. Это один из способов разделения частей модели без причинения ущерба оригиналу.
Функция Detach (отсоединить) используется для создания новых объектов из частей выбранного объекта. Вся выборка становится одним объектом, даже если ее результатом является множество элементов. Новый объект наследует ориентацию ограничивающей рамки первоначального объекта.
СОВЕТ
Функция Collapse упрощает каркас за счет использования уникального метода удаления граней. Выбранные грани удаляются и заменяются центрированной вершиной. Каждая соседняя грань, совместно использующая вершину вместе с удаленной гранью, растягивается (и объединяется) до места расположения новой вершины. Если соседняя грань совместно использует две вершины (ребро) с удаленной гранью, она удаляется. Разрушение одной грани может за один раз удалить максимум четыре грани - разрушенную и три грани, совместно использующие ребра. Разрушение выборки граней ведет к очень быстрому уменьшению числа граней модели, однако каркасная поверхность сохраняется, что особенно полезно при уничтожении копланарных граней. Например, на углах можно легко отколоть кусочки, что показано на рисунке 13.28.
Самым поразительным является то, что Collapse обрабатывает выборку как единое целое даже в том случае, если она несоприкасающаяся, аналогично функционированию Vertex Collapse. При несоприкасающихся выборках разрушенные вершины по-прежнему располагаются методом усреднения положений каждой выбранной грани. Это не всегда приемлемо, если только не планируется разрушение с помощью анализа того, где будет находиться результирующая вершина. Для большинства случаев моделирования разрушение следует ограничивать до соприкасающейся выборки. 22*
Разрушение часто используется в качестве инструмента создания скульптур, играя роль стамески для отсекания кусков от профиля каркаса и количества граней. Разрушение лучше всего использовать на каркасах, содержащих значительное количество граней, с которыми необходимо работать. Функция может оказаться полезной для фрактально сгенерированных ландшафтов и органических каркасов, которые требуется улучшить и индивидуализировать. При использовании на каркасах с регулярной поверхностью Collapse обеспечивает точки сжатия, в которых располагаются новые вершины. Обратитесь к обсуждению Vertex Collapse ранее в этой главе где рассматривается более управляемый метод и дополнительные примеры.
Функция Make Planar (сделать планарными) анализирует нормали выбранной грани и определяет усредненную нормаль на основе общего размера грани (например, грани, расположенные под правильными углами одна по отношению к другой, будут образовывать только угол в 45° при условии одинакового размера). Затем грани вращаются для выравнивания на той же самой плоскости. На рисунке 13.29 показано как выборки даже несоприкасающихся граней устанавливаются под углом для образования общей плоскости. Эта функция часто используется для уплощения нерегулярностей в том, что должно быть плоской плоскостью. Функцию Make Planar можно применять для создания планарных соотношений между многочисленными элементами с целью быстрого определения критических отношений (см. рис. 13.30).
СОВЕТ
Функция Delete выполняет в точности то, что означает ее название - ту же функцию, что и клавиша Delete. Эффект Delete очевиден за исключением работы со скрытыми гранями.
Сразу после скрытия выборки ее периметр остается подсвеченным красным цветом, поскольку скрытые грани по-прежнему находятся в выбранном состоянии и при нажатии Delete будут удаляться. Грани, которые скрыты, но еще не удалены, могут действовать в качестве "предварительного просмотра" удаления.
Можно скрывать грани и добавлять их к выборке при удерживании клавиши Ctrl в нажатом состоянии. Можно продолжать выбирать и скрывать грани в течение всего времени построения "скрытой" выборки. После получения удовлетворительного результата нажмите Delete и все скрытое удалится.
Фактически грани определяют поверхности, отражающие свет. Цвет света зависит от материала, присвоенного поверхности, и от цвета света, освещающего поверхность. Если материал не присвоен, для отражения света используется цвет объекта. Способ, в соответствии с которым цвет затеняется, в дальнейшем управляется посредством сглаживания. Если поверхность не гладкая, каждая грань отражает свет как независимая плоскость. Если она сглажена с соседними гранями того же каркаса, совместно используемые ребра сглаживаются и геометрия визиализируется более гладкой, чем есть на самом деле.
Корректное применение сглаживающих групп может усложнить простую модель и улучшить сложную, а некорректное применение часто вызывает появление странных полос или уничтожает детали. За счет тщательного присвоения сглаживающих групп выбранным граням внутри каркаса можно создавать экономически оправданные и визуально правильные модели. Основная концепция сглаживания по отношению к объектам была описана в главе 7, "Основы создания объектов", однако следует также понимать, как присваивать сглаживание на уровне грани, если каркас полностью нерегулярный.
ПРИМЕЧАНИЕ
Сглаживание может происходить только между объединенными гранями и, следовательно, не может выполняться между объектами или элементами. Грани будут продолжать сглаживаться до тех пор, пока они могут отслеживать линию объединенных граней, содержащих ту же сглаживающую группу.
Каждая грань, которой присвоена одна или несколько сглаживающих групп, проверяет каждую совместно используемую вершину, чтобы посмотреть, имеет ли соседняя объединенная грань совпадающую сглаживающую группу. При обнаружении совпадения происходит сглаживание через две грани. Наличие множества совпадений сглаживающих групп не оказывает влияния на величину сглаживания, поскольку "степеней" сглаживания не существует. Поверхность либо сглаживается, либо нет. Присвоение грани нескольких сглаживающих групп вызывает только то, что грани должны сравнивать значительно большее количество сглаживающих групп с другими гранями. Если совпадения не найдено, между гранями создается ребро, если только они не копланарные.
Функция Smoothing всегда пытается аппроксимировать эффект сферической формы. Рисунок 13.31 демонстрирует, что сглаживание встречных граней, расположенных под углом острее 60° может приводить к нереальным эффектам, поскольку производится попытка сглаживания углов сферическим образом. Объекты с острыми углами отражают неуклюжее сглаживание на вертикальных поверхностях, поскольку затенение протягивается диагонально поперек сторон каркаса. Если каркас имеет большее число сторон и эти стороны прогрессивно уменьшаются, подсветка диагонали обостряется в угле и достигает вертикали, вследствие чего сглаживание выглядит более естественным. Как правило, углы сглаживания острее 120° (что равно угловому порогу 60°) создают нежелательные результаты.
Функция AutoSmooth (автоматическое сглаживание) обеспечивает самый простой метод присвоения сглаживающих групп выборке граней. AutoSmooth сравнивает сопровождающее их значение порога с углом между выбранными объединенными гранями. Если угол между объединенными гранями меньше значения углового порога, AutoSmooth присваивает этим граням общую группу сглаживания.
Функция AutoSmooth значительно экономит время и работает с большинством каркасов. Копланарньш граням присваивается уникальное сглаживание для каждой грани, если порог равен 0°. Например, рамка получает одну сглаживающую группу при пороге 90°, разные группы для каждой стороны при пороге больше 0° и меньше 90° и разные группы для каждой грани при пороге 0°. AutoSmooth выполняет присвоения достаточно эффективно и обычно присваивает минимум групп. Сглаженная рамка получает три, а не шесть сглаживающих групп, поскольку три группы можно чередовать так, чтобы они не касались. Подобная эффективность, часто делает грани удобными группами выборок для других операций.
ПРИМЕЧАНИЕ
AutoSmooth работает лучше всего, если грани каркаса образуют углы, которые соответствуют требованиям их сглаживания. Каркас, имеющий много фасок с углами 45°, часть из которых необходимо сгладить, а часть оставить острыми, является плохим кандидатом для AutoSmooth.
СОВЕТ
Хотя AutoSmooth работает на выборках, наибольшая эффективность ее работы достигается в случае применения к целым элементам. AutoSmooth начинает с самой нижней из 32 сглаживающих групп и продвигается вверх. Выполнение нескольких AutoSmooth на различных выборках одного элемента увеличивает вероятность того, что гранями в различных операциях будут совместно использоваться большее число популярных сглаживающих групп с меньшими номерами. В результате сглаживание может произойти там, где оно нежелательно и, вероятнее всего происходить не будет при выборе для операции AutoSmooth целого элемента. Лучше всего выполнять AutoSmooth на выборке при удалении сглаживания с целого элемента и необходимости применения AutoSmooth к дискретным невстречающимся частям. При этом общие сглаживающие группы не касаются и нежелательное сглаживание не возникает.
Массив из 32 кнопок сглаживающих групп (Smoothing Group) является первым ключом для идентификации того, какая сглаживающая группа каким граням присваивается. При выборе грани любая присвоенная ей сглаживающая группа индицируется в виде нажатых кнопок. В выборке граней кнопки нажимаются, если группа совместно используется всеми гранями, и кнопка теряет свой номер (но не нажимается), если сглаживающая группа присвоена только некоторым граням в выборке.
ПРИМЕЧАНИЕ
Функция Select By Smooth Group (выбрать по сглаживающей группе) представляет собой диалог (см. рис. 13.32), показывающий каждую сглаживающую группу, присвоенную объекту в настоящий момент. Нажатие кнопки с номером и щелчок на ОК выбирает грани, которым присвоена эта группа.
Опция Clear Selection (очистить выборку) выполняет Select None и затем обеспечивает выбор по сглаживающей группе для выбранной группы. Выключение этой опции добавляет новую выборку к текущей.
СОВЕТ
Посредством 32 кнопок Smoothing Group можно присвоить или отменить сглаживающую группу для любой выборки граней. Такое присвоение вручную обеспечивает полное управление результатом в отличие от автоматического метода AutoSmooth. Для отмены сглаживающей группы щелкните на ее кнопке, чтобы ее отжать. Если кнопка не имеет номера, т.е. выборка не содержит ничего общего, необходимо щелкнуть на кнопке дважды - один раз для присвоения группы целой выборке и второй раз для удаления ее.
При присвоении сглаживающих групп следует рассмотреть несколько вопросов, связанных с формой модели. Какие части необходимо визуализировать круглыми? Какие секции должны иметь резко очерченные ребра? Какие плоскости должны содержать грани? После решения этих вопросов ручное присвоение сглаживающих групп становится предметом изучения выборки граней.
Если сглаживание усложняет формы, например, создает чрезмерно разукрашенное изделие из железа или шрифт с фасками, общепринятый прием заключается в определении множества выборок, включающих в себя области, затем отмену выборки, инвертирование и скрытие граней. Общая стратегия предполагает сначала идентификацию плоских поверхностей. Последние необходимо выбрать, присвоить им уникальные сглаживающие группы и затем скрыть, дабы обеспечить способ для последующих выборок. При этом выполнение последующих выборок значительно ускоряется, поскольку при каждом проходе остается все меньшее количество неприсвоенных граней.
Другим общепринятым приемом является переход к Select All, выполнение AutoSmooth и затем корректировка одних лишь неправильных граней. Сглаженные затененные видовые окна сообщают о состоянии сглаживания и обеспечивают строгий отчет о том, насколько хорошо присвоены сглаживающие группы. При обнаружении ошибочного сглаживания выберите грань и проверьте номера ее групп. Выберите соседние грани, сравните и принимайте решение о том, как продолжать. Часто наилучший путь заключается в снятии сглаживания с этих трудных областей и повторном присвоении "с нуля".
При выборе номеров сглаживающих групп обеспечивается полная свобода, и пусть выбор из 32 групп вас не ошеломляет. Такое количество поддерживается для того, чтобы выборки можно было организовать без неразберихи, и даже наиболее сложные модели имели достаточное количество групп. Выбор меньших, больших или последовательных номеров значения не имеет. Меньшие номера используются AutoSmooth первыми, поэтому есть смысл во избежание конфликтов устанавливать большие номера. Часто оказывается, что для большинства каркасов достаточно от двух до шести сглаживающих групп. Большее количество групп обычно означает, что каркас очень сложный или отдельные группы обеспечиваются для упрощения формирования выборок.
СОВЕТ
Каждая грань обладает нормалью, которая перпендикулярно восходит из центра грани. Нормаль указывает в направлении от стороны грани, которую можно видеть. Невозможность видеть другую сторону грани называется отбором задней грани и представляет собой метод, который обычно используется для ускорения графики и является режимом по умолчанию в интерактивном и окончательном визуализаторах 3DS МАХ. Нормали граней также являются важной индикацией геометрии, поскольку непротиворечивые нормали определяют направление поверхности и делают это независимо от того, является ли она внутренним объемом или внешней поверхностью. По этим причинам нормали граней используются несколькими функциями для принятия решений по визуализации и моделированию. О каркасе, имеющем на всех поверхностях непротиворечивые нормали, говорят, что он унифицирован.
ПРИМЕЧАНИЕ
Нормали в 3DS МАХ определяют настоль много, что их нельзя игнорировать. Для EditMesh нормали определяют Pivot Point Center грани, направление вытягивания и угловые пороги, используемые Explode, AutoSmooth и AutoEdge. Другие модификаторы, например Optimize, Displace, MeshSmooth и Relax, вычисляют свои эффекты с использованием нормалей. Унифицированные нормали критичны при создании составных булевых объектов. Некоторые материалы, включая карты граней и многие процедурные текстуры, основывают свои результаты на нормалях граней.
ПРИМЕЧАНИЕ
Функция 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 и переключить целый каркас.
СОВЕТ
Для визуализации обеих сторон грани и экономии времени на корректировку нормалей всегда доступна опция 2-Sided. Это достигается либо через свойства материала, либо путем указания Renderer на необходимость обработки целой сцены как двусторонней. Такой "ускоренный" способ моделирования отражается на времени визуализации, поскольку каждая грань вычисляется в обоих направлениях. Кроме того, увеличиваются требования к памяти, если имеются отбрасываемые тени или отражения.
ПРИМЕЧАНИЕ
Для правдоподобной передачи естественных свойств некоторых материалов, в особенности стекла, необходим двусторонний материал. Каркасы, видимые с двух сторон и недостаточно закрытые на сцене, чтобы восприниматься как бесконечно тонкие (например, листья, флаги, бумага, ткань и мешки) также являются подходящими кандидатами для двусторонних материалов. Задним частям объектов, отражающихся в зеркале, часто присваиваются двусторонние материалы с целью подчеркивания их односторонности. Для специфических причиняющих беспокойство объектов, которые визуализируются некорректно, можно присваивать двусторонний материал. Последнее является альтернативой визуализации целой сцены в режиме Force 2-Sided.
Легко сделать вывод, что двусторонний материал требует всего в два раза больше ресурсов для визуализации его как одностороннего материала; таким образом, это не очень большие затраты. Однако на практике визуализатор вычисляет приблизительно в четыре раза больше граней, в том числе для каждой тени, отбрасываемой светом, и для каждой отражающей поверхности внутри сцены. Эти дополнительные грани являются результатом визуализации обеих сторон того, что обращено к вам (двухкратное увеличение), и затем обеих сторон того, что не обращено к вам (может быть, дополнительное двухкратное увеличение, но, вероятно, больше).
По умолчанию каждая грань начинает с присвоенного ей Material ID#1. Грани не хранят действительных имен материалов, а только их ID#. Если материал является чем угодно за исключением Multi/Sub-Object, ID материала не оказывает влияния. Если объекту присваивается материал Multi/Sub-Object, ID материала диктует какой присваивается подматериал из определения материала.
Во время принятия решения о том, как присвоить выбранным граням материал подобъекта, сначала необходимо учесть, должны ли оставаться выбранные грани частью большего объекта. Если моделирование завершено и нет необходимости, чтобы выбранные грани сглаживались с другими гранями, которые имеют другие материалы, лучшим решением может оказаться отсоединение выбранных граней как независимых объектов и присвоение им стандартного материала. Обычно, когда для части объекта требуется другой материал, отличный от используемого остальной частью, в поверхности между двумя материалами появляется видимый разрыв, по крайней мере, шов. Избежать такой ситуации можно путем отсоединения граней, выбранных для присвоения материала подобъекта.
Типичная ситуация, когда требуется выполнить сглаживание и использовать ID материала с материалом Multi/Sub-Object, возникает в случае применения на непрерывной поверхности различных красок или отделок. Выпуклая стенка с красками различных цветов, хромовая ручка с захватом и ваза с различной глазурью - это все примеры когда сглаживание необходимо продолжать, но также примеры, для которых нужны различные материалы.
Рассмотрение ID материалов завершается замечанием о том, что присвоение ID по-прежнему разрешает выборку граней и сохранение набора выборок. Выбор по Material ID создает выборку граней с требуемым ID, что позволяет видеть какой части каркаса какой материал присвоен, при условии, что мультиматериалы не используются. Если материал Multi/Sub-Object не используется, можно безопасно сохранять наборы выборок граней с различными ID#. Сохранение наборов выборок не влияет на материал, но создает очень удобные наборы выборок на уровне граней.
Последним из трех основных элементов каркасного редактирования являются ребра. Ребра представляют собой побочный продукт создания граней и не могут существовать без них. Хотя сами по себе ребра не являются частями геометрии, 3DS МАХ разрешает их использовать для манипуляции гранями, частями которых они являются, и формирования основы по которой можно создавать дополнительные грани.
Свиток Edge, показанный на рисунке 13.34, до сих пор является простейшим из уровней выборок. Ребра подчиняются тем же правилам выборок окном и областью пересечения, что и выборка граней. Однако можно обнаружить, что если все ребра не отображаются, выбрать только то, что нужно, оказывается затруднительным. В особенности это справедливо при создании выборок областей внутри каркаса. В то время как выборка граней имеет опцию By Vertex, выборка ребер подобной опции не имеет. При определении области уже первый щелчок мышью выполняет выборку, по этому высока вероятность попадения на нежелательное невидимое ребро.
ПРЕДУПРЕЖДЕНИЕ
При трансформации ребра на самом деле происходит трансформация определяющих его двух вершин. Ребра являются способом блокировки одной вершины по отношению к другой. Ребро можно рассматривать как жесткую гантелю, которая перемещает веса на обеих концах, не деформируя при этом себя. Способ, в соответствие с которым ребро блокирует две вершины друг по отношению к другу, подобен тому, как грань блокирует выборку из трех вершин. В случае применения EditMash каждое ребро обладает локальной осью, так что имеется возможность использования центра-точки вращения.
Как и для граней, каждая соприкасающаяся выборка определяет центр выборки. Эта возможность отсутствует в EditableMesh.
Ребра не скрыты, а скорее сделаны "невидимыми". Невидимые ребра ведут себя иначе, чем скрытые грани и вершины. С другой стороны, скрытые грани и вершины "защищают" себя от дальнейшей модификации; скрытые ребра этого не делают. Даже не видя ребер, их можно выбирать, трансформировать, вытягивать, делить, поворачивать, разрушать и удалять. Хотя модификация невидимых ребер может оказаться удобной, она также и опасна, поскольку существует вероятность сделать гораздо больше, чем это необходимо.
Видимость ребер влияет на несколько вещей в модели. При моделировании видимые ребра определяют границу для выборки многоугольником. При визуализации визуализируются только видимые ребра, когда граням, которым они принадлежат, задается материал в виде проволочного каркаса (см. рис. 13.35). Скрытые ребра влияют также на ориентацию отображенных материалов грани. Однако в большинстве случаев единственными отличиями между видимыми и невидимыми ребрами являются организационная и визуальная ясность. Невидимые ребра часто делают модель более ясной и понятной, поскольку отображаются только рельефные линии. Кроме того, невидимые ребра увеличивают скорость перерисовки за счет уменьшения количества линий.
Невидимые ребра можно отображать при помощи опции Edges Only (только ребра), которая находится ниже Display Optimization (оптимизация отображения) в панели Display (см. рис. 13.36). Если планируется работа с ребрами, перед выполнением основного редактирования необходимо войти в панель Display и выключить Edges Only. Опция Edges Only на визуализацию влияния не оказывает.
СОВЕТ
Отображением ребер можно точно управлять посредством опций Visible (видимое) и Invisible (невидимое). Решите, какие ребра должны быть видимыми, выберите их и щелкните на Invisible или на Visible для изменения их состояния. В то время, как выбор видимых ребер с целью превращения их в невидимые достаточно прост, обратная задача может таковой не оказаться. Помните, что в отличие от скрытых граней и вершин, невидимые ребра можно выбирать даже в том случае, если они не отображаются. Для получения уверенности в том, что выбирается, выключите опцию Edges Only. Эта процедура упрощается за счет использования клавиатурной альтернативы Edges Only; при этом нет необходимости покидать панель Modify.
Несмотря на то, что присвоение видимости вручную обеспечивает управление, подобная процедура может оказаться утомительной. AutoEdge анализирует выборку ребер и сравнивает нормали граней, совместно использующих эти ребра, с сопровождающим значением Angle Threshold. Как и для AutoSmooth и Explode, чем выше значение Angle Threshold, тем больше ребер можно сделать невидимыми. Чем выше значение порога, тем больше количество острых углов попадает в диапазон.
СОВЕТ
При работе с выборкой доступно управление размером части модели, которая вычисляется при текущем значении Angle Threshold. Это вычисление может играть важную роль, если различные части модели имеют различные острые углы, а общий AutoEdge отображает в конкретной области либо очень много или очень мало.
Хотя ребра сами по себе не являются геометрической реальностью, 3DS МАХ позволяет создавать грани на базе ребер посредством Extrusion (вытягивание) и Dividing (разделение).
Вытягивание (extruding) ребра подобно вытягиванию грани за исключением того, что создается только одна сторона. Каждое вытянутое ребро перемещает вершины ребра и создает две новых грани. Направление вытягивания определяется плоскостью, образованной выбранными ребрами. Соседние ребра, лежащие на плоскости, надежно вытягиваются под углом 90° к этой плоскости.
Вытягивание отдельных ребер непредсказуемо, поскольку две вершины не могут определить плоскость. Функция пытается определить направление вытягивания на основе граней, прилегающих к ребру, но это редко создает необходимые углы. Аналогичная трудность возникает при вытягивании несоприкасающихся выборок ребер. Лучшим методом вытягивания ребер является работа с соприкасающимися ребрами. Каждая соприкасающаяся группа ребер определяет собственное направление вытягивания.
СОВЕТ
Как и для Face Extrude вытягивание можно выполнять в интерактивном режиме с помощью мыши или счетчика величины. Каждое перетаскивание или освобождение мыши или счетчика создает дополнительное вытягивание, за счет чего можно быстро создавать полосы вытянутых граней.
СОВЕТ
Функция Edge Divide влияет на одно ребро за счет вставки новой вершины в среднюю точку ребра и разделения первоначальной грани на две. Если ребро совместно используется двумя гранями, разделяются обе, в результате чего создается четыре грани. Вновь созданные ребра всегда становятся видимыми, поэтому можно наблюдать за результатами. Edge Divide подобна функции Edge/Refine из EditSpline, и можно считать, что она выполняет "вставку вершины в среднюю точку". Независимо от того, как ее называть, она обладает возможностью создания вершины и граней в местах расположения средних точек. Показанная на рисунке 13.37 геометрия была создана из Box при помощи Edge Divide и последующих масштабирующих трансформаций вершины.
Разделение ребер представляет собой удобный способ введения вершины и добавления грани в области каркаса, которые необходимо объединить. Многие модели, созданные в других программах, имеют некорректную укладку мозаикой и могут иметь неодинаковое количество вершин в точках перехода (примером этого является экспорт в 3DS в рамках AutoCAD сплошных ACIS). Для правильного сглаживания такого рода поверхностей необходимо создавать вершины с целью балансировки количества вершин в сочленениях. После достижения в месте перехода одинакового количества вершин вершины с обеих сторон следует объединить для продолжения сглаживания и ликвидации шва.
Новые грани, созданные при помощи Divide, наследуют от предка координаты отображения, но не приобретают каких-либо сглаживающих групп. Если модель использует сглаживание, сглаживающие группы необходимо присвоить после завершения разделения ребер.
ПРИМЕЧАНИЕ
Несмотря на кажущуюся незначительность, функции 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.
Несмотря на то, что 3DS МАХ определяет лишь основы лоскутного моделирования, с имеющимися инструментами можно создать весьма впечатляющие работы. В настоящей главе рассказывается о лоскутном моделировании и освещаются следующие его аспекты:
В 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.
ПРИМЕЧАНИЕ
Деление лоскута делит каждый выделенный лоскут на четыре. Новые лоскуты, независимо от их типа - Quad или Tri, имеют ребра в средних точках ребер исходного лоскута. Как показывает рисунок 14.8, это не означает, что учетверяется целый объект. Делятся только лоскуты, которые граничат с делящимися ребрами, и многие делятся только один раз.
Опция Propagate обеспечивает деление лоскутов так, чтобы поддержать последовательность вершин и ребер. Если только вы не желаете получить визуального разрыва модели, то при делении должны всегда распространять деления лоскута. Без распространения через ребро нельзя будет продолжить сглаживание. Причина проста - новым вершинам не с чем соединяться. Визуальным эффектом будет гребень на шве, поскольку сглаживание не может быть продолжено через ребро. Это сделает область похожей на "клапан", который вот-вот будет сорван. Как показано на рисунке 14.9, соседние лоскуты при этом остаются нетронутыми.
Лоскуты создаются множеством способов. Можно создать их как исходные прямоугольники, направить на лоскуты вывод Extrude или Lathe, конвертировать в лоскуты ЗО-примитивы. Наконец, 3DS МАХ дает возможность преобразовать в лоскут любой произвольный каркасный элемент. Это достигается при помощи двух разных типов лоскутов Безье - прямоугольного (бикубического) и треугольного. Данные базовые формы обеспечивают взаимное преобразование лоскутов и каркасов.
Достаточно часто будет возникать необходимость работать с различными типами лоскутов. Когда каркасы конвертируются в лоскуты (через добавление модификатора EditPatch), они всегда превращаются в TriPatch, даже если их топология ближе к четырехугольникам. Более предпочтительные QuadPatch формируются как результат параметра создания. Большая часть стандартных примитивов, как и сплайны, полученные из моди-фикаторов Extrude или Lathe, порождают QuadPatch. Рисунок 14.10 показывает результирующую геометрию лоскута сразу после придания примитивам модификатора EditPatch.
СОВЕТ
Как показывает рисунок 14.10, каждый примитив, за исключением Sphere и GeoSphere, преобразуется в QuadPatch. Сферы конвертируются в TriPatch ввиду того, что QuadPatch "прищипывает" полюса (условие, которое можно воспроизвести за счет вращения полукрущ как лоскута). Лоскутная плотность примитивов фиксирована. Ее можно увеличить с использованием функции Subdivide из EditPatch вместе с опцией Propagate. Это не должно вызывать неудобств благодаря тому, что EditPatch должен добавляться в начале преобразования примитивов в лоскуты.
И Extrude, и Lathe имеют опции для вывода лоскутов вместо каркасов. В этой связи они становятся двумя наиболее удобными способами начала лоскутного моделирования. Рисунок 14.11 показывает лоскутные модели, начинавшиеся как сплайны и превращенные в QuadPatch посредством Extrude и Lathe.
Сплайны являются естественными стартовыми точками для лоскутных моделей, поскольку оба их типа основываются на одной и той же геометрической форме - сплайне Безье. Сплайны можно преобразовать в лоскуты за счет применения модификаторов Extrude или Lathe. Lofter, к сожалению, лоскутов не порождает.
СОВЕТ
Модификатор Lathe очень полезен при создании базовых форм для лоскутного моделирования. Lathe (получение объектов за счет вращения) можно рассматривать как гончарный круг, вытачивающий сплайн в мягкой, податливой глине лоскута. При работе с Lathe сложно направлять его нормали. В отличие от каркасов, перенаправить нормали лоскута нельзя. Если нормали лоскута показывают не в ту сторону, необходимо либо изменить способ создания нормалей, либо переориентировать существующий лоскут, либо использовать двусторонний материал. Последнего следует избегать, поскольку отключение Backface Cull затрудняет все, в особенности базовое редактирование лоскута.
Лоскутные объекты, сформированные через 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, лоскуты, добавленные к примитивам вдоль первоначально покрытых ребер, всегда представляются как ребра. Рисунок 14.16 рассматривает ситуацию, при которой вершина цилиндра была удалена и вновь показавшимся ребрам даны QuadPatch. Поскольку вершина цилиндра изначально была "жесткой", ребро существует даже несмотря на дальнейшее объединение с лоскутными вершинами. Данная ситуация является уникальной, поскольку прерывистость сглаживания нельзя ни ввести для других лоскутов, ни устранить для этих. Памятуя о вышесказанном, прерывистость можно избежать или использовать для своей выгоды, когда требуется представить разрыв в сглаживании, но вы не хотите конвертировать лоскутную модель в каркасную (вынужденно добавляя модификатор Smooth или EditMesh).
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 модификатора EditPatch (см. рис. 14.17) предоставляет возможность добавления других лоскутных объектов и сохранения управления плотностью каркаса всего лоскутного объекта. При моделировании на других уровнях принято часто возвращаться на уровень Object с целью настройки параметра Steps для более быстрого или более точного моделирования вершин.
ПРИМЕЧАНИЕ
Параметр 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, а не трансформацию для выполнения масштабирования базового объекта.
ПРИМЕЧАНИЕ
Уровень Patch (см. рис. 14.20) обеспечивает основы управления лоскутом. Здесь можно производить различные трансформации, изменять состояние внутренних вершин и "хирургически" отсоединять, удалять и делить. Интересно, что некоторые операции уровня лоскута (подобные удалению и делению) оказывают куда меньшее влияние, чем трансформации на уровне вершины или ребра. На практике уровень Patch используется в основном для отсоединения и деления лоскутов, а также определения статуса внутренних вершин.
При перемещении, вращении или масштабировании лоскута на самом деле трансформируются все его вершины. В общем случае работа на уровне Patch ограничена начальной широкой настройкой. Более тонкие детали обеспечиваются на уровне Edge и особенно на уровне Vertex. Удаление на уровне Patch является наиболее управляемым методом удаления лоскутов, поскольку удаляется только то, что выделено - лоскуты, которые совместно используют ребра, остаются.
ПРЕДУПРЕЖДЕНИЕ
При трансформации лоскутов следует внимательно следить за статусом внутренних вершин. При использовании метода по умолчанию Auto Interior внутренние вершины всегда перемещаются с лоскутом. В случае активности Manual Interior внутренние вершины замораживаются на месте и перемещаться не могут. Рисунок 14.21 показывает эффект масштабирования лоскутов, у которых для внутренних вершин установлен режим Manual Interior.
ПРЕДУПРЕЖДЕНИЕ
В отличие от EditMesh отсоединение лоскута всегда приводит к созданию нового объекта. Отсоединение является единственным способом "клонировать" лоскут из модели, поскольку стандартное клонирование модификатором EditPatch не поддерживается. В отличие от EditMesh опция сохранения нового лоскута как элемента недоступна. Если необходимо, чтобы новый лоскут был частью того же самого объекта, следует использовать Attach на уровне Patch Object.
Подобно Attach Detach обеспечивает опцию Reorient, которая пытается переместить отсоединяемый объект в выровненную позицию на активной сетке. Однако благодаря природе лоскутов результат использования Reorient обычно нежелателен и вместо опции Reorient лучше применять стандартную функцию Align.
Работа с ребром лоскута подобна одновременному манипулированию двумя вершинами. Ребра бывает трудно идентифицировать, поскольку практически всегда требуется видеть решетку, чтобы убедиться в правильности выбора ребра. Обратите внимание на то, что на рисунке 14.22 нет функции Delete, поскольку удалять на уровне Edge нельзя. На практике уровень Edge обычно используется для добавления новых лоскутов.
ПРЕДУПРЕЖДЕНИЕ
Вы удивитесь, что можно сделать путем трансформирования и особенно вращения ребер. На рисунке 14.23 показано формирование волн на гладкой ленте простым поворотом ребер как индивидуальных выборок. В данном случае не переместилась ни одна вершина - они все еще сохраняются на исходной гладкой плоскости. Однако внутренние вершины сместились благодаря самой природе лоскутов Безье.
Как и лоскуты, ребра не могут влиять на внутренние вершины, которые находятся в режиме Manual Interior. Данные вершины остаются вне трансформации ребра. Перевод лоскута в режим Auto Interior возвращает внутренние вершины к их положениям по умолчанию и трансформации ребер теперь будут оказывать на них влияние.
ПРЕДУПРЕЖДЕНИЕ
Главная причина перехода на уровень 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 (см. рис. 14.28) - это то, где происходит большая часть лоскутного моделирования. Дело в том, что Vertex является единственным уровнем, на котором доступны критические тангенциальные вектора. В отличие от каркасных вершин лоскутные вершины и их вектора оказывают значительное влияние на окружающую поверхность. Фактически настройка вершин одного лоскута похожа на трансформацию вершин одного каркасного элемента с опцией Affect Region.
СОВЕТ
Плотность лоскута, управляемая на объектном уровне параметром Steps, не оказывает влияния на редактирование вершин. Низкое значение количества шагов может испортить эффект редактирования, так как граней для показа результирующей кривизны окажется недостаточно. Проводя окончательное редактирование модели, следует увеличить Steps так, чтобы теневые нюансы, диктуемые касательными, во время редактирования были видны. Помните, что параметр Steps всегда без вреда можно уменьшить. Высокие значения параметра не оказывают влияния на размер файла, изменяется только требуемый объем RAM.
Фильтры вершин весьма полезны, хотя их флажки могут сбивать с толку. Когда включены обе опции (состояние по умолчанию), можно выделять ручки как вершин, так и векторов. Щелчок на Vertex отфильтровывает вершины таким образом, что можно выделять только векторные ручки, а щелчок на Vectors отфильтровывает векторы так, что можно выбирать только вершины. Несколько странное переключение опций предотвращает отфильтро-вывание и векторов и вершин, поскольку в этом случае выбирать было бы нечего. Но даже, если перед выбором фильтровать Vertices, нет возможности влиять на векторы, потому что они отображаются только тогда, когда их вершины выбраны. Для работы только с векторными ручками следует выполнить Select All и затем установить Filter Vertices. В основном фильтры используются тогда, когда векторные ручки совпадают или находятся близко к вершинам и требуется гарантировать выбор чего-то одного.
Практически все редактирование лоскутов связано с трансформацией вершин и ^ ^ их тангенциальных векторов. Каждую вершину реально можно представлять как кластер точек, но не одну точку, поскольку каждая вершина имеет векторную ручку для каждого ребра, проходящего через вершину. Когда вы двигаете, вращаете или масштабируете вершину лоскута, вы также трансформируете ее ручки. Вращение и масштабирование - операции, которые ничего не делают с отдельными вершинами каркасных элементов, - оказывают большое влияние на вершины лоскута. Векторные ручки можно настраивать только тогда, когда их вершины выбраны. Обычно выбирают несколько вершин и настраивают их ручки независимо.
При настройке тангенциальных ручек вершин важно помнить, что с ними нельзя выполнить анимацию. Лоскутная анимация подобъектов всегда имеет место с модификаторами XForm или Linked XForm и оба видят только вершины. При разработке лоскутной модели для анимации вышесказанное следует принимать во внимание. Если необходимо выполнить анимацию векторной ручки, можно поделить лоскут и выполнить анимацию результирующих вершин. Вы обнаружите, что новые вершины реагируют подобно ручкам. Можно выполнить анимацию всех векторных ручек вершин, применив масштаб XForm или вращение одной вершины. После этого вектора масштабируются и вращаются вокруг вершины унифицированным способом, не затрагивая самой вершины.
СОВЕТ
Векторные ручки являются интересными и весьма ценными управляющими элементами, поскольку обычно влияют на кривизну двух лоскутов (тех, которые совместно используют ребро). Это касается всех векторных ручек. Вектор представляет собой что-то вроде "линии жизни", которая визуально показывает, какой вершине принадлежит ручка. Все дело в положении последней. Для векторных ручек роль играет только положение. При вращении или масштабировании векторной ручки последняя просто вращается или масштабируется вокруг вершины, которой принадлежит.
СОВЕТ
В случае применения опции Coplanar при манипулировании одной ручкой все ручки изменяются для поддержания копланарных отношений. Единственный способ перемещения одной ручки и не затрагивания других заключается в масштабировании. Вершины, которые имеют только два вектора (находящиеся во внешних углах) всегда обрабатываются как Corner, поскольку для определения плоскости требуется три точки. Хотя изменение вершины с Corner на Coplanar часто незначительно меняет кривизну, изменение с Coplanar на Corner не оказывает никакого начального эффекта на поверхность лоскута.
СОВЕТ
Когда используется локальная система координат, трансформация вершин лоскутов отличается от трансформации лоскутов или ребер. Если 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 следующие модификаторы в случае применения всегда преобразуют лоскуты в каркасы:
В результате очень благоразумно создать набор кнопок, включающих только те модификаторы, которые могут работать с лоскутными объектами. Рисунок 14.31 показывает набор кнопок "Лоскутное редактирование", который включает команды как для редактирования лоскутов, так и для редактирования сплайнов, поскольку и то и другое хорошо уживается вместе.
Единственным модификатором, связанным с поверхностью, который можно применять при редактировании лоскутов, - это UVW Map. Дело в том, что объектные классы как каркасов, так и лоскутов, принадлежат к "отображаемому" классу, который позволяет модификаторам хранить отображение, не влияя на топологию. К сожалению то же самое нельзя сказать о сглаживании, материалах и нормалях, что указывает на очень значительный аспект лоскутного редактирования - гладкость модели полностью зависит от ее тангенциаль-ности и конструкции.
Модификаторы можно добавлять в историю редактирования лоскутов в основном тем же способом, по которому они добавляются к каркасам. Не забывайте избегать модификаторов Optimize, Relax и MeshSmooth. Хотя модификаторы действуют для каркасов и лоскутов одинаково, их эффект обычно различный. И каркасы, и лоскуты модифицируются своими вершинами. Лоскуты отличаются тем, что их вершины являются управляющими точками и не принадлежат поверхности. Таким образом модификатор, манипулирующий вершинами лоскутов, очевидно оказывает более сильное влияние на поверхность, чем модификатор, манипулирующий вершинами каркасных элементов. Рисунок 14.32 показывает перемещение модификатора Displace по диагонали поверхности лоскута. Во всех четырех кадрах модификатор был на одном уровне и его значения не изменялись. Причина существенно разного эффекта состоит в том, что управляющие вершины лоскута были смещены и поскольку они определяют поверхность лоскута через интерполяцию, то поверхность также значительно сместилась.
ПРИМЕЧАНИЕ
Переключение с лоскутного моделирования на каркасное происходит безболезненно благодаря тому, что сложность поверхности модели не меняется. Для определения результирующего каркаса используется поверхность, определенная параметром Steps из EditPatch. Добавление дополнительного модификатора EditPatch после каркасного редактирования значительно увеличивает сложность геометрии модели, поскольку каждая грань превращается в TriPatch. В идеале вы должны выполнить все каркасное редактирование после лоскутного и вернуться к лоскутному редактированию, перейдя ниже по стеку Edit History.
ПРИМЕЧАНИЕ
При описании модификаторы организованы в соответствии с тем, как они обрабатывают геометрию, переданную им в стеке. Это важная черта, поскольку некоторые модификаторы будут преобразовывать сплайны и лоскуты в каркасы, когда это не требуется. Модификаторы классифицируются на работающие с любой геометрией, работающие только с каркасами, работающие исключительно с трансформациями и работающие с поверхностями. Такая классификация предпринята для того, чтобы подчеркнуть, что можно и чего нельзя сделать с лоскутными и сплайновьши моделями. Таким образом глава разделена на следующие разделы:
Некоторые из наиболее разносторонних модификаторов - это работающие с различной геометрией. К такому типу принадлежат модификаторы осевых деформаций (Bend, Taper, Twist, Stretch, Skew), описанные в главе 8, "Моделирование на уровне объектов".К этому списку мы добавляем Displace, Noise, Wave, Ripple и FFD. Каждый из них немного сложнее модификаторов, описанных ранее, но каждый привносит с собой невероятные возможности моделирования.
Displace (смещение) представляет собой модификатор, который толкает или тянет вершины модели в соответствии с координатами отображения. В качестве координат отображения могут рассматриваться применяемые в Modifier Stack прежде, либо применяемые самим модификатором 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 наполовину, но не форсирует отрицательного смещения.
ПРИМЕЧАНИЕ
Опция 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 становится похожим на случайные "вмятины" в модели или на вытягивание поверхности модели "магнитом". Рисунок 15.7 показывает то, как сферический гизмо (неодинаково масштабированный, чтобы быть эллипсоидом) идеально подходит для указанной аналогии, независимо от того, имеет ли он позитивное или негативное влияние.
При локализации эффектов (подобных искажению носа) параметр Decay (ослабление) становится очень важным, поскольку не дает Displace возможности оказывать влияние на весь объект. Decay используется для ограничения степени влияния Displace. По мере увеличения Decay влияние Strength уменьшается. Значения для Decay подобрать непросто, особенно потому, что они одновременно влияют и на Strength. Лучше всего увеличивать Decay и затем Strength до тех пор, пока не будет достигнут желаемый результат.
СОВЕТ
Опции укладки мозаикой для Displace влияют как на существующее, так и на применяемое отображение. Значения, большие одного, приводят к повторению узора внутри элемента. Если используется существующее отображение, то учитывается предыдущее значение мозаики, но только для первого повторения узора. Таким образом предыдущая мозаика обладает эффектом масштабирования области элемента Displace. Предыдущая мозаика может вводить в заблуждение и применять ее не рекомендуется.
При работе с существующим отображением текущий Displace Map Туре влияет на его интерпретацию. Если установить Displace Map Type в Planar, только первый шаг мозаики имеет отношение. Таким образом можно управлять размерами предыдущего отображения, выбирая форму элемента Displace.
Опция Apply Mapping включается тогда, когда необходимо быстро применить отображение внутри Displace в качестве актуальных координат для материалов (или будущих модификаторов). С этой целью обеспечивается только поле W Tile, поскольку оно не оказывает влияния на сам Displace. Опции Alignment внутри Displace идентичны таким же опциям модификатора UVW Mapping.
СОВЕТ
На практике для получения необходимых деталей для Displace приходится использовать предельно мелкие элементы каркаса. Данные детали могут получаться из параметров поверхности объекта, мозаики EditMesh или из модификатора MeshSmooth. После того, как Displace выполняет свою деформацию, за ним часто следует модификатор Optimize (обсуждаемый позже в разделе "Каркасные модификаторы"), сокращающий накладные расходы на геометрию. Модификатор Smooth также является частым спутником, следующим за Displace или Optimize, обеспечивая правильное назначение групп сглаживания для вновь смоделированной геометрии. Таким образом распространен следующий порядок применения Displace в стеке модификаторов:
MeshSmooth, Displace, Optimize, Smooth.
Модификатор Noise (шума) неоценим для огрубления модели случайным и фрактальным образом. Иногда необходимо, чтобы поверхность модели качалась, дрожала и изгибалась, но реальное моделирование деформации подобного типа заставляет вас съежиться. Шум прекрасно подходит для оказания влияния на модель без вреда для ее тщательного моделирования. Шум также идеален для создания фрактальных ландшафтов и неровных поверхностей, подобных смятым бумажным мешкам или гофрированной бумаге. Модификатор Noise похож на контроллер Noise за исключением того, что эффект управляется трансформацией гизмо в трехмерном пространстве, а не временем.
Параметры Strength управляют величиной шумового смещения вдоль заданных осей. Значение Strength -это максимальная дистанция (в единицах), на которую будет происходить смещение (когда Scale установлено в 100%). Каждая вершина смещается в соответствии с осевым значением Strength и глобальными параметрами Seed и Scale. Применение масштаба вдоль одной оси перемещает вдоль нее все вершины.
Нижний левый (Тор) вид на рисунке 15.8 показывает, что шум не виден, если смотреть вдоль активной оси, в данном случае оси Z. Эффект виден при просмотре с двух других сторон. Noise выполняет свое стандартное смещение - синусоидальную кривую по осям Х и Y. Когда каждой оси соответствует одно и то же значение Strenght, то как показано на верхних картинках рисунка 15.8, вдоль каждой оси посылается синусоидальная волна. Начальная фаза кривой управляется значением Seed, поэтому изменение значения Seed является быстрым способом придания сходным объектам разных шумовых смещений. Ограничиться смещением вдоль одной оси невозможно (для того, чтобы это сделать смотрите модификатор Wave).
ПРИМЕЧАНИЕ
Параметр Scale влияет на значения Strength вдоль всех осей. Его следует рассматривать как способ настройки всех трех осей. Scale начинается со 100 (процентов) с нижними значениями, уменьшающими смещение кривой, и верхними значениями, увеличивающими смещение. Если требуется сохранить дистанцию смещения, то по мере сглаживания кривой следует компенсировать гладкость за счет увеличения Strength. To же самое справедливо для нижних значений.
Когда включена опция Fractal, то к исходно гладкой синусоидальной кривой добавляется фрактальная кривая. Результат такого добавления показан на рисунке 15.9. На практике это является наиболее распространенным применением модификатора Noise, поскольку создание и анимация подобного эффекта вручную предельно утомительно. С Noise данный эффект является просто делом интерактивной настройки нескольких параметров. Фрактальные ландшафты обычно генерируются только вдоль одной оси, поскольку использование двух или трех осей сместило бы вершины горизонтально. Параметр Iterations управляет тем, сколько "пиков" образуется вдоль синусоидальной кривой, где 1.0 не делает ничего (потому что начальная синусоидальная волна и является первой итерацией), и 10.0 дает девять дополнительных вариаций. Будьте внимательны с большими каркасами, поскольку возрастание итераций увеличивает время вычислений. Сопровождающий параметр Roughness настраивает изломанность фрактальной кривой и действует как вертикальная настройка смещения вершин. Чем выше Roughness, тем резче шум.
СОВЕТ
В отличие от контроллера Noise не существует графа, который бы описывал функцию шума. Вместо этого кривую шума достаточно хорошо представляет гизмо модификатора. Манипулирование центром гизмо очень похоже на настройку значений Seed или Phase, и анимация элемента порождает деформации гладкости. С целью влияния на фазу переместите центр перпендикулярно оси, которую хотите модулировать (например, если это ось Z, переместите центр в плоскости XY). Масштабирование гизмо похоже на одновременную настройку параметров Scale и Strenght. Вращение гизмо изменяет направление вытягивания вершин. Для анимаций лучше всего использовать гизмо и его центр, а не Seed, который приводит к очень резким изменениям на интервал. Как показано на рисунке 15.10, анимация гизмо шума и его центра предоставляет множество интересных возможностей.
Анимация шума управляется опцией Animate Noise. Когда опция включена, Phase упраляет циклом анимации смещаемых кривых. Когда Animate Noise включается впервые, в каждый конец активного сегмента времени помещается ключ. Потом можно обычными способами добавить дополнительные ключи. Если Animate Noise отключить, Track View будет игнорировать дорожку. При включенном Animate Noise ключи возвращаются в активное состояние. Хотя сопровождающий параметр Frequency анимировать нельзя, однако он влияет на "скорость" заданной фазы.
ПРИМЕЧАНИЕ
Как показано на рисунке 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 за исключением того, что действует в локальном, а не мировом пространстве. Он очень похож на модификатор 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 (FFD) являются относительно недавним дополнением 3DS МАХ, которые можно бесплатно получить из www.ktx.com после заключения юридических соглашений с Viewpoint DataLabs (владелец патента на концепцию FFD). В поставку включены три модификатора FFD с различными плотностями решеток (2 х2 х2,3 хЗ х3и4 х4х4). Модификаторы FFD действуют на вершины независимо от того, каркасы это, лоскуты или даже сплайны.
ПРЕДУПРЕЖДЕНИЕ
В принципе смещение FFD элегантно и просто. На поверхности размещается решетка управляющих точек и при перемещении управляющей точки поверхность деформируется. Как показано на рисунке 15.15, при использовании решетки 4х4х4 деформация соотносится с кривой Безье. При решетке 4х4х4 конечные управляющие точки "приклеены" к поверхности, а промежуточные управляющие точки при перемещении формируют кривую Безье. Модификатор 3х3х3 работает в основном похоже, за исключением того, что в нем имеется только одна средняя точка для интерполяции. Модификатор 2х2х2 имеет лишь угловые управляющие точки и генерирует линейную интерполяцию.
ПРИМЕЧАНИЕ
Сила 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 (оптимизировать) является главным инструментом 3DS МАХ для сокращения количества граней. Это также метод для ускорения перерисовки при манипулировании большими моделями. В любом случае Optimize анализирует угол каждой грани с ее смежными гранями и сравнивает этот угол с пороговым значением. Как показывает рисунок 15.19, Optimize принято использовать после того, как другой модификатор сгенерировал или затребовал большое количество граней (например, MeshSmooth или Displace). Оптимизированный результат с оригиналом сравнивается легко за счет временного выключения пиктограммы лампочки модификатора Optimized.
СОВЕТ
Параметр Threshold является ключевым в Optimize, поскольку управляет тем, какие грани будут удалены. Грани внутри порога определяются таким же методом, что и описанный для функций AutoEdge, AutoSmooth и Explode модификатора EditMesh в главе 13, "Каркасное (mesh) моделирование".
Face Threshold оказывает влияние на грани, которые совместно используют три ребра с другими гранями. Значение Edge Threshold управляет оптимизацией только граней с открытыми, неразделенными ребрами. Значение для ребер не может быть выше, чем для граней. Более высокие значения просто игнорируются. Значение по умолчанию 1.0 для ребер оптимизирует коллинеарные ребра. Как показывает рисунок 15.20, различные значения для ребер и граней приводят к различным результатам. Если вы хотите сохранить профиль модели. Edge Threshold должен быть очень низок. При попытке добиться максимальной оптимизации оба порога должны быть одинаковыми.
СОВЕТ
Значение Bias управляет формой результирующих граней, со значением 1.0, практически устраняющим оптимизацию, и 0.0, не имеющим эффекта. Низкие значения (меньшие 0.1) устраняют трещины, тогда как высокие значения оставляют достаточное количество вершин для других деформаций. Значение Bias по умолчанию 1.0 устраняет длинные ленточные грани, но если требуется максимальная оптимизация, Bias следует установить в НУЛЬ.
Optimize уникален среди других модификаторов 3DS МАХ, поскольку предоставляет возможность иметь различные значения для интерактивной и окончательной визуализации. Это означает, что сложные модели можно оптимизировать для манипуляций отображения на самом высоком уровне детализации. На рисунке 15.22 показано, что одна и та же модель просматривается с низким количеством граней и визуализируется с исходным количеством. При переключении видовых окон между Level 1 и Level 2 параметры изменяются (они оба имеют одни и те же начальные значения по умолчанию). Это означает, что если для видовых окон используется Level I, необходимо временно переключать видовое окно на Level 2 для редактирования значений. Причина проста: при изменении значений требуется видеть результаты. Применение описанного метода может значительно ускорить работу с насыщенными моделями. Следует помнить, что пока в стеке модификаторов имеется Optimize, вся модель обсчитывается и сохраняется на диске.
СОВЕТ
Опции Preservation для Material Boundaries и Smooth Boundarues должны тщательно учитываться, если модель использует подобъектный материал или импортируемые установки групп сглаживания. При отмеченной Preservation Optimize обрабатывает каждый ID материала или группу сглаживания как независимую область. Удивительно, что ребра в тех местах, где сходятся различные области, все еще имеют совпадающие вершины. Как упоминалось, материалы и группы сглаживания обычно имеют важные причины для присвоения и часто определяют характерные области модели. Таким образом, если нужно, чтобы эти характерные области оставались после оптимизации, следует использовать Preservation. Рисунок 15.23 отражает влияние, которое оказывает на модель применение и неприменение этой опции для случая групп сглаживания.
Опция Auto Edge применяется для сохранения состояния видимых ребер модели как можно более близким к тому, что было до оптимизации. Однако Auto Edge не является эквивалентом сходно названной функции EditMesh. Предназначение функции EditMesh состоит в том, чтобы предотвратить внезапное появление прежде невидимых ребер. Опция Auto Edge полностью служит визуальной ясности и не влияет на количество результирующих граней.
Модификатор MeshSmooth появился в Выпуске 1.1 и обеспечивал возможность округления углов в каркасных моделях. MeshSmooth улучшает геометрию, подбирая мозаичность ребер каркаса таким образом, который значительно более эффективен способа, поддерживаемого EditMesh. Добавление MeshSmooth к модели с небольшим количеством граней часто похоже на добавление шагов в лоскутных или сплайновых моделях (см. рис. 15.24).
Как показано на рисунке 15.25, MeshSmooth создает дополнительные грани, в основном "смещая" каждое ребро в обе стороны и "подгоняя" результат. В результате каждая исходная вершина является центром нового многоугольника, количество сторон которого совпадает с количеством ребер, изначально совместно использовавших вершину. Иногда ребра образуют очень красивые узоры.
Кнопки Iterations выполняют дополнительные вычисления MeshSmooth. Каждая итерация - это то же самое, и что добавление к стеку еще одного модификатора MeshSmooth. Однако следует проявлять осторожность, поскольку с каждой итерацией число вершин учетверяется (по меньшей мере). Модель может стать очень большой, причем достаточно быстро.
СОВЕТ
Параметр 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 (уменьшить напряжение) влияет на видимую "напряженность" поверхности каркаса, перемещая вершины ближе или дальше от вершин смежных граней. Рисунок 15.27 показывает то, как вершины мигрируют одна от другой для целей смягчения каркаса. Параметр Relax делает результирующую ослабленную поверхность вогнутой при значениях от 0 до 1.0 и выпуклой при значениях от -1.0 до 0. Параметр Iterations выполняет дополнительную итерацию Relax. Как показывает рисунок 15.28, несколько итераций создают эффекты "уплотнения".
По мере миграции вершин отдельные элементы внутри объекта оттягиваются от других. Как показывает рисунок 15.28, предотвратить подобное можно посредством опции Keep boundary points fixed (сохранить точки границы фиксированными). В отличие от MeshSmooth, итерации в Relax не дорогостоящи, потому что геометрия не усложняется, а только перемещаются существующие вершины. Накладные расходы при большом количестве итераций очень малы, если вообще возникают.
Существует несколько модификаторов, разработанных для простого перемещения, вращения и масштабирования. Причина создания подобных модификаторов заключается в часто возникающем желании иметь трансформации в стеке модификаторов, а не вне его.
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 Selection подобна первичному размещению центра гизмо стандартного модификатора. Первое присвоение определяет положение и последующие настройки выборки его не изменяют.
СОВЕТ
Объем выборки можно определить в виде коробки, цилиндра или сферы. Каждый выбор порождает новый элемент, подобный различным формам модификатора UVW Map. Поскольку это - гизмо, его можно позиционировать, ориентировать и масштабировать по своему желанию, разрешая использовать другие формы, например, прямоугольники, эллипсы и эллипсоиды.
Stack Selection Level определяет, какой уровень геометрии выбирается (объекты, грани или вершины). По умолчанию принимается уровень Object и выбирается весь объект независимо от размеров элемента. Поскольку выбирается весь объект, остальные элементы управления Volume Select эффекта не оказывают - выбрано все. На уровне объекта вас мало интересует позиция элемента, его размер или форма, все равно всегда выбирается весь объект. Использование Volume Select с несколькими объектами производит выбор объема на уровне граней или вершин. Если оставить объектный уровень, выбираются все объекты независимо от других опций модификатора.
Selection Method определяет, как обрабатывается предыдущая выборка стека. По умолчанию опция установлена в Replace, что отменяет любую текущую выборку стека и делает текущим выбором объем элемента. Опции выборки вступают в силу со следующими опциями, поскольку Add и Replace взаимодействуют с текущей выборкой стека. Это означает, что можно использовать Volumes для булевых методов выборки (см. рис. 15.30). В приведенном примере первый модификатор заменен, второй вычтен и третий добавлен. Затем был добавлен XForm, переместивший и отмасштабировавший результирующую выборку. Volume Selects предоставляет возможность исходной коробке максимизироваться, не искажая формы выборки или конечной модификации.
ПРИМЕЧАНИЕ
В отличие от уровня выборки Object, уровни граней и вершин работают с Selection Method и Volume Type. Уровень граней также учитывает выбор Window и Crossing опции Selection Method (уровень вершин считает Window и Crossing одним и тем же). Если в стеке существует несколько подобъектных выборок, влияние оказывается только на текущий Selection Level. Выборка объема не влияет на выборки стека различного типа (ребра или грани при выборе вершин например), поэтому с ними можно взаимодействовать будущих моди-фикаторах.
СОВЕТ
Можно выбирать грани, базируясь на вершинах, или выбирать вершины, основываясь на гранях. Для этого размер гизмо Volume Select определяется по граням или вершинам и затем переключается на что-то другое.
Опции Alignment быстро ориентируют гизмо объема подобно тому, как это делается модификатором UVW Mapping. Установите размеры гизмо в размеры объекта в соответствии с текущей ориентацией и масштабом объекта. Опция Reset переориентирует гизмо так, чтобы его ось Z совпадала с осью Z объекта, и устанавливает масштаб так, чтобы гизмо удовлетворял размерам объекта.
В главе 8 описывались основы модификатора XForm и его использование для неравного масштабирования модели. Хотя это и правда, но реальное применение модификатора XForm заключается в выполнении анимации подобъектных выборок и сохранения трансформаций элемента как редактируемых действий с возможностью анимации.
В случае присвоения модификатора XForm происходит немедленный переход в его подобъектный режим гизмо. Это не должно быть неожиданностью, поскольку цель XForm заключается во взаимодействии с трансформациями Move, Rotate и Scale. При работе с целым объектом результат трансформации элемента XForm идентичен стандартной трансформации. Однако трансформация вершин, а не определения объекта, весьма отличается. Это означает, что независимо от того, насколь сильно вы поворачиваете объект, локальная ось сохраняет постоянную ориентацию. При перемещении гизмо XForm производится перемещение вершин объекта, а точка вращения объекта остается неподвижной. При масштабировании элемента XForm вы масштабируете вершины, а дорожки Scale объекта не затрагиваются. Поскольку локальные оси не изменяются, то граничная ориентация коробки (видимая в режиме отображения Box) также не изменяется.
ПРИМЕЧАНИЕ
Центр гизмо XForm действует как точка вращения гизмо. При манипулировании гизмо у вас нет готового доступа к точке вращения объекта (если вы не установили систему координат в Pick, не выбрали объект и не использовали центр координат трансформации). Как и в случае большинства модификаторов, для воздействия на весь объект центр помещается в точку вращения. Если установлена подобъектная выборка, центр гизмо помещается в центр выборки.
Модификатор XForm исключительно эффективен в сочетании с модификаторами Volume Select. В таком случае Volume Select определяет выборку, а XForm воздействует на нее, предоставляя возможность моделировать и выполнять анимацию дискретных частей модели, в том числе и отдельных вершин. В случае использования лоскутной или сплайновой модели метод Volume Select не работает. В таких случаях для подобъектной выборки следует применить модификатор EditPatch или EditSpline. Помните, что данные модификатора! приводят к значительным затратам и в них необходимо выполнять абсолютный минимум редактирования. Используемые при определении выборок для модификаторов XForm, они в идеале должны определять только выборку и ничего более.
ПРИМЕЧАНИЕ
Анимация модификации 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 (см. рис. 15.32) обеспечивает возможности переключения нормалей граней модификатора EditMesh, за исключением того, что Normal не может физически отображать нормали в виде направленных линий.
Модификатор Normal идеально подходит для ситуаций, когда требуется переключить направление поверхности, но необходимо избежать накладных расходов или временных задержек, возникающих при работе с EditMesh. Полеты внутри объекта являются распространенной ситуацией, при которой необходимо быстро изменить нормали. К сожалению, данное действие все еще надо делать вручную, поскольку с модификатором Normal нельзя выполнить анимацию.
Опция Unify Normals унифицирует нормали активной выборки способом, похожим на работу EditMesh. Для выборок подобъектов данную опцию следует использовать очень внимательно, поскольку функция считает, что модель замкнута и готова для унификации.
Опция Flip Normals просто реверсирует нормали активной выборки и применяется более часто. В отличие от Unify, Flip полностью надежна для применения с выборками подобъектов.
Модификатор 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 (см. рис. 15.34) обеспечивает возможность присвоения ID материала модификатора EditMesh. В отличие от явного назначения, производимого в EditMesh, с назначенным Material ID можно реально выполнить анимацию. Поскольку ID материала являются целыми числами, изменение материалов происходит неравномерно. При выполнении анимации назначений Material ID следует проанализировать их появления как кривой функции в Track View и настроить кривую так, чтобы материалы изменялись предсказуемым образом.
Модификатор UVW Map присваивает координаты отображения активной выборки граней или лоскутов в стеке. Для всех объектов выборки вершин и ребер игнорируются и весь объект рассматривается как выборка граней или лоскутов. Данный модификатор предоставляет возможность комбинирования многочисленных координат отображения различных типов в разных положениях в истории редактирования объекта. Наиболее часто это делается тогда, когда объект изображает свою геометрию в ориентациях и конфигурациях, наиболее удобных для назначений отображения. Благодаря тесной связи с назначениями материала UVW Modifier детально описан в главе 21, "Материалы и текстуры".
СОВЕТ
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 по умолчанию, имеет человеческие характеристики, но структуру легко изменить для создания других двуногих существ (см. рис. 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):
Цикл шага - это время в кадрах, которое требуется для выполнения одного шага. По умолчанию цикл шага состоит из 15 кадров (полсекунды) для ходьбы и бега и 20 кадров для прыжков. Biped измеряет цикл шага от кадра касания одного шага до кадра касания следующего. Если снова посмотреть на цикл ходьбы, показанный в Track View (см. рис. 16.9), можно найти этому подтверждение. Заблокированные ключи появляются в положениях касания и подъема, т.е. в первом и последнем кадре шага. Поскольку кадры пронумерованы, легко заметить, сколько кадров в каждом цикле. Например цикл ходьбы - с правой ноги на левую после того, как фигура полностью разошлась, проходит 45, 60, 75, 90 и т.д. Чувство цикла полезно при сопоставлении шагов с конкретным движением, захваченным с видео. Четыре состояния для правой и левой ног помечены на командной панели прямо под свитком General. Метки во время шага сдвигаются, но отредактировать их за счет ввода новых значений нельзя.
Формат файла 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 в большинстве случаев можно представлять как "конечный продукт". Скелет двуногой фигуры по существу является репозитарием для хранения данных о движении.
Оставшаяся часть главы посвящена использованию 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.
СОВЕТ
ротоскопирование (rotoscoping) представляет собой процесс переноса видеокадров в 3DS МАХ для того, чтобы они служили фоном для выравнивания и синхронизации элементов па сцене. С данного момента вы шаг за шагом будете изучать, как настроить среду 3DS МАХ и Biped на ротоскопирование.
К данному моменту среда 3DS МАХ настроена и вы готовы начать сопоставление движения в видео.
Наступило время оставить компьютер и засесть за бумагу. Вы должны внимательно присмотреться к видеозаписи, проанализировать се шаг за шагом и на бумаге начертить пронумерованную диаграмму кадров. Просмотрев видео десяток и более раз, вы получите ощущение шагов, даже если их не видно или видео в интересующем месте размыто. Иногда нет возможности определить точный кадр, где нога фигуры поднимается или касается земли, по обычно можно достаточно точно это угадать.
На данный момент уже выполнен значительный объем работ. Остальная работа связана с традиционной анимацией ключевых кадров.
Следующий шаг заключается в проходе по ключевым кадрам анимации и настройке положения ключей верхней части тела так, чтобы оно совпадало с фигурой на видео- Это наиболее творческая часть проекта, поскольку вы свободны использовать свои аниматорские способности для разработки движения - можно точно схватить движение, преувеличить его или использовать его в качестве основы для любого желаемого эффекта. В каком-то смысле видео уже сыграло свою главную роль - помогло установить корректный цикл шагов.
С этого момента завершение анимации становится вполне целенаправленным. Вы используете традиционные ключевые кадры для настройки положений ног и устанавливаете новые ключи для рук, позвоночника и головы. Здесь можно убить любое количество времени в зависимости от того, какую степень достоверности требуется получить.
Отработав движение, теперь его можно применить к каркасной модели при помощи другого подключаемого элемента Character Studio - Physique.
Обычно завершенное движение Biped можно запомнить в файле Biped (формат файла BIP), который впоследствии применим к другой двуногой фигуре, возможно, уже имеющей тело (т.е. обладать подсоединенным каркасом). Однако, если с каким-либо объектом на сцене установлено отношение IK, например с рукой, держащей мяч, то для сохранения отношения следует запомнить анимацию в стандартном файле МАХ. Можно сохранить и в файле Biped и он запомнит шаги и все ключи тела. Единственный аспект анимации, который файл Biped не может сохранить, - это ключи IK Object Space.Вданном случае у нас нет IK, поэтому мы просто сохраняем анимацию со сцены в файле Biped. В равной степени успешно можно было бы соединить со сценой каркасную модель и затем использовать каркас для наращивания тела фигуры.
Мы не будем детально освещать процесс наращивания тела двуногой фигуры, поскольку модификатор Physique выходит за рамки данной книги. (Детальное обсуждение темы приведено в документации Character Studio.) Ниже рассмотрен общий процесс:
ПРИМЕЧАНИЕ
ПРИМЕЧАНИЕ
Для сравнения мы включили в CD-ROM следующие AVI-файлы:
Character Studio обещал существенно упростить анимацию персонажей. В основном обещание выполнено, поскольку поставляемые инструменты изымают из процесса анимации большой объем изнурительной работы. Предоставляя возможность сконцентрировать внимание на тонкостях реалистичного движения моделей, Character Studio увеличивает степень артистизма и обеспечивает новый волнующий способ работы. Если ваша работа связана с анимацией персонажей или если вы хотите изучать человеческое тело в движении, то Biped и Physique достойны внимания.
Хотели ли вы когда-либо имитировать пыль, летающую вокруг? А как насчет дыма или дождя? В мире 3D подобные условия порождаются системами частиц. Система частиц представляет собой коллекцию частиц, которые при своей генерации производят множество анимационных эффектов. В 3DS МАХ системы частиц являются объектами, а генерируемые частицы - подобъектами. Можете выполнить анимацию системы частиц как целого, а можно настроить свойства системы частиц так, чтобы управлять поведением каждой частицы.
В данной главе вы узнаете, как работают искажения пространства и как их применять. Конкретно в главе разъясняется следующее:
Исказители пространства создаются нажатием кнопки категории 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 показывает, как в стеке отображаются связи с исказителями. Все связи перечисляются после всех модификаторов и отделены линиями из знаков равенства. Связи подобъектов отображаются со звездочкой перед связываемым именем. Это случается только тогда, когда последний модификатор в стеке посылает подобъектные выборки из конвейера.
Связи с исказителями пространства являются последними в потоке данных объекта.
Универсальные исказители пространства оказывают влияние на все, что с ними связано. Это могут быть любые типы деформируемых объектов - от частиц до геометрии. Хотя и менее распространенные по сравнению с двумя другими типами исказителей пространства, универсальные исказители не менее полезны.
Единственным универсальным исказителем, распространяемым вместе с 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 можно связать любой геометрический объект.Более того, с ним можно связать источники света, камеры и вспомогательные объекты. Фонари, камеры и вспомогательные объекты деформируются как и геометрические объекты, но вместо трансформации перемещаются с пульсирующим эффектом. Привязав камеру Free к исказителю пространства Ripple можно имитировать такие вещи, как камера на корабле в открытом море.
Можно также деформировать часть объекта связав с исказителем пространства подобъектов. Для этого применяется модификатор редактирования или модификатор Volume Select. Ключом к данной технологии является размещение модификаторов Edit или Volume Select на вершине Modifier Sfack после всех других модификаторов выборки.
Параметр Phase определяет изменение амплитуды от высшей точки ряби до низшей и обратно. Изменение фазы имеет эффект смещения ряби вдоль локальной плоскости XY исказителя пространства Ripple. Исказители Ripple и Wave используют параметр Phase для позиционирования и анимации своих эффектов. Для того, чтобы волна или рябь казались движущимися, выполняют анимацию параметра Phase. Изменение числа от 0 до 1 представляет полный цикл волны. Имея это в виду, не изменяйте сильно Phase, если хотите получить небольшое движение. Для более заметного движения измените параметр несколько сильнее. Используемые значения зависят от размера объектов, с которыми вы работаете. Большие изменения фазы могут существенно повлиять на маленькие объекты и будут иметь куда более скромное воздействие на большие,
СОВЕТ
В данном упражнении вы увидите, как использовать сферу для создания глицерина для глицериновой лампы. Путем комбинации нескольких исказителей пространства с различной ориентацией легко можно создать глицерин, вползающий обратно в лампу. Готовы вернуться в шестидесятые?
Рисунок 17.7 показывает диалог Bind By Name, который используется для выделения на сцене действующих исказителей пространства.
Общим параметром между пульсацией и волной является Flexibility (гибкость). Фактически Flexibility применяется только с Ripple и Wave и является специальным параметром связывания. Он не применяется к искажению, а скорее указывает, насколь сильно влияет искажение пространства на каждый объект. Параметр Flexibility расположен в панели Modify.
Flexibility полностью поддается анимации. Это означает, что значения искажения пространства можно оставлять константными и выполнять анимацию влияния искажения на единичный объект за счет изменения значения Flexibility. Таким образом другие объекты, привязанные к тому же самому исказителю пространства, могут изменяться различным образом. Если же вы хотите изменить влияние глобально, настройте значения искажения.
Посредством Flexibility можно указать, когда и как сильно искажение пространства влияет на объект. В данном примере поток глицерина начинается со сдавленной сферы и перемещаясь по лампе превращается в волнистую поверхность.
ПРИМЕЧАНИЕ
Wave очень похожа на Ripple в том смысле, что изменяет геометрию по волнообразному шаблону. Но в отличие от концентрических изменений как у Ripple, создаваемые Wave изменения линейны. Волны следуют только в одном направлении.
ПРИМЕЧАНИЕ
И Ripple, и Wave содержат параметры под названием Amplitudes 1 и Amplitudes 2.Основное назначение этих двух амплитуд заключается в задании разных амплитуд для осей Х и Y исказителя пространства (Amplitude 1 - это X, Amplitude 2 - это Y). Например, если требуется промоделировать складку по центру волны, установите значения одной из амплитуд в 0. По умолчанию при создании исказителя пространства Ripple или Wave обе амплитуды имеют одно и то же значение. Отредактируйте одно или оба значения вручную непосредственно после создания исказителя или позже в панели Modifier.
ПРИМЕЧАНИЕ
Wave можно использовать для создания нескольких типов сцен. В следующем упражнении рассматриваются изменения геометрии как для целей анимации, так и для моделирования. У вас имеется сцена, содержащая яхту, которая плывет на высокой волне. К сожалению, сцена попала в область плохой погоды и волны становятся опасными. Для имитации такого рода погоды следует использовать Wave для двух вещей: моделирования волн на море и для лодки, плывущей по волнам. Надеемся, что вы не поддадитесь сумасшедшим взлетам и падениям!
После загрузки сцены вначале видна лодка, коробка и линия. Начните создавать волны, которые связывают исказитель пространства Wave с коробкой.
Обратите внимание на то, что перемещение волны вверх и вниз в видовом окне не оказывает влияния на коробку, а движение со стороны в сторону - оказывает. Движение со стороны в сторону является результатом линейного искривления, которое обеспечивает волна. И Ripple, и Wave не влияют на связанные с ними объекты, если объекты двигать вдоль осей амплитуды.
Ripple и Wave работают со всеми типами геометрии, включая двумерные сплайны. В данной части упражнения вы свяжете сплайн с волной и заставите его деформироваться в точности как объект коробки. Яхта использует сплайн в качестве контроллера пути с включенной опцией Follow.
Сплайн деформируется в волну и вследствие этого движение яхты станет волнообразным (см. рис. 17.9).
ПРИМЕЧАНИЕ
Предположим, что яхта должна постепенно войти в спокойное море. Вот здесь и будет полезен параметр Decay. Вот как он работает для волны.
По мере удаления от пиктограммы исказителя пространства волна будет уменьшаться, поскольку и для Wave, и для Ripple Decay вызывает эффект постепенного затухания по мере удаления от центра исказителя. Размер искаэителя оказывает непосредственное влияние на параметр Decay. Рисунок 17.10 показывает две возможных установки Decay для данной сцены.
Decay основывается на масштабе. По мере того, как привязанные к волне объекты становятся крупнее, для просмотра эффекта необходим и больший параметр Decay.
Bomb производит взрыв типа "яичной скорлупы". Он разрывает объект на мелкие кусочки. В результате получается, что взорванное не имеет объема - только оболочку.
Реальная польза Bomb заключена в его параметрах. За счет манипуляций параметрами исказителя пространства Bomb можно создать множество эффектов. Несколько значений, ассоциированных с Bomb, могут быть отрицательными, например сила (strength). Таким образом можно собрать объекты, а не взрывать их. Эффективным применением параметра Gravity можно создать впечатление небольшой силы тяжести, ее отсутствия или отрицательной силы тяжести.
Большинство думает, что бомбы используются для взрыва объектов. Однако 3DS МАХ располагает возможностью посредством Bomb собирать осколки вместе. В следующем упражнении банка начинается с тысяч мелких кусочков.
Как видите, сила бомбы заставила банку разорваться, начиная с кадра 5 и осколки разлетелись вниз. Главная причина происходящего заключается в strength. Если установить strength в -1, результат будет иным. При отрицательной силе бомба на самом деле стянет в центр объекты, привязанные к ней и затем подобно реактивному двигателю выбросит их наружу.
Обратите внимание на то, что банка собирается достаточно упорядочение. Для взрыва существует очевидный шаблон. Переменная Chaos уменьшает упорядоченность силы бомбы. В данном примере установите Chaos в 1. Это рандомизирует шаблон достаточно для того, чтобы банка "не собралась" (подразумевается каламбур, игра слов).
Последний шаг заключается в анимации параметра Strength. Для того, чтобы заставить объект взорваться или собраться и реформироваться в исходный объект, выполните анимацию Strength, начиная с того усилия, которое вы указали на кадре 0, до нулевого усилия на последнем кадре.
Path Deform представляет собой последнее дополнение ко множеству исказителей пространства 3DS МАХ. Path Deform можно применять для поворота и изгиба объектов, основываясь на двумерном сплайне. Хорошим примером того, как все это работает, является создание текста и связывание его с исказителем Path Deform.
Path Deform действует несколько иначе, чем другие исказители пространства. Фактически после создания Path Deform вы с ним больше не работаете. Исказитель пространства служит только в качестве формы деформации. Все изменяемые параметры доступны через опции связывания в Modifier Stasc.
Понять, как работает деформация пути, несколько сложно. Прежде всего объект деформируется в своем локальном пространстве вокруг своей точки вращения. Он не "зафиксируется" немедленно к пути, как может быть это ожидается. Более того, деформация пути имеет место в локальном пространстве, где искажение пространства используется в виде ссылки.
Лучше всего понять деформацию пути можно, поработав с ней. Распространенный пример - деформация текста вдоль пути.
Только что был создан исказитель Path Deform. В настоящий момент можно связать объект с исказителем пространства и объект будет деформироваться вдоль искажения.
Как видно из рисунка 17.12, объект сам переориентировался. Объект использует форму исказителя пространства для деформации, но деформация происходит в локальном пространстве объекта.
По умолчанию объект деформируется вдоль оси Z. Ось Х проходит по длине текста, поэтому следует изменить оси деформации. Все элементы управления объектом, использующим искажение, сосредоточены в панели Modify.
В этот момент объект размещен на пути и деформируется по корректной оси. Для выполнения анимации объекта, перемещающегося вдоль пути, или для какой-либо другой опции, следует изменить значения, используя кнопку Animate.
Рисунок 17.13 показывает четыре кадра окончательной анимации.
Другие значения включают Stretch и Twist. Их можно применять для изменения формы деформируемого объекта вдоль пути. Используйте Stretch в случаях, когда требуется придать объекту вид сжимающегося или растущего вдоль пути. Значение Twist перекручивает объект по длине пути на количество градусов, задаваемое значением. Если путь является прямой линией и значение Twist равно 360, объект повернется вдоль пути на 360°, пройдя от одного конца пути до другого.
ПРЕДУПРЕЖДЕНИЕ
Исказители пространства частиц предоставляют возможность применения к системам частиц динамику реальной жизни. Используя искажение Gravity, можно поместить брызги воды на штормовой ветер или заставить снег подниматься вверх. Более подробная информация о системах частиц представлена в главе 25, "Построение и анимация частиц".
В 3DS МАХ эти сочленения и связи эмулируются путем построения связанных иерархий объектов. Построив иерархию, можно выполнить ее анимацию, комбинируя технологии прямой и инверсной кинематики. В данной главе обсуждается построение и анимация иерархий объектов. Кроме того, детально рассматриваются следующие темы:
Следующие несколько разделов описывают, что такое иерархии объектов и как начать их построение.
Иерархия объектов строится для установки отношения, в котором единственный родительский объект связан с одним или несколькими дочерними. Трансформации Move, Rotate и Scale передаются между родителем и его детьми. Связывание родительских объектов в качестве дочерних с другими объектами предоставляет возможность быстро строить сложные многоуровневые иерархические структуры. Подобные структуры эмулируют сложные суставчатые структуры, характерные для объектов реального мира.
Процесс создания связанных иерархий выполняется следующим образом:
Построение связанных иерархий представляет собой очень мощную технологию, которая в случае корректного применения сохраняет значительное время и усилия. Связывание объектов выполняет две важные функции:
Управляющие элементы для создания и манипулирования иерархическими связями находятся на панели Hierarchy и в двух кнопках на линейке инструментов (см. рис. 18.1). Кнопки линейки инструментов используются для создания иди разрыва связей между объектами. Управляющие элементы из панели Hierarchy применяются для настройки связей и определения их параметров.
Любой объект, с которым связан другой объект, является родительским. Родитель может иметь любое количество связанных с ним других объектов и эти объекты носят название его дочерних объектов. Дочерние объекты в свою очередь могут иметь детей. Все объекты, которые через какое-то количество связей соединены с родительским объектом, называются потомками родителя.
Родительские объекты могут связываться как дочерние с другим родительским объектом. Любая трансляция, оказывающая влияние на родителя, влияет также на потомков, расположенных в иерархии ниже родителя.
Дочерний объект является одним из любого числа объектов, связанных с родителем. Хотя родитель может иметь любое количество детей, но ребенок может иметь только одного родителя. При попытке связи объекта-ребенка о вторым родителем связь с первым родителем разрушится и будет заменена связью с новым родителем.
Если проследить связи от ребенка к родителю и родителю родителя и т.д., то в конце концов будет достигнут корень иерархии. Все объекты, связывающие ребенка с корнем, называются предками ребенка.
Любая иерархия содержат только один корневой объект. Король иерархии - это объект, который провозглашает все остальные объекты в иерархии в качестве своих потомков и не имеет предков выше себя. Объект, который не имеет ни детей, ни родителей, может рассматриваться как корень - корень самого себя.
Выражаясь технически, сцена сама по себе (называемая Миром) является корнем всех иерархий. Это означает, что вы всегда работаете с иерархией, поскольку каждый объект на сцене связан как дочерний с другим объектом или объект является дочерним по отношению к миру.
Эта "скрытая иерархия" становится очевидной в следующих ситуациях:
После создания связей между объектами связанные объекты организуются в древовидную структуру. Данная древовидная структура принимает форму списка, в котором имена порожденных объектов отступают вниз и вправо от родительских объектов. Этот список можно просматривать в 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:
На рисунке 18.4 опции наследования связей активны. Трансформация оси, представленная активными опциями, передает информацию трансформации от родителя к выделенному ребенку, заставляя ребенка трансформироваться вместе с родителем. Выключенные опции освобождают ребенка на данных осях трансформации так, что родитель не оказывает влияние на ребенка.
Подобная возможность особенно полезна при моделировании механических связей. Часто объект связывается с родителем так, что объект фиксирован по одной или двум осям и свободен по другим. Примерами таких связей является соединение шатунов в двигателе и корзин на конвейерной ленте. Оба эти объекта связаны как дверной шарнир: они фиксированы и неподвижны по двум осям и могут вращаться вокруг третьей, определяемой осью шарнира (точкой вращения).
При связывании объектов, особенно в сложных иерархиях, часто трудно визуализировать, какие объекты с какими и каким образом связаны. Как уже описывалось, для отображения иерархической древовидной структуры можно использовать Track View или диалог Select Object. Однако для отображения связей на сцене имеется еще и третья технология.
Установите опции в свитке Link Display панели Display для управления отображением связей выбранных объектов (см. рис. 18.5). Две опции отображения связей работают как описано в следующем перечне:
Связывание разработано в качестве способа передачи трансформации от одного объекта к другому. Трансформация родительского объекта передает информацию к каждому из его дочерних объектов. Данный процесс великолепно работает для трансформаций Move, Rotate и Uniform Scale. Хуже связывание работает с неоднородно отмасштабированными объектами.
Дочерний объект, связанный с неоднородно отмасштабированным родителем, при вращении будет смят и перекошен. Такой результат почти всегда нежелателен- Как утверждается повсюду в книге, неоднородное масштабирование никогда не следует применять непосредственно к объекту. Всегда применяйте такое масштабирование к выборкам подобъектов или используйте модификатор XForm.
Устранить эффект связи с неоднородным масштабом можно многими способами. Два самых простых метода устранения эффекта таковы:
Точка вращения объекта определяет, где происходит связь между родителем и ребенком. Вспомните трехсторонний конус, который вы видели после включения Display Links. Вообразите себе, что конус - это жесткий рычаг, приваренный к точке вращения родительского объекта и соединенный суставом с точкой вращения ребенка. Сустав предоставляет ребенку возможность двигаться, вращаться и изменяться в масштабе независимо от родителя, но в случае трансформации родителя конус перемещается и тянет за собой ребенка.
ПРЕДУПРЕЖДЕНИЕ
Несмотря на то, что команды точек вращения находятся на панели Hierarchy, их можно применять ко всем объектам - а не только к соединенным. Помните, что объекты, не имеющие родителей и детей, тем не менее рассматриваются как связанные с миром. Точка вращения определяет ориентацию локальной системы координат объекта и является точкой, вокруг которой центрируется вращение и масштабирование объекта.
Следующие разделы описывают способы изменения положения точек вращения внутри объектов.
Для трансформации и выравнивания точек вращения и их объектов используйте команды из свитка Adjust Pivot. Для отображения свитка Adjust Pivot нажмите кнопку Pivot на панели Hierarchy (см. рис. 18.6).
Две верхних кнопки в свитке - Affect Pivot Only (влиять только на точку вращения) и Affect Object Only (влиять только на объект) - являются критически важными. Для того, чтобы определить, будете ли вы трансформировать объект независимо от его точки вращения или трансформировать точку вращения независимо от объекта, нажмите одну из них. В следующем перечне описано влияние кнопок Affect Pivot Only и Affect Object Only:
Три оставшихся кнопки в свитке Adjust Pivot используются для выравнивания объекта или точки вращения. Метки кнопок изменяются в зависимости от того, активна ли Affect Pivot Only или Affect Object Only. Эффекты всех трех кнопок описаны ниже:
Другой интересный способ выравнивания точки вращения объекта заключается в использовании команды 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).
ПРИМЕЧАНИЕ
Для перемещения, поворота или однородного масштабирования родительского объекта без влияния на его детей нажмите кнопку Affect Object Only в свитке Adjust Transform. (He применяйте со связанными объектами неоднородное масштабирование.) Для выравнивания выбранных объектов с World или с выбранными родительскими объектами нажмите на одну из кнопок выравнивания в свитке.
Если в свитке Adjust Transform активна кнопка Affect Object Only, то для выравнивания выбранных объектов с любым другим объектом на сцене и без влияния на детей выбранных объектов можно использовать команду Align линейки инструментов,
Две кнопки в области Reset свитка Adjust Transform сбрасывают вращение и трансформации объекта так, чтобы текущее состояние стало исходным. Кнопки сброса всегда передают изменение в трансформации любому связанному дочернему объекту. Если вы хотите сбросить трансформацию объекта, не затрагивая его детей, следует отсоединить детей от объекта и затем после сброса трансформации повторно их привязать.
Две кнопки Reset оказывают следующее воздействие:
Сброс Scale является единственным способом исправления неоднородно отмасштабированных объектов так, чтобы они правильно работали с иерархическим связыванием. Перед применением сброса Scale обязательно отсоедините от объекта все его дочерние объекты.
Для сброса трансформаций объекта другим способом можно применить новую утилиту 3DS МАХ R1.1. Выберите Reset Transform из списка категорий панели Utility, показанной на рисунке 18.9. После щелчка на кнопке Reset Selected объект возвратится к своей начальной ориентации и масштабу, и любые трансформации масштаба и вращения будут помещены в модификатор XForm.
Применение утилиты Reset Transform обеспечивает дополнительный выигрыш за счет отделения значений вращения и трансформации масштаба от базового объекта. При этом данные значения остаются доступными в гизмо XForm.
ПРЕДУПРЕЖДЕНИЕ
Опции свитка 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.
Завершенную модель можно исследовать самостоятельно. Откройте файл atom.max с CD-ROM проиграйте анимацию atom.avi.
Предыдущий пример демонстрирует, насколь просто при помощи фиктивных объектов настраивать сложные движения. Вы можете спорить, утверждая, что тот же самый пример легко выполнить и без фиктивных объектов, поместив центральную точку каждого электрона в центр ядра, и будете полностью правы. Недостаток такого подхода проявится, если позже потребуется наложить на электрон текстуру и показать электроны вращающимися вокруг своих собственных центров. Смещение точки вращения станет проблемой, поскольку теперь нет точки вращения в центре электрона. Связанные фиктивные объекты проще понимать, ими проще манипулировать и они оставляют больше возможностей для организации других эффектов.
Как подчеркивалось в предыдущих разделах, иерархическое связывание является одно сторон ним эффектом. Объекты связаны от родителя к ребенку и анимационныс эффекты, примененные к родителю, передаются детям. Эффекты, примененные к детям, к родительским объектам не передаются.
Подобный тип связывания полезен, но он не имитирует в точности суставчатые объекты реального мира. Как вы знаете, когда реальные объекты связаны вместе, то перемещение одного объекта оказывает влияние на все связанные объекты на основе их положений и свойств их суставов. Такое поведение имитируется посредством инверсной кинематики (Inverse Kinematics - IK).
IK используются для манипулирования всей цепочкой связей через перемещение или вращение выделенного порожденного объекта. При активном режиме IK перемещение или вращение объекта в иерархии вызывает следующие эффекты:
Для включения IK-поведения нажмите на кнопку IK линейки инструментов. Для установки параметров IK нажмите кнопку IK в панели Hierarchy (см. рис. 18.13).
Следующие разделы представляют предварительные концепции IK, которые помогут создавать успешные анимации с IK. Первый шаг в правильном применении IK заключается в понимании, как IK взаимодействуют с объектами в иерархии.
При использовании IK параметры сустава объекта управляются локальной системы координат родителя данного объекта. Взаимосвязь между ориентацией локальной системы координат объекта и локальной системой координат родителя объекта важна. Наиболее предсказуемые IK-иерархии образуются при такой установке начальных иерархий, что локальная система координат иерархии выровнена с объектами, а все объекты выровнены с World.
Рисунок 18.14 показывает правильно выложенную и готовую для связывания и установки IK фигуру по сравнению с фигурой, у которой будут проблемы с IK. У фигуры слева все компоненты выложены в соответствии с мировой системой координат и локальные системы координат компонентов выровнены с их объектами. Фигура справа не представляет никакого выравнивания, и некоторые локальные системы координат очевидно не выровнены с их объектами. Для фигуры справа будет трудно установить параметры, при этом ряд суставов могут оказаться неработоспособными.
Поскольку взаимосвязь между локальной системой координат объекта и локальной системой координат родителя объекта настоль важна, следует понимать, как различные команды изменяют локальные системы координат, и планировать, как подобные изменения будут влиять на анимацию. Локальную систему координат объекта изменяют следующие действия:
IK отлично работает с большинством предлагаемых задач, но существует ряд ситуаций, которые просто выходят за пределы возможностей IK. Большинство таких необрабатываемых ситуаций случается при использовании с IK нестандартных контроллеров или применении к объектам в IK-иерархии трансформаций устрашающего неоднородного масштабирования.
Технологии, рекомендуемые для использования с IK, включают следующие:
Параметрические контроллеры, подобные LookAt, Noise, Audio или Expression, нормально с IK не работают. (Другими словами, 3DS МАХ не запрещает применения данных контроллеров, но скорее всего полезные результаты получены не будут.)
После того, как объекты связаны, можно начинать определять поведение их IK-суставов. Сердцем IK является определение того, как ограничиваются связи между объектами (их суставы).
Для определения поведения IK-сустава выделите в иерархии объект, который требуется анимировать, и затем настройте элементы управления IK в панели Hierarchy. Доступ к элементам управления IK получается после нажатия кнопки 1Кв панели Hierarchy (см. рис. 18.15).
В следующих разделах обсуждаются элементы управления IK для определения поведения сустава. Этими элементами управления являются Joint Parameters и Joint Precedence.
Когда вы впервые настраиваете иерархию, то все суставы по умолчанию свободны для вращения во всех направлениях, но предохранены от сдвига. Если вы хотите получить управляемый реалистичный эффект, следует указать ограничения на работу суставов. В IK доступны суставы двух типов - вращательные суставы и позиционные суставы. Любой сустав может обладать свободой вращения, позиционирования либо и тем и другим. Также имеется независимое управление тем, насколь сильно сустав вращается или перемещается вдоль всех трех осей в локальной системе координат.
Элементы управления суставом и текущие параметры сустава для одного выбранного объекта размещены вдвух свитках панели Hierarchy (см. рис. 18.16). При выборе более одного объекта свиток параметров сустава отображаться не будет. Свитки параметров сустава названы следующим образом:
Все указанные типы суставов содержат управляющие элементы для трех базовых свойств суставов: активный статус сустава, ограничения сустава и трение сустава (называемое снижением (easing) и затуханием (damping)). Данные свойства описываются в следующих разделах.
Если необходимо, чтобы выбранный объект вращался или перемещался по оси сустава, следует установить для данной оси флажок Active. Большинство суставов в реальном мире активны только по одной оси, но иногда встречаются активные и по двум осям.
Примеры суставов реального мира, которые можно моделировать посредством 3DS МАХ IK, включают следующие:
Помните, что все оси сустава определяются локальной системой координат родителя выбранного объекта. Учитывайте выбор родителя и трансформацию системы координат. Затем можно использовать пиктограмму трансформации координат в качестве визуальной ссылки.
Если сустав активен по заданной оси, то вероятно он и ограничен- Например, если вращательный сустав неограничен, то объект свободно вращается. Рули и шестерни могут использовать неограниченные вращательные суставы, но большинство других суставов, подобные петлям, плечам, коленям, имеют определенные ограничения.
Для установки ограничений сустава выполните следующее:
Ограничения сустава измеряются различными способами. Ограничения вращательных суставов измеряются как угол между активной осью родительской локальной системы координат и соответствующей осью локальной системы координат выбранного объекта. Ограничения скользящего сустава измеряются расстоянием от точки вращения родителя до точки вращения выделенного объекта. Ограничения суставов путем измеряются в виде процента пути от первой вершины пути.
ПРЕДУПРЕЖДЕНИЕ
В идеальном мире суставы не имеют трения и не оказывают сопротивление движению. Наши машины служили бы дольше, а руки не болели бы после работы с большими компьютерными книгами. К сожалению, трение в суставах присутствует. 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). Эти суставы располагают также и своей буферной памятью, поэтому можно одновременно хранить один вращательный и один скользящий сустав.
ПРИМЕЧАНИЕ
Для копирования и вставки параметров вращательных или скользящих суставов выполните следующие шаги:
Может показаться, что для корневого объекта иерархии параметры сустава устанавливать не требуется. По определению корневой объект не связан с родителем, поэтому он не имеет сустава - так? Нет, не так. Помните, что корневой объект всегда считается дочерним по отношению к World. Когда активен режим IK, параметры сустава для корня иерархии определяют то, как корневой объект передвигается по отношению к World.
Когда параметры сустава для корневого объекта не активны, он не может передвигаться или вращаться. Корневой объект действует в качестве якоря, оставаясь неподверженным любому решению IK. Кроме того, нет возможности непосредственного выбора, перемещения или вращения корневого объекта. Он жестко заблокирован на одном месте.
Если параметры сустава для корневого объекта активны, он может передвигаться или вращаться только а соответствии с параметрами суставов своих активных осей. Теперь в качестве якоря для иерархии выступает World. При попытке выбора и перемещения или вращения корневого объекта последний сможет передвигаться или вращаться так, как позволяют ему параметры сустава.
Иногда будет возникать желание сделать параметры сустава для корневого объекта неактивными, чтобы он действовал как якорь для любого решения IK. Но кроме того потребуется непосредственно выделять, перемещать или вращать корневой объект. 3DS МАХ обеспечивает оговоренную возможность через опцию Always Transform Children из World в панели Inverse Kinematics диалога Preference Settings. Когда Always Transform Children выключена, трансформация корневого объекта запрещена и он следует только параметрам сустава объекта. В противном случае можно свободно трансформировать корневые объекты, но любое IK-решение для корневого объекта обязано следовать параметрам сустава объекта.
Параметр приоритета сустава (Joint precedence) управляет распространением движения между суставами. Суставы с большим приоритетом абсорбируют большую долю общего движения по сравнению с суставами, имеющими низкий приоритет. Абсолютное значение приоритета сустава не имеет значения, роль играет только превышение одного приоритета над другим.
Приоритет суставов устанавливается в свитке Object Parameters. Приоритет по умолчанию для всех суставов одинаков и равен нулю. Когда все суставы имеют одинаковый приоритет, суставы, находящиеся ближе к конечному эффектору, перемещаются больше суставов, удаленных от него.
Приоритет каждого сустава можно установить вручную, выделив объекты и введя значение в поле Precedence. Такой метод обеспечивает точный контроль над движением вдоль кинематической цепи, но процесс ручной установки приоритетов может оказаться очень скучным. Большая часть потребностей, вероятно, обеспечивается одной из следующих двух предварительных установок:
Как утверждалось в начале разделов, посвященных IK, трансформация объекта в режиме IK оказывает влияние на всех предков объекта вплоть до корня иерархии. Цепь предков от выделенного объекта до корня называется кинематической цепью. Поскольку каждый объект в иерархии может иметь только одного родителя, то от любого объекта к корню иерархии существует только одна возможная кинематическая цепь.
Иногда не требуется, чтобы кинематическая цепь проходила весь путь до корня. Примером служит анимация руки фигуры, когда необходимо, чтобы IK-эффект остановился у плеча. Остановить кинематическую цепь, прежде чем она достигнет корня, можно путем указания объекта как IK-терминатор. Для определения объекта в качестве IK-терминатора следует выбрать объект и установить флажок Terminator в свитке Object Parameters (см. рис. 18.18).
После установки связей иерархии, параметров суставов и задания объектов-терминаторов вы готовы начать анимацию при помощи IK. Ниже приведены две основных формы анимации IK:
Применяйте Interactive IK в случаях, когда требуется большая свобода и артистический контроль за движением IK и 3DS МАХ разрешается выполнение интерполяций между ключевыми кадрами. Для активизации режима Interactive IK нажмите на кнопку IK в линейке инструментов. Затем вручную спозиционируйте конечные эффекторы, просматривая результаты изменений в реальном времени. Включите кнопку Animate, перейдите к другим кадрам и перемещайте или вращайте конечный эффектор до тех пор, пока не будет получена желаемая анимация.
Applied IK применяется тогда, когда необходимо, чтобы иерархия имитировала движение другого объекта на сцене. В режиме Applied IK 3DS МАХ вычисляет полное IK-решение для каждого кадра анимации, достигая большей точности, чем при методе Interactive IK. Applied IK более гибок в использовании, поскольку можно быстро изменить анимацию за счет выбора других объектов для подражания или изменения анимации подражаемого объекта.
Для использования Applied IK прежде всего свяжите оживляемые конечные эффекторы с подражаемым объектом и затем щелкните на Apply IK в панели Hierarchy.
Если требуется, чтобы конечный эффектор указывал или даже касался выделенного подражаемого объекта, установите флажок Bind Position. Для связывания позиции конечного эффектора с подражаемым объектом выполните следующие шаги:
Когда курсор окажется над подражаемым объектом, он изменится на Bind (курсор Bind выглядит подобно булавке).
СОВЕТ
3D Studio MAX пытается совместить точку вращения конечного эффектора с позицией точки вращения подражаемого объекта. Кинематическая цепь по-прежнему остается ограниченной установками параметров сустава, поэтому конечный эффектор может и не достичь подражаемого объекта. В этом случае 3DS МАХ помещает конечный эффектор как можно ближе к подражаемому объекту.
Нажатие кнопки R справа от флажка Bind Position приводит к тому, что конечный эффектор имитирует движение подражаемого объекта, не пытаясь указать или достичь сам объект. Данная опция полезна для выполнения анимации жестов и вторичных движений.
Если включить флажок Bind Position, но не связать конечный эффектор с объектом для подражания, то конечный эффектор считается связанным с World. В таком случае связанный объект пытается не двигаться до тех пор, пока другие трансформации в кинематической цепи не заставят его двигаться для выполнения IK-решения.
Если требуется, чтобы ориентация конечного эффектора совпадала с ориентацией выбранного объекта для подражания, включите флажок Bind Orientation. Для связывания конечного эффектора с ориентацией подражаемого объекта выполните следующие шаги:
3D Studio MAX пытается повернуть точку вращения конечного эффектора так, чтобы она совпадала с ориентацией точки вращения подражаемого объекта. Кинематическая цепь по-прежнему остается ограниченной установками параметров сустава, поэтому конечный эффектор может и не совпасть с ориентацией подражаемого объекта. В таком случае 3DS МАХ поворачивает конечный эффектор так, чтобы его ориентация совпадала с ориентацией объекта для как можно более точного подражания.
Нажатие кнопки R справа от флажка Bind Orientation приводит к тому, что конечный эффектор имитирует вращательные изменения подражаемого объекта, не пытаясь достичь ориентации самого объекта. Данная опция полезна для анимации жестов и вторичных движений.
Если включить флажок Bind Orientation, но не связать конечный эффектор с подражаемым объектом, конечный эффектор считается связанным с World. В этом случае граничащий объект пытается сохранить свою исходную ориентацию и не вращается до тех пор, пока другие ^ансформации в кинематической цепи не заставят его вращаться для выполнения IK-решения.
Последним действием после связывания конечных эффекторов с оживленным объектом для подражания является применение IK-решений. Управляющие элементы для применения IK находятся в свитке Inverse Kinematics панели Hierarchy.
Для применения IK-решения выполните следующее:
Пока 3DS МАХ вычисляет IK-решение, в нижней части окна приложения 3DS МАХ отображается индикатор хода работы. Для остановки вычислений IK в любой момент времени нажмите на кнопку Cancel справа от индикатора хода работы.
В свитке Inverse Kinematics имеется еще два параметра, влияющих на применение IK-решения:
В данной главе обсуждаются следующие вопросы, связанные с освещением и атмосферой:
Освещение естественно воспринимается как нечто само собой разумеющееся. Куда бы мы не направлялись, дорога уже должным образом освещена. Солнце насыщает светом наш мир очень просто, но эффективно. То ли в реальной жизни, то ли в кино или телевизионных представлениях, не следует беспокоиться о свете - уже все сделано. Однако в трехмерной среде дело обстоит по-иному. В ЗD-средах редко что-то уже подготовлено. Подобно моделированию, текстурированию и анимации, для постановки значимой сцены освещение требует большой и осмысленной работы.
В настоящем разделе освещаются базовые стили освещения, которые часто являются фундаментом для цветового конструирования, придающего сцене акцент и глубину. Кроме того, вы узнаете об умалчиваемом освещении 3D Studio MAX, которое обеспечивает хорошее общее освещение, о базовых иллюстрационных стилях, таких как трехточечное освещение и о концепции отраженного света.
Когда нет ничего другого, 3DS МАХ для эффективного просмотра сцены обеспечивает установку освещения по умолчанию. Эту установку можно представлять в виде "домашнего света", достаточного для работы, но не предназначенного для результата окончательной визуализации. Освещение по умолчанию представляет собой просто два всенаправленных (omni) источника света, помешенных в диагональных углах сцены. Если предположить, что сцена центрирована относительно начала, источники света размещены вверху спереди в точке -X, -Y, +2 и внизу сзади в точке +Х, +Y, "Z.
При первом добавлении к сцене источника света 3DS МАХ удаляет освещение по умолчанию, так что можно видеть происходящее. Сцена станет темнее, поскольку два источника света заменяются одним. После этого при необходимости можно вводить дополнительные источники света. Освещение по умолчанию остается отключенным до тех пор, пока на сцене имеются пользовательские источники света, независимо от того, включены они или выключены. Когда со сцены удаляются все источники света, освещение по умолчанию возвращается автоматически. Однако иллюминацию сцены можно перекрывать источниками света по умолчанию через клавиатурное сокращение (Ctrl+L). Данное перекрытие основывается на видовом окне и сохраняется вместе со сценой. На практике это полезно тогда, когда освещение под определенным углом отсутствует, но необходимо моделировать темную сторону.
ПРИМЕЧАНИЕ
Несмотря на полезность интерактивного визуализатора, он не может заменить пробные визуализации из окончательного визуализатора. Поскольку интерактивный визуализатор использует 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) источники света являются точечными источниками света, очень похожими на лампочки, подвешенные на проводе или на звезды в солнечной системе. Всенаправленный источник света из своей позиции иллюминирует все грани, ориентированные в его направлении. Поскольку всенаправленные источники света не сконструированы для отбрасывания теней, то их лучи не блокируются какими-либо элементами каркаса и, следовательно, уменьшают темноту любых теней, на которые они отбрасывают свет.
ПРИМЕЧАНИЕ
Благодаря своей всенаправленности источники света 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 МАХ обеспечивает гибридный метод нулевого и линейного затухания.
ПРИМЕЧАНИЕ
Флажок Attenuation Use указывает на то, использует ли вьтделенный источник света назначенные диапазоны. При активизации флажка вокруг источников света появляются круги, указывающие протяженность диапазонов Start и End (см. рис. 19.7). Данные круги определяют внутренние и внешние границы освещения. Диапазон Start (внутренний круг) похож па горячую точку и определяет регион, в котором ослабление не происходит. Диапазон End (внешний круг) похож на границу действия и определяет расстояние, при достижении которого освещение прекращается. Свет в пределах диапазона Start и End ослабляется линейно. Если необходимо, чтобы свет затухал все время, следует уменьшить диапазон Start до нуля.
СОВЕТ
Яркая точка (hotspot) и граница (fallon) являются наиболее часто настраиваемыми аспектами точечного и направленного источника света. Разница между яркой точкой и границей света управляет отчетливостью результирующей области света. Значения яркой точки и границы обладают влиянием, подобным влиянию внутренних и внешних диапазонов ослабления всенаправленного света. Яркая точка определяет величину полной освещенности - она нс увеличивает освещенности, как может подсказывать название. Освещенность внутри яркой точки является полным эффектом света. Граница света определяет расстояние, на котором свет перестает действовать. Это увядание или затухание не является линейным, как с диапазонами всенаправленного света, но представляет кубическую сплайповую интерполяцию - большинство переходов происходят около внешней границы света. Разница в размере между яркой точкой и границей света определяет мягкость или расплывчатость световой границы. Маленькая яркая точка и широкое падение создают очень мягкую границу, в то время как яркая точка, подступающая к границе, делает границу света очень резкой.
Когда активно превышение, граница света по-прежнему определяет диапазон, внутри которого отбрасываются тени и проектируются образы. Граница света становится важным механизмом управления размером, до которого простирается теневая карта света. Для создания качественных теней протяженные границы света требуют больших теневых карт. Вы можете усовершенствовать качество теней и сократить требования к оперативной памяти, ограничив границу отбрасывающего тень света до минимального размера.
СОВЕТ
Можно устранить направленную или точечную световую область, активизировав опцию Overshoot. Она устраняет ограничения и обеспечивает освещение, эквивалентное порожденному только внутри яркой точки. В основном опция Overshoot превращает точечный свет в "направленный всенаправленный свет", сохраняя при этом остальные возможности. Благодаря таким качествам на опцию часто ссылаются как на бесконечное превышение. Важно понимать, что преувеличенные точечные источники нс ограничены более конусом света и светят во всех направлениях, подобно всенапраленному источнику света, и направленный источник отбрасывает свет со стороны в сторону бесконечно (см. рис. 19.8). Игнорируя ограничения яркой точки, источники света, использующие превышение, все-таки учитывают параметры ослабления.
Превышение полезно для создания общего освещения. Однако тень точечного источника света и/или возможности прожектора по-прежнему необходимы- Эти свойства по-прежнему учитывают конус границы. Точечный источник с преувеличением следует рассматривать как всенаправлепный источник, у которого возможности отбрасывания тени и проектирования ограничены падением (см. рис. 19.9).
Применение опции Overshoot с направленным источником создает сильный, несколько необычный источник света. Например, преувеличенный направленный источник света будет ровно освещать все поверхности, с которыми сталкивается, но не будет влиять на поверхности, коллинеарные с направлением света (см. рис. 19.10).
Источники света позиционируются на сцене подобно любым другим объектам посредством трансформаций Move и Rotate. В отличие от других объектов трансформация Scale масштабирует только диапазоны и не оказывает влияния на другие атрибуты. Элементы управления трансформацией часто применяются для точной настройки позиции и ориентации источника. Контроллеры Path, Look At и Experssion часто применяются для направления света по пути, для следования ключевым объектам или принуждения их реагировать на другие события на сцене.
Точечные источники, подобно камерам, можно использовать для определения видовых окон. Видовые окна точечных источников предоставляют возможность увидеть, куда направлен свет и являются полезными инструментами для поиска теней и карт проектирования. Видовые окна точечных источников света заменяют навигационные пиктограммы другими пиктограммами, связанными конкретно с точечными источниками. Данные элементы управления соответствуют своим эквивалентам камеры с границей света, приравненной FOV. Элемент управления яркой точкой не влияет на вид, если не сталкивается с границей света и не заставляет увеличиваться границу света.
СОВЕТ
Методы освещения полагаются также на тени и на их правильное применение в общей световой конструкции. Специальное управление тенями играет ключевую роль в использовании источников света. С чрезмерным или недостаточным количеством теней сцена не будет выглядеть реалистичной и убедительной.
В мире 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-тени также принимают в расчет непрозрачность материала и цвет фильтра. Данные тени принимают во внимание любую информацию о непрозрачности, содержащуюся в материале. Такая информация предоставляется в форме карты непрозрачности и ее маски, указателей параметров прозрачности материала и опций In/Out. Это все аспекты, определяющие прозрачность. Дополнительные карты, задающие текстуры или неровности, на отбрасываемую тень не влияют. Имитация отметок подобного рода поверхностей требует копирования соответствующей битовой карты в качестве карты непрозрачности или маски для материала.
Точечные источники света, которые используют гау-traced-тени, обрабатывают все непрозрачности в терминах свечения или интенсивности. Срезы (cutouts) материала при освещении такими источниками могут выглядеть предельно убедительно. Данные материалы имеют подходящую текстуру и карты непрозрачности и часто используются для окружения объектов, подобных деревьям, людям и машинам. Однако они могут быть и отдельными листьями, и сложным узором в окне.
ПРИМЕЧАНИЕ
Единственным параметром, который управляет эффектами 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 (смещение карты) в основном используется для исправления неточностей, присущих картам памяти в отображении объектов, отбрасывающих тени. Чем ниже значение смещения (bias), тем ближе тень подтянута к объекту.
Широко рекомендуются значения Map Bias 1.0 для архитектурных моделей и 3.0 для остальных конструкций. Очень важно не использовать указанных значений, нс поэкспериментировав с ними на сцене. Каждая модель, и возможно каждый точечный источник должны настраиваться в соответствии с углом света, расстоянием и окончательным выходным разрешением. Кроме того, в точности отображения теневых карт большую роль играет размер теней.
Значение 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 проектируемые карты, использованные в сцене.
ПРИМЕЧАНИЕ
Проецируемая битовая карта растягивается так, чтобы совпадать с пределами границы точечного источника света. Для кругового точечного источника света битовая карта растягивается до границ квадрата, который охватывает круг, и образ кадрируется кругом. Посредством параметра Bitmap Fit можно совместить коэффициент отношения прямоугольного источника света с прямоугольником проектируемого образа.
ПРИМЕЧАНИЕ
СОВЕТ
Границу проектируемого источника света следует реально представлять как пиктограмму Planar Projection, поскольку она действует точно так же. Пропорции и поворот битовой карты диктуются положением границы. У границы имеется маленькая вертикальная линия, указывающая на вершину проекции.
Если пропорции кругового точечного источника света очевидным образом фиксированы, то пропорции прямоугольного точечного источника можно настраивать как с помощью команды света Aspect, так и с помощью команды Bitmap Fit.
При проектировании образа опция Bitmap Fit должна рассматриваться в первую очередь, поскольку она проще и точнее (см. рис. 19.14). Выберите прямоугольный точечный источник и получите доступ к команде Bitmap Fit. После выделения желаемой битовой карты, которой очевидно будет проектируемый образ, высоту и ширину светового прямоугольника изменяют с целью соответствия образу.
ПРИМЕЧАНИЕ
В данном разделе описываются многие возможности среды 3DS МАХ. Использование Environment обеспечивает создание эффектов и общего настроения, повышающего реализм сцены вследствие увеличения освещения, добавления стандартного, слоистого и объемного тумана, а также горения. Элементы управления атмосферой предлагают широкий набор эффектов, включая туман, дымку, огонь, дым и лучи света сквозь пьшь.
ПРИМЕЧАНИЕ
Фон может состоять из сплошного цвета или из материала. Выбор цветовой отметки в диалоге Rendering/ Environment вызывает селектор цвета 3DS МАХ, позволяя точно управлять цветом фона. Выбор нового цвета не уничтожает возможности сохранения информации альфа-канала.
СОВЕТ
Выбор фонового образа похож на использование карты проектирования для света. Нажмите кнопку 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.
ПРИМЕЧАНИЕ
В 3DS МАХ определены несколько типов тумана. Все они имеют сходное, однако уникальное использование (см. рис. 19.17).
ПРИМЕЧАНИЕ
СОВЕТ
Горение, которое прежде было подключаемым элементом, сейчас является частью Выпуска 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 является хорошим выбором для взрывов и хорошо смотрится в сочетании с другими полусферными аппаратами.
ПРИМЕЧАНИЕ
ПРИМЕЧАНИЕ
Создать антураж достаточно трудно. Часто капризная среда не регистрируется и запоминается скорее на уровне ощущений. Это еще более усложняет создание антуража, поскольку требует пристального наблюдения, позволяющего разглядеть все элементы, составляющие характерную атмосферу.
Лучи солнечного света, проникающего сквозь окно, и мутное свечение вокруг уличного фонаря - это просто два примера того, как атмосферное освещение влияет на мир. Без атмосферы свет вряд ли освещал бы объекты, поскольку не было бы атмосферы, отражающей свет. Например, в пространстве с контролируемой атмосферой свет был бы гладким из-за недостатка в воздухе пыли и влажности. Такие вещи хотя и трудно уловимы, но очень важны в создании реального пыльного мира.
При помощи объемного освещения 3DS МАХ лучи света и свечение добавить к сцене очень легко. Понизив плотность и используя широкий диапазон ослабления можно создать прекрасное уличное освещение. Точно так же точечный или направленный источник света может добавить красивый световой столб, от которого отбрасываются тени.
Внимательное применение тумана добавляет к атмосфере едва заметные мазки, которые в противном случае было бы трудно достичь посредством света и текстуры. Дым, дымка и мгла смягчают сцену и имеют тенденцию соединять различные элементы. Оживленный объемный туман может создать ощущение реализма, а облака придают сцене глубину и ощущение принадлежности к большему миру. Конечно, туман может переполнить сцену, покрыв все как белое одеяло, вымыв все цвета и детали и унеся композиционную силу. Однако благодаря некоторому вниманию и времени туман может добавить к анимации настроение и чувство естестве н н ости.
Если всенаправленные источники света используются вместе с диапазонами и исключениями, они являются идеальными источниками для имитации отражения (radiosity) и унаследованного цвета. Такой подход замедляет процесс визуализации даже больше, чем настройка значения фонового цвета, но создает весьма реалистичные эффекты.
Реализация данной технологии требует внимательного наблюдения за световой атмосферой. Естественно, свет часто попадает в такие области, как пространство под столом и стульями или в углы тускло освещенной комнаты. Применение отрицательного множителя и ослабленного всенаправлснного источника света предоставляет возможность очертить данные области, сохраняя при этом яркость и расширяя диапазоны ослабления для хорошо освещенных областей комнаты.
При попытке аппроксимации ситуации с освещением в реальном мире следует обращать внимание на то, как лампочки на самом деле отбрасывают свет. Распространенная ошибка заключается в чрезмерной драматизации светового эффекта и отбрасывании грубо очерченного света. Чаще всего освещение бывает гораздо более размытым, мягким и не имеет определенных световых областей. Дизайнеры освещения и архитекторы прошли долгий путь, прежде чем научились размещать источники света так, чтобы не создавать ярких точек, разрывов или одиночных областей. Производители световой арматуры стараются создать такие приборы, которые рассеивали бы свет равномерно и без узоров. И то, и другое в реальном мире достигается с трудом, равно как и в 3DS МАХ.
Часто, особенно в архитектурной визуализации, очень важным оказывается имитация внутреннего освещения. Хотя для достижения реалистичного вида понадобится дополнительное время, но красивые эффекты безусловно достижимы.
Большинство дизайнеров освещения стремятся к ровному освещению всех областей и резервируют выделяющееся освещение для привлечения внимания к деталям архитектуры или художественным работам или для собственных световых узоров. К сожалению, в компьютерной визуализации слишком распространены чрезмерно ошеломляющие световые источники и их влияние. Простое присутствие источника света вовсе не означает, что его эффект должен быть вульгарно очевиден.
Плафонные источники являются типичным примером указанной тенденции. Многие модельеры полагают, что они обязаны продемонстрировать эффект каждого источника света. В конце концов они есть и расставлены, и может быть даже смоделированы. Для того, чтобы обнаружить присутствие источника, его яркая точка делается резкой, а свет - сильным. В результате появляются области света - характеристика, которая применяется для подчеркивания некоторых объектов - но в общем это результат плохой проработки светового дизайна. Правильный способ освещения сцены заключается в применении широкого, мягко перекрывающегося, размытого света, области которого не слишком различимы.
Настенные светильники представляют собой осветительные конструкции, требующие акцентирования своих световых эффектов. Их непрямой свет часто используется для создания на стене световых областей, украшенных фестонами, и освещения потолка - при намерениях осветить область комнаты непрямо отраженным от потолка светом. Поскольку в 3DS МАХ подобный эффект не может быть достигнут автоматически, его следует имитировать как показано на рисунке 19.22.
Качество светового фестона управляется размером яркой точки, но не ее интенсивностью. Данные эффекты не потребовали применения теней или даже ослабления. Распространенная ошибка состоит в предположении, что данные эффекты требуют превышения границей света размеров фонаря и отбрасывания тени для формирования среза и порождения резкого края. При таком конструировании время визуализации значительно увеличивается. На самом деле так следует поступать только тогда, когда осветительная арматура прозрачна или полупрозрачна и необходимо отбрасывать тени от внутренностей источника. Ввиду того, что свет в 3DS МАХ не отражается, имитация отраженного света (отражение, radiosity) требует дополнительного источника света.
Прямоугольный точечный и направленный источники обеспечивают метод эмуляции освещения линейными источниками света, подобными флюоресцентным лампам. Если их сделать прямоугольными и тщательно управлять ослаблением и границей света, то данные источники достаточно неплохо имитируют линейные источники света. Иллюминация направленного источника будет значительно сильнее по сравнению с точечным. Выбор, что использовать, зависит от желаемого эффекта. Для наиболее ровного света часто лучше применять направленный источник.
Светящиеся надписи относятся к категории объектов, имитировать которые приходится достаточно часто. Однако до начала моделирования каркаса и размещения источников света следует внимательно посмотреть на то, как на самом деле надпись будет освещать сцену.
Большинство надписей предназначены для чтения, а основной характеристикой, делающей надпись читабельной, является контраст. Контраст создается из цвета и освещения, что и является причиной, по которой большинство надписей не освещают стену, на которой размещаются, но отбрасывают свет вперед. Края или боковые стенки большинства надписей затемнены и боковая задняя стенка зарисована черным. Это предотвращает отбрасывание света на поле надписи и понижение, если даже не уничтожение, контраста.
Учитывая сказанное, для надписей хорошо применять самосветящиеся материалы. Объекты кажутся светящимися, поскольку не имеют фоновых теней и не отбрасывают свет на окружающую область. Для дополнительного мазка в Video Post включен фильтр Glow, добавляющий вокруг источника красивую ауру, обогащающую атмосферу. Если знак расположен на карнизе или изолирован на стене, то больше ничего не требуется. Незачем отбрасывать свет туда, где ничто не может его принять. Если же знак расположен рядом с другой поверхностью, то для завершения иллюзии самосвечения требуется создание дополнительных источников света.
Наиболее распространенной формой являются самосветящиеся надписи. Такая надпись обычно принимает форму изолированных символов с полупрозрачными гранями, проецирующими цветной свет (см. рис. 19.23). Подобный тип надписи весьма прост.
Начав с желаемого текста используйте самосветящиеся материалы (85% свечения является хорошей отправной точкой) и возможно Glow, предоставляющий возможность простого самосвечения без специального освещения.
Одной из самых интересных форм освещения является неон. Допускаемые изгибы и форма, а также интенсивные цвета делают его популярным образцом для подражания. Однако при этом он многих ставит в тупик. Посмотрите внимательно на неоновую надпись и вы увидите, что она сама отбрасывает небольшое свечение. Символы очень ярки, но излучаемый свет можно описать только как насыщенное свечение, которое на самом деле облегчает моделирование (см. рис. 19.25).
Приведенный рисунок иллюстрирует технологию, которая адекватна для плотной неоновой надписи, но не подходит для неона, изменяющегося по форме. С появлением Glow художественный неон свободной формы стал легкой задачей. Рисунок 19.26 является примером применения Glow в неоне свободной формы. Использование канала эффектов материала и формы лофтинга существенно упрощает создание неона свободной формы.
3D Studio MAX предоставляет в распоряжение аниматора несколько самых лучших инструментов работы с камерой, которые позволяют создавать невероятные анимации, соперничающие с произведениями из Голливуда. Посредством 3DS МАХ аниматоры получают полный контроль за всеми аспектами камеры - от создания до выходного разрешения.
В данной главе рассматриваются следующие темы:
Однако прежде чем стать Стивеном Спилбергом или Орсоном Уиллисом следует познакомиться с основами создания и размещения камер в 3DS МАХ.
Создание камеры выполняется достаточно просто. Вы щелкаете на кнопке категории Camera (идентифицированной пиктограммой камеры) на панели Create, щелкаете на желаемом типе камеры в свитке Object Type и затем щелкаете (для Free Camera - свободной камеры) или транспортируете (для Target Camera -целевой камеры) в любое видовое окно. Камера размещается там, где производился щелчок или начиналась транспортировка.
После создания камеру можно настроить любым из двух способов: используя для камеры стандартные трансформации Move и Rotate и применяя кнопки навигации камеры с видовым окном камеры.
В 3D Studio MAX доступны два типа камер: целевые камеры (Target cameras) и свободные камеры (Free cameras). Каждый вид камер имеет свои сильные и слабые стороны.
Целевые камеры включают два объекта: камеру и цель камеры. Камера представляет вашу точку зрения, а цель указывает точку, на которую вы смотрите. Камеру и ее цель можно трансформировать независимо, но считается, что камера всегда смотрит на цель. Для создания целевой камеры выполните следующие шаги:
По конструкции Target-камеры стараются сохранять свой вектор (локальную ось Y камеры) выровненным с осью Z мира. Создание Target-камер в окне Тор устанавливает камеру с правильным начальным выравниванием и обеспечивает наиболее предсказуемые результаты. Создание Target-камеры в других окнах - где легко устанавливать камеру, смотрящую вниз или вверх, - может привести к непредсказуемым поворотам камеры.
Целевые камеры являются наилучшим выбором из камер общего назначения. Способность трансформировать как камеру, так и ее цель обеспечивает огромную гибкость при установке и выполнении анимации видов камеры. Тенденция конструкции Target-камеры к ориентированию себя по мировой оси Z также совпадает с нашими естественными ожиданиями от реальных камер.
Свободные камеры представляют собой единичный объект - камеру. Поскольку свободная камера не имеет цели, то она определяет свою цель как находящуюся па произвольном расстоянии вдоль негативной локальной оси Z. Для создания свободной камеры выполните следующие шаги:
Свободная камера размешается на сцене со своей локальной системой координат, выровненной с системой координат текущей плоскости конструкции. Ввиду того, что линия взгляда свободной камеры направлена вдоль своей отрицательной оси 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, тем шире FOV и тем дальше от объекта кажется камера. Чем больше параметр Lens, или как чаще выражаются - длиннее, тем уже FOV и ближе к объекту кажется камера. Объективы короче 50 мм называются широкоугольными, а объективы длиннее 50 мм называются телеобъективами.
Широко угольные объективы применяются для съемки кадров или установки сцены в первых нескольких кадрах анимации, тогда как телеобъективы переносят зрителя непосредственно в кадр. Поскольку широкоу-гольный объектив обладает меньшим фокусным расстоянием по сравнению с телеобъективом, он может включать в кадр больше информации- Телеобъектив включает в кадр меньшее количество объектов из находящихся на сцене.
Рисунки с 20.1 по 20.7 демонстрируют влияние разных объективов на вид сцены. Сцена остается одной и той же и камера не перемещается - изменяется только фокусное расстояние объектива.
Очень часто при работе со сложной моделью или анимационной последовательностью будет возникать желание создать несколько камер, смотрящих на сцену под различными углами. Когда на сцене имеется несколько камер, важно присвоить каждой камере уникальное имя, описывающее ее роль в рамках сцены. Имя по умолчанию для камеры (как умно!) - cameraOl. Все последующие камеры, созданные на сцене, не менее умно именуются как camera02, сатпегаОЗ и т. д.
С целью минимизации путаницы при выборе камер или при выборе камер по имени измените название камеры на что-то подобное groundcam, closeupcam, dollycam или carcam. Используйте имена, которые описывают либо положение/угол камеры, либо ее действие, либо объект,, на котором камера сфокусирована.
Обычно после создания камеру или ее цель необходимо переместить в окончательную позицию.
Для позиционирования камеры можно использовать трансформацию, но часто проще настроить камеру из вида Camera. Следующие разделы описывают использование элементов управления навигацией камеры и способы ее трансформирования. Однако для начала следует познакомиться с некоторыми деталями.
Прежде всего следует упомянуть, что иногда бывает трудно, выделить цель камеры, поскольку она расположена за объектами сцены. В таком случае выделите объект камеры, щелкните правой кнопкой и выполните пункт Select Target из всплывающего меню. Кроме того, цель камеры можно выбрать, выполнив пункт Cameras из списка Selection Filters на линейке инструментов и затем щелкнув на цели. Если вы собираетесь настраивать цель повторно разумно заблокировать выборку, щелкнув на пиктограмме Lock линейки инструментов или нажав пробел.
Во-вторых, при активизации видового окна камеры объект камеры автоматически не выбирается. Любой предварительно выбранный на сцене объект таковыми остается.
Элементы управления для использования в пределах вида камеры предоставляют большие возможности управления и значительную гибкость. Другими словами, камеры и их цели выделяются и трансформируются так же, как и любой другой объект.
Для установки вида камеры выполните следующие шаги:
Если на сцене определена только одна камера, она выделяется автоматически и диалог Select Camera не возникает. Можно также щелкнуть правой кнопкой мыши на метке видового окна и выбрать камеру из элемента Views всплывающего меню свойств видового окна.
Кнопки навигации видом камеры трансформируют активную камеру и изменяют ее параметры следующим образом:
СОВЕТ
Использование команд навигации видом камеры весьма существенно для позиционирования камеры в желаемом положении на сцене и для установки типа углов и эффектов, анимацию которых необходимо выполнить. Часто возникает необходимость перемещения камеры в видовое окно, отличное от того, где камера находится в настоящий момент, но детали и точную настройку лучше оставить для трансформаций, которые выполняются в видовом окне камеры.
Камеры и цели можно трансформировать подобно другим объектам сцены. Как упоминалось в предыдущем разделе, многие команды навигации видом камеры дублируются трансформациями камеры по локальным осям.
При трансформации объектов камер имейте в виду следующее:
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. Данная альтернатива иногда оказывается более простой и управляемой по сравнению с трансформациями и в результате обеспечивает более чистую и гладкую анимацию.
Пути можно нарисовать с использованием любого объекта формы, но наиболее распространена технология создания линии на сцене, вдоль которой будет двигаться камера. Преимущество подобной технологии состоит в том, что у вас имеется полный контроль за кривизной пути и не приходится полагаться на ключевые параметры настройки сплайна.
Для создания пути для переходов внутри офиса выполните следующие шаги:
После создания пути для камеры также следует создать объект Dummy, который будет выполнять роль посредника между камерой, целью камеры и путем. Хотя пути камеры можно присвоить непосредственно камерам, но тогда возникают серьезные ограничения. Когда камера и, возможно, цель жестко привязаны к пути, пространство для настройки камер, при котором не происходит повреждение плавности движения, оказывается недостаточным. Даже с новой свободной камерой непосредственное назначение пути не обеспечивает лучшего движения из возможных. Большие возможности для реалистического движения достигаются, если связать камеру или цель с двигающимся объектом или фиктивным объектом. (Объекты Dummy детально обсуждаются в разделе "Использование объектов Dummy для построения виртуальной студии" позже в этой главе.)
Использование путей является быстрым и эффективным способом перемещения камеры по серии сложных поворотов на сцене. Пути можно провести в точности по тем позициям, по которым должна проходить камера. Связав камеру и цель с объектом Dummy - очень похоже на реальную съемочную тележку - можно добиться гладкой анимации.
Нс следует передвигать камеру в анимации просто ради самого движения. Когда компьютерная анимация впервые приобрела популярность, то казалось, что каждый аниматор вертит камерой во все стороны и делает то, что в реальном мире невозможно. Для некоторых типов анимаций это подходит, но по мере совершенствования искусства наступило время разобраться с движением компьютерных камер и осознать, что они должны работать в основном так же, как реальные камеры.
Осуществляемое камерой движение существенно влияет на смысл анимации. Стоит ли камера на съемочной тележке? Панорамирует ли она конкретный объект или персонаж или обгоняет объект?
Как описывалось ранее, имеется возможность перемещать и выполнять анимацию объекта камеры несколькими способами. Въезд в кадр заставляет зрителя сфокусироваться на центральном объекте сцены - по сути вы говорите зрителю, что данный объект очень важен. Мыльные оперы, кажется, всегда наезжают или увеличивают масштаб персонажа в конце каждой сцены, добавляя драматизм к тому, что в данный момент открылось через диалог. Подобная техника, если ее применять слишком часто (как в мыльных операх), очень быстро становится очевидной, излишне драматичной и вычурной.
Но операторская тележка способна порождать и другие эффекты. Например, когда Стивен Спилберг въезжает со своей камерой в пасть акулы в "Челюстях", большинство зрителей испытывают чувство страха.
Операторская тележка может перенести зрителя глубже в области, которые он хочет (или не хочет) исследовать. Когда камера выезжает из туннеля и попадает в огромную пещеру, наполненную сокровищами, то это хорошо. Когда камера въезжает в дом Нормана Бэйтса (Norman Bates) и аудитория находит мать Нормана в подвале, то это плохо.
Кадры, снятые с операторской тележки, не всегда должны наезжать на главный предмет сцены. Точно также эффектен и отъезд камеры от персонажа или объекта сцены, когда зрителю говорится, что значение персонажа уменьшилось или между зрителем и предметом оказалось препятствие.
Существует два способа работы с камерой на операторской тележке. Каждый создает различные ощущения и эффект: постепенный наезд и быстрый наезд. При постепенном наезде зритель может даже не ощутить своего перемещения в направлении к или от центрального предмета сцены. Применяйте такой прием для создания едва заметного, но определенного эффекта приближения к объекту и намека на его важность.
Другой способ - быстрый наезд или быстрая горка может оказаться неприятным для зрителя, но эффектным с точки зрения драматизма. Быстрая горка хороша также в комедийных ситуациях. Например, что-то смешное только что произошло на сцене на среднем расстоянии. Вы можете сфокусироваться на реакции персонажа на происшествие. Быстрый наезд как можно ближе на реакцию персонажа может оказаться очень смешным.
Фактически камера в комедии играет очень важную роль, добавляя к сцене юмор. Быстрое панорамирование в сторону и назад от действия, как если бы камера перескочила сцену, может создавать смешные ситуации. Быстрый наезд, как обсуждалось, и быстрый отъезд - особенно, когда у персонажа случилась отрыжка - может оказаться эффективным использованием движения камеры для акцентирования сцены.
Еще одним движением камеры является панорамирование. Как обсуждалось выше, панорамирование вообще происходит тогда, когда камера разблокирована и становится центром мира. Камера может давать панораму дугой в 360°. Если камера начинает смещаться в сторону, движение больше не называется панорамированием, а вместо этого становится другой формой трекового кадра.
360°-пая панорама или в противоположность ей 360"-ная орбита (когда объект находится в центре мира и камера движется вокруг него) являются хорошими техническими приемами, дающими зрителю ощущения всеведения. Такая техника раскрывает практически все, связанное с объектом и может оказаться весьма впечатляющей.
Панорамирование бывает гладким и изящным или рваным и быстрым (которое называется быстрым или мелькающим панорамированием). Примеры быстрого панорамирования содержатся в телевизионных шоу, подобных NYPD Blue и Homicide. Быстрое панорамирование эффективно при использовании с субъективным видовым окном или точкой зрения первого лица (детально описываются в разделе "Теория композиции кадра" позже в этой главе). Последовательность быстрых панорам дает зрителю ощущение того, что персонаж пьян или потерял ориентацию.
Возникают случаи, при которых обнаруживается, что лучше вообще не двигаться - это замороженный кадр. Такой метод эффективен для показа смерти или завершающей сцены- Если сцена была полна жизни и затем вдруг застыла, это значит, что зрителю посылается серьезное предупреждение.
Некоторые режиссеры не любят перемещать камеру, полагая что движение отвлекает внимание от актеров и игры. Другие убеждены в противном и полагают, что камера может выступать персонажем со своими собственными чертами. Что касается аниматоров, им важно найти свою собственную точку зрения, учитывающую личные предпочтения в отношении перемещения камеры. В любом случае недопустимо легкомысленное отношение к перемещению камеры. Движение камеры по сцене усиливает ощущение трехмерности сцены и ее актуальности. Но имейте в виду, что хотя Орсон Уиллис и произвел впечатление в "Прикосновении зла" (Touch of Evil), отсняв непрерывные двух с половиной минутные кадры, главная причина произведенного впечатления заключается в том, что события происходят в реальном мире и кадры технически совершенны. В мире битов и байтов создание движения камеры настоль же просто, как и создание зеркально отраженной сферы.
Изучение механики создания хорошей анимации является относительно несложным делом, но требует понимания и знания эмоциональных эффектов, которые оказывают на зрителя движение и расположение камеры. Только в этом случае можно создать качественную анимацию. Качественную анимацию лучше всего определить как тип кинематографического произведения искусства, который западает в умы аудитории и остается там даже после того, как свет уже включен и зрители покинули театр.
Если вам приходилось когда-либо присутствовать на съемках художественного или документального фильма, то вы запомнили различные треноги, подъемные краны, операторскую тележку, камеры и т.п. Оператор применяет все эти механические устройства для гладкого перемещения камеры или обеспечения ее полной неподвижности. К сожалению, в компьютерной анимации все перечисленные устройства не существуют. Или же существуют?
Для построения некоторых видов того же самого съемочного оборудования можно использовать объекты Dummy. Они упростят анимацию сцены и предоставят возможность создания более гладких путей перемещения. Простейшее применение объектов Dummy заключается в создании треноги для камеры.
Создав эту простую иерархию, можно выполнять с фиктивным объектом сложные движения и камера будет гладко им следовать.
Более сложное использование объектов Dummy требуется при создании кранов. Представляемая разработка была выполнена Анжело Гуарино (Angelo Guarino) и послана на форум 3D Studio в CompuServe (GO KINETIX):
Сконструировав такой "кран" (см. рис. 20.12), вы получите много сложных движений, используя только ключевые кадры "eiidpoint" в рамках степени свободы каждого объекта. Поэкспериментируйте с перемещением каждого из объектов Dummy вначале отдельно, а затем в комбинации, пока не достигнете требуемого эффекта.
Например, если вы хотите наехать на объект и затем описать круг вокруг него, переместите фиктивный объект cam-position в направлении желаемого объекта. Когда объект находится у вас в кадре в желаемом виде, поверните фиктивный объект trgt-azimuth на требуемый угол. Сконцентрируйтесь на определении движений, используя ключевые кадры конечных точек каждого фиктивного объекта, и вы получите огромную степень управления перемещением камеры.
По существу вы создаете - поскольку многие факторы движения настоящих камер не оказывают влияние на компьютерные камеры - материальное обеспечение для производства гладкого движения камер. Если заблокировать определенные оси движения на каждом объекте Dummy так, чтобы он мог двигаться только в одном направлении (том, которое представляет его имя) и использовать данные объекты для всех перемещений камеры, можно легко устранить нежелательные рывки и тряску. Вы совершенно точно знаете, как двигалась каждая камера и при помощи какой трансформации.
После создания нескольких приспособлений сохраните их в виде отдельных файлов 3DS МАХ и по мере необходимости импортируйте в сцены. Механизм виртуальной студии в компьютере готов.
Контроллер 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 МАХ должен еще совершенствовать науку глубины поля. Этот недостаток можно использовать для своей выгоды. В другой сцене из Гражданина Кейна факт, что герои в равной степени хорошо видны на переднем плане, в середине сцены и на заднем плане, добавляет сцене важность, когда молодой, невинный Кейн играет на заднем плане, а его мать подписывает опекунство над своим сыном. В середине сцены отец Кейна беспомощно стоит. Композиция показывает зрителю невинность мальчика и в то же самое время подготавливает зрителя стать свидетелем событий, которые навсегда лишат героя детства и свободы. Данный технический прием увеличивает эффективность сцены, чем если бы Орсон Уиллис снимал каждый элемент отдельным кадром-
ПРИМЕЧАНИЕ
Третий способ применения камеры для драматической композиции сцены заключается в изменении углов, под которыми устанавливается камера. Существует четыре базовых угла камеры, каждый со своими вариациями:
Установка камеры на уровне глаз является стандартной. Вид сцены получается нейтральным и объективным. Такой кадр удобен. Он применяется в большинстве ходовых фильмов и историй о любви.
Высокий угол - это когда камера смотрит на объект или персонаж сверху вниз. Использование такого угла уменьшает персонаж или объект, поскольку зритель смотрит на него в буквальном смысле "сверху". Персонаж выглядит мельче и уязвимее.
В Происшествии намосту Оул Крик главный герой падает в быстрый поток и уносится прочь через пороги. Сцена снята с высокого угла и герой в кадре кажется маленьким. Эта высокоугольная композиция усиливает тот факт, что герой уязвим.
С другой стороны, кадр с низкого угла делает персонажи или объекты более сильными, обладающими мощными фигурами. Если вы хотите, чтобы персонах казался более героическим - может быть, даже карикатурно героическим - поместите направленную вверх камеру на уровень его бедра. Такое положение камеры придаст персонажу уверенный и сильный вид. Кадр с низкого угла делает вид объектов монументальным и здоровым.
Установки низкого угла можно применять для достижения и других эффектов. Стивен Спилберг использовал низко установленную камеру в Е.Т.: The Extra-Terrestrial для показа точки зрения ребенка. Камера помещалась на высоту ребенка, показывая аудитории сцену с детской точки зрения на мир. В результате взрослые в фильме выглядели более грозными.
Каждый из упомянутых углов можно смешивать с другими углами и достигать даже больших эффектов. Например, соединяя сцену, снимающуюся с низкого угла, с небольшим поворотом поля зрения, можно достичь дезориентирующего эффекта и повысить ощущение драматизма. Данная техника полезна при съемке или анимации злодеев, для того, чтобы сделать персонаж более зловещим. Эффект может вывести зрителя из равновесия и заставить почувствовать свою уязвимость.
Гражданин Кейн использовал высокий и низкий углы во многих кадрах для придания герою убедительной внешности и для уменьшения фигуры жены Кейна. Подобное применение углов камеры говорит нам что-то о каждом характере, не прибегая к словам. Таким образом можно показать аудитории, что думает один герой о другом.
В каждой сцене, когда Кейн и его жена вместе, Кейн всегда снимается с высоты его талии или с низкого угла, как бы с точки зрения его жены. Тем самым ему придается доминирующий вид. По контрасту жена всегда снимается с высокого угла и тем самым открывается ее слабость и послушание Кейну.
Использование определенного угла при каждом появлении героя на сцене настраивает ум зрителя на острое ощущение персонажа. Позже, когда герой снимается с нейтрального угла, с уровня глаз, закрепленные ощущения будут действовать уже подсознательно.
Четвертый тип угла камеры - это субъективная точка зрения. Такой угол призван сообщить аудитории точку зрения на сцену первого лица. Эффект весьма полезен, если им не злоупотреблять. При чрезмерном усердии эффект становится вычурным и отвлекает зрителя от сюжета.
Примеры субъективной точки зрения можно видеть в любом фильме ужасов, где камера принимает роль убийцы, преследующего обуреваемую ужасом жертву. Другие примеры могут быть более добросердечны, как в Downhill Racer, где камера принимает роль заглавного персонажа - горнолыжника.
Для создания камер с субъективной точкой зрения в 3DS МАХ лучше всего воспользоваться свободной камерой, поскольку она лучше подходит для съемок с поворотами, пикированиями и заносами. Обратитесь к разделу "Движение камеры" ранее в этой главе.
Субъективная точка зрения может также предоставить аниматору возможность творческого создания сцен. В нашем предыдущем примере с чужаками вы можете показать, как чужак видит мир. Кадр с субъективной точки зрения - отличная возможность творчески продемонстрировать то, как видят мир глаза чужака (или вообще то, через что смотрят чужаки). Фильмы, подобные Хищник, Оборотень и другие, ориентированные на ужасные создания, делают это с большим эффектом. Может быть вы считаете, что чужак видит мир только в оттенках зеленого.
Применение субъективной точки зрения добавляет в анимацию напряжение и взволнованность. Если члены аудитории видят то, что видит чужак, то в этот момент сама аудитория становится чужаком (что не очень приятно, учитывая то, что чужак только что разрушил город). Или аудитория может смотреть глазами психопата-убийцы, преследующего очередную жертву. Вы увидите, какой внутренний эффект производится в аудитории.
ПРЕДУПРЕЖДЕНИЕ
Анимация представляет собой не просто искусство перемещения персонажа в реалистичной манере. Конечно, реалистичное движение персонажей и объектов важно, но не менее важно использование на сцене камеры. Считайте камеру еще одним героем. Если вы пытаетесь сделать призовую анимацию, сильную и полную смысла, то изучение искусства кинематографии играет существенную роль.
Определение материала - это практически всегда исследование с большим числом экспериментов. Распространенная техника заключается в копировании состоянии материала в смежные ячейки образцов для того, чтобы впоследствии можно было сравнить альтернативные подходы. Сохранение материалов в приватных библиотеках экспериментов также очень распространено (и настоятельно рекомендуется).
Материалы важны сами по себе и можно потратить много часов на улучшение палитры текстур сцены. Кроме того, почти всегда потребуется координировать свои усилия с традиционными пакетами рисования (такими как 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. В частности, вы изучите следующее:
Первостепенное значение для усвоения данной информации имеет отчетливое понимание того, как материалы могут разветвляться и образовывать иерархии или деревья материалов.
В 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 представляет собой ту алхимическую лабораторию, в которой можно получить практически любой вид поверхности, который только можно вообразить. Как и другие составляющие 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 как можно более близкой к качественным характеристикам обрабатываемой сцены. Элементы управления расположены вдоль правой стороны окон образцов материала (см. рис. 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 Material to Scene (поместить материал па сцену) доступна только в случае редактирова- пия теплого материала. Функция Put будет заменять одинаково названное определение материала на сцене редактируемым определением. Предыдущий горячий материал превращается в теплый. Последнее аналогично выполнению Replace при назначении сцене теплого материала, за исключением того, что не будет предупреждающего сообщения, задерживающего обновление.
Кнопка Assign Material to Selection (назначить материал выборке) назначает текущий материал объ- ектам, выбранным на сцене. Данная опция активна только при условии наличия выборки. Совместно функции Put и Assign составляют инструменты для изменения назначений материалов, предоставляя следующие опции для изменения определения назначенного материала:
Кнопка 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 (хотя это и не проблема при использовании графического акселератора с поддержкой памяти текстур). Для уменьшения запросов, связанных с памятью, реально в видовом окне отображается только полномочная картинка. Это позволяет отображаться даже очень большим образам за счет малых.
По умолчанию 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 может показаться очень сложным, но после небольшой практики он становится творческой и легко управляемой средой. Рисунок 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 Editor. Данный интерфейс доступен через кнопку Material/Map Navigator редактора. Пиктограмма на кнопке является абстракцией дерева иерархии.
СОВЕТ
Navigator по сути является подмножеством Track View, который обеспечивается для изучения шести деревьев материалов в редакторе. Как и в Track View, пиктограммы голубых сфер символизируют материалы, а зеленые трапеции представляют карты. Щелчок на каждом символе настроит Material Editor на заданный материал или карту на данном уровне. Это очень полезная техника быстрой навигации внутри или между сложными материалами. Хотя обеспечивается несколько опций фильтра, наиболее полезной для целей навигации является Material/Maps Only. Отображение параметров - сомнительная опция, поскольку параметры нс являются инструментами навигации и их значения изменяться не могут.
ПРИМЕЧАНИЕ
Кнопки 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 является эволюцией того, что содержалось в Materials Editor 3DS для DOS. Как показывает рисунок 21.15, тип материала Standard содержит 11 каналов проецирование в качестве отправной точки для создания расширенного дерева карт.
Теневые характеристики материала Standard разбиваются на три качества: Ambient (цвет, показанный в тени), Diffuse (цвет, показанный на освещенной стороне) и цвет бликов (см. рис. 21.16). Выбор правильных цветов для реалистичного эффекта требует определенного опыта. Начните с просмотра объектов реального мира, сделанных из материала с теми же самыми качествами. Пристально всмотритесь в их цвет, тень и блики. Похож ли цвет бликов на источник света или тонирует его? Как на затененный цвет влияет то, куда помещен объект? Изменяются ли цвета, когда свет проходит рядом с объектом?
Отраженные блики видны на тех поверхностях, которые по крайней мере немного блестят, и имеют место тогда, когда свет падает на поверхность под углом, обратным к позиции просмотра. Поверхность отображает рассеянный цвет материала тогда, когда она полностью освещена и либо приглушена, либо не подвержена ярким бликам. По мере уменьшения освещенности рассеянный цвет смешивается с фоновым. Там, где нет света, визуализируется только фоновый цвет (и затем то же самое происходит с фоновым светом сцены).
Большинство материалов соотносят свои цвета друг с другом, часто затеняясь в одном и том же семействе цветов. Material Editor упрощает затенение, предоставляя возможность копировать цветовые отметки, транспортируя их от одного материала к другому. Затем можно настроить такие свойства цвета, как белизну, черноту или значение, не затрагивая базовых цветовых отношений.
Одно из трех базовых качеств цвета, Diffuse, оказывает наибольшее влияние на вид материала и его проще всего определять. Рассеянный цвет - это цвет, на который ссылаются при описании материала в реальной жизни. Как можно чаще обращайте внимание на мир вокруг себя и анализируйте его цвета. Вы вероятно заметите, что очень мало объектов обладают полностью насыщенными оттенками. Некоторые объекты имеют тенденцию рассматриваться в качестве знаков (подписи, упаковки, реклама), игрушек и мультфильмов. Другие имеют тенденцию обладать более сложными смесями. Цвет Diffuse часто заменяется или смешивается с битовой картой при помощи небольшой кнопки рядом с цветовой отметкой, обеспечивая быстрый доступ к каналу проецирования Diffuse.
СОВЕТ
Зеркальный (specular) цвет или цвет блика смешивается с цветом освещения. Такая смесь варьируется от материала к материалу, но обычно окрашена в рассеянный цвет или бесцветна (нулевая насыщенность). Неплохая отправная точка для материалов - скопировать рассеянный цвет в цвет блика и увеличить элемент управления Whiteness, добавив белого.
Влияние, которое компонент блика оказывает на материал, прямо связано с его сиянием и значением силы сияния. Материалы, которые не сияют, не могут давать яркие блики. Если материал сияет и на материале формируется блик, рассеянный цвет материала подобно свету смешивается с отраженным цветом по аддитивному закону.
Отраженный цвет материала нс визуализируется, если не формируется блик от света, ударяющего в поверхность и отражающегося обратно в положение наблюдателя. Угол от вашего положения до поверхности должен быть равен углу отражения заданного света для того, чтобы этот свет создавал блик на поверхности (см. рис. 21.17). Обратите внимание на то, что угловые отношения были настроены функцией Place Highlight (разместить блик).
Хотя фоновое значение представляет затененную часть материала, оно существенно влияет на поверхность, поскольку обычно в заданный момент времени под воздействием прямого света находится только небольшая часть объекта. Большинство или по крайней мере часть объектов освещается бликовым светом, который затенен на их поверхностях. Поскольку поверхности затенены, то фоновый цвет смешивается с рассеянным цветом субтрактивным или пигментно-подобным способом. В полной тени используется исключительно фоновый цвет. Результирующий фоновый цвет, видимый без света, обычно достаточно темен, так как иллюминируется только от источника фонового света.
СОВЕТ
Теоретически очень мало материалов имеют различные фоновое и рассеянное значения. (Часть таких материалов светится или естественным образом переливается.) Затенение, происходящее с большинством поверхностей, является простым уменьшением иллюминации. Вот почему часто рекомендуется сохранять фоновое и рассеянное значения постоянными. На практике же большинство художников этого не делают.
Сделав фоновый цвет темнее рассеянного, вы углубите затенение и создадите богатую визуализацию. Такой прием интенсифицирует тени и предоставляет возможность более общего освещение сцены. Большинство художников стандартно копируют отметку цвета Diffuse в Ambient и затем уменьшают значение цвета, по крайней мере, на 50%. Если изучить библиотеки материалов, распространяемых с 3DS МАХ, можно увидеть, что подобный прием применяется практически к каждому материалу.
СОВЕТ
Когда сцена освещена исключительно фоновым светом, вид визуализиро ванной поверхности управляется цветом фона материала. Данный эффект "переключения" цветов важен для понимания того, когда для освещения сцены требуется использовать чистый белый фоновый свет (распространенная ситуация при создании плоских работ для двумерной печати). В случае применения белого фонового света ваш интерес полностью сосредоточивается на компоненте рассеянного цвета и ни на чем другом.
Слева от цветов расположены кнопки блокирования, замыкающие цвета так, чтобы они оставались одинаковыми. После этого настройка одного настраивает оба цвета. Использование блокирования ограничено, учитывая легкость, с которой можно копировать цветовые отметки. Вообще блокирование не поощряется, если только вы не желаете абсолютно чистого цвета. Материалы, которые получают выгоду от блокирования цвета, выглядят как яркий пластик и предназначены для художественной рекламы при создании двумерных объектов для гладкого освещения.
Замок справа от цветовых отметок управляет блокированием каналов проецирования Diffuse и Ambient. По умолчанию они блокированы всегда, так что когда выделена карта Diffuse, то она применяется и для фонового и для рассеянного цветов. При отключении замка канал Ambient станет активным, и рядом с отметкой цвета Diffuse появится кнопка ~ предоставляющая возможность окрасить текстурную карту способом, в соответствии с которым вы затемняете или насыщаете отметки базовых цветов.
Помимо элементов определения компонентов базовых цветов для материала существуют еще несколько управляющих элементов, завершающих раздел Base Parameters (базовые параметры) материала Standard. Они управляют режимом визуализации, сиянием, самосвечением, значением затемнения и проволочного каркаса, двухсторонностью и опциями Face Map. Данные базовые параметры служат в качестве стартовой точки для перечисленных критических качеств. Большинство из них имеют соответствующие каналы проецирования, которые заменяют или влияют на параметры.
Наиболее доминирующей опцией в материале Standard является режим затенения. Эта опция управляет тем, какой метод (алгоритм) визуализации будет использоваться для оценки и затенения базовых цветов и сияния. Три затеняющих режима (Phong, Metal и Constant) требуют одинакового времени визуализации, однако изменяют общие характеристики материала, когда визуализация выполняется окончательным визу-ализатором (см. рис. 21.18). Внешний вид поверхностей в видовых окнах остается неизменным, поскольку интерактивный визуализатор рассматривает все материалы как Phong. Возможности канала проецирования, тени, отражение и атмосфера обрабатывают все теневые режимы одинаково.
Режимы затенения Phong и Constant используют одни и те же свойства материалов, но обрабатывают затенение и сглаживание совершенно различным образом, Режим затенения Constant игнорирует группы сглаживания и ищет копланарные поверхности. Каждая копланарная поверхность или грань будет визуали-зирована с одним и тем же постоянным цветом со сглаженными ребрами вдоль граней. Подобный режим используется преимущественно создателями игр и плоских художественных работ.
СОВЕТ
Режимы затенения Phong и Constant включают опцию Soften, предназначенную для смягчения блика отраженного света, как показано на рисунке 21.19. Данная опция должна быть включена для всех материалов за исключением наиболее глянцевых - стекла, лаков, глянцованных рисунков или яркого пластика (опция определенно должна быть включена для любого отображаемого материала). Единственная причина, по которой опция не включена по умолчанию, заключается в том, что интерактивный визуализатор не умеет воспроизводить эффект Soften.
Режим затенения Metal (основанный на алгоритме Кука/Торраиса (Cook/Torrance)) работает с цветовой отметкой и значением Specular. Металлические материалы порождают цвет своего блика непосредственно от своего цветового компонента Diffuse и от формы кривой блика. Форма кривой блика и результирующее сияние на поверхности существенно отличается от получаемого в режиме затенения Phong, хотя значения сияния остается тем же.
Опция 2-Sided заставляет визуализатор игнорировать нормали граней поверхности и визуализировать обе стороны независимо от того, куда они смотрят. Данная опция предназначена для геометрий и поверхностей, сквозь которые можно видеть, подобных стеклу или проволочным каркасам (см. рис. 21.20), и моделирование обеих сторон объекта для реализма не требуется. Опция применяется также для очень тонких замутненных объектов, обе стороны которых нужно видеть, таких как игральные карты или бумажные деньги.
Использование двухсторонних материалов для более массивных моделей делает их вид странным, поскольку их ребра кажутся очень тонкими (что и есть на самом деле). Данная опция применяется также тогда, когда импортированные модели обладают проблематичными нормалями, требующими значительного времени для исправления. В последнем случае опция должна сопоставляться с корректировкой нормалей ввиду того, что опция является дорогостоящей и заставляет программу визуализировать гораздо больше граней, нежели обычно.
ПРИМЕЧАНИЕ
Опция Wire убирает поверхность и заменяет каждое видимое ребро элемента каркаса или лоскута линией или проволокой. Данная ситуация является одной из немногих, где видимость ребра поверхности влияет на его визуализированный внешний вид. Визуализированные характеристики проволок на самом деле ближе к характеристикам кусков бумаги. Поверхность проволоки является гладкой вдоль грани, чье ребро она очерчивает. Если ребро используется гранями совместно, то как показано на рисунке 21.21, проволока кажется перегнутым кусочком бумаги.
Размер проволоки управляется свитком Extended Parameters. Размер управляется здесь по двум методам. Pixels делает все ребра в визуализированном образе одинаковой толщины. Units придает проволокам реальную толщину. В любом случае проволоки имеют один и тот же радиус. Влияние вашего выбора на определение проволоки проявляется при просмотре поверхности в перспективе. Если толщина определена в пикселах, то она не уменьшается в перспективе, как будто вы ретушируете фотографию ручкой с пером одной толщины. Если толщина определена в единицах, проволока обслуживается как геометрия и, соответственно, в перспективе уменьшается. При визуализации в ортогональном или пользовательском окне два метода производят один и тот же эффект и все проволоки визуализируются с постоянной толщиной.
ПРИМЕЧАНИЕ
При определении размера Wire в единицах часто стоит потратить время и установить в диалоге Material Editor Option параметр 3D Map Sample Scale в размер, представляющий типичный масштаб сцены. Это улучшит ощущение материала в отношении поверхностей, которым назначается материал. Альтернативой является проведение многочисленных тестовых визуализации.
СОВЕТ
Степень отполированности, блеска или лоск материала определяется значениями 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 МАХ указанная опция влияет Ни непрозрачность ТОЛЬКО тогда, когда используется карта рефракции.
ПРИМЕЧАНИЕ
В материале Standard имеется три различных типа прозрачности: Filter, Subtractive и Additive. Тип Filter Opacity (по умолчанию) является единственным, который также использует цвет Filter (в противном случае имя цветовой отметки подсвечено серым). Цвет фильтра становится цветом в прозрачных областях поверхности, когда сквозь материал просматривается яркая сцена. Когда 50% непрозрачность просматривается на белом фоне, цвет Diffuse полностью заменяется цветом Filter. При величине процента от 50 до 100 цвета Diffuse и Filter смешиваются. Процент, меньший 50, создает яркие тени цвета Filter. Если фон не является белым, цвета изменяются. Если Background (фон) черный и замутненность равна 50%, поверхность имеет рассеянный цвет, а серый фон будет смешивать Filter и Diffuse. На практике цвет Filter действует в качестве дополнительного фактора, значение цвета которого влияет на общую непрозрачность поверхности. Если вы вообще не хотите, чтобы цвет Filter оказывал влияние на прозрачность, следует оставить цвет со значением по умолчанию 128 серого.
ПРИМЕЧАНИЕ
Тип непрозрачности 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 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.
СОВЕТ
При определении и использовании битовых карт целью является создание образа, корректно выполняющего работу. "Корректный размер" будет зависеть от размера выходного образа, выразительности отображения объекта и скорости, с которой он может передвигаться. Распространенная технология заключается в поддержке нескольких разрешений одного и того же образа так, чтобы в конкретной ситуации использовался наиболее подходящий размер. Исходный образ может начинаться из Kodak CD-ROM с разрешением 3072 х 2048 и использовать 25Мб. Таким образом, имеет смысл создать несколько меньших по размеру карт - 1200 х 800, использующую 3.8Мб, 600х400, использующую 1Мб, и 300х200, использующую только 240Кб. Помните, что уменьшение разрешения приемлемо, однако увеличение битовой карты практически ее размывает.
СОВЕТ
Из всех каналов проецирование Diffuse, видимо, наиболее проста для ссылки. Она применяет результат канала к поверхности материала очень похоже на картину или обои. Благодаря такой функциональности, во множестве других программ карты Diffuse часто называются "текстурными" картами. Если сделать канал Diffuse активным в полную силу, он заменит базовый рассеянный цвет. Ползунок Amount указывает степень использования канала проецирования. Уровни между 0 и 100 пропорционально смешивают компоненты цвета Diffuse.
Канал Diffuse уникален в том, что имеет справа пиктограмму замка. Активная (по умолчанию) карта Ambient заблокирована на рассеивание. Заблокированной канал проецирования Ambient имеет серый цвет и карта Diffuse используется для компонент рассеивания и фонового затенения. Разблокирование данной опции предоставляет возможность определения различных источников для компонента фона, как показано на рисунке 21.28. Разделение карт Ambient и Diffuse в основном применяется для интенсификации эффекта карт способом, по которому фоновый базовый цвет часто является более темной или насыщенной версией рассеянного базового цвета. Копирование карты Diffuse в качестве карты Ambient предоставляет возможность управления интенсивностью тени.
СОВЕТ
Применение незаблокированной карты Ambient без карты Diffuse создаст тонкий узор на поверхности, который будет исчезать при полной иллюминации. Подобного рода эффект можно использовать для узоров на металлических поверхностях, представляющих гравировки, анодирование или панели. Случайные узоры могут придать поверхности мягкую текстуру, увеличивая правдоподобность сплошных цветов.
Канал Specular предназначен для специальной цели на случай, если необходимо управлять тем, что видно на отраженном блике материала. Такой эффект может быть едва заметным отражением или просто вариациями, которые видны как блики света, проходящие над поверхностью. Канал Specular при активизации в полную силу заменяет базовый цвет отражения. Ползунок Amount указывает степень использования канала проецирования. Уровни 0-100 пропорционально смешиваются с компонентом цвета Specular. Данный канал проецирования является единственным, который влияет на цвет отраженного компонента. Металлическое затенение не имеет отраженного компонента, поэтому канал Specular обесцвечен.
СОВЕТ
Эффект карт отражения зависит от ряда других переменных материала и сцены. Координаты отображения диктуют, где на поверхности разместится карта, освещение сцены, и положение наблюдателя относительно поверхности определяет, где будет появляться блик. Свойства сияния материала диктуют, насколь велик и как чист по цвету окажется блик. Как отраженный цвет смешивается с рассеянным, так делает и карта отражения. Помните, что высота кривой Highlight определяет чистоту цвета, а ее ширина указывает на размер блика. Поскольку всегда можно смешать по крайней мере края, рассеянный цвет или карта оказывают значительное влияние на окраску отражаемого образа.
Распространенное применение карт Specular заключается в размещении образа источника света сцены на объекте. Ввиду того, что данный образ имитирует отражение, битовая карта должна представлять, какой требуется видеть область вокруг источника света, вызывающего блик. Голая лампочка, узорчатое окно с занавесками, витиеватый уличный фонарь, жаркое солнце - это всего лишь несколько примеров. Дополнение объекта картой Specular существенно повышает реализм. Часто отражение видно на блестящих объектах из повседневной жизни. Когда вы видите форму окна на блике надувного шара, это как раз и является эквивалентом карты Specular. Карты Specular особенно удобны при использовании в сочетании с картами Reflection. Отражение (Reflection) усиливает иллюзию сияния материала. Вид Specular Reflection соседней неоновой надписи, например, на битовой карте блика является весьма реалистичным мазком. Еще одно распространенное применение карт Specular заключается в размещении текстуры, которая видна только на блике. Круги и пятна на воде (см. рис. 21.29) - типичные примеры этой техники.
Эффект канала Specular тесно напоминает эффекты каналов Shininess и Shininess Strength. Эффекты сходны благодаря тому, что цвет канала Specular объединяется с рассеянным цветом аддитивным или основанным на свете способом. Если карта Specular записана в оттенках серого и не насыщена, влияние блика материала практически идентично влиянию карт сияния. На практике канал Specular предназначен преимущественно для представления цвета. 34 7-чя
Карты выдавливание (имитации рельефа) придают поверхности моделируемую структуру, указывая области для вытягивания, проектирования или "выдавливания". Визуализатор создает такую иллюзию за счет применения значения света на отображаемой поверхности таким способом, что ребра или "выдавливания" могут отбрасывать тени и принимать блики. Карты Bump не оказывают влияния на геометрию. То, что выглядит как поднятые края, на самом деле является просто иллюзией - это эффект визуализации, только имитирующий эффект блика и формы. Возможность действительной деформации поверхности часто называется отображением смещения (в других программах) и в 3DS МАХ выполняется посредством модификатора Displacement. Выдавливания предназначены для менее уловимой иллюзии, которая имеет отношение к поверхности, а нс к профилю.
Карта Bump читает интенсивность канала и считает, что черное не оказывает влияния, белое оказывает полное воздействие, а оттенки серого обладают пропорциональным эффектом. Ползунок Amount управляет величиной или кажущейся "высотой" выдавливания, а не процентом канала. Карты Bump проявляют тенденцию к наибольшей эффективности в случаях, когда они начинаются с нижних значений черного и работают вперед. На практике обычно получается более управляемый результат при наличии черного поля и работе в направлении среднего серого, чем если начинать со среднего серого и работать по направлению к белому.
СОВЕТ
Поскольку эффект карты Bump настоль хорош, имеет смысл точнее изучить его действие. Каждый пиксел карты Bump проецируется вперед подобно прямоугольнику. Пикселы, отличающиеся по интенсивности, проецируются отдельно от своих соседей подобно террасе и не наклонены один к другому. Неплохая визуализация эффекта карт Bump получается, если взять квадратные стержни и поместить их против аппроксимируемой поверхности. Подъем результирующего стержня соотносится с оттенками серого, которые потребовались бы для аппроксимации той же самой поверхности посредством карты Bump.
Хотя приведенную аналогию попять достаточно просто, она приводит к пониманию того, что выдавливание проектирует или понижает различные области. На самом деле иллюзия выдавливания создается за счет имитации гребней и понижении. Выступ ребра порождается разницей в цвете между соседними пикселами. Карты Bump нс влияют на свойства теней различных "террас", "уровней" или "шагов", появляющихся на поверхности. Все эти области визуализируются так, как если бы они были одной гладкой поверхностью ~ иллюзию глубины создают их выступающие ребра. Как показано на рисунке 21.30, иллюзия наиболее сильна тогда, когда с битовыми картами используются карты Mask.
Создание корректной битовой карты для эффекта выдавливания немного сродни искусству. Как и со всеми моноканальными картами, всегда лучше работать с оттенками серого, для лучшего определения контраста (к тому же 8-разрядные битовые карты требуют треть памяти по сравнению с 24-разрядными образами). Для имитации вмятин, желобков или чего-то подобного, проходящего по поверхности, можно начать с создания полностью белой поверхности, которая таким образом будет "снаружи". Площади битовой карты от серого до черного будут проектироваться меньше и, следовательно, окажутся "внутри". Для создания желобка поле делается белым, нижняя линия желобка - черной, а и стенки - серыми. "Рецепты" распространенных карт выдавливания приведены ниже и показаны на рисунке 21.31.
Удобным методом создания ровно затененных карт выдавливания со сглаженными ребрами заключается в моделировании их базовой геометрии в 3DS МАХ и использования визуализированных образов в качестве прототипов битовых карт (см. рис. 21.32). Сферическую карту Bump можно сделать, создав сферу, назначив ей матовый белый материал и поместив один точечный источник света напротив центра. Визуализируйте видовое окно Spotlight и у вас будет отлично оттененный и рассеянный образ, прекрасно подходящий для карты Bump. В случае применения такой технологии, сохранение альфа-канала с файлом TGA очень полезно. Эта технология обеспечивает подходящую маску для эффекта выдавливания и удваивает полезность битовых карт.
Как и большинство карт материала Standard, карты Bump наиболее удобны, если они координируются с другими каналами проецирования, имеющими соответствующие карты. Рисунок 21.33 показывает, как комбинируются отдельные карты Diffuse, Bump и Shinincss Strength и формируют в результате реалистичную поверхность. Легко обнаружить, что применяемые карты Bump часто должны копироваться как карты Shininess Strength и применяться в качестве масок для других каналов проецирования.
ПРИМЕЧАНИЕ
Реверсировать направление карты Bump можно тремя способами: изменив знак ползунка Amount, изменив знак Output Amount или посредством опции Invert. Каждый способ имеет свои преимущества и недостатки. Например, первые два способа поддаются анимации, а опция Invert - нет. Возникают случаи, когда требуется, чтобы выдавливание изменяло направление на одном и том же материале. Наплыв на одной стороне поверхности должен быть впадиной на другой стороне. Для достижения такого эффекта следует выделить грани с обратной стороны и назначить им дублирующий материал с реверсированным параметром выдавливания.
Карты Bump настоль ценны ввиду того, что могут имитировать гораздо большую геометрию, чем реально присутствует. Но если быть недостаточно внимательным, то они более восприимчивы к визуализации блеска или "зазубрин". Ниже представлен приблизительный порядок шагов, которые следует рассмотреть с целью достижении наилучшего эффекта Bump.
СОВЕТ
Создание выдавливаний внутри других выдавливаний является достаточно распространенным эффектом. Материал Ceiling Tile Square в стандартной библиотеке 3DS МАХ добивается такого эффекта за счет использования карты Composite, которая применяет карту Mask (см. рис. 21.34). Параметр Output Amount обеспечивает возможность независимого управления эффектом силы каждой выпуклости битовой карты.
Каналы 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 Strength является главным элементом управления текстурой и бликом, поскольку он усиливает значение параметра Shininess Strength. Без силы (Strength) не будет сияния. Таким образом, черные значения делают поверхность матовой, понижая силу до нуля, серые значения позволяют проходить определенной части значения силы и белый обеспечивает прохождение всего значения. Нет возможности увеличить результирующий блик при помощи капала Shininess Strength - можно только "маскировать" области, где сияние уменьшается. Ползунок Amount просто определяет проходимость канала. Определению одного и того же эффекта служат три переменные: параметр Shininess Strength, цвет канала Shininess Strength и ползунок канала Amount. Например, все три представленных ниже действия произведут 50% сияние:
ПРИМЕЧАНИЕ
Сходные в главном, эффекты капала Shininess работают совершенно иным образом, нежели канал Shininess Strength. Оба канала уменьшают соответствующие базовые параметры, но сокращение Shininess не "за-мутняет" блик, как это делает Shininess Strenght. Напротив, блик становится шире. Черные значения канала снизят сияние соответствующих областей до нуля, а белые вообще не пошлют никаких значений. После модификации канал проецирования через ползунок Amount значение вычитается из уже существующего значения Shininess. Если Shininess равен нулю и, следовательно, порождает максимальный по размеру блик, то модулировать ничего нельзя. Канал Shininess обладает максимальным эффектом, когда базовый параметр Shininess установлен в 100, что позволяет вычитать значения.
Вопреки сказанному в документации, следует быть особо внимательным в применении двух каналов сияния в сочетании друг с другом, поскольку они управляют очень разными эффектами. Канал Shininess Strength управляет яркостью блика, затемнением блика от полного до нуля, и не влияет на размер блика. Напротив, канал Shininess увеличивает размер блика и не оказывает непосредственное влияние на яркость блика. Если выполнить анимацию силы совпадающих каналов Shininess и Shininess Strength и соответствующие параметры имеют значение 100, блик окажется самым ярким в начале, но самым крупным в конце анимации.
ПРИМЕЧАНИЕ
В случае, если какие-либо другие каналы проецирования не применяются, карта сияния создает текстуру бликов на поверхности и вы самостоятельно определяете узоры сияния для совершенно гладкого и последовательно окрашенного материала. Ситуации, в которых требуется прибегать к такому методу определения текстуры, включают разломанные, поцарапанные, запачканные и пыльные области на сияющем материале, либо обгорелые, отполированные, позолоченные и влажные области на матовых поверхностях.
ПРИМЕЧАНИЕ
Каналы сияния наиболее часто используются в сочетании с другими типами каналов проецирования и добавляют к материалам реализм. Когда материал имитирует на своей поверхности различные эффекты, обычно необходимо варьировать блик в разных местах. В течение жизни поверхности ее возвышенные места являются объектом ежедневной подчистки. Грубость поверхности для различных материалов порождает разнообразные эффекты. Со временем более высокие области отполированных поверхностей становятся тусклее, тогда как грубые поверхности выглядят более гладкими и отполированными. Заклепки на грубом металле, приподнятые области старого дерева и выступающие точки скульптуры становятся ярче, тогда как протектор на шине, ручка ракетки и грани на стекле становятся тусклее.
В сочетании с картами выдавливания, каналы сияния могут сделать выступающие области более или менее отполированными, а утопленные области более матовыми (см. рис. 21.36). Качество сияния материала чаще всего соотносится с его впадинами и проекциями. Желобки между металлическими панелями, швы между обожженными кирпичами и трещины в кувшине являются матовыми по сравнению с остальной частью материала. Мерцание в таких областях испортило бы иллюзию, а повторное применение утолщений для управления бликом предотвращает мерцание. Это распространенная потребность и копирование канала Bump как канала Shininess Strength (чаще всего в виде экземпляра) следует рассматривать в качестве стандартной процедуры.
Когда для представления сквозных отверстий используется непрозрачность, канал Opacity (обычно в виде экземпляра) должен копироваться в канал Shininess Strength с целью предотвращения бликов в местах предполагаемых пустот (см. рис. 21.37). В противном случае области с нулевой прозрачностью обрабатываются так, как если бы они были чистым стеклом, и блики повисают в "воздухе", разрушая эффект.
Объединяясь с картами Diffuse, карты сияния делают разные области "нарисованных" поверхностей более или менее сияющими и могут дифференцировать области, которые на самом деле являются гладкими на ощупь. Глянцевый рисунок на стене, медные разделители в деревянном паркете, золотая листва в дсколс логотипа, обожженные заклепки на металле, стекло в раме - сияют сильнее остального материала и извлекут пользу от применения карты Shininess Strength. Карты Shininess могут заставить отражающий материал выглядеть особенно реальным в сочетании с картой отражения. Варьирование значений сияния заставляет отражение "танцевать" по поверхности вращающегося объекта. Когда карты сияния представляют не совсем гладкие материалы, подобные металлическим пластинам, их можно использовать для отражения нерегулярности и придания игры неуловимому слабому отражению.
Канал 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 только делают поверхность прозрачной - они не устраняют поверхность, т.е. прозрачная поверхность в большей степени похожа на чистое стекло или пластик, нежели на отверстие. Как и реальное стекло, прозрачные области будут отбрасывать блики, если имеется Shininess Strength. Для реалистичного моделирования пустот в материале с сиянием следует скопировать карту Opacity (обычно как экземпляр), чтобы она служила также и картой Shininess Strength.
Тени будут учитывать прозрачность, определенную картами Opacity только в случае, если они являются ray-trace-тенями. При использовании типа Filter Opacity по умолчанию цвет тени будет тонирован базовым цветом фильтра или картой Filter, если она определена. Источники света, использующие карты теней для своих теней, будут отбрасывать сплошные тени, независимо от способа определения непрозрачности.
Карты Filter Color обычно работают рука об руку с Opacity. Когда типом Opacity является Filter, карта Filter будет тоьгировать своей картой прозрачные области поверхности (обратите внимание на то, что другие программы могут называть подобное тонирование трансмиссивным (передаваемым) цветом). В случае применения ray-trace-теней тонированные области будут также переданы в результирующую тень (см. рис. 21.40).
На практике карты Filter Color практически всегда представляют собой цветные копии совпадающих карт Opacity. Такого рода совпадение требуется для отрисовки правильного цвета в отбрасываемой тени. Для того, чтобы карта Filter была эффективна, требуется некоторая непрозрачность. Полностью прозрачные поверхности не могут отображать или передавать какой-либо цвет. Если тип Opacity установлен в Subtractive или Additive, карта Filter игнорируется.
Хотя все в материале является иллюзией в поиске имитации, самой большой иллюзией кажутся отражения. В то время, когда ray-trace - визуализатор будет очерчивать отражения на сцене точно (и очень долго), окончательный визуализатор 3DS МАХ является сканирующим и предлагает многочисленные альтернативы для быстрого порождения убедительных результатов. Если объекты находятся в движении, то сказать, точны тени или нет, предельно трудно. Обратите внимание на то, что описываемые здесь технические приемы те же, в соответствии с которыми Rcnderman генерирует отражения, и они предельно убедительны в фильме Игрушечная история (Toy Story) от Pixar.
Отражения фундаментально отличаются от любого другого типа карт, поскольку являются (или претендуют быть) результатом окружающего мира. По этой причине они не используют и не требуют координат отображения. В то время, как другие карты фиксированы на поверхности, отражения зависят от положения точки зрения на объект. Если вращать отражающий объект вокруг его центра, отражение остается постоянным. Прекрасным примером являются лопасти хромированного пропеллера - пропеллер вращается, а отражение остается совершенно неподвижным.
Отражения можно использовать как сами по себе, например зеркала, либо как слабый мазок, делающий отражающий объект более реалистичным. Отражения либо применяются со связанным образом (битовой картой), либо генерируются непосредственно через типы карт Reflect/Refract или Flat Mirror. В первом случае отражения бывают предельно реалистичными и точными. Во втором случае отражение обычно должно быть иллюзией, усиливающей концепцию, что поверхность сияет и отражает.
Когда вы перемещаетесь вокруг объекта или стоите неподвижно, а объект вращается, текстуры зафиксированы, тогда как отражения перемещаются по стационарному объекту. Эффект отражения зависит от угла зрения и корректно вычисляется только при просмотре в видовых окнах камеры. Помните об этом, выполняя предварительные быстрые просмотры сцены для оценки материалов.
Независимо от источника отраженного образа визуализированным видом отражения управляет несколько правил. На цвет отражения в основном оказывает влияние компонент материала Diffuse и до некоторой степени компонент Ambient. На компонент Specular отражение не влияет (помните о том, что на компонент Specular влияет только карта Specular). Благодаря этому отражения не видны на бликах. Когда необходимо максимизировать отражение и сделать его зеркальным, выполните следующие шаги (или сделайте все наоборот для уменьшения отражения):
При использовании для отражения битовой карты до некоторой степени принято искажать или замутнять образ. Часто данный шаг выполняется ввиду того, что "отраженный" образ не имеет ничего общего с действительной средой и требуется только придать ему вид отражения. В других случаях отраженный образ может оказаться недостаточно велик, а геометрия недостаточно искривленной и в этой связи неубедительной. Многие материалы не зеркалоподобны, а только блестят и поэтому четкое отражение неприемлемо.
ПРИМЕЧАНИЕ
Дело в том, что карта Reflection представляет отражение и, следовательно, на сцене должно быть нечто, которое освещается и отражается на поверхности. Из-за того, что именно вы решаете, что "видит" поверхность, вы и несете ответственность за настройку эффекта отражения. Эффект можно разрушить, если яркость отражения существенно отличается от уровня освещенности сцены. Когда отражение слишком ярко, доступны следующие варианты:
С целью предотвращения отражения на конкретных областях поверхности следует использовать тип карты Mask. После этого поверхность потребует координат отображения для расположения маски. Рисунок 21.41 показывает пример использования карты Reflection с маской. Применение масок очень важно в случаях, когда материал содержит сияющие или матовые области. Если определена карта Shininess или Shininess Strength, ее вероятно следует повторно использовать ее в качестве маски Reflection. Таким образом можно модулировать и степень отражения, возникающую на поверхности.
Маски Reflection являются хорошими инструментами также для блокирования областей плоского зеркала. Маски отражения предоставляют возможность создания узора на поверхности зеркала и обхода ряда ограничений, не позволяющих распространить гладкое зеркало за пределы элемента. Примерами являются обрамленные картины, мозаика и гравированное зеркальное стекло. Естественно, повторное применение зеркальной маски в качестве маски выдавливания, текстуры и сияния.
Если посмотреть сквозь толстую вазу, увеличительное стекло или даже стакан воды, то сцена за материалом будет выглядеть изогнутой, искаженной или искривленной. Подобный эффект происходит из-за преломления света или рефракции. В компьютерной графике такое искажение называется рефракцией и моделируется посредством карты 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. Если объект содержит и то, и другое, как, например, хромированный текст, тогда для убедительного отражения необходимо использовать оба типа карт.
ПРИМЕЧАНИЕ
. Рисунок 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 генерирует во время визуализации шесть карт, которые включают объект и проектируются обратно на поверхность в соответствии со способом, чем-то напоминающим прямоугольное отображение. Канцсптуально визуализатор стоит на точке вращения объекта, выполняет мгновенный снимок сцены в каждом важнейшем направлении и собирает шесть образов в куб отражения. Размеры образов затем проецируются обратно на объект. В терминах компьютерной графики происходящее называется либо картой кубической среды (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 также генерирует отражение во время визуализации, но применение и результаты очень отличаются от тех, что дает Refract/Reflect. Гладкое зеркало - это единичный образ сцены, который проецируется обратно на поверхность так, будто поверхность его видит. Такой эффект наиболее часто приходит в голову, когда люди просят дать определение отражению. Главным словом в названии типа карты является flat (плоский), поскольку данный тип отображения правильно работает только с копланарными поверхностями.
Когда визуализатор анализирует объект, использующий карту Flat Mirror, он ищет первую грань в определении объекта, которая имеет идентификатор материала (ID#) для данного материала. Первая грань "побеждает" и определяет плоскость для результирующего отражения. Так как вы редко знаете, какая грань будет первой, хорошая практика заключается в назначении Flat Mirror выборке грани на подобъектном уровне или совершенно копланарным поверхностям. Назначение на уровне Sub-Object не требуется ~ вы просто убеждаетесь, что определяете зеркальную плоскость. При определении более одной плоскости отражение будет выглядеть как точечная проекция, поскольку нет поворота на ребрах (см. рис. 21.46).
СОВЕТ
В отличие от карт Reflect/Refract, Flat Mirror всегда рассчитывается с правильным разрешением и не имеет параметра размера карты. Гладкие отражения, которые в визуализации не видны, не рассчитываются. Такое свойство не причиняет никаких дополнительных проблем, поскольку Flat Mirror нельзя увидеть на отражении ни при каких условиях. Оперативная память, требующаяся для Flat Mirror, варьируется в зависимости от размера Flat Mirror на сцене, поскольку визуализирустся только тот срез сцены, который поверхность может реально видеть.
Многие поверхности содержат несколько зеркальных состояний. Текст, показанный на рисунке 21.47, демонстрирует типичный пример. Передние грани копланарны и им назначен Flat Mirror, тогда как фаски и стороны совместно используют карту Refract/Reflect. Создание такого разделения не представляет трудности, но требует определенного планирования. Когда один и тот же автоматически отображаемый материал применяется к различным объектам, генерируются отдельные карты отражений. Для создания в одном объекте множества отражений каждый экземпляр должен иметь разный автоматически отражаемый материал. Так, для нескольких отражений в одном и том же объекте следует применять материал Multi/Sub-Object с различными определениями материала для разных областей.
ПРИМЕЧАНИЕ
Корректно спозиционированные поверхности видят отражения друг друга и могут ими играть (бесконечное число раз, если поверхности перпендикулярны друг другу). Ввиду того, что каждая итерация требует очередного прохода визуализации, время визуализации может оказаться достаточно большим. В связи с этим предоставляется управление количеством обсчитываемых отражений. Для карт Reflect/Refract число отражений управляется параметром Rendering Iteration (под Auto Reflect/Refract Maps) в диалоге Render Scene. На практике редко потребуется увеличение количества отражений более трех, если конечно центром композиции не является отражение.
ПРИМЕЧАНИЕ
Отмеченная проблема решается за счет применения карты кубической среды, которая использует назначенные образы, а нс генерирует собственные. К сожалению, данная возможность в настоящий момент в 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 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. Уникальные параметры создают шум внутри самого градиента, а общие параметры влияют на градиент, как если бы это была одна карта.
По своей природе битовые карты несовершенны. Независимо от того, насколь ровно затенена или как сложна цветовая глубина, битовые карты являются просто организацией цветных квадратиков, которые мы называем пикселами. Эти квадратные пикселы прекрасны, когда просматриваются непосредственно в двухмерном пространстве, но начинают подводить при помещении в перспективу в трехмерном пространстве. Контраст пикселов увеличивается и появляется видимая ступенчатость, поблескивание, рваные края. Вот когда в игру вступают карты Filter и размывание. Карты Filter делают для 20-карт то, что сглаживание обеспечивает для геометрии с параметрами размывания, управляющими эффектом. Рисунок 21.51 демонстрирует эффект отсутствия фильтрации, а рисунок 21.52 показывает ту же самую сцену при включенной фильтрации. Хотя фильтрация требует несколько большей памяти, но явно видно, почему она является параметром но умолчанию.
Приведенные рисунки подчеркивают, что главный эффект размывания заключается в устранении поблес-кивания - тех самых предельно раздражающих линий "танцующих" пикселов и муаровых узоров. Поблески-ванис особенно заметно при переходе тонких линий в перспективу (на расстоянии) или при сближении (на сторонах кубов). Исследуйте левый куб на обоих рисунках и станет заметно, что без размывания диагональные линии кажутся зазубренными. Кроме того обратите внимание па то, что внешний вид текстуры мрамора практически идентичен на обеих рисунках. На самом деле небольшая разница имеется, поскольку фильтрованный мрамор несколько "мягче" по виду. Из всех типов карт размывание оказывает наиболее сильное влияние на карты выдавливания. Выдавливания вообще нс визуализируются корректно, если не включены карты Filter.
Карта Filter - это термин компьютерной графики, используемый по отношению к различным технологиям. 3DS МАХ обеспечивает для битовых карт два типа фильтрования: Piramidat (известный также под названием mip-проецирование) и Summed Агеа(известный под названием суммированная таблица области). Для большинства 20-карт по умолчанию применяется метод Pyramidal. Тип карты Bitmap предоставляет возможность выбора типа фильтрования для использования и для отключения.
ПРИМЕЧАНИЕ
Различие между двумя опциями фильтрования заключается в сглаженном качестве и запросах к оперативной памяти. Пирамидальное фильтрование нуждается в одном дополнительном байте на пиксел, но такая цена является минимальной по сравнению с достигаемой эффективностью. Фильтрование 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 и не требуют включения данной опции.
После того, как вы поняли, что данные элементы управления являются общими, то уникальные для каждого конкретного вида карт элементы уже не будут вас пугать (см. на рис. 21.55). Применение уникальных элементов управления подробно описывается в стандартной документации 3DS МАХ, дли случая фильтров Photoshop - в файле помощи и сопровождающем совместимом подключаемом приложении Photoshop. Тогда как типы карт Bitmap и Photoshop не допускают расширения, типы карт Checker и Gradient обеспечивают цветовые отметки Color, которые можно заменить на каналы проецирования и таким образом еще глубже продлить дерево материалов.
ПРИМЕЧАНИЕ
Тип 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 максимизирует выбор и предоставляет возможность комбинирования библиотеки битовых карт материалов бесконечным числом способов. При объединении эффектов из двух или более источников выполняется композиция. На практике применение данных типов карт критично для сложных реалистичных материалов.
Для ветеранов 3D Studio типы карт Mask и Composite покажутся очень знакомыми, а карта Mix является простой, но полезной опцией. Как показывает рисунок 21.59, каждый тип карты содержит два или более канала для выбора других типов карт. Наиболее часто дополнительными вариантами являются битовые карты.
Тип карты Mask содержит канал Map для поставки исходного образа и канал Mask для подавления исходной карты.
Маску можно представлять как трафарет, аэрозольный распылитель краски, кухонный профильный нож или узорчатое стекло, сквозь которое виден исходный образ. Белые области карты маски позволяют видеть исходный образ, черные области блокируют источник, а серые области обеспечивают пропорциональную видимость.
ПРИМЕЧАНИЕ
Тип карты Composite объединяет произвольное количество карт и установок по умолчанию уменьшая их количество до полностью управляемых двух. Карты перекрываются в соответствии со своими номерами, где Map 1 является основной картой и применяется первой. Map 2 применяется во вторую, очередь поверх Map I; Map 3 применяется третьей поверх Map 2 и т. д. Для того, чтобы увидеть основную карту, Map 2 должна обладать хоть какой-то прозрачностью. Это делается посредством альфа-канала или за счет использования карты Mask. По мере наслаивания все большего количества карт, верхние карты должны быть все более прозрачными, если вы хотите увидеть нижние. Данная ситуация похожа на то, как Video Post объединяет последовательные образы с многочисленными событиями Alpha Compositor.
ПРИМЕЧАНИЕ
Тип карты Mix смешивает два типа карт и предоставляет возможность управлять тем, как происходит смешивание. Параметр Mix Amount указывает процент Color 2, который добавляется к Color 1. Поскольку значение по умолчанию Mix Amount равно нулю, эффекта Color 2 не будет виден, если не увеличить Mix Amount. По умолчанию смешивание выполняется линейно. Если опцией Use Curve активизировать Mixing Curve, можно ввести интерполяцию так, как показано на сопутствующей Mixing Curve.
СОВЕТ
Можно также указать тип карты для 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 предоставляет возможность назначить разные материалы верхней и нижней части объекта. Какая часть объекта считается нижней, а какая верхней, зависит от его ориентации относительно мировой оси 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 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 тесно напоминают элементы управления типом карты Mix.
Значение Mix Amount управляет процентным соотношением двух смешиваемых материалов. Если определена ссылка па маску, Mix Amount обесцвечивается и смесь рассчитывается исходя из интенсивности маски (как моноканала). Когда используется маска, Mixing Curve может применяться для модуляции перехода между двумя материалами (смотрите тип карты Mix, где приведено большее количество примеров элементов управления). Крокодиловая кожа на рисунке 21.63 для достижения эффекта сделана из материала Blend. Главное различие между материалом Blend и картой Mix заключается в том, что материал Blend смешивает все определения материала, а не только типы карт. Материал Blend смешивает каждый параметр в двух определениях материалов, тогда как Mix оказывает влияние только на один канал внутри материала.
Материал 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 становятся очень специфичными и часто уникальными для каждого объекта, который их требует. Импорт каркасов из 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, 3DS МАХ Material Editor представляет значительную новизну из-за общего подхода и широчайшего диапазона возможностей. Хотя сравнение двух программ не является главной задачей книги, тем нс менее есть ощущение, что многие читатели получат пользу от аналогии. Если вы успешно создавали материалы в 3DS для DOS, то знание нескольких подробностей ускорит процесс изучения Material Editor и вы сможете работать с ним, как и с прежним редактором.
Обучаясь создавать 3DS МАХ материалы, импортируйте как можно больше своих любимых материалов 3DS для DOS и исследуйте их результирующий вид. За исключением нескольких использовании деколя и ссылок на CUB-файл, они должны конвертироваться в свои ближайшие эквиваленты в 3DS МАХ. Если вы знаете то, как материалы работают в 3DS для DOS, определите материал там, присвойте его объекту, импортируйте файл и изучите, как выполняется эквивалентный эффект в материале с новым определением. Такой путь может занять много времени, но зато вы подготовитесь к работе со всеми новыми возможностями 3DS МАХ.
В настоящей главе будут освещены следующие темы, связанные с проецированием:
В 3D Studio MAX трудность предсказания размещения и результатов координат проецирования была существенно уменьшена благодаря тому, что теперь результирующую битовую карту можно видеть в интерактивном видовом окне.
При настройке назначаемого материала, который использует битовую карту или процедурную 20-тексту-ру, ее можно отобразить в гладко затененных видовых окнах, щелкнув на кнопке Show Map in Viewport (Показать карту в видовом окне) среди элементов управления типом карты. Имеется возможность показать одну битовую карту на материал. Если вы уже отображаете материал и хотите посмотреть другой, первый материал отключается, освобождая место для нового. Показывая карту в видовом окне, вы точно позиционируете проецирование. В данной главе считается, что вы будете применять этот в высшей степени полезный механизм при любой настройке проецирования.
Для достижения скорости, обеспечивающей интерактивную работу проецирования в видовом окне, было сделано несколько упрощений. При просмотре битовых карт в перспективных видовых окнах, как показано на рисунке 22.1, мозаичность карт искажается, поскольку не происходит коррекции экземпляра битовой карты, как это происходит в окончательном визуализаторе. Если просмотр текстур в перспективе важен, можно включить опцию видового окна Texture Correction и взамен получить уменьшение быстродействия-На практике вы будете переключать эту опцию для проверки, поскольку ее постоянное включение существенно замедляет работу видового окна.
ПРИМЕЧАНИЕ
СОВЕТ
Хотя мир и объекты в нем описываются в координатах 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 в обоих направлениях.
ПРИМЕЧАНИЕ
Поскольку большинство параметрических проецирований применяется с мозаичностью 1х1, потребуется настройка мозаичности для большинства назначаемых материалов. Поскольку нельзя настроить параметрические координаты (исключая координаты для объектов лофтинга), это следует выполнить при помощи элементов управления мозаичностью, имеющихся в материале. Рисунок 22.4 показывает результат параметрического проецирования перед и после настройки мозаичности в параметрах материала.
Когда проецирование генерируется параметрически, мозаичность и ориентацию можно настроить только через параметры материала назначенного поверхности. Как альтернатива, в случае применения проецирования посредством модификатора 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. Поэтому данные общие методы настройки обсуждаются вместе. Короче говоря, при изменении вида проецируемого материала на поверхности доступны четыре возможности:
Из всех типов карт наиболее широко применяется тип карты Bitmap. Он включает широкий диапазон опций, которые также имеются и в других типах карт (подобных Checker). Bitmap из-за своей распространенности и легкости является типом карты, который данная глава использует в качестве примера для объяснения проецирования вообще. Для пользы обсуждения мы будем также использовать проецирование Planar, как пример модификатора UVW, для сравнения с параметрами типа карты Bitmap (см. рис. 22.7). При использовании проецирования Planar и мозаичности 1, вашей битовой картой по существу является гизмо проецирования.
Гизмо проецирования для модификатора UVW определяет границы, до которых простирается битовая карта материала. При масштабировании гизмо визуализируемая битовая карта использует и масштаб координат. В качестве альтернативы масштабированию гизмо имеется возможность управлять повторениями при помощи параметров мозаичности материала. По умолчанию мозаичность равна единице, что оставляет битовую карту соответствующей границам планарного гизмо. Мозаичность означает одно повторение, так что увеличение значения до трех трижды повторило бы битовую карту в гизмо планарного проецирования.
ПРИМЕЧАНИЕ
Значения мозаичности аналогичны по эффекту параметрам Х и Y масштаба для гизмо планарного проецирования, поскольку мозаичность 2 - это то же самое, что и масштабирование гизмо 1 к 2.
ПРИМЕЧАНИЕ
Когда параметр материала 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 являются методами масштабирования в соответственно параметрах материала и модификаторе 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 позиционирует гизмо, не оказывая влияние на масштаб, поэтому функцию безопасно использовать с гизмо, совпадающим с заданными пропорциями битовой карты. Учитывая, что прямого пути выровнять гизмо отображения и вид не существует, ниже приведен самый быстрый способ выполнения этого, исходя из предположения, что существует грань, перпендикулярная виду:
Функция Reset - это то же самое, что удаление и повторное применение модификатора. Она центрирует гизмо на выборке с ориентацией и масштабом по умолчанию. Функция Reset должна использоваться только тогда, когда необходимо начать все сначала.
Функция модификатора UVW Acquire предоставляет возможность копирования проецирования с объекта, которому уже был назначен модификатор UVW Map или даже модификатор Displace. Функция Acquire берет последний модификатор UVW Mapping или Displace, который находит в стеке выбранного объекта. Затем на экране появляется диалог, показанный на рисунке 22.13. Имеется возможность выбирать, должно ли проецирование получаться абсолютно или относительно.
Обе опции дублируют тип проецирования, опции мозаичности и переключения, а также масштаб гизмо. Выбор Absolute перемещает гизмо проецирования точно в ту же позицию и ориентацию, что и целевой объект. Это требуется в случае необходимости совпадения проецирований объектов. Absolute следует выбирать, даже если вы намереваетесь поворачивать гизмо проецирования, поскольку опция гарантирует выравнивание невращающейся оси. Выбор Relative хранит гизмо цели в точности там, где оно находится, и копирует ориентацию гизмо проецирования, масштаб и смещение. В реальности в выбранный объект копируется трансформация из выбранного гизмо объекта. ювшшЕШяявшаяавшя
ПРЕДУПРЕЖДЕНИЕ
Часто необходимо получить проецирование от другого модификатора UVW, примененного к тому же самому объекту. Для этого требуется выполнить несколько дополнительных шагов, поскольку данная операция не доступна в функции Acquire непосредственно. Наиболее целенаправленный метод заключается в клонировании объекта на сторону и обеспечении желаемого модификатора UVW Mapping в качестве последнего модификатора такого рода в стеке. Затем можно использовать Acquire для сопоставления гизмо. Данный метод может оказаться непрактичным при очень больших объектах из-за времени, требующегося для клони-рования. В качестве альтернативы зайдите в Track View и скопируйте значения Position, Rotation и Scale из треков желаемого гизмо в треки нового гизмо. Это именно то, что происходит, когда вы получаете проецирование абсолютно (за исключением того, что Acquire копирует все параметры модификатора, а не просто трансформацию).
СОВЕТ
Модификатор 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 является бесконечным в своих проекциях отображения. Координаты проецирования применяются через любые выбранные в стеке грани.
ПРЕДУПРЕЖДЕНИЕ
Проще всего понять проецирование в планарной проекции - наиболее распространенном методе проекции. В этом случае прямоугольный гизмо представляет точный размер битовой карты. При изменении формы гизмо картинка вытягивается. Как показано на рисунке 22.15, планарное проецирование проектируется сквозь объект бесконечно. Неважно, насколь близко пиктограмма приближена к каркасу, играет роль только размер пиктограммы и угол с каркасом.
Поскольку битовая карта вытягивается для соответствия координатам проецирования, в случае, если необходимо получить неискаженный результат, гизмо должо иметь те же пропорции, что и битовая карта, Функция Bitmap Fit, показанная на рисунке 22.16, существенно упрощает эту задачу. Нажатие Bitmap Fit предоставляет возможность выбора битовой карты для задания повой ширины гизмо. Существующая высота гизмо остается прежней независимо от пропорций битовой карты.
Часто точный размер битовой карты известен и требуется сопоставить его с размером гизмо проецирования битовой карты. Например, последовательность кирпичей 6х12, использованная на рисунке 22.20, должна всегда быть 48" х 32", если только кирпичи имеют обусловленный размер. К сожалению, нет четкого пути для обеспечения подобного совпадения. Требуемый размер можно обеспечить за счет создания временного объекта в точности необходимого размера, как показано в следующей процедуре:
Правильно отмасштабированный гизмо можно вращать и позиционировать и даже использовать функции Center или Normal Align.
Для наиболее точной настройки координат проецирования следует использовать Track View, поскольку Transform Type-In сообщает только информацию относительного масштаба, а при совмещении размеров требуется управлять их точными размерами. После добавления ключа для UVW Mapping Gizmo Scale можно щелкнуть правой кнопкой на ключе и получить Key Info, которая обеспечивает точные сведения о текущем масштабе гизмо со стопроцентным соответствием 2". Можно настроить значение масштаба, разделив на 50, и точно знать размер (в дюймах) гизмо проецирования.
ПРЕДУПРЕЖДЕНИЕ
Если объект основан на сплайне, являющемся результатом Extrude, Bevel или Lathe, то определение правильного масштаба становится несколько труднее. Все перечисленные методы создания устанавливают проецирование, но делают так, что 1 х 1 повторяется по всей длине и высоте. Для достижения точности в единицах реального мира следует увеличить мозаичность материала до соответствия с определенным периметром сплайна. К сожалению не существует прямого метода определения длины периметра сплайна. Для получения искомой информации можно выполнить следующий обходной маневр:
В поле Path отображается длина пути. Если хотите, можете удалить временный лофт-объект или использовать его для трассировки положений точек на пути в единицах или процентах длины. Можно также модифицировать сплайн пути и увидеть результирующее обновление длины. Зная длину периметра сплайна, разделите ее на длину оси U реальной битовой карты и узнаете необходимое значение Tiling, как показано на рисунке 22.17.
Распространено мнение, что планарное проецирование применяется по нормали к поверхности. Хотя такое применение и производит неискаженное проецирование, однако сам подход часто оказывается неудобным. Некоторые объекты являются копланарньши, а некоторые включают углы, требующие совпадения координат смежных сторон. Например, кирпичная стена с углом требует совершенно ровных цементных швов. Для прямоугольной геометрии, которая характерна для большинства структур, существуют следующие варианты:
Проблема с первым вариантом заключается в том, что обеспечение выравнивания разных гизмо в будущих настройках может оказаться проблематичной. Фактически для такого управления можно использовать выражения. Второй вариант элегантен, но работает только в случае, когда объект действительно прямоугольный. Последний вариант работает быстро, не имеет накладных расходов и применим в большинстве ситуаций. Все три варианта предполагают, что гизмо обладает корректными пропорциями для желаемой битовой карты (т.е. была выполнена операция Bitmap Fit).
Ключ к корректному планарному проецированию заключается в обеспечении равного угла пиктограммы проецирования с каждой стороной каркаса. Если у объекта несовместимые углы, как у шестнадцатиугольника или восьмиугольника, то для смежных пар граней следует применять отдельные координаты. В таком случае потребуется выполнить выборки подобъектов граней подобъекта и применить отдельные модифика-торы UVW Mapping. Гексагон или октагон корректно отображаются двумя проекциями, тогда как 10- или 12-сторонний многоугольник потребовал бы три проекции.
Применяя проецирование под углом, вы захотите, чтобы проекция отображения была равна каждой принимающей его стороне. Угол подхода гизмо должен быть сходным у всех граней. Однако, когда угол проецирования гизмо становится отличным от 90°, проецируемый образ начинает вытягиваться. Вытягивание корректируется настройкой проецирования вдоль вытягиваемой оси одним из трех способов: масштабированием гизмо проецирования, настройкой мозаичности UVW Mapping или настройкой мозаичности битовой карты материала. Какой бы метод не был выбран, его следует использовать последовательно, делая будущее редактирование более четким и легким процессом. Из всех методов масштабирование гизмо наименее точно и трудно настраивается. Мозаичность материала является хорошим выбором только тогда, когда материал всегда применяется под углом, для корректировки которого производилось масштабирование. В большинстве случаев наибольший смысл имеет работа с мозаичностью модификатора UVW, поскольку модификатор соответствует проекции и может быть получен другими модификаторами проецирования, нуждающимися в сходных значениях. Рисунок 22.18 показывает, как это выполняется со значениями мозаичности.
Для корректировки вытянутого проецирования необходимо увеличить мозаичность карты. Значение увеличения зависит от угла поверхности и гизмо проецирования. Для углов в 90° (справа) коррекция происходит при мозаичности 1.414 - квадратном корне из двух и очень хорошем числе для запоминания, поскольку корректировка для квадратных углов достаточно распространена. Корректирующее отношение можно вывести либо из подхода, либо из включенного угла:
Рисунок 22.20 показывает вычисление отношения на практике. Обратите внимание на то, что угол подхода гизмо составляет половину угла, образуемую двумя сторонами. Если ваш гизмо расположен под равными углами к сторонам, то корректирующее отношение порождается из угла между сторонами.
Не бойтесь этих формул - они все одинаковые- Просто для некоторых проще полагаться на один метод, нежели на другой. Маленькая арифметика заходит далеко и можно запомнить корректирующее отношение 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 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 по сути обрабатывает битовую карту как круглый лист резины, оборачивая его вокруг объекта и натягивая подрезанную карту к низу. В результате получается практически неискаженная верхняя половина и вполне приличные бока. Рисунок 22.25 показывает, как это работает, оборачивая битовую карту по кругу. Поскольку 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) проецирование следует рассматривать как планарное, примененное с шести направлений, поскольку именно это и происходит. Пропорции, проецируемые каждой стороной, соответствуют пропорциям битовой карты. Масштабирование гизмо изменяет размер результирующего проецирования, как это происходит и в случае планарного проецирования. Неоднородное масштабирование гизмо означает, что стороны будут иметь различные пропорции отображения.
ПРИМЕЧАНИЕ
Битовая карта поддерживает высоту гизмо и масштабирует ось Х для совпадения пропорций битовой карты. Проекции Front, Back, Top и Bottom настроены, оставляя квадратные стороны Left и Right. Теперь, если требуется различное представление, можно вращать гизмо Box Mapping как угодно. Причина выбора тех или иных сторон зависит от способа их проецирования. Левая и правая стороны (ось Х гизмо) всегда рассматриваются "сторонами", тогда как другие оборачиваются вокруг оси Y, как показано на рисунке 22.27.
Box Mapping присваивает проецирование в соответствии с ориентацией нормали к поверхности гизмо. После того, как грань пересекает порог 45° между плоскостями проекций гизмо, она принимает проецирование с другой стороны. Таким образом Box Mapping является быстрым способом присвоения проецирования трудной геометрии.
Часто желательно, чтобы отображение, порождаемое Box Mapping, было одинаковым для всех сторон проекции. Так получается только тогда, когда гизмо Box Mapping представляет собой идеальный куб. Абсолютно кубическое гизмо проецирования прекрасно работает для материалов, использующих квадратные битовые карты, но вытягивает или сдавливает битовые карты других пропорций. Функция Bitmap Fit масштабирует гизмо для совпадения с битовой картой, но оставляет два конца квадратными и другие четыре непропорциональными. Если требуется, чтобы все шесть сторон были пропорциональны друг другу и битовой карте, следует настроить мозаичность карты, как показано на рисунке 22.28, и выполнить следующие шаги:
При правильно настроенном размере битовой карты Box Mapping идеально подходит для прямоугольной геометрии. Планарное проецирование предпочтительнее для локального управления отдельными областями с целью обеспечения критических выравнивании.
Управление тем, как материал должен пересекать поверхность, зависит от корректного применения проецирования. Решение того, как применить проецирование для получения желаемого результата, становится вопросом планирования - где применить, с какой проекцией, в какой ориентации и с какой мозаичностью. При окончательной доводке своих поверхностей на эти вопросы следует ответить.
Хотя практически каждая модель требует несколько отличных технологий, приводимые ниже стратегии полезны для определения, какое проецирование лучше подходит для геометрии модели:
Еще один ключевой момент при проецировании заключается в назначении его тогда, когда объект присутствует в наиболее чистой геометрической форме. Прежде чем разрушить стек моделирования, проанализируйте развитие форм и идентифицируйте точки, в которых проецирование проще всего выполнить. Например, лист лучше проецировать тогда, когда он только что вытянут и является гладким, нежели потом, когда он скручен и согнут. Нередко можно встретить деформирование объекта в форму, наиболее удобную для применения проецирования и затем восстановление прежней формы.
Последним следует рассмотреть расположение в стеке модификатора UVW, особенно при выполнении анимации модели. Если деформации происходят после модификатора UVW, координаты проецирования "прилипают" и проецирование вытягивает вершины объекта. Если деформация происходит перед модификатором UVW, объект кажется двигающимся по координатам, поскольку именно это и происходит.
Ни один художник не бывает удовлетворен первой анимацией, примененной к сцене. 3DS МАХ обеспечивает мощный набор инструментов управления анимацией, разрешающих редактировать ключи анимации и манипулировать ими во времени. Данная глава приводит обзор различных элементов управления анимацией, доступных в 3DS МАХ, вместе с их применением. В главе освещаются следующие темы:
При выполнении анимации сцены добавляется четвертое измерение - время. В предыдущих версиях 3D Studio единицей измерения времени был кадр. Концепция кадра присутствует в 3DS МАХ и сейчас, однако она теперь существенно расширилась. 3DS МАХ обеспечивает инструменты, необходимые для определения и отображения времени способом, совместимым с выводным форматом, и для легкого конвертирования между выходными форматами без неблагоприятного воздействия на время анимации.
Как видно из предыдущих глав, 3DS МАХ обладает широким диапазоном модификаторов объектов с параметрами, поддающимися анимации. Это предоставляет возможность создавать анимации более интуитивным способом по сравнению со старыми технологиями морфинга, порождающими те же анимации. Например, если вы хотели создать трубу, гнущуюся на ветру, то процесс, занимавший несколько целей морфинга, теперь в 3DS МАХ может выполняться за счет применения модификатора Bend и анимации значения угла изгиба. Анимация характеристик материалов объектов в настоящий момент обеспечивается просто изменением значений параметров на уровне материала без привлечения целей морфинга. Здесь перечислена лишь малая толика того, что можно оживить в 3DS МАХ.
Хотя стандартные виды сцены будут показывать результаты анимации, часто требуется видеть сами данные анимации. Например, может возникнуть желание увидеть, в какое время были созданы ключи для параметра, и либо изменить время, ассоциированное с ключом, либо отредактировать данные, хранящиеся в ключе. 3DS МАХ обеспечивает средство просмотра данных анимации под названием Track View (см. рис. 23.1). 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 МАХ показывают время анимации в любом выбранном формате.
ПРИМЕЧАНИЕ
3DS МАХ обеспечивает возможность изменения как частоты кадров, так и отображения времени в любой желаемый момент. Анимация при этом остается неизменной. Это удобно, поскольку можно создавать анимации для частоты кадров 30 fps, а смотреть на скорости Film или какой-либо другой, с целью сравнения, как анимация будет удовлетворять определенным постпроцессным модификациям. Например, если создана одноминутная анимация для видео, которое работает с частотой 30 fps, а затем появилась информация, что анимация будет работать как фильм (24 fps), то все что нужно сделать в 3DS МАХ - это изменить частоту кадров; при этом система автоматически перемасштабирует время, изменяя и, может быть, сокращая определенные ключи.
СОВЕТ
В диалоге Time Configuration указывается начало и конец времени анимации. Реально время начала и время завершения анимации указывает активный сегмент времени. Установка активного сегмента времени предоставляет возможность просмотреть только часть анимации, воспроизвести только указанные кадры и ограничить диапазон экранных ключевых кадров определенным временем. Изменение начального или конечного времени не оказывает влияние на время или значение предварительно созданных ключей.
ПРИМЕЧАНИЕ
Выбрав кнопку Re-scale Time в диалоге Time Configuration, вы перемасштабируете время, ассоциирующееся с ключами в активном сегменте времени. В диалоге Re-scale Time (см. рис. 23.3) можно изменять время начала, время завершения и длину нового активного сегмента времени. Время любых ключей, расположенных внутри исходного активного сегмента времени, масштабируется к новому активному сегменту времени. При изменении начального кадра любые ключи, появившиеся перед начальным кадром, перемещаются во времени на ту же самую величину, на которую изменяется начальный кадр. Если изменяется конечный кадр, любые ключи после конечного кадра перемещаются во времени на ту же самую величину, что и конечный кадр.
3DS МАХ предлагает несколько способов перемещения во времени и просмотра анимации. Примечательно то, что можно воспроизводить анимации в одном или нескольких видовых окнах 3DS МАХ в реальном времени и тем самым сокращать необходимость создания AVI-файлов предварительного просмотра для контроля продвижения работы. Очевидно возникнут персональные предпочтения при воспроизведении, но знайте, что в применении методов воспроизведения 3DS МАХ есть большие преимущества.
Диалог Time Configuration предоставляет возможность указать, будет ли воспроизведение проходить в реальном времени и будет ли задействовано только Active Viewport. Кроме того, 3DS МАХ предоставляет возможность воспроизвести только отдельные из видовых окон, например только Camera и Тор. Для этого другие видовые окна отключаются. Отключить видовое окно можно путем щелчка правой кнопкой на заголовке видового окна и выбора Disable View из всплывающего меню или использования "горячей" клавиши D. Неактивные видовые окна не показывают анимацию во время воспроизведения сцены.
ПРИМЕЧАНИЕ
Помимо способности проигрывать анимацию всех объектов сцены 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 стартует из выпадающего диалога Edit или из линейки инструментов кнопкой, на которой изображены желтые коробки, висящие па стебле. Типичный Track View показан на рисунке 23.4. Здесь слева представлен иерархический список оживляемых элементов вместе с их параметрами. Справа в виде точек на дорожках параметров представлены ключи. Кроме того, справа на дорожках элементов показаны отметки диапазона. Отметки диапазона проходят по диапазону времени, для которого присутствуют ключи параметров, подчиненные данному элементу. Глядя на рисунок 23.4, можно сказать, что элемент BoxOl имеет по меньшей мере один параметр, у которого есть ключ на кадре 0, и параметр, у которого имеется ключ на кадре 100. Точно так же можно сказать, что по меньшей мере один параметр, подчиняющийся элементу SphereOl, имеет ключи, представленные на кадрах О и 23. Трансформация BoxOl была расширена и легко заметить, что ключи присутствуют па треке позиции в кадрах 0 и 100. Track View имеет пять разных режимов редактирования анимации:
Track View, показанный на рисунке 23.4, находится в режиме Edit Keys. Каждый из режимов будет обсуждаться в последующих разделах главы. Но прежде всего мы рассмотрим структуру иерархического списка и элементов управления, общих для каждого из режимов редактирования.
Иерархический список представляет структурированный вид элементов на сцене. Высшие уровни иерархии соответствуют главным группировкам в 3DS МАХ звуков, среды, материалов и объектов. Нижние уровни иерархии проходят по деталям сцены, таким как отдельные объекты, базовые объекты и модификаторы, примененные к базовым объектам, и параметры, ассоциирующиеся с базовым объектом и его модификато-рами. Самый нижний уровень иерархии содержит оживляемые параметры, ассоциированные со сценой.
Каждый уровень иерархии можно расширить или свернуть для отображения большего или меньшего количества деталей. Для редактирования анимационных ключей параметра ветви дерева расширяются до отображения данного параметра.
Корнем иерархического списка является мир (World). Подчиняющиеся миру элементы - это Sound (звук), Environment (среда), MEdit Materials (материалы из редактора материалов). Scene Materials (материалы сцены) и Objects (объекты) (см. рис. 23.5). Линейка диапазона для мира отражает оживляемый диапазон для всех подчиненных элементов за исключением Objects.
Ветвь 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 показывает оживляемые элементы, ассоциированные со средой. Сюда входит фоновый свет, фоновый цвет и любые эффекты среды, определяемые в диалоге Rendering Environment (среда визуализации).
Ветвь MEdit показывает поддающиеся анимации параметры, связанные с материалами, которые в настоящее время определены в шести ячейках Material Editor. Ветвь Scene Materials показывает то же самое для всех материалов, назначенных сцене в текущий момент. Один материал в иерархии может показываться несколько раз - как материал MEdit, как материал сцены и ниже объектов, которым он назначен.
Ветвь Objects показывает оживляемые параметры, ассоциированные с определенными на сцене объектами. Иерархия показанных объектов определяется тем, какие объекты с какими связаны, и подобна отображаемому в Selected by Name (выбрано по имени) со включенной опцией Display Subtree (отобразить поддерево).
Расширение ветви объекта показано на рисунке 23.8. Если на объекте не размещалось никаких модифи-каторов, ветвь Modified Object заменяется ветвью Object.
Несколько команд Track View используется для управления отображением иерархического списка или применяется к элементам иерархического списка. Такими командами (см. рис. 23.9) являются:
Команда 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 также являются очень удобным способом выполнения того, что другим путем сделать в 3DS МАХ нельзя. Для создания следующего по пути гизмо, скопируйте контроллер пути из настоящего объекта в подобъект гизмо. Данный процесс описывается более подробно в главе 24, "Контроллеры и выражения".
Используйте кнопку Make Unique для преобразования одного или нескольких экземпляров переменных в уникальные элементы. Данные элементы могут быть экземплярами контроллеров, экземплярами объектов или ссылками на объект. Для того, чтобы сделать набор элементов уникальным, выберите данные элементы и щелкните на кнопке Make Unique. Все экземплярные элементы в наборе станут независимыми от других элементов. Уникальные элементы в наборе не затрагиваются.
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.
ПРЕДУПРЕЖДЕНИЕ
Дорожки видимости, подобно скрытым (Hide) дорожкам в 3D Studio R4, можно применять к отдельным объектам. Для создания дорожек Visibility следует находиться в режиме Edit Key. Выберите объект, к которому хотите добавить дорожки Visibility, и нажмите Add Visibility track. Дорожки Visibility создаются как ветвь выбранного элемента (элементов).
СОВЕТ
К сожалению, для дорожек 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 тиков).
ПРЕДУПРЕЖДЕНИЕ
После выбора одного или нескольких ключей нетрудно случайно отменить выборку, щелкнув в окне 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 работает с текущей выборкой ключей. 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 - за исключением 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 и затем вставлять их оттуда. В отличие от копирования ключей в режиме 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.
СОВЕТ
Ключи можно добавить к кривой, щелкнув на Add Keys и на кривой. Ключ добавится в указанную точку со значением ключа, равным текущему значению в данной точке.
В Function Curves можно также настроить параметры интерполяции, ассоциированные с каждой вершиной. Об этом будет рассказано в главе 24.
Кривые Ease и Multiplier применимы к любому оживляемому параметру. Ease Curve влияет на время ключей контроллера, к которому применяется. Multiplier Curve влияет на выводное значение контроллера, к которому применена. Для применения Ease Curve выберите один или несколько оживляемых элементов и щелкните на Apply Ease Сигуе.Для доступа к команде Multiplier Curve щелкните и удержите Apply Ease Curve и затем выберите из подменю Apply Multiplier Curve. Multiplier Curves присваиваются выбранным элементам таким же образом, как и Ease Curves.
Что такое Ease Curves проще понять на примере.
Применение 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.
Как утверждалось ранее, вывод контроллера по умолчанию вне диапазона его ключей заключается в выводе значения ближайшего ключа. Подобное действие называется типом 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 - коробки продолжали движение по прямой линии. Для мяча, прыгающего вниз по лестнице, можно было бы выполнить анимацию одного прыжка и затем зациклить анимацию, чтобы заставить мяч прыгать вниз оставшуюся часть лестницы. В следующем примере будет сделано именно так.
ПРИМЕЧАНИЕ
Линии диапазона для оживляемого элемента обычно начинаются у первого ключа и завершаются у последнего. 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). Это предоставит возможность выбрать один или несколько ключей, а также перемещать, вращать или масштабировать их.
ПРИМЕЧАНИЕ
Редактируя ключи траектории, легко заметить, что необходимы дополнительные ключи или у вас имеется больше ключей, чем необходимо для получения желаемого движения. Для добавления дополнительных ключей включите Sub-Object Keys, щелкните на Add Keys и затем на траектории в позиции, где необходим дополнительный ключ. Для удаления ключей включите Sub-Object Keys, выделите удаляемые ключи и щелкните на Delete Key.
В ряде случаев для редактирования с применением модификаторов формы проще преобразовать траекторию в сплайн. Сплайн создается экземпляризацией указанного диапазона времени, где каждая вершина сплайна является одним из созданных экземпляров. Взятые экземпляры равномерно распределяются во времени, в противоположность равномерному распределению по длине траектории. Область времени для экзем-пляризации указывается установкой Start Time во время, с которого хотелось начать экземпляризацию, и End Time - во время, когда хотелось ее завершить. Samples устанавливается в количество экземпляров, которые следует взять в указанном диапазоне времени. Щелкните на Convert To для преобразования траектории в сплайн с указанными параметрами.
В качестве траектории для объекта можно использовать отредактированный или новый сплайн. Для выбора сплайна, используемого в качестве траектории, нажмите Convert From. Из сплайна берутся экземпляры и конвертируются в положения ключей. Поля Start Time и End Time указывают диапазон времени, внутри которого разместятся эти ключи. Любые существующие в данном диапазоне ключи будут удалены. Любые ключи, существующие вне диапазона, не принимаются во внимание. Экземпляры берутся так, чтобы ключи, представляющие вершины сплайна, равномерно размещались во времени. Это означает, что взятые экземпляры обязательно равномерно располагаются по длине сплайна. (В главе 24 упражнение "Создание горящего фитиля с использованием оживленной шкалы лофтинга, системы частиц и контроллер пути" описывает, как повторно взять экземпляры сплайна для получения ключей, равномерно распределенных по длине.)
Все данные анимации в 3D Studio MAX обрабатываются элементами, которые называются контроллерами и хранят значения анимации, а также управляют интерполяцией от одного значения к другому. 3DS МАХ распространяется со множеством контроллеров. Понимание различий между контроллерами, того, как они работают, умение выбрать контроллер для работы в определенных обстоятельствах и умение настроить поведение контроллера является важным для получения желаемой анимации.
В данной главе разъясняется использование контроллеров в 3DS МАХ и освещаются следующие темы:
При создании объекта в 3DS МАХ особое подключаемое приложение, ассоциируемое с объектом, определяет список параметров, поддающихся анимации. С целью экономии памяти данным параметрам контроллер обычно не присваивается. Если пользователь выполняет анимацию параметра, последнему присваивается контроллер по умолчанию.
В дополнение к списку параметров, возвращаемого из подключаемого к объекту приложения, 3DS МАХ присваивает объекту контроллер трансформации. Контроллер трансформации отслеживает положение объекта в мировом пространстве, любые данные вращения, ассоциированные с объектом и примененные к объекту факторы масштабирования. При создании объекта контроллеры по умолчанию присваиваются контроллеру трансформации и его входным контроллерам.
Рисунок 24.1 демонстрирует параметры и контроллеры по умолчанию, ассоциированные с коробкой, которая еще не была оживлена, но ей был присвоен материал- Оживляемые параметры обозначаются зеленым треугольником. Для каждого параметра отображается имя параметра и в случае назначения контроллера за именем параметра следуют контроллер интерполяции и типы данных.
Хотя 3DS МАХ и назначает типы контроллеров по умолчанию, можно изменить тип контроллера параметра на другой тип. Кроме того, можно изменить типы по умолчанию, которые 3DS МАХ присваивает параметрам. Типы контроллеров для всех параметров изменяются в Track View. Типы контроллеров уровня трансформации на объектном уровне имеется возможность изменить из панели Motion.
Для изменения контроллера параметра объекта в Track View выполните следующие шаги:
Для изменения контроллера параметра объекта на панели Motion выполните следующие шаги;
Обратите внимание на то, что после выбора контроллера в диалоге Replace Controller кнопка Make Default становится активной. После выполнения на ней щелчка будет задан вопрос, уверены ли вы в том, что хотите, чтобы данный контроллер стал контроллером по умолчанию для всех параметров с одним и тем же типом данных. Если ответить утвердительно, то всегда, когда 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 вектора и угла вращения вокруг вектора.
СОВЕТ
Тип данных 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.
В следующем примере вы увидите влияние каждого из тангенциальных типов на движение объекта. Сцена состоит из сферы, которая перемещается по круговому пути. Две сплайновые формы показывают, каким мог бы оказаться путь, если бы путь следования был круговым или линейным. Обратите внимание на то, что повсюду в примере положение сферы в ключе всегда является положением, определенным ключом и время, ассоциированное с ключом, никогда не изменяется.
Контроллеры, использующие тип интерполяции ТСВ, выполняют интерполяцию между ключами на основе параметров ТСВ для каждого ключа. Параметры ТСВ можно настраивать, находясь в режимах Edit Key или Function Curve в Track View и щелкнув правой кнопкой мыши. Такое действие приводит к появлению диалога Key Info, в котором можно изменять значения. Для контроллеров, связанных с трансформацией, параметры ТСВ можно также настраивать в свитке Key Info панели команд Motion.
Следующее упражнение демонстрируют влияние, оказываемое параметрами ТСВ на движение объекта. Сцена состоит из сферы, двигающейся по круговому пути. Две сплайновых формы показывают, как выглядел бы путь, если бы путь следования был круговым или линейным. Обратите внимание на то, что везде в примере положение сферы в ключе всегда является положением, задаваемым ключом, и время, асоцииро-ванное с ключом, никогда не изменяется.
3DS МАХ распространяется с двумя типами параметрических контроллеров - Noise и Expression. Таблица 24,3 показывает типы параметрических контроллеров и типы данных, с которыми их можно использовать.
Таблица 24.3. Типы данных, доступные для каждого типа параметрического контроллера
Тип параметрического контроллера | Допустимые типы данных |
Noise | Position, Rotation, Scale, Float, Point3 |
Expression | Position, Scale, Float, Point3 |
Каждая комбинация параметрического типа и типа данных реализуется уникальным контроллером. Внутри группы контроллеров заданного параметрического типа способ, по которому задаются параметры контроллера, является одним и тем же.
Параметры для контроллера помех указываются в диалоге 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 для показа кривой функции параметра. Данная кривая изменяется при изменении параметров помех.
СОВЕТ
Поля Strength указывают диапазон выводных значений контроллера помех. Диапазон меняется от Strength/2 до "Strength/2, если опция >0 отключена, или от 0 до Strength в противном случае. Здесь существует два исключения. Прежде всего для типа данных масштаба значение 100 автоматически прибавляется к каждому из выводных значений помех. Это означает, что вы применяете, помехи к 100% фактору масштаба. Во-вторых, если включены фрактальные помехи, выводной диапазон увеличивается, а центральная точка не изменяется. Таким образом могут быть значения меньшие нуля даже тогда, когда включена опция >0. Для Roughness 0.0 диапазон увеличивается приблизительно на 10%, для Roughness 1.0 на 100%.
СОВЕТ
Поля 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.
СОВЕТ
Контроллеры выражений (Expression controllers) уникальны в том, что они оценивают определенные пользователем выражения и таким образом определяют свои выводные значения. Из-за своей относительной сложности контроллеры выражений детально описываются в этой главе позже. Для сравнения их с другими параметрическими контроллерами рассмотрите следующее основное упражнение, посвященное контроллерам выражений.
СОВЕТ
Как описывалось ранее, составные контроллеры принимают в качестве ввода вывод подчиненных контроллеров и объединяют полученные данные с любыми параметрами, ассоциированными с контроллером, манипулируют данными и выводят результаты.
3DS МАХ распространяется с двумя составными контроллерами уровня трансформации (контроллеры Position/Rotation/Scale и LookAt), контроллером, который объединяет вращение вокруг отдельных осей (контроллер вращения Euler XYZ), контроллером для перемещения объекта вдоль сплайна (контроллер Path position) и контроллером, который производит сложение результатов своих вводных контроллеров (контроллер List).
Способ, в соответствие с которым значения, выходящие из подчиненных контроллеров, используются в контроллере уровня трансформации, зависит от того, присвоен ли контроллеру объект, гизмо модификатора или центр модификатора. Для контроллера трансформации на уровне объекта возвращаемое положение является положением точки вращения объекта относительно начальной точки мировых координат. Возвращаемые значения поворота и масштаба относительны положению точки вращения объекта.
Для контроллера трансформации уровня гизмо модификатора или уровня центра, возвращаемое значение положения является относительным точке вращения объекта, т.е. центр модификатора, позиционированный в [О, О, 0] располагается в точке вращения объекта. Если точка вращения объекта после применения модификатора изменяется, гизмо модификатора и центр будут оставаться в своем начальном положении. Возвращаемые значения вращения и масштаба относительны положению центральной точки гизмо.
Контроллер трансформации Position/Rotation/Scale (PRS) объединяет ввод из контроллеров положения, вращения и масштаба (см. рис. 24.30). Вывод из контроллера PRS является матрицей трансформации, которая используется 3DS МАХ внутренним образом. Контроллер PRS можно применять только на дорожках трансформации объектов и гизмо модификаторов.
Никаких настраиваемых пользователем свойств с контроллером PRS не связано.
Контроллер трансформации LookAt объединяет вывод из контроллеров положения, вращения (тип данных Float) и масштаба (см. рис. 24.31). Вывод контроллера LookAt является матрицей трансформации, используемой 3DS МАХ внутренним образом- Контроллер LookAt можно применять только в качестве контроллеров трансформации для объектов, но не для модификаторов.
Контроллер LookAt вращает объект так, чтобы негативная локальная ось Z всегда указывала на точку вращения другого объекта. Параметр вращения задает угол поворота объекта вокруг локальной оси Z.
Целевой объект, за которым необходимо следить, определяется в качестве параметра контроллера LookAt. Целевой объект контроллера LookAt можно увидеть и отобразить только в разделе Parameters панели команд Motion. Свиток LookAt Parameters в панели команд Motion показан на рисунке 24.32.
Контроллер LookAt используется камерами Target, а также источниками света Target. При создании одного из этих объектов ему присваивается контроллер LookAt, затем создается фиктивный объект, играющий роль цели, и фиктивный объект определяется как цель LookAt.
Контроллер Path позиционирует объект так, чтобы точка вращения объекта располагалась на сплайне. Кроме того, создается параметр, подчиняющийся контроллеру Path. Параметр называется Percent (см. рис. 24.33). Параметр Percent задает положение на сплайне для использования в конкретный момент времени. Значение Percent автоматически устанавливается в 0 в начале активного отрезка времени и в 100 в конце активного отрезка времени,
Сплайн для использования в качестве пути указывается как параметр контроллера Path. Сплайн пути контроллера Path может устанавливаться и отображаться только в разделе Parameters панели команд Motion. Свиток Path Parameters на панели команд Motion показан на рисунке 24.34. Если выбранная форма содержит более одного сплайна, то в качестве сплайна пути используется первый из них.
Хотя контроллер Path классифицируется как позиционный, он также может изменять вращение объекта, к которому применен. Опции Follow и Bank в Path Options заставляют объект вращаться на основе кривизны сплайна пути. Вращение от контроллера Path дополняет любое вращение, определенное пользователем.
Когда опция Follow отключена, ориентация объекта не изменяется. При включенной опции Follow объект вращается так, чтобы "передняя часть" объекта всегда указывала вдоль касательной сплайна. "Передняя часть" объекта определяется как направление, указывающее вдоль положительной оси Х мира в начале активного диапазона. Таким образом правая сторона объекта в окне Тор является "передней частью" объекта.
Опция Bank указывает, куда смотрит верх объекта ("верх" определяется как направление вдоль положительной оси Z мира). Если Bank выключена или Bank Amount равно нулю, верх объекта пытается указывать в направлении положительной оси Z мира. (Две степени свободы используются опцией Follow, следовательно для опции Bank осталась только одна степень свободы. Таким образом верх указывает в направлении положительной оси Z мира только в той степени, в которой это возможно.)
При включенной опции Bank объект будет вращаться на основе локальной кривизны сплайна. Для низких и умеренных значений верх объекта имеет тенденцию указывать внутрь сплайна. Для высоких значений верх объекта вращается вокруг сплайна.
Smoothness (гладкость) определяет скорость, с которой разрешено меняться вращению при указании опции Bank. Высокие значения смягчают результирующее вращение. Эффекты параметров Bank Amount и Smoothness взаимодействуют друг с другом, поэтому для достижения желаемого движения обычно требуется небольшая интерактивная настройка значений. Как правило, для достижения гладкого движения следует использовать предельно низкие значения указанных параметров.
Во время проигрывания анимации можно было заметить, что конус двигается быстрее у концов эллипса и медленнее по сторонам. При использовании контроллера Path важно принимать во внимание взаимосвязь между положением вершин сплайна, служащего в качестве пути, и временем. 3DS МАХ позиционирует объект на сплайне во времени на основе количества вершин сплайна - а не длины сплайна или расстояния между вершинами. Каждая вершина преобразуется в равномерно распределенный во времени ключ положения. Например, если в качестве пути объекта используется линия с 11 вершинами, создается 11 ключей. Если активный диапазон времени находится между 0 и 100 кадрами, объект размещается на вершине 0 в кадре О, на вершине 1 в кадре 10 и на вершине 2 в кадре 20. В зависимости от расстояния между вершинами скорость объекта во времени может существенно изменяться.
В некоторых ситуациях требуется постоянная скорость вдоль всего пути. 3DS МАХ обеспечивает возможность модификации пути Безье так, чтобы по траектории объекта поддерживалась постоянная скорость. Модификация пути Безье для поддержки постоянной скорости выполняется в диалоге Advanced Key Info.
В следующем упражнении траектория эмиттера системы частиц настраивается на деформацию-дофт объекта. На сцене лофт-объект (Fuse) использует анимацию деформации масштаба для сокращения длины фитиля во времени. Деформация шкалы была определена так, чтобы длина фитиля сокращалась во времени с постоянной скоростью. Эмиттер системы частиц (Sparks) назначается контроллеру пути там, где путь является тем же сплайном, что и путь лофта (FusePath). Поскольку вершины для FusePath распределены неравномерно, Sparks предшествует деформации шкалы.
По умолчанию для дорожек вращения используется контроллер ТСВ Rotation. Хотя данный контроллер и обеспечивает гладкое вращение, однако кривые функций, связанных с данным контроллером, в Track View недоступны из-за того, что контроллер ТСВ для управления вращением применяет кватернионовскую математику. Кватернионовская математика имеет четыре значения - X, Y и Z единичного вектора (unit vector) и угол вращения вокруг единичного вектора (см- раздел "Типы данных контроллеров" ранее в этой главе, где приведены более подробные сведения о кватернионовской математике). Другие контроллеры вращения, также использующие кватернионовскую математику - это Linear и Smooth.
Помимо невозможности отображения кривых функций вращения для данных контроллеров, иногда требуется большее управление вращением, нежели обеспечиваемое данными контроллерами. 3DS МАХ обеспечивает дополнительный контроллер вращения Euler XYZ, для которого можно отобразить кривые функций и отдельно управлять вращением относительно каждой локальной оси объекта.
Рассмотрим случай, когда вращается объект вокруг осей Х и Y и необходимо настроить интерполяцию на один из ключей для вращения вокруг Х-оси. Значения контроллера ТСВ для данного ключа можно настроить либо в панели Motion, либо в Track View, но также будет настраиваться и интерполяция вращения вокруг оси Y в данном ключе. Используя контроллер ТСВ нельзя настроить значения интерполяции для одной оси, не затрагивая значения для всех остальных осей. Если используется контроллер вращения Euler XYZ, интерполяция для ключей, связанных с вращением вокруг оси X, может выполняться без влияния на вращение вокруг оси Y.
Дополнительные преимущества применения контроллера вращения Euler XYZ для объекта заключаются в том, что для каждой из осей вращения можно использовать свой контроллер выражения, а другие контроллеры выражения могут ссылаться на вращение объекта.
Контроллеры List применяются для объединения результатов нескольких контроллеров. Например, можно добавить помехи в предварительно определенное движение, назначив контроллер List желаемому параметру и добавив контроллер Noise в качестве ввода для контроллера List. Кроме того, контроллер List предоставляет возможность интерактивно добавлять дополнительное движение в параметр, управляемый параметрическим контроллером, подобным Path.
В следующем упражнении для части анимации используется контроллер Path, а затем для завершения анимации происходит переключение на контроллер Безье. Сцена состоит из мяча, движение которого управляется контроллером пути. Путь является кругом. Необходимо, чтобы в анимации мяч был неподвижен в начале, а впоследствии, передвигаясь по кругу, ускорился в три раза и улетел туда, где размещен фиктивный объект.
Контроллер List можно использовать для объединения контроллеров Path и Bezier и для того, чтобы заставить камеру следовать за объектом вдоль пути. Памятуйте об одном ограничении: если контроллер Path подчиняется контроллеру List, он должен быть первым контроллером в списке. Если это не так, то любые значения из контроллеров, предшествующих Path, будут игнорироваться.
В следующем упражнении сцена состоит из тора, катящегося между препятствиями. В данной сцене необходимо, чтобы камера всегда смотрела на тор и следовала позади него.
Контроллеры Bxpression оценивают определенные пользователем математические выражения и определяют выводные значения контроллеров. Контроллеры Expression можно применять практически ко всем параметрам 3DS МАХ, которые поддаются анимации. Контроллер Expression может получать вывод из других контроллеров и использовать в выражении полученные значения. Момент времени, для которого оценивается выражение, также доступен в нескольких формах. Для использования в выражениях определено множество встроенных функций. Параметры для контроллера Expression задаются в диалоге Properties. Для всех типов данных доступ к диалогу Properties осуществляется в Track View путем выбора параметра, которому назначается контроллер Expression, последующего щелчка в свободной области окна редактирования с целью убедиться, что никаких ключей не выбрано, и затем выполнения одного из следующих действий: щелчка правой кнопкой мыши на имени параметра, щелчка правой кнопкой мыши на линейке диапазона дорожки параметра или щелчка на Properties в линейке инструментов Track View.
Для контроллеров, связанных с трансформацией на объектном уровне, параметры контроллера можно настроить также из панели команд Motion, выбрав параметр в свитке Assign Controller, щелкнув правой кнопкой на параметре и выполнив Properties из всплывающего меню.
На рисунке 24.45 показан пример диалога контроллера Expression. При первом назначении контроллера Expression параметру, который уже имеет контроллер, окно уравнения показывает значение параметра в кадре 0. Если параметр не имеет контроллера, значение будет установлено в 0. Значение отображается в одном из двух форматов. Первый формат применяется в случае, когда назначаемый контроллер Expression имеет тип данных Position, Scale или Point3. Эти типы данных требуют, чтобы контроллер Expression вернул трехкомпонентный вектор. Формат выражения следующий: [eqnl, eqn2, eqn3]. Второй формат применяется в случае, когда параметр, которому назначается контроллер Expression, имеет тип данных Float. Последний требует, чтобы контроллер Expression возвращал скалярное значение с плавающей точкой. Формат выражения будет выглядеть как eqni. Если формат выражения некорректен или во время оценки выражения возникает ошибка, на экране отображается сообщение об ошибке.
В уравнении можно использовать два типа переменных. Первый тип. 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 коробки не может ссылаться на параметр ширины коробки. Однако выражение может ссылаться на параметры трансформации коробки и параметры для любых модификаторов, применяемых к коробке.
Значения, возвращаемые из контроллера и присваиваемые переменной, обычно являются выводными значениями контроллера в той же самой временной точке, которая оценивается. В ряде случаев желаемое значение является выводом контроллера в другой временной точке. 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. Ниже приведены обобщенные правила для действительных выводных значений контроллеров:
СОВЕТ
Дополнительный аспект, на который следует обратить внимание, заключается в том, что ограничения, налагаемые 3DS МАХ на некоторые параметры, действуют только во время ввода данных. Поскольку контроллер Expression обходит ввод данных, данные ограничения не всегда срабатывают. Примером является FOV камеры. FOV во время ввода данных ограничен углом в 175°, но контроллер Expression может представить любое желаемое значение. Несмотря на редкую фатальность, выходящие за пределы допустимого диапазона значения контроллера Expression могут приводить к достаточно неожиданному поведению. Лучше всего определить пределы изменений параметра и всегда в них оставаться.
В данном упражнении вы будете иметь дело с вращением доски объявлений так, чтобы фронт доски всегда смотрел в камеру. Однако доска всегда должна оставаться перпендикулярной земле - ее требуется вращать только относительно одной оси. Для решения поставленной задачи используйте контроллер выражений, который вращает доску объявлений вокруг оси Z на основе положения камеры относительно доски.
Сцена состоит из камеры, коробки, представляющей землю (Ground) и коробки с отображенной текстурой (Billboard). Точка вращения Billboard настроена так, чтобы ось +Z доски оказалась перпендикулярной Ground.
Для применения к Billboard контроллер выражения вращения нуждается в доступе к позиции Billboard. Поскольку выражению вращения для объекта не разрешено получать доступ к контроллеру положения того же объекта, в позиции, где находится Billboard, создается фиктивный объект и Billboard делается дочерним по отношению к фиктивному объекту.
В файле 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, так и для объектов, которые клонируются в главных видовых окнах.
Из следующего упражнения будет видно, как экзем пляризованные контроллеры можно использовать в качестве помощи при создании геометрии. Цель данного упражнения заключается в создании коробки, которая всегда будет квадратной, - для ширины, высоты и длины коробки всегда будет применяться одно и то же значение.
СОВЕТ
Типы контроллеров для уровня трансформации объектов можно указывать в панели 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 применяется контроллер пути.
Применяя поставляемые с 3DS МАХ контроллеры, можно создавать сложное движение объектов. Например, объект может иметь контроллер Path, контроллер List, контроллер LookAt и параметрические контроллеры, подобные Noise. Объект может также быть частью оживляемой иерархии.
В ряде случаев возникает желание свернуть движение для объекта до простых ключей позиции, вращения и масштаба. Последнее делается для использования контроллера Expression, который нуждается в ссылке на дорожки позиции или вращения или для создания пути для лидирующего объекта. Имеется возможность свернуть движение до ключей трансформации, привязав один объект к другому, движение которого необходимо захватить и затем применить Inverse Kinematics/Bind.
В следующем упражнении BoxOl связана со Shpere03, связанной со Sphere02, которая в свою очередь связана с SphereOl. В течение анимации каждая сфера поворачивается на 360° вокруг оси Z. Рассеянный цвет материала, отображающийся на BoxOl, управляется контроллером Expression. Данный контроллер изменяет рассеянный цвет коробки на основе скорости X, Y и Z коробки в текущем кадре. Скорость определяется векторными переменными, присвоенными дорожке позиции BoxOl. Во время проигрывания анимации можно заметить, что рассеянный цвет никогда не изменяется, поскольку для BoxOl не обеспечено никакого движения, кроме как через иерархию. Таким образом значение, возвращаемое с дорожки позиции, является константным.
3D Studio MAX распространяется с двумя системами частиц: Spray (струя) и Snow (снег). Spray используется для имитации объектов, подобных дождю, где каждая частица двигается в одном направлении и ориентирована одинаково. Snow используется для анимации объектов, которые ведут себя более похоже на снег -мягко падают и, как правило, кружатся.
Обе системы частиц имеют множество одинаковых свойств, но они также содержат и уникальные элементы управления, характерные для используемого типа системы. В данной главе будет показано, как ведут себя обе системы и как управлять их индивидуальными свойствами для получения чего-то большего, чем просто брызги или снег. Конкретно в главе рассматриваются следующие темы:
Кроме того, последняя часть главы освещает две подключаемых системы частиц, созданные независимыми разработчиками для 3D Studio МАХ - Sand Blaster от Digimation и All Purpouse Particles от Sisyphus - и обсуждает применение частиц вместе с исказителями пространства. Однако прежде всего следует понять принципы функционирования систем частиц в 3DS МАХ.
Системы частиц связаны с геометрией. Кнопки создания системы частиц находятся на панели Create в категории геометрии. Отсюда из списка подкатегорий выбираются Particle System. Здесь вы найдете и кнопку Spray, и кнопку Snow. Здесь также будут видны и другие установленные системы от независимых разработчиков.
При щелчке на кнопках Spray или Snow все редактируемые параметры появляются в свитке (см. рис. 25.1). Курсор также изменяет свой вид для отражения, что вы находитесь в режиме Create.
При создании в 3D Studio MAX системы частиц необходимо определить, откуда частицы испускаются и в каком начальном направлении. Точка испускания называется эмиттером. Эмиттер является невизуализиру-емьш представлением в видовом окне, которое используется для определения, откуда частицы берутся и куда направляются. Для создания эмиттера щелкните на любом видовом окне и транспортируйте наружу прямоугольник. Обратите внимание на то, что эмиттер определяется плоскостью с маленькой линией, перпендикулярной поверхности плоскости и пересекающей ее в центре. Размер эмиттера определяет "отверстие", через которое будут испускаться частицы. Маленький эмиттер производит концентрированную область, из которой появляются все частицы, большой эмиттер расширяет область испускания частиц. Линия задает направление, в котором частицы передвигаются.
Начальная ориентация эмиттера зависит от того, в каком видовом окне он создан и используете ли вы собственную плоскость или объект сетки. Когда в качестве плоскости создания используется сетка, то эмиттер всегда создается параллельно видовому окну, а направление частиц указывает в сторону от вас. Исключением является виды типа перспективы. В этом случае эмиттер создается на сетке и направлен вниз (см. рис. 25.2). Использование объекта сетки приводит к тому, что эмиттер всегда создается на бесконечной плоскости сетки - независимо от того, что отображается. Направление эмиттера зависит от ориентации самого объекта сетки и всегда совпадает с осью Z сетки.
СОВЕТ
В зависимости от того, в каком вы кадре, частицы и эмиттер можно видеть или не видеть. Поскольку частицы базируются на времени, вы увидите в кадре состояние системы частиц по умолчанию. В кадре О обычно не видно ничего.
У Spray и Snow имеются общие параметры. Установки и Spray и Snow реагируют одинаково. Данный раздел описывает общие параметры и исследует их применение.
И Spray, и Snow обеспечивают два параметра для задания количества частиц. Один метод предусматривает использование параметра Viewport Count. Данное значение оказывает влияние только на количество частиц, отображаемых в видовых окнах. Диапазон изменения распространен от 0 до 1000000000, хотя последнее число нереально. Используйте его только в случаях, когда хотите "поставить компьютер на колени".
Главная цель параметра Viewport Count заключается в оптимизации того, насколь хорошо 3DS МАХ перерисовывает видовые окна. Большое количество частиц в видовых окнах может существенно замедлить обновление видовых окон. Такое замедление особенно заметно при воспроизведении анимации в видовом окне. Поддерживайте число частиц как можно меньшим, но убеждайтесь, что в видовых окнах видно точное представление частиц.
Другим параметром является Render Count. Данное значение влияет только на количество визуализируе-мых частиц и не оказывает влияния на количество частиц в видовых окнах. Render Count значение обычно достаточно большое, поскольку для визуализации критичным является качество, а не интерактивность.
ПРИМЕЧАНИЕ
Системы частиц имеют отношение к геометрии. Подобно множеству других объектов они содержат грани и вершины. Следовательно, чем выше значения счетчика видового окна или визуализации, тем сильнее замедляется сцена. Часто можно использовать небольшие значения счетчиков частиц и, тем не менее, получать выдающиеся результаты. Поддержка управления счетчиками частиц является ключевым моментом визуализации, занимающим одну минуту, а не пять.
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 иллюстрирует визуализированную частицу с примененной градиентной картой.
ПРИМЕЧАНИЕ
Поскольку частицы в 3D Studio MAX являются объектами, назначение материала всегда происходит на уровне объекта. В случае назначения материала объекту частиц все частицы используют один и тот же материал. Если необходимо, чтобы струя частиц испускала различные материалы, можно применить материал Multi/Sub- Object. Каждая частица принимает материал на основе его номера. Частицы начинают отсчитываться от 0, тогда как материалы - от 1. Так, например пятая выпущенная частица получит материал #1 из материала Mul ti/Sub- object, охватывающем пять материалов. Назначение материала Multi/Sub-object отлично работает при имитации вещей, подобных разноцветному конфетти.
ПРИМЕЧАНИЕ
СОВЕТ
3DS МАХ предоставляет множество средств управления отсчетом времени для частиц. Устойчивый поток или короткие выбросы моделируются путем изменения значений времени. Следующий раздел разъясняет, как работают значения времени и как их использовать.
Значение Start устанавливает на каком кадре эмиттер начинает выбрасывать частицы. Номер кадра может быть любым, в том числе и отрицательным. Отрицательные кадры используются в тех случаях, когда необходимо, чтобы частицы присутствовали на экране уже в кадре 0. Значение Life устанавливает продолжительность жизни в кадрах каждой частицы и назначается каждой частице индивидуально. Данным значением устанавливается продолжительность времени, прежде чем частица будет разрушена. Если требуется, чтобы частицы всегда присутствовали на сцене установите данное значение в последний кадр.
Значения Start и Life по умолчанию можно изменить с целью настройки устойчивого потока частиц, выбрасываемого из эиттера. Значение Life не только влияет на то, сколько времени частица просуществует до разрушения, но также определяет проходимое частицей расстояние. Чем дольше жизнь, тем дальше частица уйдет от эмиттера.
Опция Constant обеспечивает постоянный поток частиц в любое время. По умолчанию данная опция включена. Мах Sustainable Rate (максимальная поддерживаемая частота), находящаяся непосредственно под флажком Constant, отображает количество частиц, которые могут рождаться в каждом кадре, и при этом число частиц остается ниже указанного предела. Данное значение изменяется при изменении значения Life для частиц. Со значением Life по умолчанию, равным 30 поддерживаемая частота равна 3.3 рождения частицы на каждый кадр. Если удвоить Life до 60, Мах Sustainable Rate изменится практически вдвое и составит 1-7. Дело в том, что теперь 3DS МАХ имеет больше времени для генерации этих 100 частиц. За счет простого применения продолжительности жизни можно управлять тем, сколько частиц присутствует на сцене в конкретном кадре.
СОВЕТ
Отменив,опцию Constant, можно в поле Birth Rate указать максимальное количество частиц, рождаемых в кажцом кадре (см. рис. 25.5). Однако, значение Мах Sustainable Rate используется в качестве направляющего. Вот как это работает:
Поскольку можно выполнить анимацию значения Birth Rate, его легко использовать как значение управления потоком ваших частиц. Значение 0 не эмитирует ничего. Любое значение Render Count порождает все больше и больше частиц.
СОВЕТ
Размер эмиттера управляет областью, из которой генерируются частицы. Длинный тонкий эмиттер порождает узкий зазор, из которого генерируются частицы. Большая область эмиттера распространяет частицы в большей степени. Spray и Snow случайным образом генерируют частицы из области объекта эмиттера. Распределение того, откуда испускаются частицы, управляется только размером эмиттера.
Благодаря возможности выполнения анимации размера эмиттера осуществимы эффекты, подобные открытию пожарного шланга или искрам, летящим из возрастающей области.
Ориентация эмиттера управляет направлением выстреливания частиц. При использовании Spray или Snow частицы испускаются в постоянном направлении и ориентации, если только не взаимодействуют с посторонней силой, например, исказителем пространства. Данный факт можно использовать для своей выгоды с целью управления направлением струи или снега. Эмиттеры работают с нормальными командами трансформации, поэтому их можно и перемещать, и вращать. Если требуется масштабировать размер эмиттера, лучше изменить значения Length и Width в противоположность использованию трансформации масштабирования.
ПРИМЕЧАНИЕ
Система частиц Spray полезна для имитации эффектов падающей воды. Отсюда очевидно применение ее для эффектов, подобных дождю или падению других видов жидкости из определенного положения. Spray можно также использовать для моделирования таких вещей, как искры от фитиля бомбы или светящейся золы в огне.
Drop Size (размер капли) используется для управления действительным размером в единицах каждой частицы. Drop Size со значением 0 не порождает ничего, тогда как Drop Size 20 порождает длинные выбросы. Значение изменяется в зависимости от искомого эффекта.
Маленькие размеры полезны для таких вещей, как сыплющийся сахар или других тонко гранулированных объектов. Размеры меньшие 1 порождают очень маленькие частицы. Обычно при этом приходится устанавливать счетчик визуализации относительно высоким, чтобы увидеть маленькие частицы на расстоянии.
ПРИМЕЧАНИЕ
Большие размеры отлично подходят для создания разводов света, подобных эффектам исказителей. В таком случае используются меньшие значения счетчика, поскольку крупные частицы занимают много места по сравнению с маленькими и "сбиваются в кучу", если их слишком много. Сказанное справедливо и для Viewport Count, и для Render Count.
СОВЕТ
Типы визуализации, выбранные на панели Parameter для распыляемых частиц, предоставляют возможность задания внешнего вида частиц при визуализации. Распыление допускает визуализацию каждого тетраэдра или квадратной грани с любым проецируемым материалом. В данном разделе исследуются оба метода.
Распыляемые частицы в виде тетраэдров выглядят очень похожими на объекты Hedra, использующие тип Tetra, за исключением того, что вершина нижнего полюса больше вытянута на "юг" и частица похожа на многоугольную каплю воды. При попытке эмуляции капель жидкости тетраэдры являются самым лучшим типом частиц для визуализации. Как правило, тетраэдры визуализируются быстрее граненых частиц. Огранка создает квадратные грани, всегда смотрящие в камеру. Это означает, что их визуализируемая грань всегда перпендикулярна камере. Размер квадратов (ширина и высота) указывается в Drop Size. Используйте граненые частицы в сочетании со специфическими материалами для визуализации других типов частиц.
ПРИМЕЧАНИЕ
Имеется возможность "полетать" среди тетраэдров и посмотреть на них под различными углами. Летать можно и между гранеными частицами, по они всегда перпендикулярны вашей точке зрения, что выливается в неправильный эффект.
Системы частиц можно использовать практически как и любой тип материала. Более конкретно, для генерации специальных эффектов, например, дыма, можно применять такие типы карт, как градиент и помехи. В данном разделе разъясняется процесс применения проецирования и использование материалов для частиц.
Присваивать частицам материалы очень просто. У частиц имеются присвоенные координаты проецирования и они хорошо работают с типами материалов Multi/Sub- Object. Следующих два абзаца подробно разъясняют, как это делать.
Тетраэдры проецируются при помощи цилиндрического типа проецирования с V-образной ориентацией вдоль длины тетраэдра. Исходная точка проецирования располагается в исходной точке тетраэдра плоской части. Если посредством градиентной карты непрозрачности необходимо имитировать становящуюся более прозрачной каплю воды, градиент должен начинаться с черного для цвета 1 и превращаться в белый для цвета 3 - противоположное поведение по сравнению с поведением по умолчанию градиентных карт.
Карты огранки расширяются до своих размеров при помощи планарного проецирования. Если посмотреть навстречу граненой частице в видовом окне с эмиттером, ориентированным вниз, то V в видовом окне должна быть вертикальной. Однако на самом деле для типов визуализации граненых частиц V ориентирована противоположным образом. В предыдущем примере- градиентную карту следует перевернуть.
Одной из лучших характеристик распыления является его способность имитировать все типы летающих капель, включая искры. При использовании распыления для создания эффекта искр лучше всего увеличить значение Variation. Таким образом частицы будут разлетаться от эмиттера во все стороны, в том числе и вниз. Следующее упражнение показывает, что использование системы распыления с подходящими параметрами порождает эффект искр, разлетающихся от фитиля.
Рисунок 25.6 показывает застывший кадр анимации. Обратите внимание на то, что искры разлетаются во всех направлениях. Это результат достаточно большого значения Variation.
СОВЕТ
Еще одной системой частиц, распространяемой с 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 (размеры хлопьев) для управления реальным размером каждой частицы в единицах (см. рис. 25.7). Flake Size, равный 0, не делает ничего, а значение 20 порождает большие хлопья. В зависимости от искомого эффекта данное число меняется. Маленькие размеры подходят для эффектов, подобных крохотным пузырькам или частичкам пыли. Размеры, меньшие 1, порождают очень маленькие частицы. В этом случае для того, чтобы видеть частицы на расстоянии, придется установить счетчик визуализации в относительно высокое значение.
ПРИМЕЧАНИЕ
Большие размеры можно применять для создания реальных частиц снега или эффектов конфетти. В любом случае желательно применять меньшие значения счетчика, поскольку большие частицы занимают больше пространства и "сбиваются" в кучу, если их слишком много. Это справедливо как для видового окна, так и для счетчиков визуализации.
Типы визуализации, выбираемые из панели Parameter частиц, предоставляют возможность определения внешнего вида частиц при визуализации. Типы визуализации применяются для генерации множества эффектов, начиная от конфетти и заканчивая дымом. В настоящем разделе описывается три типа визуализации для системы частиц Snow.
Шестиугольные снежные хлопья порождают шестиугольные звезды, которые испускаются в различных направлениях. Шестиугольные звезды могут использовать любой тип материалов, включая Multi/Sub-object. Шестиугольные хлопья могут также состоять из двух различных материалов, назначенных двум поверхностям, по одному для каждой стороны. В зависимости от целей, шестиугольные звезды могут порождать лучшие результаты визуализации при использовании в сочетании с корректно подобранными материалами.
Треугольники порождают треугольные грани, испускающиеся в разных направлениях. Треугольные грани работают в основном так же, как шестиугольные с учетом материалов. Разница состоит в том, что одной стороне можно присвоить только один материал. Материалы, можно рандомизировать назначая каждой частице свой. Для этого используется материал Multi/Sub-Object.
Огранка создает квадратные грани, которые всегда смотрят в камеру, т.е. визуализируемые грани всегда остаются перпендикулярными камере. Их размер как для ширины, так и для высоты определяется значением Flake Size. Для визуализации различных типов частиц используйте визуализацию граненых типов в сочетании с конкретным материалом.
Можно полетать сквозь Six-point и Triangle и посмотреть на них под различными углами. Хотя выполняется полет сквозь граненые частицы, последние всегда остаются "перпендикулярными" к вашей точке зрения, что может породить обманчивый эффект.
Как упоминалось ранее, частицам легко назначить материалы. Частицы имеют назначенные координаты проецирования и хорошо работают с типами материала Multi/Sub-object. В следующих абзацах описано как это делается.
Шестиугольные частицы автоматически проецируются при помощи планарного проецирования на размер частицы. Проецирование назначается так, как если бы шестиугольник был квадратом с вырезанной из него шестиугольной звездой.
Треугольникам также назначается планарное проецирование, очень похожее на шестиугольное, за исключением того, что треугольная форма вырезается из карты, а не из шестиугольной звезды.
Огранен|{ые карты подгоняются под нужный размер посредством планарного проецирования. Если посмотреть на ограненную частицу вплотную в видовом окне с эмиттером, ориентированным вниз, то V должна быть вертикальна. Однако на самом деле для граненых визуализированных типов V имеет противоположную ориентацию. Рисунок 25.8 показывает, как работает проецирование с частицами Snow.
По ряду причин система частиц Snow хорошо подходит для создания медленно вращающихся пузырьков. Основная причина состоит в том, что частицы по мере удаления от эмиттера становятся мельче. В следующем упражнении вы увидите, как создать пузырьки, просто изменив несколько параметров в системе частиц Snow.
Если вас удовлетворяет материал и фон, визуализируйте сцену как анимацию. С данного момента можно добавлять эффекты, подобные кружению и разбрызгиванию. Пузырьки рандомизируются несколько больше.
Можно также клонировать снег на два или несколько объектов и изменять разбрызгивание клонов и параметры скорости, добавляя сцене большую глубину.
Для доказательства действительной расширяемости 3DS МАХ в настоящем разделе рассматриваются две подключаемые системы частиц от независимых разработчиков: Sand Blaster фирмы Dimension и All Purpose Particles фирмы Sisyphus. Обе подключаемых системы частиц значительно выходят за пределы того, что могут делать Spray и Snow. Фактически данные подключаемые приложения делают именно то, что вызывает затруднения у многих генераторов частиц.
Sand Blaster является подключаемой системой частиц для буквального разрывания объектов на мелкие части. Вы можете заставить эти части разлететься в пространство или даже реформировать их в другие объекты. Sand Blaster также предоставляет возможность взрывать объекты на мелкие кусочки, которые на самом деле могут быть другими объектами. Фактически может существовать до 999 временных объектов, которые можно изменить, прежде чем реформировать целевой объект.
Объекты легко разрывать на части в различных направлениях. При этом осколки будут следовать по указанному пути или разлетаться случайно и точно так же реформироваться.
Система All Purpouse Particles (частицы универсального назначения) обеспечивает множество рабочих систем частиц. Появляется возможность генерировать такие эффекты, как пузырьки и фейерверки, за счет простого нажатия на кнопку мыши. Это одно из лучших качеств All Purpose Particles. Для мгновенного начального создания эффекта используются предварительно установленные параметры. Например, если требуется сгенерировать эффект ударной волны так, как она выглядит в кино, всего лишь нажмите на кнопку Shockwave. Данная опция па самом деле просто устанавливает все редактируемые переменные. Ничего не нужно изменять. Однако, если необходимо настроить параметры, АРР предоставляет и такую возможность.
Частицы в 3D Studio MAX обладают способностью взаимодействовать с определенными типами исказите-лей пространства. Фактически половина распространяемых исказителей имеют дело исключительно с частицами. В настоящем разделе вы узнаете, как их использовать совместно. Более подробная информация об исказителях пространства приведена в главе 17, "Применение исказителей пространства".
Используя Spray, можно создать прекрасный фонтан. Для этого Spray связывается с гравитацией, ветром и отклонением. В данном разделе будет рассмотрено использование комбинации исказителей пространства для разбрызгивания частиц в различных направлениях.
Объект фонтана состоит из пяти струй - одной главной и четырех вспомогательных. Обратите внимание на то, что струи функционируют именно так, как и ожидается: никакой реальной динамики нет вообще. Было бы более естественно, если главный каскад падал бы сам на себя, а четыре вспомогательных струи загибались по дугам вниз. Проще всего это достигается посредством исказителя пространства Gravity (гравитация). Gravity имитирует реальную гравитацию, отталкивая или притягивая частицы в направлении пиктограммы. Ориентация и положение Gravity в пространстве оказывает существенное влияние на частицы. Для имитации гравитации в этой сцене лучше всего использовать планарную гравитацию, направленную вниз. Подобное легко выполняется в видовых окнах Тор или Perspective.
ПРИМЕЧАНИЕ
Исказитель пространства Deflector (отклонитель) добавляет частицам способность проявлять планарные столкновения. В следующем упражнении будет создан один отклонитель, который предотвратит прохождение частиц сквозь фонтан при их падении вниз.
Начните с создания отклонителя в окнах Тор или Perspective. Затем свяжите с ним все струи. Разместите отклонитель так, чтобы он расположился на внутренней базе фонтана. Обратите внимание на то, как частицы мгновенно реагируют на изменение положения отклонителя. Рисунок 25.10 демонстрирует влияние отклонителя на струи фонтана.
Ветер действует подобно гравитации - он обладает способностью толкать и притягивать частицы к пиктограмме, но также и свойством турбулентно искажать движение частиц. Замечали ли вы когда-нибудь в парке, как ветер налетает на струю фонтана и сдувает ее на несколько футов в одном направлении (при этом часто намокают безмятежно гуляющие прохожие)? Ветер используется для создания точно такого же эффекта.
Поскольку необходимо, чтобы ветер дул в сторону, его следует создать в левом видовом окне. Далее свяжите с ветром главную струю. Частицы немедленно начнет сдувать в сторону. Если вы хотите создать эффект порывов ветра, можно выполнить анимацию силы ветра и параметров турбулентности. Рисунок 25.11 показывает окончательный результат применения гравитации, отклонится" и ветра.
Со значениями ветра можно экспериментировать так, чтобы генерировать различные стили ветра. Попытайтесь выполнить анимацию значения ветра для постепенного сдувания струи фонтана.
Визуализация на первый взгляд кажется простой. Однако она не настоль проста, чтобы просто щелкнуть на кнопке Render и надеяться на лучшее. Тип вывода и его использование являются существенными элементами успешной визуализации. Данная глава акцентирует внимание на неподвижных образах и освещает следующие темы:
3D Studio MAX предоставляет возможность гибко управлять визуализируемыми объектами и областями видовых окон, которые имеют множество параметров, сокращающих количество повторений, обычно необходимых в начале визуализации.
Для настройки визуализации используется команда Render Scene. Выберите пиктограмму или выполните Render в выпадающем меню, которое является командным центром визуализации со всеми наиболее широко применяемыми параметрами (см. рис. 26.1).
ПРИМЕЧАНИЕ
Область Time Output диалога управления визуализатором предназначена для выделения визуализируемых кадров. Визуализировать можно застывший кадр, активный временной сегмент, определенный диапазон или последовательность определенных кадров. При работе с активным временным сегментом или с определенным диапазоном возможно визуализировать каждый N-й кадр. Например, можно визуализировать каждый десятый кадр указанного диапазона. Подобный прием часто полезен для визуализации последовательности кадров, которые представляют то, что происходит в анимации.
Кроме того, в диалоге управления визуализацией доступен широкий диапазон параметров, включая Video Color Check, Super Black, Fields и Force 2-Sided. Особенно полезным из перечисленного является Force 2-Sided. Другие управляющие элементы представляют собой параметры анимации, рассматриваемые в главе 27, "Визуализация анимаций". Force 2-Sided применяется для того, чтобы заставить все объекты визуализироваться как двусторонние. Хотя иногда это может оказаться полезным, особенно для объектов, имеющих инвертированные нормали или потерянные боковые грани, для регулярного применения не рекомендуется, поскольку более экономно в отношении времени визуализации применение двусторонних материалов.
ПРИМЕЧАНИЕ
Элементы управления визуализацией 3D Studio MAX можно разделить на две группы: управляющие началом визуализации и управляющие тем, что визуализируется. Для порождения образа эти группы работают совместно. 3DS МАХ предоставляет несколько способов инициализации визуализации - отрисовку образа на экране ~ а равно и несколько способов управления тем, что именно визуализируется. С этой целью используются типы визуализации.
3DS МАХ начинает визуализацию после выполнения Rcndcringc^Render из линейки меню или, что более распространено, после нажатия одной из трех пиктограмм, связанных с визуализацией: Render Scene, Quick Render или Render Last (см. рис. 26.2).
3D Studio MAX обеспечивает несколько возможностей для управления тем, какая часть сцены должна визуализироваться. Данные опции доступны в верхней части интерфейса. Среди доступных возможностей имеется View, Region, Blowup и Selected (см. рис. 26.2). В предыдущих выпусках и большинстве других программ вы ограничены визуализацией только того, что отображается в активном видовом окне.
Цветовая глубина (также называемая битовой глубиной) относится к числу цветов, которые содержатся в образе, сгенерированном компьютером. Природе нет дела до количества доступных цветов, но с компьютерами дело обстоит не так. Компьютеры должны конвертировать информацию любого типа в числовые последовательности, поэтому естественно, что они должны оцифровывать и запоминать цвета.
В компьютерном рисовании используется несколько битовых глубин, в том числе 8 разрядная настраиваемая палитра, 15- и 16-разрядные фиксированные палитры, 24- и 64-разрядные цветовые глубины. Чем больше разрядов, тем больше цветов. Реальная математика каждой цветовой глубины мало интересна для среднего пользователя. Ему важно знать количество цветов, доступных при каждой цветовой глубине, а также ее сильные и слабые стороны. Глава 2, "Смешивание цвета и света" содержит исчерпывающую дискуссию по поводу каждой битовой глубины.
Основной акцент в журналах и в маркетинге 3D Studio MAX придается 24-разрядным образам и высококачественным выводным устройствам. Многие напуганы подобным обстоятельством и не осознают, что 3D Studio MAX является превосходным инструментом для создания 8-разрядных образов и файлов FLIC-стиля для Animator Pro.
Применяя 8-разрядную технологию, вы не попадете со своими работами на главные телевизионные сети, но самые распространенные игры, Web-узлы, мультимедиа-проекты, диск-базированные презентации и информационные киоски преимущественно полагаются на 8-разрядную технологию.
Для 8-разрядных анимаций и образов существует достаточно большая рыночная ниша. Применение 8-разрядного цвета не означает, что вы неполноценны или не являетесь профессионалом. Это просто означает, что по той или иной причине выбран именно данный формат файла. Восьмиразрядный формат файла обладает рядом преимуществ, оправдывающих его применение:
При создании образов для отображения в World Wide Web, PC-базированных играх, клиентских системах, портативных презентациях или диск-базированном маркетинге, скорее всего потребуются 8-разрядные образы.
Работа с 8-разрядным цветом накладывает определенные ограничения на то, что можно сделать, но данные ограничения не столь обременительны, как это может показаться на первый взгляд. Ограничение в 256 цветов требует внимательного планирования использования цветов в образах. Кроме того следует находить компромисс между минимизацией размера файла и минимизацией побочных эффектов ограниченного количества цветов,
О полосах говорят как о том, что происходит, когда для представления гладкого перехода от одного цвета к следующему доступно слишком мало цветов. Подобные переходы называются цветовыми уклонами или градиентами и используются в 3DS МАХ для оттенков геометрии или при выборе материала фона. Поскольку для гладкого представления градиента нет достаточного количества цветов, вся область делится на несколько широких полос цвета, аппроксимирующих градиент. Рисунок 26.3 показывает сферу, визуализированную на градиентном фоне. И на сфере, и на фоне заметны резкие полосы.
Во избежание полос используются две основных технологии - внимательный подбор цветов и устранение градиентов. Подбор цветов сфокусирован на том факте, что для работы доступны только 256 цветов. Если выбрать для сцены существенно различающиеся цвета с полностью насыщенными оттенками, каждый цвет получит для переходов лишь немного элементов палитры, и полосы в этом случае неизбежны. Если же наоборот выбрать большую часть цветов из одного семейства с дополняющими контрастными цветами, цвета будут разделять одни и те же оттенки и полосатость уменьшится.
Ликвидация градиентов требует разбивки поверхности геометрии. От эффекта полос страдают прежде всего гладкие, сплошные объекты. Единственный способ представления затенения на поверхности гладкого объекта заключается в использовании градиента по мере изменения цветов от светлого к темному. Один из способов разбиения поверхности и избежания полос состоит в применении проецируемых материалов. Прямо сейчас посмотрите на окружающие объекты. Сколько из них имеют гладкую, сплошную поверхность? Окрашенные металлы обычно имеют гладкую сплошную поверхность, но практически все другие предметы обладают канавками, выдавливаниями и узорами. Карты выдавливания, текстуры и отражении не только прибавляют реализм к сцене, но и разбивают поверхность, сокращая полосы.
Рисунок 26.4 показывает визуализацию с использованием сплошных цветов существенно отличающихся оттенков. Ваза - зеленая, сфера - голубая, поверхность стола - коричневая, и в результате вся сцена получается полосатой. На рисунке 26.5 показана та же сцена, где изменяется только материал. Ваза теперь сделана из мрамора цвета бронзы, сфера - блестящая медь, а стол имеет текстуру дерева. Полосы едва заметны. Ключевой аспект такой визуализации заключается в том, что текстуры разбивают поверхность и материалы совместно используют похожие цветовые диапазоны.
Иногда полосы неизбежны. Вам требуется моделировать гладко окрашенные поверхности, когда текстуры и выдавливания неприемлемы. В таком случае 3D Studio MAX обеспечивает в Rendering Preferences параметр, именуемый Dither Paletted. По умолчанию данный параметр включен, но при подготовке к визуализации его можно отключить или по крайней мере подумать, следует ли использовать прореживание. Прореживание размывает грани между полосами. Это помогает глазу игнорировать грани и принимать иллюзию гладкого цветового градиента.
Недостаток прореживания заключается в том, что оно существенно увеличивает размер файла. Большинство форматов 8-разрядных образов применяет технологию сжатия, которая идентифицирует и сжимает области непрерывного цвета. Побочный эффект прореживания состоит в том, что оно уничтожает многие области непрерывного цвета, в результате чего объем файла возрастает. Например, образ на рисунке 26.5 увеличивается в размере на 30% со включенным прореживанием, хотя само прореживание практически не увеличивает качество картинки. Вообще для достижения своих целей, касающихся качества образа, следует использовать технологии проецирования с отключенным Dither Paletted. Затем потребуется решить, нужно ли прореживание для качества образа, которое должно быть сбалансировано с необходимостью уменьшения размера файла.
Еще одним поводом для озабоченности, касающимся 8-разрядных образов, является разрешение визуализации и сложность модели. Обычно 8-разрядные образы визуализируются для отображения на стандартном компьютерном экране часто с разрешением 640 х 480. Сравните это с типичными 24-битовыми разрешениями для видео 756 х 512 или для фильмов 2048 х 1536. Вы быстро осознаете, что детали, необходимые для большой цветности и высокого разрешения, "убиты" 8-битовой визуализацией. Сохраните собственное время и проектируйте свои модели зная, что малая цветность и низкое разрешение нс требуют множества деталей.
Истинный цвет (true color) или 24-разрядная визуализация может звучать сложно и немного пугающе, но на самом деле она гораздо проще 8-разрядной визуализации. Сокращение количества цветов до 256 и проду-цирование качественного образа происходит не автоматически. Оно требует предвидения и глубокого понимания того, как работают распределение цвета, полосы и прореживание. Истинный цвет или 24-разрядная визуализация и близко не предъявляют таких требований - она всегда порождает высококачественные образы и предоставляет возможность тратить время на комбинирование материалов и освещенности модели с целью достижения максимально возможного качества.
Определение конечных целей проекта на как можно более ранней стадии процесса моделирования является критическим. Лучше всего это делать до начала моделирования. Здесь необходимо задать себе ряд вопросов, а ответы на них использовать для определения направлений моделирования. Такие вопросы важны для всех моделей и анимаций, но особенно важны для работ с высоким разрешением, поскольку подобного рода работы диктуют сложность и степень детализации, требования к памяти и решения, связанные с файлами. До начала моделирования ответьте на следующие вопросы:
Приведенные вопросы должны обсуждаться во время планирования проекта и задавать их следует даже тогда, когда проект предназначен для домашнего использования, когда нет клиента или когда проект задуман как совершенно независимое предприятие. Ответы играют жизненно важную роль. Без них дело может закончиться чрезмерно большой моделью, которая недостаточно точна или не подходит для визуализации либо печати.
Разрешение выводного образа зависит носителя, от резкости печатного образа и размера печати. Вы должны принять решения по всем указанным проблемам, прежде чем сможете определить, что необходимо для окончательного выводного образа.
Наиболее важная проблема при выборе типа выводного носителя заключается в решении, требуется ли порождать непрерывный тон или экранный отпечаток. Произведенный выбор будет оказывать значительное влияние на требуемое разрешение. Вообще экранный отпечаток (screened print) порождается прореживанием образа, а отпечаток с непрерывными тонами (continuous tone print) напоминает фотографию.
При печати битового образа пикселы, формирующие композицию, должны транслироваться в такой формат, который может понять печатающее устройство. Процесс с непрерывными тонами размещает пикселы вплотную друг к другу без каких-либо зазоров между ними, которые бы позволили видеть белую бумагу. Таким образом тоны печати смешиваются вместе и не остается изолированных точек, что делает подобный тип печати наиболее простым для понимания, поскольку порождается образ, который выглядит в основном так, как он выглядит на экране. Кроме того, непрерывные тона проще всего печатать ввиду того, что единственным определяющим фактором качества печати является разрешение, обеспечиваемое для образа.
Наиболее распространенным типом печати с непрерывными тонами является стандартный фотографический отпечаток. Вывод на фотографическую пленку связан с использованием съемочной камеры для экспозиции образа на обычную 35 мм или на 4" х 5" широкоформатную пленку. Можно применять любую стандартную 100 ASA печать или прозрачную пленку (хотя рекомендуется прозрачность, которая обеспечивает соответствующую репродукцию цветов). Съемочные камеры обычно способны обеспечить от 4000 до 8000 строк разрешения.
ПРИМЕЧАНИЕ
Красящие сублимационные принтеры представляют еще одну форму печати с непрерывными тонами, которая доступна для компьютерных образов. Это могут быть настольные или Е-размера промышленные принтеры, разрешение которых обычно составляет от 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 к Ipi. Следует заранее согласовать требования к четкости образа с возможностями принтера. Большинство принтеров предпочитают работать с образами, имеющими от 200 до 400 пикселов на печатный дюйм. Количество пикселов на печатный дюйм оказывает существенное влияние на размер файла и требования к памяти. Переход с 200 на 400 пикселов на печатный дюйм в четыре раза увеличивает запросы к памяти и пространству на диске для файла.
Когда образы воспроизводятся за пределами оптимального разрешения, они начинают размываться, расплываться и приобретают зернистость. Степень и неприятность подобных эффектов варьируется в соответствии с носителями отпечатков.
Чем больше образ, тем более заметны квадратики пикселов, из которых он состоит - явление, обычно называемое зернистостью, которое чаще всего требуется избегать. Зернистость разрушает фотореалистичную иллюзию визуализированных компьютером образов. Сделать образ зернистым легко. Заставить же его казаться фотореалистичным требует значительных усилий и большого объема памяти. Зернистость сокращается за счет визуализации образа с более высоким разрешением.
ПРИМЕЧАНИЕ
Четкость и ясность экранного образа определятся количеством пикселов образа на строку экрана (или отношением пикселов на печатный дюйм к строкам экрана на печатный дюйм). Четкость обсуждается в терминах отношения пикселов на экранную строку и часто носит название отношения экранного решения (screen ruling). Во избежание низкокачественных образов никогда не используйте отношения, меньшее 1:1. Для оптимального качества применяйте отношение 2:1. Увеличение числа пикселов свыше 2:1 обладает минимальными, если вообще заметными, влияниями на качестве образа. Избегайте создания образов больших 2:1, поскольку они требуют значительного объема памяти для визуализации, дискового пространства для хранения и времени для печати. И это все - без увеличения качества печати.
Если принтер использует 150-строчный экран, вы обеспечиваете образ с 150-300 пикселов на печатный дюйм. Необходимость в различных экранах, прессах и принтерах варьируется, поэтому важно обсудить данное отношение с издателем до окончательного определения выводного разрешения для проекта.
Печатный размер образа оказывает наибольшее влияние на требуемое разрешение образа и на детали, необходимые для того, чтобы сделать образ убедительным. После выбора носителя и определения отношения пикселов на дюйм для желаемой четкости разрешение образа становится делом простой арифметики:
Память, требуемая для запоминания образа на диске и RAM принтера для обработки, определяется следующим образом:
Размер данных для 24-разрядного цветного пиксела (8 бит на цвет на канал х 3 канала) составляет 3 байта. Размер печати оказывает отрицательное воздействие на четкость и результирующий dpi- Каждый отпечатанный дюйм требует больше памяти.
Часто размер или, по крайней мере, максимальный размер диктует носитель. Настольные принтеры обычно ограничены отпечатками 4" х 5" или 8" х 10", тогда как красящие сублимирующие принтеры могут печатать изображения размером Е (36" х 48"). В качестве примера отпечаток 4" х 5", использующий 150-строчный экран, получается лучше всего, если поставляемый образ имеет размер:
ПРИМЕЧАНИЕ
Это в свою очередь означает, что разрешение образа должно быть 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-сжатия) и не должны сильно вытягиваться за пределы первоначальных размеров.
ПРИМЕЧАНИЕ
Если фон увеличен, в визуализированном образе кажется, что передний план был наклеен на фон. Разница между двумя разрешениями очевидна, хотя не специалист и не сумеет сказать, что именно неправильно. При увеличении образы неизбежно размываются. Увеличение черного квадрата на белом поле не просто порождает больший черный квадрат - на границах квадрата появляется мягкая черная градация.
Всегда следует пытаться применять образы, которые не нуждаются в увеличении. В идеале необходимо использовать образы, требующие уменьшения. В этом смысле удобны образы в формате Kodak CD-ROM, поскольку они имеют разрешение 3072 х 2048.
Если в качестве фонового образа приходится использовать существующую маленькую битовую карту, ее следует перенести в программу рисования истинного цвета для конвертирования и применить соответствующие инструменты для смягчения эффекта увеличения.
Некоторые образы поддаются увеличению намного лучше других. Образы неба, дыма, воды и других объектов со свободными формами не страдают от увеличения в такой степени, как уличные сцены, изображение леса и интерьера. Если битовая карта содержит такие элементы, следует сконцентрироваться на увеличении карты специально для них.
Несколько большие возможности представляются, когда фоном является материал текстурной карты. В таком случае другие материалы могут получить доступ к битовой карте без ее повторной перезагрузки.
Объект, содержащий фоновый образ, играет роль доски объявлений. При помощи фонового объекта можно позиционировать образ по своему желанию и делать его больше или меньше с использованием размещения, координат или параметров проецирования без накладных расходов памяти на изменение размеров фонового образа.
Объекты фонового образа на сцене визуализируются в перспективе вместе со всем остальным. Поскольку объект помещается параллельно плоскости зрения, эффекты горизонтальной перспективы отсутствуют. Вертикальные элементы подвергаются воздействию перспективы. Это может оказаться особенно важным для фона, содержащего архитектурные сооружения, высокие стройные деревья, флагштоки или любые другие объекты с определенными вертикальными линиями.
Рецепт для такого образа прост. Вы не хотите, чтобы условия освещения на сцене оказывали влияние на образ, поэтому он должен на 100% обладать самоосвечением и быть совершенно плоским с черным отраженным цветом. Кроме того, следует отключить отбрасывание теней объектом доски объявлений.
Опция Show Background (доступная после щелчка правой кнопкой мыши на имени видового окна) помогает позиционировать объекты на сцене в отношениях с фоновым образом.
Предварительный просмотр не является идеальным вариантом для больших образов. В качестве обходного маневра необходимо пропорционально сократить фоновый образ и использовать его в качестве наброска настоящего образа. Вы не получите никакого преимущества, используя образ, имеющий разрешение большее видимого размера видового окна.
Фоновые образы могут быть кадрами анимации (такими как AVI или последовательностью битовых карт) или перехватом из фильма или видео. Номер кадра такой анимации блокируется на номер кадра сцены и является весьма полезным для ротоскопирования и композиции. Несколько цифровых дисковых рекордеров включают интеллектуальные подключаемые приложения, предоставляющие возможность непосредственного объединения в 3D Studio MAX видео и ЗD-гpaфики.
ПРИМЕЧАНИЕ
Часто возникает необходимость позиционирования текста поверх окончательного образа, возможно в форме логотипа, заголовка, подписи или диаграммы. Все программы рисования обеспечивают определенные механизмы для создания перекрывающего текста, некоторые даже обладают возможностью создания сглаженного текста. Однако нет программ рисования, которые бы имели возможности сглаживания, подобные встроенным в 3D Studio MAX. Реально 3D Studio MAX является лучшим составителем текста, доступным для рабочего стола. Если необходим полный контроль за окончательным положением текста, прежде чем посылать на принтер его следует скомпоновать.
Текст очень чувствителен к эффектам разрешения. Разрешение окончательного образа должно быть достаточно большим для отчетливой визуализации текста с четкими и нерасплывающимися краями. Жирные шрифты без засечек (sans serif) наиболее толерантны к низким разрешениям, но могут оказаться неподходящими. Кривые и тонкие линии простых шрифтов с засечками (serif) требуют самого высокого разрешения для сохранения мелких деталей своих краев. Текст легко создается посредством шрифтов TrueType. Внимательно изучите данные шрифты, поскольку большие кривые требуют больше деталей, задаваемых дополнительными шагами-
После создания текста его можно расположить на фоновом образе и визуализировать с фоновой битовой картой для получения окончательного вывода. Для получения неискаженного текста его следует визуализировать в ортогональных видовых окнах. Для получения трехмерного текста визуализацию можно проводить в видовых окнах Perspective или Camera.
ПРИМЕЧАНИЕ
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 была сконструирована в качестве анимационной программы, она может делать превосходные неподвижные образы с высоким разрешением. Ее анимационные способности предоставляют возможность исследования опций изменения освещенности и одновременно снятия сцены несколькими камерами. Создание образов с высоким разрешением обычно связано с максимальным наращиванием ресурсов системы и требует полного понимания предъявляемых ресурсами требований.
В качестве основного и фундаментального документа своих усилий профессиональные художники и аниматоры трехмерной графики визуализируют оживляемую сцену в последовательность цифровых файлов образов с высоким разрешением и глубокой цветовой гаммой. Хотя платформа 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. Внимательно прочтите оперативную помощь. Глобальные установки категоризированы в диалог и каждая категория представлена закладкой:
Дополнительно следует обратить внимание на другие связанные с носителем параметры, которые сохраняются с каждой сценой индивидуально:
Желательно создать "платформе-независимое" содержимое. Однако время и спецификации проекта часто требуют сфокусированного, совмещенного с носителем вывода. Познакомьтесь поближе с параметрами предпочтений 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-анимации необходимо понимать и управлять ограничениями, присущими форматам файлов и средам воспроизведения.
Когда вы создаете анимацию для цифрового воспроизведения, то сталкиваетесь с широким кругом ограничений. Часть необходимых для решения проблем включает следующее:
Важная проблема, которую приходится решать при создании CD-ROM и ряда оперативных анимаций, заключается в работе с 265-цветной палитрой (8 разрядов). Некоторые заголовки CD-ROM требуют отображения в 256 цветах или предлагают 8-разрядные и выше параметры конфигурации глубины цвета. Типичная плата графического дисплея конечного пользователя может поддерживать только 256 цветов. В данном случае следует определить стандартную палитру для ранней опции. Двумд наиболее важными вопросами, о которых следует помнить, являются конструкция цветовой схемы и устранение прореживания.
Вы должны внимательно планировать выбираемые цвета и материалы 8-разрядных образов. Когда доступны только 256 цветов, то от каждого цветового набора необходимо получить как можно больше. Для этого большая часть цветов и материалов сохраняется в одном и том же семействе цветов. Данное ограничение не настоль серьезно, как можно подумать, особенно когда разговор идет о теплых тонах земли, холодных зелено-голубых тонах и неуловимо серых. Вы обнаружите, что работа в жестких рамках обостряет ваше зрение и чувство цвета. Большинство хороших цветовых конструкций работает с ограниченной палитрой.
Следует не только справиться с цветовыми ограничениями внутри одной палитры, но также знать, как цвет выражается во времени между сценами и в сочетании с интерактивным выбором. Какие объекты попадают в поле зрения, а какие исчезают? Изменяется ли положение или цвет источников света? Перемещается ли анимация на другую сцену или она встроена в Web-страницу, содержащую собственные требования к цвету? Ответы на подобные вопросы помогут выбрать хорошую цветовую палитру.
Требованиями к изменению цвета можно управлять с использованием 3D Studio MAX для построения цветовой палитры. Соответствие сцены и положения лучше всего достигается путем создания множества сцен с различными палитрами и разработкой переходов между ними- Встроенная анимация должна координироваться с цветовой схемой Web-узла.
Для визуализации пользовательской палитры из анимации 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.
Следующий перечень более детально описывает параметры вывода:
Идентификация образцового набора кадров производится посредством поля Every Nth Frame в диалоге Render Scene или Execute Video Post (см. рис. 27.2). Вводимое в данное поле значение должно обеспечивать визуализацию от 10 до 25% общего числа кадров в анимации. Чем больше в анимации кадров, тем большее число следует ввести в поле Every Nth Frame.
ПРИМЕЧАНИЕ
Для создания 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. Можно также добавить в систему кодеки от независимых разработчиков для целого спектра форматов сжатия. Для достижения необходимых для проекта результатов разберитесь с тем, как работают кодеки и побольше экспериментируйте.
Ниже перечислены несколько кодеков, которые должны присутствовать в вашей системе. Среди них кодек, распространяемый Kinetix вместе с 3D Studio MAX;
Видеоразрыв обозначает неспособность аппаратного обеспечения поддерживать необходимую скорость воспроизведения анимации. Рисунок 27.4 показывает кадр анимации, захваченный во время воспроизведения с видеоразрывом. Явление происходит в случае, когда система не может прокачивать информацию через графическую карту достаточно быстро для того, чтобы не отставать от движения объектов в анимации. Можно наблюдать отображение двух кадров одновременно. Верхняя часть экрана показывает следующий кадр, тпгля кяк нижняя часть - ппелнлуший
Легкого и жесткого правила, которое бы говорило о том, при каких обстоятельствах возникает видеоразрыв, не существует. Лучшее, что можно сделать - это планировать для низшей типичной системы, на которой будет проигрываться анимация, и конструировать в соответствии с качеством воспроизведения.
Существует несколько правил, помогающих уменьшить вероятность видеоразрыва. Степень эффективности правил зависит от понимания аппаратного обеспечения, на котором будет воспроизводиться анимация.
Все усилия по производству реалистичных образов и обходу видеоразрыва пропадут даром, если вы заставите систему воспроизведения проигрывать анимацию с диска, а не из памяти. Доступ к диску настолько все замедляет, что анимация будет похожа на старомодное слайдовое шоу. Следует хорошо знать систему, на которой будет проигрываться анимация и затем разделить анимацию на сегменты, помещающиеся в памяти системы.
В случае визуализации для воспроизведения на другой системе, необходимо решить, каковы минимальные требования к памяти системы, выполняющей презентации. Типичные домашние и небольшие деловые PC имеют не более 8 Мб памяти, а некоторые системы обходятся 4 Мб и даже менее- Сколько памяти для хранения цифрового видео доступно на самом деле, зависит от программы воспроизведения и того, как сконфигурирована память воспроизводящей операционной системы. Единственный способ делать какие-либо обоснованные догадки в этом направлении заключается в экспериментировании с системой, которая сконфигурирована точно так же, как и целевая машина. Конечно, визуализация для воспроизведения происходит исключительно на собственной системе, задача существенно упрощается.
Цель состоит в конструировании такой анимации, чтобы можно было поделить ее на сегменты, помещающиеся в доступной памяти. Размещение в памяти предоставляет каждому сегменту возможность выполняться настоль гладко и быстро, как это только возможно, без типичных частых пауз, которые возникают при воспроизведении с жесткого диска. Ключевым словом здесь является "конструирование". Нельзя просто порезать анимацию на куски подходящего размера. Для успешной анимации необходимо планировать, где будут происходить разрывы сегментов и затем расставлять эти разрывы в анимации в такой последовательности, чтобы она имела смысл.
Прежде чем планировать переходы и точки разрыва анимаций, вы должны определить окончательную скорость воспроизведения. Обычно видеофайлы не проигрываются со скоростью 30 кадров в секунду (frames per second - fps). Пока оборудование для проигрывания цифровых фильмов с такой скоростью еще недостаточно распространено. Более типичной скоростью воспроизведения является 15-20 fps. По умолчанию 3D Studio MAX визуализирует файлы AVI и FLIC с 30 fps. Для настройки частоты кадров своей анимации используйте механизм Time Configuration. Диалог становится доступен после двойного щелчка на пиктограмме Time Configuration в нижней правой секции главного окна программы. Это как раз справа от поля ввода кадра среди элементов управления VCR.
ПРИМЕЧАНИЕ
В современном быстро шагающем мире трудно привлечь чье-либо внимание более чем на пять секунд. Смотря телевизор проследите за тем, как часто меняются сцены. Вы заметите, что изменение происходит каждые три или пять секунд. Если вы наблюдаете за музыкальным видеосюжетом, сцены изменяются еще чаще. Нередко музыкальное видео- или коммерческое шоу меняет сцены через каждые одну-две секунды. Путешествие в Сети очень похоже на смену телевизионных каналов. В любое время имеется возможность прервать то, на что смотрите, и перейти к совершенно новому образу.
Хотя соображения изменения сцен и длины фрагмента важны для хорошо сконструированной анимации, они становятся абсолютно критичными для анимации, которую предполагается использовать для записи и воспроизведения в реальном времени. При каждом изменении сцены в анимации имеется возможность разорвать анимацию на отдельные сегменты. Внимательно управляйте данными изменениями сцены или переходами, используя разрезы, затухания и интерактивные паузы для того, чтобы поместиться в ограниченные ресурсы воспроизведения.
Термин переход относится к любой смене сцен. В фильмах и видео распространено множество разных типов переходов, но два из них очень важны для цифрового воспроизведения - разрезы (cuts) и затухания (fades). Разрезы в простейшем смысле являются склейкой конечного и начального кадров двух анимаций. Они могут состоять из одних и тех же элементов (включая объекты и материалы) или быть полностью другими сценами и образами. Затухания (fades) предлагают постепенное представление образа (fade-in), изменение одной последовательности на другую (cross-fade) или завершение (fade-out).
Обе технологии полезны для поддержки интереса к анимации и для идентификации точек разрыва, разделяющих файлы цифрового видео на сегменты. Однако разрезы не настолько полезны как затухания, поскольку быстрая смена одной сцены на другую превосходит возможности большинства систем. Вообще для того, чтобы разрез правильно работал в течение воспроизведения видео, оба сегмента должны быть в памяти и принадлежать к одной и той же цветовой палитре.
Разрезы и затухания являются одним способом соединения сегментов анимации вместе. Пауза - это период времени, когда сегменты вводятся в память и выводятся из памяти. Если выполняется анимация не музыкального видеошоу и не быстро текущего коммерческого представления, различные паузы в анимации необходимо планировать. Пауза дает возможность зрителю прочитать текст на экране, изучить сцену более пристально или просто схватить и проглотить последний сегмент анимации, прежде чем переходить к следующему.
Скрытая польза от пауз заключается в том, что они предоставляют шанс освободить память от предыдущего сегмента анимации и загрузить следующий. Количество пауз, требуемое для загрузки и выгрузки анимации, имеет прямое отношение к объему памяти, доступной для системы воспроизведения. Чем меньше памяти доступно, тем больше пауз требуется для перемещения сегментов в память и из памяти - вот почему требуется знать тип системы, на которой воспроизводится анимация перед тем, как начать составлять ключевые кадры и визуализировать цифровое видео.
На сегодня одним из наиболее волнующих аспектов SD-анимаций является их включение в Web-страницы. Эта технология сейчас прокладывает путь в ключевые продукты Kmetix, в том числе в 3D Studio MAX. Утилита экспорта VRML открывает полностью новый и замечательно творческий канал. Вы должны вникнуть в специфические стратегии при визуализации анимаций для данного особого цифрового носителя. Настоящий раздел освещает несколько оптимизационных технологий, которые могут оказать помощь в данном приключении.
В среду World Wide Web включены несколько технологий, среди которых включая телефонная связь, видеоконференции, интерактивные агенты, множество приложений клиент-сервер и менеджмент мультимедиа-баз данных. С точки зрения анимации производство образов для World Wide Web во многом похоже на продукцию для видео игр. Интерактивная среда уступает несколько деталей образов в пользу быстродействия. По мере возрастания полосы пропускания будет увеличиваться и содержимое Web. Точно так же, как броузеры включают расширения VRML, трехмерное содержимое заселит Web-страницы. Уже сейчас можно задействовать 3D Studio MAX для производства фантастических, оптимизированных анимаций.
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 различия в окончательном выводе практически незаметны, а запросы дискового пространства резко снижаются.
ПРИМЕЧАНИЕ
Независимо от того, записываете ли вы с 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.
ПРИМЕЧАНИЕ
Существует много различных типов форматов покадровых видеозаписывающих устройств. Они записывают единичный кадр в абсолютно точной позиции тысячи раз в день, не теряя кадры и не располагая их в неправильной позиции. Качество этой работы зависит от общего качества механизма устройства, что непосредственно связано с ценой. Не ждите, что устройство SVHS за 3000 долларов сравнимо по качеству механики, быстродействию или качеству образа с устройством BetaSP за 15000 долларов.
Четырьмя основными категориями видеооборудования являются пользовательское, для профессионального пользователя (prosumer), индустриальное и профессиональное (иногда называемое трансляционным). Пользовательские устройства неспособны к покадровой работе. Prosumer-устройства являются следующей ступенью и включают как SVHS, так и Hi-8. Prosumer-устройства наименее дороги из тех, которые могут применяться для покадровой анимации.
Индустриальная категория предлагает образы лучшего качества в дополнение к высококачественному устройству. В эту категорию входят устройства V4", как У4" так и ^"SP (Superior Performance).
Профессиональные устройства включают Beta- и BetaSP-записываемые лазерные диски, M-II, 1 дюйм и цифровые форматы Dl, D2 и D3. Устройства профессионального уровня хранят видеосигнал разделенным на составные части для улучшения качества образов. Указанные форматы можно редактировать любое число раз без деградации сигнала, которая возникает при копировании одной ленты на другую. Например, если расположить анимацию на одной ленте, отредактировать ее в видео и затем выполнить дубликат или копию для распространения, запишите мастер-копию для двух поколений. Каждое поколение ухудшает качество видео. Устройства профессионального уровня устраняют потерю качества, связанную с копированием.
Покадровое устройство записи и 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-базированные рекордеры включают для таких целей утилиты.
Механизм 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, "Композиционные эффекты".
Организация объектов в образе в сочетании со способом просмотра объектов называется композицией. Композиция - это и метод, и результат. Хорошо организованные трехмерные анимации, содержащие объекты и точки зрения в движении требуют эстетического чувства и грамотного использования определенных творческих принципов:
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 показывает, что случилось бы в случае размещения непрозрачного слайда в качестве третьего автономного события в очереди. Проекция оказалась бы заблокированной - вы бы не увидели первый и второй слайд. Очевидно, порядок размещения событий в очереди очень важен. Существуют несколько инструментов и типов событий, но полезно рассмотреть следующих три общих категории событий:
Renderer нс просто проходит по очереди в направлении сверху вниз. Заданное событие может быть в очереди автономным, или находиться в иерархической связи с другим событием - т.е. событие по отношению к другим может быть родительским, дочерним или родственным.
На рисунке 28.2 обратите внимание на колонку чисел, выделенных курсивом, как в левой части очереди событий Video Post, так и в окне Edit вдоль линий диапазона. Числа представляют действительную последовательность визуализации событий для кадров 40 и 550. Повторно визуализируя один и тот же кадр (например, 40) в Virtual Frame Buffer, можно наблюдать за разделом Current Task диалога хода работ и следовать действительной последовательности визуализации в порядке, показанном в колонках. Знание действительного порядка визуализации поможет сконструировать очередь в соответствии с логикой визуализатора.
Окно редактирования является линией времени. Начиная с нуля линия времени представляет диапазон кадров, которые бесконечно расширяются вправо в положительном направлении. Каждое событие имеет соответствующую линию диапазона, обеспечивающую возможность управления тем, как и когда появляется заданный стек слайдов. "Как" выполняется путем добавления событий Scene или Image Input и применения модифицированных эффектов, подобных Filters и Layers. "Когда" достигается за счет организации специальных начальных и конечных параметров линий диапазонов.
Кроме команд запуска в меню Render Video Post не имеет выпадающих меню. Инструменты в верхней части окна Video Post обеспечивают метод для размещения новых элементов в очереди. В зависимости от активного или пассивного состояния событий, инструменты будут себя активизировать для применения к выбору.
СОВЕТ
Событие 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, который визуализирует только те события, которые появляются в окне иерархии.
По умолчанию 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 поля в секунду.
СОВЕТ
Размывание движения объекта определенно может расширить - и иногда полностью заменить - визуализацию полями. Размывание движения объекта обеспечивает дискретное управление отдельными объектами на сцене, прореживанием копий объекта и количеством образов подкадров в диапазоне движения. Если выполняется визуализация анимации для цифрового видео в форматах AVI или FLC и одновременно необходимо обеспечить гладкую анимацию для воспроизведения с видеоленты без визуализации полями (не рекомендуется для цифрового видео), стоит затратить дополнительное время на планирование и визуализацию и привлечь к работе размывание движения объекта.
Помните о том, что прореживание для цифрового видео в общем случае не рекомендуется, поскольку применяемые кодекзми алгоритмы сжатия могут породить цветовые полосы. Таким образом, в предыдущем примере с мячом при визуализации в цифровой видеоформат следовало бы внимательно настроить параметр Samples, управляющий прореживанием цвета при размывании движения объекта (см. раздел "Экземпляры" позже в этой главе). Кроме того убедитесь, что прореживание (усреднение цвета в противоположность смешиванию прозрачности) в разделе Rendering Preferences не включено. В диалоге Render Scene установите значение Samples в максимально возможное (как минимум в величину прореживания), равное количеству Duration Subdivisions. Помните также о том, что кажущееся движение, вызванное перемещением камеры, при размывании движения объектов во внимание не принимается, хотя учитывается при размывании движения сцены.
Для того, чтобы применить размывание движения объекта к отдельным объектам, следует выбрать объект в видовом окне и щелкнуть правой кнопкой мыши, открывая выпадающее меню объекта. После выполнения Properties появится диалог Object Properties. Используйте данный диалог для включения размывания движения, щелкнув мышью на флажке. Параметры размывания движения объекта указываются в диалоге Render Scene (вернитесь и посмотрите на рисунок 28.4). Когда вы начнете визуализацию, объекты, у которых свойства установлены для размывания, станут подвергаться данному эффекту.
Размывание движения объекта приводит к тому, что стек модификаторов объекта оценивается для каждой копии, созданной для размывания. В результате оживляемые параметры трансляции, вращения, масштаба и модификатор также оцениваются для каждой копии. Так например, при трансляции, вращении и масштабировании оживляемого согнутого цилиндра все три трансформации отражаются в копиях движения объекта. Анимация материала в копиях объекта не отражается. Если с объектом связано оживленный исказитель пространства, анимация исказителя пространства в копиях не отражается. Оживляемая гибкость связывания отражается (поскольку находится в стеке объекта).
Значение поля Duration Subdivisions представляет число копий для визуализации в каждом кадре. Число, введенное в данное поле, играет критическую роль для успешного эффекта. Если число слишком маленькое, копии окажутся полностью раздельными - получится эффект под названием стробирование (strobing). Если число слишком велико, копии будут наползать одна на другую и результат окажется похож скорее на сплошную полосу, чем на размытое движение. Кроме того, визуализация копий размывания движения требует времени. Визуализация большего количества копий, чем необходимо, для длинной анимации приведет к потере значительного времени.
3DS МАХ налагает ограничение в шестнадцать копий. Вы можете высчитать подходящее начальное значение, воспользовавшись следующей формулой:
Ниже описаны переменные формулы:
Рисунок 28.6 показывает размытый мяч со стробированием, являющимся результатом слишком маленького значения, введенного в поле Duration Subdivisions.
Samples (экземпляры) управляют величиной прореживания, выполняемой для копий. По мере уменьшения данного значения экземпляры случайно выбираются из Duration Subdivisions. Чем ниже значение, тем меньше экземпляров выбирается, соответствуя менее дифференцированным объектам (выглядящим зернисто или разрежено). Самое нижнее допустимое значение 1 приводит к максимальному прореживанию. Максимально допустимое значение равно значению Duration Subdivisions и порождает больше копий, кажущихся полупрозрачными. Таким образом достигается более гладкий тип размывания.
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 может содержать любой файл образа или устройство, поддерживаемое 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.
СОВЕТ
Во время визуализации имеется возможность выровнять и изменить размеры вводных образов. Если данные образы являются файлами анимаций или последовательностями, укажите, какие кадры включать. Подобное осуществляется путем ввода значений в диалог Add или Edit Image Input Event, поддиалог Options (см. том 2 Руководства пользователе. Композиционные эффекты, подобные размещению 2D-cмeщeннoй анимации на сцене, аккуратное размещение масок и вытягивание и сдавливание - все это можно получить при помощи данного приема.
СОВЕТ
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 попадают в широкую категорию событий Effects. Данные события обычно воздействуют на другие события (события Input - Scene и Image). Немного непонятно, как очередь обрабатывает эти эффекты, в частности порядок, в котором они обрабатываются, и способ, в соответствие с которым прозрачность используется в образе, содержащем альфа-канал. Здесь также следует визу-ализировать отдельные кадры сложных очередей в буфер Virtual Frame, наблюдая за изменением поля диалога Current Task (текущая задача). Наблюдение поможет понять порядок визуализации фильтров, масок и композитов.
СОВЕТ
События Filter применяются в Video Post для производства специализированных фотографических эффектов, подобных искажению объектива, постеризации (уменьшению количества цветов в образе), свечению, и других общих манипуляций с образом. Вообще и в частности с подключаемыми фильтрами Adobe Photoshop события Filter визуализируют эффекты во временный образ, предоставляя возможность обработать каждый пиксел в соответствии с установленными параметрами.
С подключаемыми фильтрами Photoshop появляется ограниченная возможность предварительного просмотра эффекта - либо с Video Post замещающим образом, либо с файлом, определенным пользователем. В любом случае способность предварительного просмотра точного влияния фильтра на события в очереди во время установки недоступна. Не забывайте координировать замещающий образ или образ, определенный пользователем, с Output Size очереди Video Post. Значение Output Size видно в последних двух полях Status в нижней части окна Video Post.
События 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 до тех пор, пока не выполнится непрозрачное вытирание.
Файлы цветных битовых образов, такие как 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, например на облачное небо, и видеть сквозь круг облака.
СОВЕТ
В 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 обеспечивают повторение кадров и реверсирование направления (пинг-понг) отдельных дорожек и целых последовательностей. Хотя ограниченное зацикливание доступно и в событиях 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.
В общем случае события Output являются автономными событиями в очереди и как правило последними. Множественные выводные события можно использовать для одновременного порождения последовательных файлов и цифровой анимации, например AVI-файлов. В отличие от событий типа Input или Effects, воздействующих на другие события, событие Output становится дочерним по отношению к событию, на которое воздействует. А раз так, оно будет записывать файл, объединяющий информацию, которая была обработана до точки в очереди, в которой размещен родитель. Эта точка может, например, представлять неполную композицию альфа. Добавление событий Output в очередь подобно вставке лампы в проектор слайдов в середине стопки слайдов. Слайды (события), попадающие за пределы лампы, никогда "не увидят света".
Многие компании для целей визуализации выделяют целую группу компьютеров, которые в этом случае носят название "визуализационной фермы". В зависимости от масштаба компании диапазон размеров подобного рода ферм колеблется от двух единиц до двух сотен компьютеров. При сетевой визуализации один компьютер можно использовать для пакетной обработки. Перед уходом вечером домой можно поставить в очередь несколько заданий и 3DS МАХ по очереди их выполнит.
Сетевая визуализация для корректной работы требует Windows NT с установленными сетевыми драйверами и минимальной инсталляции 3DS МАХ. Однако для сетевой визуализации нет необходимости регистрироваться в компьютере.
В настоящей главе будет показано, как настроить сетевую визуализацию на различные типы сетевых топологий и как эксплуатировать различные компоненты сетевых возможностей 3DS МАХ.
В главе исследуются следующие темы:
3DS МАХ задействует задание-базированную (job-based) сетевую систему визуализации. Если два задания на визуализацию приписаны одному компьютеру, использующему данную систему, то компьютер подхватывает новое задание сразу же после завершения предыдущего. При сервер-базированной визуализации задание, которое может визуализироваться на нескольких компьютерах, в завершении не нуждается. Сервер-базированная система полезна, если пользователь посылает однокадровые задания, требующие многочасовой визуализации. Если другие серверы простаивают, они подхватывают любые новые приходящие задания. То же делает и визуализирующий компьютер после завершения задания. В задание-базирован но и системе подобная работа оказалась бы невозможной, поскольку первое задание должно было бы выполниться до того, как следующее начало обрабатываться сетевой системой визуализации.
Следующий раздел освещает другие фундаментальные понятия, которые необходимо знать, прежде чем начинать работу с сетевым механизмом 3DS МАХ.
До начала визуализации с привлечением сетевых возможностей 3DS МАХ следует запустить на выполнение несколько базовых компонентов среды Windows NT. На компьютере, который планируется использовать для сетевой визуализации, необходимо иметь привилегии администратора. Без таких привилегий скорее всего не будет возможности установить сетевые драйверы для NT и тем более - их запустить. Следующие разделы описывают компоненты, которые требуется инсталлировать и конфигурировать для успешного выполнения сетевой визуализации.
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 адрес вашего компьютера может выглядеть так;
Все TCP/IP-адреса используют четырехзначную комбинацию для определения компьютера в сети, при этом каждый компьютер для правильной работы должен иметь уникальный адрес. Каждый из четырех наборов чисел после объединения представляет специальный адрес. Считайте его номером дома, города, штата и почтовым кодом вашего компьютера. Windows NT способна обнаруживать другие компьютеры в сети, использующие такой же адрес, и предупреждать, что по этим причинам протокол не был загружен. Для исправления ситуации следует поддерживать уникальность адресов. Большинство сетей применяют одну из двух систем адресации TCP/IP: DHCP (Dynamic Host Configuration Protocol - протокол динамической конфигурации хост-компьютеров) или фиксированные адреса.
DHCP динамически присваивает компьютеру новый адрес при каждом новом подключении к сети. Таким образом компания может иметь пул IP-адресов, которые подкачиваются и разгружаются из компьютерной системы в сети. DHCP полезна в случаях, когда компания работает с множеством подсетей, каждая из которых использует одни и те же адреса. Пользователь может переместиться в любую подсеть и всегда иметь действительный TCP/IP-адрес.
При использовании DHCP нет необходимости в ручном конфигурировании адреса. Однако DHCP не рекомендуется для сетевой визуализации 3DS МАХ, поскольку 3DS МАХ должна знать адрес визуализирую-щего компьютера и все время его использовать. Адрес нельзя изменять автоматически. Фактически, если необходимо получить достаточное быстродействие от сетевой визуализации, следует вообще избегать DHCP.
Фиксированные адреса являются предпочтительным методом сетевой визуализации в 3DS МАХ. Фиксированные адреса остаются назначенными данному компьютеру независимо от того, кто и когда подключается.
Все сетевые параметры для 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 МАХ, поэтому выбирать необходимо именно его.
ПРИМЕЧАНИЕ
Прежде всего щелкните на вкладке Protocols. Посмотрите, находится ли в списке протокол TCP/IP. На рисунке 29.2 показан компьютер с установленным TCP/IP. Если протокол уже установлен, повторно его устанавливать не следует. Если TCP/IP в перечне отсутствует, добавьте его, щелкнув на кнопке ADD и выбрав из списка протокол TCP/IP. NT запросит различную конфигурационную информацию и затем установит протокол.
СОВЕТ
Замкнутая сеть представляет собой группу компьютеров, которые не соединены с главной сетью компании - той сетью, в которой компания выполняет основную работу. Это является идеальной ситуацией для сетевой визуализации 3DS МАХ, поскольку снижается вероятность превышения сетевого трафика и потенциальных конфликтов IP-адресов.
При использовании компьютера в замкнутой сети адрес TCP/IP должен быть уникальным. Не имеет значения, какой это номер. Однако наиболее корректно использовать шаблон адресов, позволяющий быстро идентифицировать компьютер по его адресу. Например, в сети из 10 компьютеров, где для сетевой визуализации используются все 10, компьютер номер 8 может иметь адрес 192.144.100.8, где 8 и является главным отличительным числом. Все компьютеры разделяют три одинаковых первых числа, а варьироваться будет только последний номер. 3DS МАХ предпочитает, чтобы использовался IP-адрес, который начинается со 192 и следует некоторым общим соглашениям. Рисунок 29.3 показывает распространенную настройку TCP/IP.
ПРЕДУПРЕЖДЕНИЕ
ПРИМЕЧАНИЕ
Затем установите маску Subnet (подсети). Значение маски Subnet должно равняться 255.255.255.0. Для такого назначения нет особых причин, за исключением удобства. По умолчанию, если в IP-адресе используется префикс 192, NT автоматически назначает маске Subnet 255.255.255.0. Если по какой-либо причине необходимо изменить маску, все другие компьютеры, применяемые для сетевой визуализации, также должны ее поменять. Для того, чтобы два компьютера "разговаривали", используя сетевую визуализацию, у них должна быть одна и та же маска Subnet.
Если для конфигурирования нет других специальных сетевых параметров, инсталляция протокола TCP/ IP на этом завершается. Перезагрузите компьютер и процесс завершен.
Если планируется совмещение работы в главной сети компании, следуйте тому же процессу настройки, что и для замкнутой сети. Однако при установке протокола TCP/IP следует принять во внимание несколько дополнительных соображений. Если компания уже использует TCP/IP (а так обстоит дело с большинством компаний), у сетевого администратора потребуется получить уникальный IP-адрес. Он может предоставить действительные адреса для любого количества компьютеров, которые планируется использовать для целей визуализации.
ПРЕДУПРЕЖДЕНИЕ
Более чем вероятно, что имеется маска Subnet, отличная от предпочтительной для 3DS МАХ 255.255.255.0. Если так, обеспечьте, чтобы все остальные компьютеры, используемые для сетевой визуализации, имели одинаковое значение маски.
Сетевая визуализация в 3D Studio MAX не предназначена для выполнения в сети, использующей DHCP. Если сеть динамически распределяет IP-адреса для компьютеров, попросите администратора о выделении для работы фиксированного диапазона адресов.
Настройка фермы визуализации на сеть масштаба компании, как вы уже догадались, несколько сложнее, чем решение в замкнутой сети. Кроме дополнительной головной боли от конфигурирования, имеется потенциал для значительного возрастания сетевого графика и, следовательно, замедления общей пропускной способности. Во избежание любых конфликтов проконсультируйтесь со своим сетевым администратором по поводу процесса настройки.
Для инициирования сетевой визуализации необходимо иметь три главных компонента, установленных из 3DS МАХ. Первый из них очевиден - последняя инсталляция 3DS МАХ. Остальные два компонента - это комбинация Manager и Server с Queue Manager. Все компоненты поступают с 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 (диспетчере очереди). Пиктограмма программы устанавливается в группе программ Kinetix вместе с 3DS МАХ. Внутри Queue Manager вы обладаете полным управлением процессом сетевой визуализации - от просмотра каждого задания, посланного Manager, до реорганизации задач. Queue Manager не обязан запускаться ни на каком компьютере, принимающем участие в сетевой визуализации. Он просто должен быть запущен где-то в сети, возможно даже на удаленном узле. Вообразите, что вы уходите вечером домой и дома можете контролировать и управлять сетевой визуализацией. При наличии удаленного подключения это возможно.
После того, как компьютер правильно сконфигурирован для работы в сети, вы готовы установить систему сетевой визуализации 3DS МАХ. Следующие разделы описывают, какие файлы должны присутствовать в каталогах 3DS МАХ. Вы также узнаете, как инсталлировать систему сетевой визуализации вместе с 3DS МАХ или, если 3DS МАХ уже установлен, то как конфигурировать сетевую визуализацию с учетом установки 3DS МАХ.
Что должно иметься в каталоге 3DS МАХ для сетевой визуализации? Необходимы три каталога - главный каталог 3DS МАХ, каталог Stdplugs и каталог Network. Основные ненужные элементы - это карты, поступающие с 3DS МАХ и учебные файлы.
Благодаря компонентной архитектуре 3DS МАХ программа состоит из нескольких частей, записанных в установленном каталоге. Большая часть критических компонентов программы находится ,в каталоге 3DS МАХ, включая файл 3dsmax.exe и его основное дополнение core.all. Ряд других компонентов расположен в каталоге Stdplugs.
Поскольку 3DS МАХ при выполнении специальных задач полагается на стандартные подключения, необходимо иметь данные файлы под рукой, если планируется установка станции сетевой визуализации. Данные файлы включают вещи, подобные визуализатору и геометрическим примитивам.
Каталог 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 МАХ необходимо выполнить опцию Custom setup. Для случая сервера визуализации можно также не устанавливать файлы образцов и учебных пособий. Если вы нс планируете выполнять 3DS МАХ для чего-либо, кроме сетевой визуализации, нет необходимости устанавливать драйверы Sentinel Pro. Типичный компьютер для сетевой визуализации требует около 15 Мб дискового пространства. Рисунок 29.4 показывает шаги, связанные с надлежащей настройкой компьютера.
ЕСЛИ выбрана установка программы Server, в процессе инсталляции будет выдана подсказка о необходимости ввода имени управляющего компьютера. В этот момент следует ввести имя управляющего компьютера или IP-адрес.
ПРИМЕЧАНИЕ
СОВЕТ
После ввода имени менеджера появится подтверждение введенной информации и начнется процесс инсталляции. В этот момент 3DS МАХ будет устанавливать Manager и Server как службы NT. Когда инсталляционный процесс завершится, перестартуйте компьютер для инициализации программ Manager или Server. Теперь вы готовы начинать сетевую визуализацию, используя данный компьютер. Переходите к настройке раздела INI.
Даже если вы не указывали инсталляции компонентов сетевой визуализации для 3DS МАХ, они все равно копируются на жесткий диск. Единственная разница заключается в необходимости ручной инициализации Manager или Server или и того и другого. Другая возможность заключается в повторном запуске программы инсталляции и установке только сетевых компонентов. В таком случае просто выполните шаги, описанные в предыдущем разделе. То, что описано здесь, показывает, как инициализировать компоненты сетевой визуализации вручную. Выполняемые действия иллюстрируются на рис. 29.5.
И Manager и Server могут выполняться как службы Windows NT. При возникновении такой необходимости их следует запустить еще раз, но с опцией -i для установки в служебной группе. В противном случае Manager и Server будут выполняться в окне DOS, известном как режим Desktop. Выполнение в режиме Desktop приемлемо и часто предпочтительно для новых пользователей.
Независимо от выбранного метода инсталляции создается каталог Network и, в зависимости от того, что устанавливается, создаются два файла ~ server.ini и manager.ini. За исключением нескольких параметров редактировать эти файлы не придется, разве что в экстраординарных ситуациях. Однако, в следующих разделах описывается значение различных параметров и указано, нужно ли их редактировать.
Файл server.ini, показанный на рисунке 29.6, возможно наиболее критичный для процесса сетевой визуализации. Данный файл уведомляет визуализирующий компьютер Server о том, где искать Manager и что самое главное - где искать задания на визуализацию. Ниже приведено обсуждение параметров, содержащихся в разделах файла server.ini.
Параметр Manager - самый критичный параметр в данном файле. Здесь можно указать только два значения: адрес TCP/IP или имя компьютера. Любое из значений должно быть именем или адресом менеджера сетевой визуализации. Без правильной информации компьютер не сможет принимать участие в сетевой визуализации.
Номер версии определяет выполняемую версию программы Server. Номер выражается в сотнях: если версия 100, то на самом деле - это версия 1.0. Редактировать данное значение нет необходимости, поскольку оно не оказывает влияния на сетевую визуализацию.
Номер порта (Port) относится к "каналу", на который настроен сервер. Номер порта должен быть одинаковым для всех серверов, "говорящих" с одним и тем же менеджером. Единственная причина изменения данного номера состоит в том, что другая программа в сети использует такой же номер порта. Если так, иногда лучше изменить номер порта в программе, нежели менять его во всех серверах.
Manager Port похож на номер порта для сервера за исключением того, что он должен совпадать со значением Manager Port, определенном в файле manager.ini. И в данном случае значение менять не приходится, если только другая программа не использует такой же номер порта.
Acknowledgement Timeout - это время в секундах, которое сервер ждет после посылки сообщения, например такого, как значение завершенного кадра. Значение по умолчанию равно 20 секундам.
Acknowledgement Retries представляет собой число раз, которое сервер повторяет запрос после истечения времени сообщения. Если количество повторений, указанное в данной переменной исчерпано, сервер помечает опрашиваемый компьютер как неисправный и не производит дополнительных попыток связи с ним. По умолчанию выполняется шесть повторений.
ПРИМЕЧАНИЕ
Мах Rendering Timeout представляет собой значение, выраженное в секундах, за которое сервер должен завершить назначенный кадр. Если кадр в указанное время не завершен, сервер помечается менеджером как неисправный и кадр переназначается другому серверу. В случае визуализации большой сцены с учетом временных требований, превышающих три часа, следует увеличить данное значение. По умолчанию оно равно 14400 секунд или четыре часа.
ПРЕДУПРЕЖДЕНИЕ
Мах Loading Timeout определяет максимальное время, выраженное в секундах, которое требуется на запуск 3D Studio MAX на сервере после того, как сервер уведомил о получении задачи на визуализацию. Если 3DS МАХ не стартовал в указанное время, кадр автоматически переназначается другому компьютеру. Чрезмерная пауза обычно возникает в одном из двух случаев: либо 3DS МАХ не авторизован для сервера, либо не были сконфигурированы видеодрайверы. По умолчанию значение составляет 300 секунд или 5 минут.
Значение Level задает количество информации, предоставляемое пользователю, когда Server выполняется в окне DOS. Данное значение не оказывает влияния, когда Server выполняется как служба NT. Кроме того, значение Level не влияет на то, какой информацией обмениваются Manager и Server. Если значение параметра установлено в 0, то фактически никакой информации в окне DOS нс отображается, тогда как значение 255 приводит к отображению всей возможной информации. Нс редактируйте данное значение, если поступающие на экран сообщения не становятся слишком раздражающими. Сообщения часто выводят полезную информацию, помогающую решить проблемы настройки сетевой визуализации. По умолчанию значение равно 255.
Значение Command представляет программу архивирования, которая используется для декомпрессии карт при выборе опций Use Maps. Данная программа должна совпадать с программой архивирования, указанной в файле 3dsmax.ini.rio умолчанию это pkunzip.
Значение Options устанавливает любую опцию для программы архивирования. Помните, что сетевая визуализация в основном не сопровождается, поэтому установите любые опции здесь, чтобы программа архивирования не запрашивала пользовательский ввод. В противном случае компьютеры будут то и дело останавливаться в ожидании ответов на простые вопросы. Какие именно опции требуются программе архивирования можно увидеть, запустив программу с указанием -? или /? после имени.
Как и server.ini, manager.ini играет существенную роль для правильного выполнения программы Manager. Он содержит множество таких же или подобных параметров, которые содержатся в файле server.ini, и вероятно изменять их не придется. Файл manager.ini, показанный на рисунке 29.7, обычно не редактируется, поскольку параметры менеджера остаются постоянными. Если возникают серьезные проблемы с визуализацией, изменяйте только нижеперечисленные значения.
Номер версии определяет выполняемую версию программы 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Кб. В случае возникновения проблем попытайтесь уменьшить это число.
Acknowlegement Timeout представляет собой время в секундах, которое менеджер ожидает после посылки сообщения, например такого, как значение присвоенное кадру- По умолчанию параметр равен 20 секундам.
Acknowlegement Retries является числом повторений, которое выполняет сервер после истечения срока посылки сообщения. После повторения обращения столько раз, сколько указано в данной переменной, менеджер помечает виновный компьютер как неисправный и больше не пытается вступать с ним в контакт. В этот момент для повторной попытки соединения следует использовать клиент менеджера очереди. По умолчанию делается шесть повторений.
ПРИМЕЧАНИЕ
Значение Wait for 3DS МАХ to load полезно, если вы наблюдаете за увеличением или уменьшением количества времени, разрешенного 3DS МАХ на загрузку на сервере, после того как серверу назначено задание. Если предоставлять на выполнение большие проекты медленным компьютерам, это значение следует увеличить. Единицей измерения является секунда. Пауза исчерпывается тогда, когда по каким-либо причинам 3DS МАХ не загружается на сервере. Наиболее частая причина заключается в неавторизованной версии 3DS МАХ или отсутствии карт.
Ожидание выгрузки 3DS МАХ (Wait for Unload) похоже на параметр Wait for Load. Параметр предназначен для того, чтобы серверу не назначались новые задания, если он не завершил работу нормально, до тех пор, пока он не будет каким-то образом исправлен. Значение по умолчанию в 60 секунд удовлетворяет большинство сетей.
Значение Level указывает на то, сколько информации предоставляется пользователю когда Manager выполняется в окне DOS. Значение особой роли не играет, если Manager выполняется как служба NT. Кроме того, значение не влияет на то, какой информацией обмениваются Manager и Server. При нулевом значении параметра в окне DOS фактически не отображается никакой информации, тогда как значение 255 приводит к показу всей информации. Не редактируйте данный параметр, если сообщения, поступающие на экран, не становятся чрезмерно раздражающими. Сообщения часто несут полезную информацию, помогающую устранить проблемы с настройкой сетевой визуализации. Значение по умолчанию равно 255.
Concurrent Job Assignment определяет количество активных заданий, которые менеджер может обрабатывать одновременно. Обычно данное значение делается низким. Тогда Manager имеет возможность мультиза-дачности - если два задания посланы в различное время, то каждое использует свой сервер, и Manager может обрабатывать назначение обеих заданий параллельно. Поскольку файлы МАХ и ассоциированные с ними карты могут со временем увеличиваться, то правильная идея - ограничить значение Concurrent Job Assignment, если только компьютер менеджера - это не "суперлошадь" с "мускулистой" сетевой аппаратурой. Большинство современных сетей могут обработать/приблизительно от четырех до шести параллельных назначений, тогда как старые сети могут справиться лишь с двумя. Причина, по которой данное число столь важно, заключается в том, что каждое параллельно назначаемое задание, которое должен поддерживать Manager, съедает процессорное время у других задач, подобных назначению кадров и трекингу для текущих назначенных заданий. Значение по умолчанию равно 4.
Если вы чувствуете, что готовы к сетевой визуализации, лучше всего начать всего с двух компьютеров - или одного при однокомпьютерной настройке. Если вы сможете заставить "говорить" друг с другом два компьютера, то сможете заставить общаться и целую комнату при условии, что все компьютеры сконфигурированы одинаково. В первом разделе из приведенных далее описано выполнение Server и Manager как служб, а также в режиме Desktop. Прочтите описание обоих способов и решите, какой для вас более предпочтителен. В следующем разделе рассматриваются способы назначения заданий из диалога визуализации 3DS МАХ. Кроме того там приведено обсуждение настройки карт и путей карт.
Первый шаг к сетевой визуализации 3DS МАХ заключается в инициализации программ Manager и Server на соответствующих компьютерах. И Manager, и Server могут выполняться в двух различных режимах - как служба и в режиме Desktop. Оба режима имеют свои преимущества и недостатки. В зависимости от того, какова конкретная настройка сети, следует решить, какой режим лучше отвечает вашим потребностям.
Windows NT выполняет программы, называемые службами, для инициализации определенных системно-критических операций. Типичной службой является служба сообщений, которая предоставляет сетевому администратору возможность посылки сообщений пользователям сети. Главное достоинство служб заключается в том, что их запуск и работа полностью прозрачны для пользователя. Нет необходимости явно стартовать или прекращать службы. Они стартуют во время запуска компьютера и завершают работу при его выключении.
Если Manager или Server выполняются в виде служб, их инициализация незаметна. Единственный способ определить, что они выполняются, заключается в выдаче задачи из 3DS МАХ на сетевую визуализацию или в переходе па пиктограмму Services в Control Panel (см. рис. 29.8).
Если механизмы сетевой визуализации устанавливались из программы инсталляции, Manager и Server уже являются службами. Для перехода на Control Panel в Windows NT 3.51 выполните следующее:
На рис. 29.8 в списке можно увидеть 3DS МАХ Rendering Manager, Server или оба. Обратите внимание на то, что и Manager, и Server по умолчанию установлены в Started и Automatic. Started означает, что служба запущена и выполняется. Хотя некоторые службы NT можно приостанавливать, Manager и Server выполняются только в состоянии On/Off. Automatic означает, что служба запускается автоматически после запуска компьютера. Другие опции включают Manual или Disabled.
Кто должен выполнять Manager или Server в виде служб NT?
Ключевое положение здесь заключается в том, что метод службы обеспечивает гарантию выполнения Manager и Server. Никакого вмешательства человека реально не требуется. Поскольку службы выполняются автоматически, то даже напряжение может исчезать и появляться. NT загрузится автоматически, служба запустится с NT и далее задание на сетевую визуализацию подхватывается там, где было прервано.
Службы также более безопасны. Обычно к службам имеют доступ только администраторы. Это означает, что нормальный пользователь может работать на компьютере в течение дня, а администратор может забрать компьютер для сетевой визуализации на ночь - все удаленно, полностью прозрачно для пользователя на рабочей станции, за исключением того, что текстовый процессор покажется несколько медленнее, чем обычно! Пользователь не обязан регистрироваться в компьютере. Станция визуализации может отображать подсказку регистрации, а служба все равно будет выполняться в фоновом режиме.
Главный недостаток служб, как ни странно, заключается в том, что делает их настоль хорошими - в обеспечиваемом для пользователя уровне управления и взаимодействия. Когда Manager и Server выполняются в виде служб, они нс предоставляют пользователю обратной связи, за исключением того, что 3D Studio МАХ визуализирует тогда, когда хочет. В таком случае наблюдение за тем, что реально происходит, невозможно и существенно затрудняет отладку сетевой визуализации. Поначалу вы должны запускать Manager и Server в режиме Desktop- Убедитесь, что все работает правильно, протестируйте каждый возможный сценарий сетевой визуализации и затем инсталлируйте программы как службы.
СОВЕТ
Manager и Server имеют стандартные опции служб (Services), которые можно конфигурировать для лучшего удовлетворения ваших нужд. Для изменения любого из следующих параметров необходимо щелкнуть на кнопке Startup в диалоге Services. В результате на экране появится диалог Services Options (см. рис. 29.9).
Первый раздел предоставляет возможность указать, как стартует служба. Обычно вы оставляете Automatic. Таким образом служба запускается при каждой загрузке NT. Если необходим больший контроль за запуском службы, выберите Manual. После этого придется запускать службу из диалога Service каждый раз, когда ее необходимо использовать. Последняя опция Disabled полностью деактивирует службу. Пользователь не сможет запускать службу с данной панели до тех пор, пока вновь нс будут выбраны Manual или Automatic. Если вы стали замечать, что в сетевой работе на данном компьютере возникают какие-то проблемы и они связаны со службами, иногда простое отключение служб может оказаться отличным способом решения проблем.
Следующий раздел показывает, как задать регистрации служб на компьютере. Службы должны регистрироваться под определенной учетной записью, поскольку они запускаются даже раньше, чем кто-либо зарегистрировался в компьютере. По умолчанию служба настраивает себя на регистрацию с использованием учетной записи System. Данная учетная запись обеспечивает минимальный доступ к сети и должна применяться только тогда, когда компьютер настроен как единственная станция, или все файлы размещены на каждом компьютере и вывод делается локально. Если вы намерены совместно использовать схему дисководов или вывод, следует указать определенный тип учетной записи. Какая бы учетная запись не выбиралась, убедитесь, что она имеет достаточные права для доступа к сетевым дисководам. Для определения пользователя щелкните на кнопке More (три точки) и затем выберите его из списка. Убедитесь в том, что пользовательский пароль точен и подтвержден.
ПРИМЕЧАНИЕ
Если Manager или Server уже установлены как службы, их можно инсталлировать/деинсталлировать, выполнив исполняемый модуль с опцией -г, например:
Данная команда удаляет Server как службу NT, но не уничтожает ее. То же применимо и к Manager. Если служба в текущий момент выполняется, она останавливается и затем удаляется.
Режим Desktop обеспечивает окно во внутреннюю работу служб Manager и Server. В режиме Desktop службы выполняются в окнах MS-DOS на рабочем столе. Такие службы функционируют подобно установленным, за исключением того, что вся связанная информация отображается в соответствующих окнах.
Для запуска службы в режиме Desktop выполните следующее:
Поставьте Manager, если хотите выполнять его в режиме Desktop. Если требуется выполнять два менеджера одновременно, повторите приведенные выше шаги. NT предоставляет возможность запустить несколько сеансов.
ПРИМЕЧАНИЕ
После того, как вы освоились с выполнением 3DS МАХ в режиме Desktop и хотите перейти к выполнению системы как службы, выполните следующее:
Поставьте Manager на выполнение, если это именно то, что необходимо установить. С данного момента для запуска Manager или Server как службы следуйте директивам, описанным в предыдущем разделе (рис. 29.10).
В случае готовности к сетевой визуализации следует щелкнуть на опции Net Render в диалоге визуализации 3DS МАХ. После этого появится диалог Job Assignment, показанный на рисунке 29-11. Окно Job Assignment предоставляет возможность указать менеджер, к которому необходимо посылать задание, и требуемые службы. Эта и ряд других опций обсуждаются в следующих разделах.
ПРИМЕЧАНИЕ
Поле Job Name предоставляет возможность определения имени задания, которое отображается в Queue Manager. Выберите имя, отражающее то, что визуализируется. Если визуализируется сцена болота (swamp), кадры 100-200, имя может выглядеть как Swamp Scene (100-200).
При таком способе именования любой, кто посмотрит на задание, мгновенно поймет, какая сцена и сколько ее кадров визуализируются. Если задание с выбранным именем уже существует, возникает предупредительное сообщение, и прежде чем продолжить работу потребуется выбрать другое имя.
ПРЕДУПРЕЖДЕНИЕ
ПРИМЕЧАНИЕ
До сих пор механизм Include Maps является лучшим новым дополнением к сетевой визуализации, однако и одним из наиболее проблематичных при несоответствующей настройке. Неправильное конфигурирование данной опции приводит к провалу всего задания. Так что же она делает? Когда флажок опции включен, 3D Studio MAX архивирует сцену и все связанные карты в один файл и рассылает его на каждый сервер. Когда файл попадает на сервер, то он разархивируется и начинается процесс визуализации. При этом гарантировано, что каждый компьютер работает с одними и теми же картами, и применяющие данный метод визуализации практически никогда не бывают неудачными. Но в чем же загвоздка?
ПРЕДУПРЕЖДЕНИЕ
Поскольку в сети возможно иметь несколько менеджеров, потребуется выбрать тот, который будет использоваться для визуализации. Менеджер можно указать как по имени, так и по TCP/IP-адресу. 3D Studio МАХ помнит последних четыре менеджера, введенных в выпадающий список Manager.
После выбора менеджера щелкните на кнопке Connect. Если все настроено правильно, 3DS МАХ выполнит соединение и список серверов зарегистрируется с новым менеджером. Если ничего не произойдет или будет получено сообщение об отказе соединения, следует проверить несколько условий.
Цветные точки рядом с именем отражают текущее состояние сервера. В следующем разделе описано управление серверами и различные состояния, в которых они могут находиться.
Потенциально серверы могут находиться в четырех состояниях - Ready (готов) (зеленый), Busy (занят) (желтый), Running MAX (выполняет МАХ) (серый) и Error (ошибка) (красный). Обычная отметка -• желтый, означающая, что другие задания визуализируются на данном сервере. Серый отображается тогда, когда 3DS МАХ выполняется на данном компьютере в режиме Normal (не сервер) и не может использоваться до тех пор, пока не завершится сеанс 3DS МАХ или пока Server не будет запущен. Красная точка обозначает возникновение каких-то проблем. Такое происходит как правило в случае, когда предыдущее задание на данном сервере завершилось неудачно и сервер сохраняет шаблон до тех пор, пока задание не снимется или не разрешится ситуация, приведшая к ошибке.
При назначении задания серверу его состояние не имеет значения. Единственное назначение цветных точек - проинформировать о текущем состоянии сервера. Назначение задания данному серверу гарантирует, что непосредственно после освобождения сервера он выберет задание и начнет визуализацию. Однако, если компьютер находится в состоянии ошибки, прежде всего следует удалить текущее задание, задействовав Queue Manager. В противном случае сервер никогда не выберет задание.
Возможно наиболее трудной частью корректной сетевой визуализации является использование в сети текстурных карт. Компьютеры имеют доступ к многочисленным каталогам на многих компьютерах и выбирают разные версии одного и того же файла. Это приводит к массовой путанице не только при работе над проектом, но превращается в кошмар при визуализации сцены в сети. В настоящем разделе описывается лучший способ организовать сетевую ферму визуализации для загрузки карт и сохранения файлов.
В ситуациях, когда на сцене работают несколько людей, необходим доступ к центрально расположенным картам. Каждый сотрудник всегда имеет доступ к самой последней версии 20-текстуры, над которой работали художники. В Windows NT распространен именно такой тип организации. Компьютеры могут монтировать дисководы из других компьютеров, называемые разделенными дисководами, и использовать разделенные дисководы так, будто они являются локальными для данного компьютера. Наличие центрального хранилища карт является ключом для правильной организации сетевой визуализации.
ПРЕДУПРЕЖДЕНИЕ
Можно предпринять следующие организационные шаги для того, чтобы убедиться, что карты загружены на каждом сервере, участвующем в сетевой визуализации:
ПРИМЕЧАНИЕ
В случае применения упомянутых шагов все карты будут выбираться на втором шаге. И вот почему. 3DS МАХ для запоминания пути карт использует то, что называется UNC (Universal Naming Convention -универсальные соглашения по именованию). Это означает, что карта с именем weavel .tga, хранимая в компьютере с именем Mapserver в каталоге Carpets, будет запоминаться в -тах-файле как
ПРЕДУПРЕЖДЕНИЕ
Обратите внимание на то, что в информации пути буква дисковода не хранится. UNC не полагается на буквы, он полагается только на имена компьютеров. Вот почему можно соединиться с компьютером, используя любую букву дисковода. До тех пор, пока вы соединены, 3DS МАХ будет находить карту. Если требуется получить информацию UNC для файла, запомненного локально, можно соединиться с компьютером через File Manager.
Большая часть приведенной информации по настройке путей для сетевой фермы визуализации применима и к выводным каталогам. После того, как файл визуализирован, куда же он девается?
Совершенно аналогично настройка общего размещения для выводных файлов критична для фермы визуализации. Если 3D Studio MAX не может записать визуализированный файл, сервер выдает ошибку на конкретном задании. Для указания, куда файлы должны следовать после визуализации, можно использовать большую часть той же логики, которая приведена в предыдущем разделе. Следующие организационные шаги описывают то, как лучше конфигурировать пути при настройке сетевой визуализации.
Большая часть прочитанного применима к настройке нескольких компьютеров. Если же для пакетной визуализации применяется единичный компьютер, работа по настройке путей карт и выводных каталогов значительно упрощается.
Самый простой способ убедиться в том, что задание находит все карты, заключается в использовании опции Configure Path в выпадающем меню File и добавлении необходимых путей карт. Если вы загружаете карты из другого компьютера где-то в сети, доступны две возможности. Самый простой и быстрый метод состоит в копировании файлов локально на ваш компьютер. Однако прежде всего необходимо соединиться с компьютером, используя File Manager или Network Neighborhood.
ПРИМЕЧАНИЕ
С выводом еще проще. Укажите позицию на жестком диске или на сетевом дисководе для запоминания файлов. Единственный подводный камень при загрузке карт из сети или посылки в сеть вывода заключается в том, что если сеть по какой-либо причине отключается, задание на визуализацию пропадает. Если пространство на жестком диске ограничено, лучше почистить некритические данные, запомнив их где-нибудь в сети и переместив карты на свой жесткий диск. Помните о том, что 3DS МАХ попадает в состояние ошибки, если не может найти хотя бы одной карты или запомнить визуализированный образ в указанном расположении. Что касается вывода, нет необходимости в поиске других жестких дисков или каталогов для хранения образов в других местах в качестве резервных копий.
Сетевая визуализация в основном предназначена для визуализации неподвижных кадров, но может возникнуть желание задействовать ее для визуализации таких кадров в файлы AVI или FLC. Проблема с файлами AVI или FLC заключается в том, что их необходимо собирать линейно. Кадры должны предоставляться один за другим. При сетевой визуализации кадры обрабатываются совершенно неупорядочено. Из-за этого ограничения при выборе в качестве формата выводного файла FLC или AVI потребуется выполнять сетевую визуализацию только на одном сервере. 3DS МАХ не обеспечивает возможность выбора более одного сервера. Таким образом возникает вопрос, как распределить визуализацию на несколько компьютеров с использованием в качестве вывода AVI или FLC? Очень просто. Используйте Video Post. В следующих разделах описано, как задействовать несколько компьютеров для визуализации, если вывод помещается в файл AVI или FLC.
AVI или FLC можно визуализировать из диалога Rendering, используя сетевую визуализацию так, как обычно визуализировалась бы последовательность неподвижных образов. Затем для сборки кадров в 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 выполните следующие шаги:
Анимация визуализируется в последовательность неподвижных кадров. Отсюда вы готовы перейти к следующему разделу.
Теперь, когда имеется вся последовательность визуализированных кадров. Video Post можно использовать для сборки их в файл FLC или AVI. Video Post предоставляет возможность выбирать последовательно пронумерованные кадры посредством Image Input Event и сохранять результат в FLC или AVI, используя событие Image Output. С этой целью выполните следующее:
3D Studio MAX и Video Post загрузят каждый файл из последовательного списка и выведут их в файл AVI или FLC, как показано на рис. 29.12. Результирующий файл должен визуализироваться локально. К сожалению, возможность визуализации данной части через сеть отсутствует, но описанный метод является приемлемым обходным маневром, если нужно визуализировать вывод из диалога Rendering или Video Post, который использовал сетевую визуализацию в AVI или FLC.
У вас имеется компьютер, "разговаривающий" с сетью и выполняющий визуализацию. Теперь, как ею управлять? Все управляющие элементы сетевой визуализации определены в 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.
ПРИМЕЧАНИЕ