В главе рассматриваются следующие понятия:
Термин объект используется повсеместно во всей программе 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.
ПРИМЕЧАНИЕ
Существует сразу несколько серьезных причин порекомендовать эту Книгу вашему вниманию.
Первая из них состоит в том, что «3D Studio Max5» написана профессиональным художником-аниматором, создавшим более 200 серьезных работ в области телевизионной рекламы, визуализации и дизайна. Некоторые из его наиболее значимых проектов имеют награды ежегодного международного конкурса анимации, проходящего под патронажем французской Imagina. Поистине неоценимой для начинающего трехмерщика, на наш взгляд, представляется подборка «Советов Профессионала», раскрывающая многие тонкости программы Мах и трехмерного творчества в целом. Большинство рекомендаций основано на многолетнем опыте работы с программами Yost Group, Kinetix, Discreet (авторами и разработчиками 3D Studio и 3D Studio Max). Кроме того, предлагаемые практические задания и примеры максимально приближены к реальной работе и развивают нестандартный подход у начинающего пользователя.
Вторая немаловажная причина сосредоточена в оригинальной методике обучения Мах, разработанной автором и опробованной им на значительной группе пользователей, исчисляемых трехзначной цифрой.
Далее следует сказать, что эта Книга является первым непереводным изданием по официальной лицензионной версии пакета. Поэтому вполне резонно предположить более полное освещение всех функциональных возможностей и новинок программы - это третий положительный аспект.
Довольно обширен список Интернет-ресурсов о 3D, размещенный в отдельном Приложении, а также перечень Plug-Ins (Подключаемых Модулей) с иллюстрациями и кратким описанием возможностей, что может считаться четвертым плюсом рекомендуемого издания.
В заключение остается сказать, что начинающие трехмерные художники после освоения этой книги получат все необходимые навыки для создания сцен любой сложности, будь то архитектурный дизайн, рекламный ролик или анимационный фильм.
О чем и для кого эта Книга
В последнее время появилось очень много программ для моделирования, анимации и визуализации трехмерных миров. Каждая из них по-своему хороша, однако лучшее сочетание простоты управления и эффектности конечного результата удалось создать, как мне кажется, разработчикам из Discreet, Inc. (ранее Kinetix). Действительно, став самой распространенной и мощной настольной программой, 3D Studio Max обратил на себя внимание не только новичков, но и профессионалов. Однако первых не должны пугать многочисленные возможности, заложенные в Мах для вторых, - программа позволяет успешно работать и тем, и другим, - каждому на своем уровне.
Из названия этой книги следует, что главный упор сделан на ознакомлении начинающего художника с основными возможностями Мах и методами быстрой и эффективной работы. Некоторые разделы (Инверсная Кинематика, Анимация Частиц, язык программирования MaxScript и др.) не рассматриваются, как предназначенные для узкого круга более подготовленных пользователей.
Как работать с этой Книгой
Структура Книги организована с максимальным акцентом на удобство усвоения материала. Все основные Главы имеют разделы, озаглавленные как «Практика», в которых по принципу «от простого - к сложному» подобраны «Задания» для закрепления соответствующих навыков. Кроме того, дополнительная теория и описания свойств добавлены в «Практику» в виде факультативных статей.
Каждое практическое задание содержится в проектах Мах на сайте издательства по адресу www.diasoft.kiev.ua.
Особняком стоит Глава «50 Советов Профессионала», в которой описано больше практических сведений, приемов и методов, а теория сведена до необходимого минимума. Повторяя в миниатюре общую структуру Книги, «Советы» скомпонованы по основным разделам трехмерного творчества.
Для добавления каталога Текстур в Map Path (Путь Доступа) Мах вызовите диалоговое окно Configure Path (Настроить Путь Доступа) одноименным пунктом падающего меню Customize (Настроить) и в закладке Bitmaps (Растровые Карты) воспользуйтесь кнопкой Add (Добавить). Далее используйте стандартный поиск и выбор каталога, и в результате возникнет дополнительная строка типа R:\Maps, где первая буква соответствует вашему устройству для чтения компакт-дисков. f
Необходимые кнопки управления Мах расположены в виде пиктограмм напротив тех строк, где располагается их описание или ссылка:
Zoom / Zoom Time Показ по Оси Знач динамической настркиванием мыши.
Zoom Region (Пока укрупнения показа.
Итак, вы являетесь счастливым обладателем одного из лучших пакетов трехмерной графики - 3D Studio Max или просто Мах. Эта программа разработана одним из подразделений всемирно известной американской фирмы Autodesk, и мы будем работать с версией - 5.0. В результате своего развития Мах стал отраслевым стандартом и область его применения огромна и многогранна. В самом деле, эта программа трехмерного моделирования и анимации нашла своих многочисленных пользователей по всему миру от домашнего новичка до профессионала киноиндустрии. Идеи, заложенные авторами Мах, блестяще реализуются на практике, в настоящий момент это не только самый мощный, но и самый продаваемый пакет трехмерной графики в мире.
Моделирование архитектурных интерьеров и фасадов, анимация персонажей, фотореалистичные 3D сцены для Internet, визуализация физических процессов (рис. 1.01) - вот далеко неполный список задач, легко решаемых этой программой. Причём, речь может идти как об оптимальной расстановке мебели в Вашей квартире, оригинальной «начинке» домашней странички WEB или поздравительном ролике, так и о курсовом или дипломном проекте, коммерческой реализации целого интернет-сервера или представительском видеоклипе крупной компании.
Масштабируемость и модульная структура пакета позволяет получить конечный результат буквально за несколько часов работы пользователя, только начинающего своё ЗD-самообразование. Профессионалу же предоставлены неограниченные средства для творческого поиска и совершенствования.
РИСУНОК 1.01. Пример трехмерной сцены 3D Studio Max
В результате работы программы создаются статические сцены, состоящие из определенного набора геометрических объектов (плоских и объемных), которые являются трехмерными, то есть описываются тремя координатами. Упрощенно эти координаты можно назвать Длиной, Шириной и Высотой. Четвертое измерение - Время присутствует только в динамических сценах или сценах, использующих Анимацию (или оживление). Наиболее характерный пример статической сцены - трехмерная модель архитектурного объекта, динамической - демонстрация работы автомобильного двигателя. Любая сцена формируется с использованием стандартного алгоритма, который укрупненно может быть описан следующим образом:
Конечным результатом, завершающим работу над статической трехмерной сценой, является «картинка» - графический файл изображения. Динамическая сцена дает на выходе набор «картинок» или анимационную последовательность, где каждый кадр отражает изменения, происходившие с объектами сцены. Результаты визуализации могут быть перенесены на бумагу, пленку, ткань или записаны на видеоленту, CD-диск и т.д. Кратко остановимся на основных пунктах алгоритма работы по созданию, отладке и визуализации трехмерной сцены.
Это один из основных этапов работы, характеризующийся требованиями значительных навыков и знаний основных команд и инструментов среды Мах. Причем реально учитывается именно геометрия тел, а не их физические свойства или взаимодействия - эти понятия лишь имитируются. Осваивая работу по моделированию сцены, можно убедиться, что объем первоначальных знаний доступен для запоминания любым начинающим пользователем, и конечный результат может быть достигнут довольно быстро.
Следующий этап, заключающийся в настройке и отладке визуальных характеристик сцены. Яркость и тон основного и вспомогательного освещения, наличие рефлексных источников света, глубина и резкость теней и многие другие параметры задаются при помощи специальных служебных объектов - источников света, а съемочные камеры управляют крупностью кадра, перспективой, углом зрения и поворота и т.д. Кроме того, высота точки расположения наблюдателя регулирует так называемый «эффект присутствия» - вид с высоты «птичьего полета» или человеческого роста сразу задает «настроение» зрителю. Реальность получаемой «картинки» в значительной степени зависит от используемых материалов и примененных в них текстурных карт -изображений, имитирующих фактуру дерева, камня, водной поверхности и т.п. Многочисленные параметры Редактора Материалов дают неограниченные возможности в отладке и настройке фотореалистичности сцены, приближению ее изображений к натуральности реального мира.
При моделировании динамических сцен очень мощный механизм управления движением, как отдельных объектов, так и целых потоков и групп, позволяет добиваться настоящей достоверности, приближающей моделированную имитацию к реальным съемочным кадрам, получаемым видеокамерой. Такие параметры, как замедление и ускорение, циклы и повторы, масштабирование временных промежутков и некоторые другие управляют анимацией и дают гибкий инструмент для пользователя.
Финальный этап, заключающийся в настройке параметров, регулирующих качество получаемой «картинки», формат и тип генерируемых кадров, добавление специальных эффектов (сияния, отражений и бликов в линзах камер, размытие резкости, смазанность при быстром движении, туман и многие другие). Процесс обсчета каждого кадра напрямую зависит от сложности сцены, используемых материалов и, безусловно, от компьютера, на котором происходит обсчет. Поэтому далее мы детально остановимся на аппаратных и программных требованиях, предъявляемых программой Мах.
Итак, разберем компоненты вашего компьютера, которые могут оказаться критичными при работе с Мах. Одни из основных составных частей, влияющих на производительность при создании и редактировании трехмерных сцен, - это память и процессор. Индустрия персональных компьютеров за последние годы сделала гигантский рывок и сейчас сложно предположить на вашем рабочем столе систему слабее, чем описанную в разделе «Минимальная конфигурация». Скорее наоборот, «Рекомендуемая конфигурация» может быть признана сейчас минимальной, исходя из требований других задач - игр, Интернета, приложений мультимедиа и т.д. Поэтому следует уяснить, что программа Мах будет работать у вас ВСЕГДА, однако чем лучше ваша конфигурация, тем эффективнее вы сможете заниматься собственно трехмерным моделированием, а не борьбой с замедлениями и ожиданием завершения промежуточных результатов.
Так как Мах все же графическая программа, то обратите должное внимание на свою видеоподсистему. Можно работать в режиме 256 цветов и получать довольно приемлемые результаты, однако добиться фотореализма с такой цветовой палитрой проблематично, да и стадия отладки материалов и текстур будет скорее тяжелой работой, чем удовольствием. Безусловно, рациональнее будет использовать наработанные библиотеки геометрий, материалов, текстурных карт и т.п., чем создавать все это самому, поэтому желательно иметь подключение к Интернет и привод для CD-дисков.
Установка 3D Studio Max 5.0
Для продуктивной работы в среде Мах требуется настроенный и оптимизированный компьютер, предустановленная операционная система, отлаженная видеоподсистема. Аппаратные требования описывались ранее, поэтому остановимся теперь только на вопросах Software (Программных).
Рекомендуется инсталлировать Мах версии 5.0 на компьютер с операционной системой Windows NT версии 4.0 или выше. Однако этот пакет будет работать и на более распространенной OS - Windows 98 (хотя ради справедливости следует упомянуть о недостаточно устойчивой работе Мах в этой системе).
Начать установку следует с запуска программы Setup.exe из дистрибутивного каталога Мах с инсталляционного CD. В результате будет вызван Мастер Установки и после выбора программы 3D Studio Max из общего набора Вам будет предложено прочесть Лицензионное соглашение и подтвердить его (рис. 2.01).
Чтобы продолжить процесс установки, необходимо ввести Serial Number (Серийный номер) и CD-Key (Ключевой код) (рис. 2.02), которые можно найти на упаковке инсталляционного CD.
РИС. 2.01. Первый экран инсталляции 3DSMax5.
РИС. 2.02. Серийный номер и Ключевой код.
В следующем окне будет предложено ознакомиться с последней информацией об установке 3DS Мах.
В диалоговом окне необходимо ввести информацию о пользователе. Эта информация будет использована в процессе интерактивной авторизации регистрации продуктов 3DSMax и Character Studio (рис. 2.03).
Затем возникнет новое диалоговое окно с предложением указать Destination Folder (Каталог назначения) - место на жестком диске для размещения файлов программы. Следует выбрать раздел жесткого диска, на котором имеется не менее 500 Мб свободного пространства. В следующем окне нужно выбрать вариант конфигурации Compact (Компактный) (рис. 2.04).
РИС. 2.03. Информация о пользователе.
РИС. 2.04. Выбор варианта установки.
Выбранный вариант предполагает установку необходимого набора обязательных и дополнительных компонентов, таких как файлы программ 3DS Мах и Character Studio, библиотеки материалов, текстурные карты, файлы описаний и т.п., кроме Max SDK и Character Studio SDK (Набор программных средств для программистов) и большей части примеров, которые можно добавить при установке отдельно в следующем диалоговом окне.
После щелчка на кнопке Next (Далее) будет вызвана процедура распаковки и копирования компонентов Мах. Весь процесс инсталляции демонстрируется в служебном окне и в любой момент может быть прерван щелчком на кнопке Cancel (Остановить) (рис. 2.05).
После завершения всех необходимых действий нужно перезагрузить Windows, и затем можно будет приступить к первому знакомству с Interface (Пользовательской средой) Мах и к ее настройке.
РИСУНОК 2.05. Процесс установки Мах.
Любая программа и тем более такая сложно структурированная, как Мах версии 5.0 требует некоторого времени на ознакомление с методами управления, навигации и настройки пользовательской рабочей среды - Интерфейса. Разберем основные типы элементов интерфейса среды Мах.
Сразу после запуска программы и показа рекламной заставки происходит раскрытие Главного Окна Мах - основного элемента интерфейса (рис. 3.01).
РИСУНОК 3.01. Главное Окно Мах
Это окно является стандартным окном операционной системы Windows, и поэтому оно может быть развернуто на весь экран, свернуто или закрыто. Кроме того, в неполноэкранном режиме могут быть изменены его размеры перетаскиванием границ мышью. Однако набор меню, панелей и управляющих кнопок столь велик и многочислен, что реально работать можно только при размере Рабочего Стола Windows не менее 1152x864 при полноэкранном режиме. Прежде чем разбирать основные элементы интерфейса, остановимся на атрибутах, составляющих их:
Из описанных атрибутов интерфейса составлены основные элементы, определяющие Главное Окно Мах:
При перемещении курсора происходит подсвечивание выбираемого пункта, и для его выбора необходимо произвести левый щелчок. Если строка меню имеет в крайней правой позиции маркер в виде треугольной стрелки, то при наведении курсора выпадает вложенное меню (рис. 3.02). Кроме того, пункты меню, которым назначен клавиатурный макрос, отображают его в текстовой строке своего названия.
РИСУНОК 3.03. Флаговый пункт меню
Некоторые строки являются флаговыми, то есть могут быть включены или выключены при каждом выборе такого пункта меню (рис. 3.03), а строки, название которых оканчивается троеточием, вызывают дополнительный режим, требующий ввода данных пользователем, указания мышью, а также вызывают Диалоговые Окна - следующий элемент пользовательского интерфейса Мах.
РИСУНОК 3.04. Диалоговое Окно с Тесктовым Полем
Диалоговое Окно - один из основных элементов организации пользовательского ввода. Такие окна могут состоять как из одного единственного редактируемого параметра (например, текстового поля имени (рис. 3.04)), так и из множества сгруппированных параметров и настроек (рис. 3.05).
РИСУНОК 3.05. Диалоговое окно с несколькими элементами управления
Диалоговые Окна бывают модальные и немодальные. В случае вызова окон первого типа доступ к остальным элементам управления Главного Окна отключается до закрытия такого Диалогового Окна. Второй же тип разрешает такой режим работы.
Панели Инструментов - альтернативный вариант Падающего Меню, в котором все команды представлены в виде функциональных кнопок с небольшой схематичной картинкой (или пиктограммой), сопоставленной с выполняемым действием (рис. 3.06).
РИСУНОК 3.06. Панели Инструментов
Вызов команды производится левым щелчком мыши. Панели Инструментов могут располагаться в виде закладок, тогда выбор необходимой осуществляется простым щелчком, или в виде Floating Panels (Плавающих Панелей), тогда панель может быть расположена в любом месте поверх Главного Окна (рис. 3.07).
РИСУНОК 3.07. Плавающая Панель Инструментов
Если панель не умещается по длине экрана, то для доступа к невидимым кнопкам необходимо выполнять прокрутку перетаскиванием мыши. Для входа в этот режим необходимо разместить курсор на панели в месте, свободном от кнопок и, после изменения формы курсора со «стрелки» на «руку» и нажатия левой кнопки мыши, далее просто перемещайте мышь, не отпуская нажатой кнопки (рис. 3.08).
РИСУНОК 3.08. Прокрутка Панели Инструментов
Использование кнопок Панели Инструментов несколько затруднительно для новичка, однако, после более близкого ознакомления такой способ гораздо быстрее и удобнее. Кроме того, при наведении курсора на любую кнопку возникает всплывающая подсказка с названием соответствующего действия (рис. 3.09).
РИСУНОК 3.09. Всплывающая подсказка
Некоторые панели, кроме кнопок содержат дополнительные элементы управления, которые мы рассмотрим далее.
Панель Команд - совокупность наборов инструментов создания и редактирования объектов, настроек параметров анимации и служебных средств среды Мах. Эта панель также представлена в виде закладок по видам действий (рис. 3.10):
РИСУНОК 3.10.. Панель Команд
Create (Создание объектов).
Modify (Модификация объектов).
Hierarchy (Иерархия).
Motion (Управление движением).
Display (Отображение объектов).
Utilities (Утилиты).
РИСУНОК 3.11. Плавающая Панель Команд
По умолчанию Панель Команд расположена в правой области Главного Окна Мах и не перемещается по экрану. Однако при необходимости можно переключить ее в режим Floating Panels (Плавающих Панелей), описанный ранее, и разместить там, где это необходимо (рис. 3.11).
Видовые Окна - основная рабочая область программы, где происходит отображение геометрии объектов сцены, материалов, текстурных карт и служебных данных. Видовые Окна могут использовать набор точек зрения наблюдателя, выбираемый из некоторого числа вариантов, и могут быть активными или пассивными. Активное Видовое Окно имеет желтую рамку по периметру и используется для применения действий над объектами, в то время как пассивные только отображают текущие изменения. Название окна расположено в верхнем левом углу, и все его настройки вызываются правым щелчком мыши на нем. В этом случае возникает Контекстное Меню - еще один элемент управления, рассматриваемый далее (рис. 3.12).
РИСУНОК 3.12. Контекстное Меню
Мах, отображающие соответственно всю необходимую информацию о выбранных объектах, величинах их перемещений, поворотов и коэффициентов масштабирования, текущие настройки привязок и другие данные. Строка Состояния и Подсказок содержит также краткие подсказки пользователю по вариантам дальнейших действий после вызова команд или выбора конкретных инструментов создания и редактирования объектов, навигации по Видовым Окнам и т.п. (рис. 3.14).
РИСУНОК 3.13. Вложенные пункты Контекстного Меню
РИСУНОК 3.14. Строка Состояния и Подсказок Итак, далее, для начала работы необходимо настроить Интерфейс среды Мах.
Конфигурация Видовых Окон
Выполнение настроек Интерфейса требуется нечасто, первый раз при ознакомлении с программой и остальные - по необходимости, при тех или иных видах работ, восстановлении системы, заменах на новые версии и т.д. Однако этот аспект достаточно важен, поэтому разберем его подробно. Прежде всего, следует настроить конфигурацию Видовых Окон, доступных для установки точки зрения наблюдателя:
Для выбора необходимого вида нужно выполнить правый щелчок на надписи названия Видового Окна и выбрать его из контекстного меню, а для настройки конфигурации видовых экранов следует вызвать пункт Configure (Настроить).
В результате возникнет диалоговое окно Viewport Configuration (Конфигурация экранов), в котором нужно выбрать закладку Layout (Компоновка). Из стандартного набора раскладок Видовых Экранов необходимо выбрать одну, наиболее удобную для работы. Чаще всего следует использовать последнюю, состоящую из четырех одинаковых по размеру Видовых Окон. Однако для специфических проектов (например, протяженная по фронту сцена типа фасада общественного здания) скорее потребуется раскладка из двух горизонтально расположенных Видовых Окон. Для указания точки зрения каждого из окон в выбранной раскладке необходимо сделать левый щелчок в поле схемы окна и из контекстного меню выбрать требуемую (рис. 3.15).
РИСУНОК 3.15. Настройка конфигурации Видовых Окон
Команды управления Видовыми Окнами сосредоточены в правой нижней части Главного Окна Мах и включают следующие инструменты:
РИСУНОК 3.16. Поворот Точки Зрения
Следующие важные настройки интерфейса Мах включают в себя выбор Единиц Измерения, установку режимов Привязок и настройку параметров Сетки Координат.
Для выбора Единиц Измерения следует вызвать пункт Units Setup (Настройка Единиц Измерения) из падающего меню Customize (Настроить). В результате возникнет одноименное диалоговое окно (рис. 3.17) с набором переключателей для выбора одной из систем: Metric (Метрические), US Standard (Американские), Custom (Пользовательские) и используемые по умолчанию Generic Units (Общие).
РИСУНОК 3.17. Настройка Единиц Измерения
При работе с конкретной трехмерной сценой следует выбрать требуемые единицы сразу при ее создании, однако и уже готовая сцена может быть сконвертиро-вана из одних единиц в другие. Такая же процедура автоматически производится при объединении сцен с различными установками Единиц Измерения.
Рабочее поле Видовых Окон для удобства ориентации и отсчетов размеров при создании и редактировании объектов может быть размечено Сеткой Координат - взаимно перпендикулярными служебными линиями.
Сетка состоит из горизонтальных и вертикальных прямых, располагающихся перпендикулярно точке зрения наблюдателя - в ортогональных видах, и параллельно горизонтальной плоскости - в перспективных видах.
Линии сетки, которые подразделяются на основные и вспомогательные, отстоят друг от друга на расстоянии Grid Spacing (Шага Сетки), задаваемого в закладке Home Grid (Сетка) диалогового окна Grid and Snap Setting (Установки Сетки и Привязок), вызываемого через одноименный пункт падающего меню Customize (Настроить) (рис. 3.18).
РИСУНОК 3.18. Настройка Шага Сетки
РИСУНОК 3.19. Настройка Привязок
Набор флажков списка Standard (Стандартный) является изменяемым и может быть настроен на каждый конкретный случай точного построения геометрии. Кнопка Clear All (Очистить Все) сбрасывает все флажки, деактивируя режим Привязок. Для включения и изменения пространственной модели Привязок предназначены кнопки соответствующих групп в правой части Главной панели инструментов Мах:
РИСУНОК 3.20. Настройка Угловой Привязки
РИСУНОК 3.21. Установка точности представления чисел
Для быстрого вызова диалоговых окон настроек привязок можно использовать правый щелчок мыши на соответствующей кнопке, а для включения / выключения нужной привязки - левый щелчок.
При создании и редактировании геометрии сцены, при отладке материалов и настройке параметров анимации необходимо иметь механизм управления отображением объектов сцены в Видовых Окнах.
Особенно это становится актуально при внесении изменений в насыщенные, сложные трехмерные сцены. Самый простой способ уменьшить системные издержки - это скрыть или «заморозить» неиспользуемые в данный момент объекты (мы разберем эти команды при рассмотрении режимов выбора объектов). Однако есть возможность управлять отрисовкой и видимой частью сцены. Поэтому рассмотрим режимы отображения объектов и способы его оптимизации подробнее.
Для выбора режима отображения любого Видового Окна необходимо выполнить правый щелчок на его названии и указать один из пунктов верхней группы контекстного меню:
Еще пять режимов отображения могут быть вызваны с помощью команд, которые расположены в меню опции Other (Иные).
Дополнительный пункт меню Edged Faces (Оконтуривать Грани) позволяет включить отрисовку ребер каркаса при показе тонированного вида объектов (рис. 3.22).
Режимы Smooth+Highlights (Сглаживание+Блики) и Smooth (Сглаживание) позволяют также отображать в видовых окнах текстурные карты материалов, что очень удобно при отладке их расположения, масштаба и т.д. (рис. 3.23). Включение этого режима мы разберем при рассмотрении материалов и карт текстур. Кроме возможности независимо настроить отображение каждого из видовых окон, в среде Мах можно задать такой же режим показа для отдельных объектов сцены.
РИСУНОК 3.22. Режим отрисовки ребер каркаса
РИСУНОК 3.23. Режим отображения текстур
Вызвав на редактируемом объекте контекстное меню (правым щелчком), необходимо выбрать пункт Properties (Свойства) и в появившемся одноименном диалоговом окне в группе Displays (Показ) выбираются следующие флажки (рис. 3.24):
РИСУНОК 3.24. Свойства объекта сцены
Выполняя практические задания или просто пробуя тот или иной инструмент программы, необходимо делать это с помощью мыши только на стадии ознакомления. Самая продуктивная работа достигается при использовании Shortcuts (Клавиатурных Макросов или Ключей). В самом деле, чтобы добраться до диалогового окна Select Objects (Выбор Объектов), необходимо через падающее меню произвести несколько перемещений и щелчков мыши, в то время как эта же процедура может быть выполнена одним нажатием на кнопку клавиатуры.
Почти все команды Мах могут быть назначены определенному сочетанию клавиш, для этого следует вызвать диалоговое окно Customize User Interface (Настройка пользовательского интерфейса) и в закладке Keyboard (Клавиатура) произвести необходимые настройки (рис. 3.25).
РИСУНОК 3.25. Настройки клавиатуры
Для назначения какого-нибудь клавиатурного ключа требуемой команде необходимо выбрать ее в списке группы Action (Действие), установить курсор в поле Hotkey (Горячая клавиша) и нажать клавиатурное сочетание. После завершения ввода следует щелкнуть на кнопке Assign (Назначить) и ключ готов к использованию.
Наиболее используемые команды и инструменты уже имеют свои назначения, предопределенные в Мах, поэтому вы можете сразу начать их использовать. Если же вы настроите их по-своему, то не забудьте сохранить вашу раскладку в отдельный установочный файл для будущего использования. Щелкните на кнопке Save (Сохранить) и введите имя вашего набора. В дальнейшем просто выбирайте его из списка для использования при работе.
Список клавиатурных кодов Мах, назначенных по умолчанию, приведен в Приложении 3, а рекомендуемый вариант переназначения исходных кодов содержится в Главе «50 Советов Профессионала».
Основные команды и операции над объектами в среде Мах можно определить по следующим группам:
Существует несколько дублирующих друг друга приемов для выполнения и управления операциями выделения объектов. Кроме самого традиционного из них - левого щелчка мыши на выбираемом объекте, эту процедуру можно произвести через группу пунктов Select (Выбор) из падающего меню Edit (Редактирование) (рис. 4.01).
Ниже приводится список этих пунктов с кратким описанием их функций:
РИСУНОК 4.01. Пункты выбора объектов
РИСУНОК 4.02. Выбор объектов по имени из списка
Также выполнение операции выбора объектов можно выполнить с помощью группы кнопок в Main Toolbar (Основной Панели) (рис. 4.03):
РИСУНОК 4.03. Группа кнопок выбора объектов в Основной Панели Инструментов
Для выбора нужной формы нажмите на эту кнопку (до появления всего списка) и, удерживая левую кнопку мыши, перемещайте курсор по списку, отпустив ее на соответствующей кнопке.
Select By Name (Выбрать По Имени) - кнопка, вызывающая упоминавшееся ранее диалоговое окно Select Objects (Выберите Объекты) (рис. 4.02). Остановимся на его параметрах.
Основное информационное поле содержит список объектов сцены, причем порядок сортировки и способ показа зависит от групп настроек Sort (Сортировка) и List Types (Список Типов).
Первая из них позволяет задавать способ сортировки имен объектов сцены по Alphabetical (Алфавиту), By Type (Типу), Color (Цвету) и Size (Размеру).
Флажки группы List Types управляют правилом, какие из категорий объектов Мах будут показаны в общем списке, а какие - скрыты. Кнопки Аll (Все), None (Ничего) и Invert (Инвертировать) необходимы для быстрого управления всем набором флажков группы.
Дополнительный список флажков в левой нижней части окна управляет следующими параметрами:
Кнопки АИ (Все), None (Ничего) и Invert (Инвертировать) над этим списком позволяют быстрое управление выделением имен объектов. И, наконец, список Selection Set (Именованные Наборы) позволяет осуществить выбор одного из нескольких предварительно созданных и названных наборов объектов. Далее в этой главе мы подробно остановимся на создании таких наборов.
Для выбора категории объектов, с которыми производится выделение необходимо использовать Selection Filter (Фильтр Выбора). Этот список позволяет выбрать одну или несколько категорий объектов для работы с ними и исключить остальные.
Значение списка Аll (Все Объекты) применяется ко всем объектам сцены и снимает все ограничения.
Остальные кнопки в описывемой группе в Main Toolbar (Основной Панели) все являются модальными и дают возможность, произведя выбор, перейти к выполнению соответствующей команды:
Для создания Named Selection Set (Именованного Набора) необходимо выполнить выделение нужных объектов и ввести уникальное имя в текстовом поле списка имен в Main Toolbar (Основной Панели) (рис. 4.04).
Каждое новое имя добавляется в список имен и сохраняется в файле проекта Мах. Для настроек и изменений именованных наборов служит диалоговое окно Named Selection Set (рис. 4.05), которое вызывается командой Named Selection Sets (Именованные Наборы) в меню Edit, или одноименной кнопкой на основной панели инструментов.
РИС. 4.04. Список Именованных Наборов
РИСУНОК 4.05. Редактирование Именованных Наборов
Кнопки, расположенные в верхней части этого окна позволяют:
Возможность работать с Sub-Objects (Подобъектами) возникает в том случае, если выбранный объект имеет многоуровневую структуру. Подобъектами в среде Мах являются уровни Vertex (Вершина), Segment (Сегмент) и Spline (Кривая) в объектах типа Shape (Форма); Vertex (Вершина), Edge (Ребро), Face (Грань), Polygon (Плоскость) и Element (Элемент) в объектах типа Mesh (Каркас) и т.д. Любой из модификаторов - особых инструментов изменения внутренней структуры объектов - может иметь уровень Sub-Object (Подобъек-та), что отображается в окне Modifier Stack (Стеке Модификаторов). Если знак «+» возле названия модификатора отсутствует, то модификатор не допускает работу с подобъектным уровнем, и наоборот (рис. 4.06).
РИСУНОК 4.06. Выбор Подобъектного Уровня
Для удобства перехода в режим Sub-Object и обратно в контекстном меню выбранного объекта, вызываемого правым щелчком, содержится одноименный пункт (рис. 4.07).
РИСУНОК 4.07. Подобъектный Уровень в Контекстном Меню
Находясь в режиме Sub-Object можно также создавать Named Selection Set (Именованные Наборы) для подобъектов, но доступны они будут только в этом режиме.
В среде Мах разработана очень гибкая система управления видимостью объектов сцены. Кроме развитой системы команд существует набор дополняющих друг друга установок и настроек, позволяющих оптимизировать работу и «видеть» только те объекты или группы объектов, которые необходимы в данный момент. Особенно актуален вопрос видимости объектов в сложных насыщенных сценах, где иногда подолгу приходится ждать обновления (перерисовки) экрана (необходимо помнить что, все скрытые или замороженные объекты при этом игнорируются).
Все элементы управления видимостью сосредоточены в панели Display (Показ) и в Display Floater (Панели Показа) которую можно вызвать из падающего меню Tools (Инструменты).
Каждый из объектов сцены может иметь несколько уровней видимости:
Строго говоря, существут еще несколько вариантов видимости объектов, но они менее характерны и останавливаться на них не стоит.
Наиболее удобен способ управления объектами через Display Floater (Панель Показа), поэтому разберем его детальнее. Эта панель (рис. 4.08) состоит из двух закладок Hide / Freeze (Скрыть / Заморозить) и Object Level (Уровень Объекта).
Первая из них повторяет все основные команды панели Display за исключением некоторых редко используемых. Две группы рельефных кнопок отвечают за команды Hide (Скрыть) и Unhide (Показать), еще две - Freeze (Заморозить) и Unfreeze (Разморозить). Флажок Hide Frozen Object (Скрывать Замороженные Объекты) позволяет замораживать и скрывать объекты одновременно. Рельефные кнопки позволяют скрывать / замораживать Selected (Выбранные), Unselected (Невыбранные) объекты, осуществить выбор By Name (По Имени) и By Hit (По Щелчку).
Закладка Object Level (Уровень Объекта) управляет настройкой Hide By Category (Категориями Скрываемых Объектов) и набором флажков Display Properties (Показ Свойств Объекта). Панель Display Floater (Панель Показа) в любой момент может быть убрана с экрана (левым щелчком по кнопке закрытия) или повторно вызвана.
РИСУНОК 4.08. Плавающая Панель Показа
Клонирование объектов
Существует несколько способов создавать копии объектов в Мах. Наиболее используемым является выделение копируемого объекта или группы объектов и применение одной из команд трансформации - Move (Переместить), Rotate (Повернуть) или Scale (Масштабировать) с нажатой клавишей <Shift>. После завершения выполнения команды происходит вызов диалогового окна Clone Options (Режимы Клонирования) (рис. 4.09), где необходимо указать тип создаваемого объекта или группы объектов. Их существует три типа:
РИСУНОК 4.09. Выбор Режимов Клонирования
Любые изменения, производимые с копией или с оригиналом, являются уникальными и применяются только к модифицируемому объекту.
Остается добавить, что окно Clone Options (Режимы Клонирования) позволяет задавать имя для создаваемых объектов в текстовом поле Name (Имя) и выбирать число новых копий счетчиком Number of copies (Число Копий).
Существует вариант клонирования объектов с использованием пункта Clone (Клонировать) в падающем меню Edit (Редактирование). Его использование вызывает такое же окно Clone Options (Режимы Клонирования), но без возможности изменить число создаваемых копий равное 1. Этот вариант создания копий объектов удобен, если копии должны иметь те же координаты, что и оригинал.
Еще один вариант клонирования состоит в использовании команд Mirror (Зеркало) и Array (Массив).
Первая из них вызывается кнопкой Mirror Selected Objects (Создать Зеркальное Отражение Объектов) из Main Toolbar (Основной Панели). Дополнительное диалоговое окно Mirror : Screen Coordinates (Зеркало : Экранные Координаты) (рис. 4.10) позволяет выбрать ось копирования - X, Y, Z или плоскость копирования - XY, YZ, ZX.
РИСУНОК 4.10. Создание Зеркальных копий объектов
Положение переключателя Clone Selection (Клонировать Выделение) дает возможность выбрать тип создаваемых копий, причем положение No Clone (He Клонировать) выполняет зеркальное отображение исходного объекта, не создавая копий.
Команда Array (Массив) вызывается из списка кнопок, расположенных на панели инструментов Axis Constraints (Ограничения осей). Одноименное диалоговое окно Array позволяет задать способ копирования, размерность массива (1,2 или 3D), а также вид трансформации (Move, Rotate или Scale) которая будет применена к каждой копии (рис. 4.11).
РИСУНОК 4.11. Создание Массивов
Для облегчения управления наборами объектами и с целью упрощения насыщенных объектами сцен применяют команду Group (Сгруппировать). Ее вызов осуществляется через одноименный пункт падающего меню Group (Группировка) и применяется к выбранным объектам. Возникает окно ввода имени создаваемой группы (рис. 4.12). После подтверждения имени группы возникает новый объект сцены.
РИСУНОК 4.12. Набор имени группы
С объектами, объединенными по определенным критериям в группу (составные элементы сложного объекта, часто повторяющиеся наборы однотипных объектов и т. п..), очень удобно производить такие операции как выбор, клонирование, присвоение материалов, трансформации и многое другое. Группы могут иметь многоуровневую вложенную структуру. Рассмотрим возможности работы с группами объектов в среде Мах. Все команды управления сосредоточены в упоминавшемся ранее падающем меню Group (Группировка):
РИСУНОК 4.13. Отображение групп в списках объектов
Open (Открыть) - частично снимает группировку, давая возможность выбирать, модифицировать и трансформировать любой объект, входящий в открываемую группу. В этом случае возникает дополнительный объект, представляющий собой габаритный контейнер, в который вписываются все объекты группы и имеющий имя, заданное при ее создании. Этот контейнер отрисовывается на экране алым цветом.
Close (Закрыть) - возвращает группу в стандартное состояние, скрывая объект с именем группы и возвращая полную группировку всем объектам группы.
Виды Трансформаций
В среде Мах с любым объектом, набором нескольких объектов или группой можно производить три базовые операции преобразований - Move, Rotate и Scale (Перемещение, Поворот и Масштабирование), которые объединены одним общим термином - Transforms (Трансформации). Все трансформации назначены соответствующим кнопкам в Main Toolbar (Основной Панели), а Scale (Масштабирование) - списку кнопок. Преобразование перемещения позволяет изменять положение объекта в трехмерном пространстве, поворота -его ориентацию и масштабирования - линейные размеры объекта. Причем последнее преобразование может быть трех видов:
Все команды трансформаций продублированы в контекстном меню объекта и могут быть вызваны правым щелчком на выбранном объекте.
Обычно выполнение преобразований с объектами сцены выполняется с приблизительной точностью («на глаз») в соответствии с визуальным восприятием положения, ориентации или масштаба. Однако, существуют случаи, когда необходим точный ввод параметров, для осуществления которого и служит способ Type-In (Точный Ввод). Соответствующее диалоговое окно может быть вызвано через пункт Transform Type-In (Точный Ввод Параметров Трансформаций) падающего меню Tools. В зависимости от типа выбранной трансформации, вызывается окно Move, Rotate или Scale Transform Type-In (Перемещение, Поворот или Масштабирование), которое содержит две группы счетчиков - Absolute : World (Абсолютные : Мировые Координаты) и Offset : Screen (Приращения : Экранные Координаты) (рис. 4.14).
РИСУНОК 4.14. Точный Ввод Параметров
Первоначально, при вызове этого окна в счетчиках первой группы отображаются точные значения положения выбранного объекта в трехмерном пространстве, его ориентация. При переключении на другой вид трансформаций (используя соответствующие модальные кнопки в Main Toolbar (Основной Панели) или через вызов контекстного меню редактируемого объекта) окно Type-In сразу же изменяется на соответствующее.
Дополнительными средствами, управляющими параметрами трансформаций в Мах, являются Restriction (Ограничения), задаваемые группой модальных кнопок, Reference Coordinate System (Координатная Система), выбираемая из списка кнопок. Все они расположены на панели инструментов Axis Constraints (Ограничения осей) (рис. 4.15). Еще один список кнопок Point Center (Центр Трансформаций), предназначенный для управления трансформациями, находится на Main Toolbar (Основной Панели).
РИСУНОК 4.15. Группа кнопок Ограничений Остановимся на каждом из них подробнее.
Выбор ограничивающей оси X, Y, Z или ограничивающей плоскости XY, YZ, ZX позволяет выполнять преобразования с объектами только в пределах необходимой оси или плоскости и запрещает их в противоположных. Кроме возможности выбора ограничений кнопками из Main Toolbar (Основной Панели), можно устанавливать их, используя Transformation Gizmo (Контейнер Трансформаций), который возникает в центре выбранного объекта или группы объектов в виде специальной пиктограммы (рис. 4.16).
РИСУНОК 4.16. Контейнер Трансформаций
Эта пиктограмма отображает тройку осей объекта и маркера углов координатных плоскостей цветными векторами и рисками соответственно, причем активные оси или плоскость отрисовываются желтым цветом.
Для выполнения, например, трансформации перемещения вдоль оси X, необходимо подвести курсор к вектору с маркером «X» и, как только он изменит цвет на желтый, нажать левую кнопку мыши и перемещать мышь в нужном направлении, а затем кнопку отпустить, завершая операцию. Аналогично выбирается плоскость преобразований, с той разницей, что курсор наводится на угловой маркер, а не вектор оси.
Из множества возможных координатных систем остановимся на наиболее используемых. Из раскрывающегося списка чаще всего выбираются:
Остальные координатные системы применяются реже, и останавливаться на их особенностях мы не будем.
Базовая точка объекта для выполнения трансформаций поворота и масштабирования может быть выбрана из списка кнопок в Main Toolbar (Основной Панели). Каждый из способов ее расположения применим по-своему:
Рассмотрим новое понятие, необходимое для понимания трансформаций объектов - Pivot Point (Опорная Точка) объекта.
При создании нового объекта или группировки существующих командой Group (Сгруппировать), происходит фиксация опорной точки объекта. Чаще всего она помещается в геометрический центр габаритного контейнера объекта или группы, хотя и может быть переопределена в соответствии с необходимостью.
Инструменты для управления Pivot Point (Опорными Точками) выбираются из свитка Adjust Pivot (Настройка Опорных Точек) в панели Hierarchy (рис. 4.17).
РИСУНОК 4.17. Управление Опорными Точками
Включение видимости опорной точки объекта производится рельефной кнопкой Affect Pivot Only (Работать Только с Опорной Точкой), после чего в видовом окне появится тройка утолщенных разноцветных векторов осей локальной системы координат объекта (рис. 4.18).
РИСУНОК 4.18. Отображение Опорных Точек
Трансформации перемещения и поворота, производимые с объектом в этом режиме, будут влиять только на опорную точку, не затрагивая сам объект.
Кнопки группы Alignment (Ориентация) дают возможность опорную точку Center to Object (Выровнять по Центру), а также Align to Object (Ориентировать по Объекту) и Align to World (Ориентировать по Мировым Осям). Сброс опорной точки в исходное (зафиксированное при создании) положение осуществляется кнопкой «Reset» (Сброс).
В Мах имеется возможность редактирования параметров выбранного объекта непосредственно в видовом окне. Этот режим включается соответствующей модальной кнопкой в Main Toolbar (Основной Панели). В результате доступные для редактирования параметры объекта отрисовываются как дополнительные контейнеры. При наведении указателя мыши всплывающая подсказка отображает их название и текущую величину (рис. 4.19).
РИСУНОК 4.19
Для изменения требуемого параметра необходимо произвести щелчок левой кнопкой мыши на соответствующем контейнере, и перемещать мышь, не отпуская левую кнопку. Отображение редактируемого значения происходит динамически.
Окружающий нас мир упрощенно можно представить как трехмерную сцену с учетом фактора времени. Безусловно, такие природные явления как физические взаимодействия объектов, их деформации на основе свойств материалов и т.д., можно лишь имитировать с той или иной степенью реалистичности, однако, даже используя стандартные средства Мах, эта задача не выглядит неразрешимой. Кроме того, в конце этой книги мы кратко ознакомимся с коммерческими продуктами для среды 3D Studio Max производства третьих фирм, и вы сможете убедиться, что единственным ограничением является лишь ваша фантазия.
Итак, основная концепция, упомянутая ранее, выявляет главный критерий среды Мах - «Трехмерное в Движении». Рассмотрение временного фактора -Animation (Анимации) еще впереди, а пока обратимся к самому объемному разделу этого графического пакета - СОЗДАНИЮ, НАСТРОЙКЕ И РЕДАКТИРОВАНИЮ ОБЪЕКТОВ ТРЕХМЕРНЫХ СЦЕН. Вот обобщенный список групп моделей объектов, создаваемых в Мах:
РИСУНОК 5.01..Лоскутная Сетка
Перейдем к рассмотрению способов создания и редактирования объектов в среде Мах.
Примитивы Создание Объектов
Все объекты, сгруппированные по типам, выбираются кнопками панели Create (Создать) (рис. 5.02).
РИСУНОК 5.02. Панель Create (Создать)
Для перехода к любому из типов необходимо выполнить левый щелчок на соответствующей кнопке. Список типов включает в себя:
Каждая из групп объектов имеет раскрывающийся список подгрупп, позволяющий работать только с одним из наборов объектов. И, наконец, каждый элемент списка подгруппы представлен свитком Object Type (Тип Объекта), в котором содержатся рельефные кнопки выбора, предназначенные для создания конкретных объектов трехмерной сцены. Выбор такой кнопки вызывает появление списка свитков создания нового объекта, в котором заданы значения Defaults (По Умолчанию). Некоторые из них можно изменить, и все последующие объекты этого типа будут создаваться, используя новые параметры.
Для задания Name (Имени) и Color (Цвета) присутствует свиток Name and Color, состоящий из текстового поля ввода и цветной кнопки с образцом цвета.
Для непосредственного создания объекта необходимо после выбора его типа и предварительных настроек параметров (если это требуется) переместить курсор в предполагаемое место в видовом окне и, нажав левую кнопку мыши, растянуть создаваемый объект, контролируя его форму и размер визуально, и затем отпустить. Этот способ применим к объектам, требующим ввод одного параметра, например, для объекта Sphere (Сфера) - это Radius (Радиус).
Объекты, которым необходимо указание более одного параметра, требуют после первого отпускания кнопки мыши продолжать перемещение курсора и для фиксации каждого следующего производить левый щелчок. Пример такого объекта - Box (Коробка).
Описанный способ создания объектов наиболее удобен и применяем, но иногда требуется точно указать величины, характеризующие координаты Pivot Point (Опорной Точки) объекта и его основные размеры. Для этих целей служит свиток Keyboard Entry (Ввод с Клавиатуры) (рис. 5.03).
РИСУНОК 5.03. Свиток Ввода с Клавиатуры
В зависимости от типа создаваемого объекта, этот список содержит тот или иной набор счетчиков, из которых едиными для всех являются координаты опорной точки X, Y и Z. После задания всех величин объект создается кнопкой Create (Создать) и возникает в видовых окнах, отри-совываясь выделенным.
Строго говоря, всегда, после создания нового объекта (особенно в насыщенных, сложных сценах), он оказывается выделенным для быстрого нахождения и модификации. Все команды редактирования существующих объектов сцены расположены в следующей за Create (Создать) панели Modify (Редактировать).
Для изменения параметров объекта сцены в среде Мах служит панель Modify (Редактировать). После выделения изменяемого объекта и в этой панели возникают группы параметров:
РИСУНОК 5.04. Кнопки-модификаторы и список дополнительных модификаторов
РИСУНОК 5.05. Список наборов кнопок-модификаторов
Остальные доступные для применения модификаторы выбираются из списка (рис. 5.04). Выбрать набор кнопок-модификаторов можно с помощью кнопки Configure Modifier Sets (Настроить Набор Модификаторов) в нижнем правом углу панели (рис. 5.05). Создать собственный набор можно с помощью диалогового окна Configure Modifier Sets, которое выдывается выбором одноименного пункта из меню кнопки. Необходимое число кнопок указывается счетчиком Total Buttons (Число Кнопок). Состав нужных модификаторов выбирается из расположенного слева списка путем перетаскивания необходимых параметров на свободные пустые кнопки справа, а удаление ненужных - обратным перетаскиванием. Созданный набор необходимо сохранить, введя в списке Sets (Наборы) новое имя, щелкнув на кнопке Save (Сохранить) и нажав на кнопку ОК (Да) для завершения. Выбор сохраненного набора доступен через кнопку Sets (Наборы).
Поле Modifier Stack (Стек Модификаторов) - список модификаторов всех уровней, примененных к выделенному объекту (рис. 5.06). Это поле содержит все «превращения» объекта с момента создания и формируется при применении к выбранному объекту какого-либо из модификаторов (для этого используются кнопки предыдущего свитка). Выбор каждого из элементов списка вызывает появление соответствующего набора свитков с настройками, относящимися к этому модификатору. Стек модификаторов позволяет изменять свое содержимое и тем самым формировать структуру модифицированного объекта. Под полем рас-
РИСУНОК 5.06. Стек Модификаторов
При включенном состоянии этой кнопки можно выделять другие объекты, однако продолжать видеть состояние закрепленного модификатора. Чаще всего этот режим используется при работе со служебными объектами сцены, такими, как Target Camera (Нацеленная Камера) или Target Spot (Нацеленный Прожектор).
Ниже поля Modifier Stack (Стек Модификаторов) возникают наборы свитков, относящихся к текущему выбранному модификатору. Они содержат группы параметров для всевозможных настроек и установок.
При раскрытии нескольких больших свитков (для доступа ко всем их настройкам), необходимо выполнять мышью вертикальную прокрутку вверх-вниз.
Задание 1
Стандартные Примитивы
Sphere (Сфера)
Выполните создание некоторых объектов из группы Standard Primitives (Стандартные Примитивы). Первый из рассматриваемых объектов - Sphere (Сфера).
1. Для этого необходимо, используя панель Create (Создать), вызвать кнопкой Geometry (Геометрия) список основных типов объектов и выбрать из него группу Standard Primitives (Стандартные Примитивы).
РИСУНОК 5.07. Параметры создаваемой Сферы
Выберите кнопку Sphere (Сфера) из свитка Object Type (Тип Объекта) и установите в свитках параметров следующие значения:
2. Затем активизируйте видовое окно Тор (Вид Сверху), переместите курсор приблизительно в его центр (позиционируя его над перекрестьем утолщенных координатных линий сетки - центром мировых координат сцены) и, нажав левую кнопку мыши, растяните создаваемую сферу до радиуса примерно в 65 единиц, следя за изменением значения счетчика Radius (Радиус).
3. В текстовом поле ввода имени объекта в свитке Name and Color (Имя и Цвет) наберите «Сфера Гладкая».
4. Используя кнопку Pan (Панорамирование) из набора кнопок управления видовыми окнами, передвиньте поле зрения вправо приблизительно на величину радиуса сферы. Нажмите еще раз на кнопку Sphere (Сфера) в свитке Object Type (Тип Объекта) и установите другие значения для нового объекта:
В результате будут получены две приблизительно равные по радиусу сферы, отличающиеся числом сегментов, сглаживанием ребер и размещением опорной точки (рис. 5.08), причем выделенной останется вторая. 16-сегментная сфера.
5. Перейдите в панель Modify (Редактировать) и, установив значение счетчика Hemisphere (Полусфера) в 0.5, вы получите половинный сферический сегмент (рис. 5.09).
РИСУНОК 5.08. «Сфера Гладкая» и «Сфера Граненая»
РИСУНОК 5.09. Половинный сферический сегмент, полученный методом Chop (Отсечь)
6. Варьируя значение этого счетчика от 0 до 1 можно изменить объект от полной сферы до пустого, невидимого объекта. Переключатель Chop / Squash (Отсечь / Сжать) позволяет выбрать способ усечения полной сферы. Первый из них делает это уменьшением числа граней, сохраняя их размеры, а второй, наоборот, оставляет количество граней постоянным, подгоняя размер (рис. 5.10).
7. Теперь вернитесь в панель Create (Создать) и снова перейдите к созданию сферы. Повторите установки параметров, выполнявшиеся для первой сферы. Затем раскройте свиток Keyboard Entry (Ввод с Клавиатуры) и, установив следующие значения счетчиков: Х = -150, Y = 0, Z = 0, Radius = 65, щелкните на Кнопке Create (Создать).
РИСУНОК 5.10. Половинный сферический сегмент, полученный методом Squash (Сжать)
В видовых экранах возникнет новая сфера, имеющая точные значения радиуса и координат опорной точки.
Создание объекта Box (Коробки) начинается с определения пропорций граней, то есть будет это Куб или Параллелепипед. Выбор одного из этих типов осуществляется переключателем Cube / Box в свитке Creation Method (Способ Создания) (рис. 5.11).
Три счетчика Length Segs (Число Сегментов по Длине), Width Segs (Число Сегментов по Глубине) и Height Segs (Число Сегментов по Высоте) отвечают за число сегментов по соответствующему размеру и позволяют предусмотреть плавность будущей деформации или степень деталировки. Линейные размеры регулируются счетчиками Length (Длина), Width (Глубина) и Height (Высота) и при применении способа задания их с помощью мыши отображают изменение их величин. Эта процедура описана в начале этой главы, но для закрепления повторим ее.
РИСУНОК 5.11. Параметры создаваемой Коробки
1. Итак, после выбора кнопки Box и указания способа создания Box (Параллелепипед), необходимо переместить курсор в видовое окно Тор (Вид Сверху). Нажав левую кнопку мыши, следует растянуть получающийся прямоугольник, контролируя изменения счетчиков Length (Длина) и Width (Глубина). Если необходимо задать не прямоугольник, а квадрат, то вся процедура выполняется с нажатой клавишей «Ctrl». По достижению желаемого размера кнопка мыши отпускается, и дальнейшее ее перемещение задает Height (Высоту) и отображается в одноименном счетчике. Для завершения выполняется левый щелчок.
2. В случае выбора способа создания Cube (Куб) все три размерных счетчика блокируются и изменяются синхронно, и создание объекта происходит аналогично описанному для Sphere (Сферы).
3. Перейдя в панель Modify (Редактировать), вы можете дополнительно откорректировать параметры созданного объекта. Обратите внимание, что блокировка трех размеров в случае создания коробки типа Cube (Куб) при редактировании уже снята, и каждый параметр изменяется раздельно.
При создании примитива типа Cylinder (Цилиндр) (рис. 5.12) примечательны некоторые дополнительные особенности.
РИСУНОК 5.12. Параметры создаваемого Цилиндра
Кроме задания основных размеров (с помощью мыши или с использованием свитка Keyboard Entry (Ввод с Клавиатуры)) есть возможность создавать фрагментарный объект - Цилиндрический Сектор. Для этого необходимо включить флажок Slice On (Сектор Включен) и двумя счетчиками Slice From (Сектор От) и Slice To (Сектор До) в угловых единицах задать начало и конец сектора. В результате будет получен цилиндр с выборкой по всей высоте - очень удобный базовый объект для создания, например, модели деревянного полена (рис. 5.13).
Следует заметить, что все объекты из списка Standard Primitives (Стандартные Примитивы), имеющие в свитке основных параметров флажок Slice On (Сектор Включен) поддерживают создание различных фрагментарных модификаций (например, сферический сектор у рассмотренного ранее объекта Sphere (Сфера) или конический - у Cone (Конуса)).
РИСУНОК 5.13. Цилиндрический Сектор
Остальные примитивы группы Standard Primitives (Стандартные Примитивы):
Попробуйте различные способы создания и редактирования примитивов группы Standard Primitives (Стандартные Примитивы) для совершенствования своих навыков. В большинстве случаев бывает достаточно комбинаций объектов этой группы для моделирования более сложных.
ChamferBox (Коробка с Фаской), ChamferCyl (Цилиндр с Фаской)
Набор стандартных примитивов очень удачно дополняется и расширяется при использовании следующей группы базовых объектов геометрии Мах -Extended Primitives (Расширенных Примитивов).
При создании таких объектов из первой группы примитивов Мах как Box (Коробка) или Cylinder (Цилиндр) вы, наверное, заметили некоторую искусственность их структуры. Действительно, аналогичные по форме объекты реального мира (например, детские кубики или цилиндрическая болванка) не имеют таких острых кромок, они обработаны. Даже будучи склеенными из бумаги, такие объекты имели бы ФАСКИ.
Для дополнения возможностей этих распространенных примитивов разработаны две их расширенные модификации - ChamferBox (Коробка с Фаской) и ChamferCyl (Цилиндр с Фаской). Список параметров этих примитивов полностью совпадает с соответствующими им стандартными объектами, за исключением новых счетчиков Fillet (Фаска) и Fillet Segs (Число Сегментов Фаски). Разберем их назначение и действие.
1. Создайте примитив ChamferBox (Коробка с Фаской), выполнив стандартную процедуру задания основных параметров с помощью мыши. Однако обратите внимание: по сравнению с объектом Box (Коробка) добавился ввод дополнительного параметра - толщины фаски.
РИСУНОК 5.14. Коробка с Фаской
2. Создав новый объект, перейдите в панель Modify (Редактировать) и измените величину счетчика Fillet Segs (Число Сегментов Фаски) со стандартных трех (по умолчанию) до одного. Полученный объект будет иметь более резкую кромку, чем исходный (рис. 5.14). Сравнив внешний вид сходных по структуре объектов двух рассматриваемых групп, становится ясна область применения каждого из них - примитивы с фаской смотрятся гораздо реалистичнее.
Кратко остановимся на остальных примитивах этой группы. Кроме рассмотренных ранее ChamferBox (Коробки с Фаской) и ChamferCyl (Цилиндра с Фаской) в нее входят:
Попробуйте создать каждый из описанных выше примитивов, выбирая в свитке Object Type (Тип Объекта) соответствующие кнопки и решите, какие из них могут быть полезны в дальнейшем при моделировании.
Shapes (Формы)
Для создания более сложных и реалистичных видов геометрии не всегда хватает набора инструментов из описанных ранее групп примитивов Мах. Такие объекты, как телефонная трубка, фигурная рюмка, стена с дверными и оконными проемами и многие другие едва ли могут быть выполнены набором объектов Standard (Стандартный) и Extended (Расширенный). Для этого требуются более сложные методы моделирования - Лофтинг или Формование, Вращение, Выдавливание, Булевые операции. Почти все эти процедуры требуют создания исходных объектов, называемых Shapes (Формы), которые представляют собой набор двумерных или трехмерных кривых. Эта категория состоит из двух групп объектов - Splines (Сплайнов) и NURBS Curves (Кривых NURBS). Рассмотрим первую из них, как наиболее распространенную и чаще всего используемую группу.
Любая кривая представляет собой набор Vertices (Вершин) соединенных Segments (Сегментами) - прямо- и криволинейными отрезками. Совокупность сегментов составляет Spline (Сплайн), которые в свою очередь и образуют Shape (Форму). Понятия Vertex (Вершина), Segment (Сегмент) и Spline (Сплайн) составляют уровень Sub-Object (Подобъекта) кривых типа Spline и позволяют редактировать их. Остановимся на подобъектах и их особенностях (рис. 5.15).
РИСУНОК 5.15. Сплайн и его Подобъекты
Все вершины отрисовываются в видовых окнах как крестовые маркеры, а первая вершина - как маркер, заключенный в квадратную рамку.
Подобъектный уровень Spline (Сплайн) может содержать одну или несколько кривых.
Каждый из описанных подобъектов имеет набор параметров и инструментов для манипуляций, добавления, удаления, копирования, логических операций и т.п. действий, рассмотрением которых мы займемся в практических заданиях этой главы.
Кривые типа NURBS имеют иную подобъектную структуру, однако рассматривать ее мы не будем.
Все виды сплайнов сосредоточены в одноименной группе из раскрывающегося списка панели Create (Создать) и вызываются кнопкой Shapes I (Формы) (рис. 5.16). Свиток Object Type (Тип Объекта) позволяет выбрать рисование следующих сплайнов:
РИСУНОК 5.16. Вызов группы Shapes (Формы)
Для начала рисования сплайнов необходимо выбрать нужный инструмент левым щелчком на соответствующей кнопке. В результате появится набор свитков с настраиваемыми параметрами, разный для каждого типа сплайна. Далее необходимо задать общие для всех типов настройки в свитках Interpolation (Интерполяции) и Rendering (Визуализация) (рис. 5.17).
РИСУНОК 5.17. Свитки Interpolation (Интерполяции) и Rendering (Визуализация)
Первая из них регулирует число промежуточных вершин криволинейных сегментов. Чем больше значение счетчика Steps (Число Шагов), тем более плавными будут кривые. Для включения режима автоматического подбора кривизны служит флажок Adaptive (Адаптивный), а для отмены деления промежуточными вершинами прямолинейных отрезков сплайнов предназначен флажок Optimize (Оптимизация). Обычно состояние последнего следует установить во включенное.
Настройки группы Rendering (Визуализация) задают режим видимости сплайна при обсчете сцены. Все объекты этого типа по умолчанию не визуализируются, однако в некоторых случаях удобно использовать и иную возможность. Для этого флажок Renderable (Визуализируемый) следует включить и счетчиком Thickness (Толщина) задать толщину сплайна. Эту величину можно прочувствовать только серией пробных обсчетов сцены, сделанных при разном значении счетчика Thickness (Толщины). И последний флажок, Generate Mapping Coords (Задать Проецирование), необходим при использовании сплайном материала с применением карт текстуры, о чем мы подробнее остановимся в главе «Материалы».
Практика
Line (Линия)
Для создания сплайна типа Line (Линия) перейдите в панель Create (Создать) и выберите пункт Splines (Сплайны) из раскрывающегося списка, вызываемого кнопкой Shapes (Формы). В свитке Object Type (Тип Объекта) щелкните на кнопке Line (Линия), высветив свитки параметров Rendering (Визуализация), Interpolation (Интерполяция) (рис. 5.17), Creation Method (Способ Создания) и Keyboard Entry (Ввод с Клавиатуры) (рис. 5.18). Переместите курсор в видовое окно Тор (Вид Сверху) и произведите серию левых щелчков и перемещений, создавая ломаную линию произвольной формы. Для завершения выполните правый щелчок. Все созданные вершины принадлежат к типу Corner (Угловые). в чем можно убедиться, перейдя в панель Modify (Редактировать) и выбрав подобъектный уровень Vertex (Вершина). Далее необходимо выделить интересующую вас вершину правым щелчком для вызова контекстного меню (рис. 5.19).
РИСУНОК 5.18. Свитки параметров сплайна Line (Линия)
РИСУНОК 5.19. Контекстное Меню
3. Вернитесь обратно в панель Create (Создать) и измените Creation Method (Метод Создания) вершин линии, установив переключатель Initial Type (Тип Вершин при Щелчке) в значение Smooth (Сглаженные). Теперь повторите создание произвольной ломаной линии. Нетрудно заметить, что теперь все сегменты приобрели кривизну, и указание каждой новой вершины видоизменяет смежные сегменты по криволинейному закону (рис. 5.20). Если же при выполнении щелчка не отпускать кнопку мыши, то, растягивая далее новый сегмент, можно отрегулировать кривизну предыдущего.
РИСУНОК 5.20. Сглаженная Линия
4. Переключатели свитка Drag Type (Тип Вершин при Перетаскивании) позволяют задать тип создаваемых вершин - Corner (Угловой), Smooth (Сглаженный) или Bezier (Безье). Для отмены последней введенной вершины и возврату к предыдущей используется клавиша Backspace, причем серией таких нажатий можно вернуться к первой вершине, с которой было начато рисование. При создании Closed (Замкнутого) сплайна просто необходимо указать последнюю вершину в непосредственной близости к первой и подтвердить замыкание через диалоговое окно Close Spline (Замкнуть Сплайн) (рис. 5.21).
РИСУНОК 5.21. Создание замкнутого сплайна
6. Гораздо реже может использоваться режим Keyboard Entry (Ввод с Клавиатуры) при создании сплайна типа Line (Линия), разве что у вас есть список координат вершин. В этом случае каждая новая вершина задается тремя счетчиками X, Y, Z и создается кнопкой Add Point (Добавить Точку) в свитке этого режима. Кнопка Finish (Закончить) завершает указание вершин, а кнопка Close (Замкнуть) создает сегмент, соединяющий первую вершину с последней.
Приемы редактирования созданного контура на подобъектном уровне мы разберем при рассмотрении следующего типа сплайна.
Еще один часто применяемый тип сплайнов для создания более сложных форм. Наличие двух пар прямых параллельных сегментов, расположенных под прямым углом, позволяет начинать рисование многих профилей и контуров с создания прямоугольника с последующим редактированием его вершин и сегментов.
1. Выберите из свитка Object Type (Тип Объекта) соответствующую кнопку и попробуйте создать в видовом окне Тор (Вид Сверху) прямоугольник, указав поочередно вершины его диагонально расположенных углов.
Такой способ создания выбирается переключателем Edge (От Края); для отрисовки сплайна от указываемой сначала точки центра (так как обычно создаются окружности) служит переключатель Center (От Центра). При растягивании прямоугольного контура счетчики Length (Длина) и Width (Ширина) отображают текущее значение соответствующих размеров сплайна.
РИСУНОК 5.22. Скругление углов Прямоугольника
3. После завершения создания прямоугольника есть возможность задать величину угловых фасок, для чего следует сделать значение счетчика Corner Radius (Радиус Скругления) отличным от нулевого (рис. 5.22), находясь непосредственно в панели Create (Создать). Укажите следующие значения в свитке Parameters (Параметры):
Length (Длина)=100,
Width (Ширина)=190,
Corner Radius (Радиус Скругления)=10.
4. Далее перейдите в панель Modify (Редактировать) и обратите внимание, что сплайн типа Rectangle (Прямоугольник) не имеет подобъектной структуры, то есть, не позволяет редактировать его вершины и сегменты. Чтобы такая возможность появилась, необходимо применить к сплайну модификатор Edit Spline (Редактировать Сплайн). Для этого выберите одноименную опцию из списка Modifier List (Список модификаторов) и в стеке модификаторов возникнет новый пункт со списком подобъектов. После выбора одного из подобъектов раскроется большой свиток Geometry (Геометрия) с инструментами редактирования (рис. 5.23). Этот набор видоизменяется в зависимости от режима выбора подобъектов - Vertex (Вершина), Segment (Сегмент) или Spline (Сплайн), делая доступными для выбора только соответствующие кнопки, флажки, счетчики.
Рассмотрим подробнее набор инструментов для редактирования подобъек-тов, находящийся в свитке Geometry (Геометрия).
РИСУНОК 5.23. Свиток Geometry (Геометрия) модификатора Edit Spline (Редактировать Сплайн)
Для рисования нового сплайна, входящего в выбранную форму служит кнопка Create Line (Создать Линию). После ее нажатия рисование происходит таким же образом, как описывалось при рассмотрении инструмента Line (Линия) из панели Create (Создать). Кнопки Attach (Присоединить) и Attach Multiple (Присоединить Несколько) предназначены для добавления других форм к редактируемой как сплайнов.
Для выполнения этих операций необходимо, нажав соответствующую кнопку, произвести левым щелчком выбор в видовом окне или из списка форм сцены в одноименном диалоговом окне (рис. 5.24). Флажок Reorient (Переориентировать) управляет включением перевода добавляемых форм в локальную систему координат редактируемой формы, тем самым заставляя их либо перемещаться, либо сохранять текущие координаты.
РИСУНОК 5.24. Диалоговое окно Attach Multiple (Присоединить Несколько Сплайнов)
Вставку новых дополнительных вершин необходимо производить, используя кнопку Refine (Добавить). При нажатии на нее курсор Мах изменяет форму в то время, когда под ним оказывается один из сегментов редактируемого сплайна, и после левого щелчка этот сегмент разделяется надвое.
Для удаления вершины или группы вершин следует их предварительно выделить и воспользоваться кнопкой Delete (Удалить) свитка Geometry (Геометрия) или одноименной клавишей клавиатуры.
Добавление новой вершины с возможностью указания нового положения производится кнопкой Insert (Вставка), причем, после первого щелчка на разделяемом сегменте (по аналогии с операцией Refine (Добавить)) новая вершина задается перемещением мыши и повторным щелчком.
Для переноса выбранных вершин в их геометрический центр используется кнопка Fuse (Слить), а для переноса с объединением в одну вершину - кнопка Weld (Объединить). Последняя операция применима только к концевым вершинам разомкнутых сплайнов и использует значение счетчика, расположенного с функциональной кнопкой. Это значение интерпретируется как радиус влияния - в результате операция производится только над вершинами текущего набора, которые находятся в пределах этого радиуса.
Для соединения двух вершин новым сегментом используется кнопка Connect (Соединить), но вершины также должны быть концевые.
Обрезка круговыми или прямыми фасками выполняется соответственно командами Fillet (Скруглить) и Chamfer (Усечь). Для этого выделяются требуемые вершины, включается соответствующая кнопка и изменяется значение счетчика, расположенного рядом с ней, либо набором требуемого числа, либо перетаскиванием мыши.
Выбор первой вершины осуществляется кнопкой Make First (Назначить Первую). Это необходимо для задания сечений при применении метода моделирования Loft (Формования).
Из инструментов редактирования для этого уровня подобъектов доступны кнопки Insert (Вставка) и Refine (Добавить), которые действуют аналогично уровню Vertex (Вершина).
Также добавились две новые кнопки Divide (Разделить) и Detach (Отделить). Первая из них позволяет разделить выбранный сегмент на 2 и более равных по длине сегментов, причем число задается счетчиком, расположенным рядом с кнопкой, а вторая создает копию выбранного сегмента или сегментов, тем самым формируя новый сплайн. Для установки методов копирования предназначен набор флажков:
Этот подобъектный уровень имеет наиболее развитой инструментарий для редактирования, включая Булевые операции. Остановимся на нем подробнее.
Для изменения направления нумерации вершин (по или против часовой стрелке) служит кнопка Reverse (Обратить). Чаще всего эта функция необходима для «выворачивания наизнанку» объектов, получаемых на базе редактируемой Shape (Формы). Генерация контура по всему выбранному сплайну выполняет-
ся командой Outline (Оконтурить) с заданием толщины соответствующим счетчиком. При включенном флажке Center (От Центра) она задается, как половина этой величины - наружу и половина - внутрь контура сплайна.
Выполнение Булевых (или логических) операций выполняется кнопкой Boolean (Булевый). Доступны три вида таких операций:
Команда создания зеркальной копии выбранного сплайна выполняется кнопкой Mirror (Зеркало). Флажок Сору (Копировать) задает режим отзеркалива-ния с копированием, флажок About Pivot (Вокруг Опоры) - включает режим использования Transform Coordinate Center (Координатного Центра Трансформаций), необходимый для правильного копирования нескольких сплайнов одновременно. Три модальные кнопки позволяют указать ось симметрии:
Далее располагаются две кнопки команд управления кромками сегментов сплайна - Trim (Обрезка) и Extend (Растяжка). Первая из них позволяет усекать сегменты, используя в качестве кромки любой из пересекаемых сегментов, а вторая аналогично выполняет растягивание. Включение флажка Infinite Bounds (Бесконечные Границы) позволяют использовать продолжения открытых сегментов до их пересечения.
Для замыкания открытых сплайнов используется кнопка Close (Замкнуть).
Применение кнопки Explode (Расчленить) позволяет выполнить разбиение выбранного сплайна на новые сплайны (по числу его сегментов) или на новые Shapes (Формы), что выбирается соответствующим переключателем.
Содержимое этого свитка предназначено для манипуляций с выбранными подобъектами (рис. 5.25).
РИСУНОК 5.25. Свиток Selection (Выделение)
Группа Named Selection (Именованные Наборы) содержит кнопки Сору (Копировать) и Paste (Вклеить), предназначенные для управления сохраненными наборами. Следующая группа управляет связыванием касательных маркерных линий при редактировании вершин типа Bezier (Безье) и Bezier-Corner (Угловая Безье).
Включение флажка Lock Handles (Связать Маркеры) приводит к выбору режима одновременного изменения касательных (и соответственно кривизны сегментов) всех выбранных вершин. При включенном переключателе АИ (Все) редактируются все вершины, при Alike (Подобные) - только подобные.
Группа Display (Вид) управляет включением режима Show Vertex Number (Показать Номера Вершин) - для этого предназначен одноименный флажок.
Вспомогательный флажок Selected Only (Только Выделенные) используется для показа только выбранных вершин, остальные игнорируются.
Для информации о выделенных подобъектах используется статусная строка в нижней части свитка Selection (Выделение), где отображается их количество и тип. В верхней части свитка расположены модальные кнопки выбора подобъектов. Эти кнопки удобно использовать в работе, так как для выбора необходим лишь один левый щелчок. В случае работы с подобъектами типа Segment (Сегмент) или Spline (Сплайн) возникает еще один свиток - Surface Properties (Свойства Поверхности).
Единственная группа Material (Материал) этого свитка позволяет присвоить различные материалы отдельным сегментам или сплайнам при использовании материала типа Multi / Sub-Object (Составной / Многокомпонентный Материал). Для этого предназначен счетчик ID (Идентификатор материала), где указывается номер соответствующего подматериала. Чаще всего это применимо к формам типа Renderable (Визуализируемым).
Составные объекты в Мах представлены отдельной группой, выбираемой из списка типов объектов панели Create (Создать). Мы рассмотрим всю группу с детальным разбором наиболее развитых методов моделирования - Loft (Формования) и Boolean (Булевых Объектов). Свиток Object Type (Типы Объектов) у составных объектов включает в себя:
Два оставшихся типа составных объектов Loft (Формование) и Boolean (Булевые) мы рассмотрим более подробно.
Формование (или Лофтинг) - один из самых универсальных методов моделирования геометрии в среде Мах, позволяющий создать почти все из ранее рассмотренных примитивов, а также и многие другие, присущие только этому способу моделирования. Основной принцип работы Лофтинга - размещение набора Loft Shapes (Характерных Сечений) объекта на его Path (Пути или Осевой Траектории). Форма и количество сечений, а также изгибы траектории определяются произвольно, исходя из поверхности моделируемого объекта. Для гибкой настройки законов изменения формы вдоль траектории служат различные Deformations (Деформации).
Существует несколько правил для создания исходных кривых Форм Сечений и Пути.
Для создания Лофтингового объекта способом «Путь-Сечение» необходимо выбрать кривую Пути и активизировать кнопку Loft (Формование) в свитке Object Type (Тип Объекта) группы Compound Object (Составные Объекты) панели Create (Создать). В результате возникнет набор свитков с параметрами и настройками Лофтинга.
Далее следует указать форму первого сечения создаваемого объекта, включив кнопку Get Shape (Указать Форму Сечения) в свитке Creation Method (Способ Создания) (рис. 5.26).
РИСУНОК 5.26. Свиток Creation Method (Способ Создания)
Кнопка Get Path (Указать Путь) предназначена для создания модели Лофтинга другим способом - «Сечение-Путь», когда первоначально выбрана Форма Сечения и затем указывается кривая Пути.
Три переключателя - Move (Переместить), Сору (Копировать) и Instance (Создать Образец) управляют выбором связи между исходными формами и создаваемым объектом.
Свиток Surface Parameters (Параметры Поверхности) содержит несколько групп настроек (рис. 5.27).
РИСУНОК 5.27. Свиток Surface Parameters (Параметры Поверхности)
Флажки Smooth Length (Сглаживание по Длине) и Smooth Width (Сглаживание по Ширине) группы - Smoothing (Сглаживание) управляют сглаживанием ребер вдоль и поперек Пути.
Флажок Apply Mapping (Приложить Проецирование) группы Mapping (Проецирование) позволяет задать проекционные координаты для карт текстур, а счетчики Length Repeat (Шаг по Длине) и Width Repeat (Шаг по Ширине) устанавливают число повторов по соответствующей оси. Дополнительный параметр Normalize задает равномерность приложения текстуры и отсутствие искажений.
Группа Materials (Материалы) управляет ID (Идентификаторами Материалов), а группа Output (Вывод) позволяет выбрать какой тип каркасной сетки Patch (Лоскут) или Mesh (Полигональный Каркас) будет создан в результате операции Лофтинга.
Следующий свиток Path Parameters (Параметры Пути) осуществляет навигацию по Пути, позволяя задавать контрольные точки для размещения Форм Сечений (рис. 5.28). Для этого служит счетчик Path (Путь), изменяя который можно указывать точку на Пути, где будет помещена Форма Сечения командой Get Shape (Указать Форму Сечения).
Флажок On (Включено) приводит в действие режим использования Snap (Шага), задаваемого одноименным счетчиком.
РИСУНОК 5.28. Свиток Path Parameters (Параметры Пути)
Три переключателя Percentage (Проценты), Distance (Расстояние) и Path Steps (Узловые Точки) управляют выбором единиц измерения соответственно от 0 до 100 процентов, от 0 до величины полной длины Пути в единицах сцены, и от 0 до значения числа шагов.
Последний режим зависит от одноименного счетчика в свитке Skin Parameters (Параметры Поверхности). Этот свиток содержит несколько групп параметров управления созданием модели Лофтинга (рис. 5.29). Группа Capping (Торцы) содержит флажки Cap Start / Cap End (Торец Начала / Торец Конца), которые создают «крышки» на торцах модели в случае незамкнутого пути. Переключатель Morph / Grid (Покрытие / Сетка) задает тип торцевого покрытия.
РИСУНОК 5.29. Свиток Skin Parameters (Параметры Поверхности)
Группа Options (Параметры) содержит следующие настройки:
И последняя группа Display (Вид) позволяет управлять отображением поверхности модели в видовых окнах при Skin (Каркасном) или Skin in Shaded (Тонированном) выводе на экран.
По аналогии с рассмотренными ранее Булевыми операциями над отдельными сплайнами формы такие же действия могут быть произведены над трехмерными объектами сцены в Мах - это Union (Объединение), Subtraction (Вычитание) и Intersection (Пересечение). Каждая из этих команд применима только тогда, когда объекты, участвующие в операции, пересекаются в некоторой области пространства. В результате будет создан новый объект, состоящий из двух исходных, каждый из которых называется Operand (Операндом). На стадии редактирования операнды позволяют выбирать, модифицировать или удалять себя из Булевого объекта.
Для создания составного объекта типа Boolean (Булевый) необходимо предварительно иметь в составе сцены два будущих операнда. Выбрав один из них, перейти в панели Create (Создать) к списку Compound Objects (Составные Объекты) и нажать кнопку Boolean (Булевый) (рис. 5.30).
РИСУНОК 5.30. Параметры Булевого Объекта
В раскрывшемся свитке Pick Boolean (Выбрать Операнд) следует включить режим создания - Reference (Ссылка), Move (Перенос), Сору (Копия) или Instance (Образец) и, щелкнув по одноименной кнопке, указать в видовом окне второй операнд. Способ взаимодействия двух операндов выбирается соответствующим переключателем группы Operation (Операция) в свитке Parameters (Параметры):
Служебный свиток Display / Update (Вид / Обновление) управляет способом отображения операндов и результата в видовых окнах.
1. Для создания модели булавки необходимо загрузить с сайта издательства файл Pin.MAX из каталога \Scenes. В видовых экранах отобразится готовая английская булавка и набор форм, использованный для ее создания (рис. 5.31).
РИСУНОК 5.31. Модель Английской Булавки
2. Скройте все объекты за исключением «Путь@Булавка», а сам объект «заморозьте», используя команду Freeze By Name (Заморозить по Имени) из панели Display (Вид). Выбрав команду Line (Линия) из списка объектов Shapes (Формы) панели Create (Создать), выполните отрисовку Пути будущей булавки в видовом окне Тор (Вид Сверху). Используйте для создания сегментов большей и меньшей кривизны режим перетаскивания вершин, описанный при рассмотрении создания и редактирования сплайнов типа Line (Линия).
3. Для окончательной доводки контура перейдите в панель Modify (Редактировать) и, выбирая требуемый подобъектный уровень, постарайтесь повторить форму «замороженного объекта». Назовите новую форму «Путь@Булавка-Проба».
4. Далее создайте форму для Сечения булавки, применив команду Circle (Окружность) из списка объектов Shapes (Формы) панели Create (Создать), и назовите новый объект «Сечение@Булавка-Проба».
5. Теперь необходимо выбрать первый созданный вами сплайн и перейти к пункту Compound Objects (Составные Объекты) для выбора операции Loft (Формования). После нажатия соответствующей кнопки в раскрывшемся свитке Creation Method (Способ Создания) выберите кнопку Get Shape (Указать Форму Сечения) и выполните левый щелчок на втором сплайне. В результате возникнет новый объект, повторяющий форму сплайна Пути с толщиной, равной размеру Сечения (рис. 5.32).
РИСУНОК 5.32. Создание Loft-объекта
6. Наберите имя для нового объекта - «Булавка». Для корректировки плавности изгибов, не выходя из панели Create (Создать),
измените в свитке Skin Parameters (Параметры Поверхности) значения счетчиков Shape Steps (Узловые Точки Формы Сечений) и Path Steps (Узловые Точки Формы Пути) на соответственно 3 и 7 единиц. Тело английской булавки создано, окончательную доводку необходимо будет произвести, используя Deformations (Деформации), которые мы рассмотрим несколько позже.
7. Далее выполните команду Unhide By Name (Показать по Имени) и из списка скрытых объектов выберите сплайны с именами «Путь@3амок» и «Сечение@3амок» для отрисовки их в видовых окнах. Выполните ранее описанные шаги по «заморозке» этих форм и совершенствованию навыков создания сплайнов для создания собственных, приблизительно похожих на них. Именуйте свои формы аналогично исходным с добавлением окончания «-Проба».
8. Для отрисовки формы Сечения замка булавки переключитесь в видовое окно Left (Вид Слева) и к созданному сплайну примените модификатор Edit Spline (Редактировать Сплайн) для задания толщины сечения и фасок. Строго говоря, базовый сплайн типа Line (Линия), который вы использовали при создании этого объекта, имеет подобъектные уровни Vertex (Вершина) и Spline (Сплайн), необходимые для этого. Однако для возможности последующего изменения заданной толщины или радиуса фасок всегда предпочтительнее перейти в стеке модификаторов на один уровень выше и изменять нужные параметры, не затрагивая исходный контур сплайна.
9. Итак, добавив упомянутый модификатор, перейдите к его редактированию на уровне Sub-Object (Подобъект) Spline (Сплайн) и задайте толщину контура, применив команду Outline (Оконтурить). Для этого необходимо выбрать единственный сплайн, входящий в выбранную форму и, нажав одноименную кнопку и включив флажок Center (От Центра), набрать в расположенном рядом с кнопкой счетчике цифру 2.
В результате отрисуется Сечение замка, которому для более реалистичной формы следует задать фаски на углах контура. Чтобы сделать это, необходимо переключиться на подобъектный уровень Vertex (Вершина), выбрав четыре угловые вершины, нажать кнопку Fillet (Скруглить) и далее ввести в ее счетчике значение 0.8 (рис. 5.33).
РИСУНОК 5.33. Создание фасок у контура сечения Замка
10. Для правильного позиционирования Сечения на Пути следует установить опорную точку в ее крайнее положение, воспользовавшись командой Affect Pivot Only (Изменять Только Опору) из панели Hierarchy (Иерархия) и сечение замка примет свой окончательный вид (рис. 5.34). Теперь, выбрав сплайн Пути, повторите процедуру создания нового Loft-объекта замка английской булавки и назовите его «Замок».
РИСУНОК 5.34. Задание нового положения Опорной Точки Замка
В случае неверного расположения Сечения на Пути, измените направление исходного сплайна Пути (объект с именем «Путь@3амок-Проба»). Для этого выберите подобъектный уровень Spline (Сплайн) и примените команду Reverse (Обратить). Сделав это, вы сразу же увидите отображение изменений на модели замка.
РИСУНОК 5.35. Свиток Deformations (Деформации)
Однако для более реального вида не хватает некоторых деталей -тело булавки должно иметь острие, и торцам замка хотелось бы придать изгиб и приложить фаски. Для этих (а также множества других) изменений формы конечной Loft-модели служат инструменты свитка Deformations (Деформации) (рис. 5.35).
Одноименный свиток содержит пять видов деформаций. Каждый из них может влиять на размер, угол поворота и угол наклона Сечения в любой точке Пути. Вот основные характеристики инструментов деформаций:
Каждая из деформаций имеет кривую, описывающую закон ее изменения по длине Пути. Все типы, кроме Twist (Кручения), имеадтпо две кривых, отвечающих за оси X и Y в локальной системе координат Сечения, а упомянутая деформация - только одну кривую. Тип Fit (Вписывание) требует предварительного создания одной (для симметричной деформации) или двух (для несимметричной) форм. Для активации соответствующей деформации служат модальные кнопки, расположенные рядом с основными. Нажатие на кнопку любого из пяти инструментов вызывает соответствующее диалоговое окно, состоящее из рабочего пространства и служебных зон с управляющими кнопками и статусными полями (рис. 5.36).
По горизонтальной оси располагается длина Пути в процентах от 0 до 100, вертикальная ось представлена единицами деформаций соответственными каждому из типов. Для панорамирования, укрупнения / уменьшения вида служит набор кнопок в правой нижней части окна. Зона подсказок и два информационных статусных поля находятся внизу слева и по центру. Вверху слева располагаются кнопки управления режимами редактирования кривых деформаций. После завершения изменений окно может быть закрыто или свернуто. Редактирование кривой деформации осуществляется аналогично таковому для сплайнов рассмотренному ранее.
РИСУНОК 5.36. Диалоговое Окно настройки Деформаций
Вернемся к выполнению практического задания и детально разберем использование деформации Scale (Масштаб).
11. Выбрав объект «Булавка», перейдите в панель Modify (Редактировать) и разверните свиток Deformations (Деформации). Далее щелкните на кнопке Scale (Масштаб) и обратите свое внимание на одноименное диалоговое окно. Первая из модальных кнопок Make Symmetrical (Включить Симметрию) в левой верхней части его управляет режимом симметрии кривых масштаба Сечения по осям X и Y. Так как сечение булавки имеет одинаковые пропорции по обеим осям, то кнопка симметрии должна быть включена. Далее следуют кнопки выбора оси деформации, что в нашем случае не имеет значения - редактируя кривую оси X, мы одновременно изменяем ось Y, и наоборот.
12. Затем необходимо создать дополнительную вершину на кривой деформации, для чего следует воспользоваться кнопкой из списка Insert Bezier Point (Вставить Точку Безье). Далее на рабочей области окна левым щелчком добавьте новую вершину на последнем сегменте Пути и переключитесь в режим перемещения вершин, выбрав из списка кнопок Move Control Point (Перемещать Контрольную Точку) ограничение по горизонтали. Выберите крайнюю справа вершину и переместите ее к горизонтальной оси, задав тем самым коэффициент масштаба Сечения в конечной точке Пути приблизительно равным 0.
13. Для точного указания масштаба можно воспользоваться цифровым полем набора в центральной нижней части окна и видовые окна отобразят сделанные изменения (рис. 5.38).
РИСУНОК 5.38. Острие Булавки
14. Теперь выберите объект «Замок» и откройте его окно Scale Deformations (Деформации Масштаба) - необходимо задать плавное изменение масштаба Сечения в начале и конце Пути редактируемого объекта. Однако в данном случае масштабирование должно применяться только к одной из осей сечения, поэтому следует выключить кнопку Make Symmetrical (Включить Симметрию) идалее выбрать для правки кривую масштаба по оси X. Для добавления вершин типа Bezier (Безье) и их перемещения используйте соответствующие кнопки из списка в левой верхней части окна. Отладьте кривизну и расположение сегментов, перетаскивая маркеры касательных вершин редактируемой кривой (рис. 5.36), и в результате форма объекта примет желаемый вид (рис. 5.39).
РИСУНОК 5.39. Окончательная форма Замка
15. Остается лишь немного подправить Путь тела булавки в месте завитка, чтобы результат Лофтинга выглядел более реально. Для этого необходимо выбрать сплайн «Путь@Булавка-Проба» и слегка разнести его вершины в вертикальной плоскости, сохраняя очертания контура в горизонтальной плоскости (рис. 5.40).
РИСУНОК 5.40. Корректировка сплайна Пути в вертикальной плоскости
Так как Путь объекта «Булавка» является образцом выбранного сплайна, то любое его изменение отображается незамедлительно. Выполните добавление модификатора Edit Spline (Редактировать Сплайн) и перейдите на подобъектный уровень Vertex (Вершина).Выбирая вершины в области завитка, добейтесь отсутствия самопересечений поверхностей, образующих тело булавки в Лоф-тинговом объекте.
16. Активизируйте видовое окно Camera (Вид из Камеры) и произведите обсчет полученной трехмерной модели, нажав на кнопку
Quick Render (Быстрая Визуализация) в Main ToolBar (Основной Панели) (рис. 5.41).
РИСУНОК 5.41. Итоговый кадр без назначения материалов
РИСУНОК 5.42. Итоговый кадр с назначением материалов
Безусловно, итоговый кадр значительно выиграет при использовании материала отличного от Default (По Умолчанию), присваиваемого Мах создаваемым объектам. В этом вы можете убедиться, просмотрев изображение «английской булавки» с назначенным материалом Chrome-Metal (рис. 5.42). Для этого загрузите файл English-Pin.JPG из каталога \lmages с сайта издательства, воспользовавшись пунктом View Image File (Просмотр файла изображения) падающего меню File (Файл).
Чаще всего использование объектов типа Boolean (Булевых) обусловлено в тех случаях, когда речь идет о сложных структурах переменного сечения, рельефа и т.д. и необходимостью получения бесшовной и сглаженной модели. Иногда просто удобнее иметь один составной объект с возможностью изменять его компоненты (например, модель наружных и внутренних стен и дверные и оконные проемы в них). Остановимся на детальном создании таких объектов и приемах их редактирования.
1. Загрузите с сайта издательства файл Hammer.MAX из каталога \Scenes и в видовых окнах отобразится заготовка литого корпуса электрической дрели (рис. 5.43).
2. Для принятия корпусом окончательного вида нужны многочисленные выборки, пазы и отверстия, которые зачастую можно создать, лишь применив Булевые операции. Скройте все объекты сцены, кроме модели корпуса с таким же именем. Далее необходимо сделать видимыми вспомогательные объекты, которые будут участвовать в дальнейших модификациях. Для этого вызовите команду Unhide By Name (Показать по Имени) и из одноименного диалогового окна выберите для открытия все объекты с префиксом «Бу-левый». В результате в сцене отрисуются красным и желтым тоном будущие Булевые операнды - составные части создаваемого объекта.
3. Для экономии времени геометрия этих объектов уже полностью сформирована и отлажена, как и произведены все необходимые преобразования - перемещения и повороты для соприкосновения с объектом корпуса. С одним из операндов будет произведено Union (Объединение) с исходным объектом, а другой претерпит Subtraction (Вычитание).
РИСУНОК 5.43. Заготовка модели Электродрели
4. Для этого сначала необходимо выбрать исходный объект с именем «Корпус» и перейти к списку Compound Objects (Составные Объекты) в панели Create (Создать). Далее необходимо, щелкнув на кнопке Boolean (Булевые). выбрать тип Булевой операции из группы Operation (Операция) свитка Parameters (Параметры) -Subtraction (A-B) (Вычитание (А-В)). Способ создания и вид генерируемой связи между исходными и результирующими объектами выбирается в свитке Pick Boolean (Выбор Булевого Объекта). Оставьте значение переключателя Move (Перенести), предлагаемое Мах по умолчанию. Наиболее часто этот способ дает самые оптимальные результаты.
5. Затем щелкните на кнопке Pick Operand В (Выберите Операнд
В) и укажите левым щелчком второй объект с именем «Булевый-01 (Вычитание)», который будет вычтен из первого (он отрисовывается красным цветом в видовых окнах). В результате вы увидите, что второй объект исчез, а на поверхности исходного возникли пазы, отверстия и выемки (рис. 5.44).
РИСУНОК 5.44. Результат Булевой Операции «Вычитания»
6. Результирующий объект с именем исходного теперь включает в себя два объекта, которые стали его операндами. Перейдите в панель Modify (Редактировать) и выберите в стеке модификаторов уровень Boolean (Булевый), для нового объекта этот уровень является первичным. Однако вся иерархия стеков каждого из операндов осталась неизменной и может быть отредактирована независимо. Для этого служит подобъектный уровень Operands (Операнды) выбираемый в свитке Parametrs (Параметры) из группы Operands (Операнды), после чего уровень Boolean (Булевый) в стеке модификаторов становится самым верхним, а ниже добавляется содержимое стека выбранного операнда. Режим отображения Булевых объектов в видовых окнах выбирается в свитке Display / Update (Вид / Обновление). Для показа выбранного по-добъекта требуется включить переключатель Operands (Операнды). При этом он отрисовывается красным цветом выделения, принятом в среде Мах.
7. Перемещаясь по стеку модификаторов в этом режиме можно изменять подобъекты так, как если бы они существовали отдельно в составе сцены, однако следует учитывать, что при сложной геометрии булевого объекта обновление изменений на экране может происходить очень медленно. Вернитесь в панель Create (Создать) и щелкните еще раз на кнопке Boolean (Булевый), установив переключатель типа Булевой операции в положение Union (Объединение). В качестве первого операнда в списке возникнет только что созданный составной объект, а вторым необходимо выбрать объект желтого цвета с именем «Булевый-02 (Объединение)». В результате будет создан составной объект двойной вложенности, так как один из его операндов сам является Булевым объектом (рис. 5.45).
РИСУНОК 5.45. Результат Булевой Операции «Объединения»
Каждый из уровней вложенности может редактироваться раздельно, однако такие операции требуют значительных ресурсов компьютера, и их следует использовать только при необходимости.
РИСУНОК 5.46. Итоговый вид Электродрели
Для снижения системных затрат следует сжимать стек тех операндов, чье дальнейшее модифицирование не требуется. Выполните эту операцию, используя соответствующие кнопки диалогового окна Edit Stack
(Редактировать Стек). Теперь вы можете открыть остальные объекты сцены командой Unhide All (Показать Все Объекты) и выполнить обсчет для просмотра полученных результатов (рис. 5.46).
Наибольшую гибкость в редактировании геометрии трехмерной сцены дает механизм модификаторов, описанный ранее в этой Главе. Все модификаторы можно условно разделить на инструменты создания и инструменты редактирования объектов.
Первый тип включает в себя такие средства как Extrude (Штамповка), Bevel (Скос), Lathe (Тело Вращения) и требует наличия предварительно созданной формы. После завершения формирования объекта исходные формы могут изменяться и дополняться, вызывая соответствующие изменения в итоговой геометрии.
Другой, более обширный вид модификаторов работает с уже сформированными трехмерными объектами, позволяя изменять их геометрию. Эта группа включает в себя инструменты различных деформаций, алгоритмов искажения поверхности, изменений вида составляющих элементов и т.п. Некоторые из них дают возможность редактирования формы на уровне вершин и граней, например, рассматриваемый в конце Главы модификатор Edit Mesh (Редактирование Каркаса).
Далее рассмотрим два наиболее характерных инструмента первой группы модификаторов.
Существуют объекты реального мира, имеющие постоянное сечение по высоте и сложную, вычурную форму в плане (например, эмблемный щит, рельефный узор переплета книги, рисунок решетки ограждения и др. (рис. 5.47)).
Такие модели могут быть созданы достаточно реалистично методом Loft (Формования), однако гораздо удобнее воспользоваться отдельным и более простым модификатором среды Мах - инструментом Bevel (Скос). Для создания подобных объектов необходимо создать форму сечения и применить к ней соответствующий модификатор.
РИСУНОК 5.47. Примеры объектов Bevel (Скоса)
Сделать это можно, перейдя в панель Modify (Редактировать). В результате присвоения этого модификатора будут развернуты два свитка -Parameters (Параметры) и Bevel Values (Величины Скоса) для дальнейшей настройки (рис. 5.48).
Прежде всего, необходимо задать величину фаски (или скоса сечения). Для этого служит счетчик Start Outline (Начальное Оконтурива-ние). При положительных значениях - сплайн сечения растягивается наружу от центра, при отрицательных - стягивается внутрь.
Далее, используя счетчики Height (Высота) и Outline (Промежуточное Оконтуривание) группы Level 1 (Уровня 1), настраиваются характерные размеры фаски или скоса сечения. Обычно оба этих счетчика устанавливают равными друг другу по абсолютной величине.
Затем для развития объекта дальше необходимо включить флажок группы Level 2 (Уровень 2) и, установив ее счетчик Outline (Промежуточное Оконтуривание) равным 0, задать счетчиком Height (Высота) величину высоты объекта.
РИСУНОК 5.48. Параметры модификатора Bevel (Скос)
Повторив алгоритм установки для группы Level 3 (Уровень 3), в результате получим трехмерный, выдавленный из сечения объект с фасками по обоим торцам (рис. 5.49).
РИСУНОК 5.49. Объект «Колонна», созданный инструментом Bevel (Скос)
Флажки Start (Начало) и End (Конец) группы Capping (Торцы) в свитке Parameters (Параметры) управляют режимом генерации торцевых плоскостей создаваемого объекта, а флажок Smooth Across Levels (Сглаживание Между Уровнями) включает функцию сглаживания ребер. Интересная установка настраивается параметрами группы Intersections (Пересечения): в случае, когда возникают непредвиденные эффекты закручивания сплайна в вершинах с ненулевой кривизной (такие дефекты препятствуют созданию торцевых плоскостей), включение флажка Keep Lines From Crossing (Запрет Пересечения Линий) запускает режим автоматического разрешения самопересечений (рис. 5.50).
РИСУНОК 5.50. Использование Запрета Пересечения Линий
Попробуйте самостоятельно создать объекты, показанные в начале раздела, применив модификатор Bevel (Скос) к формам их сечений. Используйте файл Bevel.MAX, который можно загрузить с сайта издательства. Обратите внимание на возможность редактирования исходной формы сечения простым переходом вниз по стеку модификаторов с контролем отображения конечного результата в видовом окне (используйте кнопку Show End Result (Показывать Конечный Результат) панели управления стеком).
Lathe (Тело Вращения)
Один из самых применяемых инструментов Мах - это модификатор Lathe (Тело Вращения), используемый для создания тел вращения. Его использование происходит аналогично описанному ранее модификатору Bevel (Скос) -сначала рисуется форма будущего профиля вращения, а затем применяется модификатор Lathe (Тело Вращения). Набор его настроек содержится в единственном свитке Parameters (Параметры) (рис. 5.51).
РИСУНОК 5.51. Параметры модификатора Lathe (Тело Вращения)
Основные из них - это величина угла вращения, задаваемая счетчиком Degrees (Градусы) (при значениях меньше 360 единиц получается сегмент тела вращения), и установка оси вращения, выбираемая одной из трех кнопок - X, Y или Z группы Direction (Направление). Переключатели группы Output (Результат) управляют типом создаваемой трехмерной модели - Patch (Лоскут), Mesh (Каркас) или NURBS (Поверхность NURBS).
РИСУНОК 5.52. Варианты ориентации Axis (Оси Вращения)
Инструменты группы Align (Ориентация) дают возможность управлять положением Axis (Оси Вращения), устанавливая ее в положения Min (Минимума), Center (Центра) или Мах (Максимума) формы профиля (рис. 5.52).
Параметр Axis (Ось Вращения) составляет подобъектный уровень модификатора и при его активизации щелчком на кнопке Sub-Object (Подобъект) отрисовывается в видовом окне желтой прямой линией. При применении трансформаций переноса и поворота к этой оси происходит изменение внешнего вида результирующего тела вращения (рис. 5.53).
РИСУНОК 5.53. Варианты расположения Axis (Оси Вращения)
Используйте для практики файл Lathe.MAX из каталога \Scenes, расмещенный на на сайте издательства, пробуя создать модели гантели, песочных часов, кувшина и др. как тела вращения (рис. 5.54).
РИСУНОК 5.54. Объекты, полученные операцией Вращения
Далее мы разберем набор самых применяемых модификаторов изменений формы и начнем с инструмента Bend (Изгиб), используемого для создания деформации изгиба в уже готовом трехмерном объекте. Применив этот модификатор к существующему объекту (например, цилиндру), рассмотрим параметры и настройки, содержащиеся в свитке Parameters (Параметры) (рис. 5.55).
РИСУНОК 5.55. Параметры модификатора Bend (Изгиб)
Группа Bend (Изгиб) содержит два основных счетчика Angle (Угол) и Direction (Направление), задающих соответственно величин) изгиба и его направление в градусах.
РИСУНОК 5.56. Варианты применения Изгиба
Переключатели группы Bend Axis (Оси Изгиба) управляют ориентацией деформации изгиба, выбирая текущую координатную ось.
Область действия деформации задается Gizmo (Контейнером Модификатора), который вместе с параметром Center (Центр) составляют подобъектный уровень инструмента Bend (Изгиб).
Настройки группы Limits (Ограничения) позволяют настраивать область действия модификатора применительно к выбранной оси деформации. Для включения режима ограничений предназначен флажок Limit Effect (Эффект Ограничения), а пара счетчиков Upper Limit (Верхний Предел) и Lower Limit (Нижний Предел) задает координаты плоскостей, ограничивающих действие модификатора (рис. 5.56).
Файл для практических занятий Bend.MAX можно загрузить с сайта издательсьва.
Этот инструмент предназначен для придания объекту конусности, изменяющейся вдоль выбранной оси линейно или криволинейно. Набор установок содержится в свитке Parameters (Параметры) (рис. 5.57), сходном с описанным ранее аналогичным свитком модификатора Bend (Изгиб).
РИСУНОК 5.57. Параметры модификатора Taper (Конусность)
Значения пары счетчиков Amount (Величина) и Curve (Кривизна) управляют соответственно сходом на конус (или заострением) геометрии объекта и его нелинейностью (кривизной) (рис. 5.58).
Gizmo (Контейнер) модификатора представляет собой параллелепипед, отображающий примененную деформацию и позволяющий использовать трансформации перемещения, поворота и масштабирования для дополнительного контроля геометрии.
Ориентация приложения модификатора регулируется группой настроек Taper Axis (Оси Конусности).
Переключатели параметра Primary (Первичная Ось) выбирают основную координатную ось действия деформации, а выбор ее перпендикулярной оси (или обоих сразу) задается переключателями группы Effect (Эффект).
РИСУНОК 5.58. Варианты применения Конусности
Флажок Symmetry (Симметрия) включает зеркальное отображение изменения геометрии относительно точки Center (Центра). Эта точка управляется в режиме Sub-Object (Подобъект) и допускает только преобразование переноса. Группа настроек Limits (Ограничения) аналогична описанной группе для модификатора Bend (Изгиб).
Попрактикуйтесь в работе с описанным набором инструментов, загрузив для изучения файл примера Тарег.МАХ с сайта издательства.
Очень полезный модификатор трапециевидной деформации геометрии, который используется для добавления наклона граням модели (например, легкой неперпендикулярности плоскостей, свойственной объектам реального мира, таким как картонная коробка, мебельный ящик, покосившаяся избушка, старый автомобиль и др.).
Настройки инструмента Skew (Наклон) аналогичны рассмотренным для модификатора Bend (Изгиб). Для демонстрации работы рассмотренного модификатора создайте объект ChamferBox (Коробка с Фаской) задав величины счетчиков Length Segs (Число Сегментов по Длине), Width Segs(Чиcло Сегментов по Глубине) и Height Segs (Число Сегментов по Высоте) равными 10 единицам, a Fillet Segs (Число Сегментов Фаски) равное 3.
Перейдите к панели Modify (Редактировать) и примените к объекту описываемый модификатор. Задайте некоторое ненулевое значение счетчику Amount (Количество) и. включив флажок Limit Effect (Эффект Ограничения), переместите плоскости Пределов Ограничения для придания модификатору эффекта случайности (рис. 5.59).
РИСУНОК 5.59. Применение модификатора Skew (Наклон)
Попробуйте самостоятельно перенастраивать некоторые параметры для закрепления навыка работы с модификатором Skew (Наклон).
Этот инструмент используется для добавления объектам деформации скручивания. Чаще всего модификатор Twist (Кручение) применим при создании витых спиралевидных моделей или трехмерных наборов объектов (например, резьбы болта, пропеллера самолета, винтовой лестницы и др.) (рис. 5.60).
РИСУНОК 5.60. Объекты
Группа параметров Twist (Кручение) содержит пару счетчиков Angle (Угол) и Bias (Смещение), задающих соответственно величину закручивания и степень неравномерности витков.
Второй счетчик может принимать значения от -100 до +100 единиц, управляя величиной нелинейности деформации, воздействуя на геометрию объекта от Center (Центра) модификатора.
Файл трехмерной сцены с набором объектов Twist.MAX наглядно иллюстрирует действие деформации кручения и может быть использован вами для самостоятельной практики.
Далее мы рассмотрим два инструмента, предназначенных для имитации неоднородности геометрии объектов: Noise (Нерегулярность) и Wave (Волна).
Этот модификатор используется для придания геометрии моделей неравномерности и случайности, характерной для объектов реального мира, которые в большинстве своем отличаются от искусственных форм, генерируемых программами трехмерного моделирования (аналогичное средство существует и в инструментах создания материачов - его мы рассмотрим позднее).
Модификатор Noise (Нерегулярность) содержит несколько групп настроек (рис. 5.61).
РИСУНОК 5.61. Параметры модификатора Noise (Нерегулярность)
Первая одноименная группа включает в себя счетчики Scale (Размер), задающий величину возмущений поверхности объекта и Seed (Случайность), устанавливающий положение генератора случайных величин.
Флажок Fractal (Фрактал) включает режим генерации математического алгоритма по методу фракталов, а счетчики Roughness (Шероховатость) и Iteration (Число Повторений) задают установки этому алгоритму.
Три счетчика (по числу координатных осей) следующей группы Strength (Амплитуда) позволяют установить силу смещений точек поверхности объекта. Для генерации непрерывного изменения геометрии с использованием фактора времени служит группа настроек Animation (Оживление).
Счетчики Frequency (Частота) и Phase (Фаза) устанавливают соответственно скорость непрерывного изменения возмущений и ее внешний вид, а флажок Animate Noise (Оживить Нерегулярность) предназначен для включения режима анимации модификатора.
РИСУНОК 5.62. Полено с «нерегулярной» поверхностью
Используйте файл примера Noise.MAX (рис. 5.62), который можно загрузить с сайта издательства, для экспериментов с инструментом Noise (Нерегулярность).
Если предыдущий модификатор предназначался для генерации нерегулярных возмущений геометрии модели, то инструмент Wave (Волна) необходим для создания регулярных, подчиненных нехаотическому закону колебаний поверхности трехмерного объекта.
Использование этого инструмента применимо для имитации многих объектов реального мира, таких как рельеф поверхности воды, развевающееся знамя, вибрирующая мембрана акустической системы, оплавленность свечи и др. (рис. 5.63).
РИСУНОК 5.63. Пример использования модификатора Wave (Волна)
Единственная одноименная группа параметров модификатора содержит 5 счетчиков для управления волной (рис. 5.64).
РИСУНОК 5.64. Параметры модификатора Wave (Волна)
Пара счетчиков Amplitude 1 (Амплитуда 1) и Amplitude 2 (Амплитуда 2) задает силу колебаний в двух взаимно перпендикулярных направлениях, а счетчик Wave Length (Длина Волны) управляет протяженностью пиков максимума и минимума.
И оставшиеся два счетчика Phase (Фаза) и Decay (Затухание) назначают соответственно внешний вид колебания и силу его ослабления по мере удаления от Center (Центра) Gizmo (Контейнера Модификатора). Положение центра редактируется на уровне Sub-Object (Подобъекта) так же, как и положение, угол поворота и масштаб самого Gizmo (Контейнера Модификатора).
Для практики и детального знакомства с модификатором Wave (Волна) создайте модель типа Plane (Плоскость) и, присвоив рассматриваемый инструмент опробуйте зависимость внешнего вида модели от тех или иных установок (рис. 5.65).
РИСУНОК 5.65. «Волнящий» объект
В заключение мы рассмотрим один из ключевых инструментов изменения геометрии, без которого невозможно представить любую сложную модель в Мах. Модификатор Edit Mesh (Редактирование Каркаса) представляет собой набор средств, скомпонованных по следующим подобъектным уровням:
Выбор требуемого подобъектного уровня осуществляется в списке, вызываемом левым щелчком на знаке «плюс» в списке Modifier Stack (Стек Модификаторов) (рис. 5.66).
РИСУНОК 5.66. Список подобъектных уровней
Далее мы рассмотрим подробнее свитки параметров Edit Mesh (Редактирование Каркаса) и содержащиеся в них наборы инструментов.
Свиток, сходный с одноименным свитком рассмотренного ранее модификатора Edit Spline (Редактировать Сплайн), предназначен для включения нужного подобъектного уровня с помощью соответствующей кнопки и управления режимами выбора подобъектов (рис. 5.67).
РИСУНОК 5.67. Настройки свитка Selection (Выделение)
Кнопки Hide (Скрыть) и Unhide (Показать) позволяют управлять видимостью наборов подобъектов, а пара кнопок Сору (Копировать в Буфер) и Paste (Вставить из Буфера) служит для создания таких наборов.
Флажки By Vertex (По Вершине) и Ignore Backfacing (Игнорировать Тыльные Грани) включают соответственно режим выбора подобъектов по указываемой вершине и блокировки трансформаций тыльных граней объекта.
Настройки этого свитка предназначены для расширения возможностей выделения подобъектов и задают закон распространения трансформаций по объему редактируемого каркаса (рис. 5.68):
РИСУНОК 5.68. Инструменты Мягкого Выделения
РИСУНОК 5.69. Отображение режима Мягкого Выделения
В режиме Vertex (Вершина) в видовых окнах происходит динамическое отображение Мягкого Выделения. Выбранная вершина отрисовывается красным цветом, а вершины, попадающие в область влияния - оттенками желтого и зеленого цветов (рис. 5.69).
При различных значениях счетчиков Falloff (Спад), Pinch (Сужение) и Bubble (Вздутие) трансформации выбранной вершины по-разному передаются всем «подчиненным» вершинам (рис. 5.70).
РИСУНОК 5.70. Варианты использования режима Мягкого Выделения
Режим Мягкого Выделения действует и на других подобъектных уровнях, хотя выделения цветом зоны влияния не происходит.
Большинство основных инструментов изменения геометрии сосредоточено в этом свитке. Доступность той или иной кнопки регулируется при выборе соответствующего подобъектного уровня (рис. 5.71).
РИСУНОК 5.71. Варианты свитка Edit Geometry (Редактировать Геометрию)
Остановимся на основных командах и их особенностях. Следующие инструменты являются общими для всех уровней:
РИСУНОК 5.72. Операция Collapse (Свести в Точку)
Подобъектный уровень Vertex (Вершина) используется для тщательной, «ручной» доводки формы модели, позволяя пользователю работать с поверхностью объекта примерно так, как это делает скульптор. Для этого предоставлен следующий инструментарий:
Некоторые инструменты этого уровня повторяют предыдущий, поэтому рассмотрим лишь новые функции:
Три подобъектных уровня для работы с гранями имеют следующие инструменты редактирования:
Направление обхода трех вершин определяет видимость построенной грани. Например, для создания грани, повернутой передней стороной к наблюдателю, необходимо перемещать мышь против часовой стрелки.
Режим by Edge (по Ребрам) включает добавление вершин посередине ребер, а режим by Face-Center (по Центру Грани) - в геометрических центрах граней (рис. 5.73).
РИСУНОК 5.73. Операция Tesselate (Добавить Грани)
Explode (Расчленить) - отделяет выделенные грани в отдельный объект или элемент по критерию угла между смежными гранями, который задается счетчиком. По умолчанию его значение равно 24 градусам.
Инструменты этого свитка также разнятся для каждого подобъектного уровня. Рассмотрим их основные особенности.
Настройки рассматриваемого свитка позволяют задавать значения Weight (Веса) и Color (Цвета) выбранных вершин, необходимые для использования в некоторых модификаторах Мах (например, в MeshSmooth (Сглаживании Каркаса)).
Набор параметров в этом уровне предназначен в основном для определения видимости ребер в видовых окнах. Для этого служат кнопки Visible / Unvisible (Сделать Видимым / Невидимым).
Группа Auto Edge (Автоматическая Отрисовка Ребер) управляет режимами показа ребер.
Face (Грань), Polygon (Плоскость), Element (Элемент)
Основные функции свитка Surface Properties (Свойства Поверхности) на оставшихся трех подобъектных уровнях определяются следующими группами настроек:
В заключение остается добавить, что применение рассмотренного модификатора к любому типу примитивов или форм Мах выполняет их конвертирование в каркас на текущем уровне стека. Всегда предпочтительнее производить значительные операции редактирования каркаса на новом его уровне для оставления возможности повторного внесения изменений или отмены.
Виртуозное владение техникой моделирования и артистичное смешение красок и текстур при создании материалов не позволит получить по-настоящему реалистичные изображения без правильно настроенного света сцены и удачно закомпонованного кадра съемочной камеры. Два основных типа служебных объектов любой сцены Мах - Источники Света и Камеры требуют детальной настройки и отладки. Обычно работа с ними начинается сразу после создания первых объектов геометрии, однако подробная установка параметров более целесообразна позднее, в процессе настройки материалов.
Любая из вновь созданных сцен имеет Default Lighting (Базовое Освещение) - способ отрисовки сцены при полном отсутствии источников света. Действительно, если пользователь начинает с создания геометрии и присвоения ей неких материалов, не позаботившись об освещении, то за него это сделает сама программа, давая возможность заняться этим позднее. Установки базового освещения производятся в диалоговом окне Viewport Configuration (Конфигурация Видовых Окон), вызываемом через одноименный пункт падающего меню Customize (Настроить) (рис. 6.01).
РИСУНОК 6.01. Установки Базового Освещения
Группа Rendering Options (Параметры Визуализации) содержит флажок Default Lighting (Базовое Освещение), который позволяет управлять встроенным освещением, и два переключателя -1 Light (Один Источник Света) / 2 Light (Два Источника Света), осуществляющих выбор числа базовых осветителей сцены.
При одном включенном источнике света сцена отрисовывается с фронтальным, расположенным «за плечом наблюдателя» освещением. Такая конфигурация позволяет быструю перерисовку объектов сцены в видовых окнах, однако, выглядит менее естественно, чем другая, с двумя источниками света.
Во втором варианте один из осветителей располагается слева вверху, а другой - справа внизу, что способствует более реальному виду, хотя при обновлении экрана происходит большее замедление. Параметры базового освещения ограничиваются описанным незначительным набором установок.
Далее мы рассмотрим основные источники света, применяемые в среде Мах, и сначала следует остановиться на их классификации:
РИСУНОК 6.02 а. Отображение осветителя Omni (Всенаправленного)
РИСУНОК 6.02 b. Отображение осветителя Target Spot (Нацеленного Прожектора)
РИСУНОК 6.02 с. Отображение осветителя Target Direct (Нацеленного Прямого)
РИСУНОК 6.02 d. Отображение осветителя Free Spot (Свободного Прожектора)
РИСУНОК 6.02 е. Отображение осветителя Free Direct (Свободного Прямого)
Для создания источника света необходимо перейти в панель Create (Создать) и раскрыть кнопкой Lights (Источники Света) свиток описанных ранее типов осветителей. Затем нужно щелкнуть на необходимой кнопке и будут показаны свитки основных и дополнительных настроек (рис. 6.03).
РИСУНОК 6.03. Настройки Источников Света
Далее необходимо расположить курсор в видовом окне (обычно используется окно Тор (Вид Сверху)) и выполнить левый щелчок. Описанный способ справедлив для всех осветителей, кроме типов Target (Нацеленных), для которых необходимо цместо щелчка выполнить нажатие левой кнопки мыши и, перемещая ее, указать положение точки цели, а только потом отпустить.
Генерируемые при создании имена источников света типа Omni01 или Spot01 лучше сразу заменить на более информативные.
Рассмотрим набор параметров основных источников света среды Мах.
Список Туре (Тип) позволяет изменять тип осветителя при необходимости на стадии редактирования. Флажки On (Включен) и Cast Shadows (Падающие Тени) управляют соответственно режимом включения и способностью осветителя генерировать падающие тени от объектов сцены.
Цветная кнопка при левом щелчке вызывает Color Selector (Палитру Цветов), позволяя настраивать спектр световых лучей, а рельефная кнопка рядом с ней вызывает диалоговое окно Exclude / Include (Включить / Исключить), управляющее списком объектов, на которые будет влиять (или игнорировать) создаваемый осветитель (рис. 6.04).
РИСУНОК 6.04. Диалоговое окно Exclude /Include (Включить /Исключить)
Эта особенность очень часто используется для создания особых световых эффектов (таких как рефлексы, вспышки и т.п.), выборочной засветки одного или группы объектов. Поле диалогового окна состоит из двух списков: слева располагается набор объектов создаваемой сцены, а справа - те объекты, которые будут Exclude (Исключены) или Include (Включены) во влияние создаваемого осветителя. Соответствующий режим выбирается одноименными переключателями в правой верхней части окна.
Располагаемая ниже группа переключателей управляет тем, какое из свойств - Illumination (Освещенность), Shadow Casting (Падающие Тени) или оба будут использоваться источником света.
Для точных настроек спектра осветителя по составляющим Red-Green-Blue (Красный-Зеленый-Синий) или Hue-Saturation-Value (Оттенок-Насыщенность-Величина) предназначены соответствующие счетчики, а долевой коэффициент усиления источника задается счетчиком Multiplier (Множитель). Последний параметр удобен для установки силы света осветителя, причём значение, равное 1, соответствует одинарному источнику света, а нулевое - выключенному. Любое значение больше 1 приводит к результатам, достижимым при установке в одну точку нескольких единичных осветителей. Для создания затененных участков на определенных областях сцены значение множителя следует сделать отрицательным.
Группа Affect Surfaces (Воздействие на Поверхности) в свитке Advanced Effects (Эффекты) управляет соотношением яркости и контрастности различных зон освещенности поверхности объектов.
Projector Parameters (Параметры Проецирования)
Группа Projector Parameters (Параметры Проецирования) в свитке Advanced Effects (Эффекты) содержит флажок Map (Текстурная Карта) и кнопку выбора файла изображения для наложения на излучаемый осветителем свет (рис. 6.05).
РИСУНОК 6.05. Параметры Проецирования
В результате использования этого параметра есть возможность заставить источник света имитировать кинопроектор или фильмоскоп, а также некоторые другие световые эффекты (рис. 6.06).
РИСУНОК 6.06. Пример использования функции Проецирования
Этот свиток предназначен для контроля интенсивности, цвета и пространственного ослабления светового потока осветителя наподобие затухания света в реальной атмосфере (рис. 6.07).
РИСУНОК 6.07. Параметры Ослабления
Группы параметров Near Attenuation (Ближнее Затухание) и Far Attenuation (Дальнее Затухание) задают начало и конец границы ослабления света, причем каждая из них представляет собой сферу с центром в точке излучения осветителя и отрисовывается в видовых окнах своим цветом (рис. 6.08).
РИСУНОК 6.08. Отображение границ Ослабления
Применение ослабления позволяет задать неоднородность освещения, свойственную объектам реального мира. Параметры группы Decay (Затухание) дают возможность задать математический закон изменения ослабления из списка Туре (Тип) и границу его начала счетчиком Start (Начало).
Две группы настроек регулируют Object Shadows (Падающие Тени Объектов) и Atmospere Shadows (Тени в Атмосфере) (рис. 6.09). Первый из этих типов наиболее часто используется и характеризуется возможностью изменять четкость границы тени.
РИСУНОК 6.09. Параметры Тени
Второй тип тени имеет постоянную резко очерченную кромку и допускает генерацию реалистичных теней от полупрозрачных объектов и объектов с использованием силуэтных текстурных карт.
Цвет тени настраивается с использованием Color Selector (Палитры Цветов), вызываемой левым щелчком на цветной кнопке Color (Цвет), а степень «черноты» тени регулируется счетчиком Dens (Плотность).
Для добавления карты текстуры к карте теней предназначен флажок Map (Текстурная Карта), а влияние цвета источника на цвет тени включается флажком Light Affects Shadow Color.
Вторая группа настраивает тени при обсчете атмосферных эффектов, для чего служат счетчики Opacity (Непрозрачность) и Color Amount (Насыщенность Цвета).
Настройки этого списка управляют внешним видом падающих теней (рис. 6.10).
РИСУНОК 6.10. Параметры Карты Тени
В свтике Shadow Map Parameters доступны для настроек счетчики Bias (Смещение), управляющие величиной относа тени от поверхности объекта, а также Size (Размер) и Sample Range (Точность), задающие соответственно крупность карты теней и разрешающую способность границы тени.
РИСУНОК 6.11 а. Пример создания «мягкой» тени
РИСУНОК 6.11 b. Пример создания «резкой» тени
Изменяя два последних счетчика, можно имитировать размытые тени в туманном освещении (значение Size=256, Sample Range=18) (рис. 6.11 а) или четкие тени, создаваемые ярким полуденным солнцем (значение Size=1024, Sample Range=3) (рис. 6.11 b).
Для получения промежуточного результата типа «солнце в дымке» следует задать усредненные параметры (значение Size=512, Sample Range=8) (рис. 6.11 с).
РИСУНОК 6.11 с. Пример создания тени средней четкости
В случае создания источника света типа Target Spot (Нацеленный Прожектор) или Free Spot (Свободный Прожектор) возникает свиток Spotlight Parameters (Параметры Прожектора) (рис. 6.12) с настройками, регулирующими параметры его луча.
РИСУНОК 6.12. Параметры Прожектора
Для этого служит пара счетчиков HotSpot/Beam (Пятно Света/Луч) и Falloff/ Field (Граница Пятна Света/область действия) управляющая степенью размытия края светового пучка, переключатели Circle / Rectangle (Окружность / Прямоугольник), задающие форму луча света, соответственно коническую или пирамидальную, и счетчик Aspect (Пропорция), активизирующийся при включенном переключателе Rectangle (Прямоугольник), настраивающий соотношение ширины к высоте сечения луча.
Для отображения геометрии конуса света в видовых окнах используется флажок Show Cone (Показывать Конус Света), а расположенный рядом флажок Overshoot (Всенаправленный) заставляет осветитель излучать свет во всех направлениях (подобно источнику типа Omni), хотя и генерируя тени только в пределах конуса света.
В наборе инструментов управления светом есть еще один, позволяющий глобально влиять на освещенность сцены. Этот вид освещения называется Ambient Lighting (Фоновое Рассеянное Освещение), и его величина характеризует общее ненаправленное освещение, равномерно заливающее светом все объекты. Введение такого параметра дает возможность управлять цветовой насыщенностью материалов, усиливая ее для ярких, «дневных» сцен и ослабляя для темных, слабоосвещенных.
Значение Ambient Lighting (Фоновое Рассеянное Освещение) устанавливается в диалоговом окне Environment (Окружение), вызываемом из падающего меню Rendering (Визуализация) (рис. 6.13).
РИСУНОК 6.13. Настройки Фонового Рассеянного Освещения
Свиток Common Parameters (Общие Параметры) содержит группу Global Lighting (Общее Освещение), в которой имеется набор следующих параметров:
Кроме того, при установке ненулевых значений цветового параметра Sat (Насыщенность) весь фоновый свет становится цветным. Такая «расцветка» может понадобиться при имитации лунного света, красного освещения проявочной комнаты фотографа, некоторых спецэффектов. Значение параметра Ambient (Окружающий) установлено по умолчанию в 11-11-11, что соответствует слабому фоновому свету.
Рассматриваемые ранее при изучении видовых окон различные точки зрения наблюдателя почти всегда подходят для стадии создания и редактирования объектов трехмерных сцен, однако все они (может быть за исключением вида Perspective (Перспектива)) выглядят нереально и. безусловно, не годятся для визуализации сцен, требующих реализма. Для решения этой задачи предназначены специальные служебные объекты - Съемочные Камеры или просто Камеры.
В среде Мах используются два вида камер:
Target Camera (Нацеленная Камера).
Free Camera (Свободная Камера).
Второй тип съемочных камер менее удобен для большинства случаев, поэтому остановимся на первом и рассмотрим его подробнее.
Нацеленная Камера представляет собой объект, по структуре близкий к рассмотренному ранее источнику света типа Target Spot (Нацеленный Прожектор), - это точка объектива камеры, показываемая в окнах в виде синего изображения кинокамеры и Target (Точка Цели) (отрисовываемая синим кубиком), в которую всегда направлен воображаемый луч зрения наблюдателя (рис. 6.14).
Ось луча зрения отрисовывается прямой голубого цвета, соединяющей объектив камеры и кубик цели.
РИСУНОК 6.14. Отображение Target Camera (Нацеленной Камеры)
Разберем основные параметры настройки камер. Для этого необходимо перейти в панель Create (Создать) и раскрыть кнопкой Cameras (Камеры) свиток типов съемочных камер. Далее следует щелкнуть на кнопке Target (Нацеленная), после чего отобразится свиток Parameters (Параметры), содержащий все необходимые инструменты настройки (рис. 6.15).
Действия пользователя по созданию камер аналогичны описанным для осветителей типов Target (Нацеленных) и Free (Свободных), поэтому сразу обратимся к разбору содержимого выбранного свитка.
Пара связанных счетчиков Lens (Линзы) и FOV или Field-of-View (Поле Зрения) управляет величиной поля зрения камеры или области видимого наблюдателю изображения. При изменении одного из этих счетчиков пропорционально меняется значение другого. Расположенный рядом список кнопок выбирает способ задания поля зрения:
Поле зрения измеряется по горизонтали вида. Поле зрения измеряется по вертикали вида. Поле зрения измеряется по диагонали вида.
Далее следует группа стандартных наборов линз Stock Lenses (Шаблонные Линзы) для быстрого выбора пары значений Lens (Линзы) и FOV (Поле Зрения).
Расположенный ниже список выбора типа камеры становится доступен при редактировании уже созданной камеры через панель Modify (Редактировать), а два флажка Show Cone (Показать Границу Поля Зрения) и Show Horizon (Показать Линию Горизонта) управляют отрисовкой геометрии камеры в видовых окнах.
РИСУНОК 6.15. Параметры Камер
Далее располагаются две группы настроек Environment Ranges (Диапазоны Видимости) и Clipping Planes (Плоскости Невидимости).
Первая группа содержит счетчики Near Range (Ближний Диапазон) и Far Range (Дальний Диапазон), которые задают границы начала и конца, используемые при визуализации сцен Environment Effects (Эффектов Окружения), таких как туман, глубина резкости и др.
Счетчики Near Clip (Ближняя Секущая Плоскость) и Far Clip (Дальняя Секущая Плоскость) второй группы позволяют установить диапазон трехмерного пространства, за пределами которого не будут отрисовываться объекты в видовых окнах и визуализироваться при обсчете. Это бывает необходимо в некоторых случаях сложной составной геометрии сцены (например, при визуализации интерьера помещения с точки постановки камеры, расположенной перед глухой стеной).
РИСУНОК 6.15а
И последняя группа параметров Multi-Pass Effects (Многопроходные Эффекты) управляет настройками таких свойств визуализации, как Depth of Field (Глубина Резкости) и Motion Blur (Размытие Движения), выбор которых осуществляется из соответствующего списка (рис. 6.15а).
Одним из наиболее удобных свойств этой группы является возможность визуальной отладки эффекта непосредственно в видовом окне активной камеры. Дополнительные настройки, относящиеся к выбранному эффекту, содержатся в отдельном свитке. Более детально на Многопроходных Эффектах мы остановимся в главе «Визуализация и Специальные Эффекты».
Для активизации панели инструментов управления камерой необходимо задать текущим видовым окном точку зрения выбранной съемочной камеры. В этом случае стандартная панель настройки видового окна, расположенная в правой нижней части Главного Окна Мах и рассмотренная ранее, примет иной вид (рис. 6.15):
РИСУНОК 6.16. Панель Управления видовым окном Камеры
Для выполнения команд управления видовым окном камеры необходимо щелкнуть на соответствующую кнопку панели инструментов управления, при этом курсор изменит свою форму, отобразив рисунок выбранной кнопки. Далее нужно расположить курсор в области видового окна камеры и, нажав левую кнопку мыши, перемещать ее:
Одними из самых важных аспектов «натуральности» финального вида моделируемой сцены являются правильно подобранные и отлаженные материалы. Список свойств и зависимостей всех параметров, влияющих на конечный результат неограниченно велик, однако для получения вполне приличных результатов стоит лишь уяснить немногие правила и приемы.
Для начала ограничимся детальным рассмотрением лишь трёх базовых материалов Мах (из десяти). Это Standard (Обычный), Multi/Sub-Object (Составной) и Raytraced (Трассируемый), причём материал Standard достаточен для подавляющего большинства случаев реалистичной визуализации. Однако оговоримся сразу - любой действительно реалистичный материал можно создать лишь при использовании текстурных карт, что и будет рассмотрено во второй части этой главы. Остановимся подробнее на Редакторе материалов - основном инструменте «материальной» среды Мах.
Вызов Material Editor (Редактора Материалов) осуществляется через пункт падающего меню, но все же удобнее использовать функциональную кнопку в Main Toolbar (Основной Панели). Обратите внимание на ключевые моменты этого нового окна (рис. 7.01).
Основной рабочей зоной является область ячеек образцов. По умолчанию их 6. Для просмотра остальных 18-ти служит горизонтальная и вертикальная прокрутки. Каждая из ячеек содержит визуализированный образец материала, и активная ячейка имеет белую рамку по периметру. Материал может быть назначен в сцене хотя бы одному объекту, тогда уголки ячейки будут срезаны.
Причем если объект, содержащий указанный материал, выделен, то уголки будут залиты белым цветом. Если же материал не назначен ни одному объекту, то уголки ячейки прямые, без скосов (рис. 7.02 а, b, с, d).
РИСУНОК 7.01. Редактор Материалов
РИСУНОК 7.02 а, b, с, d. Ячейки образцов материалов
Все остальные зоны свитков, прокруток и управляющих кнопок служат для настройки различных параметров, влияющих на финальный вид материала в сцене. Активная ячейка выбирается левым щелчком. Для изменения числа видимых ячеек материалов (или 53=15, или 64=24) нужно вызвать меню настройки правым щелчком на активной ячейке (рис. 7.03). Используя пункты этого меню, можно полностью адаптировать область ячеек материалов по своему вкусу.
РИСУНОК 7.03. Меню настройки изменения числа ячеек
Для управления и настройки многочисленных параметров Редактора Материалов предназначены горизонтальный и вертикальный Toolbars (Панели Инструментов), расположенные снизу и справа от поля ячеек материалов (рис. 7.04).
РИСУНОК 7.04. Панель Инструментов Редактора Материалов Ниже приводится краткий обзор функциональных кнопок и их описания.
Для набора имени материала следует использовать список имен, причем лучше не применять генерируемые Мах имена материалов и текстурных карт типа Material #1, Map #1 и т.д., а именовать подробнее и информативнее - Dark Plastic, Gold Metal и т.п.
Для выбора Туре (Типа) материала нужно использовать кнопку выбора, расположенную слева от списка имен. При нажатии вызывается окно выбора типов Material / Map Browser (Просмотрщик Материалов / Текстур).
Один из базовых материалов Мах, наиболее часто применяемых и используемых при визуализации довольно сложных сцен - это материал Standard (Обычный). Основные параметры материала сгруппированы в несколько свитков. Мы рассмотрим детально каждую группу и влияние того или иного параметра на финальный вид материала.
Из списка основных типов тонированной окраски (рис. 7.05) прежде всего, выбирается требуемый вариант, наиболее подходящий для задуманного материала. Всего их семь; рассмотрим случаи применения каждого из них:
РИСУНОК 7.05. Свиток Shader Basic Parameters (Базовые Параметры Тонирования)
Blinn (Алгоритм Блинна). Oren-Nayar-Blinn (Алгоритм Оурена-Наяра--Блинна), Phong (Алгоритм Фонга) - основные типы тонированной окраски, применяемые во многих материалах. Эти типы подойдут для пластика, дерева, камня, керамической плитки, матового стекла, резины и многих других. Основное различие каждого из этих трех методов - способ формирования, интенсивность, уровень размытия зеркального блика (рис. 7.06 а, b, с).
а
b
c
РИСУНОК 7.06 а, b, с. Окраска по Блинну (а), по Оурену-Наяру-Блинну (Ь), по Фонгу (с)
Metal (Металл), Strauss (Алгоритм Штрауса) - типы окраски, идеально подходящие для полированных поверхностей (металл, стекло). Однако их редко можно удачно применять без использования текстурных карт типа Bump (Рельеф) и Reflection (Отражение) (рис. 7.07 а, Ь).
a
b
РИСУНОК 7.07 а, b. Металлическая окраска (а) окраска по Штраусу (b)
Multi-Layer (Многослойность), Anisotropic (Анизотропия) - особые типы тонирования, главной отличительной чертой которых является возможность управлять формой и углом поворота зеркальных бликов. Самый яркий пример материалов на основе этих методов - поверхность лазерного диска и грубо шлифованный металлический лист (рис. 7.08 а, b).
a
b
РИСУНОК 7.08 а, b. Многослойная (а) и Анизотропная (b) типы окраски
Дополнительная группа флажков (рис. 7.05) влияет на такие параметры любого способа тонирования, как:
a
b
c
РИСУНОК 7.09 а, b, с . Виды визуализации материалов:
Wire (Каркасный) (a), Face Map (Граневая Карта) (b), и Faceted (Граневый) (d)
В зависимости от выбранного типа тонирования свиток Basic Parameters (Базовые Параметры) приобретает тот или иной вид.
Прежде всего, следует настроить цветовые составляющие создаваемого материала (рис. 7.10). Это Ambient (Окружающий), Diffuse (Рассеянный) и Specular (Зеркальный) цвета.
РИСУНОК 7.10. Свиток Blinn Basic Parameters (Базовые Параметры Тонирования по Блинну)
Для изменения любой из этих компонент необходимо использовать окно Color Selector (Выбор Цвета); его вызов выполняется левым щелчком на соответствующей кнопке (рис. 7.11).
РИСУНОК 7.11. Диалоговое окно Color Selector (Выбор Цвета)
Используйте шкалу Hue (Оттенок) для изменения цвета без нарушения соотношения яркость / контрастность; шкала Saturation (Насыщенность) удобна для усиления / ослабления цвета; кнопка Reset для отмены последних изменений в цветовых настройках.
Для связывания изменений одновременно в Ambient, Diffuse, Specular нужно включить соответствующую кнопку блокировки. Каждая из цветовых составляющих может быть связана с картой текстуры, для вызо- г-з ва настроек которой служат рельефные кнопки, расположенные справа от цветных.
Для настроек зеркального блика служит подраздел Specular Highlights (Зеркальные Блики).
Для установки размера и яркости зеркального блика служат два параметра -Specular Level (Уровень Блеска) и Glossiness (Глянцевость). Обычно достичь требуемых результатов удается только при совместном множественном использовании этих обоих счетчиков. Параметр Soften (Смягчение) - позволяет сгладить слишком жесткий и «колючий» зеркальный блик при установке счетчика в значение от 0.5 до 1.0.
Следующая группа параметров Self-Illumination (Самосвечение) позволяет варьировать собственным свечением материала. Если требуется чисто визуальная настройка, то нужно использовать флажок Color (Цвет) вместе с палитрой, расположенной справа. Для точной настройки по значению счетчика флажок следует отключить (рис. 7.12 а, b).
РИСУНОК 7.12 а, b. Два способа задания Самосвечения
И последний счетчик - Opacity (Непрозрачность) позволяет настраивать значения прозрачности материала. Значения счетчиков Самосвечения и Непрозрачности находятся в диапазоне от 0 до 100 единиц, причем нулевое значение соответствует полностью самосветящемуся и прозрачному материалам.
Описанные группы параметров полностью совпадают у всех трех типов тонирования, упомянутых ранее. Однако алгоритм Оурена-Наяра-Блинна имеет одну дополнительную группу настроек - Advanced Diffuse (Расширенное Рассеивание) (рис. 7.13). В него входят два счетчика Diffuse Level (Уровень Рассеивания) и Roughness (Шероховатость), дающие большую гибкость при отладке соотношения освещенной и теневой сторон материала.
РИСУНОК 7.13. Свиток Oren-Nayar-Blinn Basic Parameters (Базовые Параметры Тонирования по Оурену-Наяру-Блинну)
Все группы кнопок и счетчиков, имеющие справа рельефную дополнительную кнопку, могут сопоставляться с набором текстурных карт для расширенного управления и отладки. При отсутствии канала текстуры эти кнопки не имеют никаких надписей. Если канал создан, то кнопка содержит литеру «М» или «т», в зависимости от того, активен или нет этот канал.
Настройка базовых параметров тонирования Metal (Металл) (рис. 7.14) в целом сходна с методами, описанными выше. Основное различие состоит в отсутствии отдельного канала Specular (Зеркальный Блик). Это связано со свойствами металлоподобных поверхностей, у которых цвет блика не может задаваться материалом. Также характерно отсутствие счетчика Soften (Смягчение). Вообще, при имитации металлических материалов решающее значение имеют две основных цветовых компоненты - Ambient (Окружающий) и Diffuse (Расеяный)
РИСУНОК 7.14. Свиток Metal Basic Parameters (Базовые Параметры Металлического типа Тонирования)
Вариант Strauss (Алгоритм Штрауса) в целом сходен с типом Metal и представляет собой его упрощенную копию.
Остальные типы тонирования являются узко специализированными для особо редких случаев имитаций сложных материалов, поэтому на их рассмотрении останавливаться не будем.
Основное назначение группы Extended Parameters (Расширенные Параметры) (рис. 7.15) настройки типов непрозрачности, регулировка отражений и толщины каркаса при использовании Wire (Каркасного) типа визуализации материала.
Группа параметров Advanced Transparency (Дополнительная Регулировка Прозрачности) включает в себя переключатели Falloff (Спад) и Туре (Тип Прозрачности). Первый из них используется для создания материалов с неоднородной прозрачностью, основанной на угле зрения наблюдателя; эта неоднородная прозрачность может быть In (Внутренняя) (рис. 7.16 а) или Out (Наружная) (рис. 7.16 b) и иметь значение в диапазоне от 0 до 100 единиц. Переключатель Туре (Тип Прозрачности) позволяет задать способ отображения прозрачных материалов через канал цвета Filter (Фильтр), Add (Добавляющий) и Sub (Убавляющий).
РИСУНОК 7.15. Cвитик Extended Parameters
a
b
РИСУНОК 7.16 а, b. Виды неоднородной прозрачности
Две группы, особенности которых мы разбирать не будем, оставив значения по умолчанию как базовые.
Оставшийся свиток Maps (Текстурные Карты) мы рассмотрим далее, после выполнения практикума по Редактору Материалов.
1. Загрузите с сайта издательства файл Mat-01.MAX из каталога. Первоначально все объекты сцены (9 одинаковых сфер) не имеют назначенных материалов и отображаются одинаковым текущим цветом стандартной палитры Мах (рис. 7.17).
2. Выберите объект с именем Sphere-01 и вызовите Редактор Материалов. Активизируйте левым щелчком ячейку с материалом Material #1 и в списке с именем наберите создаваемый тип - «Синий Пластик».
Затем в свитке Shader Basic Parameter выберите тип тонирования - Phong, а в Phong Basic Parameter включите блокировку цветовых компонент Ambient и Diffuse, и левым щелчком на любой из этих цветовых кнопок вызовите палитру Color Selector (Выбор Цвета).
Установите счетчики трех цветовых составляющих Red-Green-Blue (Красный-Зеленый-Синий) соответственно в значения 30-30-150. Не выключая палитры цветов, левым щелчком выберите цветную кнопку Specular (Зеркальный Блик) и сделайте новые настройки трех счетчиков 255-255-255 (чисто-белый Зеркальный Блик). Далее в подразделе Specular Highlights наберите значения трем счетчикам: Specular Level - 110, Glossiness - 39 и Soften - 0.55. И, наконец, в группе Self-Illumination выключите флажок Color и установите счетчик на 10 единиц. Теперь первый упрощенный материал «Синий Пластик» готов к назначению выбранному объекту. Выполните эту операцию кнопкой Assign Material to Selection (Назначить Материал Выделению).
РИСУНОК 7.17. Все объекты сцены не имеют материалов
3. Чтобы использовать новый материал в других сценах, занесите его в текущую библиотеку материалов нажатием кнопки Put to Library (Занести в Библиотеку), подтвердив ввод через диалоговое окно (рис. 7.18).
РИСУНОК 7.18. Внесение материала в Библиотеку
Для проверки результатов можно вызвать Material / Map Browser нажатием на кнопку Get Material (рис. 7.19), где результаты работы станут видны после установки переключателя Browse From (Просмотр Из) в Mtl Library (Библиотека Материалов).
РИСУНОК 7.19. Просмотр Библиотеки Материалов
Для сохранения изменений на диск следует выбрать кнопку Save (Сохранить) из набора File (Данные) и указать имя библиотеки в диалоговом окне Save Material Library (Сохранить Библиотеку Материалов) (рис. 7.20).
РИСУНОК 7.20. Сохранение Библиотеки Материалов на диск
5. Теперь по образу и подобию первого материала создадим «Желтый Пластик» и «Красный Пластик».
Для того, чтобы скопировать исходный материал «Синий Пластик», просто перетащите ячейку с синей сферой в соседнюю. Таким образом, мы получим полную копию первой ячейки, включая и имя материала.
Изменим его на «Желтый Пластик» и назначим сфере с именем Sphere-02, предварительно выбрав ее левым щелчком.
Интерактивный визуализатор отображает изменения основных цветов материалов в реальном времени, поэтому, когда, применив палитру цветов, мы сделаем «Желтый Пластик» желтым, результаты проявятся мгновенно.
Попробуйте установить желтый цвет Ambient и Diffuse, используя движки Hue (Оттенок). Blackness (Чернота) и Whiteness (Разбеленность) в палитре Color Selector.
6. Аналогично предыдущему, создайте материал «Красный Пластик» и назначьте его объекту Sphere-03.
Не забудьте занести в библиотеку новые материалы и сохранить результаты на диск. Кроме того, не забывайте периодически сохранять полные результаты в файл проекта в каталог \Scenes на вашем жестком диске.
7. Для оценки полученных результатов выполните пробный Render (Визуализацию), вызвав обсчет соответствующей кнопкой из Main Toolbar (Основной Панели) (рис. 7.21).
РИСУНОК 7.21. Визуализация созданных материалов, назначенных первым трем сферам
1. Сделайте активной ячейку с материалом Material #7 и выберите тип тонирования Blinn.
Далее включите фон кнопкой Background на вертикальном наборе инструментов Редактора Материалов.
2. Затем включите флажок 2-Sided (Двусторонний) в разделе Shader Basic Parameters. Установите следующие значения цветовым компонентам: Ambient- Red: 25, Green: 27, Blue: 27; Diffuse - Red: 49, Green: 62, Blue: 160; Specular- Red: 255, Green: 255, Blue: 255. Настройте параметры Зеркального Блика: Specular Level - 125 единиц, Glossiness - 39, Soften - 0.1 и величину прозрачности Opacity- 15 единиц.
3. Раскройте свиток Extended Parameters и задайте Туре (Тип Прозрачности) - Filter, дополнительно настроив цвет фильтрации -Red: 65, Green: 135, Blue: 225.
4. Теперь остается только лишь задать имя новому материалу -«Стекло Обычное» и, назначив его объекту Sphere-04, сохранить в библиотеке материалов. Сделайте две копии этого материала с именами «Стекло Тонированное» и «Капля Водяная» в соседние ячейки.
5. Активизируйте первую из них и установите следующие параметры: Specular- Red: 175, Green: 175, Blue:205; Opacity - 50; Filter - Red: 52, Green: 32, Blue: 65; Falloff - In, Amt:75.
Значения для второй ячейки: Ambient и Diffuse - Red: 115, Green: 170, Blue: 250; Opacity - 80; Specular Level - 125 единиц, Glossiness - 40, Soften - 0.65; Filter - Red: 100, Green: 190, Blue: 250; Falloff-Out. Amt: 100.
РИСУНОК 7.22. Визуализация полупрозрачных материалов
6. Назначьте эти материалы соответственно объектам Sphere-05 и Sphere-06. Однако не спешите выполнять пробный Render (Визуализацию), так как для более характерного просмотра полученных результатов следует задать Background (Фон), отличный от принятого по умолчанию в Мах черного цвета. Для этого через пункт Environment (Окружение) падающее меню Rendering (Визуализация) в разделе Common Parameters установите Color (Цвет Фона) 100-100-100. Теперь вы можете просмотреть визуализацию трех прозрачных сфер (рис. 7.22).
Рассмотренный ранее тип материала Standard (Обычный) подходит для большинства возможных случаев имитации натуральных материалов. Однако следует рассмотреть и другие, менее часто используемые типы - Multi / Sub-Object (Составной) и Raytrace (Трассируемый).
Первый из них удобнее всего применять в объектах, у которых можно разделить несколько материалов по составляющим их Sub-Objects (Подобъектам).
Тип Rayrtrace применим при создании фотореалистичного вида прозрачных и отражающих материалов - стекла, воды, различных полированных металлических и неметаллических поверхностей.
1. Используя вертикальную прокрутку области ячеек образцов материалов, сделайте доступными новые ячейки с материалами Мах Material #13, Material #14 и Material #15 и активизируйте первую из них. Введите имя будущего материала - «Цветной Мяч».
2. Для изменения типа материала вызовите Material / Map Browser, нажав кнопку с надписью Standard (Обычный), расположенную рядом с полем имени материала и из списка типов выберите Multi /Sub-Object (Составной).
На запрос - «оставить ли имеющийся материал как один из компонент вновь создаваемого» - укажите - Discard Old Material (Сбросить Старый Материал) (рис. 7.23).
РИСУНОК 7.23. Подтверждение сброса материала
В результате будет получен новый, не рассматриваемый ранее тип со своими Multi / Sub-Object Basic Parameters (Основные Параметры Составного Материала) параметрами. Каждый из компонент первоначально представляет собой уже известный нам тип Standard и основная особенность этого списка материалов - это возможность назначить одному объекту несколько материалов, общее число которых задается кнопкой Set Number (Установить Число) (рис. 7.24).
РИСУНОК 7.24. Свиток Миlti/Sub-Object Basic Parameters (Основные Параметры Составного Материала)
3. Назначьте число подматериалов равное 3. Для перехода к настройке каждого из компонент достаточно нажать на соответствующую рельефную кнопку.
Попробуйте самостоятельно создать три подматериала с именами «Белый Мяч», «Красный Мяч» и «Синий Мяч» и настроить параметры каждого из них, руководствуясь их названием (рис. 7.25).
РИСУНОК 7.25. Составной материал «Цветной Мяч»
4. Примените тип тонирования Phong (Алгоритм Фонга). Для копирования одного подматериала в другой, просто перетащите рельефную кнопку с исходного материала на требуемый. Возникающее при этом диалоговое окно выбора метода копирования (рис. 7.26) следует настроить на создании Сору (Копии) материала.
В конечном итоге должен получиться составной трехкомпонент-ный материал (рис. 7.27), который вы назначите объекту Sphere-07.
РИСУНОК 7.26. Создание копии текущего материала
РИСУНОК 7.27. Образец Составного материала
Для правильной установки составного материала необходимо добавить выбранному объекту дополнительный модификатор -Edit Mesh (Редактирование Каркаса).
Перейдя в панель Modify (Редактирование), добавьте его в стек объекта Sphere-07 нажатием на рельефную кнопку в свитке Modifiers (Модификаторы).
РИСУНОК 7.28. Режим подобъектов модификатора Edit Mesh (Редактирование Каркаса)
Включив режим Sub-Objects / Polygon (рис. 7.28), необходимо последовательно выделять наборы полигонов на создаваемом мяче и назначать им соответствующий Material ID (Идентификатор Материала) в свитке Surface Properties (Свойства Поверхности) (рис. 7.29).
В результате объект Sphere-07 примет свой окончательный вид (рис. 7.30).
РИСУНОК 7.29. Назначение Material ID (Идентификатора Материала)
РИСУНОК 7.30. Сфера с Составным Материалом
6. И последний материал этого задания демонстрирует один из самых экзотических и фотореалистичных типов материала. Рассматриваемый тип Raytrace (Трассируемый) использует особый алгоритм просчета трехмерной сцены, дающий исключительно натуральный, естественный вид отображаемых материалов.
7. Выбрав из Material / Map Navigator тип Raytraced установите метод тонирования Phong, отключите в свитке Raytrace Basic
Parameters флажки Ambient, Reflect (Отражаемость) и Transparency (Прозрачность) и установите их счетчики соответственно в 65, 15 и 75 единиц.
Значения параметров Index of Refr. (Коэффициент Преломления) сделайте равным 1.7, Specular Level - 180 и Glossiness - 40 единицам. Включите флажок 2-Sided (Двусторонний), введите имя нового материала - «Вода Чистая» и назначьте его объекту Sphere-08
РИСУНОК 7.31. Окончательная визуализация
Скопируйте этот материал в соседнюю справа ячейку, переименуйте его - «Вода Тяжелая» и измените один единственный параметр - Index of Refr. на 0.97.
Теперь можно запустить обсчет вновь созданной сцены для проверки полученных результатов (рис. 7.31).
Как видно из финального кадра, изменяя Index of Refr. (Коэффициент Преломления) можно искусственно уменьшать глубину преломлений у объектов с материалом типа Raytrace и тем самым влиять на общую «цельность» получаемой «картинки».
Отдельный свиток Maps (Текстурные Карты) содержит набор счетчиков, рельефных кнопок и флажков со списком каналов оптических свойств материала (рис. 8.01).
РИСУНОК 8.01. Свиток Maps (Текстурные Карты)
Каждый из элементов списка управляется флажком состояния - Включен / Выключен, и счетчиком соотношения влияния текстурной карты - обычно от 0 до 100 единиц.
Выбор типа текстурной карты производится соответствующей кнопкой. Эти рельефные кнопки имеют надпись используемой карты текстуры, и их нажатие вызывает новый набор свитков с настраиваемыми параметрами. Если рельефная кнопка имеет надпись None (Ничего), то назначение карты текстуры отсутствует, и нажатие такой кнопки вызывает Material / Map Browser (Просмотрщик Материалов / Текстурных Карт) (рис. 8.02).
РИСУНОК 8.02. Диалоговое окно Material /Map Browser (Просмотрщик Материалов / Текстурных Карт)
Ниже приводится список каналов, которыми можно управлять:
Применение текстурных карт в этих каналах позволяет активно влиять на общий оттенок подсвеченных, теневых и бликующих частей объекта.
Способ отображения текстуры на поверхности объекта зависит от метода приложения или Mapping (Проецирования). Всего при наложении отражений этих способов 4 - Spherical (Сферический), Cylindrical (Цилиндрический), Shrink Wrap (Обернутый) и Screen (Плоскоэкранный). Наиболее близок к реальной жизни тип Shrink Wrap, дающий минимальные искажения и деформации текстурных карт на поверхности объекта.
Остальные каналы имеют более редкое применение и детально останавливаться на их особенностях мы не будем.
Все используемые текстурные карты должны проецироваться на поверхность объекта. Эта процедура в Мах называется Mapping (Проецирование Карты) и задается приложением модификатора UVW Map (UVW Карта). Некоторые типы стандартных объектов Мах или объекты, полученные процессом Loft (Формование) генерируют координаты проецирования самостоятельно на основании собственной осевой геометрии, и поэтому не требуют этот модификатор для правильного отображения текстур. Однако это свойство используется все же реже, чем стандартное проецирование. Рассмотрим особенности модификатора UVW Map (UVW Карта).
Для назначения объекту модификатора нужно выбрать UVW Map из общего списка панели Modify (Редактирование). В стек объекта будет добавлен новый модификатор, имеющий Gizmo (Габаритный Контейнер) темно-оранжевого цвета, отображающий тип проецирования и его габаритные размеры.
Все настройки и переключатели сосредоточены в свитке Parameters (Параметры) (рис. 8.03).
РИСУНОК 8.03. Свиток Parameters (Параметры) модификатора UVWMap (UVWКарта)
Выбор типа проецирования текстурных карт производится группой переключателей в разделе Mapping.
Ниже приводятся основные свойства и особенности типов проецирования: Planar (Плоское) - применяется к объектам типа плоскостей или им подобным. Проецирование текстуры без нежелательных искажений и деформаций происходит только в плоскости Alignment (Выравнивания) (рис. 8.04 а, b).
РИСУНОК 8.04 a. Planar (Плоское) Проецирование
РИСУНОК 8.04 b. Визуализация Planar (Плоского) Проецирования
РИСУНОК 8.05 a. Cylindrical (Цилиндрическое) Проецирование
Флажок Сар (Срез) позволяет дополнительно проецировать карту на верхний и нижний торцы (рис. 8.05 а, b).
РИСУНОК 8.05 b. Визуализация Cylindrical (Цилиндрического) Проецирования
РИСУНОК 8.06 a. Spherical (Сферическое) Проецирование
Имеется небольшой неустранимый дефект в виде деформаций текстуры у полюсов, свойственный только этому типу проецирования (рис. 8.06 а, b).
РИСУНОК 8.06 b. Визуализация Spherical (Сферического/ Проецирования
РИСУНОК 8.07. Визуализация Shrink-Wrap (Обернутого) Проецирования
РИСУНОК 8.08 a. Box (Коробочное) Проецирование
РИСУНОК 8.08 b. Визуализация Box (Коробочного) Проецирования
Для точной настройки габаритов UVW Map служат счетчики Length (Длина), Width (Ширина) и Height (Высота), число повторений по каждой из осей задается счетчиками U-V-W Tile (Мозаика), а зеркальное отображение флажками Flip (Перевернуть). Идентификатор канала проецирования выбирается счетчиком Map Channel (Канал Карты) для более одного модификатора UVW Map, приложенного к объекту.
И, наконец, подгруппа Alignment (Выравнивание) позволяет управлять ориентацией и точными размерами Gizmo (Габаритного Контейнера) модификатора UVW Map.
Теперь вернемся в Редактор Материалов и рассмотрим назначение и виды текстурных карт.
Самый применяемый тип текстуры из всех имеющихся в среде Мах. Растровые (или битовые) карты - представляют собой файлы изображения, сохраненные на жесткий или лазерный диск в одном из графических форматов.
Мах поддерживает почти все популярные современные форматы графики. Существует наиболее общее разделение этих форматов на Stills (Неподвижные) кадры, - например .JPG, .TGA или .TIFF, и Animated (Анимированные) - потоковые движущиеся последовательности, представленные или одним файлом (.AVI или .MOV), или нумерованным набором файлов (FileOOOO.JPG, File0001 JPG,... File0100..JPG). Основной характеристикой любого из них является Resolution (Разрешение) - размер по горизонтали и вертикали и Color Depth (Глубина Цвета) - количество градаций цвета или серого тона, использованного при создании карты.
Создавать текстурные карты можно, используя широкий набор программ компьютерного рисования (Adobe Photoshop, Metacreation Painter и др.), сканируя фотографии и иллюстрации с помощью планшетного или ручного сканнера, «захватывая» отдельные кадры и целые видеопоследовательности с использованием систем настольной видеообработки.
Можно использовать богатейший набор электронных изображений, бесплатно распространяемый через Интернет многими фирмами и просто энтузиастами.
Остановимся подробнее на группах параметров текстурных карт типа Bitmap (Растровая Карта).
Существует два вида координат при использовании типа Bitmap - Texture (Текстурная Карта) и Environment (Карта Окружения) (рис. 8.09).
РИСУНОК 8.09. Свиток Coordinates (Координаты)
Первый из них применим для большинства каналов, описанных ранее, второй в основном используется в каналах Reflection (Отражение) и Refraction (Преломление). Геометрический способ проецирования текстуры выбирается из дополнительного списка.
Далее следует обратить внимание на счетчики Offset (Смещение) и Tiling (Мозаика Повторений), отвечающих за позиционирование карты и ее повторяемость, а также переключатели Mirror (Зеркальность) и Tile (Мозаика). Плоскость проецирования UV / VW / WU выбирается из соответствующего переключателя, а величина поворота вокруг трех локальных осей задается счетчиками Angle (Угол Поворота) в градусах. Blur (Степень Размытия) и Blur Offset (Смещение Размытия) влияют на уровень четкости применяемой текстурной карты. Отдельно устанавливается идентификатор канала приложения карты, выбираемый в модификаторе UVW Map (UVW Карта), если предполагается использование более одного типа проецирования. Флажок Show Map on Back (Показывать Карту на Тыльных Гранях) управляет видимостью текстур.
Главная группа параметров текстур типа Bitmap содержит кнопку выбора файла текстуры и список переключателей Filtering (Фильтрация), отвечающих за степень сглаженности при масштабировании карты (рис. 8.11 а).
РИСУНОК 8.11 а. Свиток Bitmap Parameters (Параметры Растровой Карты)
Указание файла текстуры осуществляется в диалоговом окне Select Bitmap Image File (Выберите Файл Растровой Текстуры), вызываемого рельефной кнопкой Bitmap (рис. 8.11 b).
РИСУНОК 8.11 b. Указание файла Текстуры
Для оптимального отображения следует выбрать тип фильтрации Summed Area (Усовершенствованный Алгоритм Фильтрации).
Рельефная кнопка View Image (Режим Просмотра) вызывает интерактивное окно с образцом используемой текстурной карты (рис. 8.12).
РИСУНОК 8.12. Просмотр изображения Текстуры
Значения переключателей подгруппы Mono / RGB Channel Output (Черно-белый / Цветной Канал Вывода) и Alpha Source (Источник Силуэтного Изображения) обычно оставляют в положении «по умолчанию».
Параметры этого свитка влияют на анимационные последовательности, используемые в качестве текстурных карт.
Группа флажков и счетчиков этого свитка дают гибкий инструмент по дополнительной настройке текстурной карты (рис. 8.13).
Наиболее применимым является флажок Invert (Негатив), изменяющий карту на негативную. Счетчики Output Amount (Величина Вывода) и RGB Level
(Уровень Цвета) позволяют влиять на яркость / контрастность карты, a RGB Offset (Цветовое Смещение) - корректировать цветовую гамму. Очень удобен и функционален параметр Bump Amount (Высота Рельефа), воздействующий только на текстурные карты в канале Bump (Рельеф) и дающий возможность значительно усиливать профиль рельефа.
РИСУНОК 8.13. Свиток Output (Вывод)
Одним из самых серьезных недостатков карт типа Bitmap является их ограниченность Ё пространстве и отсюда нереальность, несоответствие натуральному виду материалов реального мира. Действительно, можно сделать их бесшовными и установить параметром Tile (Мозаика) необходимое число повторений, однако чаще всего однородность такой текстуры видна даже непрофессиональному глазу. Как вариант решения этой проблемы были разработаны карты Procedural (Процедурные или Параметрические). Такие текстуры представлены в Max 2D и 3D (Дву- и Трехмерными) картами. Рассмотрим некоторые из них.
Checker (Шахматы) - представляет собой черно-белое (по умолчанию) поле, в котором возможна как корректировка двух составляющих цветов, так и замена их на дополнительные карты текстур. Параметр Soften (Смягчение) управляет четкостью границ в местах перехода от цвета №1 к цвету №2 (рис. 8.14).
РИСУНОК 8.14. Образец Текстуры Checker (Шахматы)
РИСУНОК 8.15. Образец Текстуры Gradient (Растяжка)
РИСУНОК 8.16. Образец Текстуры Swirl (Завихрение)
Свиток Smoke Parameters (Параметры Дыма) позволяет изменять Size (Размер Клубов Дыма), Iterations (Степень Перемешанности) и Exponent (Показатель Плавности). Анимация карты задается счетчиком Phase (Фазовый Сдвиг) (рис. 8.18).
РИСУНОК 8.17. Образец Текстуры Noise (Нерегулярность)
РИСУНОК 8.18. Образец Текстуры Smoke (Дым)
И, наконец, настройка цветов или их замена текстурными картами выполняется соответствующими цветными или рельефными кнопками (рис. 8.19).
РИСУНОК 8.19. Образец Текстуры Water (Вода)
Внешний вид настраивается счетчиками Grain Thickness (Крупность Волокон), Radial Noise (Круговая Нерегулярность) и Axial Noise (Линейная Нерегулярность) (рис. 8.20).
РИСУНОК 8.20. Образец Текстуры Wood (Древесина)
РИСУНОК 8.21. Образец Текстуры Cellular (Ячейки)
РИСУНОК 8.22 а. Образец Текстуры Marble (Мрамор)
РИСУНОК 8.22 b. Образец Текстуры Perlin Marble (Перламутр)
РИСУНОК 8.23. Образец Текстуры Dent (Выбоины)
РИСУНОК 8.24. Образец Текстуры Falloff (Спад)
Основное удобство применения трехмерных текстур состоит в отсутствии необходимости следить за Mapping (Проецированием) на поверхностях сложных объектов (особенно торцах), бесконечной протяженностью этих карт по всем координатам (и потому дающих материалу неповторяемый вид), компактностью их хранения и переноса.
Отдельный набор текстурных карт, организующих наложения и объединения других текстур в сложные составные карты, который выделен в группу Compositors (Многокомпонентные). Их применение необходимо в материалах с усложненной иерархией связей и избавляет от необходимости дополнительной обработки исходных файлов в растровых редакторах типа Adobe Photoshop.
РИСУНОК 8.25. Параметры Текстуры Mask (Маска)
Способ маскирования основан на правиле, уже упоминавшемся ранее: все пикселы Маски черного цвета (интенсивность 0 единиц) считаются прозрачными, все белые (интенсивность 255 единиц) - полностью непрозрачными. Промежуточные значения интерполируются. Для файлов Масок следует использовать черно-белые изображения типа Grayscale (Градации Серого), так как важна лишь яркостная информация.
РИСУНОК 8.26. Параметры Текстуры Composite (Смесь)
Прозрачность компонентов может быть задана как с использованием типа карты Mask (Маска), так и с использованием типа Bitmap (Растровая Карта) в файловом формате, предполагающем наличие Alpha Channel (Силуэтного Канала) - специальной информации о прозрачности, которой обладают, например, 32-битные файлы .TGA.
РИСУНОК 8.27. Параметры Текстуры Mix (Смешение)
Существует возможность задавать Mixing Curve (Кривую Смешения) в свитке Mix Parameters (Параметры Смешения) (рис. 8.27).
РИСУНОК 8.28. Параметры Текстуры RGB Tint (Цветовой Оттенок)
В отличие от типов карт, описанных ранее в этой главе, текстура Raytrace может быть использована и в канале Reflection (Отражение), причем алгоритм обсчета отражений отличается повышенным фотореализмом, хотя и более продолжителен по времени.
Если текстура Thin Wall Refraction (Тонкостенное Преломление), рассматриваемая далее, удобна например, для создания материала пустых стеклянных бокалов и графина, то тип карт Raytrace незаменим, если вся эта посуда наполнена.
Подгруппа параметров Refraction (Преломление) из свитка Thin Wall Refraction Parameters (Параметры Тонкостенного Преломления) позволяет установить Thickness Offset (Оптический Сдвиг) - толщину смещения преломлений, и задать Bump Map Effect (Влияние Карты Рельефа) - степень искажений преломляемых лучей неровностями рельефа, которые генерируются текстурами канала Bump (Рельеф).
1. Загрузите с сайта издательства файл SandClock.MAX из каталога и в видовых экранах отобразится довольно простая и ненасыщенная объектами сцена. Угол зрения камеры, основной и рефлексный источники света уже настроены. Однако материалы не созданы и не назначены ни одному из объектов, все они отображаются стандартным цветом основной палитры Мах (рис. 8.29).
РИСУНОК 8.29. Общий вид редактируемой сцены
2. Выберите левым щелчком объект «Часы-Колба» (или попробуйте осуществить этот выбор, используя кнопку Select By Name (Выбор по Имени) (рис. 8.30) в Main ToolBar (Основной Панели)) и запустите Редактор Материалов.
РИСУНОК 8.30. Выбор объекта по имени
Первоначально необходимо настроить базовые характеристики материала для стеклянной колбы песочных часов - назначить имя,
установить цветовые компоненты, прозрачность, самосвечение, параметры зеркального блика и т.д. Попробуйте сделать это самостоятельно, используя в качестве справочного материала содержание предыдущего практикума и сводную таблицу основных характеристик:
Свиток Phong Basic Parameters (Базовые Параметры Тонирования)
3. Далее рассмотрим более подробно работу со свитком Maps (Текстурные Карты). Для придания большего реализма стеклянному материалу колбы следует назначить карту отражений и настроить их силу и степень размытия. Активизируйте канал Reflection (Отражение) и перейдите к настройке его параметров. Для этого необходимо сделать левый щелчок на рельефной кнопке в соответствующей строке свитка Maps - произойдет вызов Material / Map Browser (Просмотрщика Материалов и Текстурных Карт). Произведите выбор типа текстуры Bitmap (Растровая Карта) из общего списка карт Мах.
4. Загрузите с сайта издательства файл BW-Back-Blur.GIF и, вызовите диалоговое окно Select Bitmap Image File (Выберите Файл Растровой Текстуры), (рис. 8.31).
РИСУНОК 8.31. Текстурная Карта канала Отражений
Включите флажок Preview (Просмотр), если он отключен, для быстрого показа уменьшенного изображения выбираемой карты (рис. 8.32).
РИСУНОК 8.32. Функция показа уменьшенного файла Текстуры
После нажатия на кнопку Открыть будет загружен список параметров для настройки Bitmap (Растровой Карты). В свитке Coordinates (Координаты) установите тип проецирования Environment (Окружающий) и выберите метод Cylindrical (Цилиндрический), так как объект «Часы-Колба» по форме лучше всего вписывается в цилиндр.
5. Перейдите к свитку Bitmap Parameters (Параметры Растровой Карты) и укажите Filtering (Способ Фильтрации) - Summed Area (Усовершенствованный Алгоритм Фильтрации). Через кнопку Go To Parent (Вернуться к Составному Материалу) перейдите к свитку Maps (Карты) и установите значение счетчика канала Reflection (Отражение) в 45 единиц (рис. 8.33).
РИСУНОК 8.33. Настройки канала Reflection (Отражение)
Остается только назначить созданный материал (рис. 8.34) выбранному объекту и выполнить обсчет кадра сцены для предварительного просмотра полученных результатов (рис. 8.35).
РИСУНОК 8.34. Образец стеклянного материала
6. Теперь выберите объект «Подставка» и активизируйте свободную ячейку в Редакторе Материалов. Попробуем создать материал, имитирующий природный камень и имеющий различную сте-
пень обработки граней. Для этого нам потребуется применение материала Multi / Sub-Object (Составной). Этот тип выбирается из списка основных материалов нажатием на рельефную кнопку с префиксом Туре (Тип) под горизонтальным Toolbar (Набором Средств) в Редакторе Материалов и подтверждением в Material / Map Browser (Просмотрщике Материалов и Текстурных Карт).
В свитке Multi / Sub-Object Basic Parameters (Базовые Параметры Составного Материала) необходимо указать число под-материалов, равное 2, используя кнопку Set Number (Установить Число), причем каждый подматериал в списке приобретает Material ID (Идентификатор Подматериала), равный его порядковому номеру. Этот номер будет использоваться при назначении разных подматериалов отдельным наборам граней.
РИСУНОК 8.35. Визуализация стеклянной колбы Часов в составе сцены
7. Назовите вновь созданный материал «Камень Светлый» и перейдите к настройке его первого компонента. Все изменяемые параметры сведены в таблицу:
Свиток Phong Basic Parameters (Базовые Параметры Тонирования)
Следует заметить, что при неактивности канала текстур Opacity (Непрозрачность), или при значении одноименного счетчика в свитке Basic Parameters равном 100, тип прозрачности и настройки цвета материала типа Filter (Фильтр) не имеют значения.
РИСУНОК 8.36. Текстурная Карта канала Цвета
8. Далее, вновь подробнее, остановимся на свитке Maps (Карты). Используйте рассмотренный ранее тип Bitmap (Растровая Карта) в канале Diffuse Color (Рассеяний Цвет). Выберите файл Newdone.JPG (рис. 8.36), который можно загрузить с сайта издательства, и установите в свитке Coordinates тип проецирования текстуры Texture (Текстура) в значение Explicit Map Channel (Непосредственное Проецирование), а в свитке Bitmap Parameters Filtering (Тип Фильтрации) - в Summed Area. Вернувшись к свитку Maps, назначьте счетчик влияния карты канала Diffuse Color в 50 единиц.
9. Для канала Reflection (Отражение) примените другой тип текстурной карты, ранее не использовавшийся - Flat Mirror (Плоскость Зеркала). После выбора этого типа и установки счетчика влияния канала Reflection в 70 единиц, необходимо вернуться к общему списку подматериалов нашего материала «Камень Светлый», используя кнопку Go To Parent (Вернуться к Составному Материалу). Теперь необходимо скопировать первый материал, названный нами «Зеркальный» в ячейку второго материала, для чего достаточно перетащить рельефную кнопку исходного на копируемый и указать способ копирования - Сору (Создать Копию). Затем следует перейти к новому подматериалу и изменить имя на «Матовый», а также отменить действие текстуры в канале Reflection (Отражение), просто отключив соответствующий флажок (рис. 8.37).
РИСУНОК 8.37. Настройки канала Reflection (Отражение)
В результате получится составной двухкомпонентный материал «Камень Светлый», у которого один из подматериалов отражает объекты сцены, а второй - нет.
10. Далее необходимо назначить материал выбранному объекту и из Редактора Материалов перейти к панели Modify (Редактирование) объекта «Подставка».
В стек модификаторов необходимо добавить два новых - Edit Mesh (Изменить Каркас) и UVW Mapping (UVW Проецирование). После добавления первого переключитесь в режим Sub-Object (По-добъект) Polygon (Плоскость) и, выбрав верхнюю плоскость параллелепипеда (рис. 8.38) в свитке Surface Properties (Свойства Поверхности), в разделе Material счетчику ID (Идентификатор Материала) установите значение, равное 1.
РИСУНОК 8.38. Выбор верхней плоскости объекта
Тем самым вы назначаете выбранной плоскости подматериал «Зеркальный» из составного материала «Камень Светлый». Далее инвертируйте выбранный набор граней, используя клавиатурное сочетание <Alt+I>, и введите новое значение счетчика ID, равное 2. Теперь ко всем остальным граням объекта «Подставка» присвоен подматериал «Матовый» (Material ID = 2). Выйдите из режима Sub-Object (Подобъект). выключив соответствующую модальную кнопку.
РИСУНОК 8.39. Визуализация отражающей Подставки в составе сцены
11. Затем следует добавить второй из указанных ранее модификаторов, и указать в его свитке Parameters (Параметры) тип Mapping (Тип Проецирования) - Box (Коробочный). В разделе Alignment (Ориентация) выберите ось направления текстуры - переключатель Z.
Проверьте полученный результат, выполнив еще один обсчет сцены (рис. 8.39).
Не забудьте включить в диалоговом окне Render Scene (Визуализация Сцены) флажок Auto-Reflect / Refract and Mirrors (Выполнять Автоматические Отражения / Преломления) для показа плоских отражений, примененных нами в одном из материалов (рис. 8.40).
РИСУНОК 8.40. Активизация режима показа Автоматических Отражений
12. Перейдем к следующему объекту сцены с именем «Часы-Песок» и выберем его. В свободной ячейке Редактора Материалов создадим новый материал со следующими параметрами:
13. В свитке Maps (Текстурные Карты) активизируйте канал Bump (Рельеф) и установите счетчик влияния в значение 30 единиц. Из списка типов текстурной карты выберите Noise (Нерегулярность).
Перейдя к свиткам параметров карты Noise в Noise Parameters (Параметры Нерегулярности), установите счетчик Size (Размер) в значение 0.5, а в свитке Output (Параметры Вывода) сделайте Bump Amount (Величина Рельефа) равным 5.0 единицам.
14. Теперь назначьте материал выбранному объекту кнопкой Assign Material to Selection (Назначить Материал Выделению). Обратите внимание на свиток Coordinates текстуры Noise. Список Source (Источник Проецирования) имеет значение Object XYZ (Проецирование по трем координатам Объекта) (рис. 8.41), поэтому для правильного отображения текстуры на поверхности объекта модификатор UVW Map (UVW Карта) не нужен.
РИСУНОК 8.41. Выбор типа Проецирования
15. И, наконец, разберем последний объект сцены «Часы-Верх». Его зеркальная копия типа Instance (Экземпляр) «Часы-Низ» расположена непосредственно на объекте «Подставка» и наследует все его параметры. Однако после создания материала его придется назначить каждому из них. Объект «Часы-Верх» будет содержать составной двухкомпонентный материал «Чашка Деревянная». Для разнообразия не создавайте, а загрузите этот материал с сайта издательства. Детально просмотрите примененные в них карты текстур и их настройки (рис. 8.42).
РИСУНОК 8.42. Образец Составного Материала
16. После назначения материала «Чашка Деревянная» объекту «Часы-Верх» (также как и объекту «Часы-Низ») необходимо добавить модификаторы Edit Mesh (Изменить Каркас) и UVW Map (UVW Карта), используя панель Modify (Редактирование).
РИСУНОК 8.43. Назначение Box (Коробочного) Проецирования
Первый позволит назначить выпуклому поясу и остальной части объекта разные подматериалы (соответственно: «Металл Золото» и «Дерево Красное») материала «Чашка Деревянная», а во втором необходимо выбрать тип Mapping (Проецирования) - Box (Коробочный) (рис. 8.43).
В результате будут завершены два последних объекта и финальный обсчет сцены примет свой окончательный вид (рис. 8.44).
РИСУНОК 8.44. Итоговая Визуализация сцены «Песочные Часы»
Почти все материалы полностью созданы вами самостоятельно, и как дополнительное практическое задание вы можете попробовать применить другие карты текстур или изменить значения некоторых счетчиков и прочих настроек для закрепления навыков работы с Редактором Материалов.
Перейдем к более сложному примеру, иллюстрирующему возможности материалов Мах с применением текстурных карт. Загрузите с сайта издательства файл Candle.MAX, и в раскрытом на весь экран видовом окне «Camera-Main» отобразится модель восковой свечи на декоративной подставке в окружении зеркальных ширм (рис. 8.45).
Модели этих ширм и подставки уже имеют назначенные и полностью сформированные материалы, так как они аналогичны ранее рассмотренным материалам предыдущего задания. Поэтому обратимся к созданию материалов воска свечи и язычка пламени.
РИСУНОК 8.45. Видовое окно Камеры сцены «Горящая Свеча»
1. Выберите объект с именем «Свеча-Воск» и запустите Редактор Материалов. Щелкните на кнопке Туре (Тип) для создания нового материала и в вызванном диалоговом окне Material / Map Browser (Просмотрщика Материалов и Текстурных Карт) укажите тип Standard (Стандартный).
2. Наберите имя нового материала «Свеча-Воск» и настройте следующие параметры материала:
Свиток Phong Basic Parameters (Базовые Параметры Тонирования)
Свиток Extended Parameters (Расширенные Параметры)
Свиток Maps (Текстурные Карты)
Остановимся на особенностях этого, ранее не рассматриваемого типа текстур.
Карта Gradient Ramp (Улучшенная Растяжка)
Карта Gradient Ramp (Улучшенная Растяжка или Градиент) состоит из нескольких стандартных свитков параметров аналогичных рассмотренным ранее для текстуры Bitmap (Растровая Карта) и одного специального - Gradient Ramp Parameters (Параметры Улучшенной Растяжки) (рис. 8.46), который включает в себя:
РИСУНОК 8.46. Настройки Текстуры Gradient Ramp (Улучшенная Растяжка)
Gradient Bar (Градиентную Шкалу) и Flags (Флаги-Маркеры)
интерполяции, каждому из которых соответствует конкретный цвет и линейная координата от 0 (принятой за начало текстуры) до 100 (равной конечной точке карты). Для добавления маркера необходимо выполнить левый щелчок на требуемой точке шкалы, а для редактирования маркеров - правый щелчок на нужном маркере. В последнем случае возникает контекстное меню (рис. 8.47), состоящее из следующих пунктов:
РИСУНОК 8.47. Контекстное меню Маркера
РИСУНОК 8.48. Свойства Маркера
Верхнее текстовое поле отображает номер маркера и имеет прокрутку для навигации по всем маркерам. Расположенный в средней части окна раскрывающийся список типов интерполяции настраивает вид функциональной кривой изменения цвета от маркера к маркеру, а сразу под ним кнопка Texture (Текстура) для замены картой текстуры цвета, назначенного маркеру. Цветной образец Color (Цвет) отображает текущий цвет и редактируется обычным способом.
Счетчик Position (Расположение) позволяет задать маркеру координату на Gradient Bar (Градиентной Шкале), причем первый и последний маркеры имеют жестко закрепленные позиции начала и конца Шкалы.
Вернемся к выполнению практического задания: перейдите к настройкам карты Gradient Ramp (Улучшенная Растяжка) канала Diffuse Color (Рассеянный Цвет).
3. Создайте следующий набор маркеров и их параметров:
при Linear (Линейном) типе интерполяции маркеров. Далее установите тип градиента - Linear (Линейный). В результате будет получена карта текстуры, задающая изменяющийся цвет тела свечи (рис. 8.
РИСУНОК 8.49. Текстура канала Цвета
4. Однако, кроме изменения цвета, необходимо задать изменение самосвечения тела свечи, вызванного засветкой пламени. Поэтому повторите процедуру создания текстуры Gradient Ramp (Улучшенная Растяжка) для канала Self-Illumination (Самосвечения) со следующими установками Градиентной Шкалы:
причем там, где тип интерполяции не указан, задавайте Linear (Линейный) и установите такой же тип градиента. Таким образом будет создана карта изменения самосвечения (рис. 8.50) и вам останется лишь назначить материал «Свеча-Воск» одноименному объекту сцены.
РИСУНОК 8.50. Текстура канала Самосвечения
Для правильного отображения текстурных карт на модели примените модификатор UVW Map (UVW Карта) и задайте Mapping (Тип Проецирования) как Cylindrical (Цилиндрический), а также выбрав Alignment (Ориентацию) вдоль оси X.
Для согласования размера Gizmo (Габаритного Контейнера) и объекта тела свечи вызовите команду Fit (Вписать) одноименной кнопкой из группы Alignment (Ориентация) параметров модификатора UVW Map (UVW Карта) (рис. 8.51).
РИСУНОК 8.51. Вписывание Gizmo (Габаритного Контейнера)
Далее выберите объект сцены с именем «Пламя-Свечи» материал из библиотеки Candle.MAT из каталога \Matlibs на CD. Он примечателен типом прозачности Add (Добавляющая), ранее не использовавшемся в практических заданиях, а также применением карты текстуры в канале Opacity (Непрозрачность) для создания силуэта язычка пламени свечи. Рассмотрите загруженный материал и его составные компоненты.
РИСУНОК 8.52. Текстурная Карта канала Цвета
В канале Diffuse Color (Рассеянный Цвет) применена текстурная карта типа Bitmap (Растровая Карта), использующая графический файл Flame.JPG (рис. 8.52), созданный автором в редакторе графики Adobe Photoshop на основе наблюдения за реальным пламенем.
РИСУНОК 8.53. Текстурная Карта канала Непрозрачности
Для использования в канале Opacity (Непрозрачности) это изображение было слегка отредактировано, переведено из цветного в черно-белое (градациями серого цвета) и сохранено под именем Flame-O.GIF (рис. 8.53), так как канал Непрозрачности учитывает только яркостную составляющую графического изображения.
Назначьте рассмотренный материал выбранному объекту и повторите процесс добавления модификатора UVW Map (UVW Карта), установив Mapping (Тип Проецирования) - Planar (Плоское) и задав Alignment (Ориентацию) вдоль оси Y (рис. 8.54). Теперь, когда материалы «Свеча-Воск» и «Пламя-Свечи» готовы и назначены объектам сцены, можно выполнить ее визуализацию. Однако прежде необходимо сказать несколько слов об освещении такой сцены.
РИСУНОК 8.54. Planar (Плоское) Проецирование
Свет, создаваемый реальной свечой, характеризуется переменной яркостью и изменчивым оттенком - пламя свечи постоянно колеблется и мерцает. Безусловно, это сказывается на освещаемой сцене и требует дополнительных усилий по имитации такого мерцания. Поэтому в рамках разбираемого примера мы не будем останавливаться на анимации пламени, обратив выше внимание лишь на расположение прожектора «Spot-Пламя» и его настройки (рис. 8.55).
РИСУНОК 8.55. Расположение осветителя Target Spot (Нацеленный Прожектор) для имитации света Свечи
Несовпадение координат осветителя и объекта «Пламя-Свечи» вызвано необходимостью все же имитации, а не повторения реальной сцены - их близкое расположение создавало бы большие, вытянутые падающие тени. Размеры зон Near (Ближнего) и Far (Дальнего) ослаблений светового потока источника света приблизительно совпадают с зонами градиентной текстуры тела свечи.
9. Выполните обсчет сцены «Горящая Свеча», вызвав диалоговое окно Render Scene (Визуализировать Сцену) и включив флажок Auto-Reflect / Refract and Mirrors (Автоматические Отражения / Преломления и Зеркальные Отражения).
РИСУНОК 8.56. Итоговая Визуализация сцены «Горящая Свеча»
Полученный кадр изображения имеет достаточную достоверность и сходство с реальной сценой (рис. 8.56).
Используя Специальные Эффекты Мах и добавив Анимацию пламени, можно значительно усилить это впечатление. Эти средства будут рассмотрены в следующих главах.
Любая трехмерная сцена, как бы детально она не была проработана, требует показа с различных точек зрения для выявления всех нюансов заложенных художником трехмерной графики. Однако во многих случаях при демонстрации объектов и процессов, изменяющихся в реальном времени даже множественные «снимки» с различных ракурсов не дают полного представления и эффекта присутствия. В самом деле, такие трехмерные сцены как низвергающийся водопад, падающие и искрящиеся снежинки или дымящая печная труба лесной избушки теряют очень многое при статическом рассмотрении. Именно для придания реализма неживым трехмерным мирам существует Анимация, или оживление.
Анимация характеризуется изменением сцены во времени и имеет целый ряд параметров и инструментов управления. Почти все настройки и функции в среде Мах допускают анимацию. Перейдем к рассмотрению основных характеристик и инструментов управления анимацией.
Созданной геометрии сцены, назначенным материалам и установленным источникам света и съемочным камерам в среде Мах может быть присвоена последовательность изменений, которую характеризуют несколько базовых параметров:
Располагаемые на треке ключи отображаются как кружки серого цвета и имеют временную координату, означающую номер кадра, который они описывают.
При выборе ключа становятся доступны для редактирования его свойства (например, координаты, углы, проценты и т.п.).
Описанные характеристики составляют основу анимации трехмерных сцен и регулируются различными элементами управления. Рассмотрим их типы и основные параметры.
Для создания и редактирования описанных характеристик анимации в среде Мах существуют следующие инструменты:
РИСУНОК 9.01. Панель Управления Анимацией
Разберем подробнее каждый из инструментов управления анимацией.
Для остановки следует использовать кнопку Stop (Остановка), возникающую на месте описываемой.
РИСУНОК 9.02. Настройка Конфигурации Шкалы Времени
РИСУНОК 9.03. Изменение Масштаба Временной Шкалы
Остается добавить, что вызов диалогового окна Time Configuration (Конфигурация Шкалы Времени) может выполняться правым щелчком на любой из кнопок Панели Управления.
Располагаемая внизу Главного Окна Мах горизонтальная панель Временной Шкалы с рельефной кнопкой Ползунка предназначена для навигации по Active Time Segment (Активному Сегменту Времени) (рис. 9.04).
РИСУНОК 9.04. Time Bar (Временная Шкала)
Для перемещения к нужному кадру анимации необходимо подвести курсор к Ползунку и, нажав левую клавишу мыши, перемещать ее вправо или влево.
Номер текущего кадра будет отображаться в текстовом поле Панели Управления или на самой кнопке Ползунка, где происходит отображение информации в формате Текущий Кадр / Всего Кадров (например 15 /100). Для пошагового перемещения по Временной Шкале Ползунок имеет слева и справа две стрелки, а при включенном воспроизведении анимации он перемещается по ней. В режиме автоматического создания ключей правый щелчок, выполненный на Ползунке, вызывает диалоговое окно Create Key (Создать Ключ) (рис. 9.05), которое позволяет задать Source Time (Исходный Номер Кадра) и Destination Time (Создаваемый Номер Кадра), а также выбрать вид трансформации с помощью соответствующих флажков. Созданные ключи сразу же отображаются на Шкале Треков, последнем из рассматриваемых инструментов управления анимацией.
РИСУНОК 9.05. Создание нового Ключа Анимации
РИСУНОК 9.06. Track Bar (Шкала Треков)
Она представляет собой узкую панель с находящимися там прямоугольниками ключей и вертикальной риской - положением текущего кадра на Временной Шкале.
Для перемещения ключа вдоль Шкалы Треков его необходимо выбрать левым щелчком и затем перетаскивать мышью в требуемый кадр (рис. 9.07).
РИСУНОК 9.07. Перемещение кляча по шкале треков
При необходимости редактирования несколько ключей одновременно их следует выбирать, щелкая мышью с нажатой клавишей <Ctrl> (для сброса выбора ключа надо использовать клавишу <Alt>). Доступ к контекстному меню Шкалы Треков выполняется правым щелчком. Содержимое и функции набора команд контекстного меню ключей будут рассмотрены позднее. Далее, прежде чем приступить к описанию последнего инструмента управления анимацией, остановимся на основных этапах создания анимации сцены:
1. Сначала необходимо перейти в начальный кадр анимации (обычно это кадр с номером 0), для этого переместите Ползунок в крайнее левое положение на Шкале Времени или используйте кнопку Панели Управления Go to Start (Перейти в Начало). Все объекты, участвующие в анимации сцены, необходимо привести в начальное положение, придать им стартовый угол поворота и масштаб.
2. Затем щелкните на кнопке Toggle AutoKey Mode (Переключатель в режим автоматического создания ключей) либо на кнопке Toggle Set Key Mode (Переключатель в режим ручного создания ключей) для включения режима анимации (сама кнопка примет красный цвет, равно как рамка активного видового окна и Шкала Времени). При использовании кнопки Toggle AutoKey Mode любые действия по изменению параметров и настроек будут фиксироваться программой и приводить к созданию ключей.
3. Используя Ползунок Шкалы Времени или кнопки Панели Управления, перейдите в требуемый новый кадр и задайте анимирующим объектам новые положение, угол поворота или масштаб (обратите внимание, что после завершения изменений объекты будут отображаться в ключевых кадрах вписанными в габаритный контейнер).
Повторите эти действия для всех нужных объектов и во всех необходимых кадрах.
4. Далее, сделав активным соответствующее видовое окно, выполните просмотр Preview (Эскиза Анимации). Режим отрисовки объектов в видовом окне нужно выбирать, основываясь на быстродействии вашего компьютера, поэтому если просмотр тонированного эскиза сопровождается рывками, переключитесь в каркасный режим или режим габаритных контейнеров.
5. Теперь можно выполнять простейшее редактирование ключей анимации, используя Шкалу Треков. Дополнительный сервис становится доступен при вызове контекстного меню ключа (ключей) выполняемом правым щелчком мыши (рис. 9.08 а).
РИСУНОК 9.08 а. Контекстное меню Ключа Анимации
Если в редактируемом кадре создано более одного ключа или выбрано несколько объектов, то контекстное меню будет содержать полный список объектов и соответствующих ключей (рис. 9.08 b).
РИСУНОК 9.08 b. Контекстное меню нескольких Ключей Анимации
При выборе строки с именем объекта и типом ключа происходит вызов диалогового окна Key Info (Параметры Ключа) (рис. 9.09). Набор настроек этого окна зависит от типа назначенного контроллера анимации.
РИСУНОК 9.09. Настройки Key Info (Параметров Ключа)
Разберем основные особенности окна Key Info (Параметры Ключа) на примере одного из самых используемых контроллеров типа Bezier (Безье) и ключе трансформации перемещения.
В левой верхней части этого окна расположены две кнопки-стрелки перемещений по Временной Шкале для выбора редактируемого ключа.
Счетчик Time (Время) отображает значение номера кадра, в котором располагается выбранный ключ, а выбор нового кадра может быть осуществлен простым набором числа в поле счетчика.
Кнопка с буквой «L» справа от счетчика используется для включения режима Lock (Блокировка), при котором исключается случайное изменение значения этого параметра.
Счетчик Value (Значение) отображают текущее значение размера объекта или одной из трех его координат в выбранном кадре анимации.
Если представить анимацию объекта в виде графика, то кривая этого графика будет проходить через точки, описываемые счетчиками ключей. Каждая такая точка имеет In (Вход) и Out (Выход) - сегменты функциональной кривой до и после ключевого кадра. Для настройки кривизны этих сегментов в нижней части диалогового окна расположены списки кнопок:
Дополнительные параметры управления функциональной кривой становятся доступны при нажатии кнопки Advanced (Расширенный Режим), которая раскрывает окно Key Info (Параметры Ключа), добавляя новые настройки (рис. 9.10).
Пары счетчиков In: / Out: (Вход: / Выход:) служат для детальной настройки кривизны функциональной кривой до и после ключа, а кнопка Normalize Time (Упорядочить Время) предназначена для перераспределения временных значений ключей для достижения равных приращений параметров анимации. Флажок Constant Velocity (Постоянная Скорость) задает режим постоянной скорости изменения анимации. Для свертывания окна используется кнопка Simple (Обычный Режим).
РИСУНОК 9.10. Расширенный режим Key Info (Параметров Ключа)
Теперь вернемся к описанию инструментов управления анимацией и разберем последний, самый развитой из них - диалоговое окно Track View (Просмотр Треков).
В 3DS Мах 5 существует две модификации диалогового окна Track View (Просмотр Треков). Первая модификация называется Track View - Curve Editor (Просмотр треков - Редактор кривых) (рис. 9.Па) и предназначена она для редактирования кривых изменения координат или геометрии объекта. Вызывается это диалоговое окно одноименной командой из меню Graph Editor (Редактор графов). Вторая модификация носит название Track View - Dope Sheet (Просмотр треков - Лист дескрипторов). Соответствующее диалоговое окно (рис. 9.11в) можно вызвать командой Track View - Dope Sheet из того же меню Graph Editor.
Основными функциями окна Track View - Dope Sheet являются:
РИСУНОК 9.11а. Диалоговое окно Track View - Curve Editor - (Окно Треков - Просмотр треков - Редактор кривых))
Инструменты создания и редактирования ключей, кнопки управления окном расположены в верхней и нижней панелях, а рабочее поле разделено на две части.
РИСУНОК 9.11. Диалоговое окно Track View - Dope Sheet (Просмотр треков - Лист дескрипторов)
Левая часть рабочего поля окна Track View - Dope Sheet содержит схематическое представление объектов и свойств сцены, а также всех их параметров, поддерживающих анимацию.
Этот список организован в виде Дерева Иерархии сцены, и самый верхний ее уровень World (Мир) является нашей редактируемой трехмерной сценой. Каждый элемент уровня может содержать вложенные уровни - параметры, которые в свою очередь также могут быть составными и т.д.
Например, редактируемая сцена (уровень World (Мир)) содержит объект «Вох1» (уровень Objects (Объекты)), который имеет анимацию преобразования Position (Перемещения) (уровень Transform (Трансформации)).
Правая часть рабочего поля окна Track View - Dope Sheet содержит Окно Треков анимации, включающее Keys (Ключи) (в виде серых прямоугольников), Ranges (Диапазоны) (в виде жирных отрезков с двумя квадратиками по краям) или статическое числовое значение параметра (если трек не содержит анимации).
Эта же область окна Track View - Curve Editor представлена в виде графиков функциональных кривых (это окно мы рассмотрим детальнее несколько позднее). Левый щелчок на ключе анимации выделяет его, отрисовывая как белый прямоугольник.
Для выделения более одного ключа необходимо это делать с нажатой клавишей <Ctrl>, а для удаления ключа из набора - с клавишей <Alt>. Текущий кадр анимации отмечается вертикальной прямой через всю область окна.
В верхней части окна Track View - Dope Sheet расположены кнопки управления анимацией, а в нижней - кнопки управления самим диалоговым окном. Сходные по типу инструменты объединены в группы, поэтому рассмотрим подробнее их функции и назначение.
Первая группа позволяет управлять контроллерами анимации и содержит следующие кнопки:
РИСУНОК 9.12. Выбор режима копирования ключей
РИСУНОК 9.13. Назначение Контроллера Анимации
Следующая группа производит выбор режима Окна Треков и включает в себя:
И последняя группа инструментов управления анимацией имеет в своем составе следующие кнопки:
Величина числовых значений создаваемого ключа рассчитывается интерполяцией или экстраполяцией в случае, если трек содержит анимацию (или берется из статического значения, которые отображаются на нсани-мированных треках).
Диалоговое окно Track View - Curve Editor (Просмотр треков - Редактор кривых) (см. рис. 9.11а) имеет ряд специфических командных кнопок.
РИСУНОК 9.14. Выбор Типа Экстраполяции Функциональной Кривой
Располагаемая внизу каждой из диаграмм пара кнопок предназначена для установки действия типа экстраполяции соответственно до начала и после окончания редактируемого диапазона.
Диалоговое окно Track View - Curve Editor позволяет редактировать ключи анимации, как узловые точки функциональных кривых. Кроме изменения положения и значений ключей есть возможность корректировать кривизну кривых, и тем самым визуально влиять на анимацию параметров (рис. 9.15).
РИСУНОК 9.15. Резким графического отображения Функциональных Кривых
Редактирование кривых может осуществляться с помощью специальных кнопок или путем перемещения касательных, которые появляются в ключевых точках.
Последние две кнопки позволяют:
РИСУНОК 9.16. Дополнительные Средства Окна Треков
В нижней части окна Track View (Просмотр Треков) располагаются кнопки управления, зона сообщений и подсказок, а также текстовое поле быстрого выбора имени объекта или параметра. Используя перечисленные элементы управления, можно установить:
Кроме того, значения выбранного ключа и его положение на временной шкале отображаются в двух текстовых полях при включенном режиме Function Curves (Функциональных Кривых). Для быстрого нахождения объекта сцены или какого-либо параметра предназначено текстовое поле поиска по имени. При наборе префикса имени все сходные объекты и параметры Дерева Иерархии сцены оказываются выбранными. Рядом располагается кнопка Zoom Selected Object (Показать Выбранный Объект), используемая для быстрого доступа к объекту и его параметрам.
И в заключение следует упомянуть о кнопке Filters (Фильтры), выполняющей настройку окна Track View (Просмотр Треков) по категориям объектов, контроллеров, треков анимации и других компонентов сцены. Эта кнопка расположена в верхнем левом углу окна Track View (Просмотр Треков) и вызывает диалоговое окно его глобальной настройки (рис. 9.17). Различные комбинации фильтров позволяют задать список только необходимых для работы объектов и параметров, что бывает очень удобно в сложных анимированных сценах.
РИСУНОК 9.17. Настройка Фильтров Окна Треков
Начнем практические занятия по анимации по принципу «от простого - к сложному». Первое задание предназначено для ознакомления с использованием Ключевой Анимации.
1. Загрузите с сайта издательства файл AirPlanel.MAX. Видовые окна отобразят модель аэроплана, состоящую из двух объектов: «Аэроплан» и «Пропеллер» (рис. 9.18), связанных между собой по правилу «родитель-потомок». Второй объект понадобится для следующего задания, поэтому сосредоточимся на первом из них.
РИСУНОК 9.18. Сцена «Летящий Аэроплан»
2. Прежде всего определите начальное и конечное положение ани-мируемого объекта, а также длительность анимации. Примите установленный в загруженной сцене Active Time Segment (Активный Сегмент Времени) за требуемый и задайте начальное положение самолета. Для этого активизируйте окно «Camera-Main» и выделите модель самолета левым щелчком. Включите ограничение перемещений по осям X и Z и, перейдя в кадр с номером 0, переместите объект по стрелке оси Y до его исчезновения в кадре видового окна.
Убедитесь, что объект не отнесен слишком далеко, и, перейдя в окно Тор (Вид Сверху), подкорректируйте его начальное положение (приблизительно его координаты должны составлять: Х=378, Y=3352 и Z=-109 единиц).
3. Теперь включите кнопку Toggle AutoKey Mode (Переключатель в режим автоматического создания ключей), расположенную в Панели Управления Анимацией в нижней части Главного Окна Мах, - она станет красного цвета, сигнализируя о вклю-
ченном режиме анимации сцены, и выберите трансформацию перемещения соответствующей модальной кнопкой. Перетащите Ползунок Временной Шкалы в крайнее правое положение для перехода в кадр с номером 100 и выполните перемещение оставшегося выбранным объекта «Аэроплан» в отрицательном направлении оси Y до положения его полного исчезновения из видового окна камеры (или до точки с приблизительными координатами: Х=378, Y=-2441 и Z=-109 единиц).
4. Щелкните еще раз на кнопке Toggle AutoKey Mode (Переключатель в режим автоматического создания ключей) для выключения режима анимации сцены. Простейшая анимация создана и может быть просмотрена в режиме Preview (Эскиза Анимации).
5. Для этого разверните видовое окно камеры до максимального размера, используя кнопку Min / Max Toggle (Переключить Во Весь Экран / Возврат Назад) в панели управления видовыми окнами, и щелкните на кнопке Play Animation (Воспроизвести Анимацию).
6. Теперь, просмотрев плавное движение каркасной модели в видовом окне камеры, попробуйте включить тонированную закраску и еще раз воспроизвести анимацию. Если вы наблюдаете вместо плавного движения беспорядочные рывки, значит ваш компьютер не справляется с показом в режиме Real Time (Реального Времени), установленном для воспроизведения в среде Мах по умолчанию.
7. Вызовите диалоговое окно Time Configuration (Конфигурация Шкалы Времени) одноименной кнопкой Панели Управления Анимацией и отключите соответствующий флажок. Повторите воспроизведение анимации и убедитесь, что, хотя движение и замедлилось, тонированная анимация смотрится реальнее, чем каркасная.
8. Чтобы все-таки увидеть «тонированный полет аэроплана» в реальном времени, необходимо создать файл Эскиза Анимации. Для этого придется воспользоваться пунктом Make Preview (Создать Эскиз) из падающего меню Animation (Анимация), который вызывает одноименное диалоговое окно настройки (рис. 9.19).
РИСУНОК 9.19. Создание Эскиза Анимации
Группа параметров Preview Range (Диапазон Эскиза Анимации) позволяет выбрать временной интервал, который может быть задан в явном виде с помощью пары счетчиков Custom Range (Пользовательский Диапазон) или взят из установок Active Time Segment (Активного Сегмента Времени). Набор флажков группы Display in Preview (Показывать в Эскизе) задает типы объектов сцены, которые будут отображены, а из списка Rendering Level (Уровень Визуализации) выберите требуемый тип тонирования.
Группы Frame Rate (Частота Кадров) и Image Size (Размер Изображения) устанавливают соответственно частоту кадров Эскиза Анимации и параметры вывода формируемого файла анимационной последовательности. Формат этого файла задается настройками группы Output (Вывод). Переключатель .AVI позволяет сформировать файл анимации в одном из нескольких форматов сжатия изображений или кодеков, выбираемых кнопкой Choose Codec (Выберите Способ Кодирования) и настраиваемых в одноименном диалоговом окне.
РИСУНОК 9.20. Выбор Способа Кодирования файла Анимации
Установите наиболее часто используемый кодек фирмы Microsoft - «Microsoft Video 1» и задайте качество сжатия равным 100 процентам (рис. 9.20).
После щелчка на кнопке Create (Создать) произойдет запуск процедуры обсчета Эскиза Анимации, и по ее окончании загрузится Универсальный Проигрыватель операционной системы, в окне которого можно увидеть плавное движение объекта анимации (рис. 9.21).
РИСУНОК 9.21. Воспроизведение Эскиза Анимации
10. После того как анимация сформирована, и Эскиз Анимации демонстрирует приемлемые результаты, необходимо выполнить Rendering (Визуализацию). Для этого нужно вызвать диалоговое окно Render Scene (Обсчет Сцены) одноименной кнопкой из Main Toolbar (Основной Панели).
Детальные настройки этого окна мы разберем в следующей главе, а пока необходимо выбрать Диапазон Анимации и указать файл вывода.
РИСУНОК 9.22. Выбор Диапазона Анимации
11. Активизируйте переключатель Active Time Segment (Активный Сегмент Времени) в группе параметров Time Output (Временной Интервал) для выбора диапазона анимации (рис. 9.22), а в группе Render Output (Вывод Визуализации) щелкните на кнопке Files (Файлы).
РИСУНОК 9.23. Выбор Файла Вывода
Появившееся диалоговое окно Render Output File (Файл Вывода Визуализации) позволит ввести имя файла, его тип, а также каталог на диске (рис. 9.23). Для сохранения анимации как файла видеопоследовательности выберите тип AVI File (.AVI) и наберите в текстовом поле имени файла - «AirPlane.AVI». Используя кнопку Setup (Настройка), установите тип кодека и его параметры аналогично описанному для создания Эскиза Анимации и, подтвердив установки, щелкните на кнопке «Сохранить».
Теперь найдите в нижней части диалогового окна Render Scene (Обсчет Сцены) кнопку Render (Визуализировать) и щелкните на ней.
12. В результате обсчета на диске будет создан файл анимации. Просмотреть его можно, воспользовавшись пунктом View File (Просмотр Файла) из падающего меню File (Файл).
Теперь несколько усложним поставленную задачу. Пусть вам необходимо придать движению модели аэроплана больше реалистичности, например, включить вращение пропеллера, добавить покачивание фюзеляжа и т.д.
1. Загрузите с сайта издательства файл AirPlane2.MAX и перейдите в видовое окно Camera-Main и переместите Ползунок Временной Шкалы в кадр с номером 54.
2. Выберите объект с именем «Пропеллер» для придания ему циклического вращения.
Далее активизируйте режим анимации щелчком на кнопке Toggle AutoKey Mode (Переключатель в режим автоматического создания ключей) и, выбрав трансформацию поворота соответствующей кнопкой в Main Toolbar (Основной Панели), задайте вращение пропеллеру вокруг оси Y около 1440 градусов (или 4 полных оборота) по часовой стрелке. Предварительно включите режим Angle Snap (Угловой Привязки) одноименной кнопкой на главной панели инструментов для фиксированного приращения углов поворота. Обратите внимание на Шкалу Треков, - там возникнет красный прямоугольник в позиции 54 кадра. Это и есть созданный вами ключ анимации вращения пропеллера (второй прямоугольник, соответствующий ключу вращения со значением угла равным 0 градусов, автоматически создается в нулевом кадре).
3. Перетащите созданный ключ из кадра 54 в кадр с номером 14 на Шкале Треков, контролируя его текущее положение по тексту статусной строки. Сделайте активным видовое окно Front (Вид Спереди) и разверните его на весь экран.
4. Дальнейшие настройки необходимо будет выполнять в диалоговом окне Track View - Curve Editor, поэтому вызовите его одноименной командой из меню Graph Editor. В Окне Дерева Иерархии необходимо найти анимированный параметр Rotation (Вращение) для объекта Пропеллер. Выполните эту операцию, используя кнопку Zoom Selected Object (Показать Выделенный Объект), и после дополнительного левого щелчка на символе <+> рядом с именем найденного объекта Дерево Иерархии примет требуемый развернутый вид (рис. 9.24).
РИСУНОК 9.24. Дерево Иерархии Анимации выбранного объекта
Теперь необходимо добавить цикличность уже заданному вращению пропеллера, для этого выделите ветвь Rotation (Вращение) в уровне Transform (Преобразование) и щелкните на кнопке Parameter Curve Out-of-Range Types (Типы Экстраполяции Кривых) в Панели Инструментов окна Track View - Curve Editor для выбора типа цикла. В появившемся диалоговом окне установите тип Cycle (Циклический) одноименной кнопкой. В результате заданный режим вращения пропеллера (1440 градусов за 15 кадров или 96 градусов на кадр) будет постоянным в течение всей анимации сцены.
Далее перейдите к родительскому объекту с именем «Аэроплан» и, выбрав его, установите текущим начальный кадр с номером 0. Активизируйте видовое окно Front (Вид Спереди) и укрупните масштаб показа объектов, используя кнопку Region Zoom (Фрагмент Вида). Не включая режима анимации, выполните преобразование поворота на 6 градусов по часовой стрелке вокруг оси Z (рис. 9.25).
РИСУНОК 9.25. Создание первого ключа Анимации Поворота
7. Включите кнопку AutoKey Mode и переместитесь Ползунком Временной Шкалы в кадр с номером 40. Поверните модель самолета на 12 градусов против часовой стрелки вокруг оси Z (рис. 9.26).
РИСУНОК 9.26. Создание второго ключа Анимации Поворота
8. Для создания плавности покачивания, а также для задания его цикличности вызовите окно Track View - Curve Editor и найдите в Окне Дерева Иерархии редактируемый объект. Раскройте список параметров анимации и, выбрав Rotation (Поворот), задайте тип цикла Ping-Pong (Циклически Зеркальный) соответствующими кнопками Панели Инструментов окна. Далее необходимо добавить замедление анимации вращения при достижении крайних положений (соответствующих ключам в кадрах О и 40).
9. Вызовите диалоговое окно Key Info (Параметры Ключа), выполнив правый щелчок на первом ключе в нулевом кадре трека Rotation (Поворот).
Используемый по умолчанию в Мах контроллер анимации поворота - ТСВ Rotation (TCB Поворот) имеет пару счетчиков для задания замедления - Ease To (Замедление До) и Ease From (Замедление После), а также диаграмму, иллюстрирующую график распределения значений (рис. 9.27).
РИСУНОК 9.27. Настройка Замедления Анимации Поворота
Установите оба счетчика в 15 единиц (что соответствует умеренному замедлению функции поворота) и, перейдя в следующий ключевой кадр, повторите ввод еще раз.
10. Теперь остается лишь выполнить обсчет созданной анимации, повторив последовательность действий, описанную в конце предыдущего задания, и в результате анимация полета вашего аэроплана станет выглядеть куда более реалистично. Однако можно заметить, что вращению пропеллера недостает некоторой «смазанности», характерной быстрому движению объектов реального мира.
Достижение аналогичного эффекта выполнимо в среде Мах и будет рассмотрено в Главе «Визуализация и Специальные Эффекты», а просмотреть завершенную анимацию можно сейчас, загрузив с сайта издательства файл Airplane-MBIur.AVI.
Особый эффект анимации придают детали, имитирующие физические взаимодействия объектов реального мира, - столкновения, деформации, разрушения формы и т.п. В Мах существует множество механизмов для создания таких имитаций, и, кроме того, написаны очень мощные программы третьих фирм в виде подключаемых модулей к среде Мах. Однако следующий пример иллюстрирует, что вполне приличных результатов можно добиться, используя даже стандартные средства анимации.
1. Загрузите файл Ball.MAX. Определим задачу как создание сложной анимации мяча с имитацией упругих отскоков и деформаций.
2. Прежде всего, необходимо создать служебный объект, задающий амплитуду отскоков объекта «Мяч Футбольный» от плоскости «Поле». Перейдите в панель Create (Создать) и выберите кнопкой Helpers (Служебные Объекты) нужную категорию создаваемых объектов. Затем, щелкнув на кнопке Dummy (Служебный) из свитка Object Type (Тип Объекта), создайте вспомогательный куб рядом с мячом (рис. 9.28).
РИСУНОК 9.28. Создание Dummy (Служебного) объекта 3.
Далее установите Pivot Point (Опорную Точку) нового объекта в положение, выровненное с его нижней гранью. Для этого перейдите в режим редактирования опорных точек щелкнув последовательно на закладке панели Hierarchy (Иерархия), кнопках Pivot (Опора) и Affect Pivot Only (Работать Только с Опорной Точкой).
В результате в видовых окнах появится тройка утолщенных осей и, используя кнопку Align (Ориентация) из Main Toolbar (Основной Панели), выполните перенос опорной точки куба «Dummy-Мяч». После левого щелчка на самом кубе появится диалоговое окно Align Selection (Выровнять Выделение), где необходимо выбрать переключатель Pivot Point (Опорная Точка) в группе Current Object (Текущий Объект) (им является опорная точка куба).
Далее выберите переключатель Minimum (Минимум) в группе Target Object (Целевой Объект) (им станет нижняя грань куба), а также включите флажок Y Position (Положение по Оси Y) (рис. 9.29).
РИСУНОК 9.29. Выравнивание Опорной Точки по нижней грани
После подтверждения ввода выйдите из режима редактирования опорных точек, щелкнув еще раз на кнопке Affect Pivot Only (Работать Только с Опорной Точкой). Теперь вам достаточно разместить куб «Dummy-Мяч» на поверхности плоскости «Поле», что можно сделать, повторив команду Align (Ориентация) и указав в диалоговом окне соответственно переключатели Pivot Point (Опорная Точка) и Maximum (Максимум), а также включив флажок Y Position (Положение по Оси Y). Затем выполните выравнивание куба по центру объекта «Мяч Футбольный», используя оси X, Z и в результате вспомогательный объект «Dummy-Мяч» будет размещен в исходное положение анимации.
4. Выполните связывание модели мяча со вспомогательным кубом по правилу «родитель-потомок». Для этого необходимо включить режим Select and Link (Выбрать и Связать) одноименной кнопкой в Main Toolbar (Основной Панели), последовательно щелкнуть на мяче и, нажав левую кнопку мыши, перейти на куб, а затем отпустить.
5. Включив кнопку Toggle AutoKey Mode (Переключатель в режим автоматического создания ключей), поднимите куб над плоскостью приблизительно на 190-200 единиц. Обратите внимание, что связанный с ним мяч переместится в ту же точку Переместитесь в кадр с номером 14 и, опустите куб в первоначальную точку на плоскость. Мяч тоже переместится в эту точку
6. Вызовите окно Track View - Curve Editor и задайте тип цикла Ping-Pong (Циклически Зеркальный) для анимации перемещения куба, используя соответствующие инструменты. Выполнив Эскиз Анимации, вы сможете увидеть циклическое подпрыгивание мяча на плоскости.
7. Теперь необходимо добавить затухание амплитуды скачков мяча и его поступательное движение.
Первая задача решается использованием специального механизма Мах - присвоения Multiplier Curve (Кривой Множителя) контроллеру анимации Position (Перемещения) объекта (эта кривая представляет собой график влияния и задает степень усиления / ослабления основного контроллера). Ее значения перемножаются с величинами параметра анимации и для генерации затухания должны плавно изменяться от 1 до 0). Для этого необходимо выбрать требуемую строку параметра анимации Position (Перемещения) куба в Окне Дерева Иерархии и выбрать в диалоговом окне из меню Curves (Кривые) команду Apply Multiplier Curve (Применить Кривую Множителя).
В результате возникнет одноименный подчиненный контроллер со своим треком и двумя ключами в кадрах 0 и 100. Значения ключей при создании равно 1, поэтому измените только последний из них на нулевое значение, а также задайте графики функции до и после ключа. Для придания большей плавности кривой переместите ключ из кадра 100 в 120-й кадр (рис. 9.30).
8. Поступательная составляющая движения мяча добавляется непосредственным заданием конечного положения в кадре с номером 100, поэтому, выбрав объект «Мяч Футбольный» и включив кнопку Toggle AutoKey Mode, перейдите в финальный кадр и переместите его вдоль оси X приблизительно до координаты 233 единицы по этой же оси. Контролируйте изменение координат по статусной строке или по диалоговому окну Move Transform Type-In (Точный Ввод Параметров Трансформаций).
Для наглядности активизируйте режим отрисовки траектории мяча в видовых окнах. Чтобы выполнить это, вызовите правым щелчком на модели мяча диалоговое окно Properties (Свойства) и включите флажок Trajectory (Траектория) в группе Display Properties (Свойства Показа) (рис. 9.31).
РИСУНОК 9.30. Внешний вид Функциональной Кривой Множителя
РИСУНОК 9.31. Включение отображения Траектории Анимации
9. Создайте Эскиз Анимации и проанализируйте полученные результаты. Безусловно, движение мяча требует добавления некоторых важных нюансов. Поэтому следующими действиями будут создание упругих деформаций мяча при его столкновениях с плоскостью и замедления движения по траектории, вызванные этими деформациями.
10. Выберите вспомогательный куб и откройте окно Track View -Curve Editor. Найдите трек Transform (Трансформации) объекта «Dummy-Мяч» в Окне Дерева Иерархии, раскройте его и выберите параметры анимации Position (Перемещение) и Scale (Масштаб) левым щелчком с нажатой клавишей <Ctrl>.
В Окне Треков войдите в режим создания ключей, щелкнув на модальной кнопке Add Keys (Добавить Ключи) на Панели Инструментов диалогового окна. Создайте три ключа на функциональной кривой масштаба, отрисовываемой как прямая линия, проходящая через вертикальную координату 100 единиц. Перейдите в режим Move Keys (Перемещение Ключей), щелкнув на одноименной модальной кнопке, и переместите последовательно созданные ключи в кадры с номерами 13, 14 и 17. Щелкните правой кнопкой мыши последовательно на каждом ключе и, в появишихся диалоговых окнах, задайте форму кривой и введите следующие значения:
В результате будет создана деформация мяча в первой точке отскока.
Выполните копирование тройки созданных ключей во вторую и третью точки соприкосновения мяча с плоскостью. Эти точки характеризуются нулевым значением функциональной кривой Position (Перемещение) и располагаются соответственно в 42 и 70 кадрах.
Перейдите в кадр с номером 41 и для создания копии ключей выберите их на кривой Scale (Масштаб) (левым щелчком с клавишей <Ctrl>).
11. Включите режим горизонтального перемещения, выбрав из списка кнопок Move Keys (Перемещение Ключей) требуемую. Затем, удерживая клавишу <Shift>, перетащите выбранные ключи вправо и выполните их точное перемещение в кадр 41.
Повторите аналогичные действия для кадра 69, и в результате должен получиться график анимации трех подскоков мяча (рис. 9.32).
РИСУНОК 9.32. Функциональные кривые Анимации Масштаба
12. Однако каждый последующий отскок мяча должен быть слабее, следовательно, необходимо уменьшить величины масштабных коэффициентов для ключей трека Scale (Масштаб) в кадрах 42 и 70:
13. Теперь остается лишь внести корректировку в траекторию движения мяча путем добавления замедления и изменений кривизны функциональной кривой, продолжая работать с вспомогательным объектом «Dummy-Мяч».
Выберите первый ключ на треке Position (Перемещение) правым щелчком и установите следующие значения параметров контроллера ТСВ Position (TCB Перемещение):
Далее перейдите к параметрам следующего ключа, нажав на правую стрелку возле номера кадра в диалоговом окне Key Info (Параметры Ключа), и настройте их так: после чего траектория мяча с учетом деформаций приобретет законченный вид (рис. 9.33).
РИСУНОК 9.33. Результирующая Траектория Анимации Мяча
14. Теперь остается лишь выполнить визуализацию полученной анимационной последовательности. Попробуйте самостоятельно удлинить анимацию, добавив качение мяча по плоскости, его остановку в «результате трения» и т.п.
Итак, вы подошли к разбору последнего раздела Мах, хотя в той или иной мере ранее неоднократно пользовались инструментами Rendering (Визуализации). При просмотре результатов моделирования, отладке материалов, обсчете анимационных последовательностей вы обычно выполняли левый щелчок на кнопке Render Scene (Визуализировать Сцену) в Main Toolbar (Основной Панели Инструментов) и визуализация происходила с использованием настроек по умолчанию. Однако такой режим зачастую недостаточен для получения реалистичного результата, достаточно вспомнить пример с вращением пропеллера в предыдущей главе. Поэтому остановимся на способах настройки и управления Rendering (Визуализацией).
Панель Инструментов Rendering (Визуализации)
В Main Toolbar (Основной Панели Инструментов) находится группа кнопок и раскрывающийся список, позволяющие задавать режимы Rendering (Визуализации) (рис. 10.01). Далее рассмотрим их особенности:
РИСУНОК 10.01. Панель Инструментов Визуализации
Render Scene (Визуализировать Сцену) - основная кнопка для вызова одноименного диалогового окна, позволяющая выполнить настройку всех базовых параметров Визуализации (рис. 10.02). Перед нажатием этой кнопки следует выбрать требуемое активное видовое окно (обычно это окно камеры), хотя есть возможность задать его позднее. Рассмотрим основные из настроек этого окна:
РИСУНОК 10.02. Диалоговое окно Render Scene (Визуализировать Сцену)
Свиток Common Parameters (Основные Параметры)
РИСУНОК 10.03. Выбор Файла Вывода Визуализации
Этот свиток содержит установки и основные параметры Сканирующего Визуализатора - системной процедуры Мах, выполняющей обсчет сцены и формирующей изображение в кадровом буфере, и состоит из следующих групп:
Из остальных групп необходимо упомянуть только об установках Motion Blur (Смазывание Движения):
Детальнее мы остановимся на этих параметрах при выполнении практических заданий.
Quick Render (Production) / Quick Render (Draft) / Quick Render (ActiveShade) (Быстрая Визуализация (Финальная) / Быстрая Визуализация (Эскизная) / Быстрая Визуализация (Активное тонирование))- этот список кнопок осуществляет выбор между тремя вариантами визуализации трехмерной сцены, параметры каждого из которых настраиваются в диалоговом окне Render Scene (Визуализировать Сцену).
По умолчанию второй режим имеет более грубые установки для получения предварительных результатов и отладки, а первый вариант - для «чистового», окончательного обсчета.
Назначение и использование третьей кнопки (Quick Render (ActiveShade)) мы рассмотрим немного позже.
Render Type (Вид Визуализации) - раскрывающийся список основных способов обсчета сцены, дающий возможность задать область визуализации. Этот список состоит из следующих пунктов:
РИСУНОК 10.04. Режим задания области Визуализации
В результате в Framebuffer (Виртуальном Кадровом Буфере) - служебном окне, рассматриваемом далее, будет отображен выбранный фрагмент, а остальная часть сцены скрыта (рис. 10.05).
РИСУНОК 10.05. Визуализация Region (Фрагмента) сцены
РИСУНОК 10.06. Визуализация Crop (Выреза) сцены
РИСУНОК 10.07. Визуализация Blowup (Увеличения) сцены
Дополнительное диалоговое окно Render Bounding Box / Selected (Визуализировать Габаритный Контейнер Выделения) дает возможность указать пропорции окна вывода (рис. 10.08).
РИСУНОК 10.08. Настройка пропорций окна вывода
Управление режимами и функциями интерактивного окна осуществляется использованием контекстного меню-квадрата, вызываемого правым щелчком мыши (рис. 10.086)
Пункты подменю Tools (Средства) позволяют соответственно Select (Выбрать), Initialize (Инициализировать) или Update (Обновить) текущее состояние выбранного объекта или всей сцены. Команда Draw Region (Указать Фрагмент) задает область отображения изменений.
Процесс обсчета сцены начинается с вызова диалогового окна Rendering (Визуализация), отображающего информацию о визуализируемой сцене, текущей операции и общем ходе формирования итогового изображения (рис. 10.09). Две кнопки Pause (Приостановить) и Cancel (Прервать) управляют соответственно режимом паузы и отмены текущего сеанса визуализации.
РИСУНОК 10.08а
РИСУНОК 10.08b
Две индикаторные шкалы Total Animation (Вся Анимация) и Current Task (Текущая Задача) отображают графически процент соответственно обсчитанных кадров и текущей процедуры, выполняемой Сканирующим Ви-зуализатором.
Два свитка параметров Common Parameters (Общие Параметры) и Мах Default Scanline A-Buffer (Сканирующий Визуализатор Мах) выводят детальную информацию о геометрии сцены, освещении и камерах, времени обсчета последнего кадра, прогнозе на всю анимацию и многие другие.
При применении карт текстур типа Raytrace (Трассируемых) возникает дополнительное информационное окно, отображающее ход обсчета методом Трассировки Лучей и другие справочные данные (рис. 10.10).
РИСУНОК 10.09. Отображение процесса обсчета сцены
РИСУНОК 10.10. Отображение процесса обсчета Трассировки Лучей
В результате выполнения программой обсчета сцены происходит генерация кадра изображения. Служебное окно с небольшой панелью кнопок управления всегда содержит последний визуализированный кадр и называется Framebuffer (Виртуальный Кадровый Буфер).
При запуске процедуры визуализации это окно автоматически вызывается и в нем происходит отображение процесса обсчета. В случае закрытия содержимое может быть просмотрено вызовом пункта Show Last Rendering (Показать Последнюю Визуализацию) падающего меню Rendering (Визуализации). Заголовок Framebuffer (Виртуальныго Кадрового Буфера) содержит имя обсчитанного видового окна и номер кадра, а также масштаб отображаемого изображения.
Панель Управления этим окном (рис. 10.11) состоит из следующих инструментов:
РИСУНОК 10.11. Панель Управления Framebuffer (Виртуальным Кадровым Буфером)
При выполнении щелчка и удерживании правой клавиши мыши возникает информационная панель с набором параметров текущего пиксела (рис. 10.12). Этот режим необходим для справочных целей и задач отладки.
Для изменения масштаба изображения в буфере кадров необходимо использовать клавишу <Ctrl> и мышь, причем для увеличения выполняется левый щелчок, а для уменьшения - правый. Текущее значение масштаба отображается в скобках в заголовке окна.
Теперь перейдем к рассмотрению типов Специальных Эффектов Мах и методов их применения.
РИСУНОК 10.12. Отображение информационной панели Framebuffer (Виртуального Кадрового Буфера)
Выполненные ранее практические задания к предыдущим Главам и особенно примеры с горящей свечой или пропеллером аэроплана, наверное, убедили вас, что необходим последний штрих, некая «изюминка», чтобы внести в достаточно достоверные итоговые изображения новый уровень реализма. Он становится достижим при использовании в среде Мах механизма Environment (Окружение) и набора Effects (Специальных Эффектов).
Основные настройки Environment (Окружения) устанавливаются в одноименном диалоговом окне, вызываемом пунктом Environment (Окружение) падающего меню Rendering (Визуализация) (рис. 10.13). Это окно содержит два свитка параметров - Common Parameters (Основные Параметры) и Atmosphere (Атмосфера).
Две группы параметров этого свитка определяют следующие режимы Environment (Окружения):
В 3 DS Мах 5 имеется возможность задания параметров освещения трехмерных сцен на основе физических характеристик (таких, как, например, сила света).
Выбрав пункт Automatic Exposure Control (Автоматический Контроль Экспозиции) появляется возможность контролировать световую модель счетчиками Physical Scale (Физический Масштаб) и Exposure Value (Величина Экспозиции), влияющими соответственно на засветку и общую яркость сцены. Параметры Chromatic Adaptation (Цветовая
РИСУНОК 10.13. Настройки Global Lighting (Общего Освещения)
РИСУНОК 10.13а.
Адаптация) и Color Differentiation (Различение Цветов) управляют настройками цветности и цветокоррекции визуализируемого изображения (рис. 10.13а).
Этот свиток содержит список Effects (Эффектов) Environment (Окружения), используемых в сцене в левой части окна и следующий набор кнопок управления:
РИСУНОК 10.14. Добавление Атмосферного Эффекта
При добавлении эффекта в списке Effects (Эффектов) появляется новая строка с именем (рис. 10.15) и после левого щелчка на ней возникает новый свиток, содержащий набор параметров эффекта, различный для каждого из них (рис. 10.16).
РИСУНОК 10.15. Свиток Atmosphere (Атмосфера)
Рассмотрим два основных эффекта Окружения, наиболее часто применяемых в трехмерных сценах - Fog (Туман) и Volume Light (Объемное Освещение).
Для включения эффекта тумана следует вызвать диалоговое окно Environment (Окружение) и, щелкнув на кнопке Add (Добавить), выбрать из списка эффектов пункт Fog (Туман).
В результате возникнет еще один свиток Fog Parameters (Параметры Тумана) (рис. 10.16) со следующими группами настроек:
РИСУНОК 10.16. Настройки эффекта Fog (Туман)
Для включения режима «затуманивания» заднего плана предназначен флажок Fog Background (Туман Фона), а выбор типа тумана осуществляется переключателем Туре (Тип) и может быть Standard (Стандартным) (рис. 10.17) или Layered (Слоистым) (рис. 10.18).
РИСУНОК 10.17. Пример использования эффекта Fog
РИСУНОК 10.18. Пример использования эффекта Layered Fog
Для отображения эффекта тумана необходимо при визуализации сцены включить флажок Atmospherics (Атмосферные Эффекты) в диалоговом окне Render Scene (Визуализировать Сцену).
Этот эффект придает дополнительный реализм моделируемой сцене и усиливает иллюзию натуральности, имитируя засветку воздушной среды лучами света (рис. 10.19). Дополнительно может быть задана нерегулярность, напоминающая пылевую взвесь, и ее анимация.
РИСУНОК 10.19. Пример использования эффекта Volume Light (Объемного Освещения)
При добавлении Volume Light (Объемного Освещения) в список Effects (Эффекты) появляется свиток Volume Light Parameters (Параметры Объемного Освещения) (рис. 10.20), содержащий следующие настройки:
При нажатии на кнопку Pick Light (Выбрать Осветитель) включается режим выбора и после щелчка на каком-либо источнике света сцены его имя возникает в раскрывающемся списке.
РИСУНОК 10.20. Настройки Объемного Освещения
Счетчик Amount (Величина) задает силу возмущений, а переключатель Туре (Тип) устанавливает их физический вид. Для имитации колебаний атмосферы и указания их ориентации служит переключатель Wind from the (Ветер), а его сила задается счетчиком Wind Strength (Сила Ветра).
Анимация, подобная «клубящейся пыли в лучах света», управляется счетчиком Phase (Фаза), который необходимо циклически менять.
Далее мы рассмотрим некоторые другие эффекты среды Мах, не связанные с Environment (Окружением).
Описываемая группа эффектов относится к виду Специальных или Оптических. Сюда входят следующие эффекты:
Для выбора типа эффекта и его настройки необходимо вызвать диалоговое окно Rendering Effect (Визуализация Эффектов) пунктом Effects (Эффекты) падающего меню Rendering (Визуализация). Интерфейс свитка Effects (Эффекты) аналогичен описанному ранее свитку Atmosphere (Атмосфера) эффектов Окружения, за исключением добавленной группы инструментов Preview (Просмотр) (рис. 10.21), которая состоит из следующих настроек:
РИСУНОК 10.21. Инструменты отображения Специальных Эффектов
Далее разберем наиболее полезные из Оптических Эффектов - Lens Effects (Линзовые Эффекты).
В группе параметров Object Information (Информация об Объекте) содержится подгруппа G-Buffer (Графический Буфер) со счетчиком Object Channel (Объектный Канал) (рис. 10.22) (по умолчанию все объекты Мах имеют идентификатор этого канала равный 0).
РИСУНОК 10.22. Объектный Канал G-Buffer (Графического Буфера)
После присвоения объекту нового номера канала его необходимо повторить при настройке того или иного фильтра и тем самым связать объект сцены с Графическим Буфером. Объектных каналов в среде Мах может быть до 65535, чего, безусловно, достаточно для любых комбинаций эффектов.
Кроме описанной процедуры использования Объектного
Канала, можно назначить аналогичный идентификатор G-Buffer (Графического Буфера) материалу объекта. Для этого используется список кнопок в горизонтальной Toolbar (Панели Инструментов) Редактора Материалов, из которого выбирается требуемый номер от 0 до 15.
Теперь вернемся к диалоговому окну Effects (Эффекты) и рассмотрим настройку некоторых фильтров Линзовых Эффектов.
После добавления кнопкой Add (Добавить) набора эффектов в список сцены появятся два свитка - Lens Effects Parameters (Параметры Линзовых Эффектов) и Lens Effects Globals (Глобальные Параметры Линзовых Эффектов) (рис. 10.23) (второй свиток содержит глобальные базовые настройки и обычно нет необходимости их изменять).
Первый свиток организован в виде двух списков: левый содержит набор исходных фильтров, а правый - отображает фильтры, используемые в сцене. Для редактирования правого списка имеются две кнопки -добавления и удаления.
После добавления хотя бы одного элемента списка возникает третий свиток, относящийся к настройкам этого фильтра (рис. 10.25). При установке нескольких фильтров выбор требуемого вызывает его свиток для редактирования.
Работу с настройками фильтра мы рассмотрим в практическом задании этой Главы на примере фильтра Glow (Сияние).
РИСУНОК 10.23. Настройки Lens Effects (Линзовых Эффектов)
Первый пример иллюстрирует метод добавления упоминавшегося ранее эффекта «смазанности» движения быстродвижущихся объектов. В реальной жизни такой результат возникает при съемке на видеокамеру или обычную фотопленку.
1. Загрузите с сайта издательства файл AirPlane3.MAX. Это трехмерная сцена с летящим аэропланом, с которой вы работали, разбираясь с Анимацией. Просмотрите файл анимации AirPlane2.AVI, чтобы восстановить в памяти ее подробности. Для этого вызовите Универсальный Проигрыватель Windows пунктом View File (Просмотреть Файл) падающего меню File (Файл) и выбором в одноименном диалоговом окне.
2. Прежде всего следует определиться: какие из движущихся объектов или элементов сцены требуют применения эффекта Motion Blur (Смазывания Движения). Наверное, корпус летящего самолета выглядит вполне реалистично, и его анимация не вызывает сомнений, а вот пропеллер вращается очень искусственно и нереально. Поэтому выберите объект с именем «Пропеллер» и, вызвав его контекстное меню правым щелчком, укажите пункт Properties (Свойства).
В появившемся диалоговом окне Object Properties (Свойства Объекта) найдите группу Motion Blur (Смазывание Движения), включите флажок Enabled (Включено) и выберите переключатель Object (Объектное). Подтвердите изменения, нажав «ОК» («Да»).
3. Теперь вызовите окно диалога Render Scene (Визуализировать Сцену) одноименной кнопкой из Main Toolbar (Основной Панели Инструментов) и в свитке Max Default Scanline A-Buffer (Сканирующий Визуализатор Мах) найдите группу Object Motion Blur (Смазывание Движения Объекта) (рис. 10.24).
РИСУНОК 10.24. Управление Смазыванием Движения Объекта
4. Включите флажок Apply (Применить) для активизации эффекта и настройте его параметры:
5. Настройте все необходимые параметры для сохранения файла анимации на диск в формате .AVI с использованием кодека Microsoft Video 1 и именем «AirPlane-MBIur.AVI» и запустите процедуру визуализации кнопкой Render (Обсчет).
Просмотрев по окончании обсчета полученный результат, можно еще раз убедиться в качественном улучшении первоначального варианта анимации.
Рассматривая главу «Карты Текстур», вы выполняли практическое задание по созданию материалов восковой свечи и ее горящего пламени. Полученные тогда результаты требовали добавления особенности, труднодостижимой без применения Специальных Эффектов - сияния вокруг язычка пламени. Поэтому разберем особенности такой задачи и инструменты, необходимые для ее решения.
1. Загрузите файл Candle-Glow.MAX и выберите объект с именем «Пламя-Свечи».
2. Назначьте выбранному объекту, используя ранее описанную последовательность действий, канал G-Buffer (Графического Буфера), отличный от 0 (например, 1).
3. Вызовите окно Render Scene (Визуализировать Сцену) и, щелкнув на кнопке «640x480» в группе Output Size (Размер Изображения) для задания размера визуализируемого кадра, закройте окно кнопкой Close (Закрыть).
4. Далее вызовите диалоговое окно Effects (Эффекты) одноименным пунктом падающего меню Rendering (Визуализация) и добавьте кнопкой Add (Добавить) набор Lens Effects (Линзовых Эффектов) в список эффектов сцены.
Раскройте свиток Lens Effects Parameters (Параметры Линзовых Эффектов) и включите фильтр Glow (Сияние). В результате возникнет новый свиток Glow Element (Фильтр Сияния), состоящий из двух закладок Parameters (Параметры) и Options (Настройки) (рис. 10.25).
РИСУНОК 10.25. Параметры эффекта Glow (Сияния)
6. Установите требуемые величины и режимы:
Закладка Parameters (Параметры)
Закладка Options (Настройки)
Apply Element To (Применить Фильтр К): Image Centers (Центры Изображений) - включен, остальные флажки выключены.
Image Sources (Источник Изображения): Object (Объект) - включен, ID = 1, и остальные флажки выключены.
Image Filters (Фильтры Изображения): Bright (Яркость) - включен и равен 200 единицам и остальные флажки выключены, и затем щелкните на кнопке Update Scene (Обновить Сцену) для просмотра полученных результатов (рис. 10.26).
РИСУНОК 10.26. Итоговый кадр визуализации
Варьируя счетчик Size (Размер Ореола) от 2 до 10 единиц, можно ослаблять или усиливать «туманность» сцены, а оттенок сияния настраивается параметром Radial Color : Center Color (Круговой Цвет Центра). Для ослабления цветовой насыщенности этого оттенка следует увеличить счетчик Use Source Color (Использовать Исходный Цвет) до 50-70 единиц.
Контроль сделанных изменений можно выполнять, щелкая на кнопке Update Effect (Обновить Эффект), или включив флажок Interactive (Динамически). В последнем случае любые изменения настроек будут вызывать немедленное обновление Виртуального Кадрового Буфера.
Так как объект «Пламя-Свечи» содержит анимацию, у вас есть возможность выполнить визуализацию сцены с применением Специальных Эффектов в динамике. Для этого задайте диапазон обсчета кадров от 0 до 7 в диалоговом окне Render Scene (Визуализировать Сцену), а также выберите формат файла анимации (тип .AVI с использованием кодека Microsoft Video 1 и именем «Candle-Animated.AVI»). После завершения обсчета загрузите итоговую анимацию для просмотра.
ГЛАВА 11
Начав изучение новой программы (будь это база данных или графический пакет), пользователю не добавит энтузиазма тот факт, что конечный результат будет получен спустя недели, а то и месяцы. Особенно это справедливо для сложных, развитых программных продуктов.
Уже говорилось, что Мах является приятным исключением из этого правила и некоторый усредненный результат достигается буквально после нескольких минут ознакомления с ним. Для того чтобы улучшить такой средний уровень до качественного, вашему вниманию предлагается набор приемов, отработанных годами практического применения во многих реальных проектах для кино, телевидения, архитектурного проектирования, мебельного, промышленного и WEB-дизайна, а также многих других отраслей деятельности, где Мах просто незаменим.
Все Советы скомпонованы по разделам, совпадающим с главами этой книги.
СОВЕТ 1
При добавлении новых подключаемых модулей, библиотек текстур, наборов моделей и сцен придется дробить информацию на другие разделы. Такой перенос чаще всего вносит путаницу и требует дополнительный усилий при переносе файлов, архивации, обновлении версий и т.п.
СОВЕТ 2
Регулярно авторы пакета производят обновление номера версии Мах после внесения изменений, исправления некоторых ошибок, добавления новых функций и процедур. И однажды сформированный алгоритм Путей Доступа к вашим файлам придется подправлять или настраивать дополнительно. Более детально эти настройки описаны в следующем Совете.
СОВЕТ 3
Стандартный подход при создании нового проекта состоит в локализации всех файлов относящихся только к нему, для удобства обновления, архивации и т.п. Следующий пример иллюстрирует этот способ:
1. Допустим, у вас три дисковых раздела:
С: 1 гигабайт D: 2.6 гигабайта Е: 2.6 гигабайта и Мах установлен на второй раздел, то есть на диск D:.
2. Создайте на диске Е: каталог для проектов Мах, например: E:\Work\Max
3. Все проекты размещайте в этом каталоге, отдельно именуя их по своему усмотрению, например:
E:\Work\Max\HHTepbep Банка,
Е:\Wогk\Мах\Поздравление, E:\Work\Max\Аэроплан-01 и т.д.
4. Внутри каждого из каталогов создайте дерево подкаталогов по основным разделам работы с трехмерной сценой:
\Мах - каталог для файлов моделей, сцен, форм и т.п.
\Мар - каталог для файлов текстурных карт, используемых в сценах проекта.
\Work - рабочий каталог для исходных файлов текстур, временных файлов обмена и пр.
\Render - каталог для назначения вывода визуализируемых одиночных изображений и файлов анимационных последовательностей.
\Misc - дополнительный каталог для файлов, «относящихся к проекту», но непосредственно в нем не участвующих (логотипы, видеозахваты, фотографии моделируемых объектов, текстовые файлы комментариев и др.).
Используйте для создания описанного дерева подкаталогов пакетный файл Mtree.BAT (рис. 11.01), добавьте другие каталоги по своему усмотрению.
РИСУНОК 11.01. Пакетный файл
Создайте служебный каталог \BATCH на системном диске и разместите в нем пакетный файл нового проекта - Проект-01 .ВАТ. В результате выполнения этого файла (при вызовах команды SUBST (Заместить) операционной системы Windows) происходит замена длинных путей типа E:\Work\Render на более короткие имена типа R:\. В поле присвоения переменной $$WORK наберите полный путь созданного в предыдущем пункте каталога нового проекта, например, E:\WORK\Проект1.
6. Использование такой замены имеет несколько преимуществ - новые «замещенные» диски отображаются на самом верхнем уровне в диалоговых окнах выбора файлов, разделение информации между отдельными проектами происходит автоматически и т.д. Обратное действие, отменяющее замещение путей на диски, происходит при повторном запуске соответствующего пакетного файла.
7. Называйте пакетные файлы по имени проекта, - в этом случае всегда можно вернуться к редактированию завершенного проекта.
СОВЕТ 4
После запуска программы Мах (а также при выполнении команды Reset (Сброс) из падающего меню File (Файл)) происходит загрузка файла
Maxstart.MAX, расположенного в каталоге \Scenes. В любой новой сцене вам потребуется хотя бы одна камера и один осветитель, генерирующий падающие тени независимо от того, изучаете ли вы программу или делаете реальную работу. Поэтому создайте себе стартовый файл Maxstart.MAX, задав все предварительные установки (рис. 11.02), которые детально разобраны в первом Совете раздела «Освещение и Камеры».
РИСУНОК 11.02. Стартовый файл Maxstart.MAX
СОВЕТ 5
При старте Мах автоматически загружает Default (Исходную) библиотеку материалов с именем Sdsmax.MAT.
Для того чтобы иметь быстрый доступ к нужным материалам, при создании новой сцены, просто добавляйте их в эту библиотеку и сохраняйте на диск в подкаталог \Matlibs в основном каталоге Мах.
СОВЕТ 6
Создавая новые текстурные карты или используя имеющиеся, обратите внимание на файлы, примененные более чем в одном проекте. Такие текстуры целесообразно разместить в одном подкаталоге и включить их в Map Path (Путь Доступа) Мах для обеспечения их загрузки при отладке и визуализации.
Выполните для удобства доступа к ним изменение полученного пути, например, - D:\Max\Maps на замещаемый диск, скажем X:, добавив в пакетный файл создания замещаемых дисков, описанный в Совете № 3 следующие строки:
Subst X: D:\Max Maps В разделе «Подключение дисков» файла Проект-01.ВАТ
Subst X: /D В разделе «Отключение дисков» файла Проект-01.ВАТ
Для включения нового дискового пути в Map Path (Путь Доступа) Мах вызовите диалоговое окно Configure Path (Настроить Путь Доступа) одноименным пунктом падающего меню Customize (Настроить) и укажите новый каталог.
СОВЕТ 7
Предлагаемые Мах клавиатурные ключи не всегда удобны и стоит использовать предоставленную авторами программы возможность переопределить их по своему усмотрению (процедура настройки клавиатуры и назначения кодов описана в Главе «Элементы Управления»). Особенно необходимо назначение коротких (лучше всего длиной в один символ) и удобно расположенных на клавиатуре клавишных сочетаний для часто используемых команд и переключателей. Вот краткий список самых нужных кодов:
Клавиатурная комбинация Функция Constrain to X |
Включить ограничение трансформаций по оси X |
Constrain to Y |
Включить ограничение трансформаций по оси Y |
Constrain to Z |
Включить ограничение трансформаций по оси Z |
Constraint Plane Cycle |
Перебор плоскостей трансформаций |
Maximize View (Toggle) |
Раскрыть видовое окно на весь экран / Уменьшить до исходного |
Zoom In 2X |
Увеличить в 2 раза масштаб изображения в текущем видовом окне |
Zoom Out 2X |
Уменьшить в 2 раза масштаб изображения в текущем видовом окне |
Zoom Extents |
Показать границы сцены в текущем видовом окне |
Zoom Region Mode |
Показ фрагмента видового окна |
Rotate View Mode |
Вращение точки зрения текущего видового окна |
Undo Scene Operation |
Отменить последнее действие |
Redraw All Views |
Обновить все видовые окна |
Select Inverse |
Инвертировать выделение объектов / подобъектов |
Show Home Grid |
Показать Сетку Координат |
Полный список переопределенных клавиатурных кодов содержится в файле MaxNewKeyCodes.KBD на сайте издательства, и для его загрузки и активизации этот файл необходимо переписать в подкаталог UI основного каталога МАХ и, вызвав диалоговое окно Customize Uzer Interface (Установки пользовательского интерфейса) в закладке Keyboard (Клавиатура), щелкнуть на кнопке Load (Загрузить) (рис. 11.03).
РИСУНОК 11.03. Выбор файла клавиатурных кодов
В открывшемся диалоговом окне Load Shortcut File (Загрузить файл клавиатурных сокращений) выбрать файл MaxNewKeyCodes.KBD и щелкнуть на кнопке Open (Открыть).
СОВЕТ 8
Несмотря на довольно устойчивую работу программы, при любых действиях пользователя существует небольшой процент команд и операций, после которых вероятно аварийное завершение текущего сеанса Мах. При таком исходе все изменения, сделанные пользователем, будут потеряны ... с момента последнего сохранения проекта на диск.
Критичными могут быть Boolean (Булевые Операции) со сложными объектами, команды Render Scene (Визуализировать Сцену) и Make Preview (Выполнить Эскиз Анимации) и т.п. Перед запуском таких команд лучше сохранить файл сцены на диск командой Save (Сохранить) из падающего меню File (Файл). Если это первое сохранение данных, то диалоговое окно Save File As (Сохранить Файл Как) потребует указания дискового каталога и имени нового файла (рис. 11,04).
РИСУНОК 11.04. Диалоговое окно сохранения файла проекта
И вдобавок существует специальная пара команд Hold (Сохранить Текущее Состояние) и Fetch (Восстановить Текущее Состояние), вызываемая из падающего меню Edit (Редактирование), а также системные настройки Auto Backup (Автоматическое Сохранение), находящиеся в одноименной группе закладки Files (Файлы) диалогового окна Preference Setting (Настройки Параметров) (рис. 11.05). Флажок Enable (Включить) управляет режимом включения автосохранения, а счетчики Number of Autobak files (Число Версий Файлов) и Backup Interval (minutes) (Интервал Сохранения (минуты)) задают его основные параметры.
РИСУНОК 11.05. Настройки Автоматического Сохранения
СОВЕТ 9
Для выборки всех примененных в сцене файлов текстур предназначена команда Archive (Архив), вызываемая из падающего меню File (Файл). В диалоговом окне File Archive (Файл Архива) необходимо указать имя создаваемого архива и дисковый каталог (рис. 11.06).
РИСУНОК 11.06. Указание имени создаваемого архива
После подтверждения дополнительное окно системной консоли отобразит процесс архивации, и после его завершения (рис. 11.07) созданный файл архива на диске будет готов для переноса.
РИСУНОК 11.07. Отображение процесса создания архива
После его распаковки на другом компьютере все файлы, участвующие в проекте, окажутся в одном каталоге, и для работы не понадобится никаких дополнительных настроек.
СОВЕТ 10
Для работы с Мах всегда требуется максимум доступной оперативной и дисковой памяти. В большинстве стандартных ситуаций почти невозможно использовать еще какие-либо другие программы одновременно с Мах, - задачи трехмерного моделирования очень ресурсоемки. Поэтому самый лучший способ избежать «зависаний» и сбоев состоит в монопольном запуске Мах и закрытии всех остальных задач.
Моделирование
СОВЕТ 11
Очень часто приходится корректировать геометрию сплайнов после того, как они применены в качестве форм для моделирования объектов Bevel (Скоса), Lathe (Вращения), а также Лофтинговых объектов.
Применение таких операций, как, например, Outline (Оконтуривание), Boolean (Булевые Операции), Chamfer/ Fillet (Фаски / Круговые Фаски) на подобъектном уровне не дает возможности варьировать однажды сделанные изменения. Если же такие действия произведены на дополнительном уровне, каким является в стеке модификатор Edit Spline (Редактировать Сплайн), то его можно просто удалить, а затем вновь добавить уже с новыми параметрами. Во всех остальных случаях придется заново создавать исходный сплайн.
Даже при использовании всех остальных типов сплайнов, не имеющих по-добъектного уровня, такой подход не менее актуален. При применении нескольких операций каждую из них предпочтительнее производить на отдельном уровне стека.
СОВЕТ 12
В одном из разделов главы «Моделирование» вы встречали краткое описание способов для придания трехмерной модели свойств, характерных объектам реального мира.
Действительно, большинство примитивов Мах имеет регулярную структуру и смотрится неестественно при имитации ими натуральных элементов, даже при наличии реалистичных материалов. Ведь реальные объекты имеют непостоянство сечений, выбоины, царапины, отломы- деформации, лишь отчасти создаваемые различными текстурными картами. Требуется нарушение правильности их геометрии, что и достигается использованием этих двух модификаторов.
Например, при моделировании мольберта и чашки для карандашей в проекте дизайна обложки архитектурного буклета нарушение параллельности их граней и фасок модификатором Noise (Нерегулярность) привело к более реалистичной передаче деревянной фактуры (рис. 11.8).
РИСУНОК 11.8. Использование модификатора Noise (Нерегулярность)
В другом случае при попытке придать фактор «природности» поверхности и форме некоторых фруктов для рекламного ролика о детском питании задей-ствовался инструмент Edit Mesh (Редактирование Каркаса). Модели создавались с использованием режима Soft Selection (Мягкого Выделения) и «ручной» доводкой формы, что в конечном итоге лишь усилило реальное восприятие итогового изображения (рис. 11.09).
РИСУНОК 11.09. Использование модификатора Edit Mesh (Редактирование Каркаса)
СОВЕТ 13
Некоторые модификаторы предназначены для сугубо служебных целей, и один из них - Optimize (Оптимизировать) - может быть очень полезен при работе со сложной геометрией трехмерной сцены. Свиток Parameters (Параметры) позволяет устанавливать настройки оптимизации объекта и сразу же контролировать степень реальной экономии программных ресурсов (рис. 11.10), которые скажутся на времени визуализации сцены или просто на общем быстродействии системы.
Пара счетчиков Face Threshold (Критерий Граней) и Edge Threshold (Критерий Ребер) задает режим оптимизации, а статусная группа Last Optimize Status (Последний Результат Оптимизации) отображает величину этой оптимизации в виде соотношения числа вершин и граней до и после оптимизации.
РИСУНОК 11.10. Параметры модификатора Optimize (Оптимизировать)
РИСУНОК 11.11. Применение Оптимизации (кадр крупного плана)
При выборе крупного плана, безусловно, заметна разница итогового изображения, и оптимизация дает небольшой прирост (рис. 11.11), однако для общих планов сложные объекты могут быть оптимизированы до 50 % без потери качества финального изображения (рис. 11.12).
РИСУНОК 11.12. Применение Оптимизации (кадр общего плана)
СОВЕТ 14
Этот совет содержится в большинстве изданий о Мах и работе с ним. В самом деле, пока еще вычислительная мощь среднего настольного компьютеpa имеет пределы, и задумываться о работоспособности программы при обсчете сложных сцен приходится почти всем.
Небольшая иллюстрация дает подтверждение верности такого подхода: модель зимней ели для трехмерного ландшафта, примененная в анимационном фильме о белых медвежатах, состоит из 150 тысяч граней а таких деревьев в сцене около 600 (!)
Однако, при итоговом обсчете (даже для крупных планов) хватило замещения каркасного объекта вспомогательным
Этот объект состоял из двух плоскостей, которым были назначены текстуры Ambient / Diffuse Color (Основных Цветов), Opacity (Непрозрачности) и Self-Illumination (Самосвечения)
СОВЕТ 15
Предыдущий совет рекомендует замену геометрии объекта его изображением и силуэтом, переведенным в соответствующие текстурные карты. Однако такой способ имеет одно неудобство: падающая тень либо совсем неправильная (при выборе типа тени Shadow Map (Карта Тени)), либо имеет фиксированную четкость и большее время генерации (при выборе типа тени Ray Traced Shadows (Трассируемые Тени))
В таких случаях следует создать «полностью прозрачный объект» (настроив и назначив ему соответствующий прозрачный материал), приблизительно повторяющий текстуру Opacity (Непрозрачности), и отключить у объекта ели параметр Cast Shadow (Падающие Тени) в диалоговом окне Properties (Свойства). После этого можно контролировать настройки падающей тени, в частности, размытость края
СОВЕТ 16
Любой сплайн в среде Мах имеет флажок Renderable (Визуализируемый) и счетчик Thickness (Толщина), содержащиеся в свитке Rendering (Визуализация). Первый из параметров включает визуализацию сплайна при обсчете сцены, а второй управляет его толщиной в единицах измерения, принятых в ней.
Флажок Display Render Mesh (Показать Визуализируемый Каркас) активизирует отображение процедурной геометрии в видовых окнах и дает возможность визуально настроить толщину по масштабу.
Такие объекты легко редактируются и требуют гораздо меньше системных ресурсов, нежели аналогичные им каркасные модели, а итоговое изображение имеет достаточно достоверный вид. Модели светильника и люстры, разработанные для презентации, имеют криволинейные элементы декоративных стеблей, лучше всего создаваемых визуализируемыми сплайнами различной толщины
СОВЕТ 17
При создании некоторых объектов Лофтинга, составных объектов или просто в результате модифицирования сложной геометрии возникают ненужные отверстия и проемы. Существует способ быстро заполнить их граневой плоскостью и тем самым накрыть эти отверстия.
Для этого служит модификатор Cap Holes (Накрыть Отверстия), набор параметров которого предельно прост
Флажки Smooth New Faces (Сглаживать Новые Грани) и Smooth With Old Faces (Сглаживать с Гранями Объекта) включают соответствующие режимы сглаживания граней, а флажок All New Edges Visible (Все Новые Грани Видимые) управляет видимостью создаваемых граней.
В процессе применения этого модификатора Мах пытается соединить набором граней все открытые края модели и сформировать замкнутую поверхность.
СОВЕТ 18
Иногда в результате создания сложной модели образуется «лишняя» геометрия, которую нельзя оптимизировать или удалить. С другой стороны, занимаясь корректировкой формы, было бы желательно исключить ненужные фрагменты при тестовых обсчетах. В таких случаях очень удобно применить модификатор Slice (Отсечь), настройки которого позволяют задать несколько режимов этой операции
Переключатели Remove Top (Удалить Верх) и Remove Bottom (Удалить Низ) служат для скрытия соответствующей части модели, реально не удаляя выбранный фрагмент
СОВЕТ 19
Если модель уже создана и имеет острые ребра, ухудшающие ее внешний вид, то один из способов усложнения заключается в использовании модификатора MeshSmooth (Сглаживание Каркаса). Набор настроек этого инструмента довольно велик, поэтому остановимся только на основных из них.
Пара счетчиков Strength (Сила) и Relax (Ослабление) управляет величиной сглаживания ребер каркаса, а счетчики Iterations (Число Повторений) и Smothness (Гладкость) задают параметры детальности и плавности результирующей поверхности.
Для сохранения общего объема редактируемой модели иногда может быть очень желательна активизация режима Keep Faces Convex (Учитывать Выпуклости), а избежать неподходящего сглаживания ребер можно, включив режимы Separate by (Разделения по) Materials (Материалам) или Smoothing Groups (Группам Сглаживания).
Очень многие библиотеки моделей, доступные для использования, имеют такой изъян, как острые края и недостаточная подробность формы, поэтому, используя описанное средство Мах, вы сможете значительно усложнить геометрию таких объектов и сделать их лучше.
СОВЕТ 20
Кроме тех случаев, когда необходимо изучение инструментов и методов моделирования, старайтесь избавить себя от рутинной работы и повторений.
В самом деле, Мах имеет очень мощный набор процедур и механизмов для случаев применения подобия и симметрии. Объекты, имеющие одну или две оси симметрии, могут быть созданы гораздо быстрее, нежели несимметричные. Причем лучше этот принцип применить в начальной стадии моделирования объекта.
При создании симметричной модели методом Лофтинга или Формования достаточно бывает сделать половину или четверть ее объема, уделив больше внимания деталям фрагмента, и затем выполнить зеркальное копирование.
Места стыков легко «сшиваются» с использованием модификатора Edit Mesh (Редактирование Каркаса). Перейдя на подобъектный уровень Vertex (Вершина), необходимо выделить набор вершин, образующих стыковые кромки и задать параметр Weld Selected (Порог Объединения Выделения) в группе Weld (Объединить) свитка Edit Geometry (Редактирование Геометрии) .
Этот параметр должен превышать наибольшее расстояние между вершинами, образующими стыковые кромки, тогда при щелчке на кнопке Selected (Выбранные) произойдет объединение вершин, и шов исчезнет.
Использование подобия также очень полезная функция Мах, и особенно режим копирования с сохранением связи копий с оригиналом - режим Instances (Экземпляров) (суть этого метода рассматривалась в предыдущих Главах, поэтому останавливаться на нем мы не будем).
Например, при моделировании зимнего лесного ландшафта достаточно создать одно дерево и выполнить команду Array (Массив) с определенными параметрами. В результате исходный объект будет скопирован по методу Instances (Экземпляров) и теперь любые изменения, производимые над каким-либо из деревьев, немедленно отобразятся в остальных моделях.
Всем хорош созданный фрагмент трехмерной сцены, кроме одного нюанса: все его элементы совершенно одинаковы, чего в реальном мире не бывает. Напрашиваются действия по изменению масштаба, углов наклона и поворота отдельных деревьев, и все это можно сделать минимальными усилиями, о чем и расскажет следующий Совет.
СОВЕТ 21
Рассмотренный в предыдущем пункте пример имеет несколько вариантов продолжения для придания ему реалистичного вида. Один из самых простых способов состоит в использовании известного вам модификатора Noise (Нерегулярность).
Прежде всего, модели деревьев необходимо сгруппировать и после применить требуемый модификатор со следующими параметрами:
В результате итоговое изображение значительно прибавит в реализме, хотя для усиления все же потребуются некоторые перемещения, повороты и изменения масштаба отдельных элементов группы.
СОВЕТ 22
По справедливости, этот совет следовало бы поставить в начало раздела, так как очень часто нет никакой необходимости демонстрировать чудеса моделирования - они все равно не попадут в кадр. Особенно это верно, когда трехмерная сцена содержит анимацию, хотя и в неподвижных кадрах встречается нередко.
Например, трехмерная сцена для рекламного ролика о бытовой технике для всей семьи содержала модель участка городского парка с сидящими на скамейке мамой и папой в окружении своих детей. Анимация камеры имела панораму по фронту сцены с незначительным изменением угла наклона и высоты съемки. Безусловно, не было никакой необходимости моделировать все детали «невидимых» зрителю лиц родителей и даже некоторых частей их фигур.
Если взглянуть на эту же сцену с другой точки зрения, то можно отчетливо представить, какой объем лишней работы удалось не делать только благодаря одной единственной установке - «Моделируйте только то, что увидит зритель»
СОВЕТ 23
Может быть этот совет, последний в разделе о Моделировании, звучит несколько неконструктивно, однако в условиях постоянной нехватки времени он, безусловно, актуален.
Огромное количество энтузиастов и просто увлекающихся людей занимаются моделированием, созданием материалов, библиотек текстур, и совсем необязательно, что все это является коммерческими продуктами. Многие из таких библиотек и коллекций условно-бесплатные или полностью бесплатные, что дает право на их применение в любых проектах, вплоть до коммерческих.
Используя Всемирную Сеть Интернет, вы можете найти модели почти всех объектов реального и виртуального миров, да еще во множестве вариаций. И если вы только не специально изучаете моделирование или не делаете конкретно «вот эту модель вот этого велосипеда», то всегда предпочтительнее не изобретать его вновь, а воспользоваться наработками других и употребить свое время на совершенствование, например, освещения трехмерных сцен, о чем и пойдет речь в следующем разделе «Советов».
СОВЕТ 24
Выполните запуск Мах, и в видовых окнах отобразится «пустая» сцена -каждый новый проект берет настройки из базового файла Maxstart.MAX. Для того, чтобы не повторять всякий раз определенную последовательность действий по созданию осветителей и камеры, настройки их свойств и т.п., можно сделать это один раз, сохранив упомянутый файл.
Сначала необходимо создать два осветителя - основной, типа Target Spot (Направленный Прожектор), генерирующий падающие тени, и вспомогательный, типа Omni (Всенаправленный), для подсветки теневых граней «рефлексным» светом. Щелкните на кнопке Lights (Источники Света) в панели Create (Создать) и, выбрав по очереди соответствующие кнопки типов осветителей, создайте два требуемых источника света. Затем, вызвав свиток типов камер кнопкой Cameras (Камеры), создайте объект Target Camera (Нацеленную Камеру). Значения координат создаваемых объектов возьмите из таблиц:
Перейдите в панель Modify (Редактировать) и, выбирая по очереди созданные объекты, настройте их параметры следующим образом:
Попробуйте самостоятельно задать осветителям и камере более информативные имена, нежели предлагаемые Мах по умолчанию.
Сохраните изменения в файл с именем Maxstart.MAX на диск и в дальнейшем при создании новой сцены у вас всегда будет готова база для быстрого старта проекта.
СОВЕТ 25
В некоторых случаях осветитель типа Omni (Всенаправленный), аналогичный созданному в предыдущем пункте, дает слишком глобальную засветку теневых граней, что, безусловно, не способствует реализму итогового изображения. Требуется добавление нескольких локально действующих источников света в требуемых местах сцены. Такие осветители обязательно должны использовать режим Attenuation (Ослабления) для ограничения их влияния. Иногда необходимо задействовать функцию Exclude / Include (Включить / Исключить) для конкретного указания объектов, освещаемых источником света.
Например, при разработке вариантов рекламного плаката минеральной воды необходимо было выбрать точку зрения «против солнца», и кадр заиграл яркими всплесками света только после добавления двух осветителей типа Omni (Всенаправленный) с активизированной функцией Attenuation (Ослабления)
Другой пример иллюстрирует аналогичный подход для имитации рефлексов при искусственном освещении. Трехмерная сцена интерьера служебного помещения банка имеет около 8-ми потолочных светильников и для того, чтобы избежать «пересветки» моделей мебели и других элементов, пришлось ослабить силу основного освещения (установив Multiplier (Множитель) равным 0.6 единиц), а также добавить 6 дополнительных «рефлексных» осветителей типа Omni (Всенаправленный) в требуемых местах.
СОВЕТ 26
Очень часто моделируемая сцена приобретает дополнительную степень реализма при имитации нестандартных условий освещения. Это может быть ночной вид города, театральная сцена с декорациями и цветными прожекторами, специфическое «красное» освещение проявочной комнаты фотографа и т.д. Безусловно, такие сцены требуют создания специальных материалов и объектов, усиливающих нужное впечатление, однако главный критерий, задающий «настроение», - нестандартный свет. Рассмотрим на примере ночного вида сказочной площади для рекламного ролика (рис. 11.37) примененные типы осветителей и их настройки.
Основной источник света - «полная луна» - находится над правым плечом наблюдателя и формирует освещение сцены и падающие тени. Приблизительно под углом 50 градусов установлен осветитель типа Target Spot (Нацеленный Прожектор), имеющий следующие настройки:
Обратите внимание на параметр Size (Размер) в свитке Shadow Map Params (Параметры Карты Теней). Такое большое значение обусловлено значительной площадью, покрываемой «луной», ведь тени должны оставаться четкими по всему кадру. Остальные осветители типа Omni (Всенаправленный) расставлены в местах расположения фонарей, и все они имеют активизированную функцию Attenuation (Ослабления) для локализации их влияния на объекты сцены.
СОВЕТ 27
Этот совет актуален для разработки анимирующих сцен с одним активным объектом. Применяя механизм слежения камеры за таким объектом, можно усилить зрительский акцент и скрыть некоторую недоработку окружения (скажем, при ограниченности времени).
Например, при создании рекламного ролика об очистке воды был выбран центральный объект-персонаж - отдельная водяная капля (рис. 11.38). Не вдаваясь в подробности разработки ее характера и вариантов поведения в кадре (персонажная анимация может быть темой отдельной серьезной книги), остановимся на «поведении» камеры в этом примере.
Мах очень просто решает такую задачу, как слежение камеры за объектом: создается камера типа Target Camera (Направленная Камера) и ее Target (Цель) связывается командой Link (Связать) с требуемым объектом. В результате при его дальнейшей анимации такой объект всегда будет в центре кадра и, следовательно, в центре внимания зрителя
Конечно, аниматору необходимо следить за такими вещами, как крупность плана или угол зрения камеры, но это уже тема другого «Совета».
СОВЕТ 28
Существует несколько общих правил компоновки неподвижных изображений и последовательных кадров анимации. Все они тем или иным образом связаны с параметрами и настройками камеры:
Симметрия кадра
Почти всегда формальная или ощущаемая симметрия положительно сказывается на зрительском восприятии. Это справедливо для информационных текстовых блоков, элементов сцены, световых и теневых пятен и т.д.
Если компоновка кадра имеет выраженную асимметрию, то часто необходимо добавлять дополнительные элементы в кадр для «уравновешивания»
Крупность плана
Кроме тех случаев, когда необходимо усиление какого-либо акцента, лучше воспринимаются «спокойные» кадры с максимальной площадью главного объекта или группы объектов до 50 % площади изображения
Угол зрения
СОВЕТ 29
Создавая трехмерные сцены интерьеров больших холлов, галерей или анфилад, очень часто бывает необходимо выполнить анимацию камеры в виде прохода или проезда по прямой или изогнутой траектории. Существует стандартный прием, облегчающий решение такой задачи, -необходимо создать объект Dummy (Служебный) и командой Link(Связать) выполнить связывание с ним объектов Camera (Камеры) и Camera.Target (Цели). Предварительно следует расположить такой объект так, чтобы его центр совпадал с точкой Цели, выполнив команду Align (Выравнивание).
В связанной группе объект Dummy (Служебный) будет являться Parent (Родителем), а камера и ее цель - Childs (Потомками), и при трансформациях перемещения и поворота родителя подчиненные объекты претерпевают такие же преобразования. Например, для прохода по галерее модели средневекового замка основное движение задавалось служебному объекту, а камера имела собственную анимацию
Примененные замедления и ускорения движения родителя «наложились» на траекторию потомков, и таким образом удалось избежать рывков и нерегулярностей.
Такой же механизм был применен для визуализации проектируемых интерьеров городского отделения Национального банка, однако траектория была несколько сложнее и изменялась в трех измерениях
Более сложное движение с использованием уже двух объектов Dummy (Служебный) было применено для анимации «ходьбы по снегу» в новогоднем ролике для телевидения (рис. 1.01). Один из вспомогательных объектов перемещался в глубь сцены, связанный с ним второй задавал циклические качания, а камера и цель были подчинены этому второму объекту.
СОВЕТ 30
Этот режим уже рассматривался в Главе «Освещение и Камеры», и сейчас самое время проиллюстрировать его на конкретном примере. При создании уже упоминавшегося рекламного ролика с участием белых медвежат необходимо было создать «падающий снег», который генерировался дополнительным Plug-In (Подключаемым Модулем). Однако возникла непредвиденная проблема: некоторые снежинки, пролетая перед самым объективом камеры, «ломали кадр», разрушая целостность восприятия. Уменьшение размера «снежных хлопьев» привело к их исчезновению в глубине сцены и также не решало вопроса.
Тогда был найден следующий выход: у камеры был включен режим секущих плоскостей, причем Near Clip (Ближнюю Границу) достаточно было передвинуть на несколько десятков единиц вперед, тем самым отсекая от зрителя все ненужные объекты сцены.
Аналогичный прием помог при визуализации интерьера комнаты отдыха, когда точка зрения перекрывалась наружной стеной помещения. Расположив первую секущую плоскость непосредственно перед внутренней поверхностью мешавшей стены, удалось «увидеть» кадр с нужной точки
СОВЕТ 31
Обычно материалы следует настраивать после создания геометрии и установки освещения, ведь их нужно чему-то присваивать и видеть в том
В Главе «Материалы» уже говорилось о необходимости избегать пользоваться генерируемыми Мах именами типа Material #1 или Map #1. Действительно, такие имена создадут серьезные затруднения при их выборке, поиске и повторном использовании, ведь иногда проекты содержат сотни материалов и текстурных карт!
Используйте какую-нибудь простую схему для их именования и объединения в библиотеки: по виду материала (дерево, металл, камень и т.д.), по проектам (интерьеры банка, ролик для телевидения, визуализация моделей оборудования и т.д.) или сочетание этих двух схем. Это избавит вас от напрасной траты времени и поможет более эффективно работать в среде Мах.
СОВЕТ 32
В Главе «Материалы» уже говорилось о необходимости избегать пользоваться генерируемыми Мах именами типа Material #1 или Map #1. Действительно, такие имена создадут серьезные затруднения при их выборке, поиске и повторном использовании, ведь иногда проекты содержат сотни материалов и текстурных карт!
Используйте какую-нибудь простую схему для их именования и объединения в библиотеки: по виду материала (дерево, металл, камень и т.д.), по проектам (интерьеры банка, ролик для телевидения, визуализация моделей оборудования и т.д.) или сочетание этих двух схем. Это избавит вас от напрасной траты времени и поможет более эффективно работать в среде Мах.
СОВЕТ 33
Как только вы начинаете работать с текстурами при отладке материалов сцены, сразу же нарастает замедление процесса обсчета промежуточных результатов, и это естественно, ведь текстуры загружаются в память, фильтруются, трансформируются и проецируются.
Существует довольно простой способ ускорить тестовые обсчеты сцены: отключить флажок Filter Maps (Фильтрация Карт) в диалоговом окне Render Scene (Визуализировать Сцену). Однако если вы занимаетесь настройкой материалов сцены, то такая установка лишь «смажет картину».
Решение может быть следующим: просто создайте два подкаталога в директории текстурных карт разрабатываемого проекта и назовите их Big (Большой) и Small (Малый). В первый перенесите все файлы текстур без изменения, а во второй - уменьшенные (например, в 2 раза) копии этих файлов. И затем копируйте требуемый набор в основной каталог текстур в зависимости от того, производите ли вы отладку сцены, или ее итоговый обсчет.
СОВЕТ 34
Редкие материалы в реальной жизни имеют равномерную окраску и постоянную структуру, кроме, естественно, искусственных, составляющих не бывшие в употреблении объекты. Природные материалы имеют большой набор нерегулярностей, имитация которых при создании материалов в трехмерных сценах заставляет зрителя верить происходящему на экране.
Это могут быть, например, потеки ржавчины, царапины и выбоины, реализуемые использованием текстурных карт соответственно в каналах Diffuse (Рассеянного Цвета), Bump (Рельефа) и Reflection (Отражения). Причем в первом и последнем случае это были текстуры типа Mask (Маска) для задания области наложения
Безусловно, при этом необходимо чувство меры и целесообразности, потому что заказчик вряд ли получит удовольствие от такого «реализма», скажем, при визуализации интерьера гостиной с мебелью, которая... будет вся в пятнах, царапинах и трещинах
СОВЕТ 35
При рассмотрении карт текстур особый акцент делался на применении процедурных карт. Напомним, что главное их преимущество - отсутствие повторяемости рисунка в двух- или трехмерном пространстве. Такие карты, если они удовлетворяют визуальным требованиям, всегда предпочтительнее сходных им растровых текстур. Для примера рассмотрим часто используемый для фона материал типа «Звездного Неба».
Открыв новый проект в среде Мах, запустите Редактор Материалов. В свободной ячейке задайте имя новому материалу и выберите тип тонирования Blinn (Алгоритм Блинна).
Затем настройте параметры свитка Blinn Basic Parameters (Базовые Параметры Алгоритма Блинна)
Далее перейдя в свиток Maps (Карты Текстур), щелкните на кнопке канала Diffuse Color (Рассеянный Цвет) и в диалоговом окне Material / Map Browser (Просмотрщик Материалов / Текстур) выберите тип карты Splat (Всплески). В появившемся свитке Splat Parameters (Параметры Всплесков) задайте требуемые значения счетчиков текстурной карты, причем цвета Color #1 и Color #2 нужно сделать соответственно «черным», со значениями RGB = 0:0:0, и «белым» - RGB = 255:255:255. В результате будет получен материал, пригодный для использования в качестве «звездного фона»
После назначения нового материала «небесной сфере», расположения камеры внутри нее и добавления спецэффектов визуализируемое изображение вполне пригодно для использования
СОВЕТ 36
Чистый или «открытый» цвет в природе встретить очень трудно, так как почти все естественные материалы являются цветовой смесью различных пропорций. Это значит, что совсем не обязательно делать, например, небо -. голубым, траву - зеленой, а помидор - красным, используя стопроцентные значения этих цветов. Пытайтесь смешивать краски и варьировать оттенки при создании материалов и текстурных карт, от этого ваши «трехмерные картины» только выиграют.
СОВЕТ 37
Одновременная работа Мах и какой-нибудь другой программы чаще всего заканчивается необъятным файлом подкачки на диске или вообще крахом приложений. Об этом уже говорилось в одном из предыдущих Советов, однако очень часто возникает необходимость, например, просматривать результаты в Мах, изменяя карту текстуры в растровом редакторе.
Такой режим может иметь место, однако необходимо соблюсти некоторые предосторожности:
Остается лишь добавить, что описанный режим необходим больше для сложных проектов и текстур и менее подвержен сбоям при наличии рекомендуемого размера оперативной памяти (512 мегабайт и более).
Анимация
СОВЕТ 38
Нередко бывает очень трудно манипулировать объектами насыщенных сцен, особенно если модели имеют сложную геометрию. Увеличение системных ресурсов (наращивание оперативной памяти, замена процессора) могут помочь в решении такой проблемы лишь отчасти, да и не всем это доступно. Однако есть и другие методы, один из которых мы и рассмотрим.
Решение состоит в подмене сложной геометрии на более простую на период создания и отладки анимации. Необходимо, чтобы модели такой подмены приблизительно повторяли форму и размеры исходных: должны совпадать их Pivot Points (Опорные Точки), иерархия связанных элементов и т.д. Следует сразу оговориться, что, в случае анимации элементов подобъектного уровня объекта (таких, как, например, Vertex (Вершина) или Face (Грань) в модификаторе Edit Mesh (Редактировать Каркас)), подмена геометрии невозможна.
Выполнение требуемой процедуры несложно и состоит из следующих шагов:
Приблизительно такой же алгоритм использовался для рекламного ролика о белых медвежатах -геометрия сцен была очень сложной, иногда доходя до 2'000'000 граней в одной сцене, которую было непросто даже загрузить, не то, что работать. Основными «тяжелыми» объектами были персонажи-медвежата (каждый около 200'000 граней) и модели бензовозов (приблизительно 250`000 граней). Некоторые из фрагментов содержали одновременно пять действующих персонажей и три бензовоза. Попытка обсчитать один кадр на компьютере с 256 мегабайтами памяти ни к чему не привела, так как не удалось дождаться даже окончания этапа Transforming Objects (Обработки Объектов) в течение 8 ночных часов. Пойдя по описанному выше пути, геометрию удалось упростить, и число граней уменьшилось в 15 раз.
СОВЕТ 39
Если вы занимаетесь доводкой анимации сцены и вам необходимо часто выполнять визуализацию того или иного фрагмента, назначьте итоговый путь для сохранения файла в подкаталог Previews основного каталога Мах, укажите тип файла - .AVI и наберите следующее имя «_scene.AVI».
Это позволит вызывать просмотр результатов обсчета одним нажатием на клавиатуре или пунктом View Preview (Просмотр Эскиза Анимации) из падающего меню Rendering (Визуализация).
СОВЕТ 40
Одна из технологических новинок разработчиков Мах состоит в наличии встроенного проигрывателя для воспроизведения анимационных последовательностей. Вызов диалогового окна RAM Player (Проигрывателя Анимации) осуществляется одноименным пунктом падающего меню Rendering (Визуализация). Для загрузки файлов анимационной последовательности необходимо щелкнуть на кнопке Open Channel А (Открыть Канал А) и указать первый из них в стандартном диалоговом окне выбора файлов.
В результате кадры анимации будут загружены в оперативную память и вы сможете плавно и без рывков проигрывать полученный ролик с разными скоростями воспроизведения (используя раскрывающийся список в правой верхней части окна RAM Player (Проигрывателя Анимации)), в прямом и обратном направлении (используя кнопки Playback Forward (Воспроизвести Вперед) и Playback Reverse (Воспроизвести Назад)).
СОВЕТ 41
Уже говорилось о том, что Специальные Эффекты заставляют зрителя охотнее верить происходящему действию, так как он видит, подчас даже не отдавая себе отчета, многие нюансы реальной жизни. Это касается, например, засветки объективов камеры или фотоаппарата прямыми лучами света, размытия границ быстро движущихся объектов, фокальных эффектов. Небольшая иллюстрация вас в этом убедит.
Использование фокальных эффектов желательно в любой трехмерной сцене, так как по определению сцена имеет глубину, которая должна фиксироваться камерой. Это отражается на общей визуализации кадра: четко видны лишь объекты, находящиеся в фокусе, а элементы сцены, расположенные до и после границ фокусировки, должны отображаться размытыми (рис. 11.57). Для применения этого эффекта в Мах необходимо активизировать соответствующий режим в группе параметров Multipass Effects (Многопроходные Эффекты) в свойствах активной камеры. Функциональная кнопка Preview (Просмотр) включает режим отображения глубины резкости в видовом окне камеры. Получить фотореалистичную «картинку с глубиной» можно, даже используя значения параметров по умолчанию.
СОВЕТ 42
Другой, часто используемый аниматорами эффект Image Motion Blur (Смазывание Движения Всего Кадра), предназначен для создания общей смазанности кадра, вызванного быстрыми перемещением, поворотом или трансфокацией (изменением крупности) кадра камеры, и создаваемое изображение приобретает убедительность и реализм, приближенный к съемочным кадрам.
Процедура включения и настройки эффекта производится аналогично описанной для Object Motion Blur (Смазывание Движения Объекта) в Главе «Визуализация и Спецэффекты». У объектов сцены необходимо включить переключатель Image (Изображение) в диалоговом окне Properties (Свойства), а соответствующей группе окна Render Scene (Визуализировать Сцену) - флажок Apply (Применить). Расположенный там же счетчик Dura-tion (frames) (Длительность (кадры)) задает силу смазывания.
В результате визуализируемые кадры получаются более достоверными и качественными , не говоря о том, что применение описанного эффекта позволяет скрыть многие недостатки и упрощения геометрии, освещения, материалов и т.п.
СОВЕТ 43
Используйте максимально доступное количество источников информации, планируя работу над новым проектом - энциклопедии, каталоги, журналы, электронные базы, фотографии и т.д. Поищите необходимую информацию в Интернет, благо там ее предостаточно. Словом, соберите как можно больше исходных данных о компонентах будущего проекта - такой подход только поможет делу.
Например, при создании рекламного ролика о бытовой электронике для работы пригодились иллюстрированные каталоги моделей фирм-производителей. А ролик о доставке нефтепродуктов был бы невозможен без журналов о грузовиках и тягачах
СОВЕТ 44
Кроме тех случаев, когда трехмерный художник импровизирует, требуется четкий план работы над проектом и, особенно в архитектуре и дизайне. Аниматоры такие раскадровки называют сюжетными панелями, дизайнеры - эскизами и набросками, однако, по сути, - все это средства, управляющие таким сложным процессом, как творчество.
Совсем необязательно делать это, придерживаясь каких-то правил, достаточно зафиксировать так или иначе свой замысел, и в целом обрисовать детали будущего проекта. Такая схема сэкономит вам в дальнейшем много времени и сил.
СОВЕТ 45
Для многих совет использовать Файл Помощи покажется слишком очевидным, однако такая рекомендация адресована прежде всего тем пользователям, которые совсем не используют этот режим в работе, а также тем, кто разуверился в его применении, не найдя ответов в справочных системах других программ
Можете не сомневаться, Файл Помощи в Мах может с успехом заменить полное руководство по пакету, да еще с приложениями, и вряд ли вы не найдете ответов на интересующие вас вопросы.
СОВЕТ 46
Многие, если не все вопросы уже задавались кем-либо и, посетив различные конференции и чаты в Интернет, вы почти всегда сможете быстро найти требуемую информацию. Список ресурсов Интернет приведен в Приложении № 2 и содержит много полезных ссылок.
СОВЕТ 47
Безусловно, улучшение конфигурации компьютера - сложный вопрос, не решаемый в одну минуту. Однако для того, чтобы трехмерное творчество стало для вас удовольствием, а не каторгой, рассмотрите со всех сторон такую возможность.
Если у вас система, сходная с «Минимальной», описанной в Главе «Установка и Настройка Мах», то следующим этапом может стать уже конфигурация «Рекомендуемая» и так далее.
СОВЕТ 48
Большинство проблем, связанных с нестабильной работой, сбоями и зависаниями, возникает при использовании Мах на компьютерах с операционной системой Windows 95 и Windows 98. Хотя Мах и совместим с ними, бесперебойная работа гарантируется авторами только совместно с Windows NT, Windows 2000 и Windows XP.
Переход на Windows NT для обычного пользователя проблематичен: отсутствует система Plug-n-Play (Автоконфигурирование Аппаратуры), нет поддержки игровых процедур и т.п. Поэтому самый правильный выбор на сегодняшний день, если уж и менять операционную систему, то это должна быть Windows 2000 или Windows XP.
К моменту выхода этой книги Windows XP должна стать одной из лучших платформ для Мах. Она сочетает в себе удобство Windows и надежность NT, поэтому дождитесь официального релиза: по всем предварительным данным связка Max-Windows XP должна быть идеальной.
СОВЕТ 49
Работая над созданием геометрии трехмерных моделей, настраивая материалы и освещение, старайтесь избегать упрощений там, где это необходимо. Особенно это важно на начальной стадии работы в Мах, так как многие успокаиваются, изучив несколько десятков примитивов и приемов.
Конечно, в каждом конкретном случае степень сложности компонентов сцены будет разная, однако важна сама установка «делать, как в жизни»
Например, некоторые из рекламных роликов создавались параллельно с изучением новой версии Мах, и сюжет не требовал особой необходимости в создании подробных моделей. Однако для лучшего усвоения материала и наработки практического навыка объекты были максимально усложнены, что в конечном итоге не только отразилось на результате, но и доставило автору радость творчества.
СОВЕТ 50
И последний совет всем начинающим трехмерным художникам: ТВОРИТЕ ТОЛЬКО В ХОРОШЕМ НАСТРОЕНИИ, чтобы ни одно ваше действие не было случайным и неоправданным.
Зритель очень тонко чувствует грань между реальным и придуманным, поэтому, чтобы заставить его поверить происходящему на экране, нужна полная концентрация и только положительный настрой!
Существует огромное количество сайтов, посвященных Мах и 3D искусству в целом. При создании списка этих ресурсов выбирались лишь наиболее нужные и посещаемые, так как составление полного перечня - это скорее задача для другого, многотомного издания.Сначала остановимся на адресах и кратком описании страниц фирм-производителей программного обеспечения для Мах.
Главная страница авторов программы 3D Studio Max, американской фирмы Discreet (ранее Kinetix), подразделения Autodesk, Inc. располагается по адресу:
и содержит описание возможностей новой версии Мах, краткий обзор новостей и разнообразные ссылки на страницы фирм-разработчиков Plug-Ins (Подключаемых Программных Модулей), библиотек моделей и текстур, различные Gallery (Выставки Работ) ЗD-художников и т.д.
Полный список фирм и независимых авторов подключаемых модулей для Мах содержит более 150 наименований, поэтому перечислим лишь основные из них.
Страница главного издателя Plug-Ins для Мах американской фирмы Digimation из Луизианы имеет такой адрес:
Этот разработчик программных модулей для Мах имеет один из самых больших наборов приложений, расширяющих возможности основной программы.
Пользователь получает действительно мощные инструменты для моделирования, создания материалов, анимации и визуализации. Некоторые из них мы рассмотрим подробнее в разделе «Основные Plug-Ins (Подключаемые Программные Модули)».
Следующий разработчик, немецкая фирма Cebas Computer из Мюнхена, имеет более узкую специализацию, в основном ограничиваясь визуализацией и спецэффектами, однако ее программы не менее впечатляющи. Особенно хорош программный набор ProOpticSuite, который более детально описан далее:
Одна из самых лучших реализаций моделирования и анимации объектов растительного мира - деревьев, кустарника, водорослей и т.п. - применена в программах американской фирмы Onyx Computing из Массачусетса, чей сайт выглядит следующим образом:
Для моделирования и визуализации различных взаимодействий объектов и процессов не найти лучших программ, чем RealFlow и RealWave испанской фирмы Next Limit:
Сайт основного разработчика одной из самых реалистичных программ для создания водных ландшафтов американской фирмы Sisyphus Software из Техаса находится по такому адресу:
Особый интерес у архитекторов и дизайнеров вызовет посещение сайта американской компании ArchVision из Кентукки:
Разработанный ими модуль RealPeople позволяет встраивать в трехмерные сцены фигуры людей для придания итоговому изображению фасадов и интерьеров нового уровня реализма.
Очень интересный сервер, посвященный 3D можно посетить по адресу:
Одними из самых удобных и информативных являются сайты так называемых 3D-Сообществ, содержащих огромное количество новостей, ссылок, практических занятий, конференций, «дискуссионных комнат» - Chats (Чатов) и
других разделов, относящихся к трехмерному творчеству.
Первым по числу посещений, объему и оперативности информации является сервер SDCafe американской фирмы Platinum Pictures Multimedia, Inc., имеющий следующий адрес:
Очень впечатляет постоянно обновляющийся раздел Gallery (Выставка Работ) компьютерных художников-трехмерщиков со всего мира, содержащий более 500 изображений.
http://www.3dcafe.com/cgi/imagefolio.cgi
Значителен и список бесплатных услуг, предоставляемых этим сайтом, -наборы трехмерных моделей, текстур, материалов, файлов анимации, бесплатных модулей Plug-Ins, утилит для создания WEB-графики.
Мы рассмотрим несколько подробнее некоторые полезные ссылки далее в этом Приложении.
Следующий сайт также пользуется популярностью и имеет множество полезной и оперативной информации о 3D, в частности, об обновлении Plug-Ins, отзывах известных аниматоров о том или ином программном продукте и др. Его адрес фигурирует на всех поисковых серверах и многих справочных ссылках:
Один из первых сайтов в Интернет, посвященных 3D-тематике можно найти по адресу:
На нем размещена одна из самых больших электронных досок объявлений типа «Ищу Работу.../Требуются...» в области моделирования, анимации и дизайна. Информация, собранная там, охватывает художников и работодателей со всего мира. Для доступа к базе данных необходимо использовать ссылки раздела JOB (Работа).
Не так давно открылся один из первых поисковых серверов по всем темам, связанным с 3D, который имеет следующее имя:
Вся информация на этом сайте отсортирована по различным критериям, и скорость поиска в базе данных вполне приемлемая.
Наиболее интересный журнал, освещающий 30-тематику, выходит в США и называется «Computer Graphics World». Электронная версия самого свежего номера с основными статьями размещена по адресу:
http://cgw.pennwellnet.com/home/home.cfm
Кроме того, можно просмотреть любой из номеров за прошлые годы и архив работ 30-художников со всего мира.
На сайте также часто публикуются обзоры программ моделирования и анимации, сравнительные тесты аппаратуры, алгоритмов визуализации и пр.
Другое американское издание имеет название «3D. Advanced Graphics & Animation», а его электронную версию можно найти здесь:
http://www.3dgate.com/magazine/
Использование Plug-Ins значительно расширяет возможности даже такой мощной программы как Мах. Это стало возможным благодаря очень важной установке, заложенной разработчиками Мах из Discreet (ранее Kinetix), -расширяемость. Имея полную спецификацию системы и прикладной инструментарий, сторонние разработчики просто наводнили рынок очень мощными программными продуктами, поднимающими производительность Мах на новую высоту.
Остановимся на некоторых из них подробнее.
Bones Pro 2
Это уже вторая версия программы для скелетной анимации персонажей в среде Мах. И хотя мы не разбирали инверсную кинематику и анимацию персонажей, те, кто интересуется этими задачами, могут загрузить демо-версию Bones Pro 2 с сайта Digimation и самостоятельно опробовать ее в среде Мах, руководствуясь сопровождающим файлом помощи.
Этот программный модуль реализует очень интересный метод моделирования - Metaballs (Метасферы). Любой объект представляется как набор сферических примитивов, вступающих в обоюдное взаимодействие друг с другом. В конечном итоге происходит автоматическая генерация итоговой «обтягивающей» поверхности. Такой способ идеален для создания органических структур типа моделей животных и человека.
Используя этот оригинальный инструмент для моделирования форм лица человека или подобных ему персонажей, можно значительно улучшить финальный вид модели, а также избежать изломов и искажений ее поверхности. Просто создав контуры носа, глаз и рта, необходимо разместить их на специальной поверхности-мембране, и затем, перемещая контрольные точки, вытянуть или вогнуть требуемую форму.
The Incredible Comicshop
Подключаемый модуль The Incredible Comicshop (Самый Невероятный Комикс) представляет собой альтернативный визуализатор Мах, генерирующий трехмерную сцену так, как будто она рисовалась классическим «диснеевским» способом. Существуют также настройки для придания итоговому изображению стиля японских мультфильмов и некоторых других.
Fractal Flow MAX
Полный набор специальных эффектов в одном программном продукте, используемый для различных искажений изображения с использованием фрактальных алгоритмов. Этот подключаемый модуль очень реалистично создает эффекты типа миража в пустыне или колеблющегося подводного мира, позволяя отлаживать изображение в реальном времени и используя механизм G-Buffer (Графического Буфера) Мах.
Seascape
Принципиально новый пакет для создания различных водных поверхностей. Гибкий набор инструментов управления позволяет имитировать стоячее зеркало пруда, переменчивый поток реки или бурный простор океана. При использовании анимационных последовательностей очень реалистично генерируется результат взаимодействия поверхности воды с объектами сцены, например, водяной шлейф идущего катера или всплеск от падения камня.
Для написания этой программы авторы математически разложили волновые свойства водных поверхностей, объединив реальные наблюдения с лабораторными опытами, что дало прекрасные визуальные результаты.
Shag:Hair
Программный продукт Shag:Hair, который, по выражению разработчиков, «должен иметь каждый аниматор», представляет собой реализацию различной «волосяной растительности» - шевелюры, бороды, усов.
Настраиваемые стиль, густота, толщина волос и многие другие параметры дают художнику полный контроль над объектом.
Расширенные динамические характеристики позволяют сверхреалистично выполнять анимацию, так как встроенный алгоритм точно рассчитывает качания и взаимодействия волос с элементами сцены и друг с другом.
Shag:Fur
Если вы устали имитировать текстурами мех и шерсть, создавая малореалистичные модели персонажей-зверей, то другой программный модуль фирмы Digimation - Shag:Fur станет единственной альтернативой и качественно новым уровнем моделирования и визуализации.
Основанная на механизме атмосферных эффектов, эта программа не увеличивает объем геометрии сцены и тем самым способствует оперативной работе и достижению результата.
Почти все ее настройки анимирующие, что дает дополнительные возможности для творчества и самовыражения.
ProOpticSuite
Наиболее мощный одиночный подключаемый модуль Мах, состоящий из целой группы специальных оптических эффектов, таких как линзовые эффекты, свечения, искры, глубина резкости, смазывание движения и многие другие. Обновление параметров программы происходит в реальном времени, что дает дополнительные возможности по быстрому получению качественного результата.
В комплект поставки входят еще два модуля атмосферных эффектов -LumaObject, предназначенный для создания твердотельных источников света и PyroCluster, один из самых мощных генераторов дыма в среде Мах.
Digital Nature Tools
Этот модуль является реализацией в среде Мах известного продукта фирмы Arete Image Software, использовавшегося в голливудских блокбастерах «Пятый Элемент» («Fifth Element») и «Водный Мир» («Waterworld»). Digital Nature Tools представляет собой набор инструментов и модификаторов, таких, как Air (Воздушный), Cloud (Облачный), Water (Водный), а также специальных исказителей типа Ripple (Круги на Воде), Swell (Зыбь), Wake (Кильватер) и др. Примененный в программе новейший алгоритм оптимизации адаптирует геометрию водного объекта-лоскута, делая его подробным только в пределах видового окна.
Druid
Druid - это параметрический генератор деревьев и растений, причем, второй модуль комплекта - GRASS (Трава) является одной из лучших реализаций для Мах.
Изменяемые параметры густоты, осевого изгиба и выбора исходной геометрии травяных стеблей дают возможность приблизить качество итоговой визуализации к фотографическому.
Tree Still Tree Storm
TREE STILL и TREE STORM - самые мощные программные модули для параметрического моделирования деревьев, кустарника, водорослей и других видов растительности.
Первый из модулей предназначен для быстрого создания различных деревьев и кустарников, их размещения по площади трехмерной сцены, задания вида, возраста, составляющих материалов и прочих настроек. TREE STILL ориентирован на архитекторов, градостроителей и дизайнеров.
Программа TREE STORM является расширением модуля TREE STILL. Она дополнена средствами анимации и ориентирована на художников-аниматоров.
Обе программы поставляются с программой TREE Painter - специальной средой для создания новых и редактирования имеющихся моделей деревьев и растений.
realpeople
Realpeople - один из лучших инструментов для архитекторов и дизайнеров интерьеров, позволяющий добавлять фигуры людей в трехмерные сцены. Причем каждый из генерируемых программой объектов может быть визуализирован не только в неподвижном кадре, но и в составе анимационной последовательности. Каждая фигура требует всего одну текстуру и состоит всего из одной плоскости, что позволяет архитектору нарыщать сцену сотнями человеческих фигур, например, при создании интерьеров общественных зданий.
Существует набор дополнительных библиотек фигур по различным группам.
Real Flow 1.2
Отдельное Приложение
Real Flow- это первый и единственный симулятор жидкостных взаимодействий, в основе которого лежит сверхреалистичная физическая система частиц. Группа разработчиков, состоящая из физиков и инженеров, занимающихся вопросами динамики, разрабатывала этот продукт в течение двух лет.
Кроме жидкостных взаимодействий могут задаваться многие другие упругие столкновения и деформации объектов на основе предварительно задаваемых физических характеристик.
DarkTree Textures
Отдельное Приложение + Plug-In
Самостоятельная программа для создания и редактирования бесшовных текстур, причем, в комплект поставки входит большой набор текстурных карт, готовых для использования. Все карты являются процедурными.
Кроме того, компанией Darkling Simulation разработаны подключаемые модули для всех популярных пакетов трехмерной графики, в том числе и для Мах, позволяющие использовать созданные текстуры в материалах.
В Интернет существует большое количество архивов общего доступа, объединенных по различным разделам моделирования и анимации. Все эти ресурсы бесплатны (или условно бесплатны) и доступны для любого использования -обучения, программирования, графики и анимации, коммерческих проектов.
Существует также немало платных библиотек, составители которых также предлагают свободную загрузку некоторых не самых лучших моделей, текстур, звуков и т.п. Обычно такие ссылки расположены в разделе Free (Бесплатно) и используются для привлечения новых покупателей.
Далее мы остановимся на наиболее объемных библиотеках, содержащих качественные наборы моделей и текстурных карт.
Безусловным лидером в этой области является американская компания Viewpoint, предлагающая расширенные библиотеки трехмерных моделей, растровых изображений и текстур, анимации и пр.
Электронный адрес этой фирмы выглядит следующим образом:
http://modelbank.viewpoint.com/
Их новый Model Bank (Банк Моделей) содержит 1200 уникальных объектов, выполненных в четырех видах детализации, причем каждой модели, созданной в Мах, соответствует высококачественная текстурная карта.
Все объекты распределены по 15-ти отдельным категориям, таким, как летательные аппараты, военные и гражданские автомобили, корабли, архитектура, мебель, растения, люди, животные и др.
Открыта годовая подписка на Model Bank, и в результате каждый из зарегистрированных клиентов Viewpoint за небольшую годовую плату может воспользоваться скидкой до 80-ти % при приобретении новых моделей. Кроме того, любому желающему предоставляется возможность бесплатно загрузить 25 качественных текстурированных моделей из различных разделов общей базы.
Один из самых объемных и полностью бесплатных каталогов моделей расположен на упоминавшемся уже сервере 3DCafe:
Здесь база моделей состоит из 21-й категории и все время пополняется новыми моделями, многие из которых выполнены на вполне приличном уровне.
Список ресурсов текстур еще более обширен, чем список библиотек моделей. Наиболее интересны так называемые Seamless (Бесшовные) текстурные карты, позволяющие «укладывать» изображение на поверхность объекта без повторений и стыков. Последнее время почти все разработчики программ для создания и редактирования текстур включили это свойство в свои пакеты как обязательное.
Кратко остановимся на некоторых качественных коммерческих и бесплатных архивах текстур.
Marlin Studios
Эта компания предлагает 9 компакт-дисков с текстурными библиотеками для различных категорий моделирования, архитектуры и дизайна. Все текстуры, содержащиеся в базе, относятся к типу Seamless (Бесшовных), а все библиотеки являются коммерческими.
Absolute Cross
Бесплатная библиотека текстур, состоящая из 500 изображений, организована в 10 наборов. Все текстуры в ней бесшовного типа.
Forrest Textures
http://www.fg.cz/scripts/textures
Хорошая подборка разнообразных текстур, скомпонованных по типам, снабжена дополнительными иконками с уменьшенными изображениями и информацией о разрешении и размере файла. Все текстуры доступны для бесплатной загрузки.
Blade's Textures
Эта база текстур появилась в Интернет совсем недавно, и уже успела стать довольно посещаемой.
И в заключение вашему вниманию предлагаются несколько интересных адресов независимых художников и студий, очень интересно реализующих себя в трехмерном творчестве. Многие из них используют Мах в своей работе и добиваются впечатляющих результатов.
Воспользуйтесь приведенными ниже ссылками и посетите сайты профессионалов моделирования, анимации и визуализации.
Anibyte
Оригинальные работы художника трехмерной графики Виктора Гарридо (Victor Garrido) известны во многих странах.
Сайт компании Anibyte поможет вам не только окунуться в особую атмосферу рукотворных миров, но увидеть сам процесс творчества от эскиза до финальной визуализации.
GlyphX Inc.
Характеры и сцены, созданные компанией GlyphX Inc, кажутся сошедшими с картин известного современного художника Бориса Валеджо (Boris Valegio), настолько проработаны детали и продуманы все элементы фигур, экипировки, освещения и т.д. Размещенная на сайте галерея работ художников GlyphX очень впечатляет не только новичков.
Pacific Data Images
Сайт одной из известнейших компаний по производству визуальных эффектов для кино- и видеопроизводства. Здесь вы найдете многих давно знакомых героев художественных и мультипликационных фильмов, телесериалов, комиксов и др.
Industrial Light and Magic
http://www.ilmfan.com/index2.html
Один из наиболее полных неофициальных сайтов компании Джорджа Лукаса (George Lucas) ILM, авторов эпохальных спецэффектов «Звездных Войн» («Star Wars»), «Джуманджи» («Jumanji») и многих других.
Pixar
И завершить этот очень краткий обзор ресурсов Интернет о трехмерном искусстве хотелось на сайте одного из пионеров компьютерной анимации и визуализации-компании Pixar Animation Studios, принадлежащей одному из основателей легендарной Apple Computer, Стивену Джобсу (Steven Jobs).
Зайдя на этот сервер, вы сможете не только просмотреть галерею работ прошлых лет и текущие проекты, но и узнать самые свежие идеи и приемы, так сказать, «из первых уст».
Приведенные в Таблице № 1 клавиатурные комбинации предлагаются Мах по умолчанию и могут быть переопределены пользователем. Эта процедура описана в главе «Элементы Управления», а в главе «50 Советов Профессионала» содержатся рекомендации и краткий список такого переопределения.
Таблица № 1. Клавиатурные комбинации Основного Пользовательского Интерфейса 3D Studio Max 5.0
Adaptive Degradation (Toggle) |
Режим оптимизации в видовом окне (Включить / Выключить) |
Adaptive Perspective Grid (Toggle) |
Режим коррекции сетки в видовом окне Perspective (Перспектива) (Включить / Выключить) |
Align |
Выровнять выделенный объект |
Angle Snap (Toggle) |
Угловая привязка (Включить / Выключить) |
Animation Mode (Toggle) |
Режим анимации (Включить / Выключить) |
Background Lock (Toggle) |
Режим привязки фонового изображения к видовому окну (Включить / Выключить) |
Bottom View |
Перейти к виду Снизу |
Camera View |
Перейти к виду из Камеры |
Front View |
Перейти к виду Спереди |
Isometric User View |
Перейти к виду User (Пользовательский) |
Left View |
Перейти к виду Слева |
Perspective User View |
Перейти к виду Perspective (Перспектива) |
Change to Spot/ Directional Light View |
Перейти к виду из Осветителя |
Change to Top View |
Перейти к виду Сверху |
Rotate Mode |
Режим вращения |
Restrict to X |
Включить ограничение трансформаций по оси X |
Restrict to Y |
Включить ограничение трансформаций по оси Y |
Restrict to Z |
Включить ограничение трансформаций по оси Z |
Restrict Plane Cycle |
Перебор плоскостей трансформаций |
Cycle Selection Method |
Перебор видов области выделения |
Cycle Sub-Object Level |
Перебор подобъектов |
Default Lighting (Toggle) |
Освещение по умолчанию (Включить / Выключить) |
Delete |
Удалить выбранный объект или объекты |
Disable Viewport |
Выключить отображение изменений в текущем видовом окне |
Display Cameras (Toggle) |
Отображение камер в видовых окнах (Включить / Выключить) |
Display Edges Only (Toggle) |
Отображение только видимых ребер (Включить / Выключить) |
Display Grids (Toggle) |
Отображение сетки в видовых окнах (Включить / Выключить) |
Display Helpers (Toggle) |
Отображение служебных объектов в видовых окнах |
Display Lights (Toggle) |
Отображение осветителей в видовых окнах (Включить / Выключить) |
Display Particle Systems (Toggle) |
Отображение систем частиц в видовых окнах |
Display Safeframes (Toggle) |
Отображение Safeframe (Окна Безопасности) в текущем видовом окне |
Display Select-By-Name Dialog |
Вызвать диалоговое окно выбора объектов по имени |
Display Space Warps (Toggle) |
Отображение исказителей пространства в видовых окнах (Включить / Выключить) |
Edged Faces (Toggle) |
Отображение ребер в видовом окне в режиме тонирования (Включить / Выключить) |
Expert Mode (Toggle) |
Переключиться в режим Expert (Эксперт) |
Fetch |
Восстановить состояние сцены из буфера |
Forward Time One Unit |
Перейти к следующему кадру (ключу) анимации |
Go to End Frame |
Перейти к последнему кадру анимации |
Go to Start Frame |
Перейти к первому кадру анимации |
Hide Main Toolbar (Toggle) |
Основная Панель Инструментов (Включить / Выключить) |
Hide Tab Panel (Toggle) |
Панель Панелей (Включить / Выключить) |
Hold |
Сохранить текущее состояние сцены в буфер |
Interactive Pan |
Панорама в текущем видовом окне |
Interactive Zoom In |
Увеличение масштаба изображения в текущем видовом окне |
Interactive Zoom Out |
Уменьшение масштаба изображения в текущем видовом окне |
Match Camera To View |
Выравнивание камеры по видовому окну |
Material Editor |
Запуск Редактора Материалов |
New Scene |
Начать новую сцену |
Normal Align |
Выровнять объект по нормалям |
Open File |
Открыть файл |
Pan View |
Перейти в режим панорамы текущего видового окна |
Percent Snap (Toggle) |
Режим привязки при изменении размеров объектов (Включить / Выключить) |
Place Highlight |
Задать положение блика от осветителя |
Play Animation |
Воспроизвести анимацию в текущем видовом окне |
Quick Render |
Запустить визуализацию сцены |
Redo Scene Operation |
Выполнить отмененное действие |
Select All |
Выбрать все |
Render Last |
Повторить последнюю визуализацию |
Render Scene |
Вызвать диалоговое окно Render Scene (Визуализировать Сцену) |
Save File |
Сохранить файл сцены |
See-Through Display (Toggle) |
Режим полупрозрачного отображения выделения (Включить / Выключить) |
Select Ancestor |
Выбрать объект-родитель в иерархической связи |
Select Children |
Выбрать объект-потомок в иерархической связи |
Selection Lock (Toggle) |
Зафиксировать выбранные объекты |
Shade Selected Faces (Toggle) |
Режим отображения выделенных граней в тонированном виде (Включить / Выключить) |
Select Invert |
Инвертировать выделение |
Snap (Toggle) |
Привязка трансформации перемещения (Включить / Выключить) |
Sound (Toggle) |
Звук (Включить / Выключить) |
Spacing Tool |
Размещение объектов |
Sub-Object Selection |
Режим выбора подобъектов (Включить / Выключить) |
Transform Gizmo (Toggle) |
Отображение трансформаций габаритных контейнеров (Включить / Выключить) |
Transform Gizmo Size (decrement) |
Уменьшить размер габаритных контейнеров |
Transform Gizmo Size (increment) |
Увеличить размер габаритных контейнеров |
Transform Type-In |
Вызов диалогового окна клавиатурного ввода |
Undo Scene Operation |
Отменить последнее действие |
Undo Viewport Operation |
Отменить последнее действие в видовом окне |
Update Background Image |
Обновить фоновое изображение в видовом окне |
Viewport Background |
Отображение фонового изображения в видовом окне (Включить / Выключить) |
Virtual Viewport (Toggle) |
Виртуальное видовое окно (Включить / Выключить) |
Virtual Viewport Pan Down |
Перемещение вниз по виртуальному видовому окну |
Virtual Viewport Pan Left |
Перемещение влево по виртуальному видовому окну |
Virtual Viewport Pan Right |
Перемещение вправо по виртуальному видовому окну |
Virtual Viewport Pan Up |
Перемещение вверх по виртуальному видовому окну |
Virtual Viewport Zoom In |
Увеличить масштаб изображения в виртуальном видовом окне |
Virtual Viewport Zoom Out |
Уменьшить масштаб изображения в виртуальном видовом окне |
Wireframe / Smooth+Highlights (Toggle) |
Режим тонированного отображения в текущем видовом окне (Включить / Выключить) |
Zoom Extents |
Показать границы сцены в текущем видовом окне |
Zoom Extents All |
Показать границы сцены во всех видовых окнах |
Zoom In 2X |
Увеличить в 2 раза масштаб изображения в текущем видовом окне |
Zoom Mode |
Режим увеличения в текущем видовом окне |
Zoom Out 2X |
Уменьшить в 2 раза масштаб изображения в текущем видовом окне |
Zoom Region Mode |
Показ фрагмента видового окна |
Панель Команд
Create (Создание объектов) - основная панель, содержащая инструменты создания геометрии сцены.
Modify (Модификация объектов) - основная панель, содержащая инструменты редактирования геометрии сцены.
Hierarchy (Иерархия) - панель изменения иерархических связей объектов и настройки Опорных Точек.
Motion (Управление движением) - панель управления параметрами Анимации и Траекторией движения.
Display (Отображение объектов) - панель управления видимостью объектов сцены.
Utilities (Утилиты) - служебные и дополнительные инструменты
Видовые Окна
Zoom (Масштаб Вида) - режим интерактивного приближения / удаления от сцены.
Zoom All (Масштаб Вида Всех Окон) - аналогичный предыдущему режим, воздействующий на все видовые окна.
Zoom Extents / Extents Selected (Вся Сцена / Весь Выделенный Объект) - выполняет показ всей сцены / всего выделенного объекта (или группы) в активном Видовом Окне.
Zoom Extents All / Extents All Selected (Вся Сцена во Всех Окнах / Весь Выделенный Объект во Всех Окнах) - аналогичный предыдущему режим, воздействующий на все видовые окна.
Region Zoom (Фрагмент Вида) - выбор фрагмента показа в активном Видовом Окне с помощью указания рамкой.
Pan (Панорама) - перемещение поля зрения вдоль фронта активного Видового Окна.
Arc Rotate / Rotate Selected / Rotate Sub-Object (Поворот Точки Зрения) - выбор новой точки зрения, при которой активное окно переключается в режим User (Пользовательский).
Win / Max Toggle (Переключить Во Весь Экран / Возврат Назад)- переключение между режимом показа активного Видового Окна на весь экран дисплея и стандартным видом на выбранную раскладку Видовых Окон.
Единицы Измерения, Сетка Координат; Привязки
3D / 2.5D / 2D Snap (Трехмерная / Полутрехмерная / Двумерная Привязка) - различные варианты используемых в Мах привязок, позволяющие точный выбор курсором элеменов Сетки или геометрии сцены соответственно в трехмерном пространстве, в плоскости проекций трехмерного пространства и в плоскости активного Видового Окна.
Angle Snap (Угловая Привязка) - режим Привязки, влияющий на трансформацию Rotate (Поворота).
Percent Snap (Процентная Привязка) - определяет величину приращений в любых операциях, связанных с изменением процентов (таких как трансформация масштабирования).
Spinner Snap (Привязка Счетчиков) - настраивает величину изменений счетчиков при их прокрутке мышью.
Выделение Объектов
Select Object (Выбрать Объект) - модальная кнопка, включающая режим выбора объектов левым щелчком мыши.
Selection Region (Форма Области Выделения) - список кнопок для изменения формы области выделения объектов. Может быть задана как Rectangular (Прямоугольная), Circular (Круглая) или Fence (Ломаная).
Select By Name (Выбрать по Имени) - кнопка, вызывающая диалоговое окно Select Objects (Выберите Объекты).
Select and Link (Выбрать и Связать) - выполняет операцию иерархической связи подчиненных объектов сцены по типу Parent-Child (Родитель-Потомок).
Select and Move (Выбрать и Переместить) - позволяет начать перемещение объекта или объектов сразу после завершения выделения.
Select and Rotate (Выбрать и Повернуть) - то же для операции поворота над выбранными объектами.
Select and Scale (Выбрать и Масштабировать) - в зависимости от текущего состояния списка кнопок Scale это может быть операция Uniform (Однородного), Non-Uniform (Неоднородного) масштабирования и Squash (Сплющивания).
Select and Manipulate (Выбрать и Задать Параметры) - включает режим выбора объекта с возможностью редактирования доступных параметров (таких как например радиус сферы, контейнер проецирования карты, и т.п.).
Виды Трансформации Масштабирования
Uniform (Однородное) - равномерное масштабирование по трем координатным осям X,Y, Z;
Non-Uniform (Неоднородное) - выполняется по одной из осей или плоскостей объекта;
Squash (Сплющивание) - взаимно противоположное одновременное масштабирование по одной из осей и плоскости двух других, или наоборот.
Point Center (Центр Трансформаций)
Pivot Point Center (Собственный Центр Объектов) - преобразования над всеми выбранными объектами выполняется применительно к собственной опорной точке каждого из них.
Selection Center (Центр Выделения) - трансформации производятся, исходя из геометрического центра совокупности выбранных объектов.
Transform Coordinate Center (Центр Текущей Координатной Системы) - преобразования происходят относительно центра текущей координатной системы Мах.
Создание Объектов
Geometry (Геометрия) - создание трехмерных объектов Мах: Стандартные и Расширенные Примитивы, Системы Частиц, Лоскутные Сетки и др.
Shapes (Двумерные Формы) - создание двумерных кривых для последующего моделирования.
Lights (Источники Света) - установка осветителей сцены. Cameras (Камеры) - установка съемочных камер.
Helpers (Служебные Объекты) - создание вспомогательных объектов, используемых в служебных целях.
Space Warps (Деформаторы Пространства) - установка специальных объектов имитирующих физические взаимодействия.
Systems (Системы) - установка специальных систем.
Панель Управления Стеком Модификаторов
Show End Result (Показывать Конечный Результат) - включает режим отрисовки объекта со всеми примененными активными модификаторами, независимо от текущего положения стека.
Make Unique (Сделать Уникальным) - сбрасывает статус Instance (Экземпляра) с текущего модификатора.
Remove Modifier from Stack (Удалить Модификатор из Стека) -удаляет текущий модификатор из стека объекта.
Pin Stack (Закрепить Стек) - предназначена для фиксации отображения текущего модификатора выбранного объекта.
Стандартные Примитивы
Sphere (Сфера) - шарообразный объект, задаваемый радиусом и числом сегментов.
Box (Коробка) - параллелепипед, образованный тремя габаритными величинами - длиной, глубиной и высотой.
Cylinder (Цилиндр) - цилиндрический объект создаваемый указанием радиуса основания и высоты.
Torus (Top) - кольцо круглого сечения, позволяет создавать объекты круговой структуры (например, пончик, спасательный круг, обвязка круглой колонны и т.п.)
Teapot (Чайник) - параметрический примитив, позволяющий моделировать чайники по типу заварного.
Cone (Конус) - объект, предназначенный для создания полных и усеченных конусов.
GeoSphere (ГеоСфера) - расширенный вариант объекта Sphere (Сфера), позволяющий изменять форму грани, образующей поверхность сферы.
Tube (Труба) - кольцо прямоугольного сечения, позволяющее моделировать различные круглые трубчатые и граненые профили.
Pyramid (Пирамида) - упрощенный вариант примитива Cone (Конус), применяемый для создания четырехгранных пирамид с прямоугольным или квадратным основанием.
Plane (Плоскость) - плоский примитив, не имеющий параметра Height (Высота), предназначенный для быстрого создания плоских объектов (например, поверхности зеркала, пола, потолка и т.п).
Расширенные Примитивы
ChamferBox (Коробка с Фаской) - параллелепипед с возможностью добавления прямых или круговых фасок.
ChamferCyl (Цилиндр с Фаской) - цилиндр с возможностью добавления прямых или круговых фасок.
Hedra (Многогранник) - граненый примитив с очень гибкой системой выбора настроек, позволяющий имитировать геометрию природных кристаллов.
Oil Tank (Цистерна) - цилиндр с расширенными возможностями управления формой двух его оснований от почти плоской до сферической.
Spindle (Веретено) - цилиндр аналогичный Oil Tank, но форма оснований варьируется от почти плоской до конической.
Gengon (Граненая Призма) - вариант призмы с возможностью добавления фасок по ребрам боковой поверхности.
RingWave (Волнообразное Кольцо) - примитив с круговой структурой, являющийся вариацией стандартного примитива Tube
Torus Knot (Узловой Top) - спиральный примитив, предназначенный для имитации различных узлов и закручивания.
Capsule (Капсула) - цилиндр с двумя основаниями в виде полусферических поверхностей.
L-Ext (Выдавливание L-профиля) - примитив, позволяющий создавать объекты, близкие к реальному прокатному профилю типа уголка.
C-Ext (Выдавливание С-профиля) - примитив, позволяющий создавать объекты, близкие к реальному прокатному профилю типа швеллера.
Prism (Призма) -треугольная призма с возможностью менять угол наклона основания к боковым граням.
Сплайны
Line (Линия) - основной примитив, позволяющий создать кривую любой нерегулярной формы.
Cirlce (Окружность) - рисование окружности по заданному центру или краю и радиусу.
Arc (Дуга) - инструмент создания сегмента криволинейной формы, с заданием начальной и конечной вершин, а также кривизны или центра.
Ngon (Многоугольник) - примитив с настраиваемым числом сторон, вписанный или описанный в задаваемый радиус.
Text (Текст) - объект на основе строк текста с элементами регулирования стиля, полноты, выравнивания и других типографских атрибутов.
Section (Сечение) - создание сплайнов на основе сечений трехмерных объектов плоскостью.
Rectangle (Прямоугольник) - часто используемый примитив для рисования прямоугольника или квадрата, с возможностью скругления углов прямыми или кривыми фасками.
Ellipse (Эллипс) - создает одноименную замкнутую кривую по двум осям.
Donut (Кольцо) - примитив, состоящий из двух концентрических окружностей, с раздельной настройкой большего и меньшего радиусов.
Star (Звезда) - многофункциональный инструмент для создания звездоподобных сплайнов, с возможностью скругления и закручивания лучей.
Helix (Спираль) - объект трехмерной спирали, позволяющий контролировать число витков, высоту, внутренний и наружный радиусы.
Булевые Операции со Сплайнами
Union (Объединение) - результат суммирования двух замкнутых сплайнов с удалением их частей, оказавшихся внутри общего внешнего контура.
Subtraction (Вычитание) - результат вычитания двух замкнутых сплайнов с удалением той части второго из них, которая отсекается контуром первого.
Intersection (Пересечение) -результат наложения двух сплайнов с удалением всех их частей, оказавшихся снаружи общего внутреннего контура.
Зеркальное Копирование Сплайнов
Mirror Horizontally (Отзеркалить Горизонтально) - зеркальный сплайн / копия использует горизонтальную ось симметрии.
Mirror Vertically (Отзеркалить Вертикально)-зеркальный сплайн / копия использует вертикальную ось симметрии.
Mirror Both (Отзеркалить По Двум Осям)-процедура Mirror (Зеркало) использует обе оси.
Составные Объекты
Morph (Превращение) - сложные объекты, позволяющие осуществлять превращения одного объекта в другой с использованием промежуточных фазовых объектов.
Conform (Соответствие) - выполнение замены геометрии одного объекта на другой по свойствам метрики первого.
Shape Merge (Внедренная Форма) - создание отверстий и проемов в каркасных объектах по выбранной сплайновой форме.
Terrain (Ландшафт) - генерация трехмерного рельефа с использованием в качестве сечений профиля плоских форм.
Connect (Соединение) - формирование соединяющей замкнутой поверхности между двумя каркасными объектами.
Loft (Формование) - размещение набора Loft Shapes (Характерных Сечений) объекта на его Path (Пути или Осевой Траектории).
Boolean (Булевые Объекты) - операции Union (Объединение), Subtraction (Вычитание) и Intersection (Пересечение).
Модификаторы Создания Геометрии
Bevel (Скос) - создание объекта путем перемещения его сечения параллельно локальной оси Z.
Lathe (Тело Вращения) - создание объекта путем вращения его сечения вокруг дополнительно выбираемой оси.
Модификаторы Изменения Геометрии
Bend (Изгиб) - изменение формы объекта путем придания ему осевого изгиба
Taper (Конусность) - изменение формы объекта путем сужения / расширения оснований описанного вокруг него конуса.
Skew (Наклон) - изменение формы объекта, задаваемое параллельным смещением граней описанного вокруг него параллелепипеда.
Twist (Кручение) - изменение формы объекта путем применения деформации кручения.
Noise (Нерегулярность) - изменение формы объекта путем случайных возмущений его поверхности.
Wave (Волна) - изменение формы объекта путем применения синусоидальных возмущений его поверхности.
Edit Mesh (Редактирование Каркаса)-изменение формы объекта раздельным редактированием его подобъектов - Вершин, Ребер или Граней.
Создание Источников Света
Omni (Всенаправленный) - создание источника света, располагающегося в точке и излучающего во всех направлениях трехмерного пространства сцены.
Target Spot (Нацеленный Прожектор) - создание источника света, состоящего из собственно излучателя и Target (Точки Цели), задающей направление лучей.
Target Direct (Нацеленный Прямой) - создание источника света, излучающего не точкой, а плоскостью.
Free Spot (Свободный Прожектор) - создание источника света, идентичного нацеленному прожектору, но без точки цели.
Free Direct (Свободный Прямой) - создание источника света, излучающего из плоскости без точки цели.
Способ задания Поля Зрения камер
Поле зрения измеряется по горизонтали вида. Поле зрения измеряется по вертикали вида. Поле зрения измеряется по диагонали вида.
Панель Управления Видовым Окном камеры
Dolly Camera (Наезд / Отъезд Камеры) - перемещает камеру по оси луча зрения к остающейся неподвижной точке цели, причем величина поля зрения не изменяется. Dolly Target (Наезд / Отъезд Точки Цели) - производит аналогичные действия с точкой цели, не изменяя положение камеры. Dolly Camera+Target (Наезд / Отъезд Камеры+Точки Цели) - перемещает одновременно камеру и ее цель вдоль оси луча зрения, сохраняя расстояние между ними постоянным.
Perspective (Перспектива) - производит перемещение камеры к точке цели вдоль оси луча зрения, сохраняя размер поля зрения постоянным.
Roll Camera (Наклон Камеры) - поворачивает камеру вокруг оси луча зрения, задавая поворот изображения от 0 до 360 градусов.
Field-of-View (Поле Зрения) - задает изменение ширины поля зрения, оставляя положение камеры и цели постоянными.
Truck Camera (Слежение Камеры) - перемещает камеру совместно с точкой цели параллельно плоскости поля зрения, сохраняя неизменным угол зрения и расстояние от камеры до цели.
Orbit Camera (Вращение Камеры по Орбите) - производит поворот камеры вокруг точки цели, не изменяя величины расстояния между ними. Orbit Target (Вращение Цели по Орбите) - аналогично поворачивает точку цели вокруг камеры, выполняя круговую панораму трехмерной сцены.
Редактор Материалов
Вызов Material Editor (Редактора Материалов)
Get Material (Извлечь Материал) - вызывает Material / Map Browser (Просмотр и выбор материалов и текстурных карт).
Put Material to Scene (Поместить Материал в Сцену) - назначает материал активной ячейки всем объектам, имеющим его.
Assign Material to Selection (Назначить Материал Выделению) -назначает материал активной ячейки всем объектам, выделенным в этот момент.
Reset Map / Mtl to Default (Вернуть Значения по Умолчанию) -устанавливает все параметры материала активной ячейки в исходные.
Make Material Copy (Создать Копию Материала) - помещает полную копию текущего материала в активную ячейку, включая все параметры и имя исходного материала оригинала.
Put to Library (Поместить в библиотеку) - выполняет запись материала активной ячейки в загруженную библиотеку образцов. Обычно - библиотека 3dsmax.mat. Для сохранения изменений необходимо сохранить библиотеку на диск.
Show Map in Viewport (Показывать Текстуры) - включает / выключает показ текстурных карт в режимах Shaded View (Тонированный Вид) в интерактивном визуализаторе. Качество показа достаточное настолько, чтобы получить лишь упрощенное представление о финальном виде сцены.
Show End Result (Показать Финальный Вид) - включает / выключает отображение составных материалов и компонентных текстур.
Go to Sibling (Перейти к Компоненту) - выполняет переход к следующему компоненту в многоуровневых материалах / текстурных картах.
Go to Parent (Вернуться к Составному Материалу) - выполняет возврат с компонентного на составной уровень в многоуровневых материалах / текстурных картах.
Materials / Map Navigator (Путеводитель по Материалам / Текстурам) - используется для просмотра через дополнительное окно полной иерархии активного материала.
Select by Material (Выделить по Материалу) - показывает в отдельном окне полный список объектов сцены; все объекты, которым назначен материал активной ячейки, выделяются в этом списке.
Options (Параметры) - настройка окна Material Editor (Редактора Материалов).
Make Preview (Предварительный Просмотр) - выполняет просчет анимации материала активной ячейки и позволяет просмотреть результат в реальном времени.
Sample UV Tiling (Мозаика в плоскости UV) - устанавливает количество повторений образцов текстуры 4-х, 9-ти или 16-ти кратными плитками.
Background (Задний план / Фон) - назначает вид фона в активной ячейке материала.
Backlight (Рефлексная Подсветка) - позволяет видеть и визуально изменять параметры обратной подсветки материала.
Sample Type (Тип Образца) - выбирает 1 из 3-х возможных видов (сфера, цилиндр, куб) образца.
Video Color Check (Контроль Цветности) - соответствие генерируемых цветов телевещательным стандартам.
Material Effects Channel (Канал Спецэффектов) - назначение материалу отдельного идентификатора для применения специальных эффектов.
Панель Управления
Set Keys (Установка ключей) - установка ключа анимации в выбранном кадре.
AutoKey Mode (Режим автоматической установки ключей) - включает режим создания анимации, в котором ключи устанавливаются автоматически.
Set Key Mode (Режим установки ключей) - Переводит программу в режим создания анимации. В этом режиме ключи необходимо устанавливать вручную.
Go to Start (Перейти в Начало) - эта кнопка выполняет переход в первый кадр Active Time Segment (Активного Сегмента Времени).
Previous Frame (Предыдущий Кадр) - эта кнопка делает текущим предыдущий кадр анимации. Если перед ее нажатием текущим был первый кадр анимации, то происходит циклический переход в последний кадр.
Play Animation / Play Selected (Воспроизвести Анимацию / Воспроизвести Анимацию Выделения) - этот список кнопок предназначен для проигрывания в реальном времени анимации соответственно всей сцены или выделенного объекта (объектов).
Stop (Остановка) - используется для остановки воспроизведения анимации.
Next Frame (Последующий Кадр) - эта кнопка делает текущим следующий кадр анимации. Если перед ее нажатием текущим был последний кадр анимации, то происходит циклический переход в первый кадр.
Go to End (Перейти в Конец) - эта кнопка выполняет переход в последний кадр Active Time Segment (Активного Сегмента Времени).
Key Mode Toggle (Переключатель Ключевого Режима) - регистровая кнопка, переопределяющая функции кнопок перехода Previous Frame (Предыдущий Кадр) / Next Frame (Последующий Кадр), которые становятся соответственно
Previous Key (Предыдущий Ключ Анимации) -нажатие на эту кнопку приводит к переходам в ключевые кадры для выделенного объекта или объектов.
Next Key (Последующий Ключ Анимации) - нажатие на эту кнопку приводит к переходам в ключевые кадры для выделенного объекта или объектов.
Time Configuration (Конфигурация Шкалы Времени) - кнопка для вызова одноименного диалогового окна, выполняющего настройки временных параметров редактируемой сцены
Current Frame (Текущий Кадр) - это текстовое поле отображает текущий кадр в выбранных временных единицах и при наборе в нем нового значения происходит переход к соответствующему новому кадру с перерисовкой сцены в видовых окнах.
Виды интерполяции Ключей Анимации
Smooth (Сглаженный) - способ сглаживания, используемый по умолчанию, при котором кривизна функциональной кривой устанавливается необходимой для плавного входа и выхода в точку ключа.
Linear (Линейный) - способ сглаживания, применяемый для задания равномерного прямолинейного вида траектории.
Step (Скачкообразный) - тип изменения функциональной кривой, характеризуемый отсутствием генерации промежуточных значений между ключами.
Fast (Ускорение) - функциональная кривая принимает вогнутую кривизну, в результате чего возникает ускоренное изменение графика анимации.
Slow (Замедление) - функциональная кривая принимает выпуклую кривизну, в результате чего возникает замедленное изменение графика анимации.
Custom (Пользовательский) - способ сглаживания, задаваемый и настраиваемый пользователем.
Панель Инструментов окна Track View (Просмотр Треков)
Copy Controller (Копировать Контроллер) -выполняет копирование контроллера анимации, назначенного выбранному параметру объекта вместе с треком ключей в буфер обмена Мах.
Paste Controller (Вставить Контроллер) - производит вставку копии данных из буфера обмена Мах, заполненного предыдущей командой.
Assign Controller (Назначить Контроллер) - назначает анимиру-ющему параметру объекта контроллер анимации.
Delete Controller (Удалить Контроллер) - удаляет подчиненные контроллеры, такие как Visibility Track (Трек Видимости).
Make Controller Unique (Сделать Контроллер Уникальным) - конвертирует все экземпляры контроллера в копии (т.е. разрывает связь между оригиналом и копиями), давая возможность независимо менять их настройки.
Parameter Curve Out-of-Range Types (Типы Экстраполяции Кривых) - настраивает режим анимации параметра объекта вне пределов диапазона.
Edit Keys (Редактировать Ключи) - режим редактирования ключей анимации.
Edit Ranges (Редактировать Диапазоны) - режим редактирования диапазонов анимации.
Position Ranges (Позиционировать Диапазоны) - специальный режим редактирования диапазонов, позволяющий их изменение независимо от ключей анимации.
Move Keys (Переместить Ключи) - позволяет перемещать ключи вдоль шкалы времени, оставляя неизменным интервалы между ними и их числовые величины.
Slide Keys (Переместив Группу Ключей) - действует на всю группу ключей трека при перемещении одного из них, причем при движении влево, к началу шкалы времени, на все ключи, расположенные раньше выбранного и наоборот.
Scale Keys (Масштабировать Ключи) - пропорционально изменяет временные интервалы между выбранными ключами, используя в качестве точки привязки отметку текущего кадра.
Add Keys (Добавить Ключи) - применяется для добавления ключей на требуемых треках, в основном, при создании промежуточных положений анимирующих параметров.
Modify Subtree (Редактировать Подчиненные Объекты)-включает режим редактирования анимации с учетом всех иерархических связей выбранного объекта сцены.
Properties (Свойства) - вызывает описанное ранее диалоговое окно Key Info (Параметры Ключа), дающее возможность изменять все настройки выбранного ключа анимации.
Track View Utilities (Дополнительные Средства) - немногочисленный набор процедур автоматизации процесса редактирования ключей анимации, выбираемый из одноименного диалогового окна.
Типы Экстраполяции Кривых
Constant (Постоянный) - сохраняет значения анимирующего параметра вне диапазона по первому и последнему ключам.
Cycle (Циклический) - заставляет анимацию повторяться по циклу, определяемому в пределах ее диапазона.
Loop (Периодический) - приводит значения начала и конца диапазона к усредненному значению для создания плавного периодического повторения анимации.
Ping-Pong (Циклически Зеркальный) - повторяет анимацию, комбинируя прямое и обратное направление ее развития.
Linear (Линейный) - дополняет анимацию до- и продолжает после диапазона по линейному закону, описываемому касательными к функциональной кривой в точках начала и конца диапазона.
Relative Repeat (Относительно Повторяемый) - выполняет повтор анимации, совмещая начальное и конечное значения диапазона для создания плавного перехода.
Панель Управления окна Track View (Просмотр Треков)
Show Selected Key Stats (Показывать Численное Значение Выбранного Ключа) - отображение значения ключа в режиме Function Curves (Функциональных Кривых).
Pan (Панорама) - прокрутку содержимого Окна Треков простым перетаскиванием мыши.
Zoom Horizontal Extents /Zoom Horizontal Extents Keys (Показать Горизонтальные Границы / Показать Горизонтальные Границы Ключей) - список кнопок для задания масштаба просмотра Окна Треков.
Zoom Value Extents (Показать Границы Значений Ключей) -режим показа с изменением только вертикального масштаба, основанного на значениях редактируемого трека.
Zoom / Zoom Time / Zoom Values (Показ / Показ по Шкале Времени / Показ по Оси Значений Ключей) - список кнопок регулировки режима динамической настройки масштаба Окна Треков, выполняемый перетаскиванием мыши.
Zoom Region (Показать Фрагмент) - выбор фрагмента Окна Треков для укрупнения показа.
Панель Rendering (Визуализация)
Render Scene (Визуализировать Сцену) - основная кнопка для вызова одноименного диалогового окна, позволяющая выполнить настройку всех базовых параметров Визуализации.
Quick Render (Production) / Quick Render (Draft) (Быстрая Визуализация (Финальная) / Быстрая Визуализация (Эскизная)) -
этот список кнопок осуществляет выбор между двумя вариантами визуализации трехмерной сцены, параметры каждого из которых настраиваются в диалоговом окне Render Scene (Визуализировать Сцену).
Active Shade (Активное Тонирование) - новый интерактивный режим просчета сцены. Многие изменения (материалы, освещение) отображаются незамедлительно без пересчета.
Панель Управления Framebuffer (Виртуальный Кадровый Буфер)
Save Bitmap (Сохранить Изображение) - кнопка, выполняющая запись содержимого буфера в файл, вызывает стандартное диалоговое окно Browse Images for Output (Выберите Файл для Вывода).
Clone Virtual Frame Buffer (Скопировать Виртуальный Кадровый Буфер) - создает копию текущего буфера кадров с его содержимым. Это бывает необходимо для доступа к предыдущим результатам при настройке освещения, материалов, ракурсов камеры и т.п.
Enable Red / Green / Blue Channel (Показать Красный / Зеленый / Синий Каналы) - три кнопки, включающие режим отображения отдельных цветовых составляющих.
Display Alpha Channel (Показать Силуэтный Канал)-включение буфера кадров в режим отображения силуэтного канала.
Monochrome (Черно-Белый) - показ изображения градациями серого цвета (как на черно-белой фотографии).
Clear (Очистка) - очищает содержимое текущего буфера кадров, заполняя его черным цветом фона.
Channel Display List (Список Каналов) - раскрывающийся список каналов, доступных для просмотра.
Color Swatch (Образец Цвета) - кнопка для сохранения цвета визуализированного пиксела и использования его в сцене (например, при создании материалов).
ActiveShade — плавающее диалоговое окно, подобное VBF. Однако обновления в нем происходят в диалоговом режиме, отражая изменения в освещении сцены и материалах без визуализации. Эти изменения распространяются как на всю сцену, так и на отдельные выделенные объекты.
Ambient color (окружающий цвет) — цвет объекта в его затененной части либо в том месте, где один объект находится в тени другого объекта.
Ambient light (окружающий свет) — свет общего характера, который освещает всю сцену. Он обладает равномерной яркостью и равномерным рассеянием. У него нет видимого источника и определенного направления.
Angle of incidence (угол падения). Чем больше поверхность отклонена в сторону от источника света, тем меньше света на нее попадает и тем более темной она оказывается. Угол наклона поверхности к направлению распространения света, называется углом падения.
Animation constraint (ограничение анимации). Ограничения являются новой формой контроллера анимации в 3DS МАХ 4, которая позволяет нескольким взвешенным объектам или параметрам видоизменять анимацию.
Animation controller (контроллер анимации). Контроллеры представляют собой подключаемые модули, которые выполняют все задачи анимации в 3DS МАХ 4. По умолчанию у всех объектов имеются контроллеры в той или иной форме.
Attenuation (ослабление). В реальном мире сила света уменьшается с расстоянием. В частности, объекты, удаленные от источника света, становятся темнее, а объекты, находящиеся вблизи источника света, — светлее.
Border (граница) — новый уровень подобъектов в пределах объекта многоугольного каркаса. В частности, ребра образуют замкнутую внутреннюю границу.
Bump maps (карты рельефности) — карты, в которых благодаря разным значениям яркости точек растра создается визуализированная иллюзия возвышенных и углубленных участков объекта без формирования новой геометрической формы.
Codec (кодек) — сокращенное название компрессора-декомпрессора данных, в котором применяется алгоритм сжатия и распаковки цифровых видеоданных. Аналогичным образом называется программное обеспечение, реализующее указанный алгоритм.
Command panel (панель команд) — шесть панелей пользовательского интерфейса, предназначенных для доступа к большинству инструментов моделирования в 3DS МАХ 4.
Constraints (Ограничения) — новая форма контроллера, которая допускает множественное влияние на анимацию.
Controllers (Контроллеры) - расчет всей анимации осуществляется контроллером, который назначается для объекта или параметра.
Depth of Field (глубина резкости) — этот эффект делает более нечеткими объекты, удаленные от объектива камеры, по сравнению с находящимися вблизи нее объектами.
Diffuse color (рассеяний цвет) — цвет, который объект отражает при нормальном освещении, когда он освещен прямым солнечным светом или искусственным источником света.
Direct light (прямой свет) — направленные источники света излучают прямые лучи света внутри цилиндра подобно тому, как солнце освещает поверхность земли.
Dithering (смешение цветов) — способ сглаживания краев двух окрашенных разным цветом участков благодаря смешению их точек растра, приводящему к сглаживанию этих краев.
Dummy object (пустой объект) — фиктивный вспомогательный объект в виде каркасного куба с точкой опоры, находящейся в его геометрическом центре. У него имеется наименование, однако отсутствуют параметры. Его нельзя видоизменять и визуализировать. Единственным его настоящим свойством является точка опоры, которая используется в качестве центра для выполнения преобразований. Каркас служит в качестве системы отсчета для эффектов преобразования.
Edge (ребро) — ребро трехмерной грани или лоскута служит границей треугольной грани, которая соединяет две вершины.
Element (элемент) — совокупность граней на уровне подобъектов, которая считается единым графическим примитивом.
Face Normals (нормали граней) — векторы, которые определяют направление, в котором обращена поверхность грани. Если нормаль грани указывает в направлении наблюдателя, то соответствующие грани видны как при отображении, так и в визуализированном изображении. Нормали граней могут быть перевернуты или замещены двухсторонними материалами.
Face (грань) — ровная треугольная плоскость, которая служит в качестве стандартного блока поверхностей каркаса.
Fields (поля) — способ передачи информации по кадрам в видеосигнале. Это так называемая полевая чересстрочная развертка. Для отображения видеосигнала на телевизионных мониторах осуществляется развертка обеих частей каждого кадра, называемых полями. Одно поле содержит нечетные строки развертки, а другое — четные. Поля чередуются через каждую строку развертки, в результате чего образуется чересстрочное изображение.
Forward Kinematics (прямая кинематика) — движение системы костей сверху вниз. При этом движение руки отнюдь не приводит к движению плеча, тогда как движение плеча вызывает движение руки.
Glossiness (глянцевость) — позволяет настроить размер зеркальных подсветок, рассеиваемых поверхностью.
GUI (Graphic User Interface) — графический пользовательский интерфейс, который пользователь видит перед собой на экране.
Hierarhical link (иерархическая связь) — для создания и разрыва связей между находящимися на сцене объектами используются кнопки Select and Link и Unlink, расположенные в левой части панели инструментов. Связи образуются в виде соотношения "родительский-порожденный объект", причем родительский объект управляет порожденным объектом.
Home grids (координатные сетки) — сетка и рабочая плоскость, которая определяет используемые по умолчанию плоскости в 3DS МАХ 4
HSDS (Hierarchical Sub Division Surface — поверхность иерархического подразделения) — новый способ подразделения поверхностей для получения нескольких уровней более локализованной детализации.
IFL File (список файлов изображений) — файл в коде ASCII, в котором перечислены файлы растровых изображений, используемых в качестве отдельных визуализированных кадров.
Inverse Kinematics (Инверсная кинематика) — движение системы костей в обратном направлении от порожденного объекта к родительскому. В этом случае движение руки вызывает движение плеча.
Keyboard shortcuts (клавиатурные эквиваленты команд) — комбинации клавиш, при нажатии которых вызываются различные команды или режимы 3DS МАХ 4. Они могут быть изменены пользователем.
Keyframe (ключевой кадр) — ключевыми кадрами обозначается начало и конец каждого преобразования объекта или элемента на сцене. Значения ключевых кадров называются ключами.
Manipulator (манипулятор) — предварительно заданный или настраиваемый параметр, используемый для непосредственного манипулирования объектами в видовых окнах.
Maps (карты) — изображения, назначаемые для материалов в виде определенных рисунков. В 3DS МАХ 4 имеется несколько типов карт. К ним относятся стандартные растровые изображения (формата .bmp, .jpg или .tga), процедурные карты (в частности, Checker или Marble), а также такие системы обработки изображений, как объединители и системы маскирования.
Material libraries (библиотеки материалов) — файлы на жестком диске, используемые для хранения определений карт и материалов. Доступ к ним осуществляется из любого файла 3DS МАХ 4.
Materials (материалы) — данные, которые назначаются для поверхности или граней объекта, что придает ему определенный вид после визуализации. Материалы оказывают влияние на окраску объектов, их блеск, непрозрачность и т.п.
MAXScript listener (приемник команд MAXScript) — окно с розово-белым полем в левом нижнем углу экрана, которое используется во взаимодействии с языком подготовки сценариев MAXScript.
Modifier stack (стек модификаторов) — иерархический список модификаторов, в котором представлена предыстория изменений объекта.
Modifier (модификатор) — изменяет геометрическую структуру объекта, деформируя его определенным образом. Модификаторы вносят изменения в геометрическую форму объекта, которые остаются до тех пор, пока модификатор не будет настроен или удален.
Motion Blur (смазывание движения) — эффект размытости, который возникает при съемке быстро движущихся объектов на видеоленту или кинопленку.
Multipass rendering effect (эффект многопроходной визуализации)—результат выполнения многопроходной визуализации одного и того же кадра. При нескольких проходах имитируется размытость движения, которая обычно регистрируется камерой при определенных условиях. В 3DS МАХ 4 для этого имеются эффекты глубины резкости и размытости движения.
NTSC (National Television Standards Committee- Национальный комитет по телевизионным стандартам) — название телевизионного стандарта, применяемого в Северной Америке, большинстве стран Центральной и Южной Америки и в Японии. Частота кадров по этому стандарту составляет 30 кадров в секунду или 60 полей в секунду, причем каждое поле составляет половину строк чересстрочной развертки на телевизионном экране.
Omni light (всенаправленный источник света) — точечный источник света, излучающий свет во всех направлениях и в бесконечность.
Opacity (Непрозрачность) — способность материала препятствовать прохождению света, в отличие от прозрачности.
Opacity maps (карты непрозрачности) — в таких картах яркость точек растра используется для создания иллюзии непрозрачности или прозрачности на поверхности.
PAL (Phase Alternation Line- построчное изменение фазы) — телевизионный стандарт, применяемый в большинстве европейских стран. Частота кадров по этому стандарту составляет 25 кадров в секунду или 50 полей в секунду, причем каждое поле составляет половину строк чересстрочной развертки на телевизионном экране.
Point Cache (кэш точки) — файл на диске, в котором содержатся данные положения подлежащего анимации объекта на уровне подобъектов. Допускает воспроизведение на экране сложной анимации в реальном масштабе времени.
Polygon (плоскость) — совокупность пары треугольных граней, образующая прямоугольник и ограниченная ребрами.
Polygon mesh (многоугольный каркас) — новый класс объектов в 3DS МАХ 4, в котором вместо треугольников на уровне подобъектов используются прямоугольники.
Pull-down menus (ниспадающие меню) — пункты меню в верхней части экрана, при выполнении щелчка на которых вызываются соответствующие меню.
Quad menus (счетверенные меню) — специально настраиваемый ряд меню, появляющихся вокруг курсора на экране при выполнении щелчка правой кнопкой мыши.
Radiosity (излучательность) — вид отражения света от одних находящихся на сцене поверхностей на другие. В 3DS МАХ 4 излучательность не рассчитывается. Для этого приходится применять такую программу, как Lightscape.
Raytrace shadow (трассируемая лучами тень) — тени, формируемые в результате трассировки пути прохождения лучей от источника света к объекту. Трассируемые лучами тени получаются более точными, чем проецируемые тени. Они всегда образуют резкие края.
Render (формирование изображения) — процесс преобразования векторной графики в двумерный растровый формат.
Rendering (визуализация) - процесс формирования двумерного изображения с учетом материалов и таких параметров настройки окружающей среды, как фон и атмосфера.
Resolution (разрешение) — число точек растра любого изображения по ширине, умноженное на число точек растра по высоте.
Rotoscoping (ротоскопирование) — процесс переноса в 3DS МАХ 4 видеокадров, применяемых в качестве фона для согласования объектов на сцене.
Segment (отрезок) — часть двумерной формы, которая соединяет две вершины.
Self-Illumination (самосвечение) — создает иллюзию свечения благодаря замене любых теней на поверхности цветом рассеяния. При максимальном значении 100% тени полностью заменяются цветом рассеяния, создавая иллюзию самосвечения.
Shader (тип тонирования) — компонент материала, позволяющий настраивать форму и краевой переход зеркальных подсветок.
Shadow maps (карты теней) — растровое изображение, формируемое средством визуализации на предварительном этапе визуализации сцены. Карты теней не позволяют отображать цвет тени, отбрасываемой прозрачными или полупрозрачными объектами. Они позволяют создавать тени с мягкими краями.
Shape (форма) — объект, состоящий из одного или более сплайнов.
Smoothing (сглаживание) — эффект визуализации, который придает смежным граням, имеющим общее ребро, ограненный или сглаженный вид. Для граней может быть назначен режим Smoothing Group Numbers (Номера групп сглаживания). Если у двух граней имеется общий номер группы сглаживания, соответствующее ребро сглаживается.
Specular color (зеркальный цвет) — цвет, отраженный поверхностью материала.
Specular level (уровень блеска) — уровень яркости зеркальных подсветок, рассеивающих свет от поверхности.
Spline (сплайн) — совокупность вершин и соединяющих их отрезков, образующих линию.
Spotlight (прожектор) — источник света, излучающий сфокусированный луч света в форме конуса подобно фонарику, театральному прожектору или фаре.
Status bars (строки состояния) — область элементов управления и информационных окон, расположенная в нижней части экрана.
Sub-object (подобъект) — ряд типов объектов, позволяющих перейти на уровень подобъектов для редактирования отдельных частей, составляющих объекты. Например, у редактируемых каркасов имеются уровни подобъектов вершин, ребер, граней, плоскостей и элементов. У моделей NURBS могут быть уровни подобъектов поверхностей, кривых, точек, управляющих точек поверхности, управляющих точек кривых и импортирования. Для изменения активного уровня подобъектов используется свиток стека модификаторов на панели Modify. С другой стороны, изменить уровень подобъектов можно с помощью меню, вызываемого щелчком правой кнопкой мыши.
Tab panel (панель с закладками) — ряд панелей инструментов с закладками, которые могут быть специально настроены пользователем.
Tangency (касание) — касательная кривой функции, оказывающая влияние на интерполированные значения, находящиеся между ключевыми значениями анимации. В большинстве контроллеров анимации для определения кривой функции в месте нахождения ключевого значения используются фиксированные касательные. По умолчанию в 3DS МАХ 4 для ключевых значений назначаются плавные касательные в режиме Position Function Curve (Положение кривой функции). Именно по этой причине подлежащий анимации объект перемещается между ключевыми кадрами по плавным кривым. Плавные касательные назначаются в 3DS МАХ 4 потому, что они, как правило, обеспечивают наиболее естественное движение.
Tesselation (мозаичное представление) — подразделение поверхностей для их уплотнения.
Tiling (мозаичное расположение) — расположение карт в виде повторяющегося рисунка.
Time controls (элементы управления временными характеристиками анимации) — ряд кнопок, располагаемых по умолчанию в правой нижней части экрана и используемых для настройки и управления процессом создания и воспроизведения анимации.
Toolbar (панель инструментов) — стыкуемый или плавающий набор командных и редактирующих кнопок.
Track Bar (полоса трека) — временная шкала под видовыми окнами, на которой отображаются номера кадров (или соответствующие единицы отображения). Это отличный от окна Track View, быстрый способ перемещения, копирования и удаления ключей, а также изменения их свойств.
Track View (просмотр треков) — это окно, позволяющее просматривать и редактировать все создаваемые ключевые кадры. Кроме того, здесь могут быть назначены контроллеры анимации для интерполяции или управления всеми ключами и параметрами находящихся на сцене объектов. Некоторые функции окна Track View, в частности, перемещение и удаление ключей, доступны также в полосе трека, расположенной рядом с ползунком указателя временных отметок. В буфере окна Track View может быть запомнено тринадцать видов расположения этого окна под разными наименованиями.
Vertex (вершина) — не безразмерная точка в пространстве. Вершины имеются как у двумерных, так и у трехмерных объектов.
Viewport controls (элементы управления видовыми окнами) — навигационные инструменты, расположенные в правой нижней части экрана и предназначенные для настройки точки наблюдения в видовых окнах.
Viewports (видовые окна) — прямоугольные окна, предназначенные просмотра сцен в 3DS МАХ 4.
Virtual Frame Buffer (VFB — виртуальный буфер кадров) — отдельное диалоговое окно, в котором данная программа отображает результат визуализации.
Эта книга написана, чтобы помочь пользователям быстро понять принципы действия инструментов и познакомиться с основными приемами работы с программой. Ни одно из упражнений не начинается с загрузки практически готовой сцены. Мы научим вас самостоятельно создавать объекты с нуля.
Изначально Maya предназначалась для крупных студий. В известной степени это отразилось и на текущей версии программы, хотя в нее не вклрчены примеры сложных сцен, а библиотеки материалов, маркировки меню и клавиатурные комбинации представлены в минимальном объеме.
Для начала посмотрим на историю развития компьютерной графики в целом и программы Maya в частности.
Первые компьютеры появились в 40-х годах XX века, но только недавно они стали использоваться для создания художественных изображений. В 50-х годах идея об использовании технологии для создания визуальных эффектов была реализована путем создания телевизоров, осциллографов и экранов радаров. Первым глобальным шагом в этом направлении была, вероятно, придуманная в 1961 году Иваном Сазерлендом система Sketchpad, положившая начало эре компьютерной графики. С помощью светового пера пользователи могли создавать рисунки непосредственно на поверхности экрана. Векторная графика представляет собой примитивный штриховой рисунок, часто использовавшийся в первых видеоиграх и кино.
В 1967 году Сазерленд начал совместную работу с Дэвидом Эвансом с целью создания учебного курса компьютерной графики, в котором были бы слиты воедино искусство и наука. Университет штата Юта, в котором были начаты эти исследования, заработал хорошую репутацию в области исследования компьютерной графики и привлек людей, которые впоследствии сыграли важную роль в развитии данной отрасли. Среди них были: Джим Кларк — основатель компании Silicon Graphics Inc., Эд Кэтмул — один из первопроходцев в области создания фильмов с помощью компьютера и Джон Вэрнок — основатель компании Adobe Systems и разработчик таких известных продуктов, как Photoshop и Postscript.
Развитие алгоритмов
Пионеры компьютерной графики разработали следующую концепцию: формировать объемное изображение на основе набора геометрических фигур. Обычно для этой цели используются треугольники, реже — сферы или параболоиды. Геометрические фигуры получаются сплошными, и при этом геометрия переднего плана закрывает геометрию заднего плана. Затем подошло время разработки виртуального освещения, благодаря которому на виртуальных объектах появлялись плоские затененные участки, придававшие компьютерным изображениям четкие контуры и несколько техногенный вид.
Генри Гуро предложил усреднять раскраску между углами, чтобы получить более гладкое изображение. Эта форма сглаживания требует минимального объема вычислений и в настоящее время используется большинством видеокарт. Но на момент ее изобретения в 1971 году компьютеры могли визуализировать таким способом только простейшие сцены.
В 1974 году Эд Кэтмул ввел концепцию Z-буфера, суть которой была в том, что изображение может состоять из горизонтальных (X) и вертикальных (Y) элементов, каждый из которых также имеет глубину. Таким способом был ускорен процесс удаления скрытых граней, и теперь этот метод является стандартом для трехмерных ускорителей. Другим изобретением Кэтмула было обертывание двумерного изображения вокруг трехмерной геометрии. Проецирование текстуры на поверхность, является основным способом придания реалистичного вида трехмерному объекту. Изначально объекты были равномерно окрашены в один цвет, так что, например, создание кирпичной стены требовало индивидуального моделирования каждого кирпичика и заливки между ними. В наши дни вы можете создать такую стену, назначив растровое изображение кирпичной стены простому прямоугольному объекту. Этот процесс требует минимального объема вычислений и ресурсов компьютера, не говоря уже о значительном сокращении времени работы.
By Тонг Фонг усовершенствовал принцип сглаживания Гуро путем интерполяции оттенков всей поверхности полигона, а не только областей, прилегающих непосредственно к граням. Хотя визуализация в этом случае происходит раз в сто медленней, чем при предыдущем варианте сглаживания, объекты получают в результате «пластичный» вид, присущий ранней компьютерной анимации. В Maya используются два варианта раскраски по Фонгу.
Джеймс Блинн скомбинировал элементы раскраски по Фонгу и проецирования текстур, создав в 1976 году текстуру рельефа. Если к поверхности было применено сглаживание по Фонгу и можно спроецировать на нее карту текстуры, почему не использовать оттенки серого в соответствии с направлениями нормалей к граням, чтобы создать эффект рельефа? Более светлые оттенки серого воспринимаются, как возвышенности, а более темные — как впадины. Геометрия объекта при этом остается неизменной, и вы можете видеть его силуэт.
Блинн также разработал метод использования карт окружающей среды для формирования отражений. Он предложил создать кубическую среду путем визуализации шести проекций из центра объекта. Полученные таким способом изображения затем проецируются обратно на объект, но с фиксированными координатами, в результате чего картинка не перемещается вместе с объектом. В результате поверхность объекта будет отражать окружающую среду. Для успешной реализации эффекта нужно, чтобы не было быстрого движения объектов окружающей среды в процессе анимации.
В 1980 году Тернер Уиттед предложил новую технику визуализации, называемую трассированием. Это отслеживание путей прохождения отдельных световых лучей от источника света до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах. Хотя реализация этого метода требует значительного количества ресурсов компьютера, изображение получается очень реалистичным и аккуратным.
Начало эры комьютерной графики
В начале 80-х годов, когда компьютеры стали чаще использоваться в различных областях деятельности, начались попытки применения компьютерной графики в развлекательной сфере, включая кино. Для этого использовалось специальное аппаратное обеспечение и сверхмощные компьютеры, но начало было положено. К середине 80-х компания SGI начала производство высокопроизводительных рабочих станций для научных исследований и компьютерной графики. В 1984 году в Торонто была основана фирма Alias. Это название имеет два значения. Во-первых, это переводится как «псевдоним», ведь в те времена основатели компании были вынуждены работать по совместительству. Во-вторых, этот термин используется для описания ступенчатых краев изображения в компьютерной графике. Первоначально фирма ориентировалась на выпуск программного обеспечения.
предназначенного для моделирования и разработки сложных поверхностей. Затем была создана программа Power Animator, мощный и дорогостоящий продукт, который многие производители считали самым лучшим из доступных на тот момент.
В 1984 году в Сайта-Барбаре была основана компания Wavefront. Это название буквально переводится как волновой фронт. Компания немедленно занялась разработкой программного обеспечения для создания трехмерных визуальных эффектов и производством графических заставок для телепрограмм Showtime, Bravo и National Geographic Explorer. Первое приложение, созданное компанией Wave-front, называлось Preview. Затем в 1988 году была выпущена программа Softimage, которая довольно быстро завоевала популярность на рынке продуктов, предназначенных для работы с компьютерной графикой. Все программное и аппаратное обеспечение, использовавшееся для создания анимации в 80-х годах, было специализированным и очень дорогим. К концу 80-х годов в мире насчитывалось всего несколько тысяч человек, занимавшихся моделированием визуальных эффектов. Почти все они работали на компьютерах производства компании Silicon Graphics и использовали программное обеспечение от фирм Wavefront, Softimage и т. п.
Новый этап развития
Благодаря появлению персональных компьютеров число людей, занимающихся созданием компьютерной анимации, начало расти. Компании IBM PC, Amiga, Macintosh и даже Atari начали разрабатывать программное обеспечение для обработки трехмерных изображений. В 1986 году фирма AT&T выпустила первый пакет для работы с анимацией на персональных компьютерах, который носил название TOPAS. Он стоил 10 000 долларов и работал на компьютерах с процессором Intel 286 и операционной системой DOS. Благодаря этим компьютерам стало возможным создание свободной анимации, несмотря на примитивную графику и относительно низкую скорость вычислений. В следующем году фирма Apple Macintosh выпустила еще одну систему для создания трехмерной графики на базе персональных компьютеров, которая носила название Electric Image. В 1990 году фирма AutoDesk начала продажу продукта 3D Studio, созданного независимой командой Yost Group, разрабатывавшей графические продукты для компании Atari. Стоимость 3D Studio составляла всего 3000 долларов, что в глазах пользователей персональных компьютеров делало его достойным конкурентом пакету TOPAS. Еще через год появился продукт Video Toaster компании NewTek вместе с простой в использовании программой LightWave. Для работы с ними были необходимы компьютеры Amiga. Эти программы пользовались большим спросом на рынке и продавались тысячами копий.
К началу 90-х годов создание компьютерной анимации стало доступно широкому кРУгу пользователей. Каждый мог экспериментировать с анимацией и эффектами трассирования. Появилась возможность бесплатно загрузить программу Стивена Коя Vivid, позволяющую воспроизводить эффекты трассирования, или программу Persistence of Vision Raytracer, больше известную под названием POVRay. Последняя предоставляет детям и начинающим пользователям замечательную возможность познакомиться с основами компьютерной графики. Фильмы с потрясающими спецэффектами демонстрируют новый этап развития компьютерной
графики и визуализации. К сожалению, большинство пользователей считают, что создание впечатляющей анимации целиком зависит от мощности компьютера. Это заблуждение имеет место и в наши дни.
Слияние компаний Alias и Wavefront
По мере роста рынка приложений для работы с трехмерной графикой и увеличения конкуренции, многие компании объединили свои технологии. В 1993 году компания Wavefront слилась с фирмой Thompson Digital Images, которая использовала моделирование на основе NURBS-кривых и интерактивную визуализацию. Позднее эти функции легли в основу интерактивной фотореалистичной визуализации в Maya. В 1994 году фирма Microsoft купила программу Softimage и выпустила версию данного продукта для платформ Windows NT на базе компьютеров Pentium. Это событие можно считать началом эры недорогих и доступных среднестатистическому пользователю персонального компьютера программ для работы с трехмерной графикой. В ответ на это в 1995 году компания SGI купила и объединила фирмы Alias и Wavefront, чтобы предотвратить упадок интереса к приложениям, которые работали исключительно на специализированных компьютерах SGI. Почти сразу же новая компания, названная Alias] Wavefront, начала объединение имевшихся в ее распоряжении технологий для создания совершенно новой программы.
Наконец, в 1998 году было выпущено приложение Maya, стоившее от 15 000 до 30 000 долларов и предназначенное для операционной системы IRIX на рабочих станциях SGI. Программа была написана с нуля и предлагала новый путь развития анимации с открытым интерфейсом программирования приложений (API) и колоссальными возможностями расширения. Несмотря на первоначальное намерение компании SGI сохранить эксклюзивное право на предоставление среды для Maya, в феврале 1999 года появилась версия для Windows NT. Старая схема формирования цен была отброшена, и теперь базовый пакет Maya стоит всего 7500 долларов. В апреле этого же года появилась Maya 2, а в ноябре — Maya 2.5, содержащая модуль Paint Effects (Эффекты рисования). Летом 2000 года была выпущена версия Maya 3, к которой была добавлена возможность создания нелинейной анимации с помощью инструмента Тгах (Видеомонтаж). В начале 2001 года были анонсированы версии Maya для Linux и Macintosh, а с июня начались поставки Maya 4 для IRIX и Windows NT/2000.
Maya представляет собой программу для создания трехмерной графики и анимации, основанных на моделях, созданных пользователем в виртуальном пространстве, освещенных виртуальными источниками света и показанных через объективы виртуальных камер. Существуют две основные версии программы: Maya Complete (ее стоимость на момент написания книги составляла 7500 долларов) и Maya Unlimited (стоившая 16 000 долларов), которая включала некоторые специфические функции. Maya работает как на компьютерах PC с операционной системой Windows NT/2000, так и в операционных системах Linux, IRIX или даже Macintosh. Программа позволяет создавать фотореалистичные растровые изображения, подобные тем, которые вы получаете с помощью цифровой камеры. При этом работа над любой сценой начинается с пустого пространства. Лю-эой параметр можно заставить изменяться с течением времени, в результате после визуализации набора кадров получается анимированная сцена. Перечислим эсновные возможности и области применения Maya.
Maya превосходит многие из имеющихся в данный момент на рынке пакетов для работы с трехмерной анимацией. Программа используется для создания эффектов в большом числе фильмов, имеет широкий диапазон применения в областях, которые мы перечислили выше, и считается одной из лучших в области создания анимации, несмотря на сложность в ее изучении. В настоящий момент основными конкурентами Maya являются программы LightWave, Softimage XSI и 3ds max, стоимость которых составляет от 2000 до 7000 долларов. Среди программ, стоящих меньше 1000 долларов, можно упомянуть trueSpace, Inspire 3D, Cinema 4D, Вгусе и Animation Master. Существует даже бесплатное приложение для работы с трехмерной графикой, называемое Blender. Его можно взять на сайте http://www.blender.nl. Большинство этих программ хорошо работают на базе персональных компьютеров и имеют версии для различных операционных систем, таких как Macintosh. Провести их сравнительный анализ довольно сложно, но в основном, чем сложнее программа, тем более сложную анимацию она позволяет создавать и тем проще в ней процесс моделирования сложных объектов или процессов.
Книга предназначена для начинающих, но часть материала может оказаться полезной и для людей, уже имеющих опыт работы с трехмерной графикой. Maya является очень сложной программой, и даже опытные аниматоры могут обнаружить, что не знают о способах применения отдельных элементов ее интерфейса. Программа удачно спроектирована и все время использует одинаковые условные обозначения, поэтому чем дольше вы ее изучаете, тем проще становится этот процесс. Структура Maya последовательна и логична, что избавляет вас от необходимости запоминать бесконечные исключения из общих правил.
Однако желательно, чтобы начинающие пользователи имели хоть какое-то представление о традиционном искусстве и операционной системе, в которой они работают. Любой аниматор в душе — художник и должен знать принципы выбора цвета, композиции, контраста, движения, направления и другие творческие аспекты. Основным орудием его труда является компьютер, поэтому необходимо иметь навыки работы с операционной системой.
Многие из аниматоров начинали с использования программ для редактирования двумерных изображений, таких как Photoshop, Fractal Painter и Corel Photo-Paint. Некоторые также работали с программами для обработки векторной графики, например с CorelDraw, FreeHand или Illustrator. Кто-то имеет опыт работы с такими монтажными программами, как After Effect или Combustion. Люди, создающие графические работы для Интернета, знакомы с программой, комбинирующей временную шкалу и векторную графику, которая называется Flash. Все вышеперечисленное окажет неоценимую помощь при изучении Maya. Как минимум вы должны иметь представление о редакторах растровых изображений, например о Paint Shop Pro, тестовую версию которого можно взять на сайте http://www.jasc.com. Растровые изображения часто используются при создании анимации.
Проявляйте упорство. Трехмерная анимация часто требует недюжинных усилий и одновременного использования технических и художественных навыков. Не теряйте уверенности, если периодически вам придется прилагать слишком большие усилия для решения возникающих проблем. Работа аниматора часто состоит из таких моментов. По мере чтения книги не забывайте периодически повторять усвоенный материал и стараться применять его для осуществления небольших проектов и в экспериментах. В конце каждой главы можно найти руководство к дальнейшим действиям. Если результаты визуализации выглядят вполне прилично, можно вернуться к этой сцене еще раз после получения дополнительных сведений об использовании Maya. Прежде чем начать работу над серьезным проектом, вам нужно получить общее представление о процессе анимации, которое появится после завершения чтения данной книги.
Книга состоит из четырех частей. Первая часть, «Общее представление о Maya», повествует об основах использования программы и создания анимации с ее помощью. Глава 1 «Предварительные сведения» предназначена для пользователей, которые слабо представляют себе основные аспекты моделирования. Глава 2 «Введение в Maya» и глава 3 «Основные методы работы в Maya» дают представление об основах работы с программой Maya, без которых невозможно начать создание трехмерного мира. В главе 4 «Ваша первая анимация» объединены все стадии процесса создания анимации: моделирование, назначение материалов, анимация и визуализация полученного результата.
Во второй части книги, «Основы Maya», вы получите сведения об основных методах создания анимации. Они будут продемонстрированы на многочисленных примерах, которые постепенно помогут вам освоить более сложные приемы использования программы. В главе 5 «Моделирование на основе NURBS-кривых» вы перейдете от использования обычных выпадающих меню к работе с контекстными меню, которые были созданы для увеличения эффективности моделирования. Так как в Maya этот процесс осуществляется на основе не только NURBS-кривых, но и полигональных сеток, этому методу посвящена отдельная глава. Но сначала вы познакомитесь с дополнительными методами моделирования на основе NURBS-кривых, рассмотрению которых посвящена глава 6. В главе 7 «Моделирование на основе полигонов» вам предстоит смоделировать монстра-пришельца, чтобы получить представление о создании объектов органического происхождения из сетки полигонов. В главе 8 «Материалы» объясняются способы создания основных материалов с помощью окна диалога Hypershade (Редактор узлов). В главе 9 «Освещение» вы увидите, как можно регулировать настроение, создаваемое сценой, с помощью виртуальных источников света. Глава 10 «Анимация» демонстрирует способы создания анимации в Maya. В главе 11 «Камеры и визуализация» вы узнаете о том, как завершить работу над проектом, зафиксировав определенную проекцию сцены, и как получить окончательный результат с помощью визуализации.
Третья часть, «Дополнительные приемы работы с Maya», начинается с главы 12 «Эффекты рисования», в которой демонстрируется работа с модулем, предназнаменным для создания различных растений, деревьев, природной среды, а также облаков, звезд и туманностей. В главе 13 «Системы частиц и динамика» вы познакомитесь с методами автоматического создания сложной анимации. Кроме того, вы наконец завершите проект, работу над которым вели в процессе чтения книги. Последняя глава «Эффективность и артистичность» представляет мето-ады экономии времени при создании сцен, а также знакомит со способами решения основных проблем.
В книге три приложения. Первые два предназначены для пользователей программ 3ds max и LightWave и представляют собой краткий сравнительный анализ данных приложений и Maya. Последнее приложение посвящено обзору версий Maya для различных операционных систем.
Из-за достаточно высокой стоимости программы Maya может сложиться впечатление, что для ее запуска нужен сверхмощный и сверхдорогой компьютер. На самом деле для этого вполне достаточно современного компьютера с правильно подобранной видеокартой.
Видеокарты
Ваша работа с Maya будет намного проще, если установить одну из лучших видеокарт, возможно, вам придется приобрести для этого профессиональную видеокарту. Просмотрите последнюю версию списка совместимого оборудования на сайте Alias|Wavefront (http://www.aliaswavefront.com/en/Community/Support/ qualified_hardware/QUAL/maya-40_NT.html).
В общем случае, лучше всего выбирать из карт 3D Labs, ELSA, Oxygen, nVidia или FireGL, предназначенных для профессионалов. Узнайте у фирмы-производителя карты о специальных режимах работы драйвера. Если существуют режимы, специально предназначенные для Maya, то почти наверняка эта видеокарта вам подходит. Очень важной функцией, необходимой для работы, является поддержка видеокартой плоскостей перекрытия. Без этого раскраска в интерактивном режиме будет происходить очень медленно. Скорее всего, для покупки видеокарты вам потребуется несколько сотен долларов. На сайте http://www.pricewatch.com вы сможете найти цены на профессиональные видеокарты от сотен различных производителей.
Небольшой совет: обязательно посетите сайт производителя видеокарты — вы найдете там свежие драйверы. После установки драйверов в Windows NT/2000 можно щелкнуть правой кнопкой мыши на рабочем столе и выбрать команду Properties (Свойства). Появится окно диалога Display Properties (Свойства экрана), нужно перейти на вкладку Settings (Настройки) и выбрать разрешение и глубину Цвета. Нажмите кнопку Advanced (Дополнительно) для получения доступа к дополнительным параметрам настройки видеокарты и монитора. Там вы можете
убедиться, что SD-ускоритель на основе OpenGL работает корректно. Для начала проверьте вашу видеокарту на разрешении 1024x768 или меньше. Некоторые видеокарты могут работать не совсем корректно при более высоких разрешениях. Ускорение обычно предназначено для определенной глубины цвета: 15/16 разрядов (32 000 цветов) или 24/32 разрядов (16 миллионов цветов). Большинство новых видеокарт используют глубину цвета 24 разряда, но некоторые сравнительно недорогие карты работают только в режиме 15 разрядов.
Трехкнопочная мышь
Для работы с Maya необходимо обзавестись трехкнопочной мышью. В качестве средней кнопки мыши часто используется колесо прокрутки, но это не совсем удобно. Впрочем, существуют мыши, снабженные и средней кнопкой, и колесом прокрутки. Она превосходно подходит для работы с Maya.
Иногда драйверы мыши могут стать источником проблем. Например, они не распознают среднюю кнопку мыши в режиме совместимости с Maya или не реагируют на отпускание кнопки, если вы нажали несколько кнопок одновременно. Имейте в виду, что упомянутые функции жизненно необходимы для работы с Maya, поэтому вам нужно просто найти подходящие драйверы. Если это не решило проблему, купите новую мышь.
Планшеты
Очень желательно приобрести графический планшет. Практически все инструменты для рисования, используемые в Maya — Artisan, 3D Paint, Paint Weight, Paint Effects и т. п., — чувствительны к силе нажатия на перо. Планшет предоставляет большую свободу творчества благодаря возможности изменять свойства рисуемых линий, регулируя силу нажатия. Как правило, размер кисти и непрозрачность штриха определяются силой нажима, но любая переменная, которую вы видите в Maya, появляются дважды, показывая свое верхнее и нижнее значения. То есть величина параметра может изменяться в этих пределах, в зависимости от силы нажатия на перо. Если вы предпочитаете пользоваться мышью, возьмите верхнее значение для всех частей всех штрихов. Стоимость планшета составляет от 100 до 4000 долларов. Но планшеты Graphire 4x5 и Intuos 6x8 фирмы Wacom стоят 100 и 300 долларов соответственно, позволяя получить неплохие результаты. Если Maya будет использоваться для рисования, вам просто необходимо купить планшет.
Минимальные системные требования
Официальные системные требования Maya 4 для Windows NT/2000:
Системные требования в Linux:
Системные требования для IRIX: IRIX версии 6.5.12 или выше.
Системные требования для Macintosh OS X:
Вне зависимости от установленной у вас операционной системы, могут оказаться полезными также сканер, дисковод ZIP, дисковод для записи компакт-дисков, доступ в Интернет, устройства для видеозахвата и видеовывода. Если ваш бюджет ограничен, эти устройства можно покупать по мере их необходимости.
ПРИМЕЧАНИЕ
На момент написания данной книги появилась первая версия Maya для Macintosh. В своей основе это версия Maya 3, но с визуализатором от Maya 4. Хотя книга предназначена для пользователей Maya 4, почти все описанные функции доступны в Maya 3. Однако многие окна диалога и элементы интерфейса расположены в других местах.
Рекомендуемая конфигурация системы
В этом разделе мы перечислим неофициальные рекомендации по конфигурации аппаратной части персонального PC-совместимого компьютера для работы с Maya. Эти рекомендации основаны на реальном опыте и реальных ценах на программное обеспечение.
Планирование расходов на покупку компьютера
Если ваш бюджет ограничен, используйте следующие приоритеты:
Предметом роскоши для аниматоров является второй монитор. Для большинства материнских плат, имеющих разъем AGP для видеокарты, при подключении второго монитора требуется замена всей видеосистемы. Новая видеокарта должна поддерживать двухмониторную конфигурацию с полным SD-ускорением по меньшей мере на одном мониторе. Также можно использовать две идентичные PCI видеокарты под управлением операционной системы Windows NT. На второй монитор можно поместить плавающие окна диалога, где они не будут загораживать окна проекции и будут оставаться открытыми в течение произвольного времени. В Maya практические любое меню можно превратить в такое окно диалога.
На все компьютеры устанавливается один и тот же дистрибутив Maya, но его функциональность ограничивается шифром, который вы получаете, купив лицензию на Maya. Это небольшой текстовый файл, присылаемый вам по электронной почте. Для пользователей Windows NT/2000 его нужно сохранить в папке C:\FlexIM под именем aw.dat. Отправной точкой алгоритма шифрования является сетевая карта компьютера или аппаратный ключ. Для получения шифра нужно сообщить вашему дилеру серийный номер аппаратного ключа или МАС-адрес сетевой карты. Чтобы узнать его, введите в командной строке IPCONFIG /ALL и нажмите клавишу Enter. В результате появится примерно следующая информация:
Ethernet adapter:
Description : NDIS 4.0 driver
Physical Address : 00-DO-05-C6-F8-3A
DHCP Enabled : No
IP Address : 218.130.137.166
Subnet Mark : 255.255.255.210
Default Gateway : 208.130.227.113
Нужная вам информация находится в строке Physical Address. Если сетевая карта, номер которой был предоставлен в компанию Alias|Wavefront, перестала работать, вам следует прислать номер новой сетевой карты, чтобы Maya продолжала корректно функционировать.
В версию Maya Complete включено подавляющее большинство функций Maya, которые вполне удовлетворяют потребности основной пользовательской аудитории. Именно о них мы будем говорить в данной книге. Но если вы решите купить версию Maya Unlimited, то получите доступ к четырем дополнительным модулям:
Эти модули присутствуют в Maya Unlimited в виде стандартных выпадающих меню. Кроме того, существует ряд дополнительных функций, позволяющих сэкономить время работы над сценой. Но и при использовании Maya Complete есть возможность получить похожие результаты, правда затратив на это несколько больше времени и усилий.
Многотомные руководства пользователя к Maya доступны только в Интернете. Набор документов, поставляемых вместе с Maya, содержит только начальный материал, посвященный установке Maya и новым возможностям, появившимся в текущей версии. В то же время в Интернете можно найти исчерпывающую и подробную документацию. При работе с программой достаточно нажать клавишу F1, чтобы получить доступ к справочным материалам. Имеет смысл постоянно держать справочное пособие открытым. Как только вы вступаете в недостаточно знакомую область, не понимаете смысла переменной или затрудняетесь в определении назначения пункта выпадающего меню, обращайтесь к справочному пособию. В него встроена функция поиска, позволяющая быстро найти интересующую тему.
Для общения с читателями и предоставления им дополнительных сведений по Maya был создан специальный web-сайт http://www.trinity3d.com/M4F. Там вы сможете найти дополнительные советы и идеи, новые фильмы, ссылки на сайты сходной тематики. Также там будут появляться важные дополнения к книге.
Эта книга рассказывает не о способах создания таблиц и верстки информационных бюллетеней. Программы для трехмерной анимации в целом и Maya в частности имеют особенность, отличающую их от любого другого программного обеспечения, — возможность создавать и визуализировать целый мир, существующий изначально только в вашем воображении. Учитывая соотношение цена/ мощность современных компьютеров и нижнюю планку цены на Maya, можно сказать, что мы вступаем в новую эру, когда каждый может самостоятельно создать окружающую обстановку, персонажей и историю их взаимодействия с помощью четырех основных средств: персонального компьютера, Maya, времени и таланта. По мере вашего превращения из начинающего пользователя в мастера будут как проблемы, так и моменты триумфа. Но в большинстве случаев вы будете испытывать только радость созидания. Мы желаем вам увлекательного и познавательного путешествия в мир компьютерной графики!
Предварительные сведения
Вряд ли все интересующиеся трехмерной анимацией проводили сотни часов, снимая фильмы, рисуя картины, подбирая цвета при оформлении интерьера или фотографируя. Также сложно предположить, что каждый из этих людей собирал компьютеры, проектировал сети, устанавливал операционные системы или разрабатывал программное обеспечение. Но опыт в любом из вышеперечисленных видов деятельности может помочь в создании анимации. Компьютерная графика включает в себя такое количество разнообразных дисциплин, что практически каждый пользователь обладает хотя бы несколькими навыками, относящимися к этой области. В то же самое время для того, чтобы стать мастером в создании компьютерной графики, нужно приобрести массу умений. Начнем с обзора некоторых из них.
Конечным результатом трехмерной анимации практически всегда является двумерное изображение, статичное или ашшированное. По большей части объекты, созданные с помощью Maya, не сильно отличаются от объектов, полученных с использованием любой другой программы, предназначенной для трехмерного моделирования. Применяются классические принципы дизайна, разработанные за тысячелетнюю историю живописи и, по меньшей мере, столетнюю историю фотографии и киноискусства. Часто начинающие аниматоры имеют весьма расплывчатое представление об этих принципах, поэтому именно с их обзора мы и начнем.
Второе место среди необходимых сведений занимает знание устройства компьютера. Но в этой главе мы не будем перечислять все возможные типы компьютеров и операционных систем, а поговорим о способах выполнения различных задач с помощью компьютера. Ответы на большинство возникающих у вас вопросов можно найти, используя функцию Help (Справка) операционной системы.
Напоследок мы поговорим об основных понятиях компьютерной графики, таких как пиксел, разрешение, глубина цвета и растровое изображение. Если значение этих слов вам не известно, внимательно прочитайте соответствующий раздел данной главы.
Скорее всего, в школе на уроках рисования вам рассказывали об основных цветах — красном, желтом и синем. На цветовом круге, показанном на рис. 1.1, эти цвета помещены в вершины треугольника, а между ними находятся продукты их смешивания.
Рис. 1.1. Цветовой круг (red — красный, yellow — желтый, blue — синий, violet — фиолетовый, orange — оранжевый, green — зеленый)
Производными цветами являются фиолетовый, оранжевый, зеленый. Цвета от зеленого до фиолетового называются холодными, а от красного до желтого — теплыми. Цвета, расположенные в цветовом круге друг напротив друга, называются дополнительными. Их сочетание выглядит не очень гармонично. Общая палитра цветов, используемая в композиции, называется цветовой схемой. При этом можно сказать, что цветовая схема композиции является холодной или теплой, в зависимости от доминирующего цвета. В общем, изображение получается тем более гармоничным, чем меньше дополнительных цветов было использовано для его построения. Однако их разумное применение позволяет выделить один объект на фоне другого.
Известные вам основные цвета называются субтрактивными. Они не используются в компьютерной графике. Краски или пигмент карандаша накладываются на отражающую поверхность, в роли которой обычно выступает белая бумага.
Свет проходит через пигмент, отражается-от бумаги и снова проходит через пигмент. Окрашенный таким образом он достигает ваших глаз. Пигменты поглощают определенные цвета, позволяя выходить наружу только свету с определенной длиной волны. В результате, наложив друг на друга несколько пигментов различных цветов, вы получите черный цвет.
В компьютерной графике используются аддитивные цвета. Монитор по умолчанию является черным, а цвет создается путем добавления световых пятен. Основными цветами в этом случае являются красный, зеленый и синий. В результате их смешивания получаются желтый, пурпурный и голубой. Пример цветового круга аддитивных цветов показан на рис. 1.2. Смешивание достаточного количества различных цветов в данном случае дает в результате белый цвет.
Рис. 1.2. Цветовой круг аддитивных цветов
Настройку цвета в Maya можно производить в режимах HSV и RGB, как показано на рис. 1.3. В режиме RGB независимо отдельно указываются доли каждого из цветовых компонентов — Red (Красный), Green (Зеленый), Blue (Синий). За 100% обычно принимается значение 1 или 255. Более наглядным является режим HSV. Эта аббревиатура образована от трех слов: Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность). Цветовой тон задает оттенок цвета. Например, нежно-розовый цвет имеет красный цветовой оттенок. Насыщенность определяет чистоту цвета в сравнении с оттенками серого. Чем менее насыщен цвет, тем ближе он к серому. Интенсивность задает яркость цвета в сравнении с черным. Часто ее рассматривают как степень смешения выбранного цвета с черным.
Рис. 1.3. Палитра выбора цвета в Maya
При выборе цветов для объектов сцены вы быстро обнаружите, что в реальности цвета редко бывают полностью насыщенными. Имейте в виду, что чистый, стопроцентно насыщенный цвет выглядит на экране компьютера слишком ярким. Чтобы придать объектам натуральный вид, избегайте предельных положений любого из ползунков Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность). Особенно это относится к насыщенности.
Композиция изображения
Ключевой частью создания сцены является ее композиция, то есть размещение объектов и сопутствующего им окружения в пределах кадра. Также композиция создается с помощью цветов и контраста между ними. Области, окрашенные в сходные цвета или имеющие низкую контрастность, становятся менее заметными на фоне других областей изображения.
Яркость и контраст
Как правило, изображение содержит всю гамму от белого до черного, но иногда специально создаются высветленные или недодержанные фотографии. В первом случае самый темный цвет на картинке становится серым, а во втором случае серым становится самый светлый. Но обычно предпочтительно, чтобы некоторые области изображения оставались полностью затемненными, а некоторые — были хорошо освещены. Для фокусирования внимания зрителя на определенных объектах можно использовать контрастность. Области изображения с низкой контрастностью (например, большая, ничем не украшенная стена серовато-желтого цвета) часто являются намного менее интересными, чем области с высокой контрастностью (например, ярко-красный автомобиль с черными шинами). Однако, .как правило, желательно избегать слишком контрастных композиций, так как в этом случае не представляется возможным сфокусировать внимание зрителя на определенной ее части, да и сама картина выглядит неестественно. В трехмерном моделировании обычной ошибкой является создание слишком блеклых, высветленных сцен. Пример такой сцены показан в центре рис. 1.4. Чтобы избежать таких эффектов, не вводите в сцену слишком много источников света и избегайте слишком яркой подсветки. Желательно вводить источники света по одному, фокусируя их на определенных областях, которые нужно осветить более ярко.
Рис. 1.4. Расположенное слева изображение имеет области минимальной и максимальной контрастности, в то время как центральная сцена освещена чересчур ярко, а в сцене справа — недостаток освещения
Затухание источников света также является нелишним в большинстве случаев. Если его не добавить, интенсивность света будет постоянной, вне зависимости от расстояния до его источника, что выглядит неестественно.
Освещение в компьютерной графике сильно отличается от освещения в реальном мире. Триллионы фотонов, испускаемых небольшой лампочкой, отражаются от объектов окружающей среды, распространяя свет во всех направлениях. Любая имитация реального света слишком сложна для современных компьютеров. Вместо этого используется математическая модель источника света, который не рассеивается окружающими предметами. В реальном мире свет солнца, падающий через окно, освещает всю комнату, отражаясь от пола, в то время как в компьютерной модели освещенным окажется только пол.
Отрицательное пространство
Отрицательным, пространством (negative space) называют менее сложные и привлекающие внимание зрителя области изображения. Другими словами, это заполняющее картину пространство, свободное от объектов. Обычно это нейтральный вид — плоская стена, пустое небо и т. п. Однако отрицательное пространство также играет важную роль. Сплошь заполненное объектами изображение подобно ста различным радиостанциям, вещающим одновременно. Пример использования отрицательного пространства для привлечения внимания к важным объектам изображения показан на рис. 1.5. Композиция изображения
Рис. 1.5. Отрицательное пространство привлекает внимание к объекту сцены
Иногда сцена является настолько детализированной и сложной, что встает вопрос о поиске места для отрицательного пространства. Комбинируя техники фотографии и последующей обработки, можно найти другие способы выделения объекта, например воспользоваться глубиной резкости (depth of field) для размывания объектов переднего и заднего плана. В этом случае объект, на котором фокусируется внимание, будет находиться на размытом фоне. Размыть области, которые должны служить отрицательным пространством, можно в процессе обработки готового изображения. В этом случае цвет окружающего пространства приглушается, в то время как предмет, на котором нужно сфокусировать взгляд зрителя, имеет полностью насыщенный цвет. Вместо оттенков серого в данном случае можно использовать другие монохромные композиции, например оттенки синего.
Деление изображения
Размещение основного объекта точно в центре картины не всегда дает наилучший результат. На картинах знаменитых мастеров можно обнаружить некоторые интересные закономерности. Общий принцип композиции состоит в делении картины на три части по горизонтали или вертикали и размещении изображения в одной из них, например, как показано на рис. 1.6.
Такое деление помогает избежать скучных симметричных композиций и заставляет художника подумать о том, в какую именно часть картины поместить ключевой объект. Объект совершенно один в огромном мире? Тогда его желательно расположить в нижней трети кадра. Вы хотите сделать крупный план главного действующего лица? Тогда для него лучше всего подойдут верхние две трети по вертикали. Массу примеров и объяснений на эту тему можно найти в книгах по истории искусства.
Рис. 1.6. Пример деления полотна на части по вертикали и горизонтали
Большинство фотографов, кинематографистов и осветителей сцены скажут вам, что освещение само по себе является искусством. Процесс фотографии намного более чувствителен, чем работа с виртуальными камерами при создании трехмерных сцен, зато у вас есть больше возможностей, чем у фотографов. Например, можно создать источник света, от которого не возникает теней, объекты, исключенные из освещения, или свет, интенсивность которого все время остается постоянной. Тем не менее имеет смысл ознакомиться с рядом базовых принципов освещения, применяемых в традиционной фотографии.
Стандартная модель освещения
В каждой сцене свои требования к освещению, но в фотографии обычно используют стандартный подход освещения с трех точек. На рис. 1.7 показан пример этого подхода. Источники света расположены следующим образом:
Рис. 1.7. Пример освещения с трех точек
Также в трехмерном изображении часто используются источники освещения, располагаемые позади объекта с целью добиться эффекта ореола. В общем случае такой свет имеет некий оттенок, обычно голубоватый. В Maya можно настроить этот источник таким образом, чтобы он освещал только объект, а не фоновые декорации. Цветовой контраст окрашенного ореола вокруг объекта помогает выделить его на фоне декораций. Это выделение станет особенно явным если сделать цвет ореола дополнительным к цвету фона.
Правильно расположив камеру, можно подчеркнуть определенные характеристики и свойства объекта. Камера может находиться под объектом и быть нацеленной вверх или же над ним и быть нацеленной вниз. Кроме того, любая камера, виртуальная или реальная, характеризуется определенным полем зрения (field of view). В Maya употребляется термин угол обзора (angle of view). Камера может быть широкоугольной или с телеобъективом. Восприятие зрителя зависит от эффекта перспективы. Чем шире поле зрения камеры, тем шире будет перспектива. Фокусное расстояние человеческого глаза составляет 50 мм и соответствует так называемому нормальному объективу (normal lens). Изменение этого фокусного расстояния ведет к искажению перспективы, как показано на рис. 1.8.
Рис. 1.8. Вид объекта при угле обзора 20 градусов (слева) и 85 градусов (справа)
Угол обзора и перспектива
Изменив относительную высоту объекта, можно сделать его более или менее значимым. Чтобы объект выглядел мощным, сфотографируйте его снизу, глядя на него как на гигантскую статую. Для создания эффекта отстраненности объекта его нужно снять сверху и с некоторого расстояния.
С помощью перспективы создается драматический эффект и впечатление действия. Вы не обращали внимания, что блестящие автомобили и самолеты иногда фотографируют спереди, под очень широким углом и с очень близкого расстояния? Это дает очень широкую перспективу и создает впечатление, что автомобиль или самолет надвигается прямо на вас. Телеобъективы имеют очень узкое поле зрения и поэтому они уменьшают перспективу до такой степени, что объекты становятся совершенно плоскими и уже сложно сказать, какой из них расположен ближе. Отсутствие перспективы приводит к появлению схематичных сцен. Перспектива также может придать чувство масштаба. Так как в трехмерных сценах не существует ориентиров для размера, иногда бывает сложно понять, смотрите ли вы на игрушечную машинку, реальную машину нормального размера или же на гигантский автомобиль. Можно сделать массу намеков на истинные Камеры и
поверхности. Используя более широкоугольные линзы, можно легко дать представление о масштабе объекта, но желательно не переусердствовать. В общем случае поле зрения должно составлять от 25 до 80 градусов. Для крупных планов лучше использовать камеру более узким полем зрения, расположенную на некотором расстоянии, потому что, взяв для этой цели стандартную камеру с широкоугольным объективом и расположив ее близко к объекту, вы получите искажение перспективы. Пример такого искажения показан на рис. 1.9.
Рис. 1.9. Вид одного и того же объекта при различном расположении камер с разным полем зрения
Точки схода и перспектива
В эпоху Возрождения в поисках методов отображения перспективы художники придумали термин точки схода (vanishing points). В зависимости от ориентации камеры изображение может иметь одну, две или три таких точки. Если камера расположена в одной плоскости, то видна только одна точка схода. Поворот камеры влево или вправо приводит к появлению второй точки схода (камера на рис. 1.10 была повернута влево). Если же после этого камеру повернуть еще и вверх или вниз, появляется третья точка схода.
Рис. 1.10. Примеры перспективы с одной, двумя и тремя точками схода
Иногда бывает нужно расположить камеру таким образом, чтобы создать второй вариант перспективы, имея при этом только одну точку схода. Такая ситуация возникает, например, если нежелательно, чтобы здания вверху сходились в одной точке, но в то же самое время их требуется снять снизу. Способ разрешения этой проблемы в Maya называется смещением кадра.
Теперь, когда вы знаете способы расположения камеры при съемке статичных объектов, поговорим о том, как лучше запечатлеть динамичную сцену. Объекты могут двигаться, а также менять форму и цвет, при этом камера тоже может менять свое местоположение в пространстве. Существует возможность снять несколько вариантов движения и соединить их друг с другом с помощью монтажа. Во всех этих случаях вы выступаете в роли кинорежиссера. Перечислим правила, которые необходимо знать в этом случае.
Монтаж и линия взаимодействия
Обычно перед началом просмотра сцены зрителю нужно задать справочный кадр. Обычно режиссеры добиваются этого с помощью одного мастер-кадра, дающего представление о расположении объектов в сцене.
Если персонажи, участвующие в сцене, взаимодействуют друг с другом, то обычно используются два кадра — для каждого из них, — указывающие на их позиции друг относительно друга. Если в сцене есть только один персонаж, который перемещается в пространстве, уместить все его тело в кадре можно, дав общий план. Средний план демонстрирует верхнюю часть персонажа — от талии до макушки, крупный план используется для показа лица и шеи. Можно также сфокусироваться на участке от линии бровей до подбородка. Разумеется, все вышеперечисленное касается только съемки людей. К примеру, части тела и черты лица инопланетянина могут располагаться в совершенно других местах. Но, по крайней мере, у вас есть отправная точка для начала съемки.
Движение объектов
Каждый, кто работает в области трехмерной анимации, сталкивается с необходимостью создать впечатление наличия у персонажа или объекта массы и инерционности. В жизни редко происходит мгновенная остановка движения, но если такое все-таки случается, присоединенные к персонажу или объекту детали начинают раскачиваться, а то и вообще отрываются. Естественно, что при моделировании движения это не происходит само по себе, так что аниматору приходится постоянно помнить об этих и прочих деталях имитации динамики реального движения. В мультфильмах часто применяется преувеличение движения. Например, рост и объем персонажа радикально изменяются при его приближении или объект внезапно теряет вес и взмывает в воздух при ударе о землю.
Другим важным моментом является расположение центра тяжести. Например, при спуске вниз персонаж выдвигает ноги вперед в качестве противовеса. В противном случае он просто упадет. Аниматоры часто лично воспроизводят нужное движение персонажа, снимая его на пленку, чтобы иметь постоянное напоминание об этих мелких, но таких важных гранях реального движения.
Движение камеры
В трехмерном моделировании не существует ограничений для движения камеры. Она может проходить сквозь замочные скважины, перемещаться со скоростью реактивного самолета, внезапно останавливаться или вращаться вокруг своей оси со скоростью сто оборотов в секунду.
Однако если вы не хотите вызвать у зрителей неприятных ощущений, желательно придерживаться принципов, которые используются операторами в реальной жизни. Например, поворот камеры вокруг своей оси должен осуществляться очень медленно. Прибегать к крену или к вертикальному панорамированию стоит только для создания специальных эффектов.
В анимации также желательно придавать камерам некоторую массу, чтобы избежать мгновенного начала и завершения движения. Камера должна приходить в движение из статичной позиции с постепенным ускорением. Замедление ее движения тоже должно быть постепенным. Можно указать траекторию, по которой камера будет двигаться в сцене. При этом нужно сделать так, чтобы камера свободно поворачивалась. В результате точка наблюдения будет перемещаться, но ее вращение будет плавным и равномерным.
Если вам уже приходилось работать с такой программой, как Photoshop, вы, скорее всего, уже знакомы с терминологией и общими методами компьютерной графики. Однако эти термины являются настолько важными для дальнейшей работы, что мы считаем своим долгом сделать их краткий обзор.
Векторы и пикселы
Существует два основных способа создания компьютерной графики — векторы и пикселы. В первом случае для каждой фиксированной точки изображения имеется линия, соединяющая ее со следующей точкой. Путем создания нескольких таких линий можно очертить замкнутую область и затем залить ее выбранным цветом. Второе название этого подхода — штриховой рисунок (line art). Так как опорные точки и линии имеют абсолютные координаты, можно создавать рисунки любого масштаба, не теряя при этом качества. Этот подход замечательно подходит для четкой графики, например для логотипов, и используется такими программами, как CorelDraw и Illustrator.
Во втором случае для создания изображения применяются прямоугольные точки, называемые пикселами. Они являются структурными единицами растрового изображения. Пикселы могут быть окрашены в любой цвет. Рассмотрение их набора с некоторого расстояния создает впечатление обычного изображения или фотографии. Чем больше пикселов, тем более детальным получается изображение, если его абсолютные размеры при печати или показе на экране монитора остаются без изменений. Абсолютный размер изображения, составленного из пикселов, называется разрешением. Если изображение состоит из большого числа пикселов, говорится, что оно имеет высокое разрешение. Например, по ширине 35-мм кадра обычно умещается 2048 пикселов, а по высоте — 1536. В отличие от векторных растровые изображения нельзя масштабировать. При сильном увеличении растрового изображения можно заметить, что оно состоит из цветных квадратиков. Подобный формат идеально подходит для фотографических изображений. Они обрабатываются с помощью таких программ, как Photoshop и Corel PhotoPaint. Штриховые рисунки очень редко используются в трехмерном моделировании, но большинство программ для работы с такими изображениями позволяет преобразовать их в растровые. При этом существует возможность выбирать требуемое разрешение.
Обычно файлы, содержащие растровые изображения, намного больше файлов со штриховыми рисунками. Например, цветное изображение с разрешением 640x480, содержит 307 200 пикселов, при этом каждый из них содержит информацию о долях красного, зеленого и синего цветов. Соответственно, размер необработанного файла составляет 921 600 байт. Это было большой проблемой во времена зарождения компьютерной графики, но благодаря техникам сжатия и возросшим мощностям компьютеров этот вопрос решен.
В Maya используется оба типа графических файлов. Может возникнуть ситуация, когда требуется создать логотип на основе штрихового рисунка, написать текст с помощью стандартных шрифтов или импортировать двумерный архитектурный план из программы для черчения, например из AutoCAD. Во всех этих случаях источником данных является векторное изображение. Также можно взять двумерные формы и использовать их в качестве кривых моделирования. Для выполнения этих преобразований вам может понадобиться инструмент, подобный Okino Polytrans, потому что возможности Maya по импорту файлов с векторными изображениями ограничены. Другой популярный у пользователей Maya инструмент для преобразования файлов с векторными изображениями в выдавленные логотипы это Zaxwork's Invigorator. Растровые изображения в Maya используются намного чаще. В основном они накладываются на поверхности способом, похожим на калькирование или наклеивание обоев. Кроме того, результаты визуализации сцен в Maya представляют собой растровые изображения.
Двумерная и трехмерная графика
Легко перепутать двумерную и трехмерную графику, потому что пользователи часто пытаются создать трехмерное изображение, используя исключительно инструменты для работы с двумерными объектами. Когда мы говорим о трехмерной графике, подразумевается виртуальное пространство с координатами X, Y и Z, в любом месте которого могут быть расположены объекты, источники света и камеры. Можно видеть оси X, Y и Z, взятые из геометрии. На них в Maya указывают вспомогательные объекты, как показано на рис. 1.11.
Какое направление соответствует каждой из букв? Обычно это зависит от опыта пользователя. Если аниматор работает с двумерным экраном, ось X идет слева направо, а ось Y — снизу вверх. При переходе к трехмерному экрану появляется ось Z, добавляя фактор глубины. Она может быть направлена как на зрителя, так и от него. Однако для пользователя CAD направление осей будет Основы компьютерной графики ч»
совершенно другим. Оси в CAD все время направлены вниз на координатные плоскости. Соответственно, оси X и Y являются индикаторами направлений север/юг и восток/запад, в то время как ось Z показывает высоту объекта. В Maya существует возможность менять местами оси Y и Z, что очень полезно при работе со сценами, импортированными из CAD. Это свойство может пригодиться и при импорте данных из других программ для трехмерного моделирования.
Рис. 1.11. Оси координат в Maya показаны в левом нижнем углу, при этом выделенные объекты имеют свои собственные оси
Ввод и вывод информации
В основном создание сцены в Maya начинается с нуля. После окончания работы над ней визуализируются одно или несколько статичных изображений, то есть программа рассчитывает двумерное растровое изображение сцены, наблюдаемое в объектив камеры, учитывая все источники света, объекты и материалы, назначенные этим объектам. Набор статичных изображений используется для создания анимации путем быстрого показа их одно за другим.
Хотя путем визуализации в реальном времени может быть получено изображение достаточно высокого качества, его невозможно сравнить с результатом работы визуализатора (рис. 1.12).
Каждое новое поколение видеокарт увеличивает скорость выполнения визуализации в реальном времени и качество итогового изображения. Но пока еще нет возможности получить хотя бы приблизительно такое же качество, как при использовании стандартного визуализатора. Создатели анимации все время увеличивают количество эффектов, добавляют мягкие тени, объемный свет, глубину резкости и прочие эффекты, негативно сказывающиеся на скорости визуализации. Качественное изображение в этом случае можно получить только путем стандартной процедуры, хотя визуализация каждого кадра может занимать несколько минут.
Рис. 1.12. Снизу показан результат визуализации в реальном времени, в то время как сверху находится результат стандартной визуализации
Часто пользователю приходится вводить данные в программу и получать их назад. Если требуется наложить на поверхность изображение, то его нужно сначала загрузить. Каждый раз, при визуализации сцены, которую вы собираетесь использовать в дальнейшем, нужно сохранять полученный результат в файле. Можно вводить в сцену объекты реального мира, используя для этого сканирование, а также создавать реальные физические объекты на основе трехмерных объектов, смоделированных в Maya.
3D-сканеры
Разве не прекрасно было бы иметь возможность отсканировать трехмерную модель автомобиля, вместо того чтобы вручную кропотливо моделировать каждую из его частей? На самом деле существует ряд технологий, с помощью которых подобные задачи вполне выполнимы, но они имеют отрицательные стороны. Самым быстрым, но и самым дорогим методом является лазерное сканирование. Его стоимость колеблется от нескольких тысяч до нескольких сот тысяч долларов. При сканировании некоторой области объекта формируется массив данных. После этого результаты множественного сканирования остается соединить друг с Другом, и внешняя поверхность объекта будет готова. Массив данных имеет очень большую плотность, так что в результате пы получите огромную сетку, требующую слишком длительного редактирования. Потому данный метод вряд ли можно использовать для трехмерного моделирования.
Устройство перьевого ввода для получения информации о форме объекта использует указатель. Такие устройства дешевле лазерных сканеров, но для получения детальной картинки нужно аккуратно снять тысячи точек. В этом случае редактировать объект приходится намного меньше, но сам процесс взятия пробы с 10 000 точек модели занимает массу времени. Также проблемой является погрешность получения данных, в результате которой вместо совершенно гладкой поверхности автомобиля вы получите вмятины и выступающие части.
3D-принтеры
Еще более изумительная технология позволяет получить физический объект из трехмерной модели. Лидирующие позиции занимает технология, называемая лазерной агломерацией (laser sintering) — это уплотнение при помощи лазерного луча засвеченных участков в фоточувствительной вязкой жидкости янтарного цвета. Небольшая платформа в жидкости вместе с частично созданным объектом медленно опускается после каждого прохода лазера, чтобы создать следующий слой заготовки. В результате получается модель вашего объекта, сделанная из янтарного полимера.
Такие устройства стоят десятки тысяч долларов и в основном находятся во владении специальных бюро обслуживания. Стоимость изготовления объекта зависит от его размера и сложности модели. Кроме того, это очень медленная процедура, создание большого объекта может занять несколько дней.
Форматы файлов изображений
Обычно результатом работы в Maya является двумерное изображение. Его можно сохранить в одном из предлагаемых программой форматов. Соответственно, для выбора подходящего формата нужно представлять себе свойства каждого из них. Сохранение в некоторых форматах приводит к потере части изображения, и вы можете быть разочарованы, увидев, во что превратилась картинка, выглядевшая так безупречно после визуализации. Вот форматы файлов, доступные в Maya:
Существует несколько способов сжатия изображения. Некоторые из них сопровождаются ухудшением его качества. Используя сжатие без потерь, вы умень-аете размер файла, сводя к минимуму избыточные данные. При этом изображение всегда сохраняет исходное качество.
Изображение, созданное в Maya, может быть снабжено альфа-каналом. Это дополнительный атрибут каждого пиксела, содержащий информацию о прозрачности. Например, если вы визуализировали изображение персонажа в Maya и за-м заставили его двигаться на фоне реального пейзажа, снятого на видеопленку, вручную будет очень сложно вырезать его из каждого кадра, в то время как ьфа-канал позволяет мгновенно вырезать фигуру по маске.
Рассмотрим характеристики некоторых форматов изображения, доступных в Maya:
Использование форматов анимации для последующего вывода результата на видео — не очень хорошая идея, потому что они часто используют сжатие с потерей качества. Лучше всего сохранять анимацию в виде набора последовательных изображений в форматах TIFF или TGA. Впоследствии эти изображения загружаются в специальное устройство, которое показывает их в виде фильма.
Для работы с программой Maya не требуется иметь докторскую степень в области вычислительной техники. Однако все пользователи компьютера должны иметь представление об операционной системе, с которой работают. Это помогает понять, как поддерживать компьютер в рабочем состоянии.
Аппаратное обеспечение
После включения компьютера процессор запускает маленькую программу, хранящуюся в микросхеме BIOS (Basic Input-Output System — базовая система ввода-вывода), которая объясняет материнской плате, как распознать подключенные устройства, такие как жесткий диск или клавиатуру. Обычно после этого начинается загрузка операционной системы (ОС) с жесткого диска. Активные программы при этом загружаются с диска в оперативную память компьютера (RAM), кроме того, сама операционная система также использует для своих нужд некоторое количество оперативной памяти. Если какая-либо программа запрашивает больше свободной памяти, чем имеется в наличии в системе, то ОС выгружает часть содержимого RAM на жесткий диск в специальный файл подкачки (swap-file). Так как обращение к жесткому диску заметно медленнее, чем к RAM, то при использовании подкачки работа программ замедляется.
Операционная система
При работе с Maya операционная система реагирует на ввод данных, осуществляемый с помощью клавиатуры или мыши, и отображает сцену в каркасном и тонированном режимах. Так как Maya приходится работать на разных видеоадаптерах, для упрощения этого процесса используется стандарт OpenGL. Чтобы операционная система могла работать с разными видеокартами, для каждой из них существует специальное программное обеспечение, называемое драйвером. Так как качество работы карты во многих случаях напрямую зависит от драйвера, есть смысл регулярно заглядывать на web-сайт изготовителя для получения более свежих драйверов. В идеальном случае изготовитель производит тестирование совместимости своей продукции с различными операционными системами и приложением Maya.
Визуализация
В процессе визуализации самая большая нагрузка ложится на центральный процессор и память. Каждый визуализированный кадр сохраняется на жестком диске, а программа приступает к визуализации следующего кадра анимационной последовательности. Скорость этого процесса не зависит от того, какой видеокартой оснащен компьютер.
Знакомство с операционной системой
Если у вас нет руководства пользователя для вашей ОС в виде книги, можно получить справку по командам, используя встроенную систему помощи. Иногда руководство настолько велико, что это отбивает желание читать его целиком, однако наиболее важные части, как правило, имеют не очень большой объем, а самые важные сведения изложены в первых частях документации. Если это не так, У вас всегда есть возможность найти множество книг, в которых доступно изложено то, что вам нужно. Также полезно бывает понаблюдать, как работают ваши коллеги. Таким способом можно узнать новые приемы работы и клавиатурные комбинации.
Управление файлами
При работе с компьютером часто приходится просматривать содержимое жесткого диска, вырезать, а затем вставлять или копировать файлы и папки. Нужно уметь проделывать все эти операции, а также знать способы создания, редактирования и сохранения текстовых файлов. Кроме того, вы должны знать, как определить размер одного или нескольких файлов и как выделить несколько объектов, расположенных в папке последовательно или вразброс.
Обслуживание системы
Современные компьютеры, на которых запускается Maya, практически не нуждаются в техническом обслуживании со стороны пользователя. Однако для оптимального режима функционирования желательно иметь минимальный набор познаний о том, что собой представляет жесткий диск вашего компьютера. Каким бы большим он ни был, рано или поздно он заполнится. При работе в Windows лучше иметь про запас некоторое количество свободного дискового пространства — желательно не менее 100 Мбайт. Существует возможность удалить любую программу, а потом установить ее в другой раздел диска, а также удалить ненужные файлы. Имейте в виду, что при удалении файлов средствами Windows, например, с помощью приложения Windows Explorer, они перемещаются в папку Recycle Bin. Соответственно, пока вы не очистите эту папку, файлы все равно будут занимать место на диске.
Со временем в результате выполнения вышеперечисленных операций содержимое диска фрагментируется, то есть данные разбрасываются по свободному пространству. Так как в этом случае приходится тратить время на поиск начала каждого фрагмента, работа жесткого диска замедляется. Некоторые операционные системы включают в себя программы для исправления этой ситуации. Их нужно запускать раз в несколько месяцев или чаще, если вы активно работаете с файлами на диске. Программа также предоставляет информацию о том, насколько фрагментирован диск и стоит ли прибегнуть к процессу дефрагментации. Более подробную информацию по этому поводу можно найти в руководстве пользователя для вашей операционной системы.
СОВЕТ
При наличии свободного времени будет не лишним взять несколько уроков по изобразительному искусству. Многие общественные учебные заведения предоставляют возможность для таких занятий по вполне разумным ценам. Ищите классы по рисованию, истории искусства или развитию художественных способностей. Таким способом можно научиться чувствовать цвет и композицию, а также получить представление о способах решения возникающих проблем.
Процесс создания трехмерной анимации является синтезом искусства и технологии. В этой главе вы познакомились с основной терминологией, принятой в области компьютерной графики. При желании вы можете самостоятельно получить более глубокие познания по следующим темам:
Не обязательно становиться экспертом в каждой из вышеперечисленных областей. Изучите основы и составьте представление о сопутствующих дисциплинах. В этом случае при возникновении проблемы вы будете знать, в какой области искать информацию о способах ее решения.
Пришло время непосредственно приступить к изучению программы Maya. Перед тем как начать обсуждение методов создания сцен, поговорим о структуре и оформлении программы. Вы познакомитесь с элементами интерфейса и способами работы с окнами проекции. Также мы продемонстрируем примеры воспроизведения анимации в тонированном и каркасном режимах показа объектов. Это основные части любой программы для трехмерного моделирования, и после того как вы освоитесь с базовыми понятиями, мы подробнее остановимся на следующих темах:
При первоначальном проектировании программы использовался подход, называемый графом зависимостей (dependency graph). Идея состоит в том, что все в сцене — каждая кривая, объект, ссылка, изображение, текстура, ключевой кадр и т. п., а также каждая попытка редактирования вышеперечисленного рассматривается как стандартный узел сцены. Связывая между собой эти узлы, вы создаете более сложные элементы сцены. Представим контурную линию, поворот которой вокруг заданной оси приводит к созданию вазы. При этом лежащая в основе вазы линия никуда не пропала. Операция поворота была помещена в память программы, благодаря чему можно независимо изменять как исходную кривую, так и параметры вращения.
Ключевые термины
Редактор атрибутов (Attribute editor). Основной интерфейс для изменения объектов. В Maya может быть как представлен в виде плавающего окна, так и пристыкован к правой стороне экрана.
Окно каналов (Channel Box). Используется для просмотра и редактирования параметров выделенного объекта. Обычно располагается с правой стороны экрана. Меню оперативного доступа (Hotbox). Любимая многими аниматорами функция, позволяющая сэкономить время при работе над сценой. Она дает возможность вызвать набор необходимых на данный момент меню одним нажатием клавиши Пробел.
Панорамирование (Track). Поворот камеры в горизонтальной плоскости слева направо или наоборот.
Наезд (Dolly). Движение камеры без изменения ширины поля зрения объектива и, соответственно, без изменения степени перспективных искажений.
Масштабирование (Zoom). Способ увеличения или уменьшения объекта, сопровождаемый перспективными искажениями.
Режим каркасного отображения (Wireframe mode). Режим представления объектов трехмерной сцены в виде линий, благодаря которым создается впечатление, что объекты созданы из проволочной сетки. До недавнего времени это был единственный способ интерактивной работы со сценой.
Режим тонированной раскраски (Shaded mode). В этом режиме объекты изображаются в виде тонированных плоских граней, что позволяет получить представление об их геометрии. Окна проекции в Maya могут находиться либо в режиме каркасного отображения, либо в режиме тонированной раскраски.
Тонирование по методу Гуро (Gourand shading). Объекты изображаются в тонированном виде со сглаживанием переходов между плоскими гранями и добавлением бликов. Этим методом в Maya достигается интерактивный режим тонированной раскраски в окнах проекции.
Изменения формы линии немедленно сказываются на форме вазы. Все сделанные изменения запоминаются программой, что позволяет при необходимости роизвести их отмену или же повторное выполнение. Существует возможность даления истории совершенных действий, что часто используется для увеличе-ия производительности.
фхитектура, построенная на основе графа зависимостей, проста для понимания и ает большой простор для маневра. В Maya можно посмотреть сцену со всеми зависимостями между объектами, используя представление, называемое Hypergraph Просмотр структуры). После перехода в это представление появляется возможность разрывать уже имеющиеся связи между объектами и создавать новые. Именно поэтому Maya так популярна в Голливуде. Техники создают зависимости, сводя работу аниматора к минимуму. К примеру, если персонаж откидывает голову назад, кожа на его шее натягивается, определенные мускулы напрягаются и т. п. И все это происходит автоматически, благодаря предварительно проделанной в Maya работе. Конечно, задание сложных зависимостей занимает много времени, но, если персонаж используется часто, эти затраты вполне себя окупают. При этом практически не нужно уметь программировать. Достаточно выучить, как именно происходит движение, и научиться воспроизводить соответствующие зависимости. Так как Maya становится все более популярной у аниматоров всех мастей, работу технических директоров теперь могут выполнять даже простые пользователи, экономя тем самым время и усилия.
Положение рук
Большую часть времени при работе с Maya ваша правая рука манипулирует трехкнопочной мышью, а левая используется для нажатия клавиатурных комбинаций, которые для удобства расположены с левой стороны. Если вы левша и поэтому предпочитаете работать с мышью левой рукой, переназначьте заданные по умолчанию клавиатурные комбинации с левой стороны на правую.
Трехкнопочная мышь
В процессе работы с Maya вам постоянно придется использовать все три кнопки мыши. С помощью левой кнопки можно выделить и взять любой объект, а также переместить его или повернуть. Нажатие правой кнопки мыши обычно приводит к появлению меню с командами. Средняя кнопка мыши используется для выполнения промежуточных операций, например перетаскивания материала на объект или перемещение частей объекта при включенных привязках.
Клавиша Пробел
Клавиша Пробел имеет две функции. Во-первых, она используется для разворота активного окна проекции на полный экран и обратно. При первом запуске Maya обычно отображается развернутое окно проекции Perspective (Перспектива). Нажатие клавиши Пробел приводит к одновременному появлению четырех окон проекции — Тор (Сверху), Side (Сбоку), Front (Спереди) и Persp (Перспектива). В результате появляется возможность развернуть на весь экран любую другую проекцию.
Удержание клавиши Пробел нажатой приводит к открытию меню оперативного доступа Hotbox, о котором мы подробно поговорим в конце этой главы.
Управление проекциями
В процессе создания объектов и управления ими полезно иметь возможность быстрой смены угла обзора сцены. Это можно сделать с помощью операции облета, сопровождения и наезда камерой.
Облет камерой
В процессе облета камерой вы меняете ее положение в трехмерном пространстве относительно неподвижной мишени, сохраняя неизменным расстояние до последней. Для выполнения этой операции нажмите клавишу Alt и левую кнопку мыши и перемещайте курсор в окне проекции.
ПРИМЕЧАНИЕ
В окнах ортографических проекций нельзя выполнить облет камерой, потому что вращение этих окон невозможно по умолчанию. К ортографическим проекциям относятся «вид сбоку», «вид сверху» и «вид спереди». Во всех этих случаях у изображения отсутствует перспектива или точки схода.
Сопровождение камерой
Сопровождение позволяет перемещать камеру вместе с мишенью в разные стороны, не меняя при этом ориентации линии визирования в глобальной системе координат. Масштаб изображения также остается неизменным. Эта операция выполняется путем перемещения в окне проекции курсора при одновременно нажатых клавише Alt и средней кнопки мыши.
Наезд
С помощью этой операции можно увеличить или уменьшить масштаб изображения на активной панели. Нажмите клавишу Alt, а также левую и среднюю кнопки мыши одновременно и перемещайте указатель. Используя следующие методы, вы можете изменять масштаб выделенной области:
ПРИМЕЧАНИЕ
Две последние из упомянутых операций применимы не только к окнам проекции, но и к любым графическим окнам диалога, появляющимся при работе с Maya, от Render View (Просмотр визуализации) до Paint Effects (Эффекты рисования). Изменение масштаба отдельных участков этих окон позволяет сфокусироваться на рабочей области и избежать излишнего напряжения глаз. Вспомните об этом, когда в подобных окнах диалога появится слишком мелкий и поэтому нечитаемый текст!
Сохранение проекций
При работе с любым окном проекции существует возможность сохранения конкретных проекций. Это может сэкономить значительное время в ситуации, когда после настройки положения объектов приходится, к примеру, менять угол обзора для редактирования других характеристик. Для сохранения конкретной проекции выберите в меню окна проекции команду View > Bookmarks > Edit Bookmarks (Вид > Закладки > Редактирование закладок). Появится окно диалога, в котором нужно указать имя закладки и при необходимости сделать ее описание. Имена созданных закладок расположены в меню, появляющемся при выборе команды View > Bookmarks (Вид > Закладки).
ПРИМЕЧАНИЕ
Каждое окно проекции имеет свои собственные закладки. Соответственно, отсутствие какой-либо из созданных вами закладок может объясняться выбором неверного окна проекции.
Вид окна программы Maya после первого запуска показан на рис. 2.1.
Рис. 2.1. Вид окна Maya при первом запуске программы
В этом разделе мы поговорим об элементах интерфейса Maya, хотя некоторые из них будут подробно рассмотрены в последующих разделах. Если что-то покажется вам сложным для понимания, просто запомните это на будущее. По мере знакомства с программой многое станет ясным само собой.
В верхней части окна программы находится строка заголовка, а под ней — строка меню. В расположенной еще ниже строке состояния находится большинство переключателей и кнопок, используемых для управления объектами и запуска часто применяемых функций, таких как Render the current frame (Визуализация текущего кадра). Ниже расположены вкладки Shelf (Полка), на которые можно добавлять кнопки команд, чаще всего используемых при работе над проектом. Ниже расположена вертикальная панель инструментов, пристыкованная к левой стороне экрана. Она содержит инструменты выделения и преобразования. Последний термин применяется в качестве собирательного названия для операций перемещения, вращения и масштабирования объектов. Завершают эту панель кнопки Show Manipulator (Отображение манипулятора) и Last Selected Tool (Последний выбранный инструмент). Первая позволяет вносить поправки в историю совершения операций. К примеру, манипулятор можно использовать для изменения положения текстуры, назначенной объекту ранее. Как понятно из названия второй кнопки, это всего лишь быстрый способ повторного вызова последнего использованного инструмента. Значок этой кнопки зависит от того, какой инструмент применялся последним.
Ниже расположены кнопки, предназначенные для быстрого перехода от одной популярной конфигурации окон проекции к другой. Под ними находится ползунок таймера анимации, выполняющий две функции. Во-первых, по его положению можно определить текущий момент анимации, во-вторых, его перемещение позволяет увидеть анимацию в действии.
Ниже расположен ползунок текущего диапазона, позволяющий сосредоточиться на определенном участке анимации. Слева от него находятся два поля, в первом из которых указывается начальный кадр анимации, а во втором — начальный кадр текущего диапазона. Соответственно в полях, расположенных справа от ползунка диапазона, указаны последние кадры текущего диапазона и анимации в целом. Например, при работе над телевизионной сценой продолжительностью в одну минуту начальный кадр будет иметь номер 1, а конечный — номер 1800. Это число было получено умножением стандартной частоты (30 кадров в секунду) на количество секунд в минуте. Если проблема с анимацией возникла на двенадцатой секунде, значит, нужно посмотреть кадр № 360, то есть будет разумным обратить внимание на диапазон от кадра № 300 до кадра № 420.
Под ползунком диапазона находится командная строка, предназначенная для интерактивной работы с программой. В расположенной ниже строке подсказки появляется информация о выбранном инструменте, возможных способах его использования и величине выполненного преобразования.
В правом верхнем углу окна программы, справа от строки состояния, расположены три кнопки-переключателя, с помощью которых можно активизировать один из следующих элементов интерфейса: Attribute Editor (Редактор атрибутов), Tool Settings (Параметры инструментов) или Channel Box/Layers (Окно каналов/Редактор слоев). Они имеют следующее назначение:
Можно оставить все вышеупомянутые элементы скрытыми, освободив, тем самым, дополнительное пространство для работы.
В нижнем правом углу экрана расположен набор кнопок, предназначенных для управления анимацией. Крайняя левая и крайняя правая кнопки предназначены для перехода на начало и конец области воспроизведения соответственно. Рядом с ними расположены кнопки, нажатие которых приводит к переходу на один кадр назад и вперед. Следующие кнопки используются для перехода к предыдущему и следующему ключевым кадрам. Под этим термином понимаются моменты времени, фиксирующие начало каждого преобразования объекта. В компьютерной анимации детально прорисовываются только ключевые положения объекта, а его движение между такими положениями рассчитывается программой. Две центральные кнопки этого набора, снабженные значком в виде простого треугольника, предназначены для воспроизведения анимации назад и вперед. Скорость воспроизведения зависит от настроек, которые выполняются в окне диалога, вызываемом щелчком на кнопке Animation Preferences (Параметры анимации). Рядом расположены еще две кнопки Auto Keyframe (Автоматическая установка ключевых кадров) и Script Editor (Редактор сценариев), первая из которых предназначена для перехода в автоматический режим установки ключевых кадров, а вторая приводит к появлению одноименного окна диалога. Подробную информацию о них можно найти в главах 10 и 14 соответственно.
Строка меню
Строка меню имеет некоторые особенности, о которых вам нужно знать. Прежде всего, шесть расположенных слева пунктов меню — File (Файл), Edit (Правка), Modify (Изменения), Create (Создание), Display (Отображение) и Windows (Окно) — всегда остаются неизменными, в то время как вид остальных пунктов зависит от выбранного режима работы. Выбор режима осуществляется с помощью раскрывающегося списка, расположенного в строке состояния, как показано на рис. 2.2. В Maya существуют четыре режима: Animation (Анимация), Modelling (Моделирование), Dynamics (Динамика) и Rendering (Визуализация). Выбор режима можно осуществить нажатием клавиш F2, F3, F4 или F5 соответственно.
Рис. 2.2. Раскрывающийся список с вариантами режимов. Обратите внимание на изменение строки меню по сравнению с рис. 2.1
Если меню имеет двойную линию в верхней части, его можно превратить в плавающую панель, как показано на рис. 2.3. В результате наборы часто используемых инструментов всегда будут под рукой.
Рис. 2.3. Щелкните на двойной линии, чтобы превратить меню в плавающее окно, пример которого показан справа внизу
Настройка параметров
Справа от названия некоторых команд меню расположен небольшой квадратик, как показано на рис. 2.4.
Рис. 2.4. Вызов окна диалога с параметрами объекта
Щелчок на этом квадратике приводит к появлению окна диалога с параметрами выбранной команды. В нем вы можете отредактировать заданные по умолчанию параметры инструмента.
ПРИМЕЧАНИЕ
Имейте в виду, что программа помнит измененные параметры инструментов даже после перезагрузки. Именно это может быть причиной того, что результат, полученный вами в процессе выполнения упражнений в данной книге, далек от описанного. Для возвращения исходных настроек выберите в меню Edit (Правка) окна диалога с параметрами инструмента команду Reset Settings (Восстановить настройки), как показано на рис. 2.5.
Рис. 2.5. Процесс возвращения к исходным параметрам инструмента
Строка состояния
Рассмотрим показанную на рис. 2.6 строку состояния, сфокусировав внимание на элементах управления, назначение которых может быть неясно начинающему пользователю.
Рис. 2.6. Строка состояния
Как уже упоминалось, слева расположен раскрывающийся список выбора режима работы. Рядом с ним находится вертикальная линия, щелчок на которой позволяет скрыть и снова сделать видимым раздел строки состояния. Тем самым можно оставить только разделы, необходимые для работы над текущей сценой. Если в центре вертикальной линии находится указывающая вправо стрелка, значит, щелчок на ней приведет к появлению скрытого раздела. Первый раздел содержит типичные ярлыки управления файлами, щелчок на которых позволит создать, открыть и сохранить сцену.
Далее снова расположен раскрывающийся список, известный под названием Selection Mask (Маска выделения), с помощью которого осуществляется выбор типа объектов, доступных для выделения. Состояние значков, расположенных справа от этого списка, зависит от выбранного варианта. Также от этого зависит состав кнопок в области Select by Type (Выделение по типу объекта). Например, в режиме создания анимации в упомянутой области оказываются нажатыми кнопки, отвечающие за выделение суставов и сочленений, так как в процессе создания ключевых кадров вряд ли потребуется выделять объекты других типов. Три кнопки, расположенные справа от раскрывающегося списка Selection Mask (Маска выделения), используются для перехода между режимами выделения иерархических цепочек, подобъектов и объектов.
Изначально программа находится в режиме выделения объектов, позволяющем выделять объекты целиком и задавать маску для выделения объектов определенного типа — линий, поверхностей, источников света и т. п.
Режим выделения подобъектов позволяет работать с составными частями объектов. Например, можно превратить сферу в капсулу, выделив верхнюю половину сферы и переместив ее вверх.
Термин иерархия (hierarchy) используется в анимации для обозначения связи между двумя объектами. Например, в результате связывания колес автомобиля с его корпусом будет достаточно анимировать корпус, движение колес возникнет автоматически. В этом случае корпус автомобиля является родительским объектом, а колеса — дочерними. В режиме выделения иерархии можно выделять только родительские или только дочерние объекты, что очень удобно для задания иерархических связей. Подробно эта тема будет обсуждаться в главе 10.
ПРИМЕЧАНИЕ
Некоторые кнопки выделения предназначены для выделения нескольких типов объектов. Например, нажатие кнопки Select by object type:Rendering (Выделение объектов типа: визуализация) позволяет сделать выделяемыми источники света, текстуры и камеры. Щелкнув на ней правой кнопкой мыши, вы откроете список этих объектов. Выбор пункта этого списка выключает объекты из выделения. Для их обратного включения нужно просто повторить вышеописанную операцию. Если выключить из выделения хотя бы один объект, кнопка приобретает коричневый цвет.
Как уже упоминалось, состав кнопок области Select by Type (Выделение по типу объекта) зависит от выбранного режима. Нажав кнопку, помеченную значком объекта определенного типа — кривой, поверхности, источника света, камеры и т. п., — вы получаете возможность выделения объектов этого типа. К примеру, нужно выделить вазу, созданную вращением сплайна, но не исключена возможность того, что вместо вазы будет выделен сплайн. Избежать этого можно, к примеру, скрыв объекты, которые не подвергаются редактированию. Но более целесообразным в данном случае является задание маски выделения, благодаря которой выделять можно будет только поверхности. При перенасыщенности сцены объектами различных типов это свойство становится просто бесценным.
Дальше расположена кнопка блокировки выделенного набора, помеченная значком в виде замка. Выделив набор объектов, выбрав преобразование и нажав кнопку Lock Selection (Блокировка выделенного набора), можно избежать случайного выделения объекта, не входящего в первоначальный набор или, наоборот, снятия выделения с объектов набора. После нее находится переключатель Highlight Selection Mode (Режим подсветки выделенных объектов), который по умолчанию находится в позиции On (Включен). Благодаря этому происходит подсвечивание выделенных объектов. Далее расположена группа кнопок привязки, позволяющих размещать опорные точки создаваемых и редактируемых объектов сцены в точно определенных местах. Когда указатель мыши оказывается на определенном расстоянии от элемента привязки, перемещаемый им объект «притягивается» к этому элементу. В качестве элементов привязки могут выступать кривые, точки, конструкционные плоскости, сетка, а также любые комбинации перечисленных объектов. Последняя кнопка этой группы, помеченная значком подковы, используется для превращения выделенного объекта в конструкционную плоскость. В этом режиме можно, например, использовать сетку, моделирующую человеческое лицо, для создания маски Фантомаса; кривые будут автоматически привязываться к поверхности лица.
Кнопки Operations List (Список операций) используются для просмотра входных и выходных связей, а также их создания и разрыва. Следом идет переключатель Construction History (История создания), положение которого определяет, будет ли фиксироваться история преобразований объекта. Ее наличие позволяет изменять параметры ранее примененных к объекту преобразований, но одновременно увеличивает размер файла и время его загрузки. Лучше всего не отключать запись истории создания, а просто удалять ее после завершения работы над объектом.
СОВЕТ
Возможность отмены действия последней выполненной команды или опера-ции не зависит от того, запоминается ли история создания. Даже если эта функция отключена, команда Undo (Отмена) меню Edit (Правка) будет работать. Ей соответствует клавиатурная комбинация Ctrl+z. По умолчанию можно отменить последние десять операций. Изменить это значение можно в окне диалога Preferences (Параметры). Для его вызова выберите команду Window > Setting/Preferences > Preferences (Окно > Настройки/Параметры > Параметры). В списке слева выберите вариант Undo и затем введите нужное число в поле Queue Size (Размер стека). Установка переключателя Queue (Стек) в положение Infinite (Бесконечность) дает возможность применять команду Undo (Отмена) бесконечное число раз.
ПРИМЕЧАНИЕ
Фиксация истории создания объекта подразумевает запоминание програм-мой таких вещей, как, например, число разбиений поверхности в процессе операции выдавливания. В результате появляется возможность в любой момент изменить число сегментов, из которых состоит объект.
Далее расположены кнопки Quick Render (Быстрая визуализация) и IPR (Интерактивная фотореалистичная визуализация). Щелчок на любой из них приводит к появлению окна, в котором через некоторое время возникает изображение сцены. Процесс интерактивной фотореалистичной визуализации занимает больше времени, но после его завершения редактирование источников света или материалов приводит к автоматическому обновлению результата визуализации. Размер окна с изображением сцены и другие параметры визуализации регулируются в окне диалога Render Globals (Общие параметры визуализации). Оно открывается щелчком на кнопке, расположенной в этой же группе.
Крайним справа в строке состояния расположено поле Numeric Input (Численный ввод). Работа с ним возможна в четырех режимах:
Меню окон проекции
Каждое окно проекции имеет собственное меню, как показано на рис. 2.7.
Рис. 2.7. Окно проекции, оснащенное меню
СОВЕТ
Если меню окна проекции отсутствуют, вызовите окно диалога Preferences (Параметры) и, выбрав в расположенном слева списке вариант Interface (Интерфейс), установите флажок In Panels (В окнах проекции) в разделе Show Menubar (Показывать строку меню).
Рассмотрим подробно наиболее важные пункты этих меню:
ПРИМЕЧАНИЕ
Имейте в виду, что клавиатурные комбинации чувствительны к регистру. Если их применение не приводит к желаемому результату, проверьте, не нажата ли клавиша Caps Lock.
Рис. 2.8. Меню Panel
СОВЕТ
Для изменения размеров окон проекции поместите указатель мыши на их границе м, когда он примет форму двойной стрелки или скрещенных двойных стрелок, нажмите левую кнопку мыши и перетащите границы на нужное расстояние. Для завершения преобразования отпустите кнопку мыши.
Упражнение. Начальные навыки работы с Maya
Рассмотрим пример применения часто используемых клавиатурных комбинаций, ак как они являются основными, рекомендуем выполнить это упражнение несколько раз, чтобы запомнить эти комбинации наизусть.
Рис. 2.9. Вид тора, созданного на основе NURBS-кривых, в режиме максимальной детализацииРис.
2.10. Цилиндр в режиме каркасного отображения, увеличенный до границ окна проекции
Рис. 2.11. Выделение набора букв с помощью рамки
Рис. 2.12. Линии на временной шкале показывают положение ключей анимации для выделенного объекта
СОВЕТ
Остановить воспроизведение анимации можно, нажав клавишу Esc.
Рис. 2.13. Возможный вид сцены после завершения упражнения
ПРИМЕЧАНИЕ
Несколько раз повторите упражнение, выбирая различные варианты действия. Потренируйтесь в изменении масштаба области, выделенной с помощью рамки. Попробуйте другие варианты компоновки окон проекции Загрузите окна проекции различных типов, включая Hypershade (Редактор узлов) и Hypergraph (Просмотр структуры), и обратите внимание на операции масштабирования и панорамирования в этом случае.
В Maya существует способ быстрого вызова основных пунктов меню, необходимых при работе с выделенным объектом. Нажмите и удерживайте клавишу Пробел. Появившееся меню будет центрировано относительно положения указателя мыши на текущий момент.
Чтобы посмотреть на полный набор меню оперативного доступа, нажмите кнопку Hotbox Controls (Элементы управления меню оперативного доступа) и затем выберите вариант Show Alt (Показать все), как показано на рис. 2.14.
Рис. 2.14. Вызов полного набора меню
В результате вы получите доступ к любой из команд Maya. Кроме того, есть еще пять областей, предназначенных для вызова дополнительных параметров. Их можно увидеть, щелкнув и удерживая кнопку мыши сверху, снизу, справа, слева или в центре меню оперативного доступа. Появившееся в результате щелчка сверху меню показано на рис. 2.15.
Рис. 2.15. Меню с дополнительными параметрами, появившееся после щелчка сверху
ПРИМЕЧАНИЕ
В этой главе мы дали только самую общую информацию о меню оперативного доступа. Исследуйте его самостоятельно. Потренируйтесь в изменении компоновки окон проекции и редактировании пользовательского интерфейса.
В этой главе вы начали знакомство с интерфейсом программы Maya и получили первичные навыки работы с ним. Вот краткий список тем, изученных вами в этой главе:
Это действительно основные задачи и понятия программы Maya. Прежде всего ам нужно научиться управлять изображением в окнах проекций. Несколько часов эенировки в изменении угла обзора путем перемещения мыши при нажатой кла-ише Alt позволят вам впоследствии быст ро находить желаемые проекции сцены. еперь пришла пора поговорить о способах создания и редактирования таких тементов сцены, как объекты, источники света и камеры, а также дать вам до-элнительную информацию о работе с главными меню программы.
Теперь, когда вы познакомились с особенностями интерфейса Maya, пришла пора рассказать о способах создания и редактирования объектов. Эта глава является подготовительным плацдармом для создания анимации от начала до конца, чем нам предстоит заняться в следующей главе. А пока что мы обсудим следующие темы:
Ключевые термины
Иерархия (Hierarchy). Связь между объектами сцены, в результате которой преобразование одного объекта автоматически вызывает преобразование другого. Преобразования (Transform). Простейшие операции над объектами, связанные с их перемещением, поворотом или масштабированием.
Элемент сцены (Scene element). В этой книге данный термин относится ко всем объектам, которые можно создать в трехмерном пространстве — примитивам, источникам света, камерам и т п.
Предок (Parent). Старший элемент иерархического соотношения между двумя элементами сцены.
Потомок (Child). Подчиненный элемент иерархического соотношения между двумя элементами сцены.
Опорная точка (Pivot point). Центр преобразований поворота и масштабирования. Именно эта точка определяет координаты положения объекта в трехмерном пространстве.
Группировка (Group). Возможность создать узел сцены, представляющий собой набор элементов и являющийся по отношению к ним предком.
Экземпляр (Instance). Дубликат объекта, имеющий одностороннюю связь с оригиналом. Если в оригинал объекта вносятся изменения, они распространяются на все образцы, но при этом каждый образец может быть преобразован независимо от остальных объектов.
Привязка (Snap). Средство, заставляющее указатель мыши «притягиваться» к определенным местам. Привязки также позволяют задавать фиксированные величины приращений параметров при вращении объектов.
В Maya объекты по умолчанию создаются в начале координат, после чего их можно переместить в любое место пространства. Список всех базовых визуализируемых элементов расположен в меню Create (Создание). К таким элементам относятся неоднородные рациональные В-сплайны (NURBS), полигоны, источники света, камеры, кривые и текст. Справа от названия многих из этих элементов располагается небольшой квадратик, щелчок на котором открывает окно диалога с параметрами объекта, в котором можно изменить тип объекта, заданный по умолчанию. Существует также ряд элементов сцены, таких как сочленения, деформаторы и решетки, которые не визуализируются, но помогают при моделировании и анимации. Кроме того, существуют визуализируемые элементы, названия которых не входят в меню Create (Создание). К ним относятся системы частиц и эффекты рисования.
Создание примитивов
Выбор в меню Create (Создание) вариантов NURBS Primitives (NURBS-примитивы) или Polygon Primitives (Полигональные примитивы) приводит к появлению списка, включающего такие объекты, как Sphere (Сфера), Cube (Куб), Cylinder (Цилиндр), Cone (Конус), Plane (Плоскость) и Torus (Top). Сами по себе они не представляют интереса, но очень легко поддаются редактированию. Имея опыт, можно «вылепить» из сферы кусок скалы, голову человека или чашу. Но обычно модели создаются на основе кривых — бесконечно тонких, невизуализируемых линий. Затем с помощью функций меню Surfaces (Поверхности) кривые можно превратить в объекты.
После создания любой примитив автоматически оказывается выделенным. При этом сохраняется возможность изменить его параметры в окне каналов под заголовком Inputs (Входные данные). Например, изменив у сферы параметр Sweep (Сектор) ее можно легко превратить в полусферу.
СОВЕТ
При работе с окном каналов можно использовать функцию, называемую вир-туальным ползунком. Для ее применения выделите имя переменной в окне каналов и, нажав среднюю кнопку мыши, перемещайте указатель в окне проекции. Это приведет к изменению значения выделенного параметра, как показано на рис. 3.1.
Рис. 3.1. Виртуальный ползунок в действии: в результате перемещения мыши при нажатой средней кнопке значение параметра End Sweep изменяется
Создание источников света
Создание источников света не имеет ничего общего с созданием реальной геометрической формы. В окнах проекции появляется невизуализируемый значок, указывающий точку, из которой будет исходить свет.
Можно создать источник света одного из пяти возможных типов: Directional (Направленный), Spot (Прожектор), Area (Прямоугольный), Point (Точечный) и Ambient (Рассеянный). Размер значка источника света любого из первых трех типов можно увеличить. В то время как у направленного источника света и прожектора эта операция используется исключительно для упрощения процесса выделения значка, в случае с источником света типа Area (Прямоугольный) это приведет также к увеличению освещенности. Значки источников света последних двух типов сохраняют свой размер независимо от их местоположения в окне проекции. Более подробную информацию об источниках света можно найти в главе 9.
Создание камер
Камеры бывают трех типов:
При создании камеры в начале координат появляется значок, напоминающий кинокамеру. Он не визуализируется, так же как и значок источника света. Чтобы облегчить процесс выделения камеры в окне проекции, ее значок можно увеличить. Подробная информация о камерах содержится в главе 11.
Перед тем как отредактировать или удалить элемент сцены, его нужно выделить. В перенасыщенных объектами сценах не так-то просто бывает сфокусироваться на чем-то определенном. К счастью, в Maya есть ряд методов, полезных в данной ситуации.
Выделение одного объекта
Для выделения объекта достаточно щелкнуть на нем кнопкой мыши. В режиме каркасного отображения щелчок должен производиться на одном из видимых ребер, а в режиме тонированного отображения — в произвольном месте поверхности объекта. В последнем случае станет видимым каркас объекта. Щелчок в произвольном месте окна проекции, вне границ выделенного объекта приводит к снятию выделения.
ПРИМЕЧАНИЕ
Невозможность выделения объектов, отличных от примитивов и кривых, может быть связана с включенным режимом редактирования подобъектов. Это можно определить по маске выделения. При этом в строке состояния будет нажата кнопка Select by Component Type (Выделение подобъектов), а расположенное слева текстовое поле будет содержать слово Components (Под-объекты), как показано на рис. 3.2. В результате вы сможете выделять и перемещать, например, вершины объекта, изменяя тем самым его форму. Для перехода в режим редактирования объектов нажмите клавишу F8. Ее повторное нажатие вернет вас к редактированию подобъектов.
Рис. З.2. Результат выделения объектов в режиме редактирования подобъектов
Добавление и исключение объектов при групповом выделении
Для выделения набора объектов и снятия выделения с отдельных объектов, входящих в этот набор, существуют следующие способы:
Команды меню Edit
Меню Edit (Правка) содержит ряд команд, предназначенных для выделения объектов. Команда Select All (Выделить все) приводит к выделению всех объектов сцены. В то же время в результате выбора команды Select All by Type (Выделить все объекты типа) появляется список типов объектов, в котором нужно указать, объекты какого типа требуется выделить. Например, выбор варианта Lights (Источники света) приведет к выделению всех источников света в сцене.
Команда Select Invert (Обратить выделение) приводит к выделению невыделенных элементов и снятию его с выделенных. Имейте в виду, что эта операция затрагивает все объекты сцены, даже скрытые. Кроме всего прочего, можно сделать элементы не только невидимыми, но и недоступными для редактирования. Для этого используется список команд, появляющийся при выборе команды Hide (Скрыть) меню Display (Отображение). Вдобавок, используя редактор слоев, можно скрыть группу элементов сцены, сделав невидимым целый слой. Подробно этот прием будет объяснен в главе 5.
Выделение с помощью рамки
Проще всего выделить несколько объектов сцены, щелкнув в окне проекции и перетащив указатель мыши по диагонали, рисуя выделяющую рамку. Когда вы отпустите кнопку мыши, любой объект, хотя бы частично попавший в эту рамку, окажется выделенным.
Выделение с помощью инструмента Lasso
Бывают случаи, когда выделение объектов прямоугольной рамкой оказывается затруднительным. Если объекты сцены перекрываются или хаотично разбросаны по всей сцене, приходится рисовать область выделения более сложной формы. Для этого применяется инструмент Lasso (Лассо), кнопка выбора которого находится на панели инструментов, расположенной с левой стороны экрана. Активизировать этот инструмент можно также, нажав комбинацию клавиш Ctrl+q. Как и в случае с прямоугольной рамкой, выделенными оказываются объекты, хотя бы частично попавшие в область выделения.
Быстрое выделение
После создания объектов им желательно присваивать значимые имена. Впоследствии это сильно облегчает возможность поиска нужного объекта. В Maya имеется инструмент, предназначенный для поиска объектов по имени. При этом могут использоваться групповые символы. Имя объекта вводится в поле Numeric Input (Численный ввод) в режиме Selection by Name (Выделение по имени).
Существует два групповых символа — * и ?. Первый используется для представления группы символов, а второй — для представления одного символа. Рассмотрим существующие варианты выделения для случайно именованных объектов:
1. front_tire;
2. front_tire01;
3. rear_tire;
4. rear_tire_right;
5. side_tire;
6. front_right_head_light.
Введя rear*, вы выделите объекты 3 и 4, введя *tire — объекты 1, 3 и 5. Для выделения объектов 4 и 6 нужно ввести символы *right*. Ввод сочетания *tire* приведет к выделению объектов 1,2,3, 4 и 5. Если же напечатать ?????tire, выделенными окажутся объекты 3 и 5.
Помните об этом в процессе именования объектов сцены. Правильно выбрав приставку или окончание имени, вы в будущем облегчите себе задачу выделения нужной группы объектов.
Именованные выделенные наборы
При необходимости часто использовать один и тот же набор объектов имеет смысл присвоить ему имя. Выберите команду Create > Set > Quick Select Set (Создать > Набор > Именованный выделенный набор). Появится окно диалога, в которое, как показано на рис. 3.3, вводится имя выделенного набора.
Рис. 3.3. Пример создания именованного выделенного набора
При этом нужно придерживаться правил именования объектов, принятых в Maya, а именно: избегать пробелов, не начинать имена с цифр, а также использовать только буквы, цифры и знак подчеркивания. Для использования именованных выделенных наборов выберите команду Quick Select Sets (Именованные выделенные наборы) меню Edit (Правка) и выберите в появившемся списке нужный набор. Удалить или переименовать выделенный набор можно в окне Outliner (Структура), о котором мы поговорим в одном из следующих разделов.
Маска выделения
При переходе в режим выделения объектов в строке состояния появляются кнопки типов объектов, которые могут быть выделены в окнах проекции. Щелчок правой кнопкой мыши на любой из этих кнопок приводит к появлению списка подвидов объектов, подлежащих выделению. Например, если требуется избежать выделения источников света, щелкните правой кнопкой мыши на кнопке Select by Object Type:Rendering и выберите в появившемся списке вариант Lights (Источники света), как показано на рис. 3.4.
Рис. 3.4. Щелчок правой кнопки мыши на любой из кнопок маски выделения приводит к появлению списка подвидов объектов
Выделение по списку
Имеется возможность выделять объекты и снимать с них выделение с помощью списка элементов сцены. Это можно сделать в окне диалога, вызываемом командой Outliner (Структура) меню Window (Окно). Имена выделенных объектов сцены в этом окне помечены серой полоской. Можно выделить список последовательно расположенных объектов, щелкнув на первом пункте списка, нажав клавишу Shift и затем щелкнув на последнем пункте списка. Альтернативным способом в данном случае является щелчок на первом элементе списка с последующим перетаскиванием указателя мыши вниз или вверх. Если же нужно выделить несколько объектов, имена которых расположены вразброс, нажмите клавишу Ctrl и последовательно щелкните на именах всех элементов. Простой щелчок на любом из элементов списка приводит к снятию выделения с элементов, выделенных ранее. Таким способом можно выделить даже элементы, не входящие в маску выделения.
Преобразованиями называются простейшие операции над объектами, связанные с их перемещением, а также изменением ориентации или масштаба. Каждая из упомянутых операций может совершаться вдоль осей X, Y и Z, соответственно преобразование возможно по девяти переменным. После создания объекта появляется возможность ввода числовых данных для его преобразования в окне каналов.
Проще всего преобразования перемещения, поворота и масштабирования выполняются с помощью мыши. Для этого нужно щелкнуть на одной из трех кнопок расположенной слева панели инструментов: Move (Переместить), Rotate (Повернуть) или Scale (Масштабировать). Кроме того, активизировать эти инструменты можно с помощью клавиш w, e и г соответственно. В результате появляются управляющие векторы, позволяющие изменять положение, ориентацию или масштаб объекта относительно одной из осей. При этом ось, относительно которой выполняется преобразование, окрашивается в желтый цвет. Перемещение точки, в которой сходятся управляющие векторы, приводит к тому, что преобразование осуществ- Преобразование ооъектов
ляется относительно трех осей одновременно. Управляющие векторы параллельны координатным осям и при этом окрашены в разные цвета. Запомните формулу XYZ= RGB. Она показывает, каким цветом окрашен управляющий вектор, параллельный определенной оси.
СОВЕТ
Изменить размер управляющих векторов можно с помощью клавиш + и -. Более точная настройка осуществляется в окне диалога Preferences (Параметры). Выберите в списке слева вариант Manipulators (Управляющие векторы), как показано на рис. 3.5. В результате вы получите доступ к редактированию длины управляющих векторов, величины маркеров на их концах и прочих параметров.
Рис. З.5. Настройка параметров управляющих векторов в окне диалога Preferences
Выполнение преобразований
В режиме выполнения преобразований имеется несколько способов работы с объектами, о которых мы поговорим ниже. В общем случае щелчок на поверхности выделенного объекта или в точке схода управляющих векторов с последующим перемещением указателя мыши приводит к свободному перемещению, повороту или равномерному масштабированию объекта. Если же щелкнуть на одном из управляющих векторов, преобразование будет ограничено выбранной осью.
Перемещение
Щелчок в точке схода управляющих векторов с последующим перемещением указателя мыши приводит к изменению положения объекта в пределах окна проекции, но если выделить при этом одну из осей, перемещение будет осуществляться вдоль этой оси. Кроме того, можно выделить любую из осей щелчком и, нажав среднюю кнопку мыши, перемещать указатель. Это также приведет к перемещению объекта вдоль выделенной оси.
Щелчок на какой-либо из осей при нажатой клавише Ctrl приводит к ограничению перемещения плоскостью, перпендикулярной этой оси. Например, если выделить таким способом ось Y и, щелкнув на точке схода управляющих векторов, перемещать указатель мыши, объект будет перемещаться в плоскости XZ. При этом в точке схода осей появится небольшая желтая плоскость, указывающая на наличие ограничений преобразования. Чтобы снять эти ограничения, щелкните на точке схода осей при нажатой клавише Ctrl.
Перемещение указателя при нажатой средней кнопке мыши приводит к перемещению центральной точки объекта в соответствии с текущими настройками. При этом ртпадает необходимость выделения самого объекта или точки схода управляющих векторов. Например, если вы только что переместили объект вдоль оси X и не сняли с нее выделение, нажатие средней кнопки мыши и перемещение ее указателя приведут к перемещению объекта вдоль этой же оси.
Одновременное нажатие клавиши Shift и средней кнопки мыши с последующим перетаскиванием указателя приводит к перемещению объекта вдоль оси, направление которой ближе к направлению перетаскивания. Это наиболее эффективный способ перемещения объекта вдоль одной из координатных осей, так как он не требует предварительного выделения объекта или его управляющих векторов.
Поворот
Выделение внешнего голубого кольца с последующим перемещением указателя мыши приводит к повороту объекта в плоскости экрана, в то время как щелчок на точке схода управляющих векторов вызывает свободное вращение.
Щелчок на любом из внешних колец ограничивает поворот объекта одной из координатных осей. Если выделено одно из колец, вращение объекта можно осуществить перемещением указателя при нажатой средней кнопке мыши.
Масштабирование
Щелчок на определенной оси с последующим перетаскивание указателя мыши ограничивает масштабирование выделенной осью. Соответственно, выделение точки схода управляющих векторов приводит к равномерному масштабированию объекта.
Если выделен один из управляющих векторов, перетаскивание указателя при нажатой средней кнопке мыши приведет к масштабированию объекта относительно выделенной оси.
Приращение параметров при вращении
Двойной щелчок на кнопках инструментов перемещения, поворота и масштабирования вызывает окно диалога Tool Settings (Параметры инструмента), содержимое которого зависит от выбранного инструмента. Установив флажок Snapping (Привязки) в окне инструмента Rotate (Поворот), вы получаете возможность задания фиксированной величины приращения параметров при вращении. По умолчанию эта величина равна 15 градусам, что позволяет легко повернуть объект на 30, 45, 60 и 90 градусов. Имейте в виду, что данный механизм включается только при использовании управляющих векторов.
Преобразование набора объектов
Имеется возможность преобразования набора выделенных объектов. Перед выполнением преобразований Move (Переместить) и Rotate (Повернуть) необходимо вызвать окно диалога Tool Settings (Параметры инструмента) и указать, в какой системе координат должно произойти преобразование. К примеру, если выделить несколько объектов, повернутых друг относительно друга, установить переключатель Move (Перемещение) в положение Object (Объект) и переместить объекты вдоль оси Z, то окажется, что объекты двигаются в разных направлениях, как показано на рис. 3.6. Установка переключателя в положение World (Глобальная) приведет к тому, что набор объектов будет перемещаться как единое целое.
Рис. 3.6. Если перемещение совершается в локальной системе координат объекта, движение вдоль оси Z объектов с различной ориентацией будет происходить в разных направлениях
Часто возникает ситуация, когда приходится создавать новые объекты на основе уже существующих или же создавать сложный объект многократным копированием более простых. В Maya этот процесс осуществляется с помощью команды Duplicate (Дублировать) меню Edit (Правка). Этой команде соответствует клавиатурная комбинация Ctrl+d. По умолчанию дубликат располагается поверх исходного объекта, поэтому обычно дублирование сопровождается каким-нибудь преобразованием.
Создание массивов
Для создания нескольких дубликатов одновременно щелкните на квадратике, расположенном справа от команды Duplicate (Дублировать) меню Edit (Правка), чтобы получить доступ к параметрам данной операции. Можно создавать копии, расположенные на равном расстоянии друг от друга, как показано на рис. 3.7.
Рис. 3.7. В окне диалога Duplicate Options указано, что каждая следующая копия в 1,2 раза больше предыдущей и смещена на три единицы вдоль оси X
В Maya создаются только линейные массивы, то есть наборы объектов, распределенные вдоль прямой линии. Чтобы распределить объекты по объему, повторно вызовите окно диалога Duplicate Options (Параметры дублирования) и продублируйте уже имеющийся массив объектов относительно одной из перпендикулярных осей.
Дополнительные параметры дублирования
В окне диалога, показанном на рис. 3.7, легко заметить наличие переключателя, изменяющего тип дубликата, а также двух флажков, назначение которых будет объяснено ниже.
Создание экземпляров
В отличие от копий экземпляры являются всего лишь ссылкой, указывающей, что в определенной точке сцены нужно изобразить дубликат объекта с заданной ориентацией и масштабом. Изменения, вносимые в оригинал объекта, распро- Опорная точка 89
страняются на все экземпляры, в то же самое время возможно независимое преобразование каждого из экземпляров и назначение им уникальных материалов. Благодаря этим свойствам можно сэкономить значительное количество времени, если после создания набора одинаковых объектов возникает необходимость изменения их конструкции.
История создания дубликатов
На рис. 3.1 показано, каким образом объект сохраняет историю своего создания, благодаря чему позднее появляется возможность редактировать параметры создания объекта. Для дубликатов ситуация немного отличается. Они снабжаются историей создания, только если установить флажок Duplicate Upstream Graph (Дублировать историю создания).
Входные связи
Установив флажок Duplicate Input Connections (Дублирование входных связей), вы получите примерно тот же результат, что и при создании экземпляров, когда параметры создания исходного объекта будут присутствовать у всех его дубликатов. Но в этом режиме все копии являются уникальными объектами, благодаря чему их редактирование не влияет на вид остальных копий и оригинала.
Для удаления объектов достаточно выделить их и нажать клавишу Del или воспользоваться командой Delete (Удалить) меню Edit (Правка). В результате любые выделенные объекты окажутся навсегда удаленными со сцены.
Удаление определенных типов объектов
В меню Edit (Правка) находится также команда Delete All by Type (Удалить все объекты типа), выбор которой приводит к появлению списка типов объектов. Соответственно, выбрав в списке нужный пункт, вы быстро удалите все объекты данного типа.
Обычно точка, в которой сходятся управляющие векторы (называемая также опорной точкой), расположена в геометрическом центре объекта, но в некоторых случаях это не совсем удобно. Например, при моделировании прямоугольного листа, который планируется использовать в качестве двери, желательно поместить точку, относительно которой будет осуществляться поворот этого объекта, на его кромку. Для перехода в режим редактирования опорной точки нажмите клавишу Insert. Теперь преобразования перемещения, поворота или масштабирования будут касаться только опорной точки. При этом вы будете видеть значок опорной точки, как показано на рис. 3.8.
Рис. 3.8. В режиме редактирования опорной точки показывается ее значок
Хотя опорную точку можно перемещать вдоль ее управляющих векторов, параллельных осям глобальной системы координат, иногда бывает сложно разместить ее точно в углу или на ребре объекта. О том, как это сделать, мы поговорим в следующем разделе.
Как описано в главе 2, часто возникает необходимость точно разместить объекты друг относительно друга. Например, при редактировании положения опорной точки двери нужно поместить ее точно на кромке. В Maya это осуществляется с помощью привязок к узлам координатной сетки, ребрам или вершинам объектов. При необходимости можно временно включить нужный режим привязки. К примеру, для перехода в режим привязки к координатной сетке нажмите клавишу х, режим привязки к кривым активируется нажатием клавиши с, а для осуществления привязки к точке нужно нажать клавишу v.
Для работы с временными привязками нужно активизировать инструмент Move (Переместить) и выделить объект. Если теперь нажать и удерживать клавишу х, желтый квадратик, расположенный в центре преобразования, превратится в круг. Перемещая выделенный объект, вы увидите, как его опорная точка «привязывается» к узлам сетки. Привязки к кривым и точкам осуществляются аналогичным образом, но сначала нужно указать кривую или точку невыделенного объекта. Для этого, удерживая клавишу, активизирующую режим привязки (в данном случае это с или v), щелкните на ребре или точке целевого объекта. В результате перемещения выделенного объекта будут ограничены кривой или точкой.
Иногда группы объектов в сцене связаны друг с другом, не являясь единым целым. Например, это могут быть колеса автомобиля, жестко связанные с его корпусом, но в то же самое время имеющие возможность вращаться независимо. В этом случае можно говорить об иерархической связи между объектами.
Группы
Любой набор объектов после выделения может быть объединен в группу с помощью команды Group (Группировать) меню Edit (Правка). Это приводит к созданию нового узла, связанного со всеми членами группы. При этом преобразование узла приводит к преобразованию членов группы. Имейте в виду, что сами объекты при этом ничем не ограничены и у вас сохраняется возможность выделять их независимо друг от друга.
На первый взгляд, это не упрощает структуру сцены, но зато группой очень легко управлять. Узел главенствует над ее членами и с помощью клавиш со стрелками можно переходить вверх и вниз по выделенным объектам. Благодаря этому для выделения всей группы достаточно выделить любой ее объект и нажать клавишу ↑. То есть члены группы являются дочерними по отношению к узлу, который является невизуализируемым объектом.
Связь между родительскими и дочерними объектами в иерархии осуществляется следующим образом: перемещение первого обязательно приводит к перемещению второго. Обратное неверно. Соответственно, анимация или преобразования родительского объекта вызывают движение дочерних, но дочерний объект может быть преобразован или анимирован независимо.
Обычно при создании объектов в Maya происходит связывание узла формы с узлом преобразований. Узел формы определяет геометрию объекта, а узел преобразований — его преобразования. При создании группы появляется узел, являющийся пустым преобразованием, который не визуализируется, так как не связан с узлом формы. Однако его можно сделать родительским или дочерним по отношению к другим объектам сцены, что часто бывает полезно при формировании или анимации сцены.
Создание иерархической структуры
Для непосредственного создания иерархической структуры объектов необходимо выделить объект-потомок, затем, удерживая нажатой клавишу Shift, выделить объект-предок и выбрать команду Parent (Сделать родителем) меню Edit (Правка) или нажать клавишу р. Теперь любые преобразования родительского объекта затронут дочерний. Имейте в виду, что преобразование всех объектов-потомков осуществляются относительно опорной точки объекта-предка. Это имеет смысл, так как дочерний объект связан с родительским, если, конечно, по замыслу аниматора он не должен двигаться отдельно. В приведенном выше примере с машиной колеса автомобиля являются дочерними объектами по отношению к его корпусу. Анимировав колеса, вы заставите их совершать вращательное движение, но при этом они будут следовать за корпусом автомобиля по мере его перемещения.
Для разрыва связи предок-потомок нужно выделить один или несколько дочерних объектов и выбрать команду Unparent (Разорвать связь) меню Edit (Правка) или нажать комбинацию клавиш Shift+P.
Разница между созданием иерархической структуры и группировкой
Создание иерархической структуры приводит к возникновению индивидуального соотношения предок-потомок между объектами сцены, в то время как группа представляет собой особый вид автоматически создаваемой иерархии. Опорная точка группы размещается в геометрическом центре набора объектов, хотя ее можно и переместить. Каждый из членов группы является дочерним по отношению к ее узлу. Подводя итоги, можно сказать, что создание иерархической структуры является общей концепцией, в то время как в процессе группировки все объекты становятся потомками, имеющими общего родителя, который не визуализируется.
В окне диалога Outliner (Структура) справа от имен групп находится квадратик со знаком «плюс». Щелчок на этом квадратике открывает список членов группы. При наличии многоуровневой иерархии можно легко просматривать ее структуру, как показано на рис. 3.9. Выделение объекта-потомка автоматически вызывает выделение объекта-предка, но выделен он другим цветом (по умолчанию бледно-зеленым).
Рис. З.9. В окне диалога Outliner показывается иерархическая структура
В главе 2 было показано, как перейти от режима каркасного отображения к режиму тонированной раскраски и как изменить уровень детализации NURBS-объек-тов. Теперь пришло время поговорить о других способах изменения вида объекта, позволяющих яснее увидеть его форму или ускоряющих работу со сценой.
При выборе команды Shade Options (Параметры затенения) меню Shading (Затенение) любого окна проекции появится дополнительное меню с командами: Wireframe on Shaded (Каркас на затененном) и X-Ray (Рентген). Первая позволяет лучше видеть кривизну объекта и результаты редактирования его формы. Выбор второй команды доступен только в режиме тонированной раскраски. В результате объект становится полупрозрачным и вы получаете возможность наблюдать все объекты сцены, не переходя в окна ортографических проекций.
Ниже в меню Shading (Затенение) находится команда Interactive Shading (Интерактивная раскраска), выбор которой открывает меню выбора различных режимов обновления экрана при перемещении элементов сцены. По умолчанию выбран вариант Normal (Обычный). Но иногда вид сцены оказывается настолько детализированным, что компьютер не успевает рассчитывать вид сцены по мере изменения положения какого-либо из ее объектов. В этом случае процесс перемещения постоянно останавливается, чтобы дать время на обновление изображения сцены. Для ускорения этого процесса нужно выбрать один из трех других режимов — Wireframe (Каркас), Bounding Box (Габаритный контейнер) или Points (Вершины). В результате при выполнении преобразования или перехода к другой проекции все объекты сцены предстанут в виде каркасов, габаритных контейнеров или наборов вершин, благодаря чему станет возможным оперативное обновление сцены. После завершения движения объекты снова примут свой обычный вид.
Альтернативным способом повышения степени интерактивности является команда Fast Interaction (Быстрое взаимодействие) меню Display (Отображение). После ее выполнения в режиме тонированной раскраски при определенных условиях происходит упрощение объектов и текстур, благодаря которому обновление сцены происходит намного быстрее. Эта команда очень популярна, так как позволяет сэкономить значительное время, не слишком изменяя вид объектов в процессе их перемещения.
Упражнение. Создание, выделение, преобразование и дублирование объектов Теперь пришла пора применить знания, полученные в этой главе, на практике. Посмотрим на пример создания такого несложного объекта, как дверь.
ПРИМЕЧАНИЕ NURBS-примитив Cube (Куб) является группой из шести плоскостей, поэтому - его выделение является двухступенчатым процессом. Для начала нужно выделить одну из граней, а затем нажать клавишу t, чтобы выделить узел группы. В результате все шесть граней автоматически окажутся выделенными.
Рис. 3.10. Дверь в исходном положении
Рис. 3.11. Дверь со всеми необходимыми деталями
Рис. 3.12. Поворот двери вокруг новой опорной точки не сопровождается поворотом оси и дверного кольца
Теперь вы можете самостоятельно исследовать сцену и посмотреть, как связывание объектов влияет на остальные преобразования.
Исследуйте все режимы показа объектов в Maya, чтобы получить представление о преимуществах каждого из них. Проверьте, как изменяется вид объектов в различных режимах обновления экрана при преобразованиях. Внимательно ознакомьтесь со всеми возможностями дублирования объектов.
Рис. 3.13. В окне диалога Outliner полностью показана созданная иерархия
В этой главе вы получили информацию о способах создания и редактирования объектов в Maya. Были продемонстрированы следующие приемы:
Теперь, когда вы познакомились с интерфейсом Maya и основными методами работы с этой программой, пришло время рассмотреть их в действии. В следующей главе вы найдете пример пошагового создания анимации. Выполнить упражнение будет намного проще, если вы детально знакомы с инструментами, описываемыми в этой и предыдущей главах.
Если понимание материала в следующей главе потребует от вас слишком больших усилий, рекомендуем вам еще раз внимательно перечитать текущую главу.
Пришло время сделать первый шаг в царство Maya и приступить к созданию собственного мира. Изучая возможности программы, не ограничивайтесь чтением справочных пособий. Освоение пойдет намного быстрее, если пытаться использовать функции программы на практике. Непосвященным кажется, что создание сцен не требует больших усилий, но как вам предстоит убедиться, это не так. Необходимо задействовать не только свои творческие способности, но и логическое мышление. Можно создать потрясающую сцену, но отсутствие эффективной организации создаст проблемы вашим коллегам или другим пользователям, которым придется с ней работать. Мало того, вряд ли вам удастся отредактировать сцену, вернувшись к ней через несколько месяцев после создания.
Мы собираемся познакомить вас с типичными этапами построения сцены с начала и до конца. Даже при наличии у вас некоторого опыта работы с программой Maya все равно остаются вещи, с которыми нужно познакомиться. Одним из лучших способов изучения новых методик является наблюдение за работой других. Иногда таким способом можно узнать об альтернативных способах выполнения различных задач.
В этой главе вам предлагается замечательная возможность своими руками создать сцену от начала до конца. Вы сможете прочувствовать процесс работы с программой, выполняя следующие действия:
Ключевые термины
Изопараметрические кривые (Isoparm). Кривая на NURBS-поверхности, дающая представление о ее топологии.
Вершина (Vertex). Безразмерная точка в трехмерном пространстве или на плоскости. Сегменты, соединяющие вершины, называются ребрами. Три и более ребер, соединенных в многоугольную форму, являются гранями, на основе которых строятся поверхности.
Управляющие вершины (Control vertices). Точки, определяющие форму NURBS-кривой.
Материал (Material). Набор характеристик, присваиваемых поверхности геометрической модели для придания ей сходства с поверхностью реального объекта.
Трассирование (Raytracing). Метод визуализации, позволяющий имитировать свойства материала зеркально отражать окружающие его предметы или преломлять световые лучи, проходящие сквозь материал. Также этот метод используется для получения более реалистичных теней от объектов.
Динамика (Dynamics). Имитация физических явлений. Вместо анимации объектов вручную создаются поля, действующие на объект, а затем программа вычисляет поведение объекта.
Динамика упругих тел (Soft body dynamics). Результат воздействия сил или полей на сжимаемые объекты. Например, удар такого объекта о стену вызывает не только его отскок, но и временную деформацию.
Проект (Project). Способ систематизации информации о сцене. Проект включает в себя несколько папок, содержащих файлы сцены и вспомогательные файлы, например, с созданными для объектов сцены материалами.
Программа Maya замечательно работает со структурой проекта. Если определить какую-нибудь папку в качестве корневой, программа затем самостоятельно создаст дочерние папки, систематизируя различные файлы, возникающие в процессе работы над сценой.
Но это не значит, что вы освобождаетесь от обязанности планировать структуру проекта. Если сесть и сразу приступить к созданию объектов, то из этого не выйдет ничего хорошего. Скорее всего, в итоге вам придется начать все с самого начала. Большинство аниматоров, работающих с компьютерной графикой, сначала делают наброски сцены на бумаге.
Вашим первым проектом станет моделирование шлюпки, плывущей по волнам океана. Вам предстоит смоделировать океан и шлюпку, назначить им подходящие материалы, анимировать шлюпку и визуализировать полученную сцену.
Упражнение. Первые шаги
В Maya работа над любой сценой начинается с создания нового проекта. Имейте в виду, что на прилагаемом к книге компакт-диске есть файл с фильмом, в котором каждый шаг данного упражнения объясняется по мере его выполнения.
ПРИМЕЧАНИЕ
В именах объектов или проектов Maya запрещено использовать пробелы. Вы можете использовать знак подчеркивания (например, new_scene) или чередование строчных и прописных букв (например, NewScene).
Систематизация папок с файлами проекта
В процессе создания нового проекта вы заставляете программу точно определить используемую по умолчанию файловую структуру. Задав корневую папку проекта, вы указываете, где находится информация о каждом из компонентов сцены. Внимательно посмотрите на папки, созданные в корневой папке вашего проекта. В большинстве случаев их назначение понятно из названия. Одной из самых важных является папка scenes, в которой находятся файлы сцены и вспомогательная информация о проекте.
Кроме того, в процессе работы над проектом важно сохранять сцену после каждого внесения в нее изменений. В этом случае у вас будет возможность вернуться к любой из предыдущих стадий проекта, просто открыв нужный файл. В Maya 4 появилась возможность сохранения файлов с именами, включающими возрастающие номера версий. Для включения этой функции щелкните на квадратике, расположенном справа от команды Save Scene (Сохранить сцену) меню File (Файл), и установите в появившемся окне диалога флажок Incremental Save (Сохранение с возрастающими именами). В результате внутри папки scenes будет создана папка incrementalsave, предназначенная для сохранения резервных копий сцены, имена которых имеют возрастающие числовые расширения (например, filenameOOO.mb, filenameOOl.mb и т. д.). По умолчанию число таких копий неограниченно, но, за-цав их предельное число, вы сэкономите дисковое пространство.
Рис. 4.1. Окно диалога New Project
Создание элементов сцены
Теперь, когда вы создали проект, сохраните сцену под именем ch04oceanScene. Это делается при помощи команды Save Scene (Сохранить сцену) меню File (Файл). В процессе выполнения данного упражнения вы можете сохранять сцену так часто, как считаете нужным. Оптимально делать это после выполнения нескольких операций над любым из объектов сцены.
Для того чтобы открыть сохраненный файл, выберите команду File > Project > Set (Файл > Проект > Настроить). Также можно воспользоваться командой Recent Projects (Последние проекты) меню File (Файл), которая дает доступ к списку последних редактировавшихся проектов.
Теперь вы готовы приступить к созданию сцены! Для начала смоделируем волны океана и заставим их двигаться. Это делается по следующей схеме:
Упражнение. Создание водной глади
Первым шагом при создании любого объекта является выбор лежащего в основе типа геометрии. Для моделирования водной поверхности вполне подойдет плоскость. В данном упражнении мы используем NURBS-плоскость, так как для объектов этого класса существует возможность автоматического разбиения на большее число фрагментов. Как уже упоминалось, это необходимо для создания небольших волн на поверхности воды.
ПРИМЕЧАНИЕ
Использование меню оперативного доступа вместо различных наборов меню может значительно ускорить процесс работы. Для одновременного включения меню всех режимов необходимо выбрать команду Hotbox Controls > Show All (Элементы управления меню оперативного доступа > Показать все). Это избавит вас от необходимости нажимать клавиатурные комбинации для перехода между режимами анимации, визуализации, моделирования и пр. Впрочем, для данного упражнения оставьте меню оперативного доступа в заданном по умолчанию виде.
Рис. 4.2. В окне диалога NURBS Plane Options можно изменить параметры создаваемой плоскости
СОВЕТ
Если сейчас скрыть координатную сетку, плоскость будет видна более отчетливо. Это можно сделать, выбрав команду Grid (Сетка) меню Display (Отображение).
Рис. 4.З. Используйте окно диалога Soft Options, чтобы указать, какое именно упругое тело нужно создать
Рис. 4.4. Окно диалога Outliner демонстрирует структуру и компоненты сцены
Упражнение. Анимация водной поверхности
Теперь заставим частицы упругого тела двигаться. Можно сделать так, чтобы они перемещались назад и вперед, но полученное в результате движение воды будет наводить на мысли о качающейся ванне. К счастью, в Maya есть возможность имитации различных сил (например, ветра или силы тяжести), которые способны изменять состояние упругого тела, даже если оно остается статичным. Для воспроизведения динамики движения воды используется поле Turbulence (Турбулентность). Вам нужно изменить два параметра: Magnitude (Величина), определяющий силу поля, и Attenuation (Затухание), влияющий на распространение волн по поверхности плоскости. Например, при нулевой величине затухания волны будут распространяться по поверхности равномерно, в то время как ее увеличение приводит к уменьшению силы волн по мере удаления от центра воздействия.
ПРИМЕЧАНИЕ
Обратите внимание, что после выделения упругого тела вид окна каналов изменится. Это связано с тем, что в окне каналов показываются все атрибуты
частиц, которые могут быть отредактированы. Доступ к этим свойствам можно получить также на вкладке WaterPlanePartideShape окна диалога Attribute Editor (Редактор атрибутов), вызываемого с помощью клавиатурной комбинации Ctrl+a.
ПРИМЕЧАНИЕ
Альтернативной возможностью создания поля, действующего на упругое тело, является использование окна диалога Dynamic Relationships (Динамические связи), вызываемого командой Window > Relationship Editors > Dynamic Relashionships (Окно > Редакторы связей > Динамические связи). Более подробную информацию об этом можно найти в главе 13.
Рис. 4.5. Изменение параметров поля Turbulence в окне каналов
ВНИМАНИЕ
После просмотра анимации не забудьте вернуть ползунок таймера анимации к нулевому кадру. Это можно сделать, щелкнув на крайней левой кнопке в группе кнопок воспроизведения анимации. В противном случае последующие преобразования будут применяться к деформированной поверхности, что может исказить конечный результат.
СОВЕТ
Теперь вы можете самостоятельно добавить в сцену другие поля, например Air (Атмосфера) или Vortex (Водоворот), и снова воспроизвести анимацию. Кроме того, интересный эффект может дать тонкая настройка параметров поля Turbulence (Турбулентность). Попробуйте изменить значения параметров Frequency (Частота), Attenuation (Затухание) и Magnitude (Величина).
Если воспроизведение анимации происходит слишком медленно или недостаточно плавно, попытайтесь изменить его скорость. Причиной этого может быть также недостаточная мощность вашего компьютера. Щелкните на кнопке Animation Preferences (Параметры анимации), расположенной справа от ползунка диапазона.
Появится окно диалога Preferences (Параметры), у которого в списке Categories (Категории) выбран вариант Timeline (Временная шкала), как показано на рис. 4.6.
Рис. 4.6. Изменение скорости воспроизведения анимации в окне диалога Preferences
В разделе Playback (Воспроизведение) находится раскрывающийся список Playback Speed (Скорость воспроизведения), в котором можно выбрать подходящий вариант. Нажмите кнопку Save (Сохранить) для сохранения сделанных изменений.
СОВЕТ
Если воспроизведение анимации все еще происходит слишком медленно, попробуйте воспользоваться проигрывателем. Щелкните на квадратике, расположенном справа от команды Playblast (Проигрыватель) меню Window (Окно), укажите параметры воспроизведения и нажмите кнопку Playblast (Воспроизвести). В результате кадры будут скопированы из окна проекции и показаны с помощью служебной программы FCheck (Контроль файлов) или проигрывателя, по умолчанию используемого в вашей операционной системе. Это безошибочный способ проверки скорости воспроизведения анимации.
Упражнение. Создание поверхности
В этом упражнении вы узнаете о том, как организовать элементы сцены путем создания слоев. Также вы убедитесь, что группировка объектов облегчает процесс выделения элементов в окнах диалога Outliner (Структура сцены) и Hypergraph (Просмотр структуры).
Рис. 4.7. Используйте редактор слоев для систематизации элементов сцены
ПРИМЕЧАНИЕ
Выделение объекта WaterPlane в любом из окон проекции не приведет к выделению остальных элементов группы. Однако нажатие клавиши t после щелчка на любом из элементов группы выделит всю группу. Группировка создает узел, расположенный на более высоком уровне иерархии, вместо того чтобы просто связать объекты в единое целое.
ПРИМЕЧАНИЕ
Клавиши со стрелками также можно использовать для выделения остальных объектов, связанных в группу. Например, раскройте ветвь дерева иерархии WaterGroup и выделите строчку WaterPlane. Нажимайте клавиши ← и →, и вы увидите, как маркер выделения перемещается на названия других объектов, расположенных на том же уровне иерархии. Нажатие клавиши ↑ приводит к выделению предка текущего выделенного объекта, а нажав клавишу ↓, вы выделите его потомка.
ПРИМЕЧАНИЕ
Если у вас есть графический планшет производства фирм Wacom, Intuos или Graphire, имеет смысл им воспользоваться, потому что с его помощью намного проще управлять инструментом Scultp Surface (Моделирование поверхностей). Откройте окно диалога Tool Settings (Параметры инструмента) этого инструмента на вкладке Stroke (Штрихи) и установите переключатель раздела Stylus Pressure (Нажим на перо) в положение Opacity (Непрозрачность), Radius (Радиус) или Both (Оба), установив тем самым зависимость упомянутых параметров от силы давления на кисть.
Рис. 4.8. Окно диалога Tool Settings для инструмента Sculpt Surface
Рис. 4.9. Результат применения инструмента Sculpt Surfaces к плоскости GroundPlane
Упражнение. Создание шлюпки
Теперь пришла пора создать шлюпку, которая будет перемещаться по поверхности воды. Для ее построения мы используем NURBS-кривые. Скройте все слои в сцене и нажмите клавишу Пробел для перехода к четырехоконной конфигурации.
ПРИМЕЧАНИЕ
При работе с окнами проекции в Maya имеет значение положение указателя мыши. В данном случае, чтобы изменить масштаб конуса в определенном окне проекции, достаточно поместить указатель мыши в его пределах и нажать клавишу f.
Рис. 4.10. Объект, полученный в результате перемещения расположенных снизу управляющих вершин конуса
Рис. 4.11. Результат масштабирования рядов управляющих вершин вдоль оси X в окне проекции Тор
Рис. 4.12. Теперь внутренняя часть шлюпки расположена внутри ее наружной оболочки
Рис. 4.13. С помощью метода опорных сечений на месте зазора между внутренней и внешней частями шлюпки формируются участки поверхности
ПРИМЕЧАНИЕ
Помните, что можно менять уровень детализации изображения, нажимая клавиши 1,2 и 3.
ПРИМЕЧАНИЕ
С помощью окна диалога Outtiner (Структура) легко можно удалить лишние объекты. Поочередно выделяя элементы списка в этом окне, смотрите, какой объект оказывается выделенным в окне проекции. В некоторых случаях может потребоваться нажать клавишу f, чтобы сфокусироваться на этом объекте. Если выделение имени объекта в списке не приводит к выделению объекта в окне проекции, смело можно нажимать клавишу Delete. Но соблюдайте осторожность, чтобы не удалить жизненно важную часть сцены. В данном упражнении таковой является целевая плоскость.
Теперь пришло время создать траекторию движения шлюпки. Нарисовав кривую на поверхности WaterPlane, вы заставите ее деформироваться вместе с этой поверхностью.
Упражнение. Моделирование перемещения шлюпки вдоль траектории
Процесс анимации шлюпки состоит из двух этапов: создание траектории движения и связывание объекта с этой траекторией.
Рис. 4.14. Пример построения CV-кривой, которая будет использоваться в качестве траектории движения шлюпки
Рис. 4.15. Изменение положения опорной точки шлюпки приводит к тому, что она появляется над поверхностью воды
Рис. 4.16. Новая ориентация шлюпки при движении вдоль траектории
ПРИМЕЧАНИЕ
Если в процессе воспроизведения анимации движение шлюпки оказывается рваным, то причина может быть в слишком большой плотности управляющих вершин на траектории движения.
Упражнение. Создание камеры
В этом упражнении вам предстоит визуализировать сцену с точки зрения человека, находящегося в шлюпке. Для этого нужно создать камеру и поместить ее в шлюпку.
Рис. 4.17. В месте расположения фиксатора будет располагаться камера
ПРИМЕЧАНИЕ
Причина, по которой нельзя было связать камеру со шлюпкой в иерархиче-скую цепочку, состоит в том, что объект-потомок наследует атрибуты объекта-предка. В итоге, решив, например, изменить размеры шлюпки при помощи инструмента Scale (Масштабировать), вы заодно измените размеры камеры.
Рис. 4.18. Фиксатор ограничивает вращение камеры
Пришло время сделать объекты сцены более привлекательными. Материалы не только позволяют сделать поверхность цветной, но и добавляют ей такие характеристики, как зеркальные блики или прозрачность. Назначая материалы объектам сцены, можно выделить их друг относительно друга и придать им более реалистичный вид. В этом разделе вам предстоит узнать, как создаются и назначаются материалы в окне диалога Hypershade (Редактор узлов). В этом окне диалога также можно редактировать узлы, связанные с визуализацией, то есть текстуры, материалы, источники освещения, специальные эффекты и т. п. В упражнении этого раздела вы назначите материалы объектам сцены и произведете эскизную визуализацию, чтобы посмотреть, каким образом их требуется отредактировать. Работа с материалами неотделима от использования источников света, так как последние оказывают влияние на вид материалов.
Упражнение. Создание источников света и назначение материалов
Перед тем как приступить к визуализации сцены, необходимо создать хотя бы простейшую систему освещения. В этом упражнении будет создан направленный источник света, имитирующий солнце. Затем вы назначите текстуры объектам сцены.
Рис. 4.19. Вариант компоновки окон проекции, наилучшим образом подходящий для работы с текстурами
Рис. 4.20. Результат импорта материала OceanWater Назначение материалов и освещение сцены
Рис. 4.21. Выделение области, которая будет автоматически обновляться в процессе интерактивной фотореалистичной визуализации
Рис. 4.22. Узел place3dTexture_boat определяет размещение текстуры на поверхности шлюпки
Рис. 4.23. Результат настройки положения узла place3dTexture_boat
Работа над сценой практически закончена. Осталось только добавить дополнительные источники света и визуализировать полученный результат. Так как освещение сцены является сложной задачей, которой мы плотнее займемся в главе 9, мы подготовили для вас файл с уже настроенными источниками света.
Упражнение. Импорт источников света и визуализация сцены
Вы можете продолжить выполнение предыдущего упражнения.
Рис. 4.24. Настройка параметров визуализации в окне диалога Render GLobals
Просмотр результатов визуализации
В данном упражнении результатом визуализации стала последовательность статичных картинок. Теперь поговорим о том, как можно осуществить их просмотр. Пришло время познакомиться со служебной программой FCheck (Контроль файлов), которая является проигрывателем, встроенным в Maya. В программу загружается последовательность визуализированных кадров для просмотра.
После установки Maya на ваш компьютер значок программы FCheck (Контроль файлов) появился в меню Start (Пуск). Выберите команду Start > Programs > Maya > FCheck для запуска данной программы, а затем выберите в меню File (Файл) ее окна команду Open Animation (Открыть анимацию). Найдите в появившемся окне диалога файл OceanWorld001.tif и нажмите кнопку Open (Открыть), чтобы приступить к просмотру анимации.
В качестве альтернативного способа можно предложить сохранить анимацию в файле формата AVI и воспроизводить ее с помощью стандартного проигрывателя.
В этой главе вы сделали первый шаг к полноценному использованию программы Maya, получив представление о многочисленных методиках и инструментах, используемых для создания сцен. Применив всего лишь один из многочисленных методов анимации, вы создали замечательную сцену. Кроме того, по ходу дела вы узнали о следующих методах и понятиях:
Постоянная систематизация результатов вашего труда является хорошей привычкой, которая впоследствии облегчает работу над сценой и позволяет экономить время. Теперь пришла пора заняться детальным изучением каждой из стадий создания проекта: моделирования, назначения материалов, освещения, анимации и визуализации.
После того как в предыдущей главе мы бросили беглый взгляд на процесс создания анимации в Maya, пришло время детально разобрать все стадии этого процесса: моделирование объектов, назначение материалов, освещение сцены, анимацию и визуализацию. В этой главе мы поговорим о первой стадии, то есть о моделировании. Оно является основой создания сцен в Maya. Какой бы проект вы ни создавали, первым шагом будет лепка в виртуальном пространстве каждого из объектов, фигурирующих в этом проекте. Моделированием в компьютерной графике называется процесс создания поверхностей объектов.
Также в этой главе пойдет речь о более профессиональном подходе к использованию меню оперативного доступа, клавиатурных комбинаций и настраиваемых контекстных меню объектов. В отличие от программ трехмерного моделирования, ориентированных на любителей, Maya имеет не полностью заданную конфигурацию. Профессионалы обычно пользуются меню оперативного доступа и предпочитают создавать новые клавиатурные комбинации в дополнение к уже существующим. Контекстные меню объектов относятся к нововведениям, существенно ускоряющим работу над сценой. В главе 14 мы покажем, как создать собственные контекстные меню.
А теперь перечислим методики и понятия, информацию о которых вы получите в этой главе.
В этой главе вы получите начальные сведения о моделировании на основе NURBS-кривых в Maya и узнаете о методах работы с различными типами объектов. Понимание принципов моделирования облегчает процесс создания объектов и делает его более эффективным. Maya предлагает такое множество разнообразных функций и инструментов для работы в этой области, что вам не придется скучать!
Ключевые термины
Узел (Node). Базовый элемент сцены, хранящий информацию об атрибутах объекта, то есть о наборе переменных, определяющих его свойства. Атрибуты узла могут быть связаны с другими узлами, образуя целую сеть. При работе в Maya вам постоянно придется создавать новые узлы, связывать их друг с другом, оценивать и удалять ненужные. Неоднородный рациональный В-сплайн (NURBS). Тип сплайна, имеющего управляющие точки, расположенные на кривой сплайна или за ее пределами. Кривые сплайнов данного типа могут применяться для формирования поверхностей, также определяемых управляющими точками.
Сплайн (Spline). Линия, кривизна которой определяется управляющими точками.
Направление поверхности (Surface direction). NURBS-поверхность всегда имеет наружную и внутреннюю стороны, что дает возможность говорить о направлении поверхности, определяемом координатами U и V. Кривые также имеют направление. Ошибка в его выборе может стать причиной проблем.
Нормаль (Normal). Вектор, направленный перпендикулярно поверхности. Объекты создаются на основе поверхностей, которые представляют собой бесконечно тонкие листы, одна сторона которых определена как наружная, а другая — как внутренняя. Наружной считается сторона, из которой исходит вектор нормали.
В компьютерной графике существует два подхода к моделированию объектов: на основе полигональных сеток и на основе NURBS-кривых. Большинство программ для создания трехмерной анимации работает только с полигонами. В Maya кроме этого используется более сложная и мощная система моделирования, которая основана на неоднородных рациональных сплайнах Безье (NURBS, Non-Uniform Rational Bezier Splines). Созданная таким способом поверхность похожа на трехмерный искривленный лист в пространстве. Существуют ограничения на их построение, соединение друг с другом и деление на части, но в принципе это очень гибкие объекты. Основное их преимущество состоит в том, что в Maya они остаются чистыми кривыми, то есть математическими конструкциями. Уровень детализации получаемых на их основе поверхностей можно указывать как в окне проекции, так и при визуализации. Грубую огранку объектов, возникающую при попытке создать искривленную поверхность из полигональной сетки, легко можно убрать при работе с NURBS-поверхностями. Достаточно увеличить уровень детализации.
Моделирование на основе NURBS-кривых не сводится к соединению друг с другом отдельных фрагментов. В отличие от полигонов, имеющих фиксированную форму, в NURBS-моделировании трехмерные объекты создаются из кривых и поверхностей, что предоставляет неограниченные возможности их использования. Если вам нравится проектирование архитектуры и решение различных задач, то вы определенно почувствуете вкус к NURBS-моделированию.
Попробуем дать вам представление о природе неоднородных рациональных В-сплайнов. Их можно рассматривать как разновидность сплайна, используемого для определения кривых, которые лежат в основе математической структуры, задающей вид NURBS-поверхности. В этой главе мы покажем вам основные приемы работы с объектами данного типа, не пускаясь в глубокие теоретические изыскания. Обучаться компьютерному моделированию лучше всего методом проб и ошибок, поэтому в данной главе вы получите возможность на практике исследовать природу изучаемого объекта. Чтобы облегчить вам запоминание большого количества деталей, мы будем по ходу дела упоминать все команды, клавиатурные комбинации, поля, значения и прочие необходимые подробности. По мере чтения книги такие подсказки будут требоваться вам все реже и реже, но на начальном этапе вряд ли возможно без этого обойтись.
Преимущества моделирования на основе NURBS-кривых
Каждая из методик моделирования имеет свои сильные и слабые стороны, и выбор методики, наилучшим образом соответствующей конкретной задаче, требует немалого опыта в данной области. При выборе метода создания конкретного объекта нужно учитывать несколько факторов. NURBS-кривые хорошо подходят для моделирования объектов органического происхождения, например Животных, растений, фруктов, которые можно строить путем стыковки друг с другом гладких фрагментов поверхности. Также очень удобно использовать NURBS-кривые для построения серийно выпускаемых промышленных изделий, которые одновременно характеризуются точностью исполнения и обтекаемыми формами. К ним относятся транспортные средства, прессованные детали, различные приборы и прочие объекты с искривленными поверхностями, созданные руками человека.
Если вы сомневаетесь в правильности выбора способа моделирования, имейте в виду, что можно начать построение объекта с NURBS-кривых, а затем преобразовать его в сетку полигонов. Эта возможность является одним из основных преимуществ моделирования на основе NURBS-кривых. Например, чтобы освободиться от швов в местах сочленений отдельных частей при создании человеческой фигуры, ее достаточно преобразовать в сетку полигонов и затем связать отдельные фрагменты в единый объект. Благодаря наличию истории создания объекта при редактировании лежащих в основе фигуры NURBS-кривых ее вид будет автоматически изменяться даже после вышеописанного преобразования. Впрочем, моделирование на основе NURBS-кривых имеет и отрицательные стороны. При создании объектов, которые впоследствии должны быть анимированы, можно заметить наличие швов и даже зазоров между отдельными фрагментами NURBS-поверхностей. В результате этой особенности конструирования практически никогда не удается получить монолитный объект. Чтобы избежать упомянутой выше проблемы, приходится очень тщательно сшивать отдельные фрагменты между собой.
Использование NURBS-кривых также приводит к усложнению модели. Наличие большого числа кривых, определяющих поверхность, может заметно усложнить ее редактирование. Кроме того, иногда такие модели оказываются настолько массивными, что с ними невозможно работать в интерактивном режиме. Конечно, в данном случае все зависит от мощности SD-ускорителя компьютера! Другим недостатком использования NURBS-кривых является увеличение времени визуализации. Идеальная математическая кривая, определяющая форму поверхности, должна быть конкретизирована с помощью полигонов, наличие большого количества которых замедляет визуализацию.
В этой главе будет рассмотрен процесс моделирования домика на основе NURBS-кривых. Дом является первым объектом сцены, которую вам предстоит создать в процессе работы над упражнениями нашей книги.
Работу с Maya можно сделать быстрой и эффективной. Наблюдение за работой опытных пользователей создает впечатление магического действа, потому что сцена, словно по волшебству, возникает из ничего при минимальном количестве нажатий клавиш и использовании мыши. Секрет такой быстрой работы состоит в создании контекстных меню, которые помогают увеличить продуктивность и скорость различных действий. Если нажать и удерживать определенные клавиши, нажимая при этом левую кнопку мыши, то появится меню, похожее на компас. Перетаскивание указателя мыши на любую из его команд приводит к ее выполнению. В случае быстрого выполнения описанных действий вы успеете заметить только линию на экране и быстро промелькнувшее имя выполняемой команды.
После нескольких недель работы вы изучите контекстные меню и сможете мгновенно создавать и редактировать объекты. Так как процесс их использования является двухступенчатым (сначала нужно нажать клавиши, а потом сделать вы-эор при помощи указателя мыши), имеет смысл сгруппировать связанные друг с цругом команды таким образом, чтобы их перечень вызывался нажатием одной и гой же комбинации. Например, можно сделать так, чтобы комбинация клавиш Alt+c приводила к переходу в режим редактирования кривых. При этом две наиболее часто используемые в этом режиме команды можно расположить слева и права. В результате нажатия комбинации клавиш Alt+c, сопровождаемого нажатием левой кнопки мыши и перемещением указателя влево, как показано на рис. 5.1, будет быстро включен требуемый режим редактирования. Со временем подобные действия можно научиться выполнять настолько быстро, что со стороны будет невозможно проследить за ними.
Рис. 5.1. Пример пользовательского контекстного меню
При выполнении как упражнений этой главы, так и остальных упражнений, имеющихся в данной книге, можно воспользоваться набором контекстных меню, адаптированных под стоящие перед вам задачи. Кроме того, такие меню можно использовать в качестве отправной точки для создания своих собственных наборов команд. Также увеличить эффективность работы с Maya можно путем изучения имеющихся клавиатурных комбинаций и создания своих собственных. Мы познакомим вас с рядом клавиатурных комбинаций, используемых в дополнение к тем, которые вы применяете при работе с контекстными меню. Посмотрим на процесс их загрузки.
Настройка интерфейса и загрузка контекстных меню
Итак, прежде всего необходимо импортировать контекстные меню и клавиатурные комбинации, полезные для выполнения упражнений этой главы. В главе 14 рассказывается о способах создания пользовательских контекстных меню и связывания их с определенными клавиатурными комбинациями, но в данном случае для экономии времени мы предлагаем вам воспользоваться имеющимися на компакт-диске заготовками.
Обратите внимание, что наши рекомендации рассчитаны на пользователей, работающих с операционными системами семейства Windows. Если вы используете Linux, Mac OS X или IRIX, вы найдете аналогичные папки и файлы на жестком диске вашего компьютера. В случае возникновения вопросов, обратитесь к руководству пользователя.
ПРИМЕЧАНИЕ
Альтернативным способом изменения видимости строк меню является окно диалога Preferences (Параметры), для вызова которого используется команда Window > Setting/Preferences > Preferences (Окно > Настройки/Параметры > Параметры). В списке Categories (Категории) выберите вариант Interface (Интерфейс) и снимите или установите флажки Main Window (В главном окне) и In Panels (В окнах проекции) в разделе Show Menubar (Показывать строку меню). Можно пойти дальше и скрыть даже строку заголовка, но имейте в виду, что это осложнит работу с несколькими приложениями одновременно.
7. Выберите в меню оперативного доступа команду File > Save Preferences (Файл > Сохранить настройки). Упрощенный интерфейс, оптимизированный для выполнения упражнений этой главы, готов к использованию.
Настройка меню оперативного доступа
Первый взгляд на новый вид окна программы Maya может привести в недоумение, потому что теперь, когда почти все элементы интерфейса скрыты, возникает ощущение отсутствия контроля над происходящим. Но на самом деле любой командой по-прежнему можно воспользоваться с помощью меню оперативного доступа. Рассмотрим процесс настройки этого меню.
1. Чтобы убедиться, что вы имеете доступ ко всем меню, нажмите и удерживайте клавишу Пробел, щелкните на команде Hotbox Controls (Элементы управления меню оперативного доступа) и затем выберите вариант Show All (Показать все). Для получения доступа к функции, для которой не задана клавиатурная комбинация или контекстное меню, используйте меню оперативного доступа. Если окажется, что вы раз за разом выбираете в этом меню один и тот же набор команд, имеет смысл назначить им клавиатурные комбинации или собрать их в контекстное меню.
ПРИМЕЧАНИЕ
Если вы работаете с пакетом Maya Unlimited, следует скрыть ряд пунктов меню оперативного доступа, оставив только функции, которые вам предстоит использовать. Выберите в меню оперативного доступа команду Hotbox Controls (Элементы управления меню оперативного доступа) и снимите флажки Show Cloth Menus (Показать меню для работы с тканями) и Show Live Menus (Показать меню «живой камеры»).
2. Выберите в меню оперативного доступа команду File > Save Preferences (Файл > Сохранить настройки).
ВНИМАНИЕ
Если хотя бы одно из окон проекции не является активным, нажатие и удер-жание клавиши Пробел не приведет к появлению меню оперативного доступа. Если поверх окон проекции открыто какое-либо окно диалога, нужно щелкнуть на нужном окне проекции правой кнопкой мыши, чтобы перевести его в активное состояние, не снимая при этом выделение с объектов. Обратите внимание, что в результате вокруг окна появляется синяя рамка.
Перечислим клавиатурные комбинации, использование которых в сочетании с нажатием левой кнопки мыши приводит к появлению загруженных вами контекстных меню.
Контекстное меню | Клавиатурная комбинация |
mfNURBSPrimitives_Press | Ctrl+z |
mfNURBSediting_Press | Alt+z |
mfNURBSsurface_Press | Ctrl+Alt+z |
mfPolygonPrimitives_Press | Ctrl+x |
mfPolygonEditing_Press | Alt+x |
mfCurvesCreation_Press | Ctrl+c |
mfCurvesEditing_Press | Alt+c |
Попробуйте самостоятельно вызвать каждое из них.
А вот перечень клавиатурных комбинаций, которые были добавлены или переназначены.
Функция | Клавиатурная комбинация |
Script Editor (Редактор сценариев) | Shift+S |
Hypergraph (Просмотр структуры) | Shift+H |
Attribute Editor (Редактор атрибутов) | Ctrl+a |
Show/Hide Channel Box (Показать/Скрыть окно каналов) |
Shift+С |
Hypershade (Редактор узлов) | Shift+T |
Outliner (Структура) | Shift+0 |
Toggle the Time Slider on/off (Показать/Скрыть ползунок таймера анимации) |
Alt+t |
Undo (Отменить) | Z |
Visor (Просмотр образцов) | Shift+V |
Клавиатурные комбинации расположены таким образом, чтобы их было удобно нажимать левой рукой. При желании их всегда можно переназначить. Если вы левша, то вам, скорее всего, захочется переназначить также клавиши, управляющие преобразованиями (q, w, e, r). Скорость работы увеличивается, если не приходится постоянно перемещать руку из левой части клавиатуры в правую. В данном случае Требуется научиться нажимать вышеупомянутые клавиатурные комбинации вслепую. По мере изучения материала книги вы будете знакомиться со все новыми и новыми комбинациями.
Первые комбинации клавиш, которые вам предстоит запомнить в этой главе:
Итак, все готово для начала работы над созданием «Мира монстров». Прежде всего вам предстоит на основе простых NURBS-объектов смоделировать дом, в котором будет жить монстр. По мере добавления все новых и новых деталей дом будет становиться все сложнее. Мы не собираемся приводить исчерпывающий список всех инструментов Maya с объяснением возможных вариантов их использования. Для этого существует руководство пользователя. Но назначение основных инструментов станет понятным в процессе обучения работе с программой.
ВНИМАНИЕ
Случайное нажатие комбинации клавиш Alt+v спровоцирует воспроизведение анимации, что может стать источником проблем. Так как ползунок таймера анимации в данном упражнении скрыт, а ключи анимации для какого-либо объекта пока не созданы, вы даже не заметите, что перешли в режим воспроизведения анимации, в котором невозможно создание и редактирование большинства объектов. Сделать видимым ползунок таймера анимации можно, выбрав в меню оперативного доступа команду Display > UI Elevemts > Time Slider (Отображение > Элементы интерфейса > Ползунок таймера анимации) или нажав комбинацию клавиш Alt+t. Чтобы остановить воспроизведение анимации, если оно все же началось, повторно нажмите Alt+v или воспользуйтесь клавишей Esc. Перепрограммировать заданную по умолчанию комбинацию клавиш можно в окне диалога Hotkey Editor (Редактор клавиатурных комбинаций), которое вызывается командой Windows > Settings/Preferences > Hotkeys (Окно > Настройки/Параметры > Клавиатурные комбинации). В разделе Assign New Hotkey (Назначить новую клавиатурную комбинацию) введите v в поле Key (Клавиша), установите переключатель Modifier (Модификатор) в положение Alt и нажмите кнопку Find (Найти). Теперь можно легко назначить найденной команде новую клавиатурную комбинацию. Впрочем, подобными вещами лучше не увлекаться, потому что если впоследствии вам придется, например, переустановить программу, все значения клавиатурных комбинаций вернутся к заданным по умолчанию, и вы просто не сможете сними работать, потому что привыкли к своим собственным!
Свое знакомство с NURBS-объектами вы начнете с построения дома, в процессе которого будут использоваться меню оперативного доступа, клавиатурные комбинации и контекстные меню. Работа над сценой продолжится в следующих главах, и к концу книги вы получите детально разработанную сцену, визуализация которой приведет к появлению впечатляющей анимации.
Начало нового проекта
В отличие от других приложений Windows, Maya всегда по умолчанию сохраняет документы в папках, предназначенных для проекта. Почему в папках, а не в одной папке? Maya создает набор вложенных папок, чтобы управлять всеми созданными файлами в процессе формирования сложной анимации. Файлы сцены, текстуры, результаты визуализации и т. п. хранятся в отдельных папках. Обычно, начиная новый проект, пользователи создают для него специальную папку, а затем программа автоматически создает все нужные вложенные папки.
ВНИМАНИЕ
Избегайте использования символа пробела в именах папок и файлов, заменяя его знаком подчеркивания. Если маршрут доступа к файлам включает пробелы, Maya может работать некорректно.
СОВЕТ
После изменения единиц измерения у вас могут возникнуть проблемы с изменением масштаба. Например, вдруг может оказаться, что половина окна проекции просто отрезана. Причиной этого является слишком малое значение параметра Far Clip Plane (Дальняя плоскость отсечки). Убедитесь, что у вас активно окно проекции Perspective (Перспектива) и выберите в меню оперативного доступа команду View > Camera Attribute Editor (Вид > Редактор атрибутов для камеры). В поле Far Clip Plane (Дальняя плоскость отсечки) раздела Camera Attributes (Параметры камеры) введите значение 10 000. Если же объект исчезает при попытке разглядеть его поближе, измените значение параметра Near Clip Plane (Ближняя плоскость отсечки).
Для создания крыши будут использованы два>ШКВ5-примитива — Cube (Куб) и Plane (Плоскость). Как вы, вероятно, помните, куб состоит из шести плоскостей, соединенных в одну группу. В результате щелчок на нем приводит к выделению только одной его грани, а не всего объекта. Чтобы выделить объект целиком, нажмите клавишу ↑.
Упражнение. Создание кровельного материала
Рис. 5.2. Результат дублирования преобразованного куба
Упражнение. Завершение работы над крышей
Рис. 5.3. Результат масштабирования и перемещения объекта RoofSlab
ПРИМЕЧАНИЕ
Контекстные меню преобразований полезны в случаях, когда нужно ограничить преобразование одной из осей. Нажмите и удерживайте клавишу, активизирующую инструмент нужного преобразования, и левую кнопку мыши. В результате появится одно из меню, выбрав в котором подходящий вариант вы ограничите преобразование одной осью или плоскостью. Затем, используя среднюю кнопку мыши, можно осуществить преобразование.
ПРИМЕЧАНИЕ
Выбирать команду Reset Settings (Сбросить настройки) в меню Edit (Правка) окна диалога с параметрами команды или инструмента рекомендуется каждый раз перед вводом новых параметров.
Рис. 5.4. Временное включение режима привязки помогает поместить центр группы Roof точно в начало координат
Рис. 5.5. Результат увеличения масштаба области схождения скатов крыши
ВНИМАНИЕ
Если камера, через окно которой осуществляется показ текущей проекции, имеет слишком маленькое значение параметра Far Clip Plane (Дальняя плоскость отсечки), это приводит не только к проблемам просмотра объектов, но и к ограничениям на выделение объектов. Например, при выделении ската крыши в окне проекции Side (Вид сбоку) вполне может оказаться, что объекты, расположенные на заднем плане, невозможно выделить, потому что они находятся за границей плоскости отсечки.
Поэтому желательно смотреть на вид выделенных элементов во всех окнах проекции. Изменить значение параметра Far Clip Plane (Дальняя плоскость отсечки) для камеры, демонстрирующей какую-либо из проекций сцены, можно в окне диалога Camera Attribute Editor (Редактор атрибутов для камеры). Для его вызова перейдите в нужное окно проекции и выберите в меню оперативного доступа команду View » Camera Attribute Editor (Вид > Редактор атрибутов для камеры).
Рис. 5.6. Временное включение режима привязки к сетке помогает переместить верхнее ребро левой части объекта RoofTHes на центральную линию
Рис. 5.7. Привязка нижних ребер объекта RoofTiles
Рис. 5.8. Теперь все управляющие точки выровнены по вертикали
Упражнение. Создание стен и фундамента
Начнем с создания стен дома.
ПРИМЕЧАНИЕ
Если при каркасном отображении NURBS-объектов включен режим минимальной детализации, рассмотреть выделенный объект иногда бывает не так-то легко. Помните, что вы всегда можете изменить уровень детализации, нажимая клавиши 1, 2 и 3.
Рис. 5.9. Четырехкратным дублированием лежащего в основании прямоугольника был сформирован контур стен
СОВЕТ
Помните, что клавиша g служит для повторного выполнения последней использовавшейся команды. Кроме того, выбрав в меню оперативного доступа команду Recent Commands (Последние команды), вы получите список из нескольких последних команд.
Рис. 5.10. Первая стена будущего дома, созданная методом лофтинга
Рис. 5.11. Стены и фундамент на данный момент установлены должным образом, но остались треугольные просветы между стенами и крышей
ПРИМЕЧАНИЕ
Благодаря наличию истории построения объекта можно изменить форму поверхности, отредактировав лежащие в основе этой поверхности кривые. Ведь они до сих пор присутствуют в сцене и связаны с поверхностью. Попробуйте проделать вышеуказанную операцию с различными объектами. Потом их можно легко вернуть в исходное состояние нажатием клавиши r. Можно получить весьма впечатляющие результаты и открыть для себя многообразие приемов моделирования и анимации на основе NURBS-кривых.
Упражнение. Заполнение просветов и создание внутренней стены
Рис. 5.12. В результате перемещения одной из кривых передняя стена прорезала крышу
Рис. 5.13. Процесс добавления объекта в слой после его выделения в окне диалога Outliner
Упражнение. Создание крыльца
Займемся созданием крыльца в передней части дома.
Рис. 5.14. Боковой профиль 14 досок, каждая из которых имеет ширину четыре дюйма. Зазор между досками имеет ширину один дюйм
СОВЕТ
Если вы ошиблись при размещении точки, воспользуйтесь клавишей Backspace для ее удаления. Также можно нажать клавишу Insert и переместить точку в нужное место, не покидая режима создания кривой. По окончании перемещения достаточно снова нажать клавишу Insert, а потом нажать и удерживать клавишу х, чтобы снова получить возможность создания узловых точек кривой.
СОВЕТ
Если в процессе создания кривой вы подошли к краю экрана, одновременно нажмите клавишу Alt и среднюю кнопку мыший перетащите указатель влево, перемещая видимую область экрана.
Рис. 5.15. Результат перемещения профиля крыльца на нужное место
Сделайте видимыми все слои, чтобы посмотреть на полученную конструкцию. Для проверки геометрии объекта можно провести несколько тестовых визуализаций.
ПРИМЕЧАНИЕ
Попробуйте самостоятельно создать сцену с нуля, используя для моделирования объектов методы Loft (Лофтинг) и Extrude (Выдавливание). В упражнениях этой главы переключатели, отвечающие за кривизну, устанавливались в положение Linear (Линейный), тем самым провоцируя создание плоских поверхностей. Посмотрите, как отражается на состоянии поверхностей установка этого переключателя в положение Cubic (Третьей степени).
В этой главе на примере были продемонстрированы стандартные подходы к моделированию на основе NURBS-кривых. Вы получили возможность на практике познакомиться со следующими приемами:
Теперь, после создания основных плоских объектов, пришла пора познакомиться с более сложными методами и поработать с искривленными поверхностями. Именно этому посвящена следующая глава «Дополнительные приемы работы с NURBS-объектами». Кроме того, вам предстоит познакомиться с методикой создания различных отверстий, ведь модель дома пока что не имеет ни окон, ни дверей. Также вы закончите моделирование крыльца, добавив к нему ограждение.
После того как в предыдущей главе вы познакомились с базовыми методами моделирования на основе NURBS-объектов, пришло время исследовать более сложные приемы моделирования поверхностей. В этой главе вам предстоит продолжить создание дома, закончив работу над деталями крыльца, добавив дымовую трубу, а также окна и дверь. В процессе решения этих задач вы познакомитесь с остальными приемами редактирования NURBS-объектов. А именно:
В этой главе вам снова предстоит использовать контекстные меню, которые были загружены в начале главы 5. Имейте в виду, что все упоминаемые команды можно легко найти также в меню оперативного доступа.
Ключевые термины
Узловые точки (Edit points). Точки, лежащие на кривой или поверхности. Любая форма создается в виде последовательности узловых точек. Их перемещение вызывает изменение формы кривой или поверхности.
Управляющие точки (Control vertex). Точки, определяющие форму кривой или поверхности.
Изопараметрическая кривая (Isoparam). Кривая на NURBS-поверхности, дающая представление об ее топологии.
Интервал (Span). Часть кривой между двумя узловыми точками. Интервалы невозможно редактировать напрямую, они изменяются при перемещении узловых точек.
Каркас кривой (Hull). Набор прямых линий, соединяющих управляющие точки.
Множественность (Multiplicity). Коэффициент, связанный с каждой точкой кривой, определяющий, насколько острым будет угол в данной точке.
Опорная точка (Pivot point). Точка, принятая в качестве центра для преобразований поворота и масштабирования.
В предыдущей главе моделирование объектов начиналось с создания NURBS-примитивов. Вам пришлось редактировать эти примитивы, проецировать кривые на поверхность и создавать поверхность на основе кривой. В этой главе вы освоите дополнительные приемы моделирования поверхностей, а именно вращение образующей, выдавливание сечения вдоль некоторой кривой, изменение положения управляющих и узловых точек. В результате можно будет говорить о том, что вы владеете базовым инструментарием NURBS-моделирования.
Усовершенствование модели дома
В данный момент основные контуры дома уже готовы. Пришла пора добавить необходимые детали и сделать модель более реалистичной. Если вы выполнили все упражнения главы 5, продолжите работу над своей сценой. В противном случае загрузите файл chOStutOSehd.mb.
Следующим шагом в моделировании крыльца будет создание ограждения, лестницы и крыши.
Рис. 6.1. Кривая-профиль, вращением которой будет получена балясина
СОВЕТ
При создании кривой всегда можно нажать клавишу Backspace, стирая последнюю созданную точку, или клавишу Insert, переходя в режим перемещения управляющих точек.
ПРИМЕЧАНИЕ
Инструмент CV Hardness (CV заострение) работает, только если параметр Multiplicity (Множественность) управляющих точек, расположенных справа и слева от выделенной, равен единице. То есть управляющие точки не должны быть начальными или конечными.
Рис. 6.2. Результат изменения формы пика со скругленной на заостренную
ПРИМЕЧАНИЕ
Теперь, когда вы можете видеть полученную вращением профиля поверхность, может оказаться, что она отличается от той, которую вы ожидали увидеть.
Если в процессе создания сцены была нажата кнопка Construction History (История создания), можно выделить исходную кривую и отредактировать поверхность в интерактивном режиме. Также имеется возможность изменения оси вращения. Для этого в разделе Inputs (Входные данные) окна каналов выделите имя revolve1, щелкните правой кнопкой мыши в окне проекции Front (Вид спереди) и нажмите клавишу t. Появятся три управляющих вектора, два из которых перемещают конечные точки, а третий — всю ось. Попытавшись переместить их, вы увидите, как ориентация оси влияет на вид тела вращения.
Рис. 6.3. Поверхность, полученная вращением профиля NUKbb-моделирование
СОВЕТ
Иногда бывает полезно использовать другие варианты компоновки окон проекции. В Maya имеется набор заранее заданных компоновок. Переключиться в двухоконный режим, можно с помощью команды меню оперативного доступа Panels > Layout > Two Panes Stacked (Панели > Компоновка > Два окна одно под другим). Для изменения текущей проекции любого из окон щелкните на нем правой кнопкой мыши, чтобы сделать его активным, не снимая выделения с объектов, а затем щелкните и удерживайте левую кнопку мыши нажатой на центральном элементе меню оперативного доступа, помеченном буквами A/W. Появится контекстное меню с вариантами проекции.
ВНИМАНИЕ
Если вы случайно сняли выделение с куба и хотите выделить его снова, нужно сначала выделить одну из граней этого объекта и нажать клавишу ↑, чтобы перейти к верхнему узлу группы. Если открыто окно диалога Outliner (Структура), вышеописанного шага можно избежать, выделив объект по имени.
ПРИМЕЧАНИЕ
Перемещение объектов по умолчанию происходит в глобальной системе координат. Это можно изменить в окне диалога Tool Settings (Параметры инструмента), которое вызывается двойным щелчком на кнопке инструмента Move (Переместить). Если параметры инструмента были изменены и вы хотите вернуть их исходные значения, воспользуйтесь кнопкой Reset Tool (Восстановить исходные параметры инструмента).
Упражнение. Создание дополнительных деталей крыльца
Итак, пол будущего крыльца уже готов, но он до сих пор висит в воздухе. Теперь
пришло время заняться созданием столбов опоры.
ПРИМЕЧАНИЕ
Проще всего осуществить требуемую деформацию столба, выделяя горизонтальные ряды управляющих точек в окне проекции Front (Вид спереди) и изменяя их масштаб. Если выделить несколько рядов управляющих точек одновременно, можно случайно изменить высоту объекта, так как центр преобразования масштабирования находится в геометрическом центре выделенного набора. Но если изменить таким способом положение нижнего ряда управляющих точек, основания опорного столба и дома больше не будут располагаться на одном уровне, поэтому лучше всего выделять и редактировать только точки, расположенные в одном ряду.
Рис. 6.4. Вид опорного столба после перестройки поверхности
Рис. 6.5. Результат редактирования опорного столба
Рис. 6.6. Результат дублирования опорных столбов
ПРИМЕЧАНИЕ
Чтобы сделать изображение объектов на рисунке более наглядным, используется режим Wireframe on Shaded (Каркас на затененном). Для его включения выберите команду Shading > Shade Options > Wireframe on Shaded (Затенение > Параметры затенения > Каркас на затененном) в меню любого из окон проекции.
Упражнение. Создание лестницы
Теперь, когда крыльцо готово, пришла пора смоделировать ведущую на него лестницу. Вам предстоит создать два боковых крепления, на которые будут помещены ступеньки.
Рис. 6.7. Форма, на основе которой будет создано боковое крепление лестницы
Рис. 6.8. Методом лофтинга была создана поверхность между двумя точечными кривыми, затем к одной из кривых был применен инструмент Planar
Рис. 6.9. Теперь верхняя ступенька находится на своем месте
Пришло время добавить к дому трубу. В процессе ее создания вы освоите несколько новых методов редактирования NURBS-примитивов.
Рис. 6.10. Выбор параметров инструмента Rebuild Surface
Удалите нижнюю и верхнюю плоскости куба. Нижняя плоскость не нужна, так как ее все равно не будет видно, а верхнюю вам в дальнейшем предстоит модифицировать. Для их выделения желательно перейти в окно проекции Perspective (Перспектива) и включить режим показа тонированных оболочек объектов. В этом случае выделить поверхность можно щелчком в произвольном ее месте, в то время как в режиме каркасного отображения нужно попасть на ребро каркаса.
Рис. 6.11. Редактирование узловых точек трубы для получения более пологого наклона
Рис. 6.12. Формирование задней стенки трубы
Упражнение. Пересечение трубы и задней стены дома
Используя несколько проекционных кривых, вырежем отверстие в стене, сквозь которую проходит дымовая труба.
Рис. 6.13. Две линии, созданные на внешней и внутренней стенах с помощью операции пересечения
Упражнение. Усовершенствование формы трубы
Итак, труба готова и даже помещена на предназначенное для нее место. Можно заняться моделированием различных деталей. Для начала создадим кромку вокруг жерла трубы, поместив вокруг него прямоугольник и применяя метод лофтинга для создания поверхностей между двумя кривыми. Эту операцию придется повторить четыре раза. Два квадрата используются для моделирования внешней поверхности кромки, а другие два — для внутренней.
ПРИМЕЧАНИЕ
Подобно NURBS-примитиву Cube (Куб), который состоит из шести плоскостей, NURBS-примитив Square (Квадрат) составлен из четырех кривых. Поэтому, чтобы выделить его целиком, нужно щелкнуть на любой из граней, а затем нажать клавишу t.
Рис. 6.14. Результат создания одной из четырех поверхностей обрамления трубы 6.
Рис. 6.15. Выделение изопараметрических кривых, расположенных на стыке двух поверхностей, которые нужно соединить
Рис. 6.16. Цилиндр был помещен в центр дымового отверстия
ВНИМАНИЕ
Если операция не принесла желаемого результата, это, скорее всего, связано с тем, что два набора выделенных ребер не лежат в одной плоскости. Вам может казаться, что это так, но совпадение должно быть абсолютно точным. Переместите опорную точку цилиндра в его основание, используя режим привязки к кривой (то есть удерживая нажатой клавишу с), и затем переместите управляющий вектор вдоль кривой. Вы убедитесь, что привязка произошла в верном месте, когда увидите, что управляющий вектор перемещается исключительно по нижнему основанию цилиндра. Теперь остается только осуществить привязку основания цилиндра к тому же самому узлу сетки, что и у нижних ребер поверхности, полученной методом лофтинга. Если положение этих ребер не совпадает с узлами сетки, измените их положение.
Рис. 6.17. Контекстное меню, с помощью которого была создана плоская поверхность между основанием цилиндра и нижним краем кромки
ПРИМЕЧАНИЕ
Если вы хотите самостоятельно поэкспериментировать с инструментами, информацию о которых вы получили в этой главе, попытайтесь добавить дополнительные элементы, например создать отделку для стен. Удивительно, как самые простые детали могут значительно усложнить сцену.
Последними деталями, которые нужно добавить к дому, являются дверь и окна. Но перед тем как приступить к моделированию этих объектов, нужно создать для них проемы в стенах.
Упражнение. Создание дверного проема
СОВЕТ
Если у вас возникает впечатление, что в готовой поверхности имеются дыр-ки, выделите ее и увеличьте уровень детализации, нажав клавишу 3.
Упражнение. Создание двери
Теперь пришло время заняться моделированием двери. Проще всего сделать это, взяв за основу NURBS-цримитив Cube (Куб). Затем можно спроецировать на него кривые, подрезать лишние участки поверхности и добавить недостающие детали.
Рис. 6.18. Кривая-профиль, на основе которой будет создана дверная ручка, готова к операции Revolve
Рис. 6.19. Вид дверной ручки в режиме максимальной детализации
Рис. 6.20. Новое положение опорной точки, полученное в результате ее перемещения в режиме привязки к кривой
Итак, дом практически готов, за исключением того, что в нем пока нет окон. Вам предстоит создать оконный переплет, нарисовав кривую-профиль и использовав для формирования поверхности метод лофтинга. После этого моделирование переплета и стекол будет выполняться простым масштабированием кубов.
Рис. б.21. Заготовка для окна, размещенная на одной из сторон дома
Рис. 6.22. Форма-профиль, на основе которой будет создан оконный переплет
Рис. 6.23. Четыре профиля, на основе которых будет создан оконный переплет, расположены в четырех углах квадрата
Рис. 6.24. Поверхность, полученная в результате лофтинга
Рис. 6.40. Окончательный вид дома Подведем итоги
Подробно рассмотрев различные стадии создания дома, вы познакомились с набором достаточно сложных операций. Мы продемонстрировали различные приемы моделирования, от редактирования NURBS-примитивов до получения поверхностей на основе кривых. При этом вы получили представление о редактировании параметров различных инструментов и поэкспериментировали с созданием и редактированием NURBS-поверхностей. В этой главе была дана информация по следующим темам:
В самых первых версиях программы Maya использовалось в основном NURBS-моделирование, которое наилучшим образом подходит для создания множества объектов, благодаря простоте отображения поверхностей и изменения уровня детализации. Однако в некоторых случаях лучше использовать моделирование на основе полигонов. Именно с этим методом вам предстоит познакомиться в следующей главе.
Моделирование на основе полигонов в Maya превосходно подходит для создания объектов органического происхождения, например человеческих фигур или растений. Конечно, получить эти объекты можно и с использованием NURBS-кривых, более того, данный метод является предпочтительным для создания персонажей благодаря возможности выбирать уровень детализации визуализируемой модели. Но из-за таких недостатков неоднородных рациональных сплайнов Безье, как излишнее усложнение модели, создаваемой на их основе, и сложности в ликвидации швов между отдельными фрагментами, приходится прибегать к другому методу. В этой главе мы продемонстрируем способ создания головы персонажа на основе сетки полигонов.
Данная методика моделирования похожа на ваяние скульптуры из глины. Работа начинается с простой формы, из которой постепенно выделяется более сложная. Можно добавлять дополнительные ребра, увеличивая степень детализации поверхности, или же оставлять широкие грани, которые проще состыковывать друг с другом. Кроме того, имеется возможность в любой момент преобразовать поверхность, полученную на основе NURBS-кривых, в сетку полигонов, что часто является оптимальным подходом к моделированию сложных объектов.
Полигоны легко редактируются и привлекательно выглядят. Плюс ко всему, перед визуализацией не требуется рассчитывать форму построенной на их основе модели. Информацию об основных приемах работы с ними вы получите в процессе создания обитателя дома, моделированием которого вы занимались в двух предыдущих главах. Помните, что процесс выполнения каждого из упражнений можно увидеть, загрузив с прилагаемого к книге компакт-диска соответствующий фильм. В этой главе мы рассмотрим следующие темы:
Ключевые термины
Выдавливание (Extrude). Процесс построения трехмерного объекта путем перемещения кривой или грани в пространстве.
Грань/ребро/вершина полигона (Polygon face/edge/vertex). Составные части поверхности полигона. Вершиной называется безразмерная точка в трехмерном пространстве или на плоскости, определяемая координатами X, Y и Z. Ребро — это линия края грани, соединяющая две вершины. Соединение трех ребер друг с другом в замкнутую форму образует грань, то есть область плоскости треугольной формы. Сетчатые оболочки могут насчитывать неограниченное число граней.
Маска выделения (Selection mask). Функция, активизируемая с помощью нажатия правой кнопки мыши над объектом и позволяющая выбирать типы подобъектов для выделения. Для полигонов - это ребра, вершины, грани и точки проекционных координат UV.
Лучше всего для моделирования человеческой фигуры подходит инструмент Subdivision Surfaces (Подразбиваемые поверхности), но он доступен только в более дорогой версии программы Maya Unlimited. Этот инструмент использует сетку с низким разрешением для внесения изменений в сетку с высоким разрешением. Сетка с низким разрешением является грубой аппроксимацией модели, вокруг которой она располагается. В версии Maya Complete есть способ эмуляции работы с этим инструментом. Именно этим методом мы воспользуемся для моделирования монстра. Прежде всего нужно будет ввести в командной строке несколько команд языка MEL или активизировать скрытый сценарий. В процессе выполнения упражнений мы дадим вам пошаговую инструкцию по созданию объекта.
ПРИМЕЧАНИЕ
Если у вас установлена версия программы Maya Unlimited, вы можете использовать инструмент Subdivision Surfaces (Подразбиваемые поверхности) вместо описываемого нами метода эмуляции. Для получения сетки полигонов с низкой плотностью, создаваемой в процессе выполнения упражнений, вам придется перейти в режим работы с полигонами.
Метод эмуляции работы с инструментом Subdivision Surfaces (Подразбиваемые поверхности) детально описан в книге Polygonal Modeling, поставляемой вместе с программным обеспечением Maya. Это можно сделать с помощью языка сценариев MEL. Сценарий создает копию исходного полигонального объекта и затем соединяет данные исходной формы с атрибутом InMesh (Входные данные сетки) копии. Этот атрибут описывает базовую структуру объекта, что позволяет изменять дубликат, в соответствии с изменениями формы оригинала. В упражнении, которое вам предстоит выполнить, происходит соединение атрибута OutMesh (Выходные данные сетки) первого куба с атрибутом InMesh (Входные данные сетки) второго. В результате вы будете работать с простой сеткой, автоматически передавая результаты редактирования на более сложный объект. На первый взгляд, это выглядит довольно сложно, но с нашей пошаговой инструкцией вы убедитесь, что это довольно элегантный метод редактирования полигональных сеток.
Перед тем как приступить к созданию персонажа, предпримем шаги, направленные на упрощение процесса работы. В большинстве своем персонажи симметричны. Но чтобы избежать необходимости вносить изменения в обе половины объекта, стараясь сохранять его симметрию, в Maya существует возможность сделать так, чтобы каждое внесение изменений в форму одной половины объекта автоматически отражалось на форме его второй половины. Этот метод позволяет сэкономить время и добиться совершенной симметрии. Впоследствии можно сделать фигуру слегка асимметричной, чтобы придать ей более натуральный вид. Обычно это делается после окончания редактирования симметричных деталей.
Упражнение. Подготовка к моделированию
Прежде всего вспомним о том, что в начале работы над текущей сценой, в главе 5, мы упростили интерфейс программы, оставив только командную строку и строку подсказки. Если вы пропустили указанные упражнения, нужно будет загрузить пользовательские контекстные меню и клавиатурные комбинации. Начнем работу с пустой сцены. Сделайте на время видимой строку состояния, выбрав в меню оперативного доступа команду Display > UI Elements > Status Line (Отображение > Элементы интерфейса > Строка состояния), и убедитесь, что у вас нажата кнопка Construction History (История создания). В активном состоянии эта кнопка помечена значком свитка. Если она не нажата, свиток перечеркнут красным крестом.
ПРИМЕЧАНИЕ
Существует несколько способов сглаживания полигональной формы. В этом упражнении сглаживание происходит за счет появления новых граней. Второй метод состоит в увеличении числа вершин. При этом не происходит изменения топологии объекта. Данный метод позволяет получить проекционные координаты, с которыми проще всего работать. Кроме того, сгладить форму можно с помощью инструмента Sculpt Polygon Tool (Создание рельефа на полигональной поверхности).
Рис. 7.1. Сглаженный куб, окруженный каркасом, предназначенный для эмуляции инструмента
Рис. 7.2. Установка необходимых параметров в разделе Poly Smooth Face History окна диалога Attribute Editor
ПРИМЕЧАНИЕ
Помните, что быстрее и аккуратнее всего выделить объекты сцены можно в окне диалога Outliner (Структура).
ВНИМАНИЕ
Имейте в виду, что команды языка MEL чувствительны к регистру букв. Даже небольшая опечатка приводит к тому, что команда не выполняется. Если правая сторона командной строки становится красной и в ней появляется слово Error, значит, команда была введена неверно. В этом случае введенный текст не исчезает, что дает возможность исправить ошибку синтаксиса.
Подготовка к моделированию
В большинстве случаев получить представление о внешнем виде модели проще всего в режиме тонированной раскраски. Но это не значит, что в данном режиме процесс моделирования имеет наибольшую эффективность.
ПРИМЕЧАНИЕ
В общем случае принято использовать режим каркасного отображения в ортографических окнах проекции, а режим тонированной раскраски в окнах центральных проекций.
Преимущество метода, которым мы воспользуемся в данной главе, состоит в том, что вам предстоит работать с каркасом, окружающим модель с более высоким разрешением. Простой каркас будет использоваться для создания сложной фигуры путем аккуратного разбиения управляющей сетки на дополнительные грани и перемещения ее вершин.
При моделировании фигуры обычно проще всего работать только с одной ее стороной. По этой причине для куба, на основе которого создается модель, нужно создать зеркальную копию, которая будет автоматически отражать все изменения, вносимые в оригинал.
Упражнение. Создание симметричного объекта
Продолжите выполнение предыдущего упражнения. После перехода в режим тонированной раскраски теряется возможность видеть объект pCube2, так как он расположен внутри объекта pCubel, имеющего видимую поверхность.
Рис. 7.3. Сглаженные кубы в окне диалога Outliner
Рис. 7.4. Связанные атрибуты выделены курсивом
ПРИМЕЧАНИЕ
Проверьте, как работает созданная связь, изменяя топологию объекта Cagel. Выделите объект Cagel и нажмите клавишу F9 для перехода в режим редактирования подобъектов. Теперь перемещение любой из вершин приведет к изменению формы обеих половин сглаженного куба. Используйте клавишу z для возвращения объекта в исходное состояние.
Итак, все готово для начала моделирования монстра. Сохраните сцену под именем SubDemuSetup.
Рис. 7.5. Буква R говорит о том, что объекты данного слоя невозможно выделять и редактировать
Перед началом моделирования головы монстра нужно создать ее предварительный набросок на бумаге. Обычно желательно создать изображения в фас и профиль. В этом случае вам не придется импровизировать, что позволяет сэкономить массу времени.
ПРИМЕЧАНИЕ
Если отсканировать наброски рисунка, их можно использовать в качестве плоскостей изображения, то есть растровых изображений, связанных с ортогональными проекциями. Например, профиль монстра можно связать с окном проекции Side (Вид сбоку).
Перед загрузкой отсканированных изображений монстра (анфас и профиль) нужно убедиться, что они имеют необходимый размер. Проекции Front (Вид спереди) и Side (Вид сбоку) должны быть соразмерны. В этом случае появляется возможность переключаться между этими двумя проекциями и использовать их для моделирования персонажа. Если иметь это в виду при подготовке рисунков, процесс их сканирования упрощается. При наличии сомнений в соответствии размеров можно воспользоваться одним из редакторов графических изображений, например Photoshop. Для этой главы мы поделили изображение на несколько частей: лицо, руки, ноги и туловище. Вам остается только загрузить соответствующие рисунки и смоделировать нужную часть тела.
ВНИМАНИЕ
При сохранении изображения в формате BMP не следует использовать режим сжатия, так как его будет невозможно распознать в Maya.
Упражнение. Загрузка опорных изображений
Продолжите выполнение предыдущего упражнения.
Предварительная подготовка к моделированию монстра закончена.
СОВЕТ
В нижней части окна диалога Attribute Editor (Редактор атрибутов) находится кнопка Copy Tab (Копировать окно), которая отсутствовала в предыдущих версиях программы. Ее нажатие приводит к появлению плавающего окна с параметрами определенного элемента сцены. Соответственно, появилась возможность открыть окно диалога Attribute Editor (Редактор атрибутов) для другого элемента сцены и сравнить параметры.
Рис. 7.6. Редактирование параметров раздела Placement Extras
Работа в режиме эмуляции инструмента Subdivision Surfaces (Подразбиваемые поверхности) не относится к самым сложным приемам моделирования. Достаточно пары инструментов: Split Polygon (Разбиение полигонов) и Extrude Face (Выдавить грань). Процесс создания монстра напоминает лепку скульптур из глины. К фигуре постепенно добавляются отдельные части, и исходный геометрический объект принимает требуемую форму. Если вам сложно визуально представить этапы ее создания, сверяйтесь с рисунками данной главы.
Упражнение. Создание основных блоков
Продолжите выполнение предыдущего упражнения.
ПРИМЕЧАНИЕ
При моделировании персонажей модель получается более аккуратной, если увеличить значение параметра Divisions (Разбиения). Но при этом возникает пара проблем. Во-первых, у компьютера может оказаться недостаточно ресурсов для вычисления формы объектов, что сильно замедлит и затруднит работу со сценой. Во-вторых, плотная сетка, образовавшаяся из-за большого числа разбиений, мешает видеть каркас, редактированием которого вы занимаетесь. Однако в любой момент можно снова уменьшить число разбиений.
Иногда может быть полезным сделать слой, содержащий сглаженный объект, невидимым, потому что иначе интерактивное обновление объекта в процессе его редактирования происходит намного медленнее.
Инструмент Split Polygon
Теперь пришло время более творческой работы. Детальное моделирование лица монстра будет осуществляться с помощью инструмента Split Polygon (Разбиение полигонов), разбивающего каждую грань на заданное количество частей. Этот инструмент дает возможность использовать методику, изначально присущую NURBS-моделированию. Если попытаться создать голову на основе NURBS-кривых, в итоге придется разделить исходную заготовку на множество кривых, чтобы получить возможность моделировать мелкие детали. Но работа с сетками полигонов имеет преимущество, поскольку впоследствии не придется соединять друг с другом отдельные фрагменты поверхностей.
В предыдущих главах, посвященных моделированию на основе NURBS-кривых, большую роль играл режим привязки, благодаря которому оказывалось возможным поместить любую точку точно в предназначенное ей место. При работе с инструментом Split Polygon (Разбиение полигонов) вам также придется использовать привязку к ребрам полигонов. Кроме того, этот инструмент позволяет создавать ряд мишеней привязки (snapping magnets), связанных с числом разбиений ребра. Установив параметр Snapping Magnets (Мишени привязки) равным 2, вы легко разобьете ребро на три равные части, так как две мишени привязки будут размещены вдоль ребра на равных расстояниях от краев и друг от друга. Параметр Snapping Tolerance (Устойчивость привязки) устанавливает вес мишени привязки. Чем выше его значение, тем сильней эффект привязки.
Работу с инструментом Split Polygon (Разбиение полигонов) начнем с моделирования грубого контура головы, постепенно добавляя такие детали, как глаза и рот. Этот метод особенно любят аниматоры, предпочитающие работать в интерактивном режиме, почти как скульптор с глиной. Данный инструмент во многом идентичен инструменту ЕР Curve (Узловые точки кривой), используемому при работе с объектами, построенными на основе NURBS-кривых. Если вы случайно поместите точку не туда, куда нужно, ее можно переместить, нажав клавишу Insert, или удалить, нажав клавишу Backspace.
Упражнение. Формирование головы
Продолжите выполнение предыдущего упражнения.
ВНИМАНИЕ
Перейдите в окно проекции Front (Вид спереди), выберите в меню оперативного доступа команду View > Image Plane > Image Plane Attributes > FrontFace (Вид > Плоскость изображения > Атрибуты плоскости изображения > Front-Face) и укажите правильный маршрут в поле Image Name (Имя изображения). Туже самую операцию нужно повторить с окном проекции Side (Вид сбоку), выбрав вместо имени FrontFace имя FaceProfile.
ВНИМАНИЕ
Помните, что для получения возможности выделения объектов необходимо выйти из режима редактирования подобъектов, нажав клавишу F8.
ПРИМЕЧАНИЕ
Обратите внимание, что нажатие клавиши Enter, завершающее процесс создания новой грани, приводит к автоматическому выходу из режима редактирования подобъектов.
ПРИМЕЧАНИЕ
Как видите, иногда требуется увеличить значение параметра Snapping Magnets (Мишени привязки), чтобы поместить точку в нужное место. К примеру, если величина этого параметра равняется четырем, у вас есть четыре возможные точки привязки. К этому приему часто приходится прибегать для создания областей рта, бровей, подбородка и т. п. Для получения возможности размещения точек привязки в произвольном месте объекта снимите флажок Edge Snapping (Привязка к ребрам) в окне диалога Toot Settings (Параметры инструмента) инструмента Split Polygon (Разбиение полигонов).
ВНИМАНИЕ Сохраняйте основание шеи плоским, избегая перемещения формирующих — его вершин в направлении оси Y. В дальнейшем вам предстоит сформировать тело из шеи с помощью инструмента Extrude (Выдавливание), и если вершины не будут лежать в одной плоскости, то придется менять их положение.
Итак, вы придали голове модели базовую форму. Теперь пришло время заняться формированием более мелких деталей. Основным принципом вашей работы должно быть сохранение простоты модели. Ведь это упростит и ее дальнейшее редактирование.
Рис. 7.7. Создав дополнительные ребра вдоль центральной линии объекта, вы получите возможность сгладить границу слияния двух половин
Одной из наиболее важных задач при моделировании лиц людей является создание глаз. Именно этим вам предстоит заняться в процессе выполнения следующего упражнения. Помните, что именно глаза позволяют выразить эмоциональный настрой персонажа и сделать его живым.
Упражнение. Формирование глазных впадин
Продолжите выполнение предыдущего упражнения. В процессе создания базовой формы головы вы должны были добавить ребра к ее верхней части, как показано на рис. 7.8. Они являются идеальной отправной точкой для формирования линии бровей.
Существует два метода создания глазных впадин. Можно воспользоваться инструментом Bevel (Скос), сэкономив при этом время, или же применить описанный ниже метод, который хотя и является более трудоемким, зато всегда дает хороший результат, так как предоставляет более детальный контроль над происходящим. В этом упражнении вам предстоит расщепить полигон, формирующий линию бровей, для получения возможности создания отверстия.
Рис. 7.8. Выровненные ребра в месте создания глазных впадин
Вы смоделировали базовую форму глазных впадин, но, скорее всего, она не совпадает с тем, что вы ожидали увидеть. Продолжайте перемещать вершины и ребра, чтобы получить требуемый результат. Затем сохраните сцену под именем HeadEye.
Рис. 7.9. Центральная нижняя вершина внешнего кольца была вдавлена вовнутрь, чтобы получить небольшую впадину под глазом
Упражнение. Создание рта
Продолжите выполнение предыдущего упражнения. Для создания ротового отверстия применяется та же методика, что и в предыдущем упражнении. Нужно создать набор граней, которые затем можно удалить. С помощью опорных рисунков в окнах проекции Front (Вид спереди) и Side (Вид сбоку) рту придается нужная форма.
Рис. 7.10. Вид губ после перемещения всех групп ребер
СОВЕТ
Иногда бывает сложно выделить группу вершин с помощью рамки. В этом случае нажмите Ctrl+q, чтобы активизировать инструмент Lasso (Лассо), позволяющий создавать выделяющие области произвольной формы.
Упражнение. Создание носа
Продолжите выполнение предыдущего упражнения. Создание носа — не очень сложная задача. Нужно всего лишь несколько раз выполнить операцию выдавливания и затем переместить некоторые вершины.
Рис. 7.11. Верхняя грань была уменьшена в размере относительно оси Y и слегка вдавлена вовнутрь
Теперь осталось совсем немного, и голова монстра будет полностью готова. Можно найти много областей, в которых желательно еще немного переместить вершины, чтобы добиться более полного сходства модели с первоначальным рисунком. Мы добавили выступающий лоб, как у неандертальца, и слегка расщепили подбородок. Теперь осталось только создать глазные яблоки и совместить их размер с размером глазных впадин. Этим мы и займемся в последнем упражнении данной главы.
Упражнение. Размещение глазных яблок
Продолжите выполнение предыдущего упражнения. В качестве глазного яблока будет выступать обычная сфера. Перемещая ее вершины, вы наилучшим образом приведете ее размер в соответствие с размером глазной впадины.
Рис. 7.12. Размещение глазного яблока
Рис. 7.13. Результат удаления просветов между веками и глазным яблоком
Итак, вы создали голову монстра, добавив к ней необходимые детали. Применяя набор повторяющихся действий к аппроксимирующей сетке полигонов, вы сформировали черты лица персонажа. Как несложно догадаться, остальные части тела создаются аналогичным образом: комбинируя создание новых граней, выдавливание и перемещение управляющих вершин. Кроме того, можно произвольно менять уровень детализации объекта, увеличивая или уменьшая число полигонов, составляющих сетку. Для анимации персонажа число разбиений можно сделать равным 1 или даже 0, чтобы уменьшить время отклика программы на ваши действия. Затем можно сделать число разбиений равным 2 или более и получить идеально сглаженную поверхность модели.
После моделирования тела, рук и ног вам останется только соединить две половины вместе, чтобы получить готового монстра, показанного на рис. 7.14. Затем попробуйте самостоятельно создать модель какого-нибудь другого персонажа, используя свои собственные рисунки.
Рис. 7.14. Окончательный вид монстра
В этой главе вы познакомились с одним из основных способов моделирования на основе сетки полигонов — с эмуляцией работы инструмента Subdivision Surfaces (Подразбиваемые поверхности). Используя продемонстрированные методы, вы теперь сможете самостоятельно создавать органические объекты разного рода. Особое внимание мы уделили следующим темам:
Итак, вы познакомились с обоими способами моделирования в Maya — моделированием на основе NURBS-кривых и на основе полигонов — и научились пользе-ваться различными инструментами. К этому моменту вы, скорее всего, уже начали представлять себе масштаб потенциальных возможностей Maya. В следующих главах мы еще не раз вернемся к сцене с домиком монстра, чтобы продемонстрировать способы применения материалов, освещения сцены, анимации и визуализации полученного результата. Ведь моделирование — это только первый шаг!
Чтобы придать объектам более реалистичный вид, нужно назначить им материалы. Эта глава посвящена именно вопросам их создания и применения. Оценка возможных вариантов материалов в Maya является увлекательным занятием. Какой вариант предпочтительнее выбрать для конкретной модели — хромовый окрас с красной окантовкой или пурпурный пластик? Имитация любых поверхностей в Maya легко выполняется с помощью окна диалога Hypershade (Редактор узлов). Если материал не подходит, можно его отредактировать, снова назначить объекту и визуализировать полученный результат. В этой главе вы познакомитесь с основами создания материалов и узнаете, как сделать их более сложными с помощью карт текстур. Мы рассмотрим следующие темы:
Ключевые термины
Материалы (Materials). Определенный набор характеристик, присваиваемый поверхности геометрической модели для придания ей сходства с поверхностью реального объекта.
Раскраска (Shader). Имитация свойств материала, различающаяся по способу отображения зеркальных бликов.
Редактор узлов (Hypershade). Редактор материалов в Maya.
Карта текстуры (Texture map). Двумерный рисунок, назначаемый плоской поверхности. Обычно это растровое изображение, например снимок волокон древесины, которое может повторяться требуемое количество раз.
Проекционные координаты (UV coordinates). Система координат поверхности трехмерного объекта, необходимая для корректного размещения на ней текстуры. Объекты могут иметь несколько наборов проекционных координат.
Карты текстуры внешней среды (Environmental textures). Карты текстуры, учитываемые при формировании цвета зеркального отражения и цвета прозрачности.
Объемный материал (Volumetric material). Тип материала, применяемый для имитации таких объектов, как пар, дым, пыль или облака.
Процедурные текстуры (Procedural textures). Двумерные или трехмерные текстуры, создаваемые на основе математических формул.
Карта рельефа (Bump map). Применение карты текстуры для придания поверхности объекта видимости трехмерных неровностей.
Раскраска по Фонгу (Phong shader). Тип раскраски с большими и яркими зеркальными
бликами.
Раскраска по Ламберту (Lambert shader). Тип раскраски без зеркальных бликов.
Раскраска по Блинну (Btinn shader). Тип раскраски с более округлыми и менее яркими зеркальными бликами, чем при раскраске по Фонгу.
Анизотропная раскраска (Anisotropic shader). Тип раскраски с несимметричными бликами на поверхности материалов.
Просвечивание (Translucency). Параметр, позволяющий имитировать свет, просвечивающий сквозь материал.
Прозрачность (Transparency). Параметр, определяющий способность видеть сквозь материалы. Используется, к примеру, для имитации стекла.
Зеркальные блики (Specular highlights). Группа параметров, отвечающих за характеристики бликов на поверхности материала.
Самосвечение (Self-Illumination). Чувствительность материала к свету. Если значение данного параметра равно 100, цвет диффузного рассеяния полностью заменяет собой цвет подсветки. Такой материал применяется, например, для моделирования огней неоновой рекламы.
Начинающие аниматоры часто не уделяют должного внимания назначению материалов и освещению сцены. «Добавим несколько источников света, сделаем этот объект красным, а этот — синим, и все готово». В результате обычно получается высветленная, плоская сцена. Большинство предубеждений, связанных с компьютерной анимацией, высказываемых представителями традиционных видов искусства, связано именно с демонстрацией простейших визуализаций, подчеркивающих ограничения данного метода. Однако с помощью Maya можно создавать и настоящие произведения искусства. Правда создание сложной раскраски требует больших временных затрат. Художники, занимающиеся компьютерной графикой, тратят на освещение и создание материалов столько же времени, сколько на моделирование объектов сцены.
Без материалов невозможно создать реалистичное изображение. Имейте в виду, что их внешний вид зависит от освещения, поэтому, если, к примеру, сцена осве-щена очень ярко, имеет смысл сделать материалы более темными. Обычно работа над материалами и освещением происходит одновременно, а результаты редакти-рования проверяются многочисленными визуализациями. Умение компенсировать ограничения виртуальных источников света и создать хорошо освещенную сцену является искусством, детали которого мы будет обсуждать в следующей главе. А здесь мы сосредоточимся на обсуждении свойств материалов.
Что мы подразумеваем под этим термином? Это универсальное понятие, описывающее все характеристики вида поверхности. Начинающие пользователи обычно сначала замечают только цвет поверхности — красный или цвета древесины или металлический серебряный. Опытный аниматор замечает, однако, и другие (рак-торы. Для него существует не просто металлический серебряный цвет, а гладкая полированная поверхность, отражающая окружающие объекты. Кроме таких факторов, как цвет, блеск и отражающая способность, в Maya рассматриваются также прозрачность, просвечивание, преломляющая способность, рельефность и множество других параметров, настраиваемых пользователями. Внимание ко всем этим деталям позволяет создать действительно впечатляющую анимацию.
Как и в большинстве программ для создания трехмерной анимации, в Maya имеется редактор материалов, называемый Hypershade (Редактор узлов), который позволяет просматривать образцы материалов в процессе их редактирования. После того как вы оцените вид материала в ячейке образца, имеет смысл воспользоваться интерактивной фотореалистичной визуализацией для более точной настройки. В окне Hypershade (Редактор узлов) используется свободный подход к разработке материалов. Создание определенных эффектов происходит за счет соединения ячеек образцов друг с другом. Например, изображение кирпичной стены получается путем связывания атрибута Bump (Рельеф) с рисунком кирпичей. Редактор узлов также используется в качестве окна просмотра, в котором можно выделять имеющиеся в сцене источники света, камеры, материалы и другие элементы. Для открытия этого окна диалога используйте команду Window > Rendering Editors > Hypershade (Окно > Редакторы визуализации > Редактор узлов) или комбинацию клавиш Shift+t. Появляющееся в результате окно диалога разделено на три части, как показано на рис. 8.1. Вертикальная полоса слева носит название области создания узлов, а два окна, расположенные в рабочей области справа, называются просто верхней и нижней вкладками.
Рис. 8.1. Окно диалога Hypershade
Область создания узлов
В области создания узлов показаны все типы объектов выбранной категории, которые вы можете создать. Достаточно выделить в списке нужный образец, и он появится в рабочей области. Щелчок на кнопке со стрелкой вниз, расположенной в верхней части области создания узлов, приводит к появлению контекстного меню выбора категории объектов, содержащего пять команд: Create Materials (Создание материалов), Create Textures (Создание текстур), Create Lights (Создание источников света), Create Utilities (Создание служебных элементов) и Create All Nodes (Создание узлов всех типов). Для упражнений данной главы наилучшим образом подходит последний из упомянутых вариантов. Скрыть область создания узлов можно нажатием крайней левой кнопки панели инструментов окна Hypershade (Редакторузлов).
Вкладки рабочей области
Рабочая область может содержать практически любое окно. В данном разделе будет описан ее вид но умолчанию, при котором вкладки верхнего окна используется для показа существующих материалов, а вкладки нижнего — для их создания и редактирования. Освоив работу с окном диалога Hypershade (Редактор узлов), вы сможете настраивать окна рабочей области нужным вам образом и даже создавать дополнительные вкладки, что позволит одновременно редактировать несколько материалов.
Вкладки верхнего окна
Верхнее окно содержит элементы, которые уже являются частью текущей сцены. Оно разделено на шесть вкладок, по типам элементов: Materials (Материалы), Textures (Текстуры) (которые являются частью существующих материалов), Utilities (Служебные элементы), Cameras (Камеры) и Projects (Проекты) (для просмотра папки проекта в поисках остальных файлов). В этой области можно выделить любой созданный ранее элемент сцены, для того чтобы:
Во всех перечисленных случаях двойной щелчок на образце элемента приводит к открытию окна диалога Attribute Editor (Редактор атрибутов).
Вкладки нижнего окна
Нижнее окно по умолчанию открыто на вкладке Work Area (Рабочая область), в которой производится создание новых материалов. В момент создания сцены в верхнем окне практически нет элементов. Следовательно, первое, что вам нужно сделать после открытия окна диалога Hypershade (Редактор узлов), поместить новый материал в рабочую область и назначить его объекту сцены. Затем перейдите на вкладку Shader Library (Библиотека материалов) и выберите подходящий вариант раскраски. Позже в этой главе мы объясним, как создать дополнительные вкладки и как поместить созданный вами материал в библиотеку.
Основные типы раскрасок показаны на рис. 8.2 и описаны ниже.
Раскраска по Ламберту
Раскраска по Ламберту является основой плоского гладкого материала без зеркальных бликов. При ее вычислении в расчет не принимаются отражающие свойства, благодаря которым поверхность принимает матовый вид. Раскраска по Ламберту используется для имитации таких материалов, как керамика, мел, матовые краски и т. п. По умолчанию любой созданный объект имеет раскраску по Ламберту. Но если материал объекта предполагает наличие зеркальных бликов, то имеет смысл выбрать другую раскраску. Обычно желательно наблюдать блики даже в процессе моделирования объекта, так как это помогает обнаружить разрывы на поверхности модели.
Рис. 8.2. В общем случае раскраска PhongE имеет более мягкие блики, чем раскраска Phong. То же самое можно сказать о раскрасках BlinnE и Blinn
Раскраска по Фонгу
При раскраске по Фонгу принимаются в расчет кривизна поверхности, количество падающего на поверхность света и ориентация камеры. В результате получаются резкие блики, характерные для полированных поверхностей, таких как пластмасса, фарфор и покрытая глазурью керамика.
ПРИМЕЧАНИЕ
Если в процессе анимации окажется, что блики мерцают, поменяйте раскраску по Фонгу на раскраску по Блинну, придав бликам более мягкую форму. Эта проблема обостряется при использовании карт рельефа.
Расширенная раскраска по Фонгу
Существует еще одна версия раскраски по Фонгу с более мягкими бликами. При этом визуализация объекта, которому назначен материал с этим типом раскраски, происходит быстрее, чем обычно. Большинство аниматоров используют обычную раскраску по Фонгу для получения интенсивных бликов и раскраску по Блинну в остальных случаях.
Раскраска по Блинну
В случае выбора данного типа раскраски блики на поверхности материала выглядят более округлыми и не столь неестественно большими и яркими, как при раскраске по Фонгу. Этот тип раскраски используется для имитации металлических поверхностей с мягкими бликами, таких как медь или алюминий. Так как материалы, получаемые на основе этой раскраски, универсальны и не приводят к появлению мерцания при работе с картами рельефа, именно они будут использоваться в упражнениях этой главы.
Анизотропная раскраска
Этот метод раскраски позволяет имитировать несимметричные блики на поверхности материалов и управлять ориентацией этих бликов. Объекты с множеством параллельных микрожелобков, например полированный металл, отражают свет в зависимости от направления этих желобков по отношению к наблюдателю. Анизотропная раскраска идеально подходит для имитации таких материалов, как волосы, перья, полированный металл и атласная ткань.
Другие варианты
Четыре оставшихся типа материалов используются в более сложных случаях, которые мы перечислим в этом разделе. Многослойная раскраска (layered shader) позволяет скомбинировать несколько материалов в один. Например, если нужно получить хромовые пятна на деревянной поверхности, используйте карту-маску для хромовых пятен.
Карта затенения (shading map) является цветовой картой, назначаемой поверхностям после их визуализации, например для создания эффекта мультфильма и других не-фотореалистичных эффектов.
Раскраска поверхности (surface shader) используется для настройки цвета материала, его прозрачности и эффекта сияния. Этот тип раскраски можно связать с положением объекта, и в результате материал будет менять цвет при движении объекта.
Тип раскраски Use Background (Использовать фон) вырезает «дыру» в альфа-канале изображения в местах, где появляется объект с материалом данного типа. Этот прием используется при создании комбинированной анимации из отдельных визуализированных изображений с помощью специальных программ, информацию о которых можно найти в главе 14. Аниматоры обычно применяют подобные приемы для разделения сложных сцен на более простые, а также для комбинирования трехмерной анимации с обычным кинофильмом.
После обзора основных типов раскраски пришла пора поговорить об их параметрах. В большинстве своем они однотипны для различных раскрасок, поэтому имеет смысл подробно рассмотреть только параметры раскраски по Блинну. Для получения доступа к редактированию параметров материала дважды щелкните на любом из образцов материала в окне диалога Hypershade (Редактор узлов). Обычно сначала создается базовый вариант раскраски по Блинну, а затем двойным щелчком открывается окно диалога Attribute Editor (Редактор атрибутов), показанное на рис. 8.3. Обратите внимание на системное имя материала в верхней части окна диалога Attribute Editor (Редактор атрибутов). При создании еще одного материала с использованием этого же типа раскраски программа присвоит ему такое же имя, увеличив цифру на конце на единицу. Имеет смысл менять системные имена на более значимые.
Рис. 8.З. Окно диалога Attribute Editor с основными параметрами раскраски по Блинну
Изображение рядом с надписью Material Sample (Образец материала) представляет собой сферу, которой присвоен созданный материал. Ее вид меняется в процессе редактирования атрибутов этого материала. Раскрывающийся список Туре (Тип) используется для изменения типа материала. Но имейте в виду, что если набор параметров при этом меняется, они автоматически принимают значения, заданные по умолчанию, а присвоенное имя сменяется системным.
Ниже находятся разделы Common Material Attributes (Общие параметры материала) и Specular Shading (Параметры зеркальных бликов). Так как их параметры чаще всего меняют при редактировании материалов, эти разделы по умолчанию развернуты, в отличие от остальных разделов окна диалога Attribute Editor (Редактор атрибутов).
Обратите внимание, что для изменения значений первых пяти переменных раздела Common Material Attributes (Общие параметры материала) используются поле образца цвета, ползунок и кнопка. Перемещая ползунок, можно сделать материал более светлым или более темным. Для изменения цвета материала следует открыть окно диалога Color Chooser (Выбор цвета), щелкнув на поле образца цвета. Если же требуется заменить цвет текстурой, щелкните на кнопке. Перечислим параметры раскраски по Блинну, содержащиеся в разделах Common Material Attributes (Общие параметры материала) и Specular Shading (Параметры зеркальных бликов).
Рассмотрим на примерах разницу между некоторыми из перечисленных параметров. На рис. 8.4 у материала, назначенного расположенной слева плоскости, увеличен параметр Transparency (Прозрачность), благодаря чему можно видеть расположенный позади этой плоскости предмет. Материал, назначенный плоскости, расположенной слева, имеет повышенное значение параметра Translucence (Просвечивание), что приводит к появлению на ее поверхности тени от расположенного позади объекта.
Рис. 8.4. Сравнение материалов с повышенным значением параметров Transparency и Translucency
Материалы, назначенные объектам, имеют значение параметра Reflectivity (Отражательная способность), равное 1 (то есть отражательная способность равна 100 %), но затем с помощью различных методов были получены дополнительные эффекты. Атрибут Reflected Color (Цвет отраженного света) материала крайней слева сферы не имеет назначенной карты текстуры, в то время как у материала сферы, расположенной чуть правее, этому атрибуту назначена карта Env Chrome (Хромовое зеркало), благодаря чему создается впечатление наличия рисунка на поверхности объекта. Материал третьей слева сферы получен включением эффекта трассирования, поэтому на ее поверхности отражаются предметы окружающей обстановки. Разумеется, при этом атрибут Reflected Color (Цвет отраженного света) не вносит никакого вклада в вид материала. Материал крайней правой сферы получен сочетанием эффекта трассирования и назначения карты текстуры атрибуту Reflected Color (Цвет отраженного света). В результате получается практически зеркальная поверхность, в которой отражаются предметы, расположенные рядом со сферой.
Окно диалога Color Chooser
Окно диалога Color Chooser (Выбор цвета) появляется всякий раз при щелчке на поле образца цвета. В верхней части этого окна расположена панель с 14 кнопками. Нажатие кнопки приводит к выделению соответствующего цвета. Если щелкнуть на ней правой кнопкой мыши, кнопка приобретет цвет, выбранный в данный момент. После нажатия кнопки со значком пипетки указатель мыши меняет свою форму. Если теперь щелкнуть на образце цвета в любом из окон программы Maya, окажется выделенным именно этот цвет. Ниже, в разделе Wheel (Палитра) находится цветовой спектр, показанный на рис. 8.5. Расположенные снизу ползунки настройки компонентов цветовой модели можно использовать в двух режимах — RGB (Red (Красный), Green (Зеленый) и Blue (Синий)) и HSV (Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность)). Выбор режима осуществляется с помощью раскрывающегося списка, расположенного в нижней части раздела Sliders (Ползунки). Причем второй из них используется чаще. Используйте ползунок Hue (Цветовой тон) для выбора цвета, затем с помощью ползунка Saturation (Насыщенность) выберите насыщенность цвета по сравнению с серым. Наконец, настройте яркость цвета ползунком Value (Интенсивность). В самом низу данного раздела находится ползунок, регулирующий прозрачность, но он используется довольно редко.
Рис. 8.5 Вид окна диалога Color Chooser в режиме HSV
Упражнение. Создание стандартных материалов
Стандартные материалы имеют однородный цвет по всей поверхности объекта. В этом упражнении мы используем окно диалога Hypershade (Редактор узлов) для создания таких материалов и назначим их объектам.
Керамика
Назначим горшку материал, имитирующий керамику, созданный на основе раскраски по Ламберту.
Пластмасса
Для имитации пластмассы используется материал на основе раскраски по Блинну, с яркими бликами.
Металл
Создание металла требует небольшой хитрости. Ползунки окна диалога Attribute Editor (Редактор атрибутов) имеют верхний и нижний пределы, в которые не всегда попадают нужные вам значения. В большинстве случаев такое значение можно ввести в текстовое поле, расположенное рядом с ползунком. Иногда этот способ позволяет получить впечатляющие результаты.
Отражающий материал, полученный методом трассирования
Полученный материал gold достаточно убедительно имитирует вид золота, но что нужно сделать, чтобы поверхность материала отражала окружающие предметы? Для этого используется ползунок Reflectivity (Отражательная способность) в окне диалога Attribute Editor (Редактор атрибутов), но вы не увидите никаких результатов, пока не включите механизм трассировки лучей или не назначите карту текстуры атрибуту Reflected Color (Цвет отраженного света).
Рис. 8.6. Выбор цвета при имитации золота
Рис. 8.7. Щелчок на этой кнопке открывает окно диалога Render Globals
ПРИМЕЧАНИЕ
Помните, что можно менять масштаб и осуществлять панорамирование визуализированного изображения, а также любого из окон рабочей области в окне
диалога Hypershade (Редактор узлов).
Преломляющий материал, полученный методом трассирования
Также имеется возможность создания прозрачных материалов, преломляющих свет. При прохождении сквозь такой материал лучи света будут отклоняться.
Дублирование материалов
Существует возможность создания нового материала на основе уже существующего. Этот процесс начинается с дублирования материалов.
Рис. 8.8. Изменение качества итогового изображения в окне диалога Render Globals
В результате выполнения упражнений в главах 5 и 6 был создан дом. Теперь вам предстоит сделать его изображение более реалистичным с помощью материалов.
Настройка источников света
Перед тем как приступить к созданию текстур, нужно добавить в сцену некоторое количество источников света, чтобы в процессе тестовой визуализации дом был освещен со всех сторон. Для облегчения процесса создания источников света мы предлагаем вам сценарий на языке MEL, результатом выполнения которого будет появление в сцене трех прожекторов.
Упражнение. Материалы для дома
ПРИМЕЧАНИЕ
При использовании дефиса в именах объектов программа автоматически преобразует его в знак подчеркивания.
Рис. 8.12. Окно каналов является альтернативным инструментом для редактирования параметров материала
Упражнение. Создание дополнительных материалов
До этого момента созданный материал тут же назначался объекту сцены. В этом разделе мы продемонстрируем другой способ работы с материалами. Вам предстоит назначить материалы следующим частям дома:
Так как на данном этапе вы будете заниматься исключительно созданием материалов, остальные окна проекции пока не нужны. Щелкните на окне Hypershade (Редактор узлов) и нажмите клавишу Пробел, чтобы развернуть его на весь экран. Увеличение рабочего пространства увеличит продуктивность вашей работы.
Вы можете продолжить редактирование сцены, полученной в процессе выполнения предьщущего упражнения.
ПРИМЕЧАНИЕ
Для получения дополнительного рабочего пространства можно скрыть элементы пользовательского интерфейса, воспользовавшись командой Display > Ш Elements > Hide UI Elements (Отображение > Элементы интерфейса > Скрыть элементы интерфейса). В результате исчезнут все элементы от строки состояния до строки подсказки. Восстановить элементы интерфейса можно, выбрав в том же самом меню команду Restore UI Elements (Восстановить элементы интерфейса).
Рис. 8.10. Набор материалов, созданных для объектов сцены в рабочей области окна Hypershade
Рис. 8.11. Используя окна проекции Perspective, Outliner и Hypershade, можно легко назначить созданные материалы объектам сцены
Следующим шагом в работе над сценой будет замена созданных базовых материалов текстурами. Обычно этот термин относится к двумерным изображениям, воспроизводящим рисунок той или иной поверхности, обернутой вокруг трехмерного объекта. Их проекция на поверхность может осуществляться различными способами.
Проекционные координаты
Проекционные координаты, которые иногда также называют UV-координатами, указывают способ размещения двумерного рисунка на поверхности модели, причем способ зависит от того, создана ли модель на основе NURBS-кривых или же на основе полигонов. В первом случае модель снабжена встроенной системой проекционных координат. Так как NURBS-поверхности по определению являются параметрическими, карта текстуры автоматически следует всем изгибам этой поверхности. Впрочем, даже в этом случае существует возможность редактирования проекционных координат, что позволяет изменить положение и ориентацию текстуры на поверхности объекта.
Для полигональных поверхностей обычно используются проекционные координаты нескольких типов: Planar (Плоские), Cylindrical (Цилиндрические), Spherical (Сферические). Кроме того, используется особый метод, называемый автоматическим проецированием. Как можно ожидать, применение проекционных координат типа Planar (Плоские) приводит к размыванию рисунка в областях, перпендикулярных направлению проецирования. Создается впечатление, что решить проблему можно с помощью цилиндрических и сферических проекционных координат. Но они имеют точки сингулярности, расположенные на полюсах сферы и цилиндра, в которых карта текстуры сходится в одну точку.
В общем случае желательно выбирать проекционные координаты, максимально совпадающие с формой поверхности. Кроме того, в процессе анимации можно скрыть область сингулярности. В самых сложных случаях проблема решается путем использования различных наборов проекционных координат и тщательного редактирования положения текстуры на поверхности.
Интерактивное размещение текстуры
Проще всего редактировать положение текстуры непосредственно на поверхности объекта. Поэтому в Maya существует возможность интерактивного размещения текстуры. Благодаря этой функции можно наблюдать, как выглядит рисунок по мере перемещения, поворота и масштабирования управляющих векторов положения текстуры. Осуществить интерактивное размещение текстуры можно только в случае, если хотя бы для одного из окон проекции включено аппаратное размещение текстур. Выберите в меню оперативного доступа команду Shading > Hardware Texturing (Затенение > Аппаратное наложение текстур) или нажмите клавишу 6. Эта даст вам возможность увидеть результат назначения карты текстуры непосредственно в окне проекции.
Процедурные карты текстур
Кроме текстур, полученных путем сканирования фотографий реальных объектов, существуют процедурные карты текстур (procedural textures), генерируемые математически. Многие материалы, например кирпич, черепица или градиентная заливка, имеют повторяющуюся структуру, которая легко может быть представлена уравнением. Также математически можно имитировать мрамор, кожу, воду, гранит и многие другие сложные материалы с непериодической структурой. Процедурные текстуры в Maya представлены в двух вариациях — двумерные и трехмерные. Двумерные карты текстур можно представить как созданные на основе математических формул растровые изображения. Однако сформированное двумерное изображение обычно проецируется на поверхность трехмерного объекта. Соответственно, в этом случае приходится иметь дело со всеми проблемами, возникающими при использовании обычных текстур. Рисунок трехмерных карт текстур меняется в пространстве, и вы видите изображение, образующееся при пересечении текстуры с поверхностью объекта. Это похоже на вырезание фигуры из блока мрамора. Поэтому при работе с процедурными картами не требуются проекционные координаты. Но если к объекту применены деформации, создается впечатление, что карта текстуры соскальзывает с поверхности объекта. Для исправления ситуации в этом случае в Maya используется дополнительная функция Texture Reference Object (Ссылочный объект для текстуры). Она позволяет деформировать текстуры вместе с поверхностью.
Процедурные карты текстур имеют ряд преимуществ. Так как они создаются на основе математических формул, редактированием их параметров можно создавать различные эффекты. Благодаря возможности генерации случайного шумового процесса создаются материалы с рисунком в виде областей случайной формы и яркости. Кроме того, поскольку текстурные карты существуют во всех точках трехмерного пространства, их можно использовать для формирования материалов сложных объектов, подбор проекционных координат для которых является весьма трудоемкой задачей.
Двумерные карты текстур
Двумерные процедурные карты текстур в Maya делятся на две категории: карты с повторяющимся рисунком и карты со случайным рисунком. К первым относятся Grid (Решетка), Checker (Шахматное поле), Bulge (Выпуклости), Cloth (Ткань) и Ramp (Линейный градиент). С помощью этих карт можно создать рисунок кирпичной стены, черепицы и других материалов с периодической структурой, созданных руками человека. В число карт со случайным рисунком входят Fractal (Фрактал), Mountain (Горы), Noise (Шум) и Water (Вода). На основе этих псевдослучайных текстур удобно создавать имитацию природных поверхностей.
Трехмерные карты текстур
Все трехмерные процедурные карты текстур, кроме карты Snow (Снег), относятся к картам со случайным рисунком. Некоторые из них, например Wood (Дерево) или Marble (Мрамор), идеально имитируют природные материалы. Даже при моделировании объектов, созданных руками человека, не обойтись без этих карт. Имитация мозаики, ковровых покрытий или картины, нарисованной кистью на стене, происходит на основе именно трехмерных карт текстур.
Упражнение. Назначение текстур
Это упражнение посвящено назначению некоторым характеристикам материалов карт текстур и редактированию положения этих карт на поверхности объекта. Вы можете продолжить работу над сценой, полученной в результате выполнения первого упражнения данной главы.
Рис. 8.12. Окно диалога Create Render Node содержит все возможные типы карт текстур
Рис. 8.13. Раздел Checker Attribute в окне диалога Attribute Editor
ПРИМЕЧАНИЕ
Чтобы после назначения текстуры вернуться к исходному узлу, нажмите кнопку с указывающей вправо стрелкой, расположенную справа от названия материала в верхней части окна диалога Attribute Editor (Редактор атрибутов). Для отмены назначения текстуры характеристике материала щелкните на имени этой характеристики правой кнопкой мыши и выберите в появившемся контекстном меню команду Break Connection (Разорвать связь).
Рис. 8.14. Управляющие векторы плоских проекционных координат были слегка отодвинуты от объекта для большей наглядности. Чтобы сделать их видимыми, нужно щелкнуть на красной букве L, расположенной в углу манипулятора
Рис. 8.15. Результат визуализации сцены после редактирования положения карты текстуры на поверхности объекта Shield. Обратите внимание, что в режиме тонированной раскраски стеклянное кольцо стало невидимым
СОВЕТ
Если нужно вернуть управляющие векторы, отвечающие за положение текстуры, выделите объект, откройте окно каналов, нажав комбинацию клавиш Shift+C, и щелкните на строчке polyPlanarProj. Если в результате управляющие векторы не появились, выберите в меню оперативного доступа команду Display > UI Elements > Tool Box (Отображение > Элементы интерфейса > Панель инструментов), нажмите шестую сверху кнопку Show Manipulator (Отображение манипулятора) и повторите щелчок на названии polyPlanarProj.
Теперь вы уже имеете представление о способе назначения текстур и их размещения на поверхностях объектов. В следующем упражнении вам предстоит использовать свои знания для назначения текстур базовым материалам, созданным для различных элементов дома.
Упражнение. Назначение текстур дверной ручке, стенам и окнам
Использование одноцветного материала для дверных ручек, к сожалению, не дает нужного эффекта. Ранее мы уже упоминали, что, назначив карту текстуры характеристике материала Diffuse (Цвет диффузного рассеяния), можно придать объекту изношенный вид. Именно это нужно проделать с материалом дверной ручки.
Рис. 8.16. Ввод параметров фрактала в окне диалога Attribute Editor
Рис. 8.17. Ввод параметров текстуры Noise в окне диалога Attribute Editor
Рис. 8.18. Параметры текстуры Noise, назначенной характеристике Color материала Walls_Blinn
Рис. 8.19. Параметры текстуры Mountain, назначенной характериаике Diffuse материала Walls_Blinn
Рис. 8.20. Окно диалога Create New Tab
Рис. 8.21. Результат связывания текстуры cobblestone.tif с узлом File
Рис. 8.22. Назначив цвету диффузного рассеяния карту текстуры Noise, вы сделаете булыжники, формирующие фундамент дома, грязными
Рис. 8.23. Изменение направления поверхности решит проблему с неправильным положением текстуры
Рис. 8.24. Настройка параметров карты текстуры Ramp
Теперь вы можете продолжить работу над сценой самостоятельно, назначив по своему усмотрению текстуры остальным материалам. В следующем разделе мы поговорим о другом важном атрибуте материалов — карте рельефа.
Назначение карты рельефа поверхности объекта создает иллюзию наличия трехмерных неровностей, не меняя при этом его фактической геометрии. Кажущаяся рельефность настраивается при помощи изменения яркости отсчетов текстурной карты. Именно поэтому карты рельефа обычно являются изображениями в оттенках серого. Серый цвет рассматривается, как плоская поверхность, более светлые области выступают над ней, а более темные — формируют впадины. В областях изменения яркости и происходит формирование иллюзии рельефа. Так как отсутствие реального рельефа можно заметить при взгляде на поверхность сбоку, формирование его с помощью карт используется только при работе с небольшими деталями. К примеру, вполне допустимо применить карту рельефа для имитации пор на коже носа, но никто не станет назначать ее для имитации носа. Тем не менее с помощью карт рельефа можно успешно формировать различные поверхности — ткани, волокна древесины, дефекты металла и пр. — при условии, что камера не подносится к ним слишком близко.
Координирование текстуры с картой рельефа
При искусном сочетании карт текстуры и рельефа можно получить потрясающую детализацию поверхности, даже на примере простой модели. Художники часто создают такие карты в программах для рисования и аккуратно совмещают расположение рельефных областей карты, выполненной в оттенках серого, с соответствующими цветными областями карты текстуры. Как уже говорилось, в Maya рельеф формируется на основе яркости отсчетов текстурной карты. При этом желательно, чтобы изображение было не очень контрастным, но отчетливо наблюдались переходы между белым и черным цветами.
Упражнение. Назначение карты рельефа
В этом упражнении вам предстоит назначить эффект случайных пятен характеристике Bump Mapping (Карта рельефа) материала, используемого для имитации глины. Это придаст цветочному горшку более естественный вид.
Упражнение. Использование карт рельефа для материалов, назначенных частям дома
Применение карт рельефа в материалах, назначенных различным элементам дома, требует намного больших усилий. В этом упражнении мы на примере трех материалов дадим вам представление о том, как это можно сделать Итак вам предстоит изменить вид трубы, фундамента и внешних стен. 1. Продолжите редактирование созданной вами сцены с домом или загрузите файл ch08tutOSend.mb. Так как карты рельефа определяются яркостью изображения в оттенках серого, иногда имеет смысл взять рисунок текстуры и преобразовать его, как показано на рис. 8.25. После того как вы получили карту рельефа, остается только совместить ее с изображением текстуры, назначенной объекту.
Рис. 8.25. Карты рельефа, показанные снизу, были получены преобразованием исходных текстур в изображения в оттенках серого
Рис. 8.26. Дверь до и после назначения карты рельефа
Для закрепления знаний о приемах работы с материалами и картами текстур попробуйте самостоятельно отредактировать материалы, назначенные остальным частям дома, используя приемы от проецирования текстур на поверхность до применения трехмерных процедурных карт. Также вы можете добавить некоторые предметы, разместив их внутри дома, например, смоделировать журнальный столик, лампу и кресло. Впрочем, можно просто импортировать все эти объекты из соответствующего файла.
Чтобы импортировать сцену, щелкните на квадратике, расположенном справа от команды Import (Импорт) меню File (Файл). Выберите в меню Edit (Правка) окна диалога команду Reset Settings (Сбросить настройки) и нажмите кнопку Import (Импортировать). Выберите в появившемся окне диалога файл chOSimportObjects.mb и еще раз нажмите кнопку Import (Импортировать). Появятся объекты, которым назначен фоновый материал.
Возможно, вам придется изменить положение некоторых объектов. На рис. 8.28 показана сцена, полученная в результате импортирования объектов.
Рис. 8.27. С помощью карты рельефа изображение фундамента удалось сделать на редкость детализированным
Рис. 8.28. Результат импорта объектов
Для просмотра и визуализации законченной версии дома загрузите файл ch0SHouseComplete.mb.
В процессе выполнения упражнений данной главы вы смогли открыть для себя мир материалов. Он может показаться неохватным, но не стоит впадать в уныние! Полное понимание взаимодействия отдельных узлов друг с другом и того, как редактирование определенных параметров изменяет вид материала, приходит со временем и опытом. Мы предоставили вам основные сведения о материалах и текстурах, которые можно использовать в качестве отправной точки для самостоятельного исследования. В этой главе вы познакомились со следующими темами и понятиями:
Фотографы знают, что красивое изображение получается во многом благодаря удачному выбору освещения. К сожалению, в компьютерной графике аниматоры часто не уделяют этому аспекту необходимого внимания. А ведь для получения хорошего результата обычно необходима довольно сложная настройка системы освещения. Грамотная расстановка источников света является целым искусством, которое приходится осваивать фотографам, кинематографистам, дизайнерам интерьеров и осветителям сцены. В Maya используются примерно те же методы, но в несколько усложненном варианте, так как виртуальные источники света все-таки отличаются от реальных. Например, лучи света от такого источника могут проходить сквозь какой-нибудь объект, освещая расположенные за ним объекты, которые при нормальном положении дел остались бы в тени. Кроме того, в компьютерной графике объекты не рассеивают падающий на них свет, поэтому освещенными оказываются только области, непосредственно расположенные на пути лучей света.
К концу этой главы вы получите основные представления об освещении, позволяющие экспериментировать с источниками света. Вам предстоит проанализировать различные параметры освещения, чтобы понять, как наилучшим образом размещать источники света и как использовать различные эффекты. В Maya используется несколько типов источников света, каждый из них имеет свои преимущества. Мы расскажем вам, в каких ситуациях лучше всего применять каждый из них. Освоив приемы работы с источниками света, вы сможете заставить тусклую сцену заиграть всеми красками. Чем больше вы будете работать в этой области, тем проще будет проходить процесс освещения сцен. Особое внимание в этой главе будет уделено следующим темам:
Ключевые термины
Направленный свет (Directional Light). Источник света в Maya, распространяющий параллельные лучи света. Используется, например, для имитации солнечных лучей.
Рассеянный свет (Ambient light). Источник света, освещающий все объекты сцены, независимо от их положения. Не имеет значка источника света.
Точечный источник света (Point light). Источник света, испускающий лучи из одной точки равномерно во всех направлениях.
Прямоугольный источник света (Area light). Источник света, испускающий лучи не из одной точки пространства, а из прямоугольной области.
Прожектор (Spot light). Источник света, лучи которого расходятся коническим пучком из одной точки.
Световой конус (Cone angle). Параметр прожектора, определяющий область распространения световых лучей.
Область полутени (Penumbra angle). Параметр прожектора, определяющий размывание границы между областями света и тени.
Скорость спада (Decay Rate). Параметр источников света типа Area (Прямоугольный), Spot (Прожектор) и Point (Точечный), определяющий скорость уменьшения интенсивности света с расстоянием.
Свечение (Light Glow). Оптический эффект, позволяющий имитировать сияющие ореолы, возникающие на фотографиях или видео вокруг ярких источников света или ярких бликов на поверхности объектов.
Карты теней (Depth Map Shadows). Тени, рассчитанные как проекции объектов на затеняемые поверхности сцены.
Трассированные тени (Raytraced Shadows). Тени, сформированные как зоны, недоступные для лучей света, путь которых отслеживается от источника до глаз наблюдателя.
Освещение виртуального мира требует несколько больших усилий, чем это может показаться на первый взгляд. Причина этого лежит как в технической стороне дела, так и в творческих аспектах. Во-первых, в большинстве случаев необходимо создать эффект реальности происходящего несмотря на то, что источники света в Maya отличаются от реальных.. В частности, свет не отражается от поверхностей объектов. А ведь именно поэтому в реальности единственная лампочка может осветить всю комнату, вплоть до областей, которые скрыты от прямых лучей света. Однако в Maya такие области останутся совершенно темными. Соответственно, диффузное рассеяние света необходимо имитировать, введя в сцену дополнительные осветители. Кроме того, в Maya можно смоделировать такие экзотические ситуации, как отрицательное освещение (negative lights), когда источник света не увеличивает, а уменьшает освещенность сцены, и включение объектов в освещение (light linking), когда источником освещаются только специально указанные объекты. Эти функции дают возможность создать действительно впечатляющие сцены. Кроме того, это бывает полезно при комбинации визуализированного изображения с реальным кадром. Ведь в этом случае освещенность обеих сцен должна совпадать как можно точнее.
Что же касается творческих аспектов, то нельзя не заметить, что освещение формирует настроение сцены. Если вы пытаетесь создать мрачную, внушающую страх сцену, имеет смысл сделать освещение тусклым. Чтобы вызывать у зрителя чувство тревоги, можно использовать мерцающий свет. При поиске приемов освещения определенной сцены вспомните фильмы соответствующего жанра.
Получившаяся в результате сцена стоит потраченных на нее времени и усилий. Искусное освещение создает контрасты между объектами, усиливает цвета и позволяет настраивать тени объектов. Не стоит забывать о том, что освещение может приводить к появлению теней, а также изменять вид материалов и раскраски объектов.
В Maya существует несколько различных типов источников света, каждый из которых имеет свои собственные свойства и область применения: Directional (Направленный), Ambient (Рассеянный), Point (Точечный), Spot (Прожектор) и Area (Прямоугольный). Значки, изображающие эти источники света в сцене.
Упражнение. Параметры прожектора
Изучение приемов работы с источниками света необходимо производить в интерактивном режиме. Вам предстоит создать их для простой сцены, содержащей объекты-примитивы, а затем с помощью визуализации понаблюдать за результатами редактирования параметров этих источников. Для начала исследуем свойства прожектора — пожалуй, одного из наиболее часто используемых источников света. При его настройке используется большое количество параметров. Испускаемый им свет распространяется в пределах конуса. Прожектор используется для создания расходящихся лучей света, таких как, например, свет маяка.
ПРИМЕЧАНИЕ
С помощью манипулятора можно изменять не только положение источника света и его мишени. Существует манипулятор голубого цвета, называемый Index Manipulator (Указатель) и имеющий форму перевернутой буквы Q. Он используется для перехода из одного режима в другой. С его помощью можно получить контроль над наклоном источника света, размером светового конуса и другими параметрами.
Рис. 9.1. Новое положение источника света и его мишени
Редактирование освещенности с помощью интерактивной фотореалистичной визуализации
Чем больше вы будете работать с источниками света, тем полнее оцените преимущества процесса интерактивной фотореалистичной визуализации. Возможность немедленно увидеть результаты редактирования параметров источника света или его перемещения помогает сэкономить время при работе над сценой. Кроме всего прочего, освещение изменяет вид назначенных объектам материалов. Например, освещение материала, созданного на основе раскраски Lambert (По Ламберту), не приводит к появлению зеркальных бликов, в то время как материал, созданный на основе раскраски Blinn (По Блинну), может в результате измениться совершенно неприемлемым образом. С помощью окна Render View (Визуализатор) можно легко настраивать параметры источников света при работе с различными материалами. Рассмотрим этот процесс на примере.
Рис. 9.2. Прожектор освещает только область, попавшую внутрь светового конуса
ПРИМЕЧАНИЕ
Предупреждение о том, что изображения не в формате IFF не поддерживаются, которое может появиться в командной етроке, связано с форматом выходного файла визуализации, установленным в раскрывающемся списке Image Format (Формат изображения) раздела Image File Output (Выходной файл) окна диалога Render Globals (Общие параметры визуализации). На сам процесс интерактивной фотореалистичной визуализации это никакого влияния не оказывает.
Параметры прожектора
Каждый из пяти типов источников света имеет свои особенности и свои параметры. Понимание основных различий между ними является ключом к правильному выбору источника света для каждой сцены. Кроме того, это позволяет сэкономить время при работе над сценой. Необходимо четко представлять себе, к какому результату приведет изменение каждого из параметров. Вид окна диалога Attribute Editor (Редактор атрибутов) для источника света Spot Light (Прожектор) показан на рис. 9.3.
Рис. 9.3. Окно диалога Attribute Editor является простейшим способом доступа к редактированию параметров источника света
Упражнение. Редактирование параметров прожектора
Первым параметром, который вам предстоит отредактировать, является угол светового конуса, изменяющийся в пределах от 0,006 до 179,994 градуса и по умолчанию равный 40 градусам. Уменьшение значения этого параметра приводит к сужению освещенной области. Вы можете продолжить выполнение предыдущего упражнения.
Упражнение. Направленный свет
Источник света типа Directional (Направленный) является одним из встроенных осветителей, использующихся каждый раз при создании новой сцены. Также с его помощью хорошо имитировать удаленные источники света, например Солнце, с помощью которых выполняется освещение всей сцены, а не ее отдельных участков. В данный момент в сцене имеется слой SpotLight_L, содержащий источник света spotLightl. Даже если сделать его невидимыми, прожектор все равно будет вносить вклад в итоговое изображение сцены. Соответственно, чтобы получить возможность наблюдать исключительно действие направленного источника света, необходимо как-то выключить прожектор. Для этого выделите его в окне диалога Outliner (Структура) и в окне каналов введите в поле параметра Visibility (Видимость) значение 0, что эквивалентно выключению источника света.
Рис. 9.5. Вид сцены в результате изменения параметров источника света spotLightl
ПРИМЕЧАНИЕ
В режиме тонированной раскраски освещение объектов сцены может осуществляться тремя способами. Во-первых, с помощью встроенных осветителей, во-вторых, с использованием всех источников света, имеющихся в сцене, и в-третьих, только выделенными источниками света. Обычно используется второй способ. Выбор можно сделать с помощью команд меню Lighting (Освещение) панели инструментов окна проекции. Помните, что по-настоящему оценить результаты создания и настройки источников света можно только после визуализации.
Вероятно, наиболее впечатляющие результаты при использовании направленного источника света получаются при включенном режиме формирования теней. Вид теней, формируемых точечным источником света, зависит от того, под каким углом он расположен по отношению к объектам. Это превосходно подходит, например, для имитации лампы, но вряд ли создаст убедительную иллюзию наличия удаленного источника света. Тени, отбрасываемые Солнцем, должны быть параллельны друг другу. Их можно получить, используя источник света типа Directional (Направленный) (рис. 9.6).
Рис. 9.6. В сцене, освещенной точечным источником света (слева), тени радиально расходятся из одной точки
Рис. 9.7. Включение режима использования карты теней в окне каналов
Упражнение. Точечный источник света
В отличие от направленного источника света, лучи которого параллельны дру другу, источник света типа Point (Точечный) дает поток лучей, равномерно ис ходящих из определенной точки во всех направлениях. Он используется дл общего освещения и имитации таких осветителей, как, например, лампочка. Bы можете продолжить выполнение предыдущего упражнения.
Рис. 9.8. Результат настройки оптических эффектов для точечного источника света
Упражнение. Прямоугольный источник света
Начиная с версии 3.0, в Maya появился источник света типа Area (Прямоугольный). Он отличается от остальных источников света тем, что его лучи исходят не из одной бесконечно малой точки в пространстве, а из ограниченной прямоугольником области, размеры которой можно менять по собственному желанию. Это дает большой простор для имитации реальных источников света, но имейте в виду, что одновременно растет и время визуализации. Применение источника света типа Area (Прямоугольный) приводит к формированию более размытых теней, чем в случае, когда источник света находится на значительном расстоянии от объекта. В Maya для освещения области применяются только двумерные, плоские источники света прямоугольной формы. Вы можете продолжить выполнение предыдущего упражнения.
Рис. 9.9. Результат размещения мишени в дальнем углу комнаты
ПРИМЕЧАНИЕ
Если вы считаете, что было визуализировано не то окно проекции, которое нужно, щелкните правой кнопкой мыши в любой точке окна Render View (Визуализатор) и выберите в появившемся контекстном меню команду IPR > IPR Render > RenderCamera (Интерактивная фотореалистичная визуализации > Визуализировать > Камера).
Рассеянный свет
Источник света типа Ambient (Рассеянный) используется для равномерного освещения поверхностей всех объектов и создания общего светового фона сцены. Он не имеет ничего общего с рассеянным светом в реальности, который формируется за счет диффузного рассеяния лучей света поверхностями объектов. Это своего рода самосвечение, равномерно освещающее всю сцену сразу. Поэтому осветитель данного типа необходимо использовать очень осторожно и только в особых случаях. Иначе ваша сцена легко может стать плоской и высветленной. В Maya для рассеянного света включается режим формирования теней. Именно эта возможность делает рассеянный свет своеобразным эквивалентом точечного источника света. Существует параметр Ambient Shade (Уменьшение рассеивания), равенство которого единице приводит к превращению рассеянного источника света в точечный.
Режим формирования теней в Maya может быть включен или выключен по вашему желанию. По умолчанию он выключен. Соответственно, хотя поверхности освещенных объектов затенены, то есть ближняя к источнику света сторона объекта имеет более яркий цвет, чем противоположная, сами объекты не отбрасывают теней. Кроме того, это значит, что свет беспрепятственно проходит сквозь поверхности, освещая даже объекты, расположенные в тени других объектов.
Наличие тени помогает яснее определить размер объекта, его положение и ориентацию в пространстве. Соответственно, формирование теней позволяет определить пространственные соотношения между объектами. Отсутствие теней в сцене приводит к появлению в результате визуализации плоской картинки, то есть тени добавляют сцене глубину и делают ее более реальной. Особенно это касается сцен в интерьере. Еще раз посмотрите на рис. 9.8. Как вы видите, в данном случае сложно сказать, стоят ли объекты на поверхности или же парят в пространстве между камерой и опорной плоскостью.
Обычно принято использовать в сцене несколько источников света, формирующих тени, и большое количество более тусклых, «заполняющих» осветителей. Наличие теней значительно увеличивает время визуализации, особенно если тени формируются источником света типа Area (Прямоугольный) или являются трассированными. Поэтому при создании сцены с тенями руководствоваться надлежит также соображениями минимизации времени вычислений. Кроме того, тени имеют свойство выцветать при появлении дополнительных источников света с включенным свойством формирования теней, освещающих ту же самую область. В Maya существует много способов как сделать сцену более контрастной, так и уменьшить время визуализации. Рассмотрим подробнее дна основных типа теней в Maya — полученные на основе карты глубины и трассированные.
Карта глубины
В Maya существует возможность формирования теней на основе так называемой карты глубины (Depth Map), которая содержит информацию о расстоянии от источника света до поверхности, которую он освещает. Программа вычисляет эту карту при первой же визуализации, и впоследствии она используется при расчете теней. Благодаря наличию карты теней визуализатор получает информацию об освещенности различных областей сцены, указывая, насколько далеко могут распространяться лучи света. В итоге они останавливаются на поверхностях объектов.
Тени, полученные на основе карты глубины, обычно хорошо имитируют реальные, при этом значительного увеличения времени визуализации не происходит. Они обычно имеют более размытые края, что выглядит более натурально, чем резкие трассированные тени. Впрочем, при желании можно получить примерно такой же уровень резкости теней, увеличив значение параметра Dmap Resolution (Разрешение карты глубины). Основным недостатком этого метода является отсутствие возможности создания мягких теней и невосприимчивость к прозрачности объектов.
Для источников света типа Point (Точечный), Ambient (Рассеянный) и Area (Прямоугольный) карта глубины работает особым образом. Дело в том, что для создания теней с помощью карты необходимо квадратное растровое изображение, а упомянутые источники света распространяют лучи во всех направлениях. Соответственно, приходится создавать набор карт, покрывающий всю область тени. В Maya для этих случаев используются кубические карты теней, то есть шесть теней, расположенных на шести сторонах куба. Этот процесс требует в шесть раз большего объема оперативной памяти, что может быть связано с увеличенным размером карты. В общем случае желательно, чтобы большинство теней создавалось источниками света типа Spot (Прожектор) или Directional (Направленный). При этом можно прямо указать направление лучей света и падения теней.
Параметры карты глубины
При работе с картами теней можно настраивать следующие параметры:
Правда, это имеет отношение только к окончательному изображению, полученному в результате визуализации. Этот эффект можно завуалировать, увеличив значение параметра Dmap Filter Size (Размер фильтра карты глубины). Увеличение разрешения тоже приводит к исчезновению зазубренных краев, но формирует более резкие границы тени.
Трассированные тени
В общем случае на визуализацию сцены с трассированными тенями уходит больше времени, но зато она требует меньшего количества оперативной памяти. Кроме того, появляется возможность создания размытых теней, а также теней от прозрачных объектов. Чтобы тени этого типа появились после визуализации, необходимо включить процедуру трассирования, установив флажок Raytracing (Трассирование) в окне диалога Render Globals (Общие параметры визуализации).
Источники типа Spot (Прожектор), Directional (Направленный), Ambient (Рассеянный свет) и Point (Точечный) могут формировать такие же тени, как и источник света Area (Прямоугольный). В этом случае размытые тени создаются путем увеличения радиуса источника света. Неточечные источники света формируют размытые тени (так называемые полутени), так как некоторое количество лучей света оказывается заблокированным расположенным на их пути объектом. В итоге лучи как бы огибают объект, частично освещая пространство за ним. В результате создается впечатление медленного перехода от тени к ее отсутствию.
Прозрачные объекты формируют только трассированные тени. При этом цвет объекта не учитывается. Для получения цветных теней необходимо назначить карту текстуры характеристике Transparency (Прозрачность) материала. Также имейте в виду, что тени будут иметь постоянную яркость, потому что при их построении эффекты преломления света в расчет не принимаются.
Параметры трассированных теней
Перечислим основные параметры, с которыми вам придется работать при использовании трассированных теней:
Тени, формируемые источником света типа Area
Если вы включили для источника света типа Area (Прямоугольный) возможность формирования теней, то они будут вычисляться на основе размера области, испускающей световые лучи. Аналогичный результат получается для точечных источников света после увеличения значения параметра Light Radius (Радиус источника).
Упражнение. Работа с тенями
Продолжите выполнение предыдущего упражнения.
Рис. 9.10. Результат включения формирования теней на основе карты глубины для источника света типа Spot
ВНИМАНИЕ
Интерактивная фотореалистичная визуализация позволяет отследить процесс редактирования материалов и источников света. Но она не может помочь при редактировании параметров теней, включая их разрешение. Если ваши действия не приводят к видимым изменениям, еще раз проведите интерактивную фотореалистичную визуализацию.
Итак, вы получили представление об основах настройки источников света и теней. Теперь рассмотрим дополнительные элементы управления освещенностью.
В верхней части окна диалога Attribute Editor (Редактор атрибутов) для источников света находится набор параметров, которые мы еще не обсуждали: Color (Цвет), Intensity (Интенсивность) и флажки Illuminates by Default (Освещение по умолчанию), Emit Diffuse (Диффузный компонент) и Emit Specular (Свечение зеркальных бликов). Эти параметры вам часто придется использовать для редактирования источника света.
Интенсивность
Параметр Intensity (Интенсивность) отвечает за яркость источника света. Ему можно присвоить как положительное, так и отрицательное значение. Увеличение интенсивности света приводит к увеличению освещенности.
Обычно этому параметру присваивается значение в диапазоне от 0 до 1, что приводит к освещенности средней интенсивности. При имитации солнечного света значение интенсивности может превосходить 1,5. Если параметр Decay Rate (Скорость спада) отличен от нуля, интенсивность света, скорее всего, должна быть увеличена, так как она начинает быстро снижаться с расстоянием. По умолчанию все источники света в Maya имеют нулевое значение этого параметра, то есть интенсивность освещения объектов не зависит от того, на каком расстоянии они расположены.
Присвоив параметру Intensity (Интенсивность) отрицательное значение, вы получите эффект удаления света из сцены. Если одну из областей сцены нужно сделать черной, несмотря на расположенные рядом источники света, решить проблему поможет именно источник света с отрицательным значением параметра Intensity (Интенсивность).
Освещение по умолчанию
По умолчанию источники света автоматически освещают все объекты сцены. Снятие флажка Illuminates by Default (Освещение по умолчанию) приводит к тому, что встроенный источник света перестает освещать объекты сцены, если вы вручную не установите между ними связь. Эта операция выполняется с помощью окна диалога Relationship Editor (Редактор связей). Для его вызова используйте команду Window > Relationship Editors > Light Linking (Окно > Редакторы связей > Связывание источников света). Затем выделите источник света и объекты, которые будут им освещаться, как показано на рис. 9.11. Объекты, включенные в освещение, выделены серым.
Рис. 9.11. Установка связи между источником света и объектами в окне диалога Relationship Editor
Влияние на диффузный компонент и зеркальные блики
В некоторых случаях свет может испускаться только для влияния на компоненты материала Diffuse (Цвет диффузного рассеяния) или Specular (Цвет зеркальных бликов).
Для включения этих режимов используются флажки Emit Diffuse (Диффузный компонент) и Emit Specular (Свечение зеркальных бликов), расположенные в верхней части окна Attribute Editor (Редактор атрибутов). Они недоступны при работе с источником света типа Ambient (Рассеянный свет). Установка флажка Emit Diffuse (Диффузный компонент) используется при создании мягкого заполняющего освещения для имитации отражения света. Сняв флажок Emit Specular (Свечение зеркальных бликов), можно избежать появления зеркальных бликов. Если, наоборот, оставить только флажок Emit Specular (Свечение зеркальных бликов), то появится возможность имитировать освещенную поверхность металлических объектов. В этом случае формирование зеркального блика произойдет без освещения остальной поверхности.
Цвет
Каждый источник света может иметь свой собственный цвет. Для его изменения используется окно диалога Color Chooser (Выбор цвета), вызываемое щелчком на поле образца цвета, расположенном справа от имени параметра Color (Цвет). Кроме того, существует возможность назначить данному параметру карту текстуры. В этом случае источник света действует как проектор. Если же анимировать параметры карты текстуры, источник света будет представлять собой проекционный аппарат для фильма.
Скорость спада
Параметр Decay Rate (Скорость спада) является одной из характеристик источников света типа Spot (Прожектор), Area (Прямоугольный) и Point (Точечный) и определяет скорость снижения интенсивности света по мере удаления от источника. Раскрывающийся список Decay Rate (Скорость спада) в окне диалога Attribute Editor (Редактор атрибутов) содержит несколько вариантов данного параметра:
СОВЕТ
Для редактирования затухания света можно использовать интерактивную фотореалистичную визуализацию.
Упражнение. Освещение дома
В этом упражнении вы добавите несколько источников света, создавая освещение для сцены с домиком, которому в предыдущей главе были назначены материалы.
Рис. 9.12. Вид сцены после того, как к ней были добавлены источники света
Попытайтесь самостоятельно добавить источники света в сцену с монстром, которого вы смоделировали в главе 7, и затем визуализируйте сцену. Освещение персонажа может быть весьма забавным занятием и с его помощью можно придать модели весьма эффектный вид. Источники света предназначены не только для освещения объектов, но и для подчеркивания их формы. Применяя знания, полученные в этой главе, вы сможете эффективно осветить фигуру монстра. Используйте принцип освещения с трех точек, о котором шла речь в главе 1. Возможный результат показан на рис. 9.13.
Рис. 9.13. Монстр, созданный в главе 7, был освещен источниками света, расположенными в трех различных точках
Освещение, вместе с назначением материалов, определяет окончательный вил объектов после визуализации. Без знаний основ создания и редактирования источников света невозможно создать впечатляющую сцену. В этой главе вы познакомились со следующими понятиями:
Самой сложной частью работы при создании анимации является собственно анимация объектов. Добавление четвертого изменения — времени — приводит сцену в состояние, когда невозможно обойтись одним наброском или спланировать происходящее на основе единственной идеи. Создание анимации требует нового типа мышления. Вы должны помнить о движении персонажей и объектов, регулировке этого движения во времени и непрерывности действия. Можно сказать, что именно в этой области Maya в полной мере проявляет свои возможности как инструмент для трехмерного моделирования. Но, к сожалению, объем нашей книги ограничен, и мы остановимся на описании лишь основных аспектов анимации.
Иллюзию движения можно получить, быстро показав набор статичных изображений.
Соответственно, тем же способом, который использовался в предыдущих главах для визуализации одного кадра, можно создать последовательность изображений, в которых один или несколько параметров объекта или объектов будут изменяться во времени.
Слово «анимация» подразумевает не только перемещение объектов в пространстве. Практически любой параметр в Maya может быть анимирован. Можно превратить воду в дерево, изменить направление гравитационного поля и даже завязать объект в узел. Существует масса возможностей и, как следствие, масса трудностей. Мы проанализируем основные моменты создания и редактирования анимации. А именно:
Ключевые термины
Ключ (Key). Маркер, определяющий значения анимируемых параметров объекта в определенный момент времени.
Ключевой кадр (Keyframe). Кадр, содержащий ключ анимации.
Анимация на основе ключевых кадров (Keyframe-based animation). Результат использования ключей анимации для определения времени и места наступления определенного события. Обычно эти события представляют собой крайние положения объекта, например полностью вытянутая или полностью согнутая рука. При этом положение объекта в промежутках между крайними состояниями рассчитывает компьютер.
Касательная в месте расположения ключа анимации (Key tangent). Определяет скорость изменения параметров слева и справа от точки ключа анимации. Анимация объектов включает не только задание изменения положения объекта в пространстве, но и изменение скорости его движения.
Анимационная кривая (Animation curve). Визуальное представление состояния аними-рованного параметра между ключами анимации. Редактируется путем настройки положения касательных в окне диалога Graph Editor (Редактор анимационных кривых).
Автоматическая установка ключевых кадров (Auto keyframe). Функция, позволяющая автоматически создавать ключевой кадр при каждом изменении анимируемого параметра, после того как первый ключевой кадр задан вручную.
Анимация вдоль пути (Path animation). Соединение объекта с заданной траекторией движения.
Нелинейная анимация (Nonlinear animation). Усовершенствованный метод анимации, суть которого состоит в комбинации отдельных фрагментов анимационной последовательности. Например, можно скомбинировать анимацию, в которой персонаж идет по дороге, и анимацию, в которой он пьет воду. В итоге вы заставите его пить в процессе ходьбы.
Редактор анимационных кривых (Graph editor). Инструмент редактирования ключей анимации и формы анимационных кривых в Maya.
Частота кадров (Frame rate). Величина, определяющая число кадров, показанных за одну секунду.
Диапазон анимации (Playback range). Информация о начальном и конечном кадрах интервала анимации, который нужно воспроизвести.
Перед тем как приступить к созданию анимации, необходимо ознакомиться с инструментами, которые вам предстоит использовать. В расположенных ниже разделах вы найдете обзор необходимых элементов интерфейса.
Подготовка к анимации
Процесс создания анимации начинается с указания базовых настроек ползунка диапазона и ползунка таймера анимации. Чтобы убедиться, что указанные элементы видны, нажмите пробел, чтобы вызвать меню оперативного доступа, а затем нажмите правую кнопку мыши справа от команды Hotbox Controls (Элементы управления), чтобы открыть контекстное меню для элементов интерфейса, связанных с анимацией, как показано на рис. 10.1. Используйте это контекстное меню, чтобы сделать видимыми ползунок диапазона и ползунок таймера анимации.
Рис. 10.1. Используйте меню оперативного доступа, чтобы быстро сделать видимыми части пользовательского интерфейса
Ползунок диапазона и параметры анимации
На рис. 10.2 показан вид ползунка диапазона. Он используется для задания общей продолжительности анимации. Также с его помощью можно временно ограничить диапазон воспроизведения, указав начальный и конечный кадры интервала. На рисунке показано, что в данный момент рассматривается диапазон с кадра № 60 по кадр № 120. После того как указанный сегмент будет отредактирован, можно переместить ползунок диапазона на другую область или же растянуть его для показа всего диапазона.
Рис. 10.2. Ползунок диапазона используется для управления продолжительностью анимации и ограничения воспроизведения определенной областью
Альтернативным инструментом управления продолжительностью анимации является окно диалога Preferences (Параметры). Его можно открыть, щелкнув на кнопке Animation Preferences (Параметры анимации), расположенной справа от ползунка диапазона, как показано на рис. 10.2, или выбрав в меню оперативного доступа команду Window > Setting/Preferences > Preferences (Окно > Настройки/Параметры > Параметры). Перед тем как вносить какие-либо изменения, выберите команду Restore Default Settings (Восстановить заданные по умолчанию параметры) в меню Edit (Правка) появившегося окна диалога. Впоследствии можно скрыть элементы интерфейса Shelf (Полка) и Tool Box (Панель инструментов) для получения дополнительного рабочего пространства.
Выберите в расположенном слева списке Categories (Категории) вариант Timeline (Временная шкала), как показано на рис. 10.3. Теперь можно указать диапазон воспроизведения анимации и ее общую продолжительность. Кроме того, существует возможность изменить время воспроизведения анимации, размер ползунка таймера анимации и прочие параметры.
Рис. 10.3. На вкладке Timeline окна диалога Preferences можно указать общую продолжительность анимации и скорость ее воспроизведения в окне проекции
Частота кадров
Одним из основных параметров анимации является частота кадров. Он влияет на продолжительность и плавность воспроизведения. По умолчанию в Maya используется та же частота кадров, что и в обычном кино, равная 24 кадрам в секунду. Это значит, что за одну секунду будут показаны 24 кадра. Таким образом, анимация, занимающая несколько минут, требует визуализации тысяч кадров.
ПРИМЕЧАНИЕ
Также для анимации можно использовать стандарты телевизионного сигнала: NTSC и PAL. Первый используется в странах Америки и Японии и составляет 30 кадров в секунду. Стандарт PAL применяется в странах Европы и составляет 25 кадров в секунду. Имейте в виду, что эти стандарты имеют различное разрешение визуализации.
Определение диапазона анимации
Диапазон анимации определяет ее общую длину в кадрах. При его указании необходимо решить, сколько секунд будет длиться ваша анимация. Затем нужно умножить количество секунд на частоту кадров. Анимация, которую вам предстоит создать в этой главе, имеет продолжительность 20 секунд. Частота кадров будет равна 30 кадрам в секунду. Соответственно, диапазон анимации составит 30 кадров/с х 20 с = 600 кадров.
Ползунок таймера анимации
Ползунок таймера анимации, показанный на рис. 10.4, является существенным инструментов для работы с анимацией в Maya. Его можно использовать для просмотра анимации в действии, для перехода на определённый кадр, а также для размещения ключей анимации.
Рис. 10.4. Ползунок таймера анимации и элементы управления анимацией
Перемещая с помощью мыши ползунок таймера анимации, можно увидеть движение объектов в сцене. Черная вертикальная черта указывает номер текущего кадра. Если выделенному в данный момент объекту сцены соответствуют ключи анимации, они появятся на ползунке в виде красных вертикальных линий. Справа от него расположена группа кнопок, используемых для воспроизведения анимации и для перехода от одного ключевого кадра к другому.
Существует несколько различных способов анимации объектов сцены. Каждый из них имеет свои преимущества и недостатки, которые мы обсудим ниже. Это поможет вам впоследствии выбрать наиболее подходящий тип анимации.
Анимация вдоль пути
Первое представление об анимации вдоль пути вы получили в главе 4. Общая идея этого метода состоит в том, что вы создаете NURBS-кривую и соединяете ее с объектом, который начинает двигаться вдоль этой кривой. В главе 4 в качестве такого объекта фигурировала шлюпка. Имеется возможность указать, в каком месте кривой объект должен находиться в определенный момент время. Это позволяет смоделировать изменение направления движения, задержку в одной точке или колебание вокруг нее. Этот метод будет еще раз рассмотрен в главе 11, где вам предстоит заставить камеру двигаться вокруг дома.
Нелинейная анимация
Усовершенствованный вид анимации создается в Maya с помощью окна диалога Trax Editor (Редактор слоев). В отличие от анимации, построенной на основе ключевых кадров, нелинейная анимация не имеет зависимости от времени. Движение объектов моделируется путем комбинации отдельных слоев анимационной последовательности. Временная шкала позволяет использовать отдельные фрагменты анимации и объединять их различными способами. Кроме того, вы можете ускорять или замедлять воспроизведение участков анимации.
Этот метод также полезен для редактирования отдельных частей анимации, не затрагивая при этом уже полученные результаты. Например, если нужно, чтобы на каком-то участке персонаж бежал, а не шел, можно вырезать этот участок и изменить характер движения ног. При этом остальная часть анимации останется без изменений. Если вас устраивают полученные результаты, можно скомбинировать вырезанный участок с остальной частью анимации.
Анимация на основе ключевых кадров
Стандартным методом анимации является анимация на основе ключевых кадров, и именно его вы будете использовать в упражнениях этой главы. Суть метода состоит в создании ключей анимации для крайних положений объекта, позволив компьютеру рассчитывать состояние объекта в промежуточных положениях. Например, при моделировании процесса сгибания руки необходимо создать два ключа анимации — один для полностью вытянутой руки, а второй для руки в согнутом состоянии. Каждый ключ связан с определенным моментом времени. Когда ползунок таймера анимации попадает на определенный кадр, параметры объекта принимают значения, заданные с помощью ключа.
Первым шагом к созданию анимации является указание ее диапазона. Затем можно начать размещение ключей в определенных кадрах, используя окно каналов или клавиатурные комбинации.
Для создания ключей можно использовать метод автоматической установки ключевых кадров. Он начинает действовать после нажатия кнопки Auto keyframe (Автоматическая установка ключевых кадров), расположенной справа от ползунка Диапазона. Идея метода состоит в том, что после нажатия этой кнопки любое изменение параметров объекта приводит к созданию ключа анимации. Соответственно, вам остается только устанавливать ползунок таймера анимации на нужный кадр и затем менять параметры объекта или объектов. Однако необходимо вручную создать первый ключ анимации, чтобы инициировать процесс.
ПРИМЕЧАНИЕ
В Maya имеется возможность настроить изменение одного ключевого параметра в зависимости от состояния другого. Подробную информацию об этом вы найдете в главе 14. Например, можно связать движение скачущего шарика с интенсивностью падающего на него света. В итоге шарик будет освещен ярче всего в момент достижения максимальной высоты.
Упражнение. Анимация дома
Рассмотрим процесс создания анимации по методу ключевых кадров на примере. В этом упражнении вам предстоит создать ключи для параметров деформации изгиба. Соответствующий модификатор позволяет различным образом искажать форму домика, чтобы создать впечатление наличия в нем привидений. Загрузите файл ch10tut01start.mb. Сцена содержит дом, которому были назначены материалы, источники света, и опорную плоскость, формирующую окружающий пейзаж.
Окно диалога Graph Editor (Редактор анимационных кривых), показанное на рис. 10.5, используется для редактирования значений ключей анимации.
Оно содержит анимационные кривые — графики, иллюстрирующие характер и величину изменений ключевых параметров во времени. Анимационная кривая содержит ключи анимации. Помните о возможности изменять масштаб изображения в этом окне диалога и пользоваться прокруткой.
Редактор анимационных кривых можно использовать как в качестве плавающего окна диалога, так и в виде одного из окон проекции. В первом случае достаточно выбрать в меню оперативного доступа команду Window > Animation Editors > Graph Editor (Окно > Редакторы анимации > Редактор анимационных кривых). Если же требуется, чтобы оно фигурировало в виде окна проекции, вписавшись в текущую конфигурацию, выберите команду Panels > Saved Layouts > Persp/Outliner/ Graph (Панели > Варианты компоновки > Persp/Outliner/Graph). В процессе выполнения следующего упражнения попробуйте оба варианта и решите, какой из них вам удобнее использовать.
Рис. 10.5. Окно диалога Graph Editor дает возможность легко редактировать параметры ключей анимации
Итак, рассмотрим интерфейс окна диалога Graph Editor (Редактор анимационных
кривых):
Рис. 10.6. Выпадающие меню окна диалога Graph Editor, предназначенные для редактирования анимационных кривых, ключей анимации и касательных
Рис. 10.7. Панель инструментов дает быстрый доступ к часто используемым функциям
окна диалога Graph Editor
ПРИМЕЧАНИЕ
В Maya существует еще один редактор анимации Dope Sheet (Монтажный стол). Вместо анимационных кривых в нем в виде цветных прямоугольников показаны ключи анимации, перемещая которые можно корректировать время наступления события. Также с его помощью осуществляется синхронизация движения со звуковым файлом.
Упражнение. Редактирование ключей в окне Graph Editor
В этом упражнении вам предстоит детально ознакомиться с окном диалога Graph Editor (Редактор анимационных кривых). Вы можете продолжить работу над сценой из предыдущего упражнения или загрузить файл ch10tut01end.mb, чтобы иметь гарантию, что все было сделано правильно.
Рис. 10.8. Результат выделения анимационной кривой в окне просмотра
ПРИМЕЧАНИЕ
Если вы ожидали увидеть более радикальные изменения формы анимационной кривой в результате редактирования положения касательной, имейте в виду, что, несмотря на кажущуюся малость изменений, после запуска воспроизведения анимации эффект будет заметен очень хорошо. Существует несколько вариантов формы касательных. Самостоятельно поэкспериментируйте с каждым из них, чтобы посмотреть, как они действуют. Например, выбрав вариант Break Tangents (Разрыв касательных), вы получите возможность перемещать части касательной независимо друг от друга, чтобы создать разрыв анимационной кривой, что соответствует резкому скачку объекта.
СОВЕТ
Создать дополнительные ключи можно, нажав кнопку Insert Keys (Вставить ключи) на панели инструмента окна Graph Editor (Редактор анимационных кривых) и щелкая средней кнопкой мыши в нужных местах анимационной кривой.
Рис. 10.9. Результат перемещения ключей анимации
Воспроизведение анимации в окне проекции Perspective (Перспектива) дает примерное представление о том, как она будет выглядеть в итоге. Но даже самый мощный компьютер не сможет воспроизвести анимацию достаточно гладко при заданном значении частоты кадров. В некоторых случаях это можно компенсировать, скрыв лишние детали объекта или понизив качество картинки на экране. Однако иногда и этого бывает недостаточно и приходится создавать небольшой фильм, покадрово визуализируя анимацию. Но этот процесс может занять несколько часов. Поэтому для просмотра анимации в реальном времени в Maya используется особый модуль Playblast (Проигрыватель).
Упражнение. Использование проигрывателя
Принцип работы модуля Playbtast (Проигрыватель) состоит в создании моментальных снимков экрана, соответствующих каждому кадру анимации, с последующим показом полученного набора изображений. В результаты вы получаете представление о том, как будет выглядеть анимация после итоговой визуализации. Также это дает возможность определить области анимации, выходящие за границы временной шкалы. Если вы предпочитаете использовать наш вариант сцены, загрузите файл ch10tut02end.mb.
ВНИМАНИЕ
Обсчет изображений происходит с помощью видеокарты вашего компьютера. Если закрыть Maya другим окном в процессе подготовки к воспроизведению с помощью функции Playblast (Проигрыватель), ресурс видеокарты будет занят посторонним приложением и запись кадров в буфер производиться не будет.
ВНИМАНИЕ
Так как обсчет анимации занимает значительное количество времени, желательно не загружать сцену лишними деталями. Это можно осуществить, скрыв объекты, редактированием которых вы не занимаетесь в данный момент. Кроме того, существует возможность заменить объекты со сложной структурой более простыми, аппроксимирующими объектами. Другими словами, делайте все, что может ускорить реакцию программы на ваши действия. В этом случае вам, скорее всего, удастся оценить результат своей работы путем воспроизведения анимации в окне проекции, что позволяет сэкономить значительное количество времени.
Оживший домик выглядит забавно, но стоит сделать видимыми крыльцо и трубу, как впечатление тут же портится. Эти элементы остаются неподвижными, и движение дома происходит сквозь них. Используйте полученные в этой главе знания и навыки и попытайтесь самостоятельно анимировать трубу и крыльцо таким образом, чтобы они повторяли движения дома. Затем можно назначить им дополнительный изгиб или другую анимацию, чтобы сделать их более живыми. Если вы не уверены, что все делаете правильно, загрузите файл ch01tut03end.mb.
Анимация позволяет изменить положение и вид объекта во времени. Вы можете использовать динамические объекты (о которых мы расскажем вам в главе 13), анимацию вдоль пути или вручную создать набор ключей, позволив программе рассчитывать промежуточные положения объектов. Существует еще несколькоспособов анимации объектов. В этой главе вы получили представление об основных способах создания, редактирования и обсчета анимации в Maya:
После того как моделирование и анимация объектов сцены закончены, остается только добавить камеру и визуализировать полученный результат. При этом нужно помнить, что камера является не просто альтернативным окном проекции, но и способом выражения вашего видения. Изменяя такие настройки, как масштаб и фокусное расстояние, можно создать впечатление, что мышь имеет размер дома, а небоскреб совсем крошечный. Камеры в Maya в отличие от реальных не имеют ни размера, ни массы, поэтому они могут проходить сквозь игольное ушко или внезапно менять направление движения. Правильное размещение камеры и выбор расположения объектов в кадре является целым искусством.
В компьютерной графике визуализацией называется процесс создания двумерного изображения трехмерной сцены. Эти изображения сохраняются в файлах, последовательный показ которых создает впечатление движения объектов. Кроме того, можно визуализировать набор статичных изображений, чтобы получить представление о том, как выглядит итоговая анимация с разных точек. В предыдущих упражнениях вам уже приходилось визуализировать полученные сцены, но в этой главе вы познакомитесь с деталями этого процесса. Вам предстоит изучить следующие темы:
Ключевые термины
Сглаживание (Antialiasing). Устранение ступенчатого эффекта или разрывов на изображениях линий, расположенных не параллельно краям экрана.
Перспективная проекция (Perspective view). Результат переноса на плоскость точек трехмерного объекта, который выполняется пучком лучей, исходящих из одной точки, соответствующей положению глаза наблюдателя.
Ортографическая проекция (Orthographic view). Двумерный, плоский вид сцены, обычно наблюдаемый спереди, сбоку или сверху. Получается путем выравнивания плоскости проекции параллельно одной из координатных плоскостей трехмерного пространства.
Фокусное расстояние (Focal length). Расстояние от линзы объектива до плоскости пленки. Прямо пропорционально размеру объекта в кадре.
Плоскости отсечки (Clip Planes). Параметры усечения изображения сцены в окне камеры плоскостями, установленными на заданном расстоянии от камеры перпендикулярно линии взгляда.
Глубина резкости (Depth of field). Область на некотором расстоянии от камеры, в пределах которой объекты находятся в фокусе.
Переворот (Tumble). Поворот камеры вокруг ее центра.
Сопровождение (Truck). Перемещение камеры вместе с мишенью вверх, вниз, влево или вправо без смены ориентации линии визирования.
Наезд (Dolly). Движение камеры без изменения ширины поля зрения объектива и соответственно без изменения степени перспективных искажений.
Масштабирование (Zoom). Способ увеличения или уменьшения объекта, сопровождаемый перспективными искажениями.
Крен (Roll). Поворот камеры вокруг оси пирамиды видимости.
Проигрыватель (Playblast). Специальный модуль, предназначенный для просмотра эскиза анимации.
Пакетная визуализация (Batch render). Фоновый процесс, позволяющий визуализировать набор кадров, не прекращая работы с окном программы Maya. Полученные кадры сохраняются в папке Images.
В Maya все проекции связаны со своими камерами. По умолчанию после загрузки программы сцена содержит четыре камеры, которые показывают вид объекта сверху, сбоку, спереди, а также в перспективной проекции. Первые три проекции являются ортографическими. Значки соответствующих камер видимы, что дает возможность переместить их или повернуть. Значок камеры, создающей перспективную проекцию, по умолчанию невидим. Эти камеры являются вспомогательными элементами, без которых невозможен процесс моделирования. После того как определена точка, с которой будет производиться визуализация сцены, необходимо создать в этой точке камеру. Если требуется получить набор неподвижных изображений, можно создать несколько камер, фиксирующих сцену с разных точек. Однако проще всего перемещать одну камеру, в различных кадрах визуализируя вид через ее объектив. Существует возможность анимировать несколько камер одновременно, чтобы получить несколько различных клипов одной и той же сцены.
Положение камеры четко определяет, что именно вы будете наблюдать через ее объектив и какая часть сцены попадет в кадр. Также это зависит от фокусного расстояния, ориентации камеры и ее поля зрения. При этом увеличение фокусного расстояния приводит к сужению поля зрения. Если же вы увеличиваете поле зрения, для сохранения размера объекта без изменений необходимо переместить камеру ближе к объекту.
Создание камер
Как и в случае с источниками света, изменить тип камеры можно в окне диалога Attribute Editor (Редактор атрибутов).
ПРИМЕЧАНИЕ
При запуске Maya окно проекции Perspective (Перспектива) представляет собой вид в окне камеры persp. Эта камера используется для фокусировки на определенных областях сцены. В сцену можно ввести дополнительные камеры и визуализировать именно вид, наблюдаемый через объектив любой из них. Обычно для этой цели очень нежелательно использовать камеру, имеющуюся в сцене по умолчанию, потому что ее очень легко ненамеренно переместить.
Параметры камеры
Если камера выделена, для нее можно открыть окно диалога Attribute Editor (Peдактор атрибутов) и, раскрыв все разделы, как показано на рис. 11.1, рассмотреть параметры камеры.
Перечислим основные параметры, необходимые для редактирования камеры. Большинство из них расположено в разделе Camera Attributes (Атрибуты камеры):
Рис. 11.1. Параметры камеры в окне диалога Attribute Editor
ПРИМЕЧАНИЕ
Параметр Film Offset (Смещение кадра) часто используется при моделировании архитектурных ансамблей в случаях, когда необходимо избежать перспективных искажений. Если искажения все-таки появились, для начала поднимите или опустите камеру таким образом, чтобы она располагалась горизонтально. Это приведет к исчезновению вертикальных искажений. Затем используйте поля, расположенные справа от имени параметра Film Offset (Смещение кадра), чтобы указать, какую часть изображения вы хотите визуализировать. Параметры Film Offset X (Смещение кадра по оси X) и Film Offset Y (Смещение кадра по оси Y) задают смещение «взгляда» камеры относительно ее мишени.
Анимация камеры
При анимации камеры необходимо соблюдать несколько правил, к примеру, избегать резких движений, таких как быстрое панорамирование, увеличение масштаба и вращение камеры. Кроме того, желательно создать впечатление, что камера обладает массой. Виртуальные камеры начинают двигаться и останавливаются внезапно. Такое поведение не имеет ничего общего с реальным положением дел. Избежать этого можно, изменив положение касательных к первому и последнему ключам анимации таким образом, чтобы движение начиналось и заканчивалось постепенно. То же самое нужно сделать для ключей, описывающих поведение остальных параметров камеры, только в этом случае получится сглаженное движение. Вам предстоит проделать это в первом упражнении данной главы.
ПРИМЕЧАНИЕ
Можно посмотреть на сцену сточки расположения любого объекта. Для этого его нужно выделить и выбрать в меню Panels (Панели) окна проекции команду Look Through Selected (Вид из точки расположения выделенного объекта). Обычно эта команда используется, когда необходимо проверить место расположения мишени источников света типа Spot (Прожектор) или Directional (Направленный). Наблюдение происходит из опорной точки объекта в отрицательном направлении оси Z.
Упражнение. Моделирование движения камеры
В этом упражнении вам предстоит анимировать камеру, а затем сгладить ее движение путем редактирования ключей анимации. Нужно, чтобы камера переместилась из точки, расположенной справа от цилиндра, в точку, расположенную слева от параллелепипеда, пройдя этот путь по полуокружности и периодически приближаясь к показываемым объектам и удаляясь от них. После размещения ключей анимации для камеры и ее мишени нужно будет создать впечатление наличия у камеры массы. Это достигается редактированием положения касательной в первом и последнем ключах анимации.
Рис. 11.2. Исключение из выделения всех объектов сцены
ПРИМЕЧАНИЕ
Обычно для создания ключей используется клавиша s, но вы можете воспользоваться комбинациями клавиш Shift+W, Shift+E и Shift+R, чтобы получить ключи анимации только для преобразований Move (Перемещение), Rotate (Поворот) и Scale (Масштабирование). По умолчанию нажатие клавиши s приводит к появлению набора ключей для всех параметров выделенного объекта, что не всегда необходимо. Лишние ключи могут стать причиной массы проблем в будущем, если вдруг вы захотите анимировать параметр, которому они соответствуют.
Создав новый ключ для какого-либо параметра в кадре, в котором уже находится ключ для этого параметра, вы замените первый ключ вторым.
Рис. 11.3. Окно диалога Motion Trail Options
Рис. 11.4. Процесс редактирования формы анимационных кривых в окне диалога Graph Editor
При работе с простыми сценами даже медленный SD-ускоритель позволяет отслеживать редактирование анимации непосредственно в окне проекции в режиме тонированной раскраски. Но если в сцене находится слишком много объектов и, кроме того, включено аппаратное размещение текстур, то скорость реагирования сильно снижается. Обычно это не составляет проблемы. В конце концов, можно подождать, пока процесс завершится, или переключиться в режим каркасного отображения. Но для проверки скорости анимации нужно каким-то образом посмотреть на ее воспроизведение в реальном времени. В Maya для этой цели служит модуль Playblast (Проигрыватель). Для его вызова используйте команду меню оперативного доступа Window > Playblast (Окно > Проигрыватель). Этот инструмент использует видеокарту для записи в буфер всех кадров анимации. Затем можно посмотреть на полученный результат и решить, устраивает ли он вас.
Когда все готово для визуализации законченной анимации, нужно открыть окно диалога Render Globals (Общие параметры визуализации). Для обработки набора кадров применяется функция пакетной визуализации, которая использует настройки, сделанные вами в окне диалога Render Globals (Общие параметры визуализации). Его можно открыть, нажав кнопку Render the current frame (Визуализация текущего кадра) строки состояния или же выбрав в меню оперативного доступа команду Window > Rendering Editors > Render Globals (Окно > Редакторы визуализации > Общие параметры визуализации).
Общие параметры визуализации
Окно диалога Render Globals (Общие параметры визуализации), показанное на рис. 11.5, на первый взгляд может показаться перенасыщенным параметрами, но вам нужно помнить только несколько ключевых разделов.
Если требуется запускать визуализацию автоматически, то необходимо убедиться, что в разделе Image File Output (Выходной файл) все настроено правильно. В общем случае желательно, чтобы новая визуализация не записывалась поверх предыдущей, поэтому необходимо сохранять их в разных файлах. Если этого не сделать, запись будет произведена в файл, расположенный в папке images вашего проекта. Поля, находящиеся под полем Frame/Animation Ext (Расширение имени файла/Нумерация кадров анимации), становятся доступными при выборе для итогового файла формата фильма или же нумерованных расширений файлов. Вы получите возможность указывать начальный и конечный кадры анимации. По умолчанию число таких кадров равно 10, что соответствует очень короткому фильму. В предыдущем упражнении необходимо было бы изменить значение параметра End Frame (Конечный кадр) на 300, а значение параметра Start Frame (Начальный кадр) — на 0. Раскрывающийся список Image Format (Формат изображения) позволяет выбрать для результата визуализации подходящий формат. Обзор возможных форматов был дан в главе 1.
В разделе Resolution (Разрешение) устанавливается размер выходного изображения. Можно использовать раскрывающийся список Presets (Предустановленные значения) для выбора одного из заранее заданных разрешений. Для тестовой визуализации значение этого параметра обычно равно 320x240. Если итоговое изображение предназначено для печати, то желательно сделать его ширину равной 2000 пикселам или больше. Максимально возможный размер изображения определяется объемом оперативной памяти вашего компьютера. Величину параметра Pixel Aspect Ratio (Пропорцию пиксела), задающего отношение высоты пиксела к его ширине, оставьте равной 1.
Параметры раздела Anti-aliasing Quality (Качество сглаживания) оказывают непосредственное влияние на скорость визуализации и качество изображения. Без сглаживания края объектов приобретают ступенчатую структуру, особенно заметную при высокой контрастности цветов пересекающихся друг с другом элементов изображения. Для тестовой визуализации можно оставить значение этого параметра небольшим, так как его увеличение приводит к замедлению данного процесса. Соответственно, выберите в раскрывающемся списке Presets (Предустановленные значения) вариант Preview Quality (Эскизное качество). Для итоговой визуализации используйте вариант Production Quality (Высокое качество).
Рис. 11.5. Окно диалога Render Globals служит для задания параметров визуализации
В разделе Raytracing (Трассирование) настраиваются параметры эффектов отражения, преломления и теней, которые должны появиться в итоговой картинке. По умолчанию трассирование отключено, так как оно сильно замедляет процесс визуализации. Числа в полях Reflections (Отражение), Refractions (Преломления) и Shadows (Тени) определяют глубину трассирования, то есть число возможных отражений луча от поверхностей объектов, после которого он еще способен формировать указанные эффекты. Когда луч света сталкивается с поверхностью отражающего или преломляющего объекта, он рикошетирует обратно. Если числоотскоков луча превосходит значение одного из вышеуказанных параметров, соответствующий эффект не возникает. Это позволяет сэкономить массу времени при визуализации таких сцен, как, например, зеркальный зал, потому что в противном случае луч отражался бы от поверхностей бесконечно.
Визуализация статичных изображений
При необходимости визуализации одного из окон проекции необходимо перевести его в активное состояние и выбрать в меню оперативного доступа команду Render > Render Current Frame (Визуализация > Визуализация текущего кадра). Настройки, заданные в окне диалога Render Globals (Общие параметры визуализации), определяют разрешение, сглаживание и эффекты, получаемые с помощью трассирования. При этом визуализируется только один кадр, который сохраняется во временном файле в папке image вашего проекта. После окончания визуализации можно сохранить полученный результат. Для этого нужно щелкнуть правой кнопкой мыши в любой точке окна Render View (Визуализатор) и выбрать в появившемся меню команду File > Save Image (Файл > Сохранить изображение).
Визуализированные и сохраненные изображения можно просматривать с помощью служебной программы FCheck (Контроль файлов), окно которой показано на рис. 11.6.
Рис. 11.6. Служебная программа FCheck используется для просмотра и редактирования итоговых изображений
С помощью этого инструмента можно просматривать большинство изображений и фильмов, а также осуществлять их преобразование к другим форматам. Он запускается с помощью команды Programs > Maya > FCheck (Программы > Maya > FCheck) меню, появляющегося при нажатии кнопки Start (Пуск) вашей операционной системы.
Подготовка к визуализации
Перед тем как запустить процесс визуализации, необходимо выполнить следующие действия:
Теперь можно закрыть окно диалога Render Globals (Общие параметры визуализации) и выбрать в меню оперативного доступа команду Render > Batch Render (Визуализация > Пакетная визуализация), чтобы начать процесс обсчета кадров. При этом можно продолжить работу с программой, но в большинстве случаев визуализация требует настолько большого количества ресурсов, что выполнение всех прочих операций крайне замедляется.
Упражнение. Создаем камеру в сцене с домом
Теперь пришла пора применить знания, полученные в предыдущих разделах, и создать камеру для сцены с домом монстра. Вы можете продолжить работу над сценой, полученной в главе 10, или загрузить файл ch11tut02start.mb.
Создание траектории
Для создания траектории движения будет использован метод, с которым вы уже познакомились в главе 4. При всей его простоте он дает потрясающие возможности управления положением камеры и скоростью ее движения в процессе воспроизведения анимации. Мы попытаемся имитировать съемку с операторского крана, применяемую при создании настоящего кино.
СОВЕТ
Для максимального упрощения сцены оставляйте в ней только слои, необходимые для выполнения текущей процедуры.
ПРИМЕЧАНИЕ
Для более эффективной работы камеры должны иметь ближнюю и дальнюю плоскости отсечки. В окне проекции отображается только участок сцены, находящийся между этими плоскостями. В Maya параметр Far Clip Plane (Дальняя плоскость отсечки) по умолчанию имеет значение 1000 единиц, что для большинства сцен является недостаточным. Если вид в окне проекции кажется вам странным или некоторые объекты оказываются невидимыми, проверьте, нельзя ли решить эту проблему, изменив указанный параметр. Камеры, создающие проекции Side (Вид сбоку). Тор (Вид сверху) и Front (Вид спереди), также имеют плоскости отсечки.
ВНИМАНИЕ
Если нажать комбинацию клавиш Shift+А, чтобы уместить все объекты сцены в границах окон проекции, или нажать клавишу f, чтобы сфокусироваться на опорной плоскости, может случиться так, что все объекты исчезнут. Эта проблема связана с размером опорной плоскости — камера отодвигается так далеко, что они оказываются за границей одной из плоскостей отсечки. Можно вернуть сцену к предыдущему состоянию, нажав клавишу [.
Рис. 11.7. Кривая, которая будет использоваться в качестве пути анимации
Рис. 11.8. Результат редактирования формы CV-кривой в окне проекции Тор 1.
Редактирование пути анимации
На данный момент траектория камеры не отслеживает изменений рельефа поверхности, так как это невозможно сделать в окне проекции Side (Вид сбоку), в котором опорная плоскость видна в режиме каркасного отображения. Продолжим редактирование сцены.
Создание камеры и связывание ее с кривой
Теперь, когда кривая окончательно готова, пришло время создать камеру, которая будет двигаться вдоль нее. Продолжим выполнение предыдущего упражнения.
Теперь все готово для указания параметров визуализации в окне диалога Render Globals (Общие параметры визуализации). Правда, работа над сценой на этом не окончится. Вам еще предстоит добавить некоторые детали при изучении эффектов рисования в главе 12 и рассмотрении свойств систем частиц в главе 13. Не пожалейте времени и настройте пакетную визуализацию, как описано в приведенном ниже упражнении. Например, посвятите этому один из вечеров, оставив компьютер работать на ночь, и к утру вы получите готовый фильм.
Упражнение. Получение фильма методом пакетной визуализации
Продолжите выполнение предыдущего упражнения или загрузите файл ch11tut02end. mb.
ПРИМЕЧАНИЕ
Некоторые предпочитают визуализировать вместо фильма последовательность статичных кадров. В этом случае прерывание процесса визуализации не приводит к потере уже полученных данных и нет необходимости начинать все сначала. Однако посмотреть на полученный результат можно будет только с помощью служебной программы FCheck (Контроль файлов), а на диске у вас окажется огромный набор файлов. Кроме того, чтобы получить возможность посмотреть анимацию на другом компьютере, необходимо будет сначала преобразовать ее в один из форматов фильма.
Рис. 11.9. Несколько небольших изменений в окне диалога Render Globals, и все готово к визуализации фильма
Самостоятельно отредактируйте движение камеры таким образом, чтобы ее движение начиналось и заканчивалось постепенно. Попытайтесь также придать сцене другое настроение, меняя в окне диалога Attribute Editor (Редактор атрибутов) значение параметра Angle of View (Угол зрения) и используя различные кривые в качестве траектории камеры. Если нужно создать впечатление огромного опасного мира, поместите траекторию на небольшом расстоянии от опорной поверхности и выберите широкий угол зрения. Сделав крупный план и высоко расположенную траекторию, вы получите впечатление, что съемка производится с вертолета. Попробуйте анимировать мишень независимо от камеры, а также сделать камеру слегка покачивающейся. Установите связь между камерой и объектом и визуализируйте сцену.
Выполнение упражнений этой главы помогло вам получить представление о параметрах камер и о том, какие именно настройки необходимо произвести перед запуском процесса анимации. Вы изучили следующие темы:
Модуль Paint Effects (Эффекты рисования) является одним из наиболее забавных и визуально интересных инструментов в Maya. На первый взгляд он выглядит как программа для рисования деревьев и цветов, но позволяет также рисовать трехмерные объекты на поверхности других трехмерных объектов. К примеру, можно нарисовать дерево на поверхности и его компоненты — ствол, ветви листья — будут выглядеть так, словно они реально существуют в трехмерном пространстве. Вы даже сможете редактировать и анимировать эти элементы, чтобы получить пространство с реалистичным освещением, движением и тенями. С помощью модуля Paint Effects можно создать целый пейзаж за несколько минут и рассмотреть его с разных сторон посредством нескольких щелчков кнопкой мыши. Вам предстоит познакомиться со следующими темами:
Ключевые термины
Мазок (Stroke). Линия, появляющаяся в окне проекции в результате перемещения указателя мыши в режиме создания эффектов рисования.
Кисть (Brush). Совокупность параметров эффектов рисования, определяющих вид мазка и его поведение.
Шаблонная кисть (Template brush). Настройки текущей кисти. Вы можете менять их, влияя на вид каждого следующего мазка.
Впервые появившийся в Maya 2.5 модуль Paint Effect (Эффекты рисования) позволяет аниматорам легко добавлять в сцену сложные элементы органического происхождения. В набор кистей включены простые эффекты, такие как Airbrush (Аэрограф), Markers (Маркеры) или Swirl (Завитки). Но основные возможности модуля Paint Effect (Эффекты рисования) раскрываются при использовании более сложных кистей, позволяющих создавать облака, освещение, цветы, кустарник, траву и деревья.
Все это реализуется благодаря функции, называемой трубкой (tube), производящей визуализацию мазков в виде трехмерных объектов. Благодаря трубкам можно создать целую гамму изменений объекта во времени и пространстве, продемонстрировав рост, динамику, освещенность, турбулентность и другие трехмерные эффекты. Мазки кисти привязаны к NURBS-кривым, что дает возможность полностью анимировать их. Вы можете редактировать форму кривой, например, сделав ее волнообразной. В результате мазки кисти будут следовать указанной форме. Тем же самым образом можно изменить тип кисти, превратив, например, группу деревьев в несколько кустов роз и т. п.
В число параметров кисти входят также непрозрачность и самосвечение. Это позволяет моделировать такие явления, как яркий удар молнии или полупрозрачные капли дождя.
Благодаря всем перечисленным возможностям палитра кистей в Maya не может не поражать воображение. Она позволяет моделировать звезды и галактики, огонь со встроенной анимацией, деревья и травы, колышущиеся на ветру, цветы и кусты, растущие словно по волшебству, и многое другое. Начинающие пользователи обычно приходят в полный восторг, наблюдая как опытные аниматоры работают с модулем Paint Effects (Эффекты рисования). Ведь по сравнению с процессом анимации это так просто, быстро и интересно!
Кисти и мазки
В мире компьютерной графики кисть сильно изменяется по сравнению со своим реальным аналогом. Теперь это всего лишь некий набор параметров, контролирующий вид и поведение мазка. Доступ к их редактированию можно найти в разделе Brush (Кисть) окна диалога Attribute Editor (Редактор атрибутов) или в окне диалога Paint Effect Brush Settings (Настройки кистей). Последнее вызывается командой меню оперативного доступа Paint Effects » Template Brush Settings (Эффектырисования > Параметры текущей кисти). Таким способом появляется возможность создать новую кисть. Но проще всего сделать это, отредактировав параметры одной из уже существующих. Посмотреть на палитру кистей, готовых для использования, можно в окне диалога Visor (Просмотр образцов). Оно вызывается нажатием клавиатурной комбинации Shift+V, командой Window > General Editors > Visor (Окно > Редакторы общего назначения > Просмотр образцов) главного меню или же командой Paint Effects > Get Brush (Эффекты рисования > Выбрать кисть) меню оперативного доступа. В некоторых случаях для получения доступа к списку кистей необходимо перейти на другую вкладку. На рис. 12.1 выделена вкладка Paint Effects (Эффекты рисования) и в расположенном слева окне показан список категорий кистей.
Рис. 12.1. Список готовых для работы типов кистей в окне диалога Visor
СОВЕТ
Если в окне диалога Visor (Просмотр образцов) отсутствует нужная вам вкладка, выберите в меню Tabs (Вкладки) этого окна команду Revert to Default Tabs (Вернуть заданные по умолчанию вкладки).
После выбора кисти щелчок в окне проекции с последующим перемещением указателя мыши приводит к появлению мазка. То есть выбор кисти в окне диалога Visor (Просмотр образцов) приводит к включению режима создания эффектов рисования. При этом указатель мыши принимает форму карандаша. Рисовать можно непосредственно на координатной плоскости или же сделать раскрашиваемым любой объект, построенный на основе NURBS-кривых. Мазок соединен с кривой, которую вы рисуете на поверхности объекта. Можно задать некоторое смещение мазка относительно этой кривой. Это бывает необходимо, например, при создании эффекта стелющегося над землей тумана. После завершения мазка можно выделить кривую, сначала сделав ее видимой с помощью команды Display > Show > Show Geometry > Stroke Path Curves (Отображение > Показать > Показать объекты > Кривая мазка). Доступ к параметрам всех кистей и мазков осуществляется с помощью окна каналов и редактора атрибутов. В этом отношении они ничем не отличаются от прочих создаваемых вами элементов сцены. Если для работы с модулем Paint Effects (Эффекты рисования) используется графический планшет, давление на кисть также фиксируется в качестве параметра мазка. Кроме того,, в качестве мазка может фигурировать любая кривая, нарисованная или спроектированная, стоит только добавить к ней кисть.
Мазки делятся на простые и растущие. Первые напоминают обычные линии, полученные движением кисти по холсту, в то время как перемещение указателя мыши при создании вторых сопровождается появлением увеличивающихся трубок, растущих в нескольких направлениях. Например, при моделировании плюща трубки, имитирующие листья и вьющиеся усы, растут из основного черенка. Скорость их роста равна одному сегменту на один шаг процесса. При этом все сегменты являются отрезками прямых линий. Увеличение значения параметр, Segments (Сегментов) приводит к уменьшению их размера и более сглаженному виду результирующего объекта. Другим важным параметром является флажок Tube Completion (Завершение трубок). Если он установлен, рост трубок продолжается автоматически до полного завершения построения объекта, размер которого определяется количеством сегментов. Сняв этот флажок, вы попадете в ситуацию, когда трубки, расположенные в конце мазка, имеют меньший размер, чем трубки, расположенные в начале. Это могут быть деревья, выросшие только наполовину, или плющ, у которого отсутствуют листья. Обычно пользователь предпочитают автоматический режим завершения роста трубок, поэтому данный флажок установлен по умолчанию.
Так как модуль Paint Effects (Эффекты рисования) требует значительного количеств ресурсов системы, большинство пользователей предпочитает подключать его толь ко в случаях, когда они собираются его использовать. Для включения этого моду ля выберите в меню оперативного доступа команду Window > Setting/Preferences Preferences (Окно > Настройки/Параметры > Параметры). В расположенном слева списке Categories (Категории) выделите самую нижнюю строчку Modules (Модули) установите флажок Paint Effects (Эффекты рисования) в разделе Load on Startup (3 гружать при запуске). Закройте окно диалога Preferences (Параметры) и перезапустите Maya. В итоге в главном меню появится строчка Paint Effects (Эффекты рисования). Она видна в режиме Rendering (Визуализация), переход к которому можно осуществить, например, нажатием клавиши F5.
Запуск модуля Paint Effects
Прежде всего поверхность, к которой вы собираетесь применять эффекты рисования, необходимо сделать доступной для этих эффектов. Это не приводит к изменению объекта, просто вы даете понять модулю Paint Effects (Эффекты рисования), что поверхность готова для нанесения мазков кистями. Если вы собираетесь перейти к обработке другой поверхности, необходимо снова выбрать команду Make Paintable (Сделать раскрашиваемым) в меню Paint Effects (Эффекты рисования). То же самое требуется после перезагрузки Maya. Применять эффекты рисования можно только к NURBS-поверхностям, координатным плоскостям или опорным поверхностям. Кроме того, существует возможность создавать невизуализируемые NURBS-поверхности, повторяющие форму построенных на основе полигональных сеток объектов, которые вы хотите раскрасить, и применять эффекты рисования на них.
После того как вы сделали поверхность раскрашиваемой, можно работать с ней
в одном из следующих режимов:
Рис. 12.2. Результат применения одного из эффектов рисования непосредственно в окне проекции
Чтобы заменить текущее окно проекции окном Paint Effects (Эффекты рисования) нажмите клавишу 8 или выберите в меню оперативного доступа команду Panels > Panel > Paint Effects (Панели > Окно > Эффекты рисования). Произойдет переход в режим Paint Scene (Рисование в сцене) или Paint Canvas (Рисование на холсте), в зависимости от того, какой из них использовался последним. Для перехода от одног режима к другому щелкните правой кнопкой мыши и выберите в появившемся меню нужный вариант. Режим Paint Canvas (Рисование на холсте) является отдельной плоскостью, предназначенной для рисования, и не имеет никакого отношения к трехмерной сцене. Поскольку в этой главе мы будем рассматривать только результаты применения эффектов рисования в сценах, выберите вариант Раш Scene (Рисование в сцене). Эффекты рисования позволяют поместить в сцену двухмерное изображение, но при этом создается впечатление, что вы работаете в обычном трехмерном пространстве. В процессе изменения угла обзора сцены элементы, полученные с помощью эффектов рисования, превращаются в линии. Поел завершения поиска нового ракурса можно вернуть эти элементы в исходное со стояние, нажав кнопку Redraw Paint Effects View (Обновить эффекты рисования).Если в сцене используется несколько мазков различных типов, воспроизведение эффекта рисования может занять значительное время. В этом случае имеет смысл скрыть мазки, не нужные в данный момент. Это делается с помощью окна диалога Outliner (Структура). В Maya имя мазка включает имя кисти, использовавшейся для его создания, что позволяет легко найти элементы, которые временно требуется скрыть, как показано на рис. 12.3. После выделения всех мазков нажмите комбинацию клавиш Ctrl+h или выберите в меню оперативного доступа команду Display > Hide > Hide Selection (Отображение > Скрыть > Скрыть выделенные объекты).
Рис. 12.3. Выделение в окне диалога Outliner мазков, которые требуется скрыть
В процессе работы с эффектами рисования иногда возникает необходимость оставить окно диалога Visor (Показ образцов) открытым, чтобы иметь возможность быстро выбрать другую кисть. Это позволяет получить представление об общем масштабе объектов, которые вы собираетесь рисовать. Как только указатель выходит за границы раскрашиваемого объекта, он принимает обычную форму. Тем самым форма указателя является своеобразным индикатором возможности применения эффектов рисования. Для редактирования размера кисти нажмите клавишу b и, одновременно щелкнув левой кнопкой мыши, переместите указатель влево или вправо. Кроме того, можно открыть окно диалога Brush Settings (Настройки кистей) и указать размер кисти в поле Global Scale (Общий масштаб). Это можно сделать с помощью комбинации клавиш Ctrl+b, команды Edit Template Brush (Правка текущей кисти) меню Brush (Кисть) окна Paint Effects (Эффекты рисования) или же команды Paint Effects > Template Brush Settings (Эффекты рисования > Параметры текущей кисти) меню оперативного доступа.
ВНИМАНИЕ
Причиной проблем с размерами кисти при работе с модулем Paint Effects (Эффекты рисования) может быть драйвер видеокарты вашего компьютера. Если указатель мыши не принимает форму красного кружка, внимательно прочитайте требования к видеокарте, указанные во вводной части данной книги. Кроме того, при работе с большими сценами указатель мыши может выглядеть как маленькое красное пятнышко. В этом случае имеет смысл увеличить его размер.
После задания требуемого размера мазка можно отредактировать также и ширину кисти. Например, вы указали высоту деревьев или языков пламени, формируемых в процессе перемещения указателя мыши, а теперь хотите, чтобы одновременно происходило заполнение указанными объектами некоторой области сцены. В этом случае необходимо нажать комбинацию клавиш Shift+B и, нажав левую кнопку мыши, перетащить указатель вправо или влево. Имейте в виду, что этот метод работает только с растущими мазками. Для изменения масштаба простых мазков используется окно диалога Brush Settings (Настройки кистей). Кроме того, необходимо помнить, что данный процесс сопровождается изменением плотности объектов. Увеличение ширины мазка приводит к распределению исходного количества объектов на большей области, что, соответственно, снижает плотность их расположения.
Другим часто настраиваемым параметром является смещение кисти. Для его изменения нажмите клавишу m и левую кнопку мыши одновременно и перетащите указатель влево или вправо. В результате мазок появится выше или ниже выбранной поверхности. Эта возможность просто бесценна при создании таких эффектов, как туман или дым.
Для выхода из режима создания эффектов рисования выберите в меню Panels (Панели) окна Paint Effects (Эффекты рисования) команду Perspective (Перспектива). Чтобы закончить создание элементов выбранного эффекта, нажмите клавишу q.
Упражнение. Изучение эффектов рисования
Итак, рассмотрим несколько эффектов рисования на созданной вами NURBS-поверхности.
СОВЕТ
Если в окне проекции Perspective (Перспектива) конус не появился, выберите команду Camera Attribute Editor (Редактор атрибутов камеры) в меню View (Вид окна проекции) и введите в поле Far Clipping Plane (Дальняя плоскость отсечки)значение 10 000.
Рис. 12.4. Прежде всего необходимо сделать объект раскрашиваемым
СОВЕТ
Для просмотра образцов в окне диалога Visor (Просмотр образцов) применяются стандартные методы. Одновременное нажатие клавиши Alt и средней кнопки мыши используется для панорамирования. Если же вместе с клавишей Alt одновременно нажать также левую и среднюю кнопки мыши, то появится возможность изменять масштаб.
ПРИМЕЧАНИЕ
Скорость создания штриха также оказывает влияние на плотность объектов. Чем быстрее вы перемещаете указатель мыши, тем меньше образцов появляется вдоль штриха.
ВНИМАНИЕ
Если после свертки любого окна диалога его изображение частично закрывает окно модуля Paint Effects (Эффекты рисования), нажмите кнопку Redraw Paint Effects View (Перерисовать окно) на панели инструментов этого окна. Эффекты рисования возникают тем же самым способом, что и изображение при визуализации. Соответственно, время, через которое сцена появится снова, даст представление о скорости визуализации.
Рис. 12.5. Три ряда цветов
ПРИМЕЧАНИЕ
Можно сделать так, чтобы окно модуля Paint Effects (Эффекты рисования) обновлялось автоматически. В противном случае это приходится делать путем нажатия кнопки Redraw Paint Effects View (Перерисовать окно) на панели инструментов окна. В первом случае необходимо выбрать в меню Stroke Refresh (Обновление штрихов) команду Rendered (Визуализированный). Второй случай реализуется при выборе команды Wireframe (Каркасный). Обычно работа ведется в каркасном режиме, чтобы не замедлять работу компьютера.
Рис. 12.6. Результат визуализации трех рядов цветов
Если вы хотите сравнить свою сцену с тем, что получилось у нас, загрузите файл ch12tut.01end.mb.
Созданный мазок можно использовать различными способами. Например, отредактировать его форму или скопировать параметры формирующей кисти от одного мазка к другому. Также вы можете изменить параметры эффектов рисования, например, уменьшив размер цветов или увеличив количество ответвлений.
Выделение мазков
Чтобы отредактировать мазок, его нужно сначала выделить, что весьма непросто как в режиме тонированной раскраски, так и в режиме показа каркасных оболочек объектов, потому что мазок лежит непосредственно на поверхности какого-либо объекта. Намного проще сделать это в окне диалога Outliner (Структура). Для удаления мазка выделите его и нажмите клавишу Delete.
Соединение мазков с NURBS-кривыми
Существует возможность соединить кисть с NURBS-кривой, что приведет к появлению нового мазка. Выделите кривую, откройте окно диалога Visor (Просмотр образцов) и выделите кисть, а затем в меню Paint Effects (Эффекты рисования) выберите команду Curve Utilities > Attach Brush to Curve (Работа с кривой > Соединить кисть с кривой).
Копирование и вставка параметров кисти
Можно выделить любой из существующих мазков и скопировать параметры кисти, с помощью которой он был создан. Это делается с помощью команды Get Settings from Selected Stroke (Скопировать настройки выделенного мазка) меню Paint Effects (Эффекты рисования). В итоге параметры кисти, использовавшейся для получения данного мазка, будут помещены в буфер. Теперь можно выделить другой мазок и выбрать команду Apply Settings to Selected Stroke (Применить настройки к выделенному мазку).
Упрощение кривых и мазков
Для упрощения анимации кривой, лежащей в основе мазка, можно уменьшить число формирующих ее управляющих точек. Выберите в меню Paint Effects (Эффекты рисования) команду Curve Utilities > Simplify Stroke Path Curves (Работа с кривой > Упростить кривую, определяющую вид мазка).
Если мазок выполнен сложной кистью, это может замедлить скорость реакции программы на ваши действия. В этом случае может помочь снижение качества изображения мазка на экране, в результате которого число видимых трубок и сегментов уменьшится. Выделите мазок и выберите команду Stroke Display Quality (Качество отображения мазка) в меню Display (Отображение). Появится дополнительное меню, в котором нужно выбрать подходящее значение или вариант Custom (Пользовательский). Предпочтительнее выбрать последнее и задать качество отображения равным 5—20 %. В этом случае вы вполне сможете разглядеть появляющиеся мазки, не вызывая значительного замедления работы системы.
Пришло время вернуться к сцене, над которой вы работаете на протяжении всей книги. В этом упражнении вам предстоит добавить один мазок и отредактировать его так, чтобы получить эффект сухой травы, колышущейся при порывах ветра.
ПРИМЕЧАНИЕ
Все параметры, расположенные в разделе Inputs (Входные данные) окна каналов, можно найти на вкладке grassDryBlowingl редактора атрибутов. Причем в отличие от окна каналов, в котором параметры представлены в виде длинного списка, в редакторе атрибутов каждый из них находится в соответствующей ему категории, что облегчает процесс их редактирования.
Рис. 12.7. Результат редактирования травинок
ВНИМАНИЕ
Визуализация в данном случае не должна занять больше минуты. Если она занимает слишком много времени, откройте окно диалога Render Globals (Общие параметры визуализации) и убедитесь, что разрешение равно 320x240, а в раскрывающемся списке Presets (Предустановленные значения) раздела Anti-aliasing Quality (Качество сглаживания) выбран вариант Preview Quality (Эскизное качество).
СОВЕТ
Изменить скорость воспроизведения анимации можно в окне диалога Preferences (Параметры), которое вызывается нажатием кнопки Animation Preferences (Параметры анимации), расположенной справа от ползунка диапазона. Нужную скорость можно выбрать в раскрывающемся списке Playback Speed (Скорость воспроизведения).
Рис. 12.8. Редактирование параметров турбулентности в процессе воспроизведения анимации
Распространим полученную полосу травы на остальную часть опорной плоскости. В этом упражнении вам также предстоит добавить к пейзажу деревья и создать эффект тумана. После этого мы посмотрим на полученный результат с помощью служебной программы Playblast (Проигрыватель) и визуализируем сцену с точки зрения перемещающейся камеры. Продолжите выполнение предыдущего упражнения или загрузите сцену chl2tut02end.mb.
Рис. 12.9. Окно диалога Save Brush Preset, с помощью которого можно добавить новый ярлык на вкладку Shelf
Рис. 12.10. Результат использования кисти drygrass
Рис. 12.11. Мазки наложены таким образом, чтобы оставить незатронутой траекторию камеры
СОВЕТ
Чтобы обезопасить себя от случайного изменения настроек камеры, можно заблокировать возможность преобразования в данном случае. Выделите камеру в окне диалога Outliner (Структура), выделите имена всех ее преобразований в окне каналов (всего их должно быть девять) и, щелкнув на выделенной области правой кнопкой мыши, выберите в появившемся контекстном меню команду Lock Selected (Блокировка выделенного набора).
Рис. 12.12. Окно диалога Playblast Options
ВНИМАНИЕ
Помните, что работа модуля Playblast (Проигрыватель) основана на использовании видеокарты компьютера. Поэтому если вы займете ее ресурс другим приложением, запись кадров в буфер производиться не будет.
Теперь, чтобы сделать сцену еще более мрачной, добавим в нее туман. Если вы хотите предварительно сравнить свой результат с тем, что получилось у нас, загрузите файл chl2tut03end.mb.
СОВЕТ
Если процесс записи кадров в буфер занимает слишком много времени, прервите его нажатием клавиши Esc. При этом полученные данные будут сохранены. Затем можно уменьшить разрешение или отключить показ текстур для ускорения процесса обсчета кадров. Из-за наличия в сцене большого количества эффектов рисования на скорость работы модуля Playblast (Проигрыватель) большое влияние оказывает качество отображения. Имейте в виду, что, к примеру, показ более 3—4 % травинок может сильно замедлить работу компьютера. Используйте команду Display > Stroke Display Quality (Отображение > Качество отображения мазка) для уменьшения качества отображения сцены.
Добавим в сцену немного тумана. Проще всего это сделать, использовав слоистый туман, однако, во-первых, он имеет постоянную высоту, а во-вторых, не следует контурам поверхности. В данном случае мы не будем раскрашивать опорную плоскость, как в случае с деревьями и травой, а воспользуемся функцией смещения, чтобы создать туман, стелющийся над поверхностью земли. Также в сцену будет добавлена дымка, предназначенная для размывания фона и усиления впечатления ночной сцены. С помощью эффектов рисования можно создать массу явлений, которые сложно смоделировать иным путем: дождь, ливень, облака, пар, туман, дым и т. п.
Рис. 12.13. Туман, заполняющий впадины опорной поверхности
Рис. 12.14. Тестовая визуализация: яркая луна, святящая сквозь дымку и туман
Так как в сцене колышется трава и качаются ветви деревьев, постарайтесь заставить двигаться и туман. Для этого нужно анимировать кривые, к которым привязаны формирующие его мазки. Попытайтесь также создать несколько собственных кистей, поэкспериментировав с настройками уже существующих. Внимательно исследуйте набор кистей и постарайтесь понять, каким образом нужно отредактировать стандартные параметры, чтобы создать кисть экзотического вида. Потренируйтесь в создании различных пейзажей, используя стандартные кисти. Обратите внимание на параметры анимации, благодаря которым удается создать молнию и огонь.
Помните, что все процедуры, связанные с созданием, редактированием и анимацией эффектов рисования, основаны на параметрах мазков и кистей. Невозможно создать собственную раскраску эффектов рисования или подвергнуть их действию внешних сил, используя встроенный в Maya модуль динамики. Плюс ко всему эффекты рисования визуализируются отдельно в качестве дополнения к уже готовой сцене. Это можно наблюдать в процессе визуализации. Сначала появляется обычная сцена, на которой потом внезапно возникают элементы, созданные с помощью эффектов рисования.
В этой главе вы получили возможность исследовать модуль Paint Effects (Эффекты рисования), который позволяет создавать достаточно сложные сцены, прикладывая минимум усилий. Перечислим изученные вами методы и понятия:
Сохранение установленных параметров. Существует возможность добавить настройки используемой кисти на вкладку Shelf (Полка), чтобы применять их и в дальнейшем.
Иногда вместо анимации объектов по методу ключевых кадров, описанной в главе 10, можно позволить программе создать анимацию под вашим непосредственным руководством. Работа с так называемыми системами частиц особенно полезна в случаях, когда необходимо анимировать десятки, сотни, а то и тысячи одинаковых объектов, имеющих похожую геометрию. Также можно использовать модуль динамики для имитации реального поведения объектов, к примеру, для моделирования процесса столкновения шара для боулинга с кеглями. Этот режим позволяет также воссоздать поведение упругого тела, например деформации каучука или желатина. В этой главе вам предстоит познакомиться со следующими темами:
Ключевые термины
Активное тело (Active body). Объект, реагирующий на столкновения с другими объектами.
Пассивное тело (Passive body). Объект, на который не влияют ни поля, ни столкновения, хотя он и может принимать участие в последних.
Поля (Fields). Силы, используемые для анимации движения твердых и упругих тел, а также частиц. Примером такой силы является сила тяжести.
Ограничители (Constraints). Используются для уменьшения числа степеней свободы движения объектов при имитации динамики. Например, шарнир оставляет только возможность вращения объекта вокруг единственной оси.
Источник частиц (Emitter). Элемент, отвечающий за скорость и направление движения частиц. Его можно представить в виде пожарного шланга, в то время как частицы будут потоком воды.
Упругое тело (Soft body). Объект, который может быть деформирован в процессе имитации динамики.
Мишень (Goal). В качестве мишени, притягивающей к себе частицы, идеально подходят любые объекты, полученные на основе полигональных сеток или NURBS-кривых. В первом случае частицы притягиваются к вершинам объекта, во втором — к управляющим точкам.
В этой главе вы найдете обзор инструментов, которые автоматически создают анимацию на основе определенного набора параметров. Чтобы получить к ним доступ, необходимо переключиться в режим Dynamics (Динамика). Это можно сделать, нажав клавишу F4.
С помощью этих функций можно создать анимацию, которую невозможно получить методом ключевых кадров. Основная идея имитации динамики твердого тела состоит в моделировании столкновений и появляющегося в результате изменения направления движения объектов. При имитации динамики упругого тела учитывается также изменение формы объектов в результате столкновений. Системы частиц позволяют легко контролировать анимацию большого числа объектов. Во всех перечисленных случаях можно ввести в сцену силы, например, силу тяжести или ветер, которые будут влиять на движение объектов.
Имитация динамики твердого тела используется в Maya для моделирования различных физических процессов. Элементы сцены имеют некую массу, а в некоторых случаях и начальную скорость перемещения и вращения. Затем к этим элементам применяются поля, оказывающие влияние на их движение. При столкновениях друг с другом объекты меняют направление движения в зависимости от их массы и указанной вами силы трения. Модуль динамики твердых тел производит все необходимые вычисления и моделирует движение тела.Имитация динамики в Maya осуществляется не только для твердых, но и для упругих тел. Во втором случае требуются более сложные расчеты. Но пока мы рассмотрим объекты, не деформирующиеся при столкновениях. Для имитации динамики можно использовать как объекты, полученные на основе NURBS-кривых, так и объекты, построенные на основе сетки полигонов, но в обоих случаях необходимо учитывать направление их поверхностей. Столкновения осуществляются только сторонами, нормали которых направлены наружу. Если нужно смоделировать столкновения одного объекта с внутренними стенками другого, например перемещение шарика внутри полого куба, необходимо изменить направление нормалей. Для этого используются команды Edit NURBS > Reverse Surface Direction (Правка NURBS > Изменить направление поверхности) и Edit Polygons > Normals > Reverse (Правка полигонов > Нормали > Изменить направление).
Активные и пассивные тела
Взаимодействующие объекты могут быть активными и пассивными. Хотя последние и могут быть анимированы по методу ключевых кадров, они остаются статичными. Они могут участвовать в столкновениях, например, располагаясь на пути движения активного тела, но не реагируют на них. Существует возможность преобразовать пассивное тело в активное, и наоборот. В окне каналов находится параметр Active (Активный), который может иметь значение on или off.
Существует также возможность комбинировать обычную анимацию по методу ключевых кадров с имитацией динамики. Переход осуществляется с помощью команд Set Active Key (Создать активный ключ) и Set Passive Key (Создать пассивный ключ) меню Soft/Rigid Bodies (Упругие/Твердые тела). Таким способом можно получить, к примеру, обычную анимацию для отскоков мяча от поверхности с имитацией динамики его одновременного движения вниз по ступенькам лестницы.
Для активных объектов в окне каналов можно указать значение параметров Initial Velocity (Начальная скорость) и Initial Spin (Начальная угловая скорость), как показано на рис. 13.1.
Для активных и пассивных объектов изначально задаются значения параметров Impulse (Импульс) и Impulse Spin (Вращательный импульс) в произвольной начальной точке. Тем самым задается сила мгновенного воздействия на объект. Например, можно указать параметр Impulse Position (Точка приложения импульса) для края бильярдного шара, смоделировав удар кием.
Перечислим остальные параметры активных объектов:
Рис. 13.1. Настройка параметров активного твердого тела
СОВЕТ
При работе со сложными объектами, форму которых невозможно предста-вить в виде куба или сферы, также существует возможность ускорить вычисления. В этом случае создаются невизуализируемые аппроксимирующие объекты упрощенной формы. Затем исходный объект необходимо сделать родительским по отношению к аппроксимирующему, чтобы их перемещения происходили согласованно.
При имитации динамики прежде всего необходимо разделить объекты сцены на активные и пассивные. Это делается с помощью команд Create Active Rigid Body (Создать активное твердое тело) и Create Passive Rigid Body (Создать пассивное твердое тело) в меню Soft/Rigid Bodies (Упругие/Твердые тела). После этого можно задать параметры тела в окне каналов. Затем необходимо определить поля (fields), под действием которых находится объект, и указать, ограничивает ли что-нибудь его движение.
Полями называются локализованные или глобальные силы, действующие на объекты. В главе 4 для моделирования движения воды вам уже приходилось применять поле Turbulence (Турбулентность). Поля снабжены своим собственным значком, что облегчает процесс их выделения в ситуациях, когда необходимо анимиро-вать поле или изменить его параметры. Например, можно сделать так, чтобы гравитационное поле меняло свое направление в процессе анимации, или присоединить поле Air (Атмосфера) к шлюпке, чтобы создать брызги, как при перемещении через поле частиц. Позднее с помощью окна диалога Relationship Editor (Редактор связей) можно отредактировать количество объектов, находящихся под действием поля. В Maya существуют следующие поля:
Одновременно с полями, определяющими движение объектов, можно создать ограничители, которые препятствуют этому движению. Но в отличие от полей, действие которых распространяется на любое количество объектов, ограничители могут воздействовать максимум на два объекта. Кроме того, они не имеют значков. В Maya существуют ограничители следующих типов:
Обычной процедурой при имитации динамики твердых тел является размещение объектов в надлежащих местах, а затем определение их как активных или пассивных. Затем, не снимая выделения с активных тел, принято назначить им поле Gravity (Сила тяжести). После чего можно вводить в сцену другие поля, а также ограничители движения объектов. Редактирование параметров объектов можно осуществлять прямо в процессе воспроизведения анимации. Но имейте в виду, что при создании имитации динамики ползунок таймера анимации должен находиться на отметке нулевого кадра, так как параметры объектов зависят от их собственных значений в предыдущем кадре. После того как вы смоделировали взаимодействия нужным вам образом, можно преобразовать имитацию динамики в набор ключевых кадров. После этого можно будет совершить стандартный набор действий, доступный для обычной анимации.
Упражнение. Имитация динамики твердого тела
Теперь пришло время познакомиться с практической стороной дела. Исследование этих эффектов является весьма интересным занятием, так как программа практически сразу показывает результат редактирования.
СОВЕТ
Не стоит пренебрегать выполнением команды Reset Settings (Сбросить настройки) меню Edit (Правка) окон диалога с параметрами инструментов и функций. Это особенно важно при имитации динамики, так как в этих случаях регулярно приходится вносить изменения в эти параметры.
ПРИМЕЧАНИЕ
В процессе воспроизведения имитации динамики значения параметров объектов в каждом кадре зависят от их значений в предыдущем кадре. Поэтому необходимо настроить анимацию таким образом, чтобы воспроизводился каждый кадр. Нажмите кнопку Animation Preferences (Параметры анимации), расположенную справа от ползунка диапазона, и в раскрывающемся списке Playback Speed (Скорость воспроизведения) выберите вариант Play Every Frame (Воспроизводить каждый кадр), как показано на рис. 13.2.
Рис. 13.2. Выбор правильной скорости воспроизведения анимации гарантирует корректную работу модуля динамики
Рис. 13.3. Выбор подходящего ограничителя в окне диалога Constraint Options
Рис. 13.4. Изменение массы одной из сфер
ПРИМЕЧАНИЕ
Если теперь попытаться отредактировать какой-нибудь из параметров объекта, принимающего участие во взаимодействии, то обнаружится, что это не оказывает никакого эффекта на вид анимации. Для возвращения к редактированию необходимо очистить кэш. Это можно сделать с помощью команды Solvers > Memory Cache > Delete (Модули просчета > Кэширование памяти > Удалить). Или же можно открыть окно диалога Attribute Editor (Редактор атрибутов), выбрав в главном меню команду Solvers V Rigid Body Solver (Модули просчета > Модуль просчета для твердого тела) и нажав кнопку Delete (Удалить) в разделе Rigid Solver State (Состояние решения).
Системы частиц в Maya позволяют создавать сложные наборы объектов однотипного вида и сходного поведения. С их помощью можно легко смоделировать такие сложные эффекты, как струя аэрозоля, взрыв, рой пчел или галактика со звездами. Вряд ли кто-то возьмется поочередно моделировать и анимировать каждый из объектов, входящих в перечисленные множества. Кроме того, частицы могут принимать участие в столкновениях с объектами и находиться под влиянием различных полей.
Создание частиц
Частицы можно включить в сцену двумя способами. Во-первых, с помощью инструмента Particle Tool (Создание частиц), во-вторых, поместив в сцену их генератор. Первый способ обычно используется, если требуется изначально распределить частицы заданным образом и сохранить их на протяжении всей анимации. Это бывает нужно, например, при создании галактик. Выбор команды Particle Tool (Создание частиц) в меню Particles (Частицы) включает режим рисования области распространения частиц. В окне диалога Tool Settings (Параметры инструмента) для данного инструмента можно установить флажок Create Particle Grid (Создать сетку частиц), что приведет к появлению прямоугольной области, заполненной частицами. Это может быть полезно для более наглядного представления эффекта действия полей в процессе их создания.
Более традиционным способом создания системы частиц является использование их генератора. Со временем такие частицы исчезают. В Maya возможны генераторы следующих типов:
Типы частиц
Частицы в Maya делятся на визуализируемые аппаратно и программно. Большинство частиц относится к первому типу. Они не появляются при обычной программной визуализации и требуют включения системы аппаратной визуализации, которая осуществляется выбором команды Window > Rendering Editors t Hardware Rendering Buffer (Окно > Редакторы визуализации > Буфер аппаратной визуализации). При этом понадобится программа для монтажа изображения, такая как, к примеру, Composer, которая позволит вам настраивать внешний вид частиц независимо от остальных объектов сцены. Кроме того, часто изображения, полученные путем аппаратной визуализации, имеют зубчатые края. Но эту проблему можно решить с помощью редактора атрибутов, вызываемого командой Attributes (Атрибуты) меню Render (Визуализация) окна Hadware Rendering Buffer (Буфер аппаратной визуализации.
В итоге все, что вам нужно сделать, это скомбинировать визуализированную аппаратно последовательность кадров с частицами и полученную программной визуализацией последовательность кадров с остальными объектами сцены. Если анимация занимает длительное время, значит, сцена содержит слишком много частиц или же анимация слишком сложна. Ведь монтаж двух видов изображения происходит за считанные минуты.
Аппаратно визуализируемые частицы
Перечислим типы частиц, визуализируемых аппаратно. Имейте в виду, что они не могут формировать теней и принимать участие в эффектах отражения и преломления.
Программно визуализируемые частицы
Перечисленные ниже типы частиц визуализируются обычным образом, как часть основной сцены. Поэтому они могут отбрасывать тени, а также принимать участие в эффектах отражения и преломления. Их параметры можно редактировать в окне диалога Attribute Editor (Редактор атрибутов).
Материалы и возраст частиц
Материалы для систем частиц можно создать на основе текстуры Gradient Ramp (Линейный градиент). Каждая частица имеет свой возраст, на основе которого программа вычисляет, какую часть текстуры необходимо использовать в данный момент. Это позволяет смоделировать изменение цвета частиц со временем. Данный эффект используется, например, при создании летящих искр. Сначала они имеют белый цвет, потом меняют его на желтый, оранжевый, красный и, наконец, на черный.
Воздействие на частицы
Существует несколько способов взаимодействия частиц с элементами сцены. Например, можно назначить поле, которое будет определять способ их движения. Также можно смоделировать в сцене поверхности, принимающие участие в столкновениях с частицами. Кроме того, существует возможность создания мишени, к которой будут лететь частицы.
Поля
Информация о полях дана в разделе, посвященном описанию динамики твердого тела. Существуют типы полей, ориентированные на работу с системами частиц. Не стоит забывать о том, что практически все поля могут быть настроенытаким образом, чтобы появляться только в ограниченном объеме или затухать с расстоянием, что позволяет локализовать эффект их действия.
Столкновения
Частицы любого типа могут принимать участие в столкновениях с любыми поверхностями объектов сцены, но каждое столкновение необходимо настраивать отдельно. Для этого нужно выделить систему частиц, а затем при нажатой клавише Shift выделить объект и выбрать в меню Particles (Частицы) команду Make Collide (Заставить сталкиваться). Этот прием работает вне зависимости от того, движутся ли система частиц и опорная плоскость. Например, можно смоделировать въезд какого-нибудь объекта в неподвижное облако частиц. Кроме того, можно сделать частицы исчезающими через определенный промежуток времени, делящимися на дополнительные частицы, или исчезающими и вновь появляющимися на том же месте после столкновения. Эти эффекты обычно используются для моделирования эффектов брызг или крушения. В последнем случае частицы распадаются на более мелкие куски при столкновении с объектом.
Мишени
Можно создать для частиц мишень, которая будет представлять собой определенную конфигурацию, форму или место, притягивающее поток частиц. Можно сделать так, чтобы частицы догоняли движущуюся мишень, оставаясь в определенном положении относительно других частиц, а также создать эффекты развевающегося на ветру знамени или водорослей в потоке воды. В этих случаях системы частиц используются до контроля геометрической формы. Об этом мы более подробно поговорим при исследовании динамики упругих тел. Если объект назначен в качестве цели некоторой системе частиц, то частицы притягиваются к вершинам (для полигональных объектов) или к управляющим точкам (для NURBS-объектов).
Теперь, когда вы получили информацию о возможных способах использования частиц, пришло время применить эти знания на практике. Загрузите сцену с домом, к которой в прошлой главе вы добавляли эффекты рисования. Это может быть ваш собственный файл или файл chl3tut02start.mb. Смоделируем дым, идущий из трубы дома, и назначим ему подходящий материал.
Рис. 13.5. Настройка параметров для генератора дыма
Рис. 13.6. Начальный вид испускаемых частиц
Рис. 13.7. Результат редактирования параметров потока частиц
Рис. 13.8. Результат редактирования параметров частиц
Рис. 13.9. Результат назначения материала системе частиц и освещения ее точечным
источником света
Рис. 13.10. Окончательный вид дыма после редактирования параметров материала
Рис. 13.11. Настройка параметров текстуры Ramp, благодаря которой прозрачность частиц будет увеличиваться со временем
Рис. 13.12. Вид сцены после добавления дыма, идущего из трубы
Теперь вы можете сравнить свои результаты с тем, что получилось у нас, загрузив файл ch13tut02end.mb. Если вам понравилось, как выглядит статичный кадр, визуализируйте полный фильм. Эффект дыма не вызывает сильного увеличения времени визуализации.
Имитация динамики упругого тела в Maya осуществляется за счет создания вокруг объекта системы частиц. Когда эти частицы попадают в зону действия поля или сталкиваются с другими объектами, они перемещают связанную с ними поверхность. Это идеально подходит для моделирования гибких материалов органического происхождения. Имитация динамики упругого тела также применяется для создания таких объектов, как желатин или резина.
По умолчанию упругие тела бесконечно растягиваются или сжимаются практически от любого воздействия. Для получения более реалистичного поведения необходимо создать мишени или пружины. Мишени (goals) предоставляют гибкому объекту форму, которую он стремится принять, примерно как резиновая игрушка, которая после сжатия возвращается в исходное состояние. В отличие от мишеней пружины (springs) позволяют движению одной частицы оказывать влияние на движение других. В этой главе мы познакомим вас со вторым подходом.
Создание упругого тела
Любой объект, созданный на основе NURBS-кривых или сетки полигонов, может быть преобразован в упругое тело. Это осуществляется путем размещения частиц в местах расположения управляющих точек (для NURBS-объектов) или вершин (для полигональных объектов) и управления их положением в соответствии с движением частиц. В окне диалога Soft Options (Параметры упругости), вызываемом щелчком на квадратике, расположенном справа от команды Create Soft Body (Создать упругое тело) меню Soft/Rigid Bodies (Упругие/Твердые тела), указывается, хотите ли вы просто превратить объект в упругое тело или предпочитаете, чтобы оригинал объекта остался в сцене в качестве мишени. Обычно используется второй метод. В результате упругое тело пытается принять форму исходного объекта.
Так как упругие тела основаны на системах частиц, для имитации динамики необходимо настроить столкновения этих частиц с определенным объектом сцены. Для каждого объекта, который должен принимать участие в столкновениях, необходимо проделать следующую операцию: выделить одновременно этот объект и систему частиц и выбрать в меню Particles (Частицы) команду Make Collide (Заставить сталкиваться).
Добавление пружин
Когда нужно создать более упругий объект, чем развевающееся на ветру знамя, к нему можно добавить параметр Springs (Пружины), обеспечив своего рода поддерживающую структуру. В результате между всеми частицами появятся виртуальные пружинки. В зависимости от требуемой степени упругости объекта можно увеличить значение параметра Wire Walk Length (Глубина связи). Если этот параметр равен единице, для каждой частицы связь устанавливается с ближайшими соседями со всех сторон, если двум — связь распространяется на две частицы. Также можно увеличить значение параметра Stiffness (Жесткость), чтобы заставить пружины быстрее возвращаться в исходное состояние. Параметр Damping (Торможение) определяет скорость, с которой они приходят в состояние покоя.
Упражнение. Резиновые гантели
Создадим упругое тело из гантелей, заставив их отскакивать от предметов окружающей обстановки. Загрузите файл ch13tut03start.mb.
Рис. 13.13. Окно диалога Dynamic Relationships
ВНИМАНИЕ
Убедитесь, что в данный момент для параметра Playback Speed (Скорость воспроизведения) выбран вариант Play every frame (Воспроизводить каждый кадр). В противном случае может создаться впечатление, что в процессе своего движения объект внезапно взрывается. Помните, что в процессе имитации динамики должен быть выбран именно этот вариант. И не забывайте устанавливать ползунок таймера анимации на отметку нулевого кадра после каждого воспроизведения.
Самостоятельно исследуйте, какое влияние на динамику движения тел оказывают такие параметры, как масса, начальный импульс, момент инерции объекта и трение соприкасающихся поверхностей. Попытайтесь создать анимацию, имитирующую игру в пинбол, в которой на пути катящихся но наклонной плоскости шариков возникают различные препятствия. Исследуйте приемы работы с системами частиц, которые используются для имитации таких эффектов, как фейерверк или стекающая жидкость. Изменяйте все возможные параметры частиц и наблюдайте за производимым эффектом, чтобы понять, как они работают. Создайте NURBS-плоскость и с помощью имитации динамики упругого тела заставьте ее полоскаться, как знамя на ветру.
Рис. 13.14. Скрытые пружины можно выделить в окне диалога Outliner и затем настроить их параметры таким образом, чтобы движение гантели стало более приближенным к реальности
Благодаря системам частиц и модулю динамики появилась возможность создавать сложные и реалистичные анимации. В этой главе мы продемонстрировали только небольшую часть этих возможностей. Вы получили информацию по следующим темам:
Вот мы и подошли к концу книги, несмотря на то, что многие темы остались неизученными. Так как издатель отказался публиковать книгу размером с энциклопедию, пришлось остановиться на освещении наиболее важных и полезных сведений. Последнюю главу книги мы посвятим краткому обзору материала, который будет полезен вам не только для дальнейшего совершенствования мастерства работы с Maya, но и для развития способностей аниматора и художника.
Мы поговорим о следующих темах:
Ключевые термины
Командный файл (Batch file). Текстовый файл, запускаемый в командной строке окна MS-DOS, который содержит список команд для операционной системы.
Полка (Shelf). Область интерфейса Maya, в которую можно поместить ссылки на наиболее часто используемые инструменты и функции.
Многослойное совмещение (Compositing). Создание единого изображения на основе нескольких слоев, наложенных один на другой.
Слой (Layer). Один из источников материала для совмещения. Часто описывается своим именем, например background plate (фоновый рисунок), beauty pass (итоговая визуализация), specular layer (зеркальные блики) и т. п.
Вы уже имели возможность убедиться, что скорость визуализации предсказать сложно. От завершения работы над сценой и указания параметров визуализации до получения готового фильма проходит от нескольких минут до нескольких часов. Сложность сцены напрямую связана со временем визуализации, поэтому сцена с тысячами объектов и дюжиной источников света будет визуализироваться намного медленнее, чем сцена с несколькими объектами и парой источников света. Но иногда визуализация даже простых сцен может занять изрядное количество времени. Что делать, если спустя день вы обнаружили, что, несмотря на кажущуюся простоту сцены, готовы всего несколько кадров? Ниже мы изложим несколько возможных причин такого поведения визуализатора.
Общие параметры визуализации
Разрешение. Чем выше разрешение изображения, тем больше времени занимает процесс визуализации. Если изображение с разрешением 320x240 готово через 10 минут, значит, визуализация изображения с разрешением 640x480 займет 40 минут, потому что число пикселов увеличилось в четыре раза. То есть удваивание размера увеличивает число пикселов и время визуализации в четыре раза.
Качество сглаживания. Если в итоговом изображении у объектов или эффектов отражения появились ступенчатые края, значит, необходимо увеличить качество сглаживания. Но это приводит к резкому замедлению работы визуализатора. Обычно тестовые визуализации проводятся при низких значениях параметра Anti-aliasing Quality (Качество сглаживания), а для получения итогового изображения 'его повышают. Если вы используете в сцене карту глубины для формирования теней, для получения размытых теней увеличьте параметр Dmap Resolution (Разрешение карты глубины), а если вам необходимо получить размытые тени, используйте параметр Dmap Filter Size (Размер фильтра карты глубины). Это оказывает меньшее влияние на уменьшение скорости визуализации.
Трассированные тени. Тени этого типа имеют самые резкие края, но при этом появление их в сцене приводит к значительному снижению скорости визуализа-ции. Это становится особенно заметным, когда свет проходит через большое число мелких, перекрывающихся объектов, например сквозь листья дерева.
Трассирование. Окно диалога Render Globals (Общие параметры визуализации) содержит флажок, установка которого приводит к включению эффектов трассирования в сцене, необходимому для визуализации эффектов отражения и преломления. Снижение скорости этого процесса становится особенно заметным при наличии в сцене большого числа отражающих и преломляющих объектов. Например, при визуализации сцены с зеркальным залом луч света будет много раз отражаться от различных пикселов сцены, прежде чем приобретет свой итоговый цвет. Подобный же эффект будет наблюдаться в случае пирамиды из преломляющих свет винных бокалов. В этом случае обычно вам понадобится сделать глубину отражений достаточно высокой, потому что пикселы, для окрашивания которых требуется большее число отражений, чем задано параметром Ray Depth Limit (Предел глубины луча), будут иметь фиксированный цвет (по умолчанию черный).
Размывание в движении. Этот параметр используется, если требуется имитировать размывание изображения при быстром движении объектов. При создании анимации, в которой некоторые объекты быстро движутся в поле зрения камеры, необходимо использовать размывание в движении, чтобы убрать стробоскопический эффект. Двумерное размывание в движении представляет собой применяемый к готовому изображению сложный фильтр, действие которого сводится к размазыванию пикселов. Обычно он не вызывает сильного замедления визуализации, чего нельзя сказать о трехмерном размывании в движении. Впрочем, последнее приводит к появлению намного более реалистичного эффекта.
Параметры объектов
Поверхности объектов, полученных на основе NURBS-кривых, необходимо разбить на полигоны, прежде чем приступать к их визуализации. При этом величина разбиения является настраиваемой. Если сделать ее слишком высокой, время визуализации возрастет. В предельных случаях может просто не хватить оперативной памяти. Хорошей привычкой является проверять уровень разбиения, если вы изменяли заданные по умолчанию установки. Это можно сделать в окне диалога Attribute Editor (Редактор атрибутов) на вкладке формы объекта. Установите флажок Display Render Tesselation (Показывать разбиение визуализации), чтобы иметь возможность в интерактивном режиме наблюдать результаты разбиения в окне проекции по мере изменения параметров.
Типы материалов
В Maya существует пять объемных материалов, назначаемых эффектам: EnvFog (Туман), LightFog (Светящийся туман), Particle Cloud (Облако частиц), Volume Fog (Объемный туман) и Volume Shader (Объемная раскраска). Их применение обычно приводит к замедлению процесса визуализации. Если, например, поместить объемный туман вокруг объектива камеры, каждый пиксел сцены будет визуализироваться с учетом данного эффекта, в результате чего получение итогового изображения займет намного больше времени.
Эффекты камеры
При визуализации в обычном режиме все объекты находятся в фокусе камеры. Но можно сделать так, чтобы в фокусе были только объекты, расположенные на определенном расстоянии от камеры. Этот эффект называется Depth of Blur (Глубина резкости). Его увеличение приводит к замедлению процесса визуализации.
Обычно при визуализации отдельных кадров достаточно воспользоваться командой Render Current Frame (Визуализировать текущий кадр). Однако, как вы видели в главах 4 и 11, в окне диалога Render Globals (Общие параметры визуализации) можно настроить параметры визуализации таким образом, чтобы этот процесс затрагивал определенный набор кадров. Затем остается воспользоваться командой Batch Render (Пакетная визуализация) меню Render (Визуализация). В результате кадры будут визуализированы в соответствии с их порядковыми номерами и сохранены в виде фильма в формате AVI или в виде набора статичных изображений. Если выходной файл должен быть представлен в виде фильма, обычно предпочтительней использовать визуализацию в виде набора статичных изображений, потому что в этом случае удастся избежать проблем, возникающих в результате сжатия и неоправданно большого размера выходного файла. Пакетная визуализация является фоновым процессом, позволяющим параллельно работать с программой. Если в компьютере два процессора, в окне диалога Batch Render Options (Параметры пакетной визуализации) можно указать, чтобы один процессор использовался для пакетной визуализации, а второй — для выполнения прочих задач. При этом имейте в виду, что таким способом можно визуализировать только один проект за один раз.
Посмотреть, какая стадия процесса визуализации выполняется в данный момент, можно в правой части командной строки. Для получения более детальной информации, например, как показано на рис. 14.1, щелкните на кнопке Script Editor (Редактор сценариев), расположенной справа от командной строки.
Запуск пакетной визуализации из командной строки
Допустим, вы создали 12 сцен и хотите, чтобы все они были визуализированы в течение ночи. Это можно осуществить, запустив процесс фоновой визуализации в окне MS-DOS. В каталоге Maya находится папка bin, содержащая файл render.exe. Это служебная программа, запускающая процесс визуализации.
Откройте окно MS-DOS, выбрав в меню Start (Пуск) команду Programs (или Programs > Accesoires) > Command Promt. С помощью команды cd перейдите в папку bin. Теперь можно начать процесс визуализации, введя команду render filename.mb. Может потребоваться указать маршрут доступа к файлу полностью, например render C:\myjobs\maya\filename.mb.
Рис. 14.1.Пакетная визуализация
Сохраненный файл со сценой указывает, какие файлы и с каким разрешением будут визуализированы, а также в какой папке будут сохраняться готовые изображения. Изменить настройки файлов с расширением .mb или .та можно, воспользовавшись командой render <options> filename.mb. Вот пример команды с несколькими параметрами: render -x 512 -у 512 -cam persp -im test -of sgi filename.mb
Обратите внимание, что все параметры и присвоенные им значения разделены пробелами. Например, параметр -х указывает ширину изображения в пикселах, затем следует пробел, а затем — требуемое значение ширины 512. Введя команду render | more, вы получите список доступных параметров. Для перехода к следующей странице списка команд используйте клавишу Пробел.
Как при помощи вышеуказанной методики настроить последовательную визуализацию ряда файлов? Для этого нужно создать текстовый файл с расширением bat, содержащий набор команд, подобных приведенной выше. Например:
render -х 640 -у 480 -cam persp -im testA Jobl.mb
render -x 800 -y 600 -cam TopCam -im testB Job2.mb
render -x 320 -y 240 -im testC -of tga Job3.mb
Если теперь ввести имя файла с расширением bat в командной строке окна MS-DOS, начнется процесс поочередной визуализации указанных файлов. Например, если вы сохранили три вышеприведенные строки в файле Tuesday.bat, достаточно набрать в командной строке Tuesday.
ВНИМАНИЕ
Для создания текстовых файлов необходимо пользоваться служебной про-граммой Notepad (Блокнот). Если воспользоваться для этого такими редакторами, как Word, итоговый файл будет содержать не только текст, но и элементы форматирования, например информацию о шрифтах, номера страниц и т. п. Полученный в итоге файл не будет работать.
При наличии подписки на техническую поддержку для Maya у фирмы Alias| Wavefront вы можете получить лицензию на установку служебной программы Maya's Batch Renderer на одной или нескольких машинах.
При этом может оказаться, что даже при равномерном распределении нескольких задач между несколькими компьютерами визуализация некоторых сцен заканчивается, в то время как другие находятся еще в процессе обработки. Кроме того, бегать от компьютера к компьютеру и вручную запускать на каждом из них соответствующий файл с расширением bat крайней неудобно. Поэтому следующий раздел мы посвятим рассмотрению процесса визуализации в сети.
Пакетная визуализация в сети
Существует множество дополнительных служебных программ (обычно их цена составляет несколько сотен долларов), предназначенных для распределения задач визуализации между несколькими компьютерами в сети. Они позволяют управлять процессом с одной машины. С их помощью можно назначить задачи одному или нескольким компьютерам и установить очередь задач в порядке их срочности. Все компьютеры в сети должны иметь доступ к файлам с текстурами и другими данными, расположенным в папке общего доступа. Кроме того, они должны иметь возможность сохранять результаты визуализации в указанной папке. Имейте в виду, что при визуализации фильма процесс невозможно распределить между несколькими машинами. Однако можно визуализировать отдельные кадры, быстро выполнять их последующую обработку и преобразовы-вать их в формат фильма с помощью служебных программ, предназначенных для монтажа. В число программ, которые пользователи Maya могут использовать для визуализации в сети, входят:
Это коммерческие продукты, имеющие разную стоимость. Например, существует бесплатная версия программы Lemon, которая замечательно подходит для не очень сложных проектов. Но она не позволяет управлять процессом визуализации и изменять параметры в окне диалога Render Globals (Общие параметры визуализации). Наиболее подходящей программой для создания очереди задач на одном компьютере является RenderPal (http://www.shoran.com), и она тоже распространяется бесплатно. Подобные программы можно также найти на сайте http:// www.highend3d.com.
Немаловажным фактором при выборе компьютера для визуализации является возможность целиком уместить в оперативной памяти данные, обрабатываемые Maya. Если размер сцены превосходит размер оперативной памяти компьютера, время ее обработки сильно возрастает из-за интенсивного использования файла подкачки. Если же количество оперативной памяти соответствует поставленным задачам, то в качестве ограничивающего фактора остается только скорость работы процессора.
В этой книге работа с клавиатурными комбинациями и контекстными меню являлась неотъемлемой частью упражнений. Это было сделано для того, чтобы наилучшим образом показать начинающим пользователям, что именно делает Maya по-настоящему эффективным инструментом. Мы постарались показать вам, как оперативно можно получить доступ к самым востребованным инструментам и функциям.
Создание собственных контекстных меню
В главе 5 вы начали моделирование дома с загрузки набора подготовленных для вас контекстных меню. Теперь пришло время детально познакомиться с процессом их создания. Кроме того, вы увидите, как можно отредактировать существующие меню или создать свои собственные.
Упражнение. Создание контекстных меню
Рис. 14.2. Окно диалога Create Marking Menu
ПРИМЕЧАНИЕ
После выполнения команды Echo All Comands (Отображать все команды) в окне диалога Script Editor (Редактор сценариев) будут отображаться все сценарии и действия, запускаемые с помощью команд языка MEL. В обычном режиме показываются только наиболее важные команды. Язык MEL лежит в основе программы Maya, поэтому любое действие, выполняемое в программе, реализуется посредством команд этого языка сценариев. Наблюдая за командами в окне диалога Script Editor (Редактор сценариев), вы сможете быстрее понять, как работает программа, и освоить синтаксис языка MEL.
СОВЕТ
Если окно диалога Script Editor (Редактор сценариев) заполнено не нужной вам информацией, выберите команду Clear History (Удалить историю) меню Edit (Правка) окна диалога.
Рис. 14.3. Выделение требуемой команды в окне диалога Script Editor
СОВЕТ
Существует альтернативный способ копирования команд языка MEL. Выделите текст и нажмите комбинацию клавиш Ctrl+C, затем щелкните правой кнопкой мыши на одном из серых квадратов окна диалога Create Marking Menu (Создать контекстное меню) и выберите в появившемся меню команду Edit Menu Item (Редактировать пункт меню). В открывшемся окне диалога щелкните на поле Command(s) (Команды) и нажмите комбинацию клавиш Ctrl+V.
Некоторые пользователи предпочитают другой способ. Превратите меню Create (Создать) в плавающее окно. Нажмите комбинацию клавиш Ctrl+Alt+ Shift и щелкните на имени команды. Кнопка, активирующая соответствующий инструмент, окажется на вкладке Shelf (Полка). Теперь остается перетащить ее средней кнопкой мыши на выбранный вами серый квадрат.
ПРИМЕЧАНИЕ
После создания пункта контекстного меню можно проверить, как он работает. В нижнем левом углу окна диалога Create Marking Menu (Создать контекстное меню) находится поле с надписью Click here to test (Для проверки щелкните здесь). Щелчок левой кнопкой мыши приведет к появлению контекстного меню. При этом вы можете не только посмотреть на него, но и проверить, как оно работает. К примеру, щелкните на квадратике, расположенном справа от команды CV Curve (Управляющие точки кривой), как показано на рис. 14.5. Появится окно диалога ToolSettings (Параметры инструмента).
Рис. 14.4. Вид окна диалога Edit North после ввода всех необходимых параметров
Рис. 14.5. Проверка работы контекстного меню
Теперь вы можете самостоятельно создать остальные пункты контекстного меню. Используйте вышеописанный метод и следующие имена команд.
Инструмент | Соответствующая команда меню |
Pencil Curve (Карандаш) | Create > Pencil Curve Tool (Создать > Карандаш) |
ЕР Curve (Построение ЕР-кривой) | Create > ЕР Curve Tool (Создать > ЕР-кривую) |
3 РТ Arc (Построение арки по трем точкам) | Create > Arc Tools > Three Point Circular Arc (Создать > Арку > По трем точкам) |
2 РТ Arc (Построение арки по двум точкам) | Create > Arc Tools > Two Point Circular Arc (Создать > Арку > По двум точкам) |
Вид окна диалога Create Marking Menu (Создать контекстное меню) после добавления перечисленных команд показан на рис. 14.6.
Рис. 14.6. К контекстному меню были добавлены еще четыре команды
Теперь осталось только присвоить контекстному меню имя и сохранить его. Введите в поле Menu Name (Имя меню) окна диалога Create Marking Menu (Создать контекстное меню) имя testMM и нажмите кнопку Save (Сохранить). В итоге это меню будет добавлено в список остальных контекстных меню окна диалога Marking Menus (Контекстные меню). Выделите его в списке, расположенном в верхней части окна. Для того чтобы сделать меню доступным в редакторе клавиатурных комбинаций, выберите в раскрывающемся списке Use Marking Menu in (Использовать контекстное меню в) вариант Hotkey Editor (Редактор клавиатурных комбинаций), как показано на рис. 14.7. Нажмите кнопку Apply Settings (Принять настройки) и закройте окно диалога и редактор сценариев.
Рис. 14.7. Теперь контекстное меню testMM появится в редакторе клавиатурных комбинаций
ПРИМЕЧАНИЕ
Можно точно настроить контекстные меню, используя настройки параметров созданного вами объекта. Вместо того чтобы просто создать объект и скопировать появившиеся при этом строки сценария, откройте окно с его параметрами, щелкнув на квадратике, расположенном справа от команды, приводящей к созданию объекта. Введите в поля появившегося окна диалога параметры, которые вы планируете использовать чаще всего, и создайте объект. В окне диалога Script Editor (Редактор сценариев) появится несколько строк, соответствующих указанным параметрам. Выделите нужные строки кода и выполните действия, описанные в расположенном выше упражнении. Окно с параметрами инструмента требует несколько другого порядка действий, но вы всегда можете поэкспериментировать в поисках кода с нужными параметрами.
Итак, вы создали контекстное меню, теперь нужно назначить ему клавиатурную комбинацию.
Рис. 14.8. Показ команд, соответствующих контекстным меню в окне диалога Hotkey Editor
Автоматизация одной или нескольких задач
Практически любому действию в Maya соответствуют сценарий языка MEL, который можно увидеть в окне диалога Script Editor (Редактор сценариев) после выполнения команды Echo All Comands (Отображать все команды). Любому действию можно назначить команду контекстного меню, а также клавиатурную комбинацию или кнопку вкладки Shelf (Полка).Клавиатурные комбинации
Окно диалога Hotkey Editor (Редактор клавиатурных комбинаций), которое вы видели на рис. 14.9, позволяет редактировать клавиатурные комбинации, назначенные основным функциям Maya. Чтобы посмотреть на полный список существующих в данный момент клавиатурных комбинаций, щелкните на кнопке List All (Показать все). Появится окно диалога List Hotkeys (Список клавиатурных комбинаций), показанное на рис. 14.9.
Рис. 14.9. Список клавиатурных комбинаций, существующих в данный момент
Нижняя часть окна диалога Hotkey Editor (Редактор клавиатурных комбинаций) работает подобно окну диалога, предназначенному для редактирования команд контекстных меню. Достаточно щелкнуть на кнопке New (Создать) и перетащить средней кнопкой мыши соответствующий фрагмент кода из окна диалога Script Editor (Редактор сценариев) в поле Command (Команда). Затем можно назначить клавиатурную комбинацию, указав заодно ее имя, дав описание и причислив к одной из категорий. Если вы не можете четко определить, к какой категории отнести конкретную комбинацию, используйте общую категорию User (Пользовательская).
Вкладки Shelf
Используя описанный выше метод перетаскивания, можно создать на вкладке Shelf (Полка) кнопку, нажатие которой будет приводить к выполнению соответствующей команды.
Можно также создавать новые вкладки. Для этого нужно нажать кнопку с указывающей вниз стрелкой, расположенную слева от вкладок, и выбрать в появив-шемся меню команду New Shelf (Создать полку). Если же выбрать в этом меню команду Shelf Editor (Редактор полок), откроется окно диалога, в котором можно редактировать содержимое полок и вид значков, используемых для кнопок.
Упражнение. Полка и клавиатурные комбинации
Рассмотрим на примере способ создания новых кнопок на вкладках Shelf (Полка) и назначения командам клавиатурных комбинаций.
Рис. 14.10. Выделение необходимой части кода
Рис. 14.11. Редактирование нового элемента вкладки Shelf
Рис. 14.12. Настройки дублирования и строка сценария, инициирующая процесс
Таким способом можно автоматизировать практически любое действие в Maya. По мере получения опыта работы с программой обращайте внимание, какие действия вам приходится выполнять чаще всего. Когда вы решите, что уже освоили базовые методы работы, создайте собственные клавиатурные комбинации, контекстные меню и кнопки на вкладках Shelf (Полка) для наиболее востребованных функций.
Следующей полезной функцией, с которой вам предстоит познакомиться, является использование вспомогательных объектов. Это некие невизуализируемые объекты, содержащие набор элементов управления другими объектами. Сначала создается обычный объект, затем вы скрываете параметры этого объекта в окне каналов и отключаете возможность его визуализации. Теперь достаточно добавить к вспомогательному объекту новый параметр и связать его с важными для вас переменными объектов сцены. Таким способом можно намного упростить создание анимации и управление объектами сцены.
Рис. 14.13. Назначение клавиатурной комбинации вновь созданной команде
Упражнение. Построение вспомогательного объекта
Рис. 14.14. Теперь куб никак не проявит себя при визуализации
Рис. 14.15. С помощью окна диалога Channel Control можно указать как параметры, допускающие анимацию, так и параметры, появляющиеся в окне каналов
Рис. 14.16. Ввод значения атрибута Steering
Рис. 14.17. Настройка ключей управляемых объектов
Рис. 14.18. Параметр куба Steering теперь управляет поворотом обеих шин
Можно переместить куб в точку, расположенную вдалеке от остальных объектов, чтобы облегчить процесс его выделения. В нашем примере он является частью автомобиля, так что вам предстоит связать его соотношением предок-потомок с корпусом автомобиля, который будет смоделирован позднее. Вы можете добавить новые атрибуты и установить другие управляющие ключи. Например, положение вращающихся колес (также управляемое параметром Steering (Управление)), яркость фар (для нее необходимо создать новый параметр Headlights (Свет фар)), положение сидений и другие параметры, которые вы собираетесь анимировать. Кубу желательно присвоить какое-нибудь значимое имя, например аааСаг_ Control. В этом случае его проще будет найти в окне диалога Outliner (Структура).
Профессиональные аниматоры при работе над сложными сценами часто прибегают к многослойному совмещению. Каждый кадр при этом визуализируется в несколько проходов. Это делается по нескольким причинам:
Например, рассмотрим кадр, который представляет собой вид с переднего сиденья потерявшего управление автомобиля, который едет по улице. Этот кадр можно разбить на следующие слои:
Для начала необходимо определить траекторию движения камеры. Возможность осуществить монтаж трехмерной сцены появляется благодаря тому, что камера показывает одно и то же изображение в любом выбранном кадре. В отличие от реальной камеры, нацеливаемой вручную, виртуальная камера всегда движется по заданной траектории. Соответственно, если визуализировать сначала задний, а затем передний план, полученные изображения можно легко скомбинировать, не сталкиваясь с проблемой согласования перспективы. В реальности для получения сходного результата при съемках моделей используются дорогостоящие камеры с автоматизированным управлением. Но даже небольшие различия в положении камеры могут привести к тому, что снятые отдельно объекты будут сползать и скользить относительно фона, на котором они должны находиться неподвижно. При моделировании вида из потерявшего управления автомобиля, движущегося по улице, необходимо задать траекторию движения камеры на ранних стадиях, потому что изменение положения объектов происходит в каждом кадре, что вызывает необходимость повторной визуализации каждого слоя. Если объекты, которые будут фигурировать в окончательном варианте сцены, еще не готовы, их можно заменить аппроксимирующими объектами. Строения и другие автомобили, проезжающие по улице, можно заменить параллелепипедами. Тестовая визуализация движения автомобиля и камеры обычно является достаточной для начала визуализации отдельных слоев. Для ускорения процесса работы над сценой необходимо учитывать несколько факторов:
Если при виде смонтированного изображения клиент говорит, что, например, небо недостаточно чистое или яркое или имеет слишком насыщенный цвет, это легко исправить, добавив эффект размывания, изменив контрастность или понизив насыщенность цвета. То же самое происходит при работе с другими слоями. Можно даже добавить такие трехмерные эффекты, как туман или размывание с расстоянием, используя канал глубины или Z-буфер. Именно этот канал, устанавливает зависимость интенсивности эффекта от расстояния.
Программы многослойного совмещения
Большинство таких программ имеет индикатор, показывающий процесс прохождения визуализации. Слои с различными элементами кадра появляются в определенные моменты времени, и можно менять момент их начала и окончания. Некоторые слои могут представлять собой статичные изображения, но большинство является набором таких изображений. Набор из 60 изображений обычно соответствует 60 кадрам на индикаторе. Верхний слой на индикаторе находится выше расположенного под ним слоя и т. д. Самый нижний слой представляет собой фоновую картинку. Наиболее популярными программами для многослойного совмещения являются After Effect фирмы Adobe, Combustion фирмы Discreet, Shake фирмы Nothing Real, Speed Razor фирмы In-Sync, Commotion фирмы Puffin Design и Digital Fusion фирмы Eyeon.
Использование фонового материала и альфа-канала
Чтобы расположить один слой поверх другого, требуется наличие маски. Вместо того чтобы вручную вырезать объекты из кадра с помощью редактора, можно ви-зуализировать изображение, включив в него маску, называемую альфа-каналом. Это изображение в оттенках серого, в котором черный цвет соответствует полностью прозрачным участкам, а белый — полностью непрозрачным. При этом края контуров представляют собой полупрозрачные области, показанные в оттенках серого. Благодаря альфа-каналу не только упрощается процедура вырезания объекта из сцены, но и решаются проблемы с прозрачностью объектов и со ступенчатым эффектом краев изображения. Именно альфа-канал позволяет получить достоверные результаты с помощью многослойного совмещения.
Иногда бывает непросто выделить слои с объектами. Например, представим себе сцену, в которой автомобиль выезжает из-за одного здания, поворачивается к камере, проезжает мимо другого здания и исчезает за углом третьего. В этом случае не стоит визуализировать автомобиль сам по себе. Нужно включить объекты, которые его скрывают, и назначить им материал Use Background (Использовать фон). Этот материал вырезает дыру в альфа-канале фона в местах расположения объекта. То есть области, в которых находится автомобиль, не появятся в визуализированном изображении альфа-канала. Назначение данного материала объекту приводит к тому, что сам объект и расположенные за ним элементы сцены становятся невидимыми. Однако они могут отражать лучи света и делать видимыми тени от других объектов.
В примере с автомобилем необходимо назначить материал Use Background (Использовать фон) нижним этажам зданий. В результате при перемещении вдоль такого здания автомобиль автоматически исчезнет. Кроме того, можно сделать так, что поверхность, которой назначен данный материал, будет появляться после визуализации только в местах расположения теней. В сцене с автомобилем не существует простого способа смоделировать тень, отбрасываемую автомобилем, которая была бы видна ро всех слоях. Вместо этого необходимо поместить тень в отдельный слой. Сначала объектам, формирующим улицу, назначается материал Use Background (Использовать фон), затем вы указываете, что изображение альфа-канала улицы должно появиться только в местах расположения тени от автомобиля. Этот же материал необходимо назначить самому автомобилю, чтобы он мог отбрасывать тени, но не был видимым при визуализации. В итоге вы получите только тень от автомобиля, которую можно скомпоновать с остальным содержимым сцены.
Как нетрудно догадаться, планирование сложной сцены требует тщательного обдумывания. Маловероятно, чтобы можно было создать сцену с потерявшим управление автомобилем без разделения на слои. По мере знакомства с программами для многослойного совмещения вы научитесь определять, какие из медленно визуализирующихся эффектов можно воспроизвести с помощью такой программы. Лучше всего попытаться самостоятельно разбить на слои сложную сцену и поэкспериментировать с ее последующим совмещением. Таким способом можно найти наиболее гибкий и быстрый способ создания сцены. Ведь при работе с клиентами очень важно не только досконально выполнить требования, но и уложиться в отведенный срок. Иногда статьи, посвященные созданию сцен с описанием используемых методов, можно найти в специализированных журналах.Слои визуализации
Дополнительную гибкость программе Maya придает наличие возможности послойной визуализации. В окне диалога Render Globats (Общие параметры визуализации) есть раздел Render Layer/Pass Control (Управление процессом послойной визуализации), в котором можно установить флажок Enable Render Layers (Включить послойную визуализацию). Результаты визуализации таких параметров, как тени и эффекты трассирования, можно загрузить в программу для многослойного совмещения в виде отдельных изображений. Это дает возможность, к примеру, быстро размыть тени или изменить их цвет, имитируя изменение освещенности, или сделать ярче зеркальные блики.
Существует огромное количество бесплатных приложений к Maya. Их можно взять как на сайте http://www.AHasWavefront.com, так и на сайтах независимых фирм, например, http://www.highend3d.com. Там вы можете познакомиться со способами решения многах типичных проблем и найти служебные программы, облегчающие работу над сценой. Часто эти решения демонстрируют незнакомые вам возможности Maya. Вы можете дополнить программу следующими компонентами:
Рис. 14.19. В окне диалога Plug-in Manager можно указать, какие из дополнительных модулей подключены к Maya
Создание собственных библиотек материалов — многоступенчатый процесс. Во-первых, нужно создать новую вкладку в окне диалога Hypershade (Редактор узлов). Для этого используется команда Create New Tab (Создать новую вкладку) меню Tabs (Вкладки). В появившемся окне диалога укажите имя новой вкладки и установите переключатель Initial Placement (Разместить) в положение Bottom (В нижнем окне)а переключатель Tab Type (Тип вкладки) — в положение Disk (С диска). Поле Root Directory (Корневая директория) служит для указания маршрута доступа к папке, в которой вы сохраняли созданные материалы. В итоге эта вкладка будет содержать набор значков, каждый из которых соответствует одному материалу. Затем можно заменить значки образцами материалов. В результате вкладка примет вид, показанный на рис. 14.20.
Рис. 14.20. Добавление библиотеки материалов на вкладку окна диалога Hypershade
Для того чтобы на вкладке появились образцы материалов, их необходимо визуализировать. Обычно это делается с разрешением 320x240. После того как полученный в результате визуализации файл сохранен в формате IFF, ему нужно присвоить имя соответствующего материала, но с суффиксом swatch. Например, если файл с материалом называется darkwood.та, файл с образцом материала нужно переименовать из darkwood.iff в darkwood.ma.swatch. Затем этот файл нужно скопировать в папку .MayaSwatches, которая расположена непосредственно под папкой, содержащей файлы с материалами. Если она не существует, скопируйте одну из аналогичных папок, расположенных в каталоге AW\Maya\brushes, и затем удалите ее содержимое. Это делается потому, что операционная система не позволяет непосредственно создавать папки с таким именем. В результате при переходе на вкладку, содержащую материалы из библиотеки, вы увидите образцы этих материалов. Затем их можно перетащить средней кнопкой мыши в верхнее окно и назначить объектам сцены.
Теперь, когда вы закончили чтение книги, мы хотим предложить вашему вниманию несколько советов от людей, для которых Maya является орудием труда. Надеемся, это поможет вам понять позицию и стиль мышления профессионалов.
Техника работы
Над созданием анимации обычно работают целые команды. Поэтому сотрудники наиболее успешных студий обычно исповедуют философию командной работы. Вот наиболее типичные высказывания:
«Пока вы несколько раз не примените технику моделирования на практике, считайте, что вы ее не знаете».
«Всегда старайтесь найти способ усовершенствовать свою работу не только как пользователь программы, но и как художник. Иногда источником вдохновения может стать самый неожиданный предмет».
«Учитесь у своих коллег, но и сами будьте готовы поделиться секретами своего мастерства».
«Не стоит скрывать ваши знания! Поделитесь ими с коллегами. Это благоприятно скажется на состоянии проекта и сделает вас уважаемым членом команды».
«Опорные материалы иногда являются просто бесценными. Они помогают сэкономить время и нервы. Кроме того, с их помощью можно показать вашему начальнику, который считает вид модели недостаточно реалистичным, что модель так и должна выглядеть».
«Не стесняйтесь задавать вопросы, если вы чего-то не понимаете. Нет ничего зазорного в том, что вы не знакомы со всеми мельчайшими деталями программы, с которой работаете».
«Не стоит обращаться за советами только к корифеям искусства работы с Maya. Иногда имеет смысл спросить мнение человека, который вообще никогда не занимался компьютерной графикой. Часто именно это помогает взглянуть на проблему под совершенно неожиданным углом, что дает к ключ к ее решению».
«Почти всегда существует более быстрый и простой способ выполнения задания. Поищите его».
«Если вы столкнулись с проблемой, которая кажется неразрешимой, ищите другие пути выполнения задачи. Не всегда самый быстрый путь является самым эффективным».
Карьера в мире компьютерной графики
Начать работать в области компьютерной графики — не такое уж простое дело. О квалификации аниматора судят по его предыдущим работам. Иногда студии принимают новичков, но в основном они предпочитают нанимать людей, которые могут приступить к работе над проектом в первый же день. Вот несколько комментариев по этому поводу:«Беритесь за любую работу по моделированию, которую вам предлагают. Студенческая практика или выполнение персонального заказа значительно отличаются от работы, которую нужно сдать клиенту к строго определенному сроку. Для начала можно работать и бесплатно. Это позволит вам приобрести опыт и найти будущих клиентов».
«Читайте статьи в журналах соответствующей тематики, пока не получите настолько хорошее представление о предмете, что будете выхватывать нужные вам детали, просто пробегая глазами статью, а не прочитывая ее от первой до последней буквы».
«Попав в отрасль компьютерной графики, помогайте другим так же, как другие помогли вам. Пока что это достаточно замкнутый мир и истинные таланты быстро пробиваются наверх».
«Старайтесь принимать участие в крупных презентациях и всегда будьте готовы рассказать о себе и представить свои работы».
«Старайтесь четко представлять границы своих знаний и умений. Существует такая тенденция, что молодые аниматоры переоценивают себя и обещают слишком много».
«Никогда не опаздывайте со сроком завершения работы. Имейте в виду, что не стоит приниматься за работу, если вы не уверены, что сможете выполнить ее к назначенному сроку».
В этой главе мы рассказали вам о возможных путях решения некоторых проблем, ожидающих вас при работе с Maya:
Однрй из наиболее популярных программ для трехмерного моделирования является 3ds max, ранее называвшаяся 3D Studio и 3D Studio MAX (мы будем называть ее просто «МАХ»), Хотя оформление и способ функционирования МАХ значительно отличаются от Maya, существует ряд похожих приемов, используемых при работе с обоими приложениями. Благодаря этому переход пользователей от МАХ к Maya совершается достаточно легко. Это приложение поможет пользователям МАХ найти в Maya привычные инструменты и окна диалога. Все они демонстрируются в фильме MaxToMaya.wmv, находящемся в папке Appendix_A.
Прежде всего, в отличие от МАХ, в Maya состав пунктов главного меню зависит от выбранного режима работы. Первые шесть пунктов меню — File (Файл), Edit (Правка), Modify (Изменить), Create (Создать), Display (Отображение) и Window (Окно) — присутствуют постоянно, состав остальных пунктов меню меняется при выборе в раскрывающемся списке, расположенном слева в строке состояния, одного из четырех вариантов: Animation (Анимация), Modeling (Моделирование), Dynamics (Динамика) и Rendering (Визуализация). Если у вас установлена версия Maya Unlimited, становятся доступными также режимы Live (Трекинг камеры) и Cloth (Моделирование анимации одежды).
Окна проекции
В Maya нет специальных кнопок, активизирующих инструменты изменения масштаба, облета камерой, панорамирования и т. п. Для совершения этих действийиспользуется трехкнопочная мышь и клавиатурные комбинации. Для облета камерой, панорамирования и изменения масштаба нужно нажать клавишу Alt и левую, среднюю или обе эти кнопки мыши одновременно. Перемещение указателя мыши в этом случае приведет к выполнению соответствующей операции. В МАХ тоже существует возможность изменять угол обзора подобным способом, но большинство пользователей об этом не знает. Облет камерой выполняется перемещением указателя при одновременно нажатых клавише Alt и средней кнопке мыши. Для выполнения панорамирования достаточно нажать среднюю кнопку мыши и перемещать указатель. А вращение колесика прокрутки приводит к изменению масштаба объектов в активном окне проекции. В Maya функции панорамирования и изменения масштаба используются не только для окон проекции, но и для многих окон диалога. Особенно это полезно при работе с окном диалога Hypershade (Редактор узлов), используемым для создания и редактирования материалов, так как позволяет просматривать в рабочей области образцы материалов в любом масштабе.
Увеличение масштаба объектов в окне проекции. Нажмите комбинацию клавиш Ctrl+Alt и нарисуйте выделяющую рамку вокруг области, которую вы хотите рассмотреть более пристально. Если создание рамки начинается в верхнем левом углу, а заканчивается в нижнем правом, происходит увеличение масштаба. Чтобы, наоборот, уменьшить масштаб, начните рамку в нижнем правом и закончите в верхнем левом углу. Чем меньше площадь выделяющей рамки, тем большее изменение масштаба можно получить в итоге.
Сцена целиком и выделенные объекты целиком. Все окна проекции в Maya снабжены выпадающим меню, в котором есть команды Frame All Object (Показ всех объектов) и Frame Selected Object (Показ выделенных объектов). Первое активизируется при нажатии клавиши а, вторая — при нажатии клавиши f. Эти команды работают и при использовании различных окон диалога, например Hypershade (Редактор узлов). Нажатие комбинаций клавиш Shift+F и Shift+A приводит к тому, что все объекты сцены или только выделенные объекты изменят масштаб таким образом, чтобы целиком уместиться в границах всех окон проекции сразу.
Изменение размера окон проекции. Чтобы развернуть окно проекции на весь экран или перейти к стандартной четырехоконной конфигурации, достаточно нажать клавишу Пробел. При этом неважно, какое окно проекции является активным в данный момент. На полный экран будет развернуто окно, над которым находится указатель мыши.
Элементы управления
Вместо появившихся в МАХ 4 квадрупольных меню в Maya используется меню оперативного доступа, показанное на рис. А.1. Оно появляется, если нажать и удерживать клавишу Пробел. Этот элемент интерфейса служит для ускорения выбора нужной команды и вызывается щелчком правой кнопки мыши.Вид одного из таких меню показан на рис. А.2. Продвинутые пользователи Maya часто скрывают большинство элементов интерфейса, используя вместо них меню оперативного доступа.
Рис. А.1. Работа с меню оперативного доступа после того, как большинство элементов интерфейса были скрыты
Удобным элементом интерфейса в МАX являются числовые поля. Справа от каждого такого поля находяться две кнопки, одна сос стрелкой, указывающей вверх, а другая со стрелкой, указывающей вниз. В Maya имеется виртуальный ползунок. Для его активизации нужно выелить имя соответствующей переменной в окне каналов и, нажав среднюю кнопку мыши, переместить указатель по горизонтали в любом из окон прроекции.
Справа от большинства команд в Мауа находится квадратик, щелчок на котором приводит к появлению окна диалога с параметрами данной команды. В МАХ, наоборот, параметры объекта или модификатора всегда принимают последние заданные значения. В Maya вы можете легко вернуть параметры к заданным по умолчанию значениям, выбрав команду Reset Settings (Сбросить настройки) в меню Edit (Правка) окно диалога.
Для выделения набора объектов в MAX используется нажатие клавиши Ctrl, сопровождаемое щелчком на объекте, который необходимо добавить в выделенный набор. Если же вы хотите исключить объект из выделенного набора, необходимо щелкнуть на нем при нажатой клавише Alt. В Maya как выделение объектов, так и его снятие осуществляются при нажатой клавише Shift. При этом вы можете выделять объекты щелчками левой кнопки мыши или рисуя вокруг них выделяющую рамку. При этом клавиша Ctrl всегда используется для снятия выделения. Обратите внимание, что в Maya существует только режим пересекающего выделения, то есть выделенными оказываются все объекты, хотя бы частично попавшие в рамку.
Рис. А.2. Квадрупольные меню в МАХ выполняют ту же функцию, что и меню оперативного доступа в Maya
Режимы окон проекции и варианты компоновки
Ортографические и перспективные проекции. В МАХ любые проекции являются случайными и виртуальными, в то время как в Maya существуют невидимые камеры, транслирующие изображение объекта из трех точек. Они формируют проекции Front (Вид спереди), Тор (Вид сверху) и Side (Вид сбоку). Для изменения таких параметров, как ближние и дальние плоскости отсечки, а также поля зрения, необходимо редактирование параметров камеры. Получить к ним доступ можно, выбрав в меню View (Вид) соответствующего окна проекции команду Camera Attribute Editor (Редактор атрибутов камеры). Появляется окно диалога, в котором можно отредактировать параметры камеры. Камеры, демонстри-рующие ортографические проекции, не могут двигаться по кругу. При этом любая центральная проекция может стать ортографической, если установить флажок Orthographic (Ортографический) в окне диалога Attribute Editor (Редактор атрибутов), как показано на рис. А.З. Доступ к параметрам камеры, использующейся для показа центральной проекции, осуществляется аналогичным образом.
Рис. А.З. В окне диалога Camera Attribute Editor можно установить флажок Orthographic и изменить расположение плоскостей отсечки
Режимы показа объектов в окнах проекции. В МАХ достаточно щелкнуть правой кнопкой мыши на имени окна проекции, чтобы получить доступ к выбору режима показа объектов. В Maya переход от режима показа тонированных оболочек объектов к режиму каркасного отображения осуществляется похожим образом, но для этого используется выпадающее меню, расположенное в верхней части окна проекции. Меню Shading (Затенение), показанное на рис. А.4, содержит большинство команд, знакомых пользователям МАХ, которые предназначены для выбора режима показа объектов. Меню Panels (Панели), показанное на рис. А.5, содержит тот же набор команд, что и окно диалога Viewport Configuration (Конфигурации окон проекции) в МАХ.
Компоновка окон проекции. С левой стороны окна Maya расположена панель инструментов, в нижней части которой находится набор кнопок выбора наиболее часто используемых вариантов компоновки окон проекции, как показано нарис. А.6. Щелчок правой кнопкой мыши на любой из кнопок приводит к появлению списка прочих вариантов компоновки. В МАХ для изменения компоновки окон проекции нужно щелкнуть правой кнопкой мыши на имени окна и выбрать в появившемся меню вариант Configure (Конфигурировать) и перейти на вкладку Layout (Компоновка) появившегося окна диалога. В Maya также можно выбирать, какое окно проекции будет показано в каждом конкретном случае, воспользовавшись кнопками с указывающими вниз стрелками, которые расположены под кнопками быстрого выбора варианта компоновки.
Рис. А.4. Настройка режима показа объектов в окнах проекции в Maya
Рис. А.5. Различные варианты компоновки, доступные в Maya
Рис. А.6. С помощью кнопок выбора варианта компоновки и расположенных под ними кнопок со стрелками можно быстро выбрать нужные окна проекции
Создание объектов/источников света/камер. В Maya все создаваемые объекты имеют заданный по умолчанию размер и появляются только в начале координат, в то время как в МАХ можно щелкнуть в произвольном месте и, перетащив указатель мыши, получить объект нужного размера.
Ввод численных данных. В МАХ для получения доступа к вводу точных данных преобразования нужно щелкнуть правой кнопкой мыши на кнопке соответствующего преобразования. В Maya это обычно осуществляется с помощью окна диалога Channel Box (Окно каналов), вид которого показан на рис. А.7. Обычно оно пристыковано к правой стороне экрана. Для изменения параметров нужно просто щелкнуть на поле нужной переменной и ввести новое значение. Поля ввода данных преобразования находятся в верхней части окна каналов, в то время как параметры созданного объекта расположены в нижней его части.
Рис. А.7. Окно каналов в Maya содержит поля ввода численных данных преобразований
Маска выделения. В Maya точно так же, как и в МАХ, можно выбирать категорию выделяемых объектов. Но при этом имеется возможность смешивать и совмещать категории, нажимая кнопки, активизирующие выделение различных объектов, или щелкая правой кнопкой мыши для получения доступа к подкатегориям. Состав кнопок маски выделения, показанных на рис. А.8, меняется в зависимости от выбранного вами режима.
Рис. А.8. Кнопки маски выделения в режиме редактирования объектов
Преобразования объектов. Операции преобразования объектов практически идентичны в Maya и в МАХ. В МАХ кнопки Select and Move (Выделить и переместить), Select and Rotate (Выделить и повернуть) и Select and Uniform Scale (Выделить и равномерно масштабировать) расположены на главной панели инструментов в верхней части окна программы, как показано на рис. А.9. Соответствующие им кнопки в Maya расположены с левой стороны экрана, как показано на рис. АЛО. Появляющийся в результате габаритный контейнер преобразования также практически идентичен в обоих случаях, правда в МАХ имеется возможность выбора осей ограничения преобразования.
Дублирование объектов. Пользователи МАХ в процессе выполнения преобразований нажимают клавишу Shift для получения дубликатов объектов, источников света или камер. В Maya для этой цели используется комбинация клавиш Ctrl+d с последующим изменением положения полученного дубликата.
Рис. A.9. Кнопки перехода в режим преобразований и габаритный контейнер преобразования в МАХ
Рис. А.10. Кнопки перехода в режим преобразования в Maya и управляющие векторы
Создание экземпляров. В Maya параметры, указанные в процессе дублирования, сохраняются. Чтобы вернуть их к заданным по умолчанию значениям или изменить тип получаемого дубликата, следует открыть окно диалога Duplicate Options (Параметры дублирования), показанное на рис. А .11. Теперь можно установить переключатель Geometry Type (Тип дубликата) в положение Сору (Копия) или в поло-жение Instance (Экземпляр). Здесь же можно указать число получаемых дубликатов и их смещение друг относительно друга.
Рис. А.11. Окно диалога Duplicate Options
Связывание объектов. В Maya не существует кнопок, подобных Select and Link (Выделить и связать) и Unlink Selection (Разорвать связь с выделенными объектами). Связывание объектов в иерархические цепочки и разрыв таких цепочек осуществляются с помощью команд, расположенных в нижней части меню Edit (Правка). Им соответствуют клавиша р (для связывания) и клавиатурная комбинация Shift+P (для разрыва связи) Имейте в виду, что в этом случае имеет значение регистр букв.
Создание и редактирование объектов
Моделирование. Этот процесс в Maya осуществляется как на основе полигональных сеток, так и на основе NURBS-кривых. При этом NURBS-кривые в Maya намного сложнее и функциональнее своих аналогов в МАХ. При работе с данными объектами следует принимать во внимание следующие аспекты:
Редактирование подобъектов.
В Maya не существует стека модификаторов, поэтому переход в режим редактирования подобъектов осуществляется немного иначе. Можно щелкнуть правой кнопкой мыши на выделенном объекте и сделать видимым меню с перечнем возможных в данном случае подобъектов. Переход в этот режим осуществляется нажатием клавиши F8 или кнопки Select by component type (Выделение подобъектов), расположенной в строке состояния. При этом состав кнопок маски выделения меняется в соответствии с типом выделенного объекта. Для полигональных объектов это будут ребра, грани и вершины, для NURBS-объектов — изопараметрические кривые, управляющие точки и т. п. Теперь можно активизировать любой из инструментов преобразования. После изменения формы поверхности вернуться в режим редактирования объектов можно, щелкнув правой кнопкой мыши, нажав кнопку Select (Выделение) или же воспользовавшись клавишей F8. Щелчок правой кнопкой мыши на кнопке Select by component type (Выделение подобъектов) приводит к появлению меню, в котором можно явно указать выделяемые типы подобъектов, как показано на рис. А. 12.
Рис. А.12. В режиме выделения подобъектов состав кнопок маски выделения зависит от типа выделенного объекта
Деформации сетки. Некоторые типичные модификаторы МАХ, такие как Bend (Изгиб), Twist (Скрутка) или Skin (Оболочка), можно найти в окнах диалога, появляющихся в режиме Animation (Анимация). В Maya редактирование и деформация объектов в общем случае осуществляются в режимах анимации и моделирования. При этом Maya, как и МАХ, позволяет анимировать практически любой параметр.
История редактирования объектов и стек модификаторов. В Maya история редактирования объектов намного более детализирована по сравнению с МАХ, потому что сохраняется информация о каждом действии, совершенном с объектом, а не только набор примененных к нему модификаторов. Окно каналов в Maya содержит подобный список настроек объектов. В МАХ иногда нужно производить свертку стека модификаторов, чтобы ускорить загрузку файла и уменьшить его размер. В Maya для этого после завершения процесса редактирования объекта необходимо удалить его историю, выбрав команду Edit > Delete by Type > History (Правка > Удалить все объекты типа > История).
Группы. В Maya нет необходимости открывать и закрывать группы. Просто создается допускающий анимацию узел, расположенный выше по иерархии. Для перехода от выделенного члена группы к выделению всей группы используется кнопка ↑. Соответственно, кнопки со стрелками служат для перехода от одного члена иерархии к другому.
Цвета каркасов. В Maya имеется возможность легко изменить цвет каркаса объектов, хотя выбор цветов не настолько обширен, как в МАХ. Выделите объект и используйте команду Display > Wireframe Color (Отображение > Цвет каркаса), вызывающую окно диалога с восемью вариантами цветов, показанное на рис. А.13. Имейте в виду, что цвет каркаса проявляется только после снятия выделения с объекта. Экземпляры одного объекта всегда имеют один и тот же цвет.
Рис. А.13. Процесс выбора цвета каркаса
Слои. В Maya можно работать со слоями, как и в 3D Studio VIZ, в то время как в МАХ эта функция не поддерживается. Слева от имени слоя находятся два квадратика, в первом указывается режим использования слоя, а во втором — видимость расположенных в нем объектов, как показано на рис. А.14. В режиме Reference (Ссылочный) в первом квадратике появляется буква R, а в режиме Template (Шаблон) — буква Т. При этом отсутствует возможность редактирования и выделения объектов, а в последнем случае еще и нельзя использовать объекты слоя в качестве привязки. Кроме того, объекты слоя, находящегося в опорном режиме, хотя и видны в окнах проекции, но не появляются после визуализации. В Maya существует 32 дополнительных цвета, которые можно присваивать слоям. При этом цвет слоя замещает цвет каркасной оболочки объекта. Выделение объекта по имени. В Maya этот процесс осуществляется с помощью окна диалога Outliner (Структура), показанного на рис. А.15, которое может как существовать в виде плавающего окна, так и замещать одно из окон проекции. В этом окне отображаются все элементы сцены, которые могут быть представлены и в алфавитном порядке, и иерархически. Имена скрытых объектов выделены синим цветом. Для выделения набора объектов, имена которых расположеныпоследовательно, достаточно щелкнуть на имени первого объекта и, нажав клавишу Shift, щелкнуть на имени последнего. Если требуется выделить имена объектов, расположенные вразбивку, или снять выделение с какого-нибудь из них, используйте клавишу Ctrl.
Рис. А.14. Выбор режима отображения слоя
Рис. А.15. Окно диалога Outliner позволяет осуществлять выделение объектов по именам
Показ объектов в окнах проекции. В Maya можно сделать объекты невидимыми, как во всех окнах проекции, так и при визуализации. Это осуществляется с помощью команды Display > Hide (Отображение > Скрыть). Далее можно выбрать категорию объектов, которые вы хотите скрыть или же сделать невидимыми все выделенные или, наоборот, невыделенные объекты.
Если же требуется, чтобы объекты определенной категории пропали только из одного окна проекции, следует воспользоваться списком, расположенным в строке состояния. В МАХ объекты также можно скрыть, но они пропадают из всех окон проекции одновременно. Также в Maya существует уникальная команда Isolate Select (Изолировать выделенное), расположенная в меню Show (Показать). Она позволяет оставить видимыми в окне проекции только объекты, выделенные в данный момент.
Настройка параметров и выбор единиц. Набор настроек в Maya существенно отличается от того, к которому вы привыкли в МАХ. Их можно увидеть, выбрав команду Window > Setting/Preferences > Preferences (Окно > Настройки/Параметры > Параметры). Появится окно диалога с набором параметров, но вместо вкладок, как в МАХ, оно содержит список Categories (Категории). Выбрать систему единиц можно, выделив категорию Settings (Настройки).
Обеспечение точности моделирования
Координатные сетки. Щелчок на квадратике, расположенном справа от команды Grid (Сетка) меню Display (Отображение), приводит к появлению окна диалога Grid Options (Параметры сетки), показанного на рис. А.16. В Maya 4 появилась возможность задавать цвет сетки, а также главные и второстепенные линии.
Рис. А.16. Окно диалога Grid Options
Привязки. Возможность работы с привязками в Maya намного превосходит те, что предлагает МАХ. Расположенная в строке состояния группа кнопок, на каждой из которых присутствует изображение подковы, активизирует различные режимы привязки (рис. А.17). Также можно на время включить режимы привязки к сетке, кривым и точкам нажатием клавиш х, с и v соответственно. Maya помогает осуществить привязку объектов к линиям и поверхностям (в этом случае область перемещения объекта ограничена одним или двумя измерениями), а также к точкам (что лишает объект возможности перемещения).
Рис. А.17. Кнопки активизации различных режимов привязки
Измерение расстояний. В Maya, точно так же как и в МАХ, имеется набор вспомогательных объектов, предназначенных для измерения расстояний. Для их активизации используется команда Create > Measure Tools (Создать > Инструменты измерения). Выравнивание объектов. В Maya для этой цели имеются такие же инструменты, как в МАХ. Их можно активизировать с помощью команды Modify > Snap Align Objects > Align Objects (Изменить > Привязки к выровненным объектам > Выравнивание объектов).
Опорные точки. В Maya для перехода в режим редактирования опорной точки и для выхода из него используется клавиша Insert. При этом опорная точка выделенного объекта выглядит как небольшой кружок с точкой в центре, как показано на рис. А. 18. Координатные векторы при этом не имеют стрелок на концах, но их функция от этого не изменилась. Они используются для ограничения перемещения опорной точки.
Рис. А.18. Вид опорной точки в режиме ее редактирования
Освещение
Типы источников света. Основные типы источников света и теней совпадают в Maya и МАХ. Но в Maya имеется и уникальный тип источника света Area (Прямоугольный), позволяющий создавать мягкие тени и полутени. Он просто неоценим при моделировании сцен в интерьере. Кроме того, источник света типа Ambient (Рассеянный) не имеет ничего общего с подсветкой в МАХ, для обозначения которой также используется данный термин. В Maya это точечный источник света, используемый для создания общего фона освещенности сцены, который способен формировать тени.
Создание источников света. В Maya источники света, как и остальные объекты, появляются в начале координат и имеют фиксированный размер, равный единице. Для их создания используется команда Create > Lights > Light Type (Создать > Источники света > Тип источника). Можно изменить размер значка источника света и для всех типов источников света, кроме Area (Прямоугольный), это не окажет никакого влияния на освещенность сцены.
Создание теней. Как в Maya, так и в МАХ имеется два типа теней — трассированные и получаемые на основе карты глубины. В МАХ тени последнего типа являются более размытыми и требуют меньше времени на вычисления, чем более резкие трассированные тени. В Maya границы трассированных теней можно размыть, увеличив радиус источника света, но имейте в виду, что это сильно замедляет время визуализации. Уникальным свойством теней, получаемых на основе карты глубины, является возможность повторного использования этой карты. Это позволяет ускорить проведение визуализации во второй раз. Кроме того, вы можете изменять карту глубины с помощью программ для редактирования изображений. В МАХ тени, полученные на основе карты, вычисляются динамически и не учитываются в каждом следующем кадре.
Исключение объектов из освещения. В Maya можно указать, какие объекты будут освещаться определенным источником света. Для этого используется специальное окно диалога, вызываемое командой Window > Relationship Editors > Light Linking (Окно > Редакторы связей > Связывание источников света). Можно выбирать как источники света, так и объекты. Группировка и назначение мишеней происходит в разделе Light Sets (Наборы источников света).
Материалы
Материалы. Редактор материалов в Maya коренным образом отличается от аналогичного окна диалога в МАХ. Он называется Hypershade (Редактор узлов) и вызывается с помощью команды Window t Rendering Editor > Hypershade (Окно > Редакторы визуализации > Редактор узлов). В рабочей области может располагаться произвольное количество образцов материалов. Создание материала начинается с выбора типа раскраски, затем различным характеристикам материалов можно назначить карты текстур.
Библиотеки материалов. В окне диалога Hypershade (Редактор узлов) вы работаете с материалами, которые хранятся в файлах с разрешениями .та или .mb. То есть можно загрузить эти материалы и назначить их объектам текущей сцены.
Карты текстур. При просмотре параметров материала в окне диалога Attribute Editor (Редактор атрибутов) можно заметить, что справа от имени ряда параметров находится кнопка с рисунком шахматной доски, как показано на рис. А.19. Такой вид кнопки говорит о том, что определенной характеристике материала не была назначена карта текстуры. Рассмотрим соответствие характеристик в МАХ и Maya.
MAX | Maya |
Diffuse (Цвет диффузного рассеяния) | Color (Цвет) |
Opacity (Непрозрачность) | Transparency (Прозрачность) |
Ambient (Подсветка) | Нет аналога |
Self-Illumination (Самосвечение) | Ambient Color (Цвет подсветки) |
Bump (Рельефность) | Bump Mapping (Карты рельефа) |
Glossiness (Глянцевитость) | Eccentricity (Эксцентриситет) |
Specular Level (Сила блеска) | Specular Roll Off (Сила блеска) |
Specular (Зеркальный) | Specular Color (Цвет зеркальных бликов) |
Reflection (Отражение) | Reflected Color (Отраженный цвет) |
В Maya карту текстуры можно добавить также характеристикам материала Diffuse (Цвет диффузного рассеяния), Transluence (Просвечивание), Incandescence (Свечение) и Reflectivity (Отражательная способность):
Рис. А.20. Вид параметров раскраски Blinn в окне диалога Attribute Editor;
кнопки с рисунком шахматной доски показывают те характеристики
материала, которым не была назначена карта текстуры
Процесс формирования эффектов преломления в Maya сложнее, чем в МАХ. Совокупность определяющих его переменных находится в окне диалога Attribute Editor (Редактор материалов), в разделе Raytrace Options (Параметры трассирования). Процедурные текстуры. В Maya существует набор двумерных и трехмерных процедурных текстур, которые можно назначить поверхностям различных объектов.
Показ текстур в окнах проекции. В Maya, как и в МАХ, любая карта текстуры может быть показана в окне проекции. При этом имеется возможность увидеть только одну текстуру за один раз. Сначала следует выбрать команду Smooth Shade All (Сглаживать все) в меню Shading (Затенение) окна проекции, а затем — команду Hardware Texturing (Аппаратное наложение текстур). Тот же самый результат может быть получен нажатием клавиши 6. Если теперь выбрать текстуру в окне диалога Attribute Editor (Редактор материалов) и назначить ее объекту сцены, она будет видна в окне проекции. В отличие от МАХ здесь можно выбирать уровень качества показа текстуры.
Размещение текстур в окнах проекции. Полигональным объектам можно назначать проекционные координаты и редактировать положение текстуры на их поверхности точно так же, как это делается с помощью габаритного контейнера модификатора в МАХ. Для начала следует перейти в режим тонированной раскраски и включить аппаратное наложение текстур в окне проекции. Затем нужно нажать клавишу F3 для перехода в режим Modeling (Моделирование) и, выбрав команду Edit Polygon > Texture (Правка полигонов > Текстуры), указать нужный тип проекционных координат. Появится габаритный контейнер, который позволяет в интерактивном режиме изменять положение текстуры на поверхности объекта. Щелчок на произвольнойточке, не принадлежащей этой поверхности, приводит к исчезновению габаритного контейнера. Чтобы снова сделать его видимым, выделите объект и щелкните на названии типа проекционных координат в окне каналов. Если габаритный контейнер скрыт, нажмите кнопку Show Manipulator (Показать манипулятор), расположенную на панели инструментов, пристыкованной к левой стороне экрана.
Имейте в виду, что в Maya в отличие от МАХ не используются каналы проекционных координат. Вместо этого каждому типу проекционных координат, назначенному объекту, присваивается имя. Для указания проекционных координат, которые редактируются в данный момент, следует щелкнуть на поверхности объекта правой кнопкой мыши и выбрать в появившемся меню команду UV Set (Набор проекционных координат). Появится дополнительное меню со списком всех проекционных координат, которые были назначены объекту. В Maya также имеется режим Automatic Mapping (Автоматические проекционные координаты), не имеющий аналогов в МАХ. Используя его, вы можете развернуть поверхность объекта и назначить ему проекционные координаты с помощью окна диалога UV Texture Editor (Редактор проекционных координат). Для его вызова используется одноименная команда меню Window (Окно). Таким способом можно идеальным образом настроить проекционные координаты для эффектов рисования.
Анимация по методу ключевых кадров. В Maya ключевые кадры создаются несколько более активным способом, чем в МАХ. Для создания ключа анимации достаточно нажать клавишу s. Это приведет к появлению ключей для всех параметров, значения которых изменились к данному кадру. Кроме того, в Maya имеется кнопка Auto Keyframe (Автоматическая установка ключевых кадров), которой в МАХ соответствует кнопка Animate (Анимировать). Однако в Maya эта кнопка не будет работать, пока вы вручную не установите хотя бы один ключ. Необходимо тщательно отслеживать, каким переменным назначаются ключи анимации. Применяя кнопку Auto Keyframe (Автоматическая установка ключевых кадров), можно создавать ключи как Для всех переменных, так и только для тех, значения которых изменяются. Это можно указать в окне диалога Preferences (Параметры), выбрав в списке Categories (Категории) вариант Key (Ключ). В общем случае желательно создавать ключи только для изменяемых параметров. После этого они будут выделены в окне каналов оранжевым цветом.
Настройка анимации. Изменить скорость воспроизведения анимации и другие параметры можно в окне диалога Preferences (Параметры) после выбора в списке Categories (Категории) варианта Settings (Настройки). В МАХ нет кнопки, открывающей это окно диалога сразу на нужной вкладке, в то время как в Maya она находится в нижнем правом углу экрана. Общая длина анимации и величина редактируемой в данный момент области указываются с помощью ползунка диапазона, расположенного под ползунком таймера анимации.
Предварительный просмотр и визуализация
Визуализация. В Maya достаточно щелкнуть на кнопке Render the current frame (Визуализация текущего кадра), расположенной в строке состояния, чтобы визуализировать активное в данный момент окно проекции. Можно выполнять панорамирование и менять масштаб изображения в окне Render View (Визуализатор), как и в любом другом окне проекции.
Настройки визуализации. Все настройки параметров визуализации выполняются в окне диалога Render Globals (Общие параметры визуализации). Его можно открыть, щелкнув на пятой слева кнопке панели инструментов окна диалога Render View (Визуализатор) или выбрав команду Window > Rendering Editors > Render Globals (Окно > Редакторы визуализации > Общие параметры визуализации).
Сглаживание. Визуализатор в Maya отличается от того, который вы использовали в МАХ. Настройки сглаживания для эффектов трассирования и построчного сканирования находятся в окне диалога Render Globals (Общие параметры визуализации). В отличие от МАХ, где сглаживание можно просто отключить, в Maya необходимо выбирать уровень его качества.
Визуализация в сети. В Maya визуализация в сети доступна любому пользователю, купившему дополнительную служебную программу, например Lemon или Muster.
Визуализация слоев. Maya позволяет визуализировать сцену поэлементно, что дает возможность манипулировать с тенями, изменять зеркальные отражения ицвет объектов. Результаты визуализации отдельных элементов можно сохранить в отдельных папках в выбранном формате. Это дает возможность контроля изображения на стадии монтажа.
Окно активной раскраски. В МАХ 4 появилось окно диалога Active Shade (Активная раскраска), позволяющее редактировать материалы и освещенность сцены в интерактивном режиме. Эта функция впервые была разработана компанией TDI, которая затем стала частью фирмы Wavefront и существовала задолго до появления Maya. В Maya этот процесс называется интерактивной фотореалистичной визуализацией. После его завершения необходимо выделить рамкой область, которая будет обновляться при редактировании. Точно так же, как и в МАХ, обновляются только результаты изменения освещенности и материалов. Чем меньше область, на которой вы сфокусируетесь, тем быстрее пройдет процесс визуализации. Имеется также возможность средней кнопкой мыши перетащить материал из окна диалога Hypershade (Редактор узлов) на нужный объект в окне Render View (Визуализатор).
Предварительный просмотр анимации. В МАХ можно быстро увидеть результат создания анимации, создав файл в формате AVI с помощью команды Rendering > Make Preview (Визуализация > Создать эскиз). В Maya для этой цели используется встроенный модуль Playblast (Проигрыватель), который вызывается при помощи одноименной команды меню Window (Окно).
Просмотр треков анимации. В Maya редактирование формы анимационных кривых и положения ключей анимации осуществляется с помощью окон диалога Graph Editor (Редактор анимационных кривых) и Dope Sheet Editor (Монтажный стол). Оно используется для изменения формы анимационных кривых и редактирования положения касательных. Монтажный стол лучше подходит для изменения положения ключей во времени, а также для перемещения групп ключей. В отличие от МАХ, где анимационные кривые всех объектов сцены видны сразу, в Maya имеется возможность наблюдать только кривую объекта, выделенного в данный момент. Можно сохранить текущее положение ключей для последующего использования. Их можно посмотреть в окнах диалога, показывающих параметры выделенного объекта.
Просмотр структуры сцены. Окно диалога Schematic View (Просмотр структуры) имеет практически полный аналог в Maya. Это окно диалога Hypergraph (Граф сцены), которое используется для редактирования любого типа связей. Например, можж) разорвать связь между частями материала и поменять их друг с другом. Основные функции, действующие в этом окне диалога, вызываются щелчком правой кнопки мыши.
Видеомонтаж
Хотя в Maya нет элементов интерфейса, подобных окну диалога Video Post (Видеомонтаж) в МАХ, по-прежнему можно создавать такие эффекты, как Glow (Сияние), Depth of Field (Глубина резкости) и Lens Flare (Светорассеяние в объективе).
Объемный свет. В Maya этот эффект создается в разделе Light Effects (Световые эффекты) окна диалога Attribute Editor (Редактор атрибутов) для источника света типа Spot (Прожектор). Щелкните на кнопке с рисунком шахматной доски, распо-ложенной справа от имени параметра Light Fog (Светящийся туман), для создания эффекта светящегося тумана.
Туман. Этот эффект настраивается в окне диалога Render Globals (Общие параметры визуализации) и создается дополнительной обработкой визуализированного изображения.
Сценарии
Аналогом языка MAXScript в Maya является язык MEL. Часть кода, появляющегося в окне диалога Script Editor (Редактор сценариев) при выполнении некоторого набора команд, можно перетащить на вкладку Shelf (Полка), используя среднюю кнопку мыши. При этом на вкладке появится новая кнопка, нажатие которой будет приводить к повторному выполнению точно такого же набора команд. При этом язык MEL намного более всеобъемлющ, чем MAXScript. Он является неотъемлемой частью Maya, так как любому действию, выполненному программой, соответствует команда этого языка.
Частицы и имитация динамики
Частицы. В Maya способ создания частиц кардинальным образом отличается от того, к чему вы привыкли в МАХ. Можно нарисовать их начальное положение, поместить в сцену генератор частиц или же заставить их исходить из поверхности произвольного объекта. Большинство типов частиц необходимо визуализировать апларатно, комбинируя затем с полученным обычным путем изображением сцены.
Имитация динамики. В Maya имеется модуль, предназначенный для имитации динамики твердых и упругих тел. Вместо объемных деформаций, использующихся в МАХ, в Maya применяются поля (fields), воздействующие на выделенные объекты сцены и позволяющие осуществлять значительно более точную настройку. Окно диалога Dynamic Relationship (Динамические связи), вызываемое с помощью команды Window > Relationship Editors > Dynamic Relationship (Окно > Редакторы связей > Динамические связи), позволяет указывать, какие именно объекты должны попададь под действие поля. Как и объемные деформации в МАХ, поля влияют и на системы частиц, и на объекты, принимающие участие в имитации динамики.
Импорт/Экспорт из Maya в МАХ
На сайте компании Alias Wavefront можно скачать бесплатный модуль для импорта файлов .3ds, который является основным средством преобразований сеток при экспорте из МАХ. Однако для всестороннего преобразования лучше воспользоваться программой Polytrans, созданной компанией Okino (http://www.okmo. com). На момент написания книги ее стоимость составляла 800 $. Версия для Maya содержит модуль импорта и экспорта файлов, созданных в МАХ. Существует промежуточный формат .bdf, поддерживающий преобразование из Maya в МАХ и обратно практически любой части сцены, включая анимацию, камеры, источники света, материалы, NURBS-объекты и полигональные сетки.
Версия LightWave 7 отличается появлением в этой замечательной программе для работы с анимацией компании NewTek большого количества новых функций. Хотя эти функции увеличивают возможности программы, методика создания анимации с ее помощью остается той же самой. Пользователи LightWave найдут в Maya много привычных деталей, но в целом у этих программ есть фундаментальные различия. Кроме того, существует разница и в используемой терминологии. Например, под термином MetaNURBS в LightWave и термином NURBS в Maya подразумеваются разные понятия, но при этом инструменты Subdivision Surfaces (Подразбиваемые поверхности) и MetaNURBS во многом похожи. В предыдущем приложении было приведено исчерпывающее руководство для пользователей 3ds max, в котором основное внимание уделялось расположению основных элементов интерфейса, необходимых аниматору. Большая часть этой информации пригодится и пользователям LightWave, в частности сведения, касающиеся таких общеупотребительных функций, как, например, привязки. При этом данное приложение посвящено описанию отличительных черт, присущих только программе LightWave.
В отличие от модулей Layout (Компоновка) и Modeler (Модельер), создание сцены в Maya происходит в одном рабочем пространстве. Моделирование, именование и редактирование объектов может осуществляться в любой момент, параллельно с другими процессами создания объектов, их редактирования и анимации. В Maya не требуется загружать объекты, смоделированные отдельно, из внешних файлов, как это приходится делать в LightWave. Вы просто создаете единый файл сцены, содержащий все объекты, анимацию, источники света и прочие элементы. Внешними остаются только растровые текстуры и аудиофайлы. Исключением являются опорные объекты, к использованию которых приходится прибегать при групповой работе над проектом. Такие объекты появляются в сцене, оставаясь недоступными для редактирования, как в модуле Layout (Компоновка).
В Maya объекты и их группы могут быть помещены в разные слои, но смысл этого действия отличен от того, с чем вам приходилось сталкиваться в Light Wave. В этой программе каждый объект обязательно должен принадлежать определенному слою. Затем нужный слой можно легко выделить и активизировать с помощью переключателя. При этом неактивные слои видимы, но недоступны для редактирования. Аналогом этого в Maya являются режимы Template (Шаблон) и Reference (Ссылочный). Слои в Maya больше всего похожи на слои, используемые в CAD. Их основным назначением является разбиение объектов сцены на группы, которые при необходимости можно скрыть или сделать видимыми.
В LightWave все настройки источников света и детализации текстур производятся в окне проекции. В Maya можно настроить источники света в каждом из окон проекции отдельно. Уровень детализации текстур в Maya устанавливается в окне диалога Hypershade (Редактор узлов).
В Maya параметры любых элементов сцены можно изменять в любой момент, вызвав окно диалога Attribute Editor (Редактор атрибутов). Это плавающее окно появляется при нажатии клавиатурной комбинации Ctrl+a. Оно напоминает окно Object Properties (Свойства объектов), используемое в LightWave, но намного более полно связано со всеми аспектами выделенного элемента сцены. Управление элементами сцены в Maya может осуществляться в режиме просмотра структуры, как и в LightWave. Окно Hypergraph (Граф структуры) в Maya очень похоже на окно Schematic View в LightWave. Однако взаимные связи в окне Hypergraph являются более сложными и гибкими.
В Maya невозможно осуществить быстрый выбор списка объектов, как это делается в LightWave. Наиболее близким в этом смысле инструментом является окно диалога Outtiner (Структура), в котором можно выделять объекты по номерам. Кроме того, в LightWave в каждый момент времени должен быть выделен какой-нибудь объект. В Maya этого ограничения нет.
С помощью модуля Layout (Компоновка) можно редактировать объекты, источники света, камеры и прочие элементы, переходя на нужную вкладку. Эта операция приводит к изменению состава кнопок на левой (а в некоторых случаях на правой) стороне окна. В Maya тоже имеется подобная функция. В версии Maya Complete существуют четыре режима: Modelling (Моделирование), Dynamics (Динамика), Animation (Анимация) и Rendering (Визуализация). При переходе из одного режима в другой неизменными остаются только шесть первых пунктов главного меню.
В LightWave имеется несколько способов изменения масштаба, панорамирования и облета камерой. С помощью клавиатурных комбинаций можно осуществлять перемещения небольшими порциями, кроме того, есть кнопки, предназначенные для управления окнами проекции.
Большинство пользователей ограничиваются применением именно этих двух методов. Аналогов подобных функций в Maya нет. Но в LightWave изменять угол обзора можно также с помощью клавиш Ctrl и Alt и нажатия одной из кнопок мыши, точно так же, как и в Maya. В LightWave нажатие комбинации клавиш Ctrl+Alt и одновременное нажатие левой кнопки мыши, сопровождаемое перемещением указателя, приводит к изменению масштаба изображения в окне проекции. Для панорамирования необходимо одновременно нажать левую кнопку мыши и комбинацию клавиш Shift+Alt и перемещать указатель. Если нажата только клавиша Alt и левая кнопка мыши, перемещение указателя приводит к облету камерой. В Maya для этих операций используется только клавиша Alt в комбинации с левой и средней кнопками мыши. Одновременное нажатие этих кнопок, сопровождаемое перемещением указателя, приводит к изменению масштаба объектов в окне проекции, средняя кнопка мыши отвечает за панорамирование, а левая — за облет камерой. Эти действия являются основными способами управления окнами проекции в Maya. Кроме того, с их помощью можно осуществить изменение масштаба и панорамирование содержимого различных окон диалога.
В LightWave практикуются всплывающие окна диалога, вызываемые нажатием комбинации клавиш Ctrl+Shift. Можно использовать левую, среднюю или правую кнопку мыши, чтобы открыть таким способом окно диалога. Аналогом этой функции в Maya являются контекстные меню. Однако есть и некоторые отличия. Во-первых, существует возможность создать десятки таких меню, назначив каждому из них определенную клавиатурную комбинацию. Во-вторых, при нажатии этой комбинации все время будет появляться одно и то же меню, какую бы кнопку мыши вы ни нажали. Как правило, контекстные меню в Maya создаются пользователем. Для выполнения упражнений этой книги мы создали набор таких меню, чтобы дать вам понять основную идею работы с ними. Также в Maya существует меню оперативного доступа, содержащее все функции сразу. Сделать его видимым можно, нажав и удерживая клавишу Пробел. Большинство пользователей Maya скрывают почти весь интерфейс программы, чтобы освободить дополнительное рабочее пространство, и вызывают все необходимые команды двумя этими способами.
Как уже упоминалось, основное различие между LightWave и Maya состоит в том, что Maya не использует для моделирования отдельный модуль. В версии Maya Complete есть два типа моделирования — на основе NURBS-кривых и наоснове сеток полигонов, в то время как в Light Wave возможно моделирование на основе метасфер, фрагментов и полигонов. MetaNURBS в LightWave не являются неоднородными рациональными В-сплайнами в прямом смысле слова. Скорее, это своего рода результат дополнительного разбиения полигональной сетки. А в Maya вам придется иметь дело с поверхностями, построенными на основе NURBS-кривых, что дает возможность, редактируя и даже анимируя управляющие точки, менять форму объекта. Это идеально подходит для построения сложных объектов с гладкой поверхностью.
Кроме того, в Maya имеется полный набор инструментов для работы с сетками полигонов. Возможность деления полигонов приводит к появлению сглаженных поверхностей, подобных тем, которые возникают в LightWave при работе с мета-сферами. В версии Maya Unlimited имеется инструмент Subdivision Surfaces (Под-разбиваемые поверхности), работа с которым больше всего похожа на редактирование MetaNURBS-объектов. Данный метод особенно хорошо подходит для моделирования объектов органического происхождения.
В Maya вы найдете те же основные типы источников света, к которым привыкли за время работы в LightWave, кроме Linear Light (Линейный свет). Аналогом источника света Distant Light (Удаленный свет) в Maya является источник типа Directional (Направленный). Также в Maya имеется источник света типа Ambient (Рассеянный), который способен освещать все поверхности объектов сцены вне зависимости от их местоположения.
В Maya в отличие от LightWave не существует общего освещения. Кроме того, невозможно создать эффект коррозии с помощью трассирования. Впрочем, на сайте компании Alias|Wavefront можно скачать программу, позволяющую моделировать упомянутый эффект.
Тени, полученные на основе карты глубины, и трассированные тени в Maya имеют аналоги в LightWave. Их вид задается при помощи окна диалога Attribute Editor (Редактор атрибутов). Здесь же можно указать параметры различных оптических эффектов, точно так же, как это делается в окне Properties (Свойство) в LightWave.
Аналог окна диалога Surface Editor (Редактор поверхностей) в LightWave в Maya носит название Hypershade (Редактор узлов) и работает в значительно более свободной манере. Используются плавающие образцы материалов, которые связываются друг с другом для получения определенных эффектов. Например, можно назначить процедурную текстуру Checker (Шахматное поле) характеристике Color (Цвет), что приведет к замене однородного цвета материала текстурой шахматной доски.
В Maya редактирование материалов осуществляется в окне диалога Attribute Editor (Редактор атрибутов), где вы можете найти знакомые переменные: цвет диффузного рассеяния, цвет, сила блеска и т. п. В Maya есть возможность назначить карту текстуры параметру любой другой текстуры. Например, любому из двух цветов карты Checker (Шахматное поле) можно назначить какую-нибудь другую карту текстуры. В Maya не существует режимов смешивания, которые являются частью создания текстур в Light Wave, но такой же эффект можно получить с помощью узла Layered Texture (Многослойная текстура). Процедурные текстуры в Maya обычно не оставляют видимыми текстуры, лежащие под ними. Наоборот, текстура полностью замещает исходное значение характеристики, которой она назначена. Например, если создать материал с рисунком шахматнЬй доски в LightWave, сквозь черные квадраты будет просвечивать или текстура, назначенная этой поверхности ранее, или же исходный цвет поверхности, в то время как в Maya предыдущие характеристики поверхности будут полностью заменены текстурой. Добиться просвечивания лежащего ниже слоя можно с помощью узла Layered Texture (Многослойная текстура).
Оба окна диалога Attribute Editor (Редактор атрибутов) и Hypershade (Редактор узлов) показывают образец материала на сфере. Но в редакторе узлов вы можете при необходимости изменить масштаб показа материала и прибегнуть к панорамированию.
К сожалению, в Maya не реализована возможность получения на основе одного материала различных раскрасок. Наоборот, каждый материал имеет в своей основе одну из базовых раскрасок: по Ламберту, по Блинну, по Фонгу и т. п. Для получения эффекта мультфильма используется специальный тип раскраски Shading Map (Карта затенения). Кроме того, материалы в Maya могут создаваться и назначаться при необходимости, а не определяются объектами сцены, как это происходит в LightWave. Любому вновь созданному объекту назначается простой материал на основе раскраски по Ламберту, но обычно пользователи заменяют его другим материалом, созданным собственноручно. Материалы могут быть созданы даже в сцене, не имеющей объектов.
Проекционные координаты
NURBS-объекты в Maya имеют встроенные проекционные координаты, определяющие способ расположения текстуры на их поверхности. Для объектов, полученных на основе полигональных сеток, вы должны сами назначить проекционные координаты, что напомнит вам работу с LightWave. Правда, при этом имеется возможность в интерактивном режиме менять размер манипулятора, что позволяет расположить текстуру точно в требуемом месте. Кроме того, в Maya используется метод, называемый автоматическим проецированием, который позволяет развернуть и сшить между собой проекционные координаты объекта. Благодаря этому можно избежать нестыковок отдельных частей карты текстуры между собой.
Создание анимации по методу ключевых кадров. Процессы создания анимации в Maya и LigtWave во многом похожи. В Maya не существует элемента интерфейса, отвечающего за создание ключа, достаточно просто нажать клавишу s. Это приводит к появлению ключа для текущего кадра, в общем случае — только для тех параметров, значения которых были изменены. Кроме того, имеется воз-можность указать, нужно ли создавать ключ для всех анимируемых параметров или только для тех, которые редактируются в данный момент. Большинство пользователей выбирают последнее, чтобы избежать появления лишних ключей. В Maya существуют и другие способы их создания. Например, можно щелкнуть правой кнопкой мыши на именах нужных параметров в окне каналов и выбрать в появившемся меню команду Key Selected (Установить ключ для выделенного параметра). Можно выделить имена нескольких параметров, и создать для них ключи одним щелчком.
Окна редактирования анимации. Все окна редактирования анимации в Light Wave имеют свои аналоги в Maya. Для окна Scene Editor (Редактор сцены) это окно диалога Dope Sheet (Монтажный стол), для окна Motion Mixer (Монтаж движения) — окно Тгах Editor (Редактор слоев анимации). Окно диалога Graph Editor (Редактор анимационных кривых) имеет одноименный аналог в Maya.
Анимация персонажей. В Maya происходит создание скелетов на основе сочленений, которые аналогичны системе костей, используемой в Light Wave.
Интерактивный режим визуализации. В Maya имеется функция IPR (Интерактивная фотореалистичная визуализация), являющаяся аналогом функции VIPER в LightWave. Она позволяет получить быстро обновляемую выделенную область сцены после редактирования параметров источников света и материалов.
Предварительный просмотр. В Light Wave запуск предварительного просмотра находится в группе кнопок, управляющих воспроизведением анимации, что позволяет быстро осуществить воспроизведение анимированного сегмента в режиме тонированной раскраски. В Maya эту функцию выполняет модуль Playblast (Проигрыватель).
Визуализация. В Maya достаточно нажать кнопку Render the current frame (Визуализация текущего кадра) в строке состояния, чтобы визуализировать текущий кадр. Настройки, обычно назначаемые в LightWave в качестве свойств камеры, в Maya располагаются в окне диалога Render Globals (Общие параметры визуализации). К ним относятся разрешение, размывание в движении, качество трассирования и т. п. Параметры камеры в Maya включают только поле зрения, глубину резкости и другие настройки, присущие исключительно камерам. В Maya можно визуализировать вид в окне ортогональной проекции, используя камеру, транслирующую такое изображение. Четыре окна проекции на самом деле соответствуют четырем камерам, одна из которых показывает изображение в центральной проекции, а три другие — в ортогональных. В Maya всегда визуализируется активное окно проекции.
В Maya нет аналогов функций Compositing (Компоновка изображения) и Image Processing (Обработка изображений), имеющихся в LightWave. В общем случае, приходится использовать дополнительные программы для обработки изображения, чтобы изменить результат визуализации. При этом данные программы являются намного более гибкими и мощными, чем соответствующие функции LightWave. В Maya также можно визуализировать различные элементы изображения в отдельные файлы. Благодаря этому можно отдельно редактировать тени, зеркальные блики и другие характеристики изображения. Отдельно изменяя интенсивность теней или размывание зеркальных бликов, можно быстро отредактировать итоговое изображение. Это освобождает от необходимости проведения повторной визуализации.
Глубина резкости пространственного изображения в Maya достигается с помощью трассирования. При этом интенсивность и фокусировка эффекта настраиваются в окне диалога Attribute Editor (Редактор атрибутов) для камеры. В LightWave этот эффект реализуется посредством назначения фильтра итоговому изображению.
Эффекты типа Lens Flare (Блики линз) в Maya являются свойством источника света, создающего блики. Эффект Glow (Сияние) — это свойство материала. Блики и сияние автоматически визуализируются после установки соответствующих флажков в окне диалога Attribute Editor (Редактор атрибутов).
Для преобразования файла, полученного в LightWave, в формат Maya лучше всего подходит программа Polytrans компании Okino (http://www.okino.com). Она работает непосредственно в Maya и предназначена для импорта файлов с расширениями Awo (файлы с объектами) и .Iws (файлы сцены).Эта программа обеспечивает преобразование практически любой части сцены из LightWave if Maya, включая анимацию, камеры, источники света, иерархические цепочки, основные материалы и полигональные объекты. На момент написания данной книги стоимость программы Polytrans составляла около 800 $.
Ранее работать с Maya можно было в трех операционных системах: IRIX, Windows и Linux. С недавнего времени появилась также версия Maya для Macintosh OS X. Первый вариант программы был разработан только для IRIX. Затем появилась версия для одной из наиболее популярных на сегодняшний день платформ — Windows NT. По мере эволюции данного семейства операционных систем (Windows NT, Windows 2000 и, наконец, Windows XP) происходила разработка совместимых с ними версий Maya. Программа Maya 3 уже могла работать в Linux. Именно об этой операционной системе в основном пойдет речь ниже. Maya 4 для Linux появилась в ноябре 2001 года. Версия Maya для операционной системы Macintosh OS X начала продаваться в сентябре 2001 года. По своей сути это была Maya 3, но с визуализатором, разработанным для Maya 4.
Если вы выбираете операционную систему для своей рабочей станции, стоит учесть, что Windows NT/2000 является одной из наиболее распространенных систем, соответственно, большинство приложений оптимизированы под работу в этой среде. Если же вы хотите попробовать что-нибудь новое, можно остановиться на Linux. Но следует учесть, что программного обеспечения для этой операционной системы на данный момент не так уж много.
Даже если вы никогда не работали в Linux, вы, скорее всего, слышали об этой системе. Ее уникальность состоит в том, что она распространяется бесплатно и любой может вносить изменения в ее исходный код. Некоторые версии, полученные в результате таких изменений, выпускаются в виде дистрибутивов Linux. Развитие графического интерфейса пользователя (X Window) сделало Linux более популярной системой у среднестатистического пользователя. Многие считают, что это — удачная альтернатива более дорогим операционным системам. Linux, как и любая UNIX-система, имеет небольшие системные требования и эффективно использует имеющиеся ресурсы, обеспечивая при этом бесперебойную работу.
Red Hat: Linux для Maya 4.01
Фирма Red Hat (http://www.redhat.com) является одним из лидеров в разработке, установке и поддержке системы Linux и прочих программ с открытым исходным кодом. Именно поэтому первая версия Maya для Linux, созданная компанией Alias|Wavefront, была разработана именно для Red Hat Linux 6.2. Установка Maya на компьютере с операционной системой Linux коренным образом отличается от стандартного процесса установки в Windows, но компания Alias|Wavefront предоставляет всю документацию, необходимую в данном случае.
Maya также прекрасно работает и на более новой версии Linux — Red Hat 7.1. Опыт показывает, что лучше всего использовать именно эту версию операционной системы, так как в этом случае вы избежите проблем с драйверами видеоадаптеров. Любая версия Linux поддерживает работу приложений на многопроцессорных конфигурациях.
Альтернативное программное обеспечение
Что можно сказать о других программах, которые приходится использовать в процессе работы с Maya? Основная проблема состоит в том, что в Linux у вас нет доступа, например, к продуктам компании Adobe. В некоторых случаях можно обойтись только Maya, но что делать, если потребуются также программы After Effect, Photoshop или Illistrator? В Linux есть аналоги наиболее популярных приложений, но большинство пользователей не хотят заниматься изучением совершенно нового программного обеспечения. К счастью, существует возможность запуска в Linux некоторых Windows-приложений.
Wine
Программа Wine (http://www.winehq.com) дает возможность использовать 16- и 32-разрядные приложения для Windows в среде UNIX. Она предлагает инструментальные средства, позволяющие портировать программный код. Также эта программа позволяет напрямую запускать в UNIX исполняемые файлы для Windows 3.1/95/NT.
Имейте в виду, что программа Wine была создана независимо от Windows, поэтому в ней не используется код, разработанный компанией Microsoft.
Shake
Аналогом программы Adobe After Effects для Linux является Shake, производимый компанией Nothingreal (http://www.nothingreal.com/productVshakejDrodInfo.shtml). Этот продукт используется для создания спецэффектов в кино. Он применялся в таких фильмах, как «Матрица», «Титаник», «Гладиатор» и т. п.
Gimp
Программа Photoshop является одним из важнейших инструментов для тех, кто работает в области компьютерной графики. Без нее, к примеру, было бы довольно сложно создавать карты текстур. В результате для пользователей операционной системы Linux был разработан аналог этой программы, который называется Gimp (http://www.gimp.org). Он является совершенно бесплатным и предлагает полный набор функций, которые можно найти в Adobe Photoshop, например, создание композиции из нескольких изображений, ретуширование фотографий, создание текстур и многое другое. Существует множество дополнительных модулей и сценариев для Gimp, но огромная база модулей, разрабатываемых для Photoshop, остается ему недоступной.
Отличительные черты Maya для Linux
Maya в среде Linux работает в целом так же, как и в других операционных системах, но есть ряд моментов, на которые хотелось бы обратить ваше внимание. Основное отличие состоит в том, что дополнительные модули должны быть адаптированы под Linux. Это касается также сценариев на языке MEL. Отсутствует возможность загружать и сохранять файлы в форматах AVI и SGI. Кроме того, могут возникнуть следующие проблемы:
IRIX, как и Linux или OS X, является вариантом операционной системы UNIX. Она была разработана для компьютеров производства компании Silicon Graphics и продолжает использоваться на любых компьютерах этой фирмы. Модели О2 или Octan остаются особенно популярными в киноиндустрии.
IRIX версии 6.5 является представителем UNIX-систем пятого поколения. Она предлагает множество возможностей обработки данных, оптимизирована для визуализации трехмерных сцен в режиме реального времени и предоставляет собой масштабируемую и очень стабильную систему.
Почему именно IRIX?
Вам придется установить операционную систему IRIX, если вы выбрали компьютер SGI. Машины данного типа идеально подходят для работы с графикой, в том числе и для использования Maya, но они стоят значительно дороже, чем компьютеры PC или Macintosh. Еще в конце 1990-х компьютеры SGI намного превосходили все прочие в области создания трехмерной графики. Но по мере эволюции графических карт для персональных компьютеров разрыв стал понемногу сокращаться.
Кроме того, появилась возможность ускорить работу Maya за счет использования многопроцессорных конфигураций, ставших основной частью систем, предназначенных для работы с трехмерной графикой. Благодаря этому компьютеры SGI стали популярны на рынке графических систем, так как IRIX была первой UNIX-системой, использовавшей симметричные многопроцессорные конфигурации. При этом количество процессоров может быть больше восьми. IRIX 6.5 работает на таких компьютерах фирмы SGI, как Indy, Indigo (R4000), Indigo2, Power Indigo2, Onyx, Silicon Graphics Onyx, Silicon Graphics Onyx2, Silicon Graphics Octane, Challenge, Power Challenge, SGI Origin 200 и Cray SGI Origin 2000 SGI.
Любители IRIX используют Linux
Если вы привыкли работать с IRIX или, являясь пользователем операционной системы Linux, знаете о великолепных возможностях IRIX, то вам стоит попробовать X desktop. Так как в Linux существует возможность выбирать из нескольких оконных менеджеров (например, KDE, GNOME и др.), на основе рабочей станции с графическим интерфейсом пользователя IRIX был разработан Indigo Magic Desktop http://5wdm.org/IMD/index.html). Применение этого продукта даетвозможность получить «настоящий» опыт работы с компьютером SGI, используя Linux. Этот оконный менеджер создавался с учетом потребностей SD-графики, обеспечивая скорость, простоту в работе и возможности мультимедиа-системы. Можно переключиться из окна с bash в окно csh и запустить Linux-версию Indigo Magic Desktop.
Первоначальная версия Maya для Macintosh была основана на Maya 3, но использовала систему визуализации от Maya 4. Единообразие аппаратного обеспечения Macintosh обеспечивает устойчивость работы программного обеспечения. Впрочем, это же можно сказать и об IRIX. Необходимо использовать процессор G4 и выше и операционную систему OS X. Минимальное требование к оперативной памяти — 256 Мбайт. Кроме того, для работы с Macintosh необходима трехкнопочная мышь.
Имейте в виду, что Maya была разработана для профессиональных операционных систем класса Windows, а именно Windows NT/2000/XP. То есть ее невозможно запустить под Windows 3.11/95/98. Если вы используете операционную систему Windows NT 4 или Windows 2000, не забудьте про служебный пакет программ. В противном случае многие свежие драйверы для видеокарт, которые сейчас можно получить бесплатно на сайте компании Microsoft, не будут работать корректно.
Новая версия Windows 2000, называющаяся Windows XP, не существовала в момент выхода Maya 4. Пользователи, желающие установить у себя эту операционную систему, могут не беспокоиться о ее совместимости с Maya. В основе Windows XP лежит ядро операционной системы Windows 2000, соответственно, проблем с запуском Maya не будет. Тесты показали, что в Windows XP Maya работает стабильно. Однако, если у вас возникли проблемы, имейте в виду, что в этой операционной системе существуют встроенные функции, позволяющие эмулировать работу в Windows 95/98, NT 4.0, а также в Windows 2000. Переход к Windows XP лучше всего осуществлять путем удаления предыдущей операционной системы, хотя при этом вам и придется повторно установить все необходимые приложения. Зато таким способом можно избежать большинства проблем с совместимостью приложений и операционной системы, которые возникают в процессе обновления.
Существует два различных выпуска Windows XP: Home Edition и Professional Edition. Первый предназначен для непрофессиональных пользователей и включает в себя все новые мультимедийные функции и защищенную конфигурацию. Но тестирования работы Maya для этого выпуска не проводились. Именно поэтому профессиональные аниматоры работают с Professional Edition, имеющим улучшенные параметры безопасности, удаленные соединения, поддержку многопроцессорных конфигураций, совместимость с обслуживающими устройствами и возможность выбора языка. Впрочем, как это обычно происходит с новыми версиями операционных систем, сначала бывает довольно сложно найти необходимые драйверы. Кроме того, пока что ни драйверы, ни сама операционная система не были в достаточной степени избавлены от ошибок.
Вид файлов Maya не зависит от того, на какой платформе вы работаете. Поэтому любая версия Maya 4.x в любой операционной системе должна читать файлы, созданные в другой операционной системе. Так как Maya для Macintosh построена на основе Maya 3, при попытке загрузить файлы, созданные программой Maya 4.x, могут возникнуть проблемы совместимости.
Вид встроенных модулей и сценариев языка MEL обычно зависит от того, в какой операционной системе вы работаете, хотя большинство MEL-сценариев для Maya 3 превосходно подходит и для Maya 4. Перед началом работы с программой убедитесь, что вы установили корректные версии встроенных модулей и сценариев.
Клавиатурная комбинация | Функция |
Alt + левая кнопка мыши | Облет камерой |
Alt + средняя кнопка мыши | Панорамирование |
Alt + левая кнопка мыши + средняя кнопка мыши | Изменение масштаба изображения |
f | Размещение выделенного объекта в границах активного окна проекции |
Shift +F | Размещение выделенного объекта в границах всех окон проекции |
а | Изменение масштаба таким образом, чтобы все объекты сцены уместились в границах активного окна проекции |
Shift + A | Изменение масштаба таким образом, чтобы все объекты сцены уместились в границах всех окон проекции |
Пробел | Разворот активного окна проекции на весь экран |
[ | Возврат камеры к предыдущему состоянию |
] | Повтор операции с камерой |
Режимы
Клавиатурная комбинация | Функция | |
F2 | Анимация | |
F3 | Моделирование | |
F4 | Динамика | |
F5 | Визуализация | |
F8 | Вкл./выкл. режима выделения подобъектов | |
F9 | Редактирование вершин и управляющих точек | |
F10 | Редактирование ребер | |
F11 | Редактирование граней | |
F12 | Редактирование проекционных координат | |
Insert | Редактирование положения опорной точки |
Иерархии
Клавиатурная комбинация | Функция |
Р | Соединить объекты в иерархическую цепочку |
Shift +P | Разорвать иерархические связи между объектами |
Ctrl + g | Сгруппировать выделенные объекты |
t | Выделить группу, расположенную выше в иерархической цепочке' |
Выделение объектов
Клавиатурная комбинация | Функция |
Ctrl + q | Выделение с помощью инструмента Lasso |
Ctrl + левая кнопка мыши | Удалить элемент из выделенного набора |
Ctrl + Shift + левая кнопка мыши | Добавление элементов к выделенному набору |
Shift + левая кнопка мыши | Обращение операции выделения |
Помощь
Клавиатурная комбинация | Функция |
F1 | Вызов руководства пользователя |
z или Ctrl + z | Отмена совершенной операции |
Backspace | Удаление объекта или возвращение на шаг назад |
Служебные команды
Клавиатурная комбинация | Функция |
g | Повтор последней выполненной команды |
Ctrl + d | Дублирование объектов |
Помещение курсора в командную строку |
Привязки
Клавиатурная комбинация | Функция |
X | Временная привязка к сетке |
с | Временная привязка к кривой |
V | Временная привязка к точке |
Shift + X | Включение привязки к сетке |
Видимость объектов
Клавиатурная комбинация | Функция |
Alt+h | Скрыть невыделенные объекты |
Ctrl + Shift +H | Сделать видимым последний скрытый объект |
Ctrl + h | Скрыть все выделенные объекты |
Анимация
Клавиатурная комбинация | Функция |
Alt + v | Запуск и остановка воспроизведения анимации |
Esc | Остановка воспроизведения анимации |
Alt+. | Переход к следующему кадру |
Alt + , | Переход к предыдущему кадру |
. | Переход к следующему ключевому кадру |
' | Переход к предыдущему ключевому кадру |
Shift + W | Создать ключ для преобразования перемещения |
Shift +E | Создать ключ для преобразования поворота |
Shift +R | Создать ключ для преобразования масштабирования |
s | Создать ключ для всех параметров, допускающих его создание |
Эффекты рисования
Клавиатурная комбинация | Функция |
b + перетаскивание указателя мыши при нажатой левой кнопке | Изменение масштаба кисти |
Shift + В + перетаскивание указателя мыши при нажатой левой кнопке | Изменение ширины кисти |
m + перетаскивание указателя мыши при нажатой левой кнопке | Установка смещения кисти относительно поверхности |
Ctrl + b | Открытие окна диалога Brush Settings |
8 | Переход в окно Paint Effects |
Остальные комбинации
Клавиатурная комбинация | Функция |
Удерживание клавиши Пробел | Вызов меню оперативного доступа |
1 | Минимальный уронен детализации NURВS-объектов |
2 | Средний уровень детализации NURBS-объектов |
3 | Максимальный уровень детализации NURBS-объектов |
4 | Переход в режим каркасного отображения |
5 | Переход в режим тонированной раскраски |
б | Включение аппаратного наложения текстур |
7 | Использование всех источников света, имеющихся в сцепе |
q | Переход в режим выделения объектов |
w | Переход в режим перемещения объектов |
е | Переход в режим поворота объектов |
r | Переход в режим масштабирования объектов |
- | Уменьшение размера манипулятора |
+ или = | Увеличение размера манипулятора |
Ctrl + a | Открытие окна диалога Attribute Editor |
Контекстные меню, помогающие сэкономить время при работе над сценой, впервые появились в Maya. Большинство аниматоров используют их для выполнения повторяющуюся задач. Для начинающих пользователей мы включили в книгу набор контекстных меню. Инструкцию по их загрузке вы найдете в главе 5.
Клавиатурная комбинация | Функция |
Ctrl+z | Создание NURBS-примитивов |
Alt + z | Редактирование NURBS-объектов |
Ctrl + Alt + z | Работа с NURBS-поверхностями |
Ctrl + x | Создание полигональных примитивов |
Alt + x | Редактирование полигональных объектов |
Ctrl + с | Создание кривой |
Alt-t-c | Редактирование кривой |
Клавиатурные комбинации, которые мы добавили или переназначили для облегчения выполнения упражнений
Клавиатурная комбинация | Функция |
Shift + s | Script Editor (Редактор сценариев) |
Shift +h | Hypergraph (Просмотр структуры) |
Shift + с | Сделать видимым/скрыть Channel Box (Окно каналов) |
Shift + t | Hypershade (Редактор узлов) |
Shift + 0 | Outliner (Схема сцены) |
Alt + t | Сделать видимым/скрыть ползунок таймера анимации |
Shift + V | Visor (Просмотр образцов) |
z | Отмена операции |