А.В. Верстак 3ds Max 2008. Секреты мастерства
Введение
Стремительное развитие технологий в последнее десятилетие привело к такому же быстрому росту в области компьютерной техники и программного обеспечения. Еще совсем недавно незначительный, по сегодняшним меркам, эпизод из фильма, созданный при помощи спецэффектов, вызывал бурю восторга и обсуждений. Сегодня спецэффектами в кино и на телевидении никого не удивишь. Они стали обыденным явлением благодаря массовому распространению программ создания компьютерной графики и, в частности, трехмерного моделирования. Редакторы трехмерной графики – самые интересные по своим возможностям и сложные по освоению приложения.
Одно из лидирующих мест среди таких программ занимает 3ds Max. Благодаря своим уникальным возможностям и доступности освоения это приложение сегодня имеет наибольшее количество поклонников как среди любителей, так и в кругу профессионалов. Пожалуй, осталось очень мало сфер деятельности человека, связанных с трехмерной графикой, в которых не используется 3ds Max. Ее активно применяют для создания игр и фильмов, в архитектуре и строительстве, в медицине и физике, а также во многих других областях.
При выходе каждой новой версии программа приобретает новые возможности и становится более профессиональной. Сегодня создание и визуализация сцен в 3ds Max ограничены только фантазией пользователя и знанием возможностей приложения.
Вы держите в своих руках уникальную книгу, рассказывающую языком живых примеров об удивительном мире статических и анимированных образов в среде программы 3ds Max 2008. Каждое упражнение является самостоятельным, реализация любого из них не требует более полутора-двух часов (конечно, при соответствующем уровне опытности пользователя). Каждый пример отвечает на конкретно поставленный вопрос: как моделировать и текстурировать микроволновую печь или автомобиль, как анимировать книгу, текст, написанный перьевой ручкой, фонтан или песочные часы и т. д.
Существует несколько уровней обучения работе в программе 3ds Max, начиная с самого простого, когда задачей является моделирование простых объектов сцены или перемещение объекта из точки А в точку Б, до создания реалистичных моделей и «оживления» анимационных персонажей. Все описанные в книге упражнения способны натолкнуть на новые идеи для создания различных образов или анимаций. Работая над собственным проектом, вы можете вдруг вспомнить один из уроков книги, который подскажет вам способ решения задачи.
Компьютерная анимация, которая используется для содания художественных и анимационных фильмов, в телевизионных программах и компьютерных играх, является сложной и многокомпонентной. Существует множество способов моделирования объектов и создания анимации и, как следствие, большое количество трудностей, связанных с этим. Данная книга призвана помочь в преодолении подобных трудностей.
Для кого предназначена книга
Книга «3ds Max 2008. Секреты мастерства» предназначена всем пользователям, которые хотели бы заняться или уже работают с трехмерной графикой и желают подняться на новую ступень мастерства. Книга будет полезна и для начинающих разработчиков, делающих свои первые шаги в компьютерной графике, и для пользователей, уже имеющих опыт работы с трехмерной графикой.
3ds Max 2008 – сложная программа, и даже ее опытные пользователи порой сталкиваются при работе с трудностями, связанными с недостаточными знаниями. Возможности приложения настолько обширны, что одну и ту же задачу можно решать несколькими способами, причем каждый способ уникален. Именно поэтому пользователям, имеющим опыт работы с этой программой, будут интересны разделы книги, посвященные трехмерному моделированию и анимации, созданию материалов и текстурированию, работе с кривыми и поверхностями.
Для пользователей, делающих первые шаги в изучении 3ds Max, не лишними будут знания о традиционном искусстве и классической анимации. Знание таких приложений, как Adobe Photoshop, Corel PHOTO-PAINT, Adobe Illustrator и CorelDRAW, Adobe After Effects или Autodesk Combustion, помогут вам значительно быстрее освоить 3ds Max. Часто при работе с 3ds Max вам придется создавать собственные текстуры и заниматься постобработкой визуализированных изображений. Однако это не означает, что без знания перечисленных выше приложений вы не можете изучать 3ds Max. Как минимум вы должны уметь работать с операционной системой и иметь представление о редакторах растровой графики.
В первой части книги даны основы, которые помогут вам выполнять уроки, приведенные во второй и третьей частях издания. Если вы сразу обратились ко второй части книги и чувствуете, что вам не хватает базовых знаний или в них есть пробелы, начните чтение с самого начала.
Если вы пользователь среднего уровня, то можете начать изучение со второй части. С ее помощью вы сможете почерпнуть новые знания и овладеть большим количеством методов моделирования и анимации. Даже если вы уже достаточно опытный пользователь программы 3ds Max, то практически из каждой главы сможете узнать что-то новое и полезное.
Структура книги
Книга состоит из трех независимых частей и трех приложений. К изданию также прилагается DVD, который содержит сцены примеров, описанных в книге, цветные иллюстрации и демонстрационные 32– и 64-битные версии 3ds Max 2008.
Часть 1. Основы работы в 3ds Max 2008
Первая часть является в основном ознакомительной и предназначена для начинающих пользователей программы 3ds Max. В ней в сжатом виде собраны основные сведения, необходимые для изучения уроков, которые размещены во второй и третьей частях книги. Здесь вы познакомитесь с интерфейсом приложения, основными приемами работы, научитесь использовать Material Editor (Редактор материалов), визуализировать изображения и выполнять другие действия, необходимые для создания полноценных сцен.
■ Глава 1 «Интерфейс программы» – в ней описаны элементы интерфейса приложения, рассмотрены основные панели и инструменты для работы с программой 3ds Max 2008. Здесь также идет речь о расширении возможностей приложения за счет подключаемых модулей, затронуты вопросы тонкой настройки программы и создания собственного пользовательского интерфейса.
■ Глава 2 «Основные приемы работы» – здесь рассмотрено создание объектов сцены в программе 3ds Max. Возможности приложения настолько обширны, что одни и те же объекты можно смоделировать различными способами. Эта глава дает общее представление об объектах форм, параметрических объектах и модификаторах, применяемых для быстрого изменения форм объектов и создания анимации.
■ Глава 3 «Материалы и текстуры» – рассказывает, что такое Material Editor (Редактор материалов) и как с ним работать. В данной главе подробно рассмотрен стандартный материал и даны начальные сведения о составных материалах. Вы узнаете о том, как назначать материал объектам и создавать текстуры.
■ Глава 4 «Анимация в среде 3ds Max 2008» – здесь приведены основы создания анимированных изображений с использованием ключевых кадров, контроллеров и выражений, а также описано выполнение анимации частиц.
■ Глава 5 «Основы визуализации» – в ней рассмотрены основные средства визуализации в программе 3ds Max и способы получения растровых изображений, рассказано о работе модуля Video Post (Видеомонтаж).
■ Глава 6 «Технологии вывода анимированных изображений» – описывает, как подготавливать и визуализировать сцены с использованием анимации, созданные в программе 3ds Max. В этой главе рассказывается о том, как сделать размытое движение, характерное для съемочной камеры или фотоаппарата, о том, как визуализировать последовательность кадров с применением компьютеров, объединенных в локальную сеть, а также о форматах и технологиях сжатия видеоизображений.
Часть 2. Практический курс
Вторая часть представляет собой собрание уникальных упражнений, сгруппированных по главам и затрагивающих почти все аспекты работы с программой. Все задания являются самостоятельными и не требуют соблюдения последовательности при их изучении, хотя по уровню сложности расположены от простых к более сложным. Пользователям, не имеющим достаточного опыта работы с 3ds Max, я рекомендую выполнять упражнения по порядку.
Все упражнения написаны таким образом, чтобы у вас не возникло сложностей с их повторением. Кроме того, практически в каждом задании содержатся сведения, поясняющие выполнение тех или иных действий, дается подробное описание команд, а также приведены иллюстрации с настройками и видами окон проекций. Во многих случаях выбор определенных действий сопровождается пояснением. Это поможет вам не просто бездумно выполнять действия, но и понять, почему использована та или иная команда, что очень важно для самостоятельной работы.
■ Глава 7 «Освещение» – изучив эту главу, вы научитесь правильно устанавливать свет, располагать тени и освещать интерьер. Вы также познакомитесь с объемным (видимым) светом. Освещение – это мощный инструмент в руках дизайнера трехмерной графики, и нужно уметь правильно им пользоваться.
■ Глава 8 «Анимация сцен» – описывает различные способы создания комбинированных анимаций. Эта глава позволит вам научиться использовать контроллеры и выражения, управляющие значениями анимации. Кроме того, вы узнаете о создании систем частиц с использованием окна диалога Particle View (Окно системы частиц) и без него.
■ Глава 9 «Практическое моделирование» – начиная с простых уроков, вы научитесь основам моделирования и постепенно перейдете к решению более сложных задач. Вы узнаете, что такое сплайновое моделирование, моделирование полигонами, NURBS-моделирование и моделирование лофт-объектов. В данной главе будет рассмотрено комплексное моделирование. Полученные в этой главе знания помогут вам создавать более сложные модели, о которых пойдет речь в следующих главах.
■ Глава 10 «Текстурирование» – рассказывает о долгом и кропотливом процессе создания материалов для трехмерных объектов. Чтобы сделать приемлемую текстуру, можно экспериментировать не один час. Окно Material Editor (Редактор материалов) в 3ds Max настолько удачно организовано, что позволяет получить практически любой материал, – все ограничено только знаниями и воображением пользователя. Выполняя упражнения этой главы, вы научитесь создавать реалистичные материалы и текстуры. Кроме того, познакомитесь с материалами подключаемого модуля V-Ray.
■ Глава 11 «Визуализация» – описывает, как подготавливать и визуализировать сцены, созданные в программе 3ds Max. Существует большое количество вариантов, позволяющих получить при визуализации хорошее изображение, но всегда есть способ улучшить его. В упражнениях этой главы рассказывается о том, как это сделать. Рассматриваются методы работы с фотографиями, исследуется возможность улучшения визуализации за счет создания глубины резкости изображения.
Часть 3. Усложненное моделирование
Для работы с упражнениями, собранными в данной части книги, вам понадобится обладать как минимум знаниями начального уровня или выполнить задания предыдущей части. Уроки сложны для изучения, но вместе с тем являются самыми интересными по своей структуре, моделированию и конечному результату.
В главах этой части описано моделирование и текстурирование автомобиля, а также два способа моделирования головы со средним уровнем детализации, ее текстурирование и создание волос. Чтобы выполнять такие задания, вы должны не только знать инструменты и методы моделирования, у вас должно быть хорошо развито пространственное мышление, иначе можно потеряться в большом количестве вершин, ребер и полигонов строящейся модели. Кроме того, для моделирования головы очень пригодится умение рисовать и образно мыслить.
■ Глава 12 «Моделирование автомобиля» – описывает одну из интереснейших задач, которые могут стоять перед пользователем программы 3ds Max. Она довольно сложна для людей, не имеющих достаточного опыта моделирования, поэтому к выполнению упражнений этой главы рекомендуется приступать, предварительно ознакомившись с моделированием более простых объектов (например, описанных в гл. 9). Задания данной главы построены так, что их последовательное выполнение позволит вам смоделировать к ее концу автомобиль BMW пятой серии.
■ Глава 13 «Текстурирование автомобиля» – в ней рассмотрено текстурирование, которое необходимо выполнить после построения модели автомобиля. Именно хорошие текстуры придают модели вид, который может претендовать на реалистичность. Для простоты восприятия глава разделена на два упражнения. Первое задание затрагивает общие вопросы и текстурирование кузова. Второе – описывает текстурирование отдельных элементов.
■ Глава 14 «Моделирование головы» – рассказывает об интересном, но в то же время сложном занятии, которое по плечу только опытным дизайнерам. Все описанные в этой главе операции сложны для выполнения и требуют предварительной подготовки. Упражнения, представленные в данной главе, раскрывают темы моделирования при помощи модуля Surfacetools и полигонального моделирования с последующим текстурированием готовой модели и созданием волос. Первые два задания основаны на принципе моделирования головы среднего уровня детализации, достаточном для создания реалистичного образа.
Приложения
■ Приложение 1 «70 советов пользователям 3ds Max» – содержит 70 советов, предназначенных прежде всего пользователям, которые только начинают работать с программой 3ds Max. Все советы, собранные в этом приложении, возникли на основе практического опыта работы в программе и призваны помочь в ее освоении и решении некоторых проблем.
■ Приложение 2 «Основные сочетания клавиш 3ds Max 2008» – включает в себя сведения об основных сочетаниях клавиш, ускоряющих процесс выполнения определенных команд и, как следствие, облегчающих работу с приложением. Более полное описание сочетаний клавиш можно найти в файле справки программы.
■ Приложение 3 «Содержимое прилагаемого DVD» – содержит описание содержимого DVD, который поставляется вместе с книгой.
Требования к программному и аппаратному обеспечению
Выбор операционной системы
Обратите внимание: прежде чем устанавливать 3ds Max 2008 на свой компьютер, вы должны убедиться в том, что он обладает необходимым минимумом аппаратного и программного обеспечения.
Для работы с 32-битным приложением 3ds Max 2008 вам понадобится операционная система Microsoft Windows Vista или Microsoft Windows XP Professional с установленным пакетом обновления Service Pack 2 или выше.
Для работы с 64-битным приложением 3ds Max 2008 вам понадобится операционная система Microsoft Windows Vista или Microsoft Windows XP Professional x64, которая, на мой взгляд, является на сегодняшний день лучшим выбором для работы с большими сценами и сложной визуализацией. Кроме того, на 64-битный компьютер вы можете устанавливать как 64-, так 32-битную версии программы.
ВНИМАНИЕ
В операционных системах Windows 98/Me, Windows NT, Windows 2000, Windows XP Home Edition или Windows 2003 Server программа 3ds Max 2008 работать не будет.
Для установки программы также понадобится предварительно инсталлированный DirectX версии не ниже 9c или 10 (для операционной системы Windows Vista).
ПРИМЕЧАНИЕ
При установке операционной системы Windows XP SP 2 DirectX версии 9c инсталлируется автоматически.
Требования к аппаратному обеспечению
Для обеспечения наилучшей производительности в среде 3ds Max 2008 нужен достаточно мощный компьютер. В случае 32-битной операционной системы хорошим выбором будет Intel Pentium IV или AMD Athlon с оперативной памятью 2 Гбайт (минимум 512 Мбайт) и 2 Гбайт (минимум 500 Мбайт) для файла подкачки. Для 64-битной операционной системы можно порекомендовать Intel EM64T, AMD Athlon 64 или AMD Opteron с оперативной памятью 4 Гбайт (минимум 1 Гбайт). Необходимо достаточное количество места на жестком диске, а также монитор не менее 17 дюймов по диагонали (оптимальный выбор – 19 дюймов).
Можно порекомендовать двупроцессорные системы Intel Xeon или AMD Athlon как системы с наилучшей производительностью. Наличие второго процессора увеличивает мощность системы и позволяет комфортно работать с другими приложениями в процессе визуализации в 3ds Max.
СОВЕТ
На вкладке Процессы окна Диспетчер задач Windows можно указать приложению, сколько процессоров нужно использовать.
Для комфортной работы следует иметь трехкнопочную мышь с колесом прокрутки (предпочтительно оптическую), что значительно упрощает навигацию по меню и в окнах проекций.
Одним из наиболее важных элементов в производительности системы является видеокарта. Не стоит останавливать свой выбор на видеокартах, оптимизированных для компьютерных игр. На сайте производителя программы 3ds Max () можно получить список видеокарт, наиболее подходящих для работы с данным приложением. Рекомендуется, чтобы видеокарта поддерживала разрешение экрана как минимум 1024 х 768 с 16-битным цветом и имела в своем составе драйверы для OpenGL и DirectX. Кроме того, видеокарта должна иметь как минимум 32 Мбайт встроенной оперативной памяти.
СОВЕТ
Хорошим выбором будет приобретение профессионального трехмерного ускорителя.
Для полной инсталляции и работы с программой необходимо 650 Мбайт (желательно 1 Гбайт) свободного места на жестком диске.
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты dgurski@minsk.piter.com (издательство «Питер», компьютерная редакция).
На веб-сайте издательства вы найдете подробную информацию о наших книгах.
Часть 1 Основы работы в 3ds Max 2008
Глава 1. Интерфейс программы
Глава 2. Основные приемы работы
Глава 3. Материалы и текстуры
Глава 4. Анимация в среде 3ds Max 2008
Глава 5. Основы визуализации
Глава 6. Технологии вывода анимированных изображений
Знакомство с такой сложной и объемной программой, как 3ds Max 2008, логично начать с изучения ее интерфейса и возможностей. Глубокое знание приложения существенно облегчает работу, и этой теме стоило бы посвятить значительную часть книги. Однако цель данного издания – поделиться знаниями и навыками, которые автор приобрел за годы работы с пакетом 3ds Max, поэтому основное внимание в книге будет уделено практическим упражнениям.
Первая часть предназначена для тех пользователей, которые только начинают знакомиться с трехмерным моделированием. В ней представлены минимально необходимые знания для выполнения упражнений, размещенных во второй и третьей частях книги.
Глава 1 Интерфейс программы
• Элементы интерфейса
• Подключаемые модули
• Настройка программы
Чем важно изучение интерфейса программы? Интерфейс обеспечивает доступ к управлению всеми возможностями приложения. Многие пользователи, пренебрегая его изучением, впоследствии сталкиваются с трудностями даже при моделировании простых сцен, не говоря о том, чтобы применять потенциал программы полностью.
Приложение 3ds Max имеет очень гибкий интерфейс, позволяющий выполнить одно и то же действие разными путями. Вы также можете создавать собственные пользовательские меню, панели инструментов, назначать сочетания клавиш операциям и т. д. Все это не только облегчает работу в программе, но и ускоряет процесс моделирования и анимации.
Большинство задаваемых вопросов по 3ds Max возникают из-за поверхностного знакомства пользователей с интерфейсом и возможностями приложения. По этой причине я настоятельно рекомендую тщательно изучить интерфейс и возможности 3ds Max 2008, а также советую не пренебрегать справочной информацией, поставляемой вместе с программой. Это один из самых обширных и легкодоступных источников ответов на вопросы, возникающие у пользователей.
Элементы интерфейса
Первое, что вы увидите после запуска программы 3ds Max 2008, – ее основное окно (рис. 1.1).
Если вы начинающий пользователь и не знакомы с интерфейсом, сначала осмотрите элементы и ознакомьтесь с окружением. Вы увидите, что интерфейс приложения состоит из элементов, в которых сгруппированы однотипные команды. Например, в группе средств управления анимацией собраны кнопки управления воспроизведением и настройкой поведения объектов во времени.
Окно программы можно условно разделить на пять основных элементов.
■ Main Menu (Главное меню). Находится в верхней части окна приложения и обеспечивает доступ к основным командам 3ds Max 2008. Все команды меню объединены в категории.
■ Main Toolbar (Главная панель инструментов). Обычно находится под главным меню, но может отображаться как плавающая панель или располагаться в других местах окна. Содержит кнопки быстрого доступа к наиболее употребляемым командам программы.
■ Viewports (Окна проекций). Расположены в центре окна и занимают его большую часть. Четыре раздельных вида сцены отображают проекции сверху Top (Сверху), сбоку Left (Слева), фронтальную Front (Спереди) и перспективную Perspective (Перспектива).
■ Command Panel (Командная панель). Обычно располагается справа от окон проекций. Эта панель содержит шесть вкладок и обеспечивает выполнение операций по созданию и модификации объектов сцены. Каждая вкладка состоит из свитков с настройками объектов.
Рис. 1.1. Окно программы 3ds Max 2008
■ Lover Interface Bar (Нижняя строка интерфейса). Расположена в нижней части окна программы. Содержит различные поля и кнопки, в состав которых входят поля отображения состояния и подсказок, а также наборы кнопок для управления окнами проекций и воспроизведения анимации.
■ Welcome Screen (Окно приветствия). При помощи небольших видеороликов в формате Quick Time, вызываемых кнопками окна приветствия, можно кратко ознакомиться с основными функциями и возможностями программы.
Рассмотрим каждый вышеперечисленный пункт более подробно.
Главное меню
Раскрывающиеся меню в верхней части окна программы обеспечивают доступ ко всем основным возможностям программы и являются оптимальным выбором для начинающих пользователей. Главное меню состоит из следующих пунктов: File (Файл), Edit (Правка), Tools (Инструменты), Group (Группировка), Views (Вид), Create (Создание), Modifiers (Модификаторы), reactor, Animation (Анимация), Graph Editors (Графические редакторы), Rendering (Визуализация), Customize (Настройка), MAXScript и Help (Справка). В отличие от главного меню многих приложений, меню 3ds Max остается неизменным независимо от того, где вы находитесь и что делаете. Таким образом, вы имеете постоянный доступ к пунктам гланого меню. Если команда меню имеет зарезервированную клавишу быстрого доступа, то она показана рядом с названием команды. Стрелка, расположенная справа от имени команды меню, указывает на наличие дополнительных пунктов подменю, которые появляются при наведении на нее указателя мыши.
Не все команды доступны постоянно. Иногда некоторые из них отображены серым цветом, то есть неактивны. Например, если в сцене нет выделенных объектов, вы не сможете применить команду Group (Группировка), но как только выделите один или несколько объектов, эта команда станет доступной.
Меню File (Файл)
Меню File (Файл) содержит команды для работы с файлами программы 3ds Max (рис. 1.2).
Рис. 1.2. Меню File (Файл)
Команды этого меню позволяют делать следующее: New (Создать), Open (Открыть), Save (Сохранить) – создавать новые, открывать и сохранять существующие сцены и объекты; Open Recent (Открыть недавно использованные) – открывать ранее сохраненные сцены; Reset (Сбросить) – перезапустить сцену; XRef Objects (Объекты XRef) и XRef Scene (Сцена XRef) – работать со ссылками на внешние объекты и сцены; Merge (Объединить) – присоединить к текущей сцене объекты из внешних файлов.
Меню File (Файл) также содержит команды Import (Импортировать) и Export (Экспортировать) для импорта и экспорта объектов.
Команды Set Project Folder (Установить папку проекта) и Publish To DWF (Опубликовать в формате DWF), которые появились в 3ds Max 2008, позволяют указать папку для организации проектов, создаваемых в 3ds Max, и опубликовать модели для их просмотра при помощи программы Autodesk DWF Viewer.
Команды загрузки анимации Load Animation (Загрузить анимацию) и ее сохранения Save Animation (Сохранить анимацию) используют формат XAF, позволяющий выборочно сохранять и загружать анимацию любого количества объектов сцены. Команда Asset Tracking (Средство слежения за процессами) вызывает окно диалога. В нем можно получить доступ к файлам сцены и растровым изображениям, используемым в редакторе материалов, их свойствам и многому другому.
Команда Archive (Архивировать) позволяет сохранить все используемые в сцене файлы в сжатом виде, например для переноса их на другой компьютер. Для просмотра статистики сцены служит команда Summary Info (Сведения), а для ввода свойств файла – команда File Properties (Свойства файла). Обе эти команды вызывают окна, содержащие соответствующие сведения. Команда View Image File (Просмотр файла изображения) открывает окно просмотра, в котором вы можете увидеть растровое изображение перед загрузкой файла в качестве текстурной карты редактора материалов. Команда выхода из программы Exit (Выход) завершает список меню File (Файл).
Меню Edit (Правка)
Меню Edit (Правка) (рис. 1.3) обеспечивает доступ к командам Undo (Отменить) и Redo (Повторить), которые позволяют соответственно отменять и повторять выполненные операции.
Рис. 1.3. Меню Edit (Правка)
При помощи команды Hold (Зафиксировать) можно обезопасить себя от сбоя программы, сохранив сцену в буфере. Эту команду желательно также использовать перед выполнением действия, для которого не предусмотрена возможность отмены. Затем в любое время вы сможете восстановить сцену, выполнив команду Fetch (Выбрать).
Меню Edit (Правка) содержит также команду Delete (Удалить), которая удаляет выделенные объекты сцены. Команда Clone (Клонировать) вызывает окно Clone Options (Параметры клонирования) для создания копий объектов.
В средней части меню Edit (Правка) расположились команды 3ds Max 2008, предназначеные для трансформации объектов сцены: Move (Переместить) – включает режим перемещения объектов, Rotate (Вращать) – делает активным режим вращения объектов, Scale (Масштабировать) – включает режим масштабирования объектов. Команда Transform Type-In (Ввод данных преобразования), которая вызывается также «горячей» клавишей F12, открывает окно Transform Type-In (Ввод значений преобразования). В нем можно вводить абсолютные или относительные значения для перемещения, поворота или масштабирования объекта в зависимости от выбранного вида преобразования. Например, если вы на панели инструментов нажали кнопку Select and Uniform Scale (Выделить и равномерно масштабировать), то при использовании этой команды откроется окно Scale Transform Type-In (Ввод значений масштабирования).
Меню Edit (Правка) содержит команды выделения объектов – Select All (Выделить все), Select None (Снять выделение), Select Invert (Обратить выделение), Select Similar (Выделить подобные). Команда Select By (Выделить по) содержит подменю: Color (Цвету) , Name (Имени) и Layer (Слою). При выборе второго варианта открывается окно Select From Scene (Выбор из сцены), которое также можно вызвать, нажав клавишу H. В этом окне можно выделять объекты сцены по именам из списка, используя для этой цели систему поиска или наборы выделений. Для фильтрации списка объектов служат кнопки области Display (Отображение).
С помощью команды Selection Region (Область выделения) меню Edit (Правка) вы можете указать тип области выделения. Команда Edit Named Selection Sets (Редактировать название выделенной области) открывает окно, в котором можно выделять, редактировать и переименовывать созданные наборы объектов сцены. При выборе команды Object Properties (Свойства объекта) появляется окно, содержащее все свойства выделенного объекта.
Меню Tools (Инструменты)
Меню Tools (Инструменты) (рис. 1.4) позволяет преобразовывать объекты различными способами. Почти все команды этого меню вызывают плавающие окна или окна диалога.
ПРИМЕЧАНИЕ
Плавающее окно отличается от окна диалога тем, что оно может оставаться открытым во время работы с объектами в окнах проекций. Окно диалога после использования необходимо закрыть для продолжения работы.
В данной версии программы появилась новая группа команд, расположенных в верхней части меню Tools (Инструменты), которые позволяют работать с объектами сцены, используя Scene Explorer (Проводник сцены). Его можно применять для просмотра, сортировки, фильтрации и выделения объектов 3ds Max с целью их последующего удаления, изменения видимости, замораживания, редактирования свойств и т. п.
Первая команда в этой группе – Open Explorer: … (Открыть проводник: …) – появляется, если в сцене присутствует хотя бы один проводник сцены. Она открывает окно диалога последнего активного проводника, имя которого присутствует в конце названия команды.
Команда New Scene Explorer (Новый проводник сцены) позволяет создать новый проводник. При ее выполнении открывается одноименное окно диалога.
Команда Manage Scene Explorer (Управление проводником сцены) открывает диалоговое окно, с помощью которого можно сохранять или загружать определенные проводники сцены, удалять или переименовывать существующие и создавать собственные проводники, используемые в программе по умолчанию.
Команда Saved Scene Explorers (Сохраненные проводники сцены) дает возможность открывать сохраненные ранее проводники сцены.
Команда Display Floater (Плавающее окно отображения) вызывает одноименное окно, при помощи которого можно скрывать (настройки области Hide (Спрятать)), фиксировать (Freeze (Фиксировать)) объекты, а также устанавливать свойства их отображения (вкладка Object Level (Уровень объекта)).
Рис. 1.4. Меню Tools (Инструменты)
При выборе команды Layer Manager (Управление слоями) появляется плавающее окно, позволяющее создавать и удалять слои, управлять их свойствами, а также перемещать объекты в пределах различных слоев и получать доступ к их свойствам.
Команда Light Lister (Список источников света) открывает плавающее окно с основными настройками всех источников света, находящихся в сцене. Оно позволяет изменять значения параметра Multiplier (Яркость), задавать возможность отбрасывания тени, управлять включением/выключением и другими параметрами источников света.
Команда Manage Scene States (Управление состояниями сцены) позволяет записывать информацию о состоянии сцены (объекты, слои, материалы, камеры и свет) в файл с возможностью сохранения и последующего восстановления.
Если выбрать команду Mirror (Зеркальное отображение), то появится окно диалога, позволяющее создавать симметричные копии объектов относительно выбранных осей координат. Здесь же можно задать тип создаваемых при копировании объектов: No Clone (Не копировать), Copy (Независимая копия объекта), Instance (Привязка) и Reference (Подчинение).
Команда Array (Массив) вызывает одноименное окно диалога, в котором можно создавать дубликаты выделенного объекта (или группы выделенных объектов), равномерно распределяя их в пространстве. Массив создается из выделенного объекта путем применения заданной комбинации преобразований (перемещения, поворота и масштабирования) с учетом системы координат и центра преобразования. Массивы могут быть одномерными (размещенными вдоль одного направления), двумерными (расположенными в двух направлениях) и трехмерными (расположенными в трех направлениях). Чтобы оперативно просматривать результат настроек, выполненных в окне Array (Массив), необходимо нажать кнопку Preview (Просмотр).
Чтобы выровнять объекты друг относительно друга, необходимо выделить один из них, выбрать команду Align (Выравнивание) (или нажать сочетание клавиш Ctrl+A) и щелкнуть на втором объекте. Откроется окно диалога Align Selection (Выравнивание выделенных объектов), которое позволяет выравнивать объекты с использованием осей координат, характерных точек объектов относительно масштаба и ориентации локальных систем координат.
Команда Quick Align (Быстрое выравнивание) не имеет предварительных настроек и выравнивает выделенный объект относительно целевого, используя перемещение опорной точки выделенного объекта в опорную точку целевого.
Команда Snapshot (Снимок) позволяет создавать копии как единичного объекта в текущем кадре, так и набора клонов в определенные промежутки времени анимации с заданным количеством копий.
При выборе команды Spacing Tool (Распределение) появляется одноименное окно диалога, в котором можно задать параметры распределения объектов для создания дубликатов выделенного объекта или совокупности выделенных объектов, выбрав из списка способ распределения и задав кривую траектории или начальную и конечную точки линии распределения. Здесь можно также указать тип объектов, получаемых при копировании, и способ прикрепления дубликатов к линии пути.
Команда Clone and Align (Клонирование и выравнивание) позволяет создавать копии объектов с одновременным выравниванием копии относительно целевого объекта. При использовании данной команды можно выбрать более одного целевого объекта (из списка или просто щелкнуть на нем в окне проекции), что позволяет создавать соответствующее количество копий, позиционированных в пространстве относительно этих объектов. Свиток Align Parameters (Параметры выравнивания) окна Clone and Align (Клонирование и выравнивание) позволяет задавать параметры положения и выравнивания в пространстве копий выделенных объектов, а свиток настроек Clone Parameters (Параметры клонирования) – тип объектов, создаваемых при дублировании.
Команда Normal Align (Выровнять нормаль), для выполнения которой можно нажать сочетание клавиш Alt+N, позволяет выровнять выделенный объект, совместив его заданную нормаль с указанной нормалью целевого объекта. После указания нормалей выделенного и целевого объекта появляется окно диалога, в котором можно изменить положение и ориентацию выделенного объекта относительно целевого.
При помощи команды Align Camera (Выровнять камеру) можно выровнять камеру относительно нормали выбранной грани. В результате направление линии визирования камеры изменяется так, что плоскость окна проекции выбранной камеры становится параллельной выбранной грани целевого объекта.
Команда Align to View (Выровнять по проекции) позволяет выровнять локальные оси выделенного объекта (или совокупности объектов) относительно оси Z активного окна проекции. В окне диалога Align to View (Выровнять по проекции) можно задать ось локальной системы координат объекта, которая будет выровнена в направлении Z системы координат активного окна проекции.
Используя команду Place Highlight (Поместить блик), можно точно разместить на поверхности выделенного объекта блик от источника света или отражение другого объекта. Для этого программа поворачивает целевой объект так, чтобы он был ориентирован в направлении указанной нормали выделенного объекта.
Команда Isolate Selection (Изолировать выделение), для выполнения которой можно также нажать сочетание клавиш Alt+Q, позволяет спрятать все объекты сцены, за исключением выделенного. Это дает возможность освободить ресурсы компьютера и упростить для моделирования отображение сцены в окнах проекций. При переходе в данный режим открывается плавающая панель с кнопкой Exit Isolation Mode (Выход из режима изолированного выделения), щелкнув на которой вы можете выйти из режима изолированного выделения.
При выборе команды Rename Objects (Переименовать объекты) появляется плавающее окно, в котором можно одновременно изменить имена нескольких объектов. Для изменения имени выделенных объектов используется основное имя, к которому можно добавить приставку, окончание или номер. Полученные таким образом новые имена могут быть присвоены объектам, выделенным в окнах проекций или выбранным из списка окна диалога Pick Objects to Rename (Выбрать объекты для переименования), которое появляется при установке в окне Rename Objects (Переименовать объекты) переключателя в положение Pick (Выбрать).
Команды Assign Vertex Colors (Назначить вершинам цвет), Color Clipboard (Буфер обмена с цветом) и Camera Match (Горизонт камеры) открывают соответствующие утилиты, находящиеся на вкладке Utilities (Утилиты) командной панели.
При помощи команды Grab Viewport (Снимок окна проекции) можно скопировать изображение активного окна проекции и отобразить его в окне визуализации с возможностью последующего сохранения.
Используя команду Measure Distance (Измерить расстояние), можно измерить расстояние между двумя точками, указанными в окне проекции.
Команда Channel Info (Канал информации) открывает окно Map Channel Info (Карта каналов информации), позволяющее манипулировать данными каналов, которые часто используют разработчики игр. Окно содержит значительное количество информации, например об имени объекта, его идентификаторе, имени каналов, количестве вершин, граней, а также размере. При помощи этого окна вы можете быстро определить, какой канал использует больше всего места, и исключить его.
Меню Group (Группировка)
Команды меню Group (Группировка) (рис. 1.5) позволяют контролировать создание, редактирование и разрушение именованных групп объектов.
Рис. 1.5. Меню Group (Группировка)
Сгруппированные объекты действуют как единый объект, что позволяет одновременно манипулировать всеми объединенными в группу объектами.
После выделения объектов сцены, которые нужно сгруппировать, и выполнения команды Group (Группировать) из меню Group (Группировка) откроется окно диалога с единственным параметром – текстовым полем для ввода имени группы. В число объектов, выделенных для группировки, могут также входить другие группы.
Команда Ungroup (Разгруппировать) является обратной по отношению к Group (Группировать) и разгруппировывает объекты, составляющие группу. При этом вложенные группы не удаляются, но преобразования, примененные к группе, теряются.
При помощи команды Open (Открыть) можно открыть доступ к объектам, находящимся в группе, для их преобразований или применения к ним модификаторов, которые не должны затрагивать остальных членов группы. После внесения изменений группу необходимо закрыть. Для этого следует выделить один из объектов, входящих в группу, и щелкнуть на строке команды Close (Закрыть), находящейся в меню Group (Группировка).
Команда Attach (Присоединить) позволяет присоединить выделенный объект к группе (доступна при наличии выделенного объекта и группы). Противоположной по отношению к этой команде является команда Detach (Отделить), позволяющая выделить объект в открытой группе и вывести его из группы, сделав самостоятельным объектом.
Команда Explode (Разрушить) аналогична команде Ungroup (Разгруппировать) и отличается только тем, что, кроме выделенной группы, удаляются и все вложенные в нее группы.
Подменю команды Assembly (Сборка) содержит те же команды, что и меню Group (Группировка), с той лишь разницей, что, когда вы создаете сборку, программа включает в нее специальный тип вспомогательного объекта – head object (Главный объект).
Меню Views (Вид)
Меню Views (Вид) (рис. 1.6) содержит команды, относящиеся к окнам проекций и позволяющие управлять отображением.
Рис. 1.6. Меню Views (Вид)
Для отмены изменений режимов отображения в активном окне проекции применяется команда Undo View Change (Отменить изменение в окне проекции), для выполнения которой можно также нажать сочетание клавиш Shift+Z. В частности, эта команда отменяет такие изменения в окнах проекций, как прокрутка и масштабирование.
Команда Redo View Change (Повторить изменение в окне проекции) используется для повторения отмененного изменения состояния активного окна проекции, то есть для возврата к предыдущему состоянию.
ПРИМЕЧАНИЕ
Команды отмены и повторения выполненных изменений, которые относятся к состоянию активного окна проекции, не отменяют действия, выполненные над объектами сцены.
Команда Save Active … View (Сохранить активную проекцию вида) позволяет сохранить в буфере программы состояние окна активной проекции. Одновременно в буфере может храниться до восьми различных проекций.
СОВЕТ
Рекомендуется сохранять состояние окон проекций перед внесением существенных изменений в режим отображения сцены, чтобы при необходимости можно было вернуться к сохраненному состоянию.
Для восстановления сохраненного режима отображения в активном окне проекции служит команда Restore Active … View (Восстановить активную проекцию). Наименование проекции, допускающей восстановление, включается в название команды.
Команда Grids (Координатные сетки) открывает доступ к подменю, содержащему следующие команды: Show Home Grid (Показать исходную сетку), Activate Home Grid (Активизировать исходную сетку), Activate Grid Object (Активизировать объект-сетку) и Align Grid to View (Выровнять сетку в окне проекции). Все эти команды призваны облегчить моделирование объектов и используются в качестве конструкционных плоскостей, на которых строятся объекты.
Команда Viewport Background (Фон окна проекции), для выполнения которой можно также нажать сочетание клавиш Alt+B, открывает окно диалога, позволяющее загрузить в качестве фона любого окна проекции растровое изображение или анимацию. Такие изображения облегчают процесс моделирования или согласование объектов сцены с визуализируемыми изображениями с использованием фона.
Команда Update Background Image (Обновить изображение фона) применяется для обновления изображения фона в окне проекции после внесения изменения в растровое изображение или анимацию, использованную в качестве фона.
Для восстановления положения и исходного масштаба изображения фона после примененных к нему преобразований служит команда Reset Background Transform (Восстановить преобразованный фон).
Команда Show Transform Gizmo (Показать контейнер преобразования) включает и выключает показ значков векторов координатных осей выделенных объектов во всех окнах проекций.
При помощи команды Show Ghosting (Показывать двойников) можно включить и выключить режим отображения двойников в окнах проекций для анимируемых объектов. При включенном режиме отображается позиция выделенного объекта в нескольких кадрах до и (или) после текущего кадра.
Команда Show Key Times (Показывать время ключевых кадров) включает и выключает режим отображения моментов времени, соответствующих ключевым кадрам анимации вдоль траектории пути, где эти ключевые кадры расположены.
Используя команду Shade Selected (Тонировать выделенные объекты), можно включить и выключить режим тонированной раскраски выделенных объектов во всех окнах проекций. Такой режим дает возможность ускорить прорисовку объектов в окнах проекций, позволяя отображать выделенный объект в тонированном виде.
Команда Show Dependencies (Показывать зависимости) включает и выключает режим автоматического выделения объектов сцены, которые связаны или являются экземплярами выделенного объекта сцены.
Команда Create Camera From View (Создать камеру из окна проекции), для выполнения которой можно также нажать сочетание клавиш Ctrl+C, позволяет создать камеру и позиционировать ее по активному окну проекции.
ПРИМЕЧАНИЕ
Объект камеры можно создать только при активном окне проекции Perspective (Перспектива). Если активна камера, то она переместится и изменит свою ориентацию так, чтобы изображение в окне этой камеры соответствовало изображению исходного окна перспективной проекции.
Используя команду Add Default Lights to Scene (Включить в сцену исходные источники света), можно конвертировать исходное освещение в объекты сцены категории Lights (Источники света). Эта команда позволяет создавать начальное освещение с возможностью последующего изменения его параметров.
Команда Redraw All Views (Перерисовать все окна проекций) обновляет изображение во всех окнах проекций. Необходимость такой перерисовки возникает в результате модификации или редактирования объектов сцены, при которых линии объектов оказываются не полностью прорисованными.
Команда Global Viewport Rendering Setting (Глобальные настройки визуализации окна проекций), появившаяся в 3ds Max 2008, является расширенным вариантом старых команд Activate All Maps (Активизировать все карты текстур) и Deactivate All Maps (Деактивизировать все карты текстур), которые включали показ текстур для всех материалов сцены или выключали его. Новая команда использует программный или аппаратный модуль для визуализации содержимого окон проекций. При этом аппаратная визуализация позволяет получить в окне проекции отображение материалов и текстур, близкое по качеству к визуализированному изображению. Команды подменю Standard Display (Стандартное отображение), Standard Display with Maps (Стандартное отображение с текстурными картами), Hardware Display (Аппаратное отображение), Hardware Display with Maps (Аппаратное отображение с текстурными картами), как уже говорилось выше, позволяют включать или выключать показ текстур для материалов сцены.
При помощи команды Update During Spinner Drag (Перерисовать при перетаскивании счетчиков) можно включить и выключить режим перерисовывания изображения в окнах проекций при изменениях значений в счетчиках, выполняемых при помощи мыши.
Команда Adaptive Degradation (Адаптивная деградация) позволяет оптимизировать скорость воспроизведения анимации в окнах проекций. На практике это выглядит так: воспроизведение анимации в тонированном режиме будет происходить до тех пор, пока скорость не упадет ниже установленного порогового значения, после чего 3ds Max понижает качество тонирования до следующего уровня для повышения скорости воспроизведения, и т. д.
Diagnose Video Hardware (Диагностика видеоадаптера) – еще одна новая команда этого меню, позволяющая получить информацию о возможностях видеоадаптера, которые влияют на отображение объектов в окнах проекций (например, поддержку отображения теней).
Команда Expert Mode (Экспертный режим) максимально увеличивает окна проекций, убирая с экрана меню, панель инструментов, командную панель, строки состояния и подсказки, кнопки управления анимацией и т. д. В данном режиме управлять программой можно только при помощи сочетаний клавиш.
Меню Create (Создание)
Меню Create (Создание) (рис. 1.7) содержит команды быстрого создания объектов без использования командной панели.
При выборе команды в меню Create (Создание) на командной панели автоматически появляются настройки соответствующего объекта.
Рис. 1.7. Меню Create (Создание)
Категория Standard Primitives (Простые примитивы) объединяет наиболее используемые параметрические объекты (форма таких объектов определяется набором параметров), применяемые для построения более сложных геометрических форм. В их число входят Box (Параллелепипед), Cone (Конус), Sphere (Сфера), GeoSphere (Геосфера), Cylinder (Цилиндр), Tube (Труба), Torus (Тор), Pyramid (Пирамида), Teapot (Чайник), Plane (Плоскость).
Категория Extended Primitives (Улучшенные примитивы) содержит более сложные по форме параметрические объекты, такие как Hedra (Многогранник), Torus Knot (Тороидальный узел), Chamfer Box (Параллелепипед с фаской), Chamfer Cylinder (Цилиндр с фаской), OilTank (Цистерна), Capsule (Капсула), Spindle (Веретено), L-Extrusion (L-тело экструзии), Gengon (Многогранная призма), C-Extrusion (C-тело экструзии), RingWave (Круговая волна), Hose (Рукав), Prism (Призма).
В категорию AEC Objects (Архитектурные объекты) входят параметрические объекты, применяемые для построения архитектурных моделей. Эти объекты позволяют существенно ускорить процесс моделирования зданий, интерьеров и экстерьеров. В число архитектурных объектов входят: Wall (Стена), Railing (Перила), Windows (Окна), Doors (Двери) и Stairs (Лестницы).
Категория Compound (Составные) объединяет объекты, составленные из двух и более геометрических моделей или форм. Использование составных объектов позволяет более эффективно создавать сложные модели органического происхождения (например, машиностроительные детали). В эту категорию входят: Morph (Морфинговые), Scatter (Распределенные), Conform (Согласованные), Connect (Соединенные), BlobMesh (Капля), ShapeMerge (Слитые с формой), Boolean (Булев), Terrain (Рельеф), Loft (Лофтинговые), Mesher (Сеточные), ProBoolean (Pro Булев) и ProCutter (Pro Вычитание).
В категории Particles (Частицы) представлены такие типы систем частиц, как Spray (Брызги), Snow (Снег), Blizzard (Метель), PArray (Массив частиц), PCloud (Облако частиц), Super Spray (Супербрызги).
Категория Patch Grids (Сетки патчей) представлена двумя командами создания типов сетки: Quad Patch (Четырехугольный патч) и Tr i Patch (Треугольный патч). При помощи сетки патчей можно создавать сглаженные поверхности за счет изменения управляющих вершин поверхности патча.
Категория NURBS[1] объединяет инструменты создания поверхностей двух типов: CV Surface (CV-поверхность) и Point Surface (Точечная поверхность), а также построения кривых: CV Curve (CV-кривая) и Point Curve (Точечная кривая).
В категории Dynamics (Динамика) содержатся динамические объекты Damper (Амортизатор) и Spring (Пружина), которые имитируют действие сил давления или упругости при моделировании анимации с учетом динамики взаимодействия объектов сцены.
Категория Shapes (Формы) объединяет сплайны различных типов: Line (Линия), Rectangle (Прямоугольник), Circle (Круг), Ellipse (Эллипс), Arc (Дуга), Donut (Кольцо), NGon (Многоугольник), Star (Звезда), Text (Текст), Helix (Спираль) и Section (Сечение). Основное предназначение сплайнов – служить заготовками для создания трехмерных объектов и линий, обозначающих траекторию анимации.
Следующая категория – Extended Shapes (Улучшенные формы). Она объединяет такие объекты, как WRectangle (W-прямоугольник), Channel (Канал), Angle (Угол), Te e (Т-образная форма) и Wide Flange (Широкий фланец).
В категории Lights (Источники света) объединены различные типы источников света, которые можно использовать в сцене. Она содержит подкатегории Standard Lights (Стандартные источники света) и Photometric Lights (Фотометрические источники света), а также команду Daylight System (Система дневного освещения).
Категория Cameras (Камеры) представлена камерами двух типов: Free Camera (Свободная камера) и Target Camera (Нацеленная камера). Здесь же находится команда создания камеры из окна проекции Create Camera From View (Создать камеру из окна проекции).
В категории Helpers (Вспомогательные объекты) содержатся вспомогательные объекты различных типов, которые не включаются в итоговое изображение сцены и предназначены для упрощения моделирования или анимации. В эту категорию входят Dummy (Пустышка), Grid (Координатная сетка), Point (Точка), Tape Measure (Рулетка), Protractor (Угломер), Compass (Компас) и др.
Категория SpaceWarps (Пространственные деформации) представлена пятью разновидностями объемных деформаций: Forces (Сила), Deflectors (Отражатели), Geometric/ Deformable (Деформируемая геометрия), Modifier-Based (На базе модификаторов) и Particles & Dynamics (Частицы и динамика). Каждая разновидность объединяет однотипные объемные деформации, например в Geometric/Deformable (Деформируемая геометрия) входят FFD(Box) (Произвольно деформируемый контейнер (прямоугольный)), Wave (Волна), Bomb (Бомба) и т. д.
В категорию Systems (Дополнительные инструменты) входят Bones IK Chain (Цепочки костей), Daylight System (Система дневного освещения) и Biped (Двуногий).
Меню Modifiers (Модификаторы)
Меню Modifiers (Модификаторы) (рис. 1.8) позволяет назначать модификаторы, не переходя на вкладку Modify (Изменение) командной панели.
Рис. 1.8. Меню Modifiers (Модификаторы)
Модификаторы – параметрически управляемые функции, предназначенные для изменения структуры объектов 3ds Max (например, положения вершин в пространстве или кривизны сегментов).
Перед присвоением параметрическому объекту модификатора необходимо выделить сам объект, к которому нужно применить модификатор. При этом в меню будут активны только те модификаторы, которые можно назначить данному примитиву. После выделения модификатора в меню Modifiers (Модификаторы) автоматически откроется панель, на которой вы можете изменить параметры выбранного модификатора.
Модификаторы, представленные в меню Modifiers (Модификаторы), объединены в 16 категорий.
Категория Selection (Выделение) содержит модификаторы, позволяющие выделять объекты или подобъекты, чтобы потом применить другие модификаторы только к выделению. К модификаторам выделения относятся FFD Select (Выделение свободной формы деформации), Mesh Select (Выделение поверхности), Patch Select (Выделение патчей), Poly Select (Выделение полигонов), Select By Channel (Выделение по каналу), Spline Select (Выделение сплайна), Volume Select (Объемное выделение).
В категории Patch/Spline Editing (Редактирование патчей/сплайнов) представлены модификаторы редактирования сплайнов и патчей: Cross Section (Поперечное сечение), Delete Patch (Удалить патч), Delete Spline (Удалить сплайн), Edit Patch (Редактирование патчей), Edit Spline (Редактирование сплайна), Fillet/Chamfer (Закругление/фаска), Lathe (Вращение вокруг оси), Normalize Spline (Нормализовать сплайн), Renderable Spline Modifer (Модификатор визуализации сплайна), Surface (Поверхность), Sweep (Шаблон) и Trim/Extend (Обрезать/расширить). Например, модификатор Sweep (Шаблон) позволяет выполнять лофтинг профилей вдоль линий, импортированных из AutoCAD, или вдоль кривых 3ds Max с возможностью использования предустановленных форм. В отличие от модификатора Loft (Лофтинговые), при помощи модификатора Sweep (Шаблон) можно использовать в качестве формы пути кривые, имеющие разрывы.
Модификаторы категории Mesh Editing (Редактирование поверхности) применяются для редактирования сетчатых оболочек объектов. К модификаторам данной категории относятся Cap Holes (Накрытие отверстий), Delete Mesh (Удалить поверхность), Edit Mesh (Редактирование поверхности), Edit Normals (Редактирование нормалей), Edit Poly (Редактирование полигонов), Extrude (Выдавливание), Face Extrude (Выдавливание граней), MultiRes (Множественное разрешение), Normal Modifier (Модификатор нормалей), Optimize (Оптимизация), Smooth (Сглаживание), STL Check (STL-тест), Symmetry (Симметрия), Tessellate (Разбиение), Vertex Paint (Раскраска вершин) и Vertex Weld (Слияние вершин).
Категория Conversion (Замена) представлена тремя модификаторами, применяемыми для преобразования одного типа объектов в другой: Turn to Mesh (Преобразовать в поверхность), Turn to Patch (Преобразовать в патч-поверхность), Turn to Poly (Преобразовать в полигональную поверхность).
В категории Animation (Анимация) содержится 16 модификаторов, применяемых для создания и редактирования анимации. В их число входят Skin (Оболочка), Morpher (Морфинг), Flex (Гибкость), Melt (Таяние), Patch Deform (Деформация по патчу), Path Deform (Деформация по траектории), Surf Deform (Деформация по поверхности) и т. д.
Категория Cloth (Ткань) представлена двумя модификаторами: Cloth (Ткань) и Garment Maker (Моделирование одежды). Оба модификатора дают возможность имитировать ткани, при этом позволяют создавать выкройки, рассчитывать динамику, учитывая пересечения с поверхностью, имеют интерактивное управление поведением ткани и т. д.
Категория Hair and Fur (Волосы и мех) содержит одноименный модификатор, который позволяет создавать прически при помощи «расчески» для сложных контуров, а также моделируя «завивку», «хвостики» и «пучки». Кроме того, возможно использование динамики волос – наследование инерции от движения кожи или других поверхностей.
В категорию UV Coordinates (UV-координаты) вошли модификаторы, связанные с наложением, редактированием и использованием проекционных координат: Camera Map (Проекция камеры), MapScaler (Масштабирование текстуры), Projection (Проекция), Unwrap UVW (Расправить UVW-проекцию), UVW Map (UVW-проекция), UVW Mapping Add (Добавить UVW-проекцию), UVW Mapping Clear (Удалить UVW-проекцию) и UVW XForm (Преобразование UVW-проекции).
Категория Cache Tools (Инструменты кэширования) представлена двумя однотипными модификаторами: Point Cache (Точка кэша) и модификатор глобального пространства Point Cache (WSM) (Точка кэша (WSM)).
В категорию Subdivision Surfaces (Поверхности с разбиением) вошли три модификатора, относящиеся к поверхностям с разбиением: HSDS[2] Modifier (HSDS-модификатор), MeshSmooth (Сглаженная поверхность) и TurboSmooth (Быстрое сглаживание).
Категория Free Form Deformers (Произвольные деформации) представлена пятью модификаторами: FFD 2x2x2 (Произвольная деформация 2x2x2), FFD 3x3x3 (Произвольная деформация 3x3x3), FFD 4x4x4 (Произвольная деформация 4x4x4), FFD Box (Произвольно деформируемый контейнер (прямоугольный)), FFD Cylinder (Произвольно деформируемый контейнер (цилиндрический)).
В категорию Parametric Deformers (Параметрические деформации) объединены 22 модификатора, предназначенные для работы с пространством объекта. В их число входят следующие: Affect Region (Воздействовать на область), Bend (Изгиб), Displace (Смещение), Lattice (Решетка), Mirror (Зеркальное отображение), Noise (Шум), Physique (Телосложение), Push (Выталкивание), Preserve (Хранение), Relax (Ослабление), Ripple (Рябь), Shell (Раковина), Slice (Срез), Skew (Перекос), Stretch (Растягивание), Spherify (Шарообразность), Squeeze (Сдавливание), Twist (Скручивание), Ta p e r (Заострение), Substitute (Замена), XForm (Преобразование) и Wave (Волна).
Категория Surface (Поверхность) представлена четырьмя модификаторами: Disp Approx (Аппроксимация смещения), Displace Mesh (WSM) (Смещение поверхности (WSM)), Material (Материал) и Material By Element (Материал по элементу).
Категория NURBS Editing (Редактирование NURBS-объектов) включает три модификатора, предназначенных для редактирования NURBS-объектов. В их число входят Disp Approx (Аппроксимация смещения), Surf Deform (Деформация поверхности) и Surface Select (Выделение поверхности).
В категорию Radiosity (Диффузное отражение) вошло два модификатора: Subdivide (WSM) (Разбиение (WSM)) и Subdivide (Разбиение).
Последняя категория меню Modifiers (Модификаторы) – Cameras (Камеры) – состоит из одного модификатора Camera Correction (Корректирование камеры).
Меню reactor
Меню reactor (рис. 1.9) содержит все необходимые команды для создания имитации физических реакций.
Рис. 1.9. Меню reactor
Категория Create Object (Создать объект) содержит 21 команду, позволяющую создать объект модуля reactor. Среди них: Rigid Body Collection (Коллекция твердых тел), Cloth Collection (Коллекция тканей), Soft Body Collection (Коллекция мягких тел), Rope Collection (Коллекция веревок), Wind (Ветер), Water (Вода), Constraint Solver (Решатель ограничений), Car-Wheel Constraint (Ограничение автомобильного колеса) и др.
1
В категорию Apply Modifier (Применить модификатор) включены три модификатора: Cloth Modifier (Модификатор тканей), Soft Body Modifier (Модификатор мягких тел), Rope Modifier (Модификатор веревок).
Команда Open Property Editor (Открыть редактор свойств) открывает плавающее окно, в котором можно редактировать свойства объектов модуля reactor.
Категория Utilities (Утилиты) содержит семь команд, четыре из которых относятся к редактированию ключевых кадров анимации: Analyze World (Проанализировать мир), Convexity Test (Тест на выпуклость), View Stored Collisions (Показать сохраненные столкновения), Reduce Keys (Selection) (Преобразовать ключи (выделенные)), Reduce Keys (All) (Преобразовать ключи (все)), Delete Keys (Selection) (Удалить ключи (выделенные)), Delete Keys (All) (Удалить ключи (все)).
Команда Preview Animation (Просмотр анимации) позволяет предварительно просмотреть анимацию в окне reactor Real-Time Preview (Просмотр в режиме реального времени).
Команда Create Animation (Создать анимацию) создает анимацию на основе объектов модуля reactor, присутствующих в сцене, и их настроек.
Меню Animation (Анимация)
Меню Animation (Анимация) (рис. 1.10) содержит множество команд, предназначенных для создания и управления анимацией сцены.
Рис. 1.10. Меню Animation (Анимация)
Категория IK Solvers (IK-решатели) содержит четыре команды для создания решателей (вспомогательных объектов, которые управляют положением и поворотом связей и цепочек (например, костей) в инверсной кинематике): HI Solver (HI-решатель), HD Solver (HD-решатель), IK Limb Solver (IK-решатель конечностей) и SplineIK Solver (Сплайновый IK-решатель).
В категории Constraints (Ограничения) содержится семь команд для создания контроллеров ограничения анимации объектов: Attachment Constraint (Ограничение по привязке), Surface Constraint (Ограничение по поверхности), Path Constraint (Ограничение по пути), Position Constraint (Ограничение по положению), Link Constraint (Ограничение по связи), LookAt Constraint (Ограничение по линии взгляда), Orientation Constraint (Ограничение по повороту).
Категория Transform Controllers (Контроллеры преобразования) содержит три контроллера преобразования: Link Constraint (Ограничение по связи), Position/Rotation/Scale (Положение/вращение/масштабирование) и Script (Сценарий).
В категории Position Controllers (Контроллеры положения) имеется 15 контроллеров, среди которых Audio (Аудио), Bezier (Безье), Linear (Линейный), Noise (Шум), Script (Сценарий), Path Constraint (Ограничение по пути), Position Constraint (Ограничение по положению), Surface Constraint (Ограничение по поверхности) и др.
Категория Rotation Controllers (Контроллеры вращения) содержит 11 контроллеров, в том числе Audio (Аудио), Linear (Линейный), Noise (Шум), Script (Сценарий), Smooth (Сглаживание), LookAt Constraint (Ограничение по линии взгляда), Orientation Constraint (Ограничение по повороту).
В категории Scale Controllers (Контроллеры масштабирования) имеется 10 контроллеров, среди которых Audio (Аудио), Bezier (Безье), Expression (Выражения), Linear (Линейный), Noise (Шум), Script (Сценарий).
Команды Parameter Editor (Редактор параметров) и Parameter Collector (Коллектор параметров) открывают окна диалога, в которых содержатся анимируемые параметры и средства управления ими. Редактор параметров позволяет присваивать заказные атрибуты объектам, модификаторам, материалам и анимационным роликам.
В категории Wire Parameters (Параметры связей) содержатся две команды: Wire Parameters (Параметры связей) и Parameter Wire Dialog (Окно диалога параметров связей), позволяющие назначить связи и редактировать параметры взаимодействия связанных объектов.
При выполнении команды Animation Layers (Анимация слоев) появляется одноименная панель, с помощью которой можно создавать, объединять, редактировать слои с различными анимированными треками одного объекта.
Команда Reaction Manager (Менеджер влияния) открывает одноименное окно, в котором можно присваивать и настраивать Reaction Controllers (Контроллеры влияния), добавлять и удалять управления и зависимости, редактировать кривые графов и выполнять многое другое.
При выборе команды Bone Tools (Инструменты костей) открывается окно, позволяющее редактировать базовую систему костей.
Кроме костей, персонажи обладают оболочкой. За ее создание отвечают команды Set as Skin Pose (Установить как вид оболочки), Assume Skin Pose (Присвоить оболочку) и Skin Pose Mode (Режим вида оболочки).
Три следующие команды меню Animation (Анимация) – Make Preview (Создать просмотр), View Preview (Запустить просмотр) и Rename Preview (Переименовать просмотр) – позволяют увидеть и оценить анимацию, сохранив ее во временном буфере, за счет визуализации активного окна проекции до выполнения полной визуализации. Впоследствии эту анимацию можно переименовать и сохранить.
Команда Toggle Limits (Переключить ограничители) дает возможность включать либо выключать использование контроллеров ограничений.
Команда Delete Selected Animation (Удалить выделенную анимацию) удаляет все ключевые кадры анимации выделенного объекта или группы объектов.
Меню Graph Editors (Графические редакторы)
Меню Graph Editors (Графические редакторы) (рис. 1.11) содержит команды для работы с графическими редакторами программы 3ds Max 2008.
Рис. 1.11. Меню Graph Editors (Графические редакторы)
В верхней части данного меню находятся две однотипные команды: Track View – Curve Editor (Просмотр треков – редактор кривых) и Track View – Dope Sheet (Просмотр треков – таблица структуры).
Команда New Track View (Новое окно просмотра треков) открывает дополнительное окно Graph Editors (Графические редакторы).
С помощью команды Delete Track View (Удалить окно просмотра треков) можно удалить закрытые окна Curve Editor (Редактор кривых) и Dope Sheet (Таблица структуры).
Команда Saved Track Views (Сохраненные окна просмотра треков) позволяет получить доступ к закрытым окнам просмотра треков.
При выборе команды New Schematic View (Новое окно редактора структуры) открывается окно просмотра структуры трехмерной сцены в виде графа, представляющего собой совокупность узлов и ветвей.
Команда Delete Schematic View (Удалить окно редактора структуры) позволяет удалять закрытые окна просмотра структуры.
Используя команду Saved Schematic Views (Сохраненные окна редактора структуры), можно получить доступ к закрытым окнам просмотра структуры.
Команда Particle View (Представление частиц) открывает одноименное окно диалога, позволяющее контролировать взаимодействие систем частиц в сцене.
Завершает данное меню команда Motion Mixer (Смешивание анимации), вызывающая одноименное окно диалога, которое позволяет, например, редактировать анимацию объектов модуля Character Studio.
Меню Rendering (Визуализация)
Меню Rendering (Визуализация) (рис. 1.12) содержит команды, используемые для окончательной визуализации сцены.
Команда Render (Визуализация), которую также можно выполнить нажатием клавиши F10, открывает окно диалога Render Scene (Визуализация сцены). В данном окне можно установить выходные параметры изображения, номера кадров для визуализации, параметры сглаживания, окно проекции, из которого будет проводиться визуализация, а также выбрать модуль для визуализации и выполнить некоторые другие настройки.
Рис. 1.12. Меню Rendering (Визуализация)
При выборе команды Environment (Окружающая среда) появляется окно диалога Environment and Effects (Окружающая среда и эффекты), в котором настраиваются такие параметры, как цвет фона или фоновое изображение, глобальное освещение и атмосферные эффекты.
Команда Effects (Эффекты) аналогично предыдущей вызывает окно Environment and Effects (Окружающая среда и эффекты), но с открытой вкладкой Effects (Эффекты).
Категория Advanced Lighting (Дополнительное освещение) содержит команды, открывающие окна с настройками дополнительного освещения. В число команд входят: Light Tracer (Трассировка лучей), Radiosity (Диффузное отражение), Exposure Control (Контроль экспозиции) и Lighting Analysis (Анализ освещения).
Команда Render To Texture (Визуализация на текстуру) открывает окно диалога, в котором можно задать параметры визуализации текстуры с использованием освещения, теней и т. д.
Команда Batch Render (Пакетная визуализация) позволяет визуализировать последовательность изображений с разных углов просмотра (камер) с возможностью изменения настроек в промежуточных видах.
При выборе команды Raytracer Settings (Установки трассировки) открывается окно Render Scene (Визуализация сцены) на вкладке Raytracer (Трассировка). В нем можно изменить глобальные параметры трассировки лучей.
Команда Raytrace Global Include/Exclude (Глобальное включение/выключение трассировки) вызывает окно диалога, в котором можно произвольно включать либо выключать объекты из просчетов трассировки лучей.
Используя команду mental ray Message Window (Окно сообщения mental ray), можно вызвать окно, в котором выводятся сообщения модуля визуализации mental ray.
При помощи команды Material Editor (Редактор материалов), которая выполняется также нажатием клавиши M, можно открыть окно редактора материалов, позволяющее создавать и редактировать материалы сцены.
Команда Material/Map Browser (Окно выбора материалов и карт) открывает окно диалога, предназначенное для просмотра и выбора материалов или текстурных карт.
Используя команду Video Post (Видеомонтаж), можно открыть окно работы с программным модулем Video Post (Видеомонтаж), позволяющим добавить изображениям специальные графические эффекты.
Команда Show Last Rendering (Показать последнюю визуализацию) вызывает окно с изображением последней выполненной визуализации.
При помощи команды Panorama Exporter (Экспортер панорамы) можно визуализировать панорамные сцены.
Команда Print Size Wizard (Мастер печати) открывает окно диалога, помогающее настроить размер визуализируемого изображения для печати.
С помощью команды RAM Player (RAM-проигрыватель) можно воспроизводить различные изображения и анимацию.
Меню Customize (Настройка)
Меню Customize (Настройка) (рис. 1.13) объединяет команды, служащие для изменения, сохранения и загрузки пользовательских настроек интерфейса программы, включая единицы измерения, привязки и т. п.
Рис. 1.13. Меню Customize (Настройка)
При выборе команды Customize User Interface (Настройка пользовательского интерфейса) открывается одноименное окно диалога, содержащее пять вкладок: для настройки сочетаний клавиш, панелей инструментов, контекстных меню, меню и цвета.
Команды Save Custom UI Scheme (Сохранить схему пользовательского интерфейса) и Load Custom UI Scheme (Загрузить заказную схему пользовательского интерфейса) позволяют сохранить изменения, внесенные в настройки интерфейса, в отдельных файлах и загрузить их.
С помощью команды Revert to Startup Layout (Вернуться к установкам по умолчанию) можно загрузить настройки программы, заданные по умолчанию.
СОВЕТ
При случайном изменении внешнего вида интерфейса программы самый простой способ вернуться к исходному состоянию – выполнить команду Revert to Startup Layout (Вернуться к установкам по умолчанию) меню Customize (Настройка).
Команда Custom UI and Defaults Switcher (Пользовательская схема и переключение на предварительно установленные) открывает окно диалога, в котором можно просмотреть аннотацию и выбрать предварительно установленную схему интерфейса, а также сохраненные пользовательские схемы.
Категория Show UI (Показать пользовательский интерфейс) объединяет четыре команды, которые включают/выключают показ элементов пользовательского интерфейса: Show Command Panel (Показать командную панель), Show Floating Toolbars (Показать плавающие панели инструментов), Show Main Toolbar (Показать главную панель инструментов) и Show Track Bar (Показать строку треков).
Команда Lock UI Layout (Блокировка схемы пользовательского интерфейса) позволяет заблокировать пользовательский интерфейс для предотвращения случайных изменений.
При выборе команды Configure User Paths (Конфигурация пользовательских путей) открывается одноименное окно диалога, в котором можно добавить либо изменить установленные по умолчанию пути к пользовательским файлам, таким как файлы сцены, текстур, анимации, дополнительных модулей и т. д. Выполнив команду Configure System Paths (Конфигурация системных путей), можно открыть одноименное окно, которое позволяет изменить пути к системным папкам программы, например указать новый путь для файлов справки или шрифтов, используемых программой.
Команда Units Setup (Настройка единиц) открывает одноименное окно диалога, в котором можно изменить отображение системных единиц.
С помощью команды Grid and Snap Settings (Настройки сетки и привязок) можно открыть одноименное окно, позволяющее при необходимости задать способ и допуски привязок, а также настроить размерность и шаг сетки окон проекций.
Команда Viewport Configuration (Конфигурирование окна проекции), открывающая одноименное окно диалога, позволяет выполнить настройки активного или всех окон проекций.
Используя команду Plug-in Manager (Менеджер подключаемых модулей), можно вызвать одноименное окно, включающее список установленных в системе подключаемых модулей с их названием, описанием, статусом (используется или отключен), размером и указанием полного пути.
Команда Preferences (Параметры) открывает окно диалога, позволяющее настраивать и контролировать многие аспекты программы 3ds Max. В их число входят настройки визуализации, окон проекций, анимации, файловой системы, габаритных контейнеров и др.
Меню MAXScript
Меню MAXScript (рис. 1.14) содержит команды, позволяющие работать со встроенным в программу языком макропрограммирования MAXScript.
Рис. 1.14. Меню MAXScript
Команда New Script (Создать сценарий) вызывает окно (Untitled) – MAXScript для написания новых и редактирования существующих макрокоманд.
При помощи команды Open Script (Открыть сценарий) можно открыть окно диалога Open File (Открыть файл), с помощью которого можно открыть файл макроса.
Команда Run Script (Выполнить сценарий) вызывает окно диалога Choose Editor File (Выберите файл редактора). После выбора файла макроса он сразу запускается.
Используя команду MAXScript Listener (Интерпретатор MAXScript), можно открыть окно интерпретатора команд MAXScript, которое служит для контроля выполнения макрокоманд.
Новая команда меню MAXScript Editor (Редактор MAXScript) открывает окно редактора, в котором можно набирать текст макрокоманд не только в формате 3ds Max, но также и в других форматах, например XML или простой текст.
Команда Visual MAXScript Editor (Графический редактор MAXScript) вызывает окно, позволяющее выполнить построение графических элементов интерфейса для использования вместе с макрокомандами.
Команда Debugger Dialog (Окно отладчика) позволяет полнее и проще использовать редактор макрокоманд 3ds Max.
Меню Help (Справка)
Меню Help (Справка) (рис. 1.15) содержит команды доступа к справочной информации и урокам программы 3ds Max.
Рис. 1.15. Меню Help (Справка)
Команда Welcome Screen (Окно приветствия) вызывает одноименное окно диалога, которое открывается по умолчанию, когда вы впервые запускаете 3ds Max. С помощью этого окна можно познакомиться с основными понятиями и способами работы в приложении. Для этого используются небольшие видеоролики, для запуска которых нужно щелкнуть на значке с изображением соответствующей темы.
Команды Autodesk 3ds Max Help (Справка по Autodesk 3ds Max) и MAXScript Reference (Справочник по MAXScript) позволяют получить помощь по всем элементам и функциям программы 3ds Max. Информация представлена в стандарте Microsoft Compiled HTML Help.
Используя команду Tutorials (Уроки), можно открыть окно, содержащее уроки по всем основным темам программы.
Команды Data Exchange Solutions (Информационный обмен), Subscription e-Learning Catalog (Подписка на каталог электронного обучения), Create Support Request (Создание запроса поддержки), View Support Requests (Просмотр запроса поддержки), Edit Subscription Center Profile (Редактирование профиля подписки) открывают браузер на странице программы для обмена данными между приложениями.
Команда Customer Involvement Program (Программа, в которой участвуют пользователи) – новая программа, позволяющая разработчикам расширять возможности приложения путем сбора и анализа информации об использовании 3ds Max на вашем компьютере. В открывшемся окне диалога при помощи переключателя выберите, принимать вам участие в программе или нет, а затем щелкните на кнопке OK.
Команда HotKey Map (Карта сочетаний клавиш) вызывает интерактивное окно, содержащее набор основных сочетаний клавиш.
С помощью команды Additional Help (Дополнительная справка) можно получить справочную информацию о дополнительных модулях, установленных в приложении.
Категория 3ds Max on the Web (3ds Max в Интернете) содержит команды, автоматически открывающие браузер для поиска и загрузки обновлений, получения сетевой поддержки, уроков и т. д.
Команда Activate 3ds Max (Активизировать 3ds Max) вызывает окно активизации продукта, в котором вы можете ввести код авторизации.
При выборе команды About 3ds Max (О 3ds Max) открывается окно, показывающее серийный номер продукта, драйвер видеоустройства, тип лицензии и т. д.
Панели инструментов
По умолчанию главная панель инструментов отображается под строкой меню в верхней части окна программы.
Использование панелей инструментов – один из наиболее удобных способов выполнения большинства команд, для чего достаточно одного щелчка кнопкой мыши на значке, расположенном на панели инструментов.
Кнопки на панели инструментов программы 3ds Max могут быть двух размеров – стандартные (16 х 16 пикселов) и крупные (24 х 24 пиксела) с улучшенным графическим отображением. По умолчанию приложение загружается с кнопками крупного размера, из-за чего панель инструментов может не помещаться на экране полностью. Для отображения скрытой части панели предусмотрена прокрутка по горизонтали.
ВНИМАНИЕ
С целью максимального отображения рабочего пространства все кнопки программы, изображенные в книге, имеют стандартный размер.
Чтобы заменить крупные кнопки на стандартные, выполните команду Customize ► Preferences (Настройка ► Параметры). Откроется окно Preference Settings (Параметры установок), в котором необходимо перейти на вкладку General (Общие). В области UI Display (Интерфейс пользователя) снимите флажок Use Large Toolbar Buttons (Использовать крупные кнопки) и щелкните на кнопке OK. Перезапустите программу для обновления отображения интерфейса.
Все закрепленные панели могут быть плавающими (рис. 1.16). Для этого достаточно щелкнуть на двух вертикальных линиях в левой (или верхней) части панели и переместить панель. После этого можно масштабировать и перемещать окно в пределах интерфейса программы. Двойной щелчок кнопкой мыши на заголовке окна панели вернет ее на место или пристыкует к любой стороне окна программы.
Рис. 1.16. Главная панель инструментов в виде плавающего окна
Все кнопки панели инструментов снабжены подсказками, которые появляются при наведении указателя мыши на кнопку и удержании над ней. Небольшой треугольник в правом нижнем углу некоторых кнопок говорит о том, что при нажатии и удержании такой кнопки раскроется панель данного инструмента с дополнительным набором кнопок.
Главная панель инструментов
Рассмотрим кнопки главной панели инструментов.
Undo (Отменить) (Ctrl+Z) – отменяет последнюю команду или группы команд.
Redo (Повторить) (Ctrl+Y) – возвращает команды, которые были отменены.
Select and Link (Выделить и связать) – устанавливает связь между объектами сцены.
Unlink Selection (Разорвать связь с выделенным объектом) – разрывает связи между объектами.
Bind to Space Warp (Связать с воздействием) – связывает объект с источником объемной деформации.
Selection Filter (Фильтр выделения) – раскрывающийся список, ограничивающий типы объектов, которые могут быть выделены.
Select Object (Выделение объекта) (Q) – инструмент выделения объектов.
Select by Name (Выделить по имени) (H) – открывает окно диалога для выделения объектов по имени.
Rectangular Selection Region (Прямоугольная область выделения)
Circular Selection Region (Круглая область выделения)
Fence Selection Region (Произвольная форма выделения)
Lasso Selection Region (Выделение лассо),
Paint Selection Region (Выделение кистью) (Ctrl+F) – выделяют объекты рамкой различной формой.
Window/Crossing (Оконное/Пересекающее выделение) – устанавливает, каким образом будет выделяться объект: обводкой или пересечением.
Select and Move (Выделить и переместить) (W) – выделяет и перемещает объект.
Select and Rotate (Выделить и повернуть) (E) – выделяет и поворачивает объект сцены.
Select and Uniform Scale (Выделить и равномерно масштабировать),
Select and Non-uniform Scale (Выделить и неравномерно масштабировать),
Select and Squash (Выделить и сжать) (R) – выделяет и масштабирует объект различными способами.
Reference Coordinate System (Система координат) – раскрывающийся список, при помощи которого устанавливается система координат, используемая для трансформаций.
Use Pivot Point Center (Использовать опорные точки объектов),
Use Selection Center (Использовать центр выделения),
Use Transform Coordinate Center (Использовать начало координат) – устанавливают центр преобразования масштаба и поворота.
Select and Manipulate (Выделить и манипулировать) – выделяет объект и управляет при помощи манипуляторов его параметрами.
Keyboard Shortcut Override Toggle (Переключение клавиатурных комбинаций быстрого вызова) – позволяет переключаться между основными сочетаниями клавиш и клавиатурными комбинациями для групп, таких как Editable Mesh (Редактируемая сетка), Track View (Просмотр треков), NURBS (NURBS-объект) и т. п.
Snap Toggle 2D (Двумерная привязка),
Snap Toggle 2.5D (Полуобъемная привязка),
Snap Toggle 3D (Трехмерная привязка) (S) – устанавливает режим привязок.
Angle Snap Toggle (Угловая привязка) (A) – включает режим ограничения поворота с заданным шагом.
Percent Snap Toggle (Процентная привязка) (Shift+Ctrl+P) – включает режим фиксированного приращения значения.
Spinner Snap Toggle (Привязка приращений счетчиков) – управляет режимом приращения значений во всех счетчиках.
Edit Named Selection Sets (Редактировать название выделенной области) – открывает окно диалога для создания и управления именованными выделениями. Рядом расположен раскрывающийся список Named Selection Sets (Название выделенной области), при помощи которого можно задать имя новой выделенной области или выбрать существующую.
Mirror (Зеркальное отображение) – создает зеркальную копию выделенного объекта.
Align (Выравнивание) (Alt+A),
Quick Align (Быстрое выравнивание),
Normal Align (Выравнивание нормали) (Alt+N)
Place Highlight (Поместить блик) (Ctrl+H)
Align Camera (Выровнять камеру),
Align to View (Выровнять по проекции) – открывают окна диалога параметров выравнивания, где можно указать параметры выравнивания либо задать быстрое выравнивание двух объектов, выравнивание по нормалям, окну проекции или камере.
Layer Manager (Управление слоями) – открывает окно управления слоями.
Curve Editor (Open) (Редактор кривых (открыть)) – вызывает редактор функциональных кривых.
Schematic View (Open) (Редактор структуры (открыть)) – вызывает редактор структуры.
Material Editor (Редактор материалов) (M) – открывает редактор материалов.
Render Scene Dialog (Диалоговое окно визуализации сцены) (F10) – вызывает окно с настройками визуализации.
Render Type (Тип визуализации) – раскрывающийся список, устанавливающий тип визуализируемых объектов.
Quick Render (Production) (Быстрая визуализация (итоговая)),
QuickRender (ActiveShade) (Быстрая визуализация (тонированная)) – запускает визуализацию сцены без открытия окна диалога.
Плавающие панели инструментов
Если выполнить команду Customize ► Show UI ► Show Floating Toolbars (Настройка ► Показать пользовательский интерфейс ► Показать плавающие панели инструментов), то откроются дополнительные плавающие панели: reactor, Layers (Слои), Animation Layers (Анимация слоев), Snaps (Привязки), Render Shortcuts (Быстрый доступ к настройкам визуализации), Axis Constraints (Ограничения по осям), Extras (Дополнения) и Brush Presets (Предустановки кистей).
Плавающая панель инструментов Layers (Слои) содержит кнопки для создания, активизации, блокировки и выделения слоев, а также средства для назначения и изменения свойств слоя. При помощи панели Snaps (Привязки) можно управлять свойствами привязок, используемых при моделировании и редактировании объектов. Панель Axis Constraints (Ограничения по осям) позволяет устанавливать ограничения перемещения только выделенной осью или плоскостью. Панель Extras (Дополнения) содержит кнопки переключения подключаемых модулей на сочетания клавиш, автосетки, а также кнопки создания массива, снимков и распределенных объектов по пути или заданному точками расстоянию. Панель Brush Presets (Предустановки кистей) позволяет получить доступ к предустановленным кистям, а также создавать собственные. Панель reactor содержит все необходимые команды для создания имитации физических реакций.
Панель Animation Layers (Анимация слоев) дает возможность объединять анимационные треки одного объекта, настраивая их по отдельности.
Рассмотрим некоторые панели инструментов более подробно.
Панель инструментов Snaps (Привязки) (рис. 1.17) обеспечивает быстрый доступ к наиболее используемым командам привязки.
Рис. 1.17. Плавающая панель Snaps (Привязки)
Плавающая панель инструментов Render Shortcuts (Быстрый доступ к настройкам визуализации) позволяет сохранять и загружать различные наборы настроек для визуализации сцены, причем существуют три кнопки для быстрого сохранения и визуализации сцены (рис. 1.18).
Рис. 1.18. Плавающая панель Render Shortcuts (Быстрый доступ к настройкам визуализации)
Удерживая нажатой клавишу Shift, щелкните на кнопке с буквой A, B или C – и настройки последней визуализации будут сохранены. Для начала визуализации сцены при помощи сохраненных настроек достаточно щелкнуть на одной из трех кнопок.
Окна проекций
Наибольшее пространство окна программы занимают окна проекций. И это неудивительно: именно с их помощью мы получаем доступ к объектам сцены. В окнах проекций можно настроить отображение объектов различным образом, например задать компоновку экрана для управления видом и ориентацией или указать способы оптимизации прорисовки экрана во время работы.
В приложении 3ds Max используется два вида проекций: аксонометрические и перспективные (центральные). Частным случаем аксонометрической проекции являются ортографические проекции, при построении которых плоскость проекции выравнивается параллельно одной из координатных плоскостей трехмерного пространства. К ортографическим проекциям в 3ds Max относятся виды сверху, снизу, спереди, сзади, слева и справа. К перспективным проекциям – вид из камеры, перспектива и окно, основанное на источнике направленного света.
Одновременно на экране может отображаться от одного до четырех окон проекций. Каждое окно имеет рамку и имя, расположенное в верхнем левом углу окна.
Вид можно присваивать, указав компоновку видового окна в диалоге Viewport Configuration (Конфигурирование окна проекции) (рис. 1.19), которое вызывается командой Customize ► Viewport Configuration (Настройка ► Конфигурирование окна проекции). При щелчке на образце компоновки видового окна в нижней части окна диалога отображается раскрывающийся список имеющихся видов.
Этот список можно также вызвать, щелкнув правой кнопкой мыши на имени окна проекции и выбрав из контекстного меню команду Views (Вид). Типы Camera (Камера) и Spotlight (Прожектор) отсутствуют в списке до тех пор, пока на сцене не созданы камеры и источники освещения.
Каждое окно проекции может отображать любой поддерживаемый программой вид. Кроме того, эти окна могут использоваться для отображения окон диалога Schematic View (Редактор структуры), Track View (Просмотр треков), Asset Manager (Диспетчер ресурсов) или MAXScript Listener (Интерпретатор MAXScript).
Самым быстрым и удобным способом изменить вид окон проекций является использование сочетаний клавиш (см. приложение 2).
Стандартные типы окон отображают объекты сцены с ограниченного количества сторон. Однако часто, моделируя объекты сцены, необходимо видеть их со всех сторон, приближаться для работы с деталями и удаляться, чтобы охватить взглядом всю сцену. Для навигации в окнах проекций существуют кнопки, расположенные в правом нижнем углу окна программы. Состав кнопок управления меняется в зависимости от выбранного типа проекции.
Рис. 1.19. Окно Viewport Configuration (Конфигурирование окна проекции)
Рассмотрим кнопки управления окнами проекций.
Zoom (Масштаб) (Alt+Z или [, или ]) – изменяет масштаб просмотра изображения.
Zoom ALL (Масштаб всех окон) – увеличивает или уменьшает масштаб просмотра изображения во всех окнах одновременно.
Zoom Extents (Сцена целиком) (CtrL+ALt+Z),
Zoom Extents SeLected (Выделенные объекты целиком) – размещает все объекты (или только выделенные) в пределах активного окна.
Zoom Extents ALL (Сцена целиком во всех окнах) (CtrL+Shift+Z),
Zoom Extents ALL SeLected (Выделенные объекты целиком во всех окнах) (Z) – размещает все объекты (или только выделенные) в пределах всех окон проекций.
Field-of-View (Поле зрения) – доступна только при активном окне проекции Perspective (Перспектива), увеличивает или уменьшает масштаб просмотра изображения.
Zoom Region (Масштаб области) (Ctrl+W) – увеличивает выделенную область до размеров окна.
Pan View (Прокрутка) (Ctrl+P или I) – прокручивает изображение, не меняя масштаб.
Walk Through (Перейти) («горячая» клавиша ↑) – навигация камеры и перспективы, аналогична виду от первого лица в видеоиграх.
Arc Rotate (Повернуть) (Ctrl+R),
Arc Rotate Selected (Повернуть выделенные),
Arc Rotate SubObject (Повернуть подобъект) – управляет поворотом в окне проекции. Во втором и третьем случаях вокруг объекта и подобъекта.
Maximize Viewport Toggle (Увеличение окна проекции до размеров экрана) (Alt+W) – разворачивает окно проекции во всю рабочую область окна программы.
Командная панель
В 3ds Max 2008, как и в предыдущих версиях программы, командная панель имеет шесть вкладок: Create (Создание), Modify (Изменение), Hierarchy (Иерархия), Motion (Движение), Display (Отображение) и Utilities (Утилиты). Командная панель располагается в правой части окна программы (может быть также пристыкована к любой стороне окна приложения или выступать в качестве плавающей панели). На ней сосредоточены настройки объектов сцены (рис. 1.20).
Рис. 1.20. Командная панель
Основные настройки объектов сосредоточены в свитках вкладок командной панели. Свитки – области, сгруппированные по определенным признакам и имеющие в качестве заголовка кнопку шириной во всю ширину свитка (рис. 1.21). Название каждого свитка содержит знак «плюс» или «минус» в зависимости от того, развернут свиток или свернут (свернутому свитку соответствует знак +, а развернутому – знак -). Щелчок на заголовке свитка разворачивает или сворачивает свиток. Порядок следования свитков на командной панели (и не только) можно менять, перетаскивая свиток вверх или вниз относительно других.
Рис. 1.21. Свернутый и развернутый свитки на командной панели
ПРИМЕЧАНИЕ
Положение свитков Object Type (Тип объекта) и Name and Color (Имя и цвет) изменить нельзя.
Достаточно часто развернутые свитки не помещаются в поле экрана и часть их содержимого скрывается за его границей. Для таких случаев предусмотрена возможность прокрутки области свитка вверх или вниз. Индикатором того, что на экране отображено не все содержимое свитков, является узкая вертикальная полоса вдоль их правой части. При наведении на область свитка указатель мыши примет форму руки, после чего, нажав и удерживая кнопку мыши, можно прокручивать область свитков вверх или вниз.
Свитки имеют контекстное меню, которое появляется при щелчке правой кнопкой мыши на области свитков (вне элементов управления). Оно содержит команды разворачивания и сворачивания всех свитков или свитков по именам и возврата к принятому по умолчанию порядку их расположения.
В стандартном режиме командная панель располагается на экране так, что свитки находятся в одном столбце. При желании вы можете увеличить пространство, отводимое под свитки. Для этого подведите указатель мыши к левой границе панели и, когда указатель примет вид двунаправленной стрелки, щелкните на границе и переместите ее влево. В результате область, занимаемая свитками, будет увеличиваться с шагом в ширину свитка.
Вкладка Create (Создание)
Вкладка Create (Создание) предназначена для создания всех типов объектов 3ds Max: Geometry (Геометрия) (например, Box (Параллелепипед), Sphere (Сфера) и т. д.), Shapes (Формы), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты), Spañe Warps (Объемные деформации) и Systems (Дополнительные инструменты) (рис. 1.22). Щелчок кнопкой мыши на любой из этих кнопок вызывает набор инструментов для создания объектов соответствующей категории.
Рис. 1.22. Вкладка Create (Создание) командной панели
ПРИМЕЧАНИЕ
Более полно список объектов, доступных для создания в программе 3ds Max, рассматривался выше при описании меню Create (Создание).
Для создания объекта найдите его кнопку, щелкните на ней и в окне проекции постройте объект простым перетаскиванием указателя при нажатой левой кнопке мыши. Создав параметрический объект, можно уточнить его размеры, введя необходимые значения в поля свитка Parameters (Параметры).
Ниже кнопок выбора категорий и списка разновидностей объектов располагаются свитки Object Type (Тип объекта) и Name and Color (Имя и цвет). Каждому объекту, созданному при помощи панели Create (Создание), присваиваются имя и цвет, которые можно изменить, используя эти свитки.
После нажатия кнопка с именем объекта выделяется цветом. Это означает, что она активна. Одновременно для строящегося объекта раскрываются дополнительные свитки – Parameters (Параметры) и Creation Method (Метод создания). Кнопка, оставаясь выделенной, позволяет создавать объекты выбранного типа до тех пор, пока не будет отключена. Прекратить создание объектов можно также, щелкнув правой кнопкой мыши на активном окне проекции.
В качестве примера построим параметрический объект Box (Параллелепипед). Для этого выполните следующие действия.
1. Щелкните на кнопке Geometry (Геометрия) вкладки Create (Создание) командной панели.
2. В раскрывающемся списке разновидностей объектов выберите строку Standard Primitives (Простые примитивы), после чего в свитке Object Type (Тип объекта) появятся кнопки с типами доступных для создания объектов.
3. Щелкните на кнопке с именем Box (Параллелепипед), в результате чего кнопка станет оранжевой, а в нижней части командной панели появится три свитка: Creation Method (Метод создания), Keyboard Entry (Ввод с клавиатуры) и Parameters (Параметры).
Дальше строить объект можно двумя способами: введением точных значений параметров объекта в поля свитка Keyboard Entry (Ввод с клавиатуры) либо интерактивно в окне проекции любого вида. Рассмотрим построение объекта вторым способом.
1. Щелкните в любом месте окна проекции Perspective (Перспектива) и, удерживая нажатой левую кнопку мыши, переместите указатель по диагонали, определив таким образом длину и ширину объекта.
2. Отпустите кнопку мыши и переместите указатель вверх для определения высоты объекта.
3. Для завершения построения щелкните левой кнопкой мыши.
4. При необходимости уточните параметры объекта, воспользовавшись свитком Parameters (Параметры).
СОВЕТ
Если параметрическому объекту планируется назначать модификатор, связанный с изменением поверхности, например Bend (Изгиб) или Noise (Шум), то необходимо увеличить количество сегментов до 10 и более (подбирается опытным путем с целью получения желаемого эффекта).
Аналогичным способом строятся все параметрические объекты. Исключение составляют сложные примитивы Hedra (Многогранник), RingWave (Круговая волна) и Hose (Рукав). Они не содержат свитков Creation Method (Метод создания) и Keyboard Entry (Ввод с клавиатуры), поэтому строятся только интерактивным способом в окне проекции.
Вкладка Modify (Изменение)
Параметры объекта, появляющиеся при его построении на вкладке Create (Создание) командной панели, становятся недоступными после выбора другого объекта или деактивизации кнопки построения объекта. Для продолжения редактирования созданного примитива следует воспользоваться вкладкой Modify (Изменение) командной панели (рис. 1.23).
Рис. 1.23. Вкладка Modify (Изменение) командной панели
Выделив объект и перейдя на эту вкладку, вы вновь увидите свиток с параметрами для редактирования.
Кроме изменения параметров примитива, вкладка Modify (Изменение) командной панели позволяет назначать модификаторы выделенному объекту или группе объектов. В последнем случае к каждому объекту применяется образец модификатора.
В верхней части вкладки Modify (Изменение) командной панели постоянно отображается строка с именем выделенного объекта и поле с образцом цвета, а немного ниже – раскрывающийся список Modifier List (Список модификаторов), содержащий модификаторы, доступные для применения к выделенному объекту.
ПРИМЕЧАНИЕ
Модификаторы можно также применять к объектам, используя команды главного меню Modifiers (Модификаторы) (см. выше).
Содержимое нижней части области свитков вкладки Modify (Изменение) командной панели меняется в зависимости от типа выделенных объектов и выбранных модификаторов.
В стеке модификаторов, который расположен под списком модификаторов, показано все, что происходит с объектом. Он отображает все модификаторы, примененные к выделенному объекту сцены, позволяет вернуться к настройкам любого модификатора и изменить его параметры, поменять местами расположение модификаторов в стеке или удалить их.
Под стеком модификаторов расположены кнопки, предназначенные для управления стеком. В их число входят Pin Stack (Закрепить стек), Show end result on/off toggle (Показать конечный результат вкл/выкл), Make unique (Сделать уникальным), Remove modifier from the stack (Удалить модификатор из стека), Configure Modifier Sets (Изменить набор модификаторов).
Рассмотрим порядок применения модификаторов к объектам сцены на примере модификатора Bend (Изгиб).
1. Постройте параметрический объект Box (Параллелепипед) одним из способов, описанных выше.
2. Не снимая выделение с построенного объекта, в свитке Parameters (Параметры) вкладки Create (Создание) командной панели увеличьте значение параметра Height Segs (Количество сегментов по высоте) до 20.
3. Перейдите на вкладку Modify (Изменение) командной панели и выберите из списка модификаторов строку Bend (Изгиб).
4. В свитке Parameters (Параметры) подберите желаемые значения параметров Angle (Угол) и Direction (Направление), задающих величину изгиба и угол поворота габаритного контейнера модификатора.
На рис. 1.24, слева показан объект Box (Параллелепипед), преобразованный при помощи модификатора Bend (Изгиб), а на рис. 1.24, справа – фрагмент вкладки Modify (Изменение) командной панели со стеком модификаторов и настройками модификатора Bend (Изгиб).
Рис. 1.24. Объект Box (Параллелепипед), преобразованный при помощи модификатора Bend (Изгиб) (слева), с соответствующими настройками (справа)
Вкладка Hierarchy (Иерархия)
Вкладка Hierarchy (Иерархия) командной панели (рис. 1.25) содержит три кнопки контроля за различными параметрами и состояниями объекта.
■ Pivot (Опора) – открывает свитки, позволяющие изменять положение в пространстве опорной точки (Pivot Point) выделенного объекта.
ПРИМЕЧАНИЕ
Опорная точка (Pivot Point) – точка, вокруг которой происходят все трансформации объекта, включая поворот, масштабирование и т. д.
■ IK (Inverse Kinematics) (Обратная кинематика) – содержит свитки, позволяющие применять к связанным объектам анимацию методом обратной кинематики. Эти свитки также позволяют настраивать параметры связей объектов, указывая на способы взаимодействия этих объектов между собой.
■ Link Info (Данные о связях) – открывает свитки, позволяющие устанавливать блокировки на перемещение, поворот и масштабирование выделенного объекта. Здесь же можно задать характеристики связей объектов друг с другом.
Рис. 1.25. Вкладка Hierarchy (Иерархия) командной панели
Рассмотрим пример изменения положения опорной точки для управления преобразованиями объекта.
1. Выделите объект сцены, предназначенный для преобразований (например, для создания массива экземпляров объекта, повернутых вокруг одной точки).
2. Перейдите на вкладку Hierarchy (Иерархия) командной панели и щелкните на кнопке Pivot (Опора).
3. В свитке Adjust Pivot (Настройка опоры) щелкните на кнопке Affect Pivot Only (Только опора), в результате контейнер преобразования примет соответствующий вид.
4. Используя операцию Move (Перемещение) контекстного меню, установите положение опорной точки, требующееся для выполнения преобразований.
5. Щелкните на кнопке Affect Pivot Only (Только опора), чтобы завершить работу по изменению положения опорной точки.
Вкладка Motion (Движение)
Вкладка Motion (Движение) командной панели (рис. 1.26) содержит две кнопки, расположенные в верхней части панели: Parameters (Параметры) и Trajectories (Траектории).
Рис. 1.26. Вкладка Motion (Движение) командной панели
Щелчок на кнопке Parameters (Параметры) открывает пять свитков, позволяющих анимировать объект и управлять анимацией при помощи присвоения контроллеров (Controllers) или ограничений (Constraints).
Контроллеры влияют на положение объекта в пространстве, его поворот и масштабирование относительно выбранного направления, а ограничения позволяют задать рамки использования трансформации объекта установленными параметрами (например, движением объекта вдоль указанного сплайна).
Доступ к списку контроллеров анимации можно получить, щелкнув на кнопке Assign Controller (Назначить контроллер), расположенной в верхнем левом углу одноименного свитка, а также при помощи команд меню Animation (Анимация), рассмотренных выше в этой главе.
Кнопка Trajectories (Траектории) открывает одноименный свиток, позволяющий устанавливать параметры анимации по пути.
Рассмотрим простой пример присвоения объекту Box (Параллелепипед) контроллера масштаба.
1. Постройте объект Box (Параллелепипед).
2. Перейдите на вкладку Motion (Движение) командной панели и щелкните на кнопке Parameters (Параметры).
3. В свитке Assign Controller (Назначить контроллер) выделите строку Scale: Bezier Scale (Масштабирование: масштабирование Безье).
4. В области Create Key (Создать ключ) свитка PRS Parameters (Параметры положения/поворота/масштабирования) щелкните на кнопке Scale (Масштабирование) – в результате в текущем кадре будет создан ключ анимации.
5. Для доступа к параметрам масштаба щелкните на второй кнопке Scale (Масштабирование), расположенной в правом нижнем углу свитка PRS Parameters (Параметры положения/поворота/масштабирования). В результате в свитке Key Info (Basic) (Основные параметры ключа) появятся настройки параметров масштабирования (рис. 1.27).
Рис. 1.27. Настройки контроллера масштабирования для объекта Box (Параллелепипед)
6. При необходимости измените номер кадра и параметры масштабирования для созданного ключа анимации.
7. Перейдите к следующему кадру, в котором вы хотели бы установить ключ анимации, для чего передвиньте ползунок на шкале анимации, расположенной в нижней части окна программы.
8. В области Create Key (Создать ключ) свитка PRS Parameters (Параметры положения/поворота/масштабирования) щелкните на кнопке Scale (Масштабирование). В результате будет создан следующий ключ анимации.
9. Измените параметры масштабирования для созданного ключа анимации.
10. Для просмотра созданной анимации щелкните на кнопке Play Animation (Воспроизвести анимацию
), расположенной в правой нижней части окна программы.
Вкладка Display (Отображение)
Вкладка Display (Отображение) содержит команды управления отображением отдельных объектов сцены в окнах проекций (рис. 1.28).
Рис. 1.28. Вкладка Display (Отображение) командной панели с развернутым свитком Display Color (Отображение цвета)
На этой вкладке можно установить индивидуальные параметры отображения каждого объекта и категорий объектов в целом. Используя настройки данной вкладки, вы можете изменять все параметры отображения, а также выполнить команду Hide (Спрятать) или Freeze (Фиксировать).
ПРИМЕЧАНИЕ
Многие команды управления отображением объектов находятся на плавающей палитре Display Floater (Плавающее окно отображения), а также в окне Object Properties (Свойства объекта).
Вкладка Utilities (Утилиты)
Разнообразный выбор инструментов предоставляет вкладка Utilities (Утилиты) (рис. 1.29).
Рис. 1.29. Вкладка Utilities (Утилиты) командной панели
По умолчанию свиток Utilities (Утилиты) содержит девять утилит: Asset Browser (Окно просмотра ресурсов), Camera Match (Горизонт камеры), Collapse (Свернуть), Color Clipboard (Буфер обмена с цветом), Measure (Линейка), Motion Capture (Захват движения), Reset XForm (Сбросить преобразования), MAXScript и reactor. Чтобы получить доступ к списку большего количества утилит, щелкните на кнопке More (Дополнительно), расположенной в левом верхнем углу свитка.
После щелчка на кнопке с названием утилиты кнопка выделится цветом, а в нижней части вкладки Utilities (Утилиты) появятся свитки с параметрами выбранной утилиты (для некоторых утилит открывается окно диалога).
Подключаемые модули
Подключаемые модули (Plug-In) – внешние программы, предоставляющие пользователям 3ds Max дополнительные возможности. Открытая архитектура 3ds Max построена так, что позволяет любому разработчику программного обеспечения улучшить его возможности. MAXScript и Software Developer’s Kit (SDK) (Набор инструментов разработчика программ) дают возможность пользователям разрабатывать собственные подключаемые модули.
Существуют фирмы, специализирующиеся на производстве вспомогательных модулей для популярных пакетов трехмерного моделирования, в частности для 3ds Max. Некоторые из них уже давно обрели заслуженную популярность у пользователей, другие пока только осваивают рынок. Каждый модуль предназначен для решения определенной задачи (например, для создания волосяного покрова трехмерного персонажа, добавления эффекта огня, визуализации).
Внешний модуль состоит из набора файлов, обычно с расширениями DLO, DLM, DLU и DLE. Последние буквы расширения определяют, в какую группу входит подключаемый модуль. Например, модуль с расширением DLE относится к экспорту из программы, а расширение DLU обозначает, что модуль является утилитой.
Если у модуля нет специального мастера установки, то достаточно скопировать его файлы в директорию 3ds Max 2008\plugins и перезапустить 3ds Max. Если модуль устанавливается в отдельную директорию, то пути к файлам, используемым модулем, указываются в файле plugins.ini, который расположен в корневой директории 3ds Max 2008. После инсталляции модуля и перезапуска программы остается только найти то место, откуда можно получить доступ к модулю. Как правило, это категории Modify (Изменение), Helpers (Вспомогательные объекты) или Utilities (Утилиты) вкладки Create (Создание) командной панели.
Некоторые внешние модули поставляются вместе с файлами справки. Эти файлы копируются в папку help, находящуюся в директории, в которой установлена программа 3ds Max 2008. Для доступа к файлам справки дополнительных модулей выполните команду Help ► Additional Help (Справка ► Дополнительная справка).
Для просмотра списка установленных в программе внешних модулей выполните команду File ► Summary Info (Файл ► Сведения), появится окно диалога Summary Info (Сведения). В этом окне щелкните на кнопке Plug-In Info (Информация о внешних модулях), откроется одноименное окно со списком всех установленных модулей и их описанием (рис. 1.30).
Рис. 1.30. Окно Plug-In Info (Информация о внешних модулях)
Установленными внешними модулями можно управлять при помощи окна Plug-in Manager (Менеджер подключаемых модулей) (рис. 1.31), для открытия которого следует выполнить команду Customize ► Plug-in Manager (Настройки ► Менеджер подключаемых модулей).
Рис. 1.31. Окно Plug-in Manager (Менеджер подключаемых модулей)
Каждая строка окна менеджера внешних модулей представляет информацию о наименовании, статусе, размере подключаемого модуля, полном пути к папке, в которой он установлен, и его описание.
Модули, имеющие статус loaded (Загружен), загружены в память и доступны для использования. Они отмечены зеленым кружком в колонке Status (Статус). Многие модули имеют статус deferred (Отложенный) и подгружаются по мере обращения к ним, а модули, имеющие статус unloaded (Выгружены), не загружены в память компьютера и имеют красный кружок в колонке Status (Статус).
Щелчок правой кнопкой мыши вызывает контекстное меню, с помощью которого можно управлять загрузкой и выгрузкой модулей из памяти, подключать новые внешние модули, расположенные на жестком диске, и выполнять некоторые другие операции.
Настройка программы
Чем отличается начинающий пользователь от профессионала? Кроме того, что профессионал знает немного больше, он владеет набором инструментов, позволяющих выполнить работу быстрее и качественнее. Настройка пользовательского интерфейса и загрузка дополнительных внешних модулей позволят вам подняться на ступеньку выше в скорости и качестве выполнения работ.
При помощи подключаемых модулей можно выполнить работу на более высоком уровне, чем позволяют стандартные возможности пакета, а оптимизация приложения для потребностей пользователя сокращает затрачиваемые на ее выполнение время и ресурсы.
В программе 3ds Max можно настраивать практически все элементы интерфейса, начиная с назначения сочетаний клавиш и заканчивая цветом элементов. Параметры предварительной настройки приложения и пользовательского интерфейса содержатся в окнах диалога Preference Settings (Параметры установок) и Customize User Interface (Настройка пользовательского интерфейса). Рассмотрим в общих чертах каждое из них.
Настройка параметров программы
Для вызова окна Preference Settings (Параметры установок) выполните команду Customize ► Preferences (Настройка ► Параметры). Окно имеет 11 вкладок: General (Общие), Files (Файлы), Viewports (Окна проекций), Gamma and LUT (Гамма и таблица соответствия), Rendering (Визуализация), Animation (Анимация), Inverse Kinematics (Обратная кинематика), Gizmos (Габаритные контейнеры), MAXScript, Radiosity (Диффузное отражение) и mental ray (рис. 1.32).
Рис. 1.32. Окно диалога Preference Settings (Параметры установок)
Вкладка General (Общие)
Вкладка General (Общие) служит для изменения параметров общего назначения и разделена на следующие области:
■ Scene Undo (Отмены в сцене) – задается максимальное количество отменяемых действий;
■ Ref. Coord. System (Система координат) – указывается использование одной системы координат для всех преобразований;
■ Plug-In Loading (Загрузка внешних модулей) – определяется, будут ли модули загружаться вместе со сценой, в которой они установлены;
■ Sub-Materials (Подматериалы) – позволяет установить либо снять флажок, определяющий автоматическое назначение подматериалов;
■ Scene Selection (Выделение в сцене) – указывается, каким образом будет производиться выделение, а также размер кисти для выделения;
■ Spinners (Счетчики) – настраиваются общие параметры всех счетчиков программы;
■ Command Panel (Командная панель) – устанавливается значение приращения при прокрутке;
■ Vertex Normal Style (Стиль нормалей вершин) – задается стиль нормалей вершин, базирующийся на четвертой версии программы;
■ UI Display (Интерфейс пользователя) – настраиваются некоторые элементы отображения. Например, для увеличения количества кнопок, одновременно видимых на панели инструментов, можно снять флажки Use Large Toolbar Buttons (Использовать крупные кнопки) и Fixed Width Text Buttons (Фиксированный размер текстовых кнопок);
■ Layer Defaults (Слои по умолчанию) – указываются параметры для слоев;
■ Texture Coordinates (Текстурные координаты) – позволяет включить или выключить использование Real-World Map Size (Реальные размеры текстурной карты) для вновь создаваемых параметрических объектов и модификаторов, использующих этот параметр.
Вкладка Files (Файлы)
На вкладке Files (Файлы) окна Preference Settings (Параметры установок) содержатся настройки, позволяющие выбрать параметры автосохранения, архивирования и создания отчета. Здесь также можно задать сохранение файлов с приращением или со сжатием.
Вкладка Viewports (Окна проекций)
Вкладка Viewports (Окна проекций) содержит параметры настройки окон проекций (рис. 1.33).
В области Viewport Parameters (Параметры окна проекции) можно настроить параметры отображения сцены в окнах проекций, например задать размер точек для показа вершин сетчатых оболочек.
Рис. 1.33. Вкладка Viewports (Окна проекций) окна Preference Settings (Параметры установок)
Настройки области Ghosting (Двойники) позволяют настроить параметры отображения двойников при отладке анимации. Здесь можно задать общее количество двойников до и после текущего кадра, способ отображения и номера кадров.
В области Mouse Control (Управление мышью) можно настроить использование средней кнопки мыши, а также режимы масштабирования и способ вызова контекстного меню.
При необходимости вы можете изменить драйвер дисплея в области Display Drivers (Драйверы дисплея), щелкнув на кнопке Choose Driver (Выбор драйвера). Если на компьютере установлен драйвер OpenGL или Direct3D, то предпочтительно использовать их для ускорения отображения геометрии сцены и ее раскраски.
Вкладка Gamma and LUT (Гамма и таблица соответствия)
Вкладка Gamma and LUT (Гамма и таблица соответствия) предназначена для выполнения гамма-коррекции монитора и настройки параметров гамма-коррекции в файлах растровой графики.
Вкладка Rendering (Визуализация)
Вкладка Rendering (Визуализация) окна диалога Preference Settings (Параметры установок) позволяет настроить параметры, использующиеся при визуализации по умолчанию (рис. 1.34).
Рис. 1.34. Вкладка Rendering (Визуализация) окна Preference Settings (Параметры установок)
Вкладка Rendering (Визуализация) содержит следующие области:
■ Video Color Check (Контроль цветности) – указывается, в каком стандарте будет формироваться видеосигнал и как 3ds Max должен выполнять контроль цветности этого сигнала;
■ Output Dithering (Смешивание цветов растра) – определяется режим формирования цветов на экране монитора;
■ Field Order (Порядок полей) – задается порядок следования четных и нечетных полей для анимаций, которые будут показаны на экране телевизора;
■ Super Black (Сверхчерный) – устанавливается минимальный уровень черного цвета;
■ HotSpot/Falloff (Яркое пятно/край пятна) – устанавливается минимальная разница угловых размеров конусов HotSpot (Яркое пятно) и Falloff (Край пятна) источников света;
■ Background (Фон) – задается наличие либо отсутствие сглаживания, фильтрация и использование масок для фонового изображения;
■ Default Ambient Light Color (Исходный цвет подсветки) – указывается цвет подсветки, используемый при визуализации наиболее темных участков теней сцены;
■ Output File Sequencing (Нумерация выходных файлов) – определяется порядок нумерации файлов, в которых будут сохраняться результаты визуализации; установка флажка Nth Serial Numbering (Каждый порядковый номер) обеспечивает последовательную нумерацию кадров;
■ Render Termination Alert (Сигнал прерывания визуализации) – устанавливается звуковой сигнал окончания визуализации;
■ GBuffer Layers (Слои G-буфера) – указывается наибольшее допустимое количество каналов G-буфера, которые можно назначить в сцене (может быть от 1 до 1000);
■ Bitmap Pager (Пейджер растрового изображения) – позволяет выполнять визуализацию с текстурными картами очень большого размера или с большим количеством текстур;
■ Multi-threading (Многопоточный) – распределяет расчеты на многопроцессорных системах, ускоряя процесс визуализации.
Вкладка Animation (Анимация)
Вкладка Animation (Анимация) окна Preference Settings (Параметры установок) (рис. 1.35) содержит настройки анимации сцены.
Рис. 1.35. Вкладка Animation (Анимация) окна Preference Settings (Параметры установок)
Вкладка Animation (Анимация) содержит такие области:
■ Key Bracket Display (Обозначить угловыми скобками) – указывается, какие объекты, имеющие ключи анимации, будут обозначаться маркерами;
■ Animate (Анимация) – устанавливается, будет выполняться анимация с использованием локальной системы координат или нет;
■ MIDI Time Slider Control (Контроль таймера MIDI-устройством) – настраивается управление ползунком таймера с помощью внешнего MIDI-устройства;
■ Sound Plug-In (Звуковые модули) – заменяется модуль звука, установленный по умолчанию;
■ Controller Defaults (Исходные параметры контроллеров) – позволяет изменять или восстанавливать принятые по умолчанию значения параметров контроллеров анимации;
■ Auto Key Default Frame (Исходный кадр автоключа) – включает либо выключает создание ключа анимации в начале анимации (0 или 1 кадр) при использовании режима автоматического создания ключей.
Вкладка Inverse Kinematics (Обратная кинематика)
На вкладке Inverse Kinematics (Обратная кинематика) окна Preference Settings (Параметры установок) настраиваются параметры приложенной и интерактивной обратной кинематики. В двух однотипных областях можно задать пределы точности для положения и поворота, а также максимальное количество циклов.
Вкладка Gizmos (Габаритные контейнеры)
На вкладке Giz mos (Габаритные контейнеры) можно настроить отображение и поведение габаритных контейнеров объектов. Габаритные контейнеры отображаются в окнах проекций и обеспечивают возможность интерактивной трансформации объектов.
Область Transform Gizmos (Габаритный контейнер преобразования) содержит настройки для включения/выключения отображения габаритных контейнеров объектов. Здесь также можно установить возможность отображения более чем одного габаритного контейнера для выделенного набора объектов. Отдельно настраиваются параметры отображения и поведения для габаритного контейнера перемещения и поворота.
В области Move/Rotate Transforms (Преобразования перемещения/вращения) можно задать приращение для угла поворота, а также поведение мыши во время трансформаций.
Вкладка MAXScript
Вкладка MAXScript позволяет настраивать параметры макроязыка MAXScript.
В области Startup (При запуске) можно указать параметры загрузки сценариев и контроллеров.
Область MAXScript Windows (Окна MAXScript) содержит настройки отображения шрифта (тип и размер), используемого в окне редактора макросов.
В области Macro Recorder (Запись макроса) можно включить запись всех производимых программой 3ds Max действий, фильтрацию кода и использование явных или относительных ссылок.
Вкладка Radiosity (Диффузное отражение)
Вкладка Radiosity (Диффузное отражение) содержит настройки, указывающие, как будет происходить диффузное отражение, будут ли настройки улучшенных источников света сохранены вместе со сценой и будут ли содержаться в окне Material Editor (Редактор материалов) параметры отражательной способности и прозрачности. Здесь также можно задать прорисовку диффузного отражения в окнах проекций.
Вкладка mental ray
Вкладка mental ray содержит настройки, относящиеся к модулю визуализации mental ray. Здесь можно подключить расширения, управлять параметрами визуализации и установить запись и вывод сообщений.
Настройка пользовательского интерфейса
Программа 3ds Max позволяет создавать новые и настраивать существующие меню и панели инструментов. Для этой цели служит окно Customize User Interface (Настройка пользовательского интерфейса) (рис. 1.36).
Рис. 1.36. Окно Customize User Interface (Настройка пользовательского интерфейса)
Чтобы вызвать это окно, выполните команду Customize ► Customize User Interface (Настройка ► Настройка пользовательского интерфейса). Окно содержит пять вкладок: Keyboard (Клавиатура), Toolbars (Панели инструментов), Quads (Четверти), Menus (Меню) и Colors (Цвета).
Рассмотрим каждую из этих вкладок.
Вкладка Keyboard (Клавиатура)
Вкладка Keyboard (Клавиатура) позволяет изменять заданные по умолчанию и присваивать сочетания клавиш командам и инструментам программы.
Чтобы назначить команде сочетание клавиш или изменить существующее, выполните следующее.
1. В раскрывающемся списке Group (Группа) выберите группу с командой, которой необходимо присвоить сочетание клавиш.
2. В раскрывающемся списке Category (Категория) укажите категорию, к которой она относится.
3. Найдите в списке Action (Действие) нужную команду. Если ей уже назначено сочетание клавиш, то оно будет показано в столбце Shortcut (Сочетание клавиш).
4. Щелкните кнопкой мыши в текстовом поле Hotkey (Горячая клавиша) и введите комбинацию клавиш (нажмите их на клавиатуре). Если такая комбинация уже используется, то имя команды, которой она назначена, появится в окне Assigned to (Назначена для).
5. Щелкните на кнопке Assign (Назначить) для присвоения команде сочетания клавиш.
6. Сохраните сделанные изменения, нажав кнопку Save (Сохранить), и в появившемся окне диалога выберите файл для сохранения или создайте новый.
Вкладка Toolbars (Панели инструментов)
Вкладка Toolbars (Панели инструментов) служит для создания новых и изменения существующих панелей инструментов 3ds Max (рис. 1.37).
Чтобы создать и настроить новую панель инструментов, выполните следующие действия.
1. На вкладке Toolbars (Панели инструментов) щелкните на кнопке New (Новая), расположенной в правой части окна под раскрывающимся списком существующих панелей.
2. В открывшемся окне New Toolbar (Новая панель инструментов) введите имя создаваемой панели и щелкните на кнопке OK, в результате на экране появится новая панель.
3. Чтобы наполнить новую панель кнопками, выберите необходимую команду из списка Action (Действие) и перетащите ее на поле панели. Если для команды существует значок, то он появится на созданной кнопке, в противном случае кнопка будет представлена названием.
Рис. 1.37. Вкладка Toolbars (Панели инструментов) окна Customize User Interface (Настройка пользовательского интерфейса)
4. Для редактирования кнопки щелкните на ней правой кнопкой мыши и в появившемся контекстном меню выберите требуемую команду, например Delete Button (Удалить кнопку).
5. Для сохранения панели щелкните на кнопке Save (Сохранить) и в появившемся окне выберите файл для сохранения или создайте новый.
Вкладка Quads (Четверти)
Вкладка Quads (Четверти) предназначена для настройки и создания новых четвертных меню, вызываемых щелчком правой кнопкой мыши в окне проекции или сочетанием клавиш (рис. 1.38).
Для создания и настройки нового четвертного меню выполните следующие действия.
1. Щелкните на кнопке New (Новое), расположенной в правой части окна под раскрывающимся списком существующих меню.
2. В появившемся окне диалога New Quad Set (Новый набор четвертных меню) введите имя для создаваемого четвертного меню и щелкните на кнопке OK.
Рис. 1.38. Вкладка Quads (Четверти) окна Customize User Interface (Настройка пользовательского интерфейса)
3. Щелкните на одном из квадратов значка Label (Ярлык) для выбора, в какой части квадратичного меню будет создаваться новое меню, и в поле справа введите его название.
4. В окне четвертных меню, расположенном в правой части вкладки Quads (Четверти), появится надпись End of Menu (Окончание меню), обозначающая, что меню не заполнено.
5. Чтобы добавить команду в меню, выберите ее в левой части вкладки из списка Action (Действие) и перетащите в окно четвертных меню выше строки End of Menu (Окончание меню).
6. При необходимости добавьте Separator (Разделитель), чтобы разделить команды на логические группы.
7. Повторите три последних действия для других частей четвертных меню.
ПРИМЕЧАНИЕ
После присвоения требуемых команд можно назначить вновь созданному меню сочетание клавиш. Для этого в поле Quad Shotcut (Вызов четвертного меню) введите нужную комбинацию клавиш, нажав их на клавиатуре.
8. Сохраните новое четвертное меню, щелкнув на кнопке Save (Сохранить), и в появившемся окне выберите или создайте новый файл для сохранения.
Вкладка Menus (Меню)
Вкладка Menus (Меню) окна диалога Customize User Interface (Настройка пользовательского интерфейса) позволяет создавать и настраивать существующие команды любого меню программы 3ds Max (рис. 1.39).
Рис. 1.39. Вкладка Menus (Меню) окна Customize User Interface (Настройка пользовательского интерфейса)
По умолчанию в правой части вкладки Menus (Меню) представлены команды главного меню программы. Чтобы создать новое меню и добавить его к главному, выполните следующие действия.
1. Щелкните на кнопке New (Новое), расположенной в правой части окна под раскрывающимся списком существующих меню.
2. В открывшемся окне New Menu (Новое меню) введите имя для создаваемого меню и щелкните на кнопке OK.
3. Аналогично построению четвертного меню, описанному выше, перетащите нужные команды из списка Action (Действие) в окно меню выше строки End of Menu (Окончание меню).
4. При необходимости добавьте Separator (Разделитель), чтобы разделить команды на логические группы.
5. В списке доступных меню выберите Main Menu Bar (Строка главного меню) или любое другое место, где вы хотели бы поместить созданное меню.
6. В левом нижнем окне списка Menus (Меню) выберите имя созданного вами меню и перетащите его в правую часть вкладки на дерево основного меню, при этом синяя линия будет указывать то место, куда поместится новый пункт меню.
7. Сохраните новое или измененное меню, щелкнув на кнопке Save (Сохранить), и в появившемся окне диалога выберите файл для сохранения или создайте новый.
Вкладка Colors (Цвета)
Вкладка Colors (Цвета) позволяет настраивать цвета всех элементов интерфейса программы, включая отображение объектов и их составных элементов в окнах проекций (рис. 1.40).
Рис. 1.40. Вкладка Colors (Цвета) окна Customize User Interface (Настройка пользовательского интерфейса)
В раскрывающемся списке Elements (Элементы) верхней части вкладки представлены элементы интерфейса. Выбрав в окне нужную строку с элементом, щелкните в правой части вкладки на образце цвета и в появившемся окне Color Selector (Выбор цвета) выберите нужный цвет.
Нижняя часть вкладки содержит список элементов пользовательского интерфейса, которые отвечают за отображение интерфейса программы и настраиваются аналогичным образом.
Выполненные изменения можно посмотреть, щелкнув на кнопке Apply Colors Now (Применить цвета сейчас). Если вас все устраивает, сохраните выполненные изменения, щелкнув на кнопке Save (Сохранить).
Итак, в этой главе вы познакомились с основными элементами интерфейса программы 3ds Max 2008, способами настройки приложения и пользовательского интерфейса. Вопросы настройки путей, единиц измерения, сетки и привязок не рассматривались, так как не должны вызвать затруднений, и предлагаются для самостоятельного разбора.
Однако, прежде чем переходить к следующей главе, обратите внимание на некоторые рекомендации по настройке пользовательского интерфейса.
■ Для удобства в работе максимальное пространство на экране монитора должно отводиться окнам проекций, в которых ведется моделирование. В связи с этим используйте сочетания клавиш, освободив окно от лишних панелей. Это ускорит доступ к командам и инструментам программы.
■ Применяйте кнопки минимального размера, что позволит разместить в поле зрения большее их количество.
■ Создавайте собственные панели и меню с наиболее часто вызываемыми командами и присваивайте им сочетания клавиш.
■ При моделировании в двумерном пространстве ограничьтесь только теми окнами проекций, которые нужны для этого.
■ Если вы обладаете двухмониторной системой, переместите все панели и открывающиеся окна на второй монитор, оставив на первом лишь окна проекций.
■ Включайте отображение одного окна проекции, когда необходимо более внимательно рассмотреть модель или выполнить редактирование на уровне под-объектов.
■ По возможности работайте в режиме отображения Expert Mode (Экспертный режим).
Глава 2 Основные приемы работы
• Объекты в 3ds Max 2008
• Создание объектов сцены
• Модификаторы геометрии
Подобно огромному зданию, построенному из маленьких кирпичиков, программа 3ds Max позволяет создавать разноплановые сцены, используя в качестве строительных блоков примитивы (параметрические объекты). Вы можете использовать стандартные параметрические объекты для начала любой работы. После создания к ним можно применять модификаторы, строить составные объекты, разрезать, редактировать на уровне подобъектов и выполнять многие другие операции.
Объектами в программе 3ds Max являются любые геометрические фигуры, кривые, камеры, вспомогательные объекты, объемные деформации, системы и источники света, которые могут включаться в состав сцены.
Процесс создания и преобразования любых объектов в целом одинаков: объект создается с помощью меню Create (Создание), вкладки Create (Создание) командной панели или кнопок панели инструментов, затем выбирается инструмент для его изменения.
Объекты в 3ds Max 2008
Объектно-ориентированное моделирование
3ds Max 2008 – объектно-ориентированная программа, то есть все, что создается в приложении, является объектами. Геометрия, камеры и источники света на сцене – это объекты. Объектами также являются модификаторы, контроллеры, растровые изображения и определения материалов. Многие объекты, подобные каркасам, сплайнам и модификаторам, допускают манипулирование на уровне подобъектов.
Что на практике означает объектно-ориентированное поведение?
Рассмотрим простой пример. Предположим, вам необходимо построить составной объект при помощи булевой операции вычитания. После выбора объекта и щелчка на кнопке Pick Operand B (Указать операнд Б) программа автоматически определит, какие объекты сцены являются действительными для выполнения булевой операции. Только действительные объекты, определенные на основе текущего состояния программы, могут быть выбраны и применены для продолжения операции вычитания.
То же самое касается применения к объектам модификаторов. Доступны будут только те модификаторы, которые можно применить к выделенному объекту, все остальные станут неактивными или скрытыми. Таким образом, программа не позволяет пользователю ошибиться, в результате повышается производительность и экономится время. Это и есть объектно-ориентированное поведение.
Параметрические и редактируемые объекты
Все геометрические объекты программы 3ds Max 2008 можно условно разделить на две категории: параметрические и редактируемые.
Большинство объектов в 3ds Max являются параметрическими, то есть объектами, которые определяются совокупностью установок или параметров. Проще говоря, такие объекты можно контролировать при помощи параметров (свиток Parameters (Параметры) на командной панели). Изменение значений параметров модифицирует геометрию самого объекта. Такой подход позволяет гибко управлять размерами и формой объектов.
Возьмем для примера объект Sphere (Сфера). Параметрическая сфера сохраняет параметры радиуса и количества сегментов и отображает в окнах проекций представление сферы на основе текущего значения параметров (рис. 2.1).
Рис. 2.1. Параметрическая сфера (слева) и ее параметры (справа)
Параметрическое определение сферы записано в виде радиуса и количества сегментов и может в любое время быть изменено и даже анимировано.
Параметрическими в 3ds Max являются все объекты, которые можно построить при помощи меню Create (Создание). Они имеют важные настройки моделирования и анимации, поэтому в общем случае необходимо как можно дольше сохранять параметрические определения объекта. Однако сохранение параметрических свойств объектов расходует большое количество ресурсов компьютера и замедляет работу с объектами, так как все параметры, настройки и модификаторы хранятся в памяти компьютера. Таким образом, при работе следуйте правилу: если вы не предполагаете в дальнейшем использовать параметрические свойства объекта, преобразуйте его в Editable Mesh (Редактируемая поверхность).
Изменение редактируемых объектов происходит за счет подобъектов (вершины, ребра, грани, полигоны) или функций. В состав редактируемых объектов входят: Editable Spline (Редактируемый сплайн), Editable Mesh (Редактируемая поверхность), Editable Poly (Редактируемая полигональная поверхность), Editable Patch (Редактируемая патч-поверхность) и NURBS (NURBS-поверхность). Редактируемые объекты в стеке модификаторов содержат ключевое слово Editable (Редактируемый). Исключение составляют NURBS-объекты, которые называются NURBS Surfaces (NURBS-поверхности).
Примером непараметрического объекта может служить та же сфера после преобразования в Editable Mesh (Редактируемая поверхность) (рис. 2.2).
Рис. 2.2. Редактируемая сфера (слева) и свиток Selection (Выделение) ее настроек (справа)
Непараметрическая сфера состоит из совокупности вершин и граней. Информация о количестве сегментов и радиусе после преобразования не сохраняется. Если понадобится изменить радиус сферы, то необходимо применить масштабирование или создать новую сферу.
Редактируемые объекты получаются путем преобразования других типов объектов. После преобразования параметрического объекта в другой тип (например, в Editable Mesh (Редактируемая поверхность)) он теряет все свои параметрические свойства и не может быть изменен путем указания параметров. В то же время редактируемый объект приобретает свойства, недоступные параметрическому, – возможность редактирования на уровне подобъектов.
Составные объекты
Используя вкладку Create (Создание) командной панели, можно объединять два и более объекта для создания нового параметрического объекта Compound Object (Составной объект). Параметры объектов, содержащихся в составном объекте, также можно модифицировать и изменять. Составной объект является типом параметрического объекта, в параметры которого входят объединяемые объекты и описание способов их объединения.
Рассмотрим для примера булеву операцию вычитания цилиндра из сферы (рис. 2.3).
Рис. 2.3. Составной объект (слева) и его параметры (справа)
Во многих программах трехмерного моделирования данная операция привела бы к тому, что ее результатом стал бы явный каркас, являющийся булевым решением. Если бы возникла необходимость изменить положение цилиндра или радиус сферы, то следовало бы создать новые сферу и цилиндр и снова выполнить булеву операцию.
В 3ds Max цилиндр и сфера сохраняются как часть параметрического составного булева объекта. Можно по-прежнему осуществлять доступ к параметрам сферы и цилиндра и выполнять анимацию с ними, а также их относительных положений.
Объекты форм
В 3ds Max объекты форм создаются как исходная геометрия для построения других, более сложных объектов, а также в качестве путей анимации.
Кроме линий, которые выполняются путем построения вершин в окнах проекций, все остальные формы являются параметрическими объектами. Различаются два типа форм в зависимости от метода их создания: при помощи определения радиуса и прямоугольника. Исключением являются дуга и текст.
Для создания объекта формы перейдите на вкладку Create (Создание) командной панели, выберите категорию Shapes (Формы) и щелкните на кнопке с именем нужной формы. После этого можно перейти в любое окно проекции и, щелкнув левой кнопкой мыши, переместить мышь по диагонали. Диагональ определяет параметры Length (Длина) и Width (Ширина), используемые прямоугольником или эллипсом, либо радиус для объектов, в параметрах которых он присутствует.
Примером такого объекта может быть NGon (Многоугольник) с радиусом 50 и количеством сторон равным 6 (рис. 2.4).
Рис. 2.4. Объект формы NGon (Многоугольник) (слева) и его параметры (справа)
Текст является простейшей создаваемой формой. Достаточно щелкнуть в любом окне проекции – и текст будет помещен на текущую плоскость.
Полигональные объекты
Полигональными являются объекты, основанные на сетке полигонов, из которых состоит поверхность этих объектов. Они похожи на объекты Editable Mesh (Редактируемая поверхность), но обладают уникальными возможностями. Эти объекты доступны только как Editable Poly (Редактируемая полигональная поверхность). В них могут быть преобразованы любые геометрические объекты сцены путем конвертации в Editable Poly (Редактируемая полигональная поверхность), а также после применения модификатора Edit Poly (Редактирование полигонов) или Poly Select (Выделение полигонов).
Примером полигонального объекта может служить преобразованный объект, полученный при помощи булевой операции вычитания сферы из параллелепипеда (рис. 2.5).
Рис. 2.5. Объект Editable Poly (Редактируемая полигональная поверхность) (слева) и свиток Selection (Выделение) его настроек (справа)
Полигональные объекты более ресурсоемкие, чем редактируемые поверхности, и на маломощных компьютерах могут вызывать замедление скорости их работы. Существует несколько простых способов оптимизации сцены.
■ Моделируйте по возможности простые объекты при помощи Editable Mesh (Редактируемая поверхность).
■ Во время построения сложных и больших по объему граней объектов стоит периодически разрушать стек модификаторов, выполняя команду Collapse (Свернуть).
■ Применяя команду NURMS Subdivision (NURMS-разбиение), используйте минимально необходимое количество разбиений для отображения в окнах проекций и достаточное для визуализации. При необходимости отключите отображение разбиений в окнах проекций совсем.
■ После построения объекта преобразуйте его в Editable Mesh (Редактируемая поверхность).
Объекты сеток Безье
Patch Grids (Сетки патчей) – это поверхности Безье (рис. 2.6), состоящие из четырехугольных (реже – треугольных) фрагментов (лоскутов), основанных на сплайнах, которые управляются при помощи манипуляторов Безье.
Меню Create (Создание) содержит два параметрических объекта фрагментов Безье, но большинство объектов создается путем преобразования в Editable Patch (Редактируемая патч-поверхность).
Рис. 2.6. Модель муравья, построенная при помощи фрагментов Безье (слева), и свиток Selection (Выделение) его настроек (справа)
Моделирование при помощи фрагментов Безье имеет следующие преимущества перед другими способами создания объектов:
■ автоматическое сглаживание стыков между фрагментами, при котором получается плавный переход от одного фрагмента к другому;
■ управление фрагментами при помощи манипуляторов Безье;
■ возможность управления топологией (плотностью) фрагментов Безье, что позволяет при незначительных затратах получить сглаженную модель;
■ окончательная модель представляет собой полностью бесшовный каркас, который легко поддается анимированию.
Однако такое моделирование обладает и определенными недостатками:
■ автоматическое сглаживание стыков из преимущества превращается в недостаток, когда необходимо выполнить моделирование излома поверхности (например, ногтя);
■ фрагменты Безье слишком велики, поэтому работать с маленькими элементами или деталями объекта неудобно.
NURBS-объекты
NURBS – это поверхности или кривые, форма которых описывается неоднородными рациональными В-сплайнами. На рис. 2.7 показана модель шляпы, выполненная с использованием NURBS Surfaces (NURBS-поверхность).
Рис. 2.7. Модель шляпы в каркасном (слева) и тонированном (справа) виде, выполненная при помощи NURBS-поверхностей
В зависимости от типа NURBS-поверхности могут строиться с использованием управляющих вершин или контрольных точек, лежащих на поверхности.
Такие поверхности являются идеальным инструментом для создания форм органического происхождения: с ними легко работать, они имеют хороший интерактивный контроль, позволяют выполнять бесшовные поверхности и могут оставаться сглаженными даже на криволинейной поверхности.
NURBS-поверхности предпочтительнее полигональных при моделировании плавных поверхностей объектов, таких как растения, животные, цветы и т. д.
Источники света и камеры
Данные объекты не относятся к моделируемым типам. Тем не менее это очень важные объекты, так как сложно представить серьезный проект, в котором отсутствовали бы камеры и источники света.
Камеры и источники света (рис. 2.8) – это объекты сцены, предназначенные для имитации различных светильников (точечного, направленного, дневного и т. д.) и создания видов из виртуальных камер, имитирующих физические свойства реальных камер (фокусное расстояние, угол зрения и пр.).
Камеры и источники света могут быть свободными и нацеленными. Нацеленные камеры и источники света, как следует из названия, характеризуются наличием цели.
Нацеленные камеры (или источники света) содержат два объекта: камеру (или источник света) и их цель. Камера показывает то, что видите вы, а ее цель указывает точку, на которую вы смотрите. Камеру и ее цель можно трансформировать независимо, но считается, что камера всегда смотрит на цель. В случае с нацеленным источником света цель указывает направление, в котором он светит. Цель может двигаться независимо.
Рис. 2.8. Нацеленный источник света и нацеленная камера
ПРИМЕЧАНИЕ
Для камеры и источника света можно создавать окна проекций, имитирующие вид из камеры или источника света в направлении цели. Такие окна, используемые для источников света, позволяют с большей точностью расположить освещение и выставить тени.
Существует два типа камер и восемь типов источников света (в том числе два, поставляемых вместе с визуализатором mental ray).
Вспомогательные объекты
К вспомогательным относятся объекты сцены, которые не видны при итоговой визуализации, но упрощают процесс моделирования и анимации (рис. 2.9).
Существует восемь групп вспомогательных объектов: Standard (Стандартный), Atmospheric Apparatus (Атмосферная оснастка), Camera Match (Горизонт камеры), reactor, Assembly Heads (Управление сборкой), Manipulators (Манипуляторы), Particle Flow, VRML97.
Назначение вспомогательных объектов зависит от их разновидности. Например, манипуляторы предназначены для создания в окнах проекций ползунков или джойстиков, для управления параметрами других объектов, а стандартные применяются при моделировании и анимации объектов сцены.
Рис. 2.9. Вспомогательные объекты: Dummy (Пустышка), Grid (Координатная сетка) и Compass (Компас)
Объемные деформации
В этой категории представлены различные объекты, которые не отображаются при визуализации, но оказывают воздействие на другие объекты сцены, изменяя их форму или поведение. В совокупности с системой частиц модуля Particle Flow объемные деформации позволяют создавать впечатляющие эффекты. Например, можно имитировать силу тяжести, ветер или деформировать плоскую поверхность для создания на ней ряби или волн.
В эту категорию входят шесть разновидностей объемных деформаций: Forces (Силы), Deflectors (Отражатели), Geometric/Deformable (Деформируемая геометрия), Modifier-Based (Основанные на модификаторах), reactor и Particles & Dynamics (Частицы и динамика).
Дополнительные инструменты
Категория Systems (Дополнительные инструменты) содержит совокупность связанных между собой объектов, которые объединены общими параметрами, обеспечивающими анимацию. Другими словами, объекты являются комбинацией геометрии и поведения. На рис. 2.10 представлено два объекта этой категории: Sunlight (Солнечный свет) и Daylight (Дневной свет).
В категории Systems (Дополнительные инструменты) содержится пять объектов: Bones (Кости), Sunlight (Солнечный свет), Biped (Двуногий), Ring Array (Хоровод) и Daylight (Дневной свет). Например, Biped (Двуногий) – инструмент, предназначенный для создания и анимации фигуры и движения персонажей. Скелет двуногого существа, создаваемый при помощи компонента Biped (Двуногий), обладает иерархической цепочкой связей и специальным набором свойств для анимации.
Рис. 2.10. Два объекта категории Systems (Дополнительные инструменты): Sunlight (Солнечный свет) и Daylight (Дневной свет)
Создание объектов сцены
В данном разделе главы будут рассмотрены основы создания объектов. Речь пойдет о простых объектах, однако применяемые для них правила такие же, как и для большинства сложных объектов. Кроме того, примитивы часто используются в качестве «строительных блоков» для создания достаточно сложных или органических моделей.
Создание объектов в 3ds Max – быстрый и несложный процесс. Каждый создаваемый объект по своему характеру является параметрическим, то есть его форма определяется набором параметров. Для создания объектов сцены обычно выполняются следующие действия.
1. Выбирается опорная плоскость для объекта (чаще всего это означает просто активизацию какого-то окна проекции).
2. Выбирается место на плоскости, которое будет начальной точкой объекта.
3. В окне проекции перемещается указатель мыши для определения оставшихся параметров объекта.
Параметрические объекты могут создаваться в двух режимах: интерактивном и с помощью клавиатуры.
Интерактивный
Данный способ применяется наиболее часто при построении объектов сцены. Для создания объекта необходимо выбрать тип объекта, а затем щелкнуть в окне проекции и переместить указатель мыши для определения оставшихся параметров. Результирующая геометрия будет рисоваться одновременно во всех окнах проекций по мере определения расстояний и выполнения процесса создания. Для создания таких объектов, как Sphere (Сфера) или Plane (Плоскость), необходимо после щелчка в окне проекции переместить указатель мыши и отпустить его.
СОВЕТ
Если удерживать нажатой клавишу Ctrl при построении таких объектов, как Box (Параллелепипед) или Plane (Плоскость), точка окна проекции, в которой был произведен щелчок, станет центром объекта, а объект будет строиться равносторонним.
Для построения этих объектов достаточно одного параметра (например, для Sphere (Сфера) – это радиус).
После создания объект оказывается выделенным, а параметры вкладки Create (Создание) командной панели остаются активными и продолжают оказывать влияние на объект. Связь между вкладкой Create (Создание) командной панели и недавно созданным объектом разрушается при щелчке в окне проекции или переключении на другую операцию.
ПРИМЕЧАНИЕ
Как правило, интерактивное создание объектов предполагает построение примитива приблизительного размера. Для уточнения размеров объекта необходимо перейти на панель Modify (Изменение) командной панели и ввести с клавиатуры точные значения параметров.
Место расположения объекта является характеристикой определения объекта. Большинство объектов основываются на плоскости создания, и по ней определяют высоту. Например, цилиндрические примитивы размещают цоколь на плоскости создания, а параметр высоты вытягивает перпендикуляр из этой плоскости. Поскольку такие примитивы, как Sphere (Сфера), GeoSphere (Геосфера), Torus (Тор), Hedra (Многогранник), определяются своими опорными точками, они являются исключениями из этого правила и располагают на плоскости конструкции свою опорную точку.
При помощи ввода значений параметров
Ввод значений параметров с клавиатуры является альтернативой интерактивному методу.
Иногда требуется точно указать величины, характеризующие координаты опорной точки объекта и его основные размеры. Для этих целей служит свиток Keyboard Entry (Ввод с клавиатуры) (рис. 2.11), расположенный на вкладке Create (Создание) командной панели.
Рис. 2.11. Свиток Keyboard Entry (Ввод с клавиатуры) примитива Box (Параллелепипед)
В зависимости от типа создаваемого объекта список параметров свитка Keyboard Entry (Ввод с клавиатуры) содержит разное количество счетчиков, едиными остаются только поля для ввода координат опорной точки X, Y и Z.
После того как заданы все величины, необходимо щелкнуть на кнопке Create (Создать) для создания объекта в окнах проекций.
При помощи сетки
Если требуется конструировать на плоскостях, отличных от основных сеток, или использовать одну и ту же плоскость во всех окнах проекций, то удобно применять объект Grid (Координатная сетка). Объекты сетки весьма полезны при увеличении сложности модели и создании объектов, размещенных в плоскости, отличной от ортогональных проекций. Сетки играют неоценимую роль при определении плоскостей конструкции, которые выравниваются с видами, гранями и объектами. В качестве примера можно привести создание примитива Box (Параллелепипед) на поверхности сферы при помощи объекта AutoGrid (Автосетка).
1. Для создания сферы выполните команду Create ► Standard Primitives ► Sphere (Создание ► Простые примитивы ► Сфера).
2. Щелкните кнопкой мыши в окне проекции Top (Cверху) и переместите указатель в сторону на расстояние радиуса сферы.
3. При необходимости уточните размер и положение сферы в пространстве (путем изменения значений параметров в свитке Parameters (Параметры) вкладки Modify (Изменение) командной панели).
4. Для построения параметрического объекта Box (Параллелепипед) щелкните на кнопке Geometry (Геометрия) вкладки Create (Создание) командной панели и выберите из раскрывающегося списка строку Standard Primitives (Простые примитивы).
5. В свитке Object Type (Тип объекта) щелкните на кнопке Box (Параллелепипед) и установите флажок AutoGrid (Автосетка).
6. Перейдите в окно проекции Perspective (Перспектива) и установите указатель мыши поверх сферы. Он примет вид осей координат с координатой Z, расположенной перпендикулярно полигону, над которым он стоит.
7. Выберите положение для начала построения объекта и, удерживая нажатой клавишу Ctrl, щелкните кнопкой мыши и переместите указатель в сторону на величину основания параллелепипеда. Отпустите кнопку мыши и переместите указатель вверх для создания параметра высоты.
8. При необходимости уточните размеры параллелепипеда, изменив значения параметров в свитке Parameters (Параметры) вкладки Modify (Изменение) командной панели.
На рис. 2.12 показан результат выполненных действий.
Рис. 2.12. Параллелепипед, построенный на поверхности сферы при помощи автосетки
Параметрические объекты
С помощью геометрических примитивов 3ds Max 2008 можно создать большое количество других форм. Примитивы используются в качестве начальной точки для моделирования каркаса и вершины.
В общем случае примитивы служат инструментами построения и моделирования при создании составных объектов.
Простыми геометрическими примитивами (категория Standard Primitives (Простые примитивы)) в 3ds Max являются следующие объекты.
■ Box (Параллелепипед) – параллелепипеды и кубы с любым соотношением сторон.
■ Sphere (Сфера) – параметрические объекты типа сферы или купола. Базовый объект создает квадратичные секции, похожие на линии долготы и широты глобуса.
■ Cylinder (Цилиндр) – цилиндры, цилиндрические секторы и многогранные призмы любых пропорций.
■ Torus (Тор) – кольца с круглой формой поперечного сечения. Может быть создан также тороидальный сектор.
■ Teapot (Чайник) – объект, демонстрирующий возможности 3ds Max. Чайник является сложным параметрическим объектом, состоящим из частей.
■ Cone (Конус) – общие формы, напоминающие цилиндры; два радиуса позволяют в любой момент поместить результирующий объект в управляемый конус.
■ GeoSphere (Геосфера) – параметрические объекты, похожие на сферу и представляющие различные способы определения сферических объемов, которые обеспечивают три различных геометрии сферы и купола. Геосфера создает треугольные секции, подобно геодезическим куполам.
■ Tube (Труба) – объекты, подобные цилиндру, но с продольным отверстием внутри. Позволяет также создавать секторы и многогранные призмы с отверстиями.
■ Pyramid (Пирамида) – пирамиды (в том числе усеченные) с прямоугольным или квадратным основанием.
■ Plane (Плоскость) – прямоугольный фрагмент сетчатой оболочки. Единственный примитив, не являющийся трехмерным объектом.
В число сложных примитивов (категория Extended Primitives (Улучшенные примитивы)) входят следующие объекты.
■ Hedra (Многогранник) – пять разновидностей многогранников с множеством управляющих параметров. Все объекты определяются заданием точки центра и величиной радиуса.
■ ChamferBox (Параллелепипед с фаской) – параллелепипеды и кубы с любым соотношением сторон. В отличие от объекта Box (Параллелепипед), при использовании объекта ChamferBox (Параллелепипед с фаской) существует возможность задания фасок на краях.
■ OilTank (Цистерна) – цилиндры с основаниями в виде сферических сегментов с ярко выраженной границей между основаниями и средней частью объекта. На базе этих объектов можно также строить цилиндрические секторы.
■ Spindle (Веретено) – цилиндры с коническими основаниями, а также цилиндрические секторы на базе этих объектов.
■ Gengon (Многогранная призма) – многогранные призмы с фаской и без нее.
■ RingWave (Круговая волна) – инструмент для создания труб, внешняя и внутренняя поверхности которых могут быть волнообразно деформированы.
■ Prism (Призма) – инструмент для создания призм с различным соотношением сторон основания.
■ Torus Knot (Тороидальный узел) – объект, который строится на основе узлов различного вида. Можно изменять как форму сечения, так и базовую форму объекта.
■ ChamferCyl (Цилиндр с фаской) – цилиндры, цилиндрические секторы и многогранные призмы любых пропорций с возможностью задания на краях фаски, срезанной под углом 45°.
■ Capsule (Капсула) – цилиндры с основаниями в виде полусфер, а также цилиндрические секторы на базе этих объектов.
■ L-Extrusion (L-тело экструзии) – плоскость L-образной формы с выдавливанием по высоте.
■ C-Extrusion (C-тело экструзии) – объект, аналогичный L-Extrusion (L-тело экструзии), отличающийся базовой формой, представленной в виде буквы «П». Оба тела экструзии являются базовым материалом для моделирования архитектурных конструкций.
■ Hose (Рукав) – инструмент для создания гофрированных рукавов, шлангов и других объектов аналогичной формы. «Привязав» основания Hose (Рукав) к двум другим объектам, можно получить подобие анимированной пружины.
Все примитивы имеют настройки для управления их размерами – количеством сегментов, сглаженностью и генерацией координат проецирования. Пока параметрический объект не преобразован в другой тип, можно свободно изменять все параметры. Их всегда легко модифицировать, изменяя значения на вкладке Modify (Изменение) командной панели.
Рассмотрим два примера создания простого и сложного геометрических примитивов на основе построения GeoSphere (Геосфера) и ChamferBox (Параллелепипед с фаской).
Для построения GeoSphere (Геосфера) выполните следующие действия.
1. В раскрывающемся списке категории Geometry (Геометрия) вкладки Create (Создание) командной панели выберите строку Standard Primitives (Простые примитивы).
2. Щелкните на кнопке GeoSphere (Геосфера) в свитке Object Type (Тип объекта). В результате в области свитков командной панели появятся свитки параметров геосферы (рис. 2.13).
3. Установите переключатель Creation Method (Метод создания) в положение Diameter (Диаметр) или Center (Центр) в зависимости от того, хотите вы создавать геосферу, перемещая указатель мыши в окне проекции по диаметру (от края к краю) или от центра, указывая радиус.
4. Щелкните в окне проекции и переместите указатель мыши в сторону для создания параметрического объекта GeoSphere (Геосфера).
5. При необходимости уточните радиус объекта в поле Radius (Радиус).
6. Укажите количество сегментов в поле Segment (Количество сегментов), чтобы задать плотность сетки поверхности объекта.
7. Переключатель Geodesic Base Type (Базовый тип оболочки) установите в положение, соответствующее создаваемому объекту:
• Tetra (Тетраэдр) – четырехгранник (рис. 2.14, слева);
• Octa (Октаэдр) – восьмигранник (рис. 2.14, посередине);
• Icosa (Икосаэдр) – двадцатигранник (рис. 2.14, справа).
Рис. 2.13. Настройки объекта GeoSphere (Геосфера) на командной панели
Рис. 2.14. Три объекта GeoSphere (Геосфера), различающиеся типом оболочки: Tetra (Тетраэдр) (слева), Octa (Октаэдр) (посередине), Icosa (Икосаэдр) (справа)
8. Установите флажок Hemisphere (Полусфера) для получения половины объекта – полусферы.
9. Установите флажок Base to Pivot (Точка опоры внизу), чтобы переместить точку опоры из центра объекта к его основанию.
Построим ChamferBox (Параллелепипед с фаской) с помощью главного меню и ввода значений параметров с клавиатуры.
1. Выполните команду Create ► Extended Primitives ► ChamferBox (Создание ► Улучшенные примитивы ► Параллелепипед с фаской). В результате на командной панели появятся свитки параметров параллелепипеда с фаской (рис. 2.15).
2. В полях X, Y и Z введите значения смещения относительно начала координат по соответствующим осям.
3. Введите значения параметров Length (Длина), Width (Ширина), Height (Высота) и Fillet (Закругление).
4. Щелкните на кнопке Create (Создать) для создания объекта в окнах проекций.
5. При необходимости, используя свиток Parameters (Параметры), задайте количество сегментов для сторон параллелепипеда с фаской и количество сегментов для закругления.
6. Для сглаживания поверхности в пределах закругления установите флажок Smooth (Сглаживание) (рис. 2.16).
Рис. 2.15. Настройки примитива ChamferBox (Параллелепипед с фаской) на командной панели
Рис. 2.16. Параллелепипед с фаской
Объекты форм
Для создания сложных объектов сцены не всегда хватает простых и сложных параметрических объектов. В этом случае на помощь приходят объекты форм. В 3ds Max объекты форм создаются в качестве исходной геометрии для построения других, более сложных объектов методом лофтинга (то есть размещением набора характерных сечений объекта вдоль траектории пути), выдавливания, вращения и т. д. Можно также создать формы, управляющие движением во время анимации.
Категория Shapes (Формы) состоит из трех групп объектов – Splines (Сплайны), NURBS Curves (NURBS-кривые) и Extended Splines (Улучшенные сплайны).
Рассмотрим первую группу как наиболее распространенную и часто используемую.
Что такое сплайны? Это кривые, представляющие собой набор вершин, соединенных прямолинейными или криволинейными отрезками – сегментами. Вершины (Vertices), сегменты (Segments) и сплайны (Splines) составляют уровень подобъектов кривых этого типа.
Вершины – это точки, находящиеся на концах сегментов и определяющие кривизну сплайна. Различают четыре типа вершин.
■ Smooth (Сглаженная) – плавно соединяющая два смежных сегмента, которые имеют равную степень кривизны.
■ Corner (Угловая) – соединяющая два сегмента, которые образуют излом кривой в месте соединения.
■ Bezier (Безье) – подобна сглаженной вершине, но с возможностью управления кривизной в точке соединения сегментов при помощи манипуляторов Безье. Манипуляторы находятся на одной прямой, позволяя управлять только их наклоном и длиной, что вызывает изменение кривизны сегментов и их ориентации.
■ Bezier Corner (Угол Безье) – как и вершина типа Bezier (Безье), имеет манипуляторы, но, в отличие от Bezier (Безье), манипуляторы можно настраивать независимо друг от друга.
На рис. 2.17 показана кривая со всеми типами вершин.
Рис. 2.17. Подобъекты сплайна
Сегменты – прямолинейные или криволинейные участки сплайна, ограниченные двумя вершинами. Криволинейные сегменты образуются из прямолинейных участков, количество которых определяется значением параметра Steps (Количество шагов) или установкой флажка Adaptive (Адаптивный) для автоматического задания кривизны сплайна. В зависимости от типа сегменты бывают:
■ Line (Линейный) – прямая между двумя вершинами;
■ Curve (Кривая) – кривая, определяемая типом вершин и настройкой манипуляторов.
Сплайн – это группа смежных сегментов, образующих непрерывную линию. Сплайны бывают открытые и закрытые (у закрытых первая и последняя вершины совпадают). В зависимости от типа сплайны бывают:
■ Line (Линия) – все сегменты сплайна являются прямыми;
■ Curve (Кривая) – все сегменты сплайна имеют некоторую кривизну;
■ смешанный – сплайн, содержащий как первый, так и второй типы сегментов, то есть имеющий как прямолинейные, так и криволинейные участки.
Программа 3ds Max 2008 содержит 11 типов сплайнов:
■ Line (Линия) – основной объект формы, позволяющий строить как замкнутые, так и разомкнутые кривые любой нерегулярной формы;
■ Circle (Окружность) – дает возможность создавать окружности произвольного радиуса;
■ Arc (Дуга) – позволяет строить сегменты криволинейной формы по заданным начальной и конечной точкам, а также кривизне или центру;
■ NGon (Многоугольник) – правильный многоугольник с настраиваемым количеством сторон и возможностью задания скругления углов;
■ Text (Сплайновый текст) – объект формы на основе строк текста с элементами форматирования: с возможностью выбора гарнитуры, выравнивания, межстрочного и межбуквенного пространства и т. п.;
■ Section (Сечение) – инструмент, используемый для создания формы на основе сечения трехмерных объектов плоскостью;
■ Rectangle (Прямоугольник) – позволяет создавать прямоугольник или квадрат с возможностью скругления углов прямыми или кривыми фасками;
■ Ellipse (Эллипс) – позволяет создавать эллипсы и круги по двум осям;
■ Donut (Кольцо) – состоит из двух концентрических окружностей, с возможностью раздельной настройки большего и меньшего радиусов;
■ Star (Звезда) – применяется для создания звезд с произвольным количеством лучей и возможностью их закручивания и скругления;
■ Helix (Спираль) – трехмерный объект формы, применяемый для создания спиралей с возможностью контролировать количество витков, высоту, а также внутренний и наружный радиусы.
Все типы сплайнов представлены в группе Splines (Сплайны) вкладки Create (Создание) командной панели (рис. 2.18).
В качестве примера построим два объекта форм: Star (Звезда) и Text (Сплайновый текст).
Для создания многоугольника в виде звезды выполните следующие действия.
1. На вкладке Create (Создание) командной панели щелкните на кнопке Shapes (Формы) и выберите из раскрывающегося списка строку Splines (Сплайны).
2. В свитке Object Type (Тип объекта) нажмите кнопку Star (Звезда). В результате на командной панели появятся свитки параметров звезды.
3. Звезда строится от центра, поэтому в окне проекции щелкните на том месте, где должен быть центр объекта, и, удерживая нажатой кнопку мыши, переместите указатель в сторону на величину первого радиуса. Достигнув нужного размера, отпустите кнопку мыши.
4. Переместите указатель внутрь или наружу построенного сплайна для указания второго радиуса. Щелкните кнопкой мыши для завершения построения (рис. 2.19).
5. В поле Points (Количество лучей) свитка Parameters (Параметры) укажите требуемое количество лучей звезды.
Рис. 2.18. Группа Splines (Сплайны) категории Shapes (Формы) командной панели
Рис. 2.19. Объект Star (Звезда) в окне проекции
6. При необходимости задайте с помощью параметра Distortion (Искажение) угол смещения вершин первого радиуса относительно второго.
7. В полях Fillet Radius 1 (Радиус закругления 1) и Fillet Radius 2 (Радиус закругления 2) укажите значения радиусов для внешних и внутренних углов звезды.
Сплайновый текст представляет собой объект, основанный на последовательности сплайнов с текстовыми атрибутами. К атрибутам такого рода относится возможность задавать размер символов, межсимвольный и межстрочный интервалы, а также выравнивание строк.
Для создания сплайнового текста выполните следующие действия.
1. На вкладке Create (Создание) командной панели щелкните на кнопке Shapes (Формы) и выберите из раскрывающегося списка строку Splines (Сплайны).
2. В свитке Object Type (Тип объекта) нажмите кнопку Text (Сплайновый текст). В результате в области свитков командной панели появятся параметры сплайнового текста (рис. 2.20).
3. В раскрывающемся списке в верхней части свитка Parameters (Параметры) выберите гарнитуру шрифта.
4. Задайте начертание шрифта, выбрав наклонный или подчеркнутый.
5. Установите режим выравнивания строк: Align Left (По левому краю), Align Center (По центру), Align Right (По правому краю) или Justify (По ширине).
6. При помощи параметров Size (Размер), Kerning (Кернинг) и Leading (Интерлиньяж) определите значения размера, межсимвольного и межстрочного интервалов соответственно.
7. В текстовое поле введите нужный текст, набрав его с клавиатуры или вставив из буфера обмена.
8. Разместите набранный текст в любом из окон проекций, щелкнув в поле окна кнопкой мыши.
9. При необходимости измените параметры созданного текста.
На рис. 2.21 представлен сплайновый текст с параметрами, заданными по умолчанию.
Рис. 2.20. Свиток Parameters (Параметры) настроек объекта Text (Сплайновый текст)
Рис. 2.21. Объект Text (Сплайновый текст) с параметрами, заданными по умолчанию
Создание составных объектов
Составные объекты (Compound Objects) в 3ds Max 2008 представлены отдельной группой категории Geometry (Геометрия) вкладки Create (Создание) командной панели. Как правило, это тела, состоящие из двух и более простых объектов, рассмотренных выше (трехмерных объектов или форм).
Составные объекты позволяют моделировать тела сложной формы (например, машиностроительные детали) и применять к ним анимацию (например, анимировать процесс создания формы сечением по пути).
К составным объектам относятся следующие.
■ Morph (Морфинговые) – сложные объекты, позволяющие осуществлять анимированный переход исходного объекта в целевой с использованием промежуточных фазовых объектов.
■ Conform (Согласованные) – вершины исходного объекта проецируются на поверхность целевого. Таким способом имитируются эффекты таяния свечи, плавления льда, растекания лужи воды и т. п.
■ BlobMesh (Капля) – системы частиц или геометрические наборы сфер, которые позволяют имитировать жидкую субстанцию. Таким образом можно создавать струю воды, вытекающую из крана.
■ Boolean (Булев) – составные объекты, полученные путем объединения, пересечения или вычитания двух других трехмерных объектов. Для выполнения булевых операций два исходных объекта должны пересекаться в некоторой области пространства.
■ Loft (Лофтинговые) – трехмерные тела, построенные на основании объектов форм методом лофтинга, то есть размещением набора характерных сечений объекта вдоль траектории пути.
■ Scatter (Распределенные) – совокупность копий одного объекта, распределенных на поверхности другого объекта. Чаще всего используются для имитации стеблей травы, стада животных, группы деревьев и т. п.
■ Connect (Соединенные) – объект, создающий соединение в отверстиях на поверхности двух объектов.
■ ShapeMerge (Слитые с формой) – объект, позволяющий создавать отверстия и проемы на поверхности трехмерного тела с использованием сплайновой формы. В этом случае контур сплайна используется в качестве секущих кромок и проецируется на поверхность каркасного объекта.
■ Terrain (Рельеф) – объект, генерирующий трехмерный рельеф горного ландшафта на основе замкнутых сплайнов, представляющих собой изолинии высот аналогично представленным на картах местности.
■ Mesher (Сеточные) – составной объект, конвертирующий процедурные объекты (например, системы частиц) в объекты сетки, к которым в дальнейшем могут применяться модификаторы формы.
■ ProBoolean (Pro Булев) – добавляет функциональности традициннному объекту Boolean (Булев), например позволяет одновременно объединять несколько объектов, каждый из которых может использовать собственную булеву операцию.
■ ProCutter (Pro Вычитание) – позволяет выполнять специализированные булевы операции, в основном предназначенные для разделения или разбиения обектов.
На рис. 2.22 показан свиток Object Type (Тип объекта) с инструментами для создания составных объектов.
Рис. 2.22. Группа Compound Objects (Составные объекты) категории Geometry (Геометрия) вкладки Create (Создание)
Рассмотрим два простых примера построения составных объектов: методом лофтинга и булевой операции вычитания.
Для построения заготовки болта методом лофтинга выполните следующие действия.
1. В окне проекции Top (Сверху) постройте три сплайна: два Circle (Окружность), один немного больше другого, и шестиугольный NGon (Многоугольник) с диаметром в полтора-два раза большим, чем окружности.
2. В окне проекции Front (Спереди) создайте сплайн Line (Линия), расположив его вертикально (рис. 2.23).
Рис. 2.23. Заготовки для создания лофт-объекта
3. В любом окне проекции выделите линию, если она не осталась выделенной после построения.
4. В раскрывающемся списке категории Geometry (Геометрия) вкладки Create (Создание) командной панели выберите строку Compound Objects (Составные объекты).
5. Щелкните на кнопке Loft (Лофтинговые) в свитке Object Type (Тип объекта). В результате на командной панели появятся свитки параметров, относящиеся к созданию лофт-объектов.
6. В свитке Creation Method (Метод создания) нажмите кнопку Get Shape (Взять форму) и в окне проекции Perspective (Перспектива) щелкните на шестиугольнике для построения начальной формы лофт-объекта.
7. Параметру Path (Путь) в свитке Path Parameters (Параметры пути) задайте значение 20.
8. Нажмите кнопку Get Shape (Взять форму) и в окне проекции Perspective (Перспектива) еще раз щелкните на шестиугольнике.
9. Параметру Path (Путь) в свитке Path Parameters (Параметры пути) укажите значение 20,01.
10. Щелкните на кнопке Get Shape (Взять форму) и в качестве формы выберите в окне проекции Perspective (Перспектива) большую окружность.
11. Параметру Path (Путь) в свитке Path Parameters (Параметры пути) задайте значение 95.
12. Нажмите кнопку Get Shape (Взять форму) и снова выберите в качестве формы большую окружность.
13. Параметру Path (Путь) в свитке Path Parameters (Параметры пути) укажите значение 100.
1 4. Щелкните на кнопке Get Shape (Взять форму) и в окне проекции Perspective (Перспектива) выберите последнюю форму – меньшую окружность.
В результате вышеописанных операций должна получиться заготовка для создания болта (рис. 2.24).
Рис. 2.24. Модель заготовки болта, выполненная при помощи операций лофтинга
Продолжим знакомство с составными объектами и рассмотрим пример выполнения резьбы для созданной заготовки болта при помощи булевой операции вычитания. Для этого выполните следующее.
1. На вкладке Create (Создание) командной панели щелкните на кнопке Geometry (Геометрия) и выберите из раскрывающегося списка строку Dynamics Objects (Динамические объекты).
2. В свитке Object Type (Тип объекта) щелкните на кнопке Spring (Пружина). В результате на командной панели появятся свитки параметров пружины.
3. В окне проекции Top (Сверху) создайте объект Spring (Пружина) с таким расчетом, чтобы радиус пружины был немного больше (или равен) радиуса большей окружности, использованной при построении лофт-объекта.
4. В свитке Spring Parameters (Параметры пружины) укажите Turns (Количество витков) и Height (Высота) в соответствии с предположительным расположением резьбы. Направление вращения пружины задается соответствующим направлению резьбы (CCW (Против часовой стрелки)). Значение параметра Segs/ Turn (Количество сегментов на один оборот) в области Common Spring Parameters (Общие параметры пружины) необходимо увеличить до 40–60, а переключатель Smoothing (Сглаживание) установить в положение Sides (Стороны).
5. В области Wire Shape (Каркас формы) установите переключатель в положение Rectangular Wire (Прямоугольный каркас) и задайте параметру Rotation (Вращение) значение равное 45. В результате этих операций получится четырехсторонняя пружина, повернутая одной гранью в сторону осевой линии и надетая на болт (рис. 2.25).
Рис. 2.25. Два объекта, подготовленные для выполнения булевой операции вычитания
6. В раскрывающемся списке категории Geometry (Геометрия) вкладки Create (Создать) командной панели выберите строку Compound Objects (Составные объекты).
7. В свитке Object Type (Тип объекта) щелкните на кнопке Boolean (Булев), в результате чего в области свитков командной панели появятся свитки параметров, относящиеся к созданию булевых объектов.
8. В одном из окон проекций выделите заготовку болта и в свитке Pick Boolean (Указать булев) щелкните на кнопке Pick Operand B (Указать операнд Б).
9. Щелкните на пружине в окне проекции Perspective (Перспектива). В результате, согласно установкам по умолчанию для булевой операции, произойдет вычитание области пересечения из лофт-объекта, созданного ранее (рис. 2.26).
Рис. 2.26. Болт, созданный при помощи составных объектов и булевых операций
Создание источников света
Источники света играют огромную роль в визуализации сцен 3ds Max. Правильное освещение может значительно улучшить сцену, создав соответствующую атмосферу. В большинстве сцен 3ds Max используется два типа освещения: естественное и искусственное. Естественное освещение применяется при создании экстерьеров на основе имитации солнечного или лунного света. Искусственное освещение предпочтительно для интерьеров, где светильники создают ощущение света от бытовых осветительных приборов.
В программе 3ds Max 2008 присутствует восемь типов стандартных источников света, включая два, поставляемых вместе с визуализатором mental ray, и одиннадцать фотометрических.
Рассмотрим шесть основных стандартных источников света.
■ Omni (Всенаправленный) – точечный источник света, располагающийся в какой-то точке трехмерного пространства и равномерно излучающий свет во всех направлениях. Его можно сравнить с лампочкой без абажура, подвешенной к потолку.
■ Target Direct (Нацеленный направленный) – направленный источник света, лучи которого располагаются в пространстве параллельно друг другу. Такой источник света можно представить как плоскость, излучающую свет в виде цилиндра или параллелепипеда. Источник света имеет Target (Цель), на которую направлен пучок лучей. Примером его использования может служить имитация солнечного света, проходящего через окно в помещение.
■ Free Direct (Свободный направленный) – в отличие от предыдущего источника света, не имеет цели. Его положение в пространстве настраивается путем вращения.
■ Target Spot (Направленный с целью) – аналогичный источнику света Target Direct (Нацеленный направленный), с той лишь разницей, что лучи распространяются от излучателя не параллельно, а исходя из одной точки, наподобие света от театральных софитов или автомобильных фар. Такой источник света можно представить в виде конуса или пирамиды с вершиной в точке излучения. Как и предыдущие источники света, может отбрасывать тени и служить проектором изображений на поверхность объектов сцены.
■ Free Spot (Направленный без цели) – вариант источника света Target Spot (Направленный с целью), не имеющий цели. Как и у Free Direct (Свободный направленный), направление светового луча изменяется вращением источника света.
■ Skylight (Свет неба) – источник света, имитирующий свет неба. В отличие от источников света, рассмотренных ранее, Skylight (Свет неба) накрывает сцену полусферой, все внутренние стороны которой излучают световые лучи. Таким образом достигается мягкое равномерное освещение сцены, характерное для природного освещения. Особенностью этого источника света является то, что для его просчетов необходимо включать Light Tracer (Трассировщик света) (задается на вкладке Advanced Lightning (Улучшенное освещение) окна Render Scene (Визуализация сцены)).
Фотометрические источники света (группа Photometric (Фотометрический) категории Lights (Источники света) вкладки Create (Создание) командной панели) аналогичны стандартным, но позволяют более точно с физической точки зрения воспроизводить освещенность, цвет, затухание и распределение света в пространстве. В отличие от стандартных, фотометрические источники используют в качестве единиц освещенности канделы, люмены или люксы.
В число фотометрических входят следующие восемь основных источников света.
■ Target Point (Точечный направленный) – аналогично стандартному всенаправленному источнику света, излучает свет во всех направлениях с одинаковой силой. Для этого источника света можно задавать пространственное распределение светового потока.
■ Free Point (Точечный свободный) – всенаправленный точечный источник света.
■ Target Linear (Линейный направленный) – источник света, позволяющий имитировать линейные источники света, наподобие ламп дневного света. Имеет цель для установки направления светового потока и положения в пространстве.
■ Free Linear (Линейный свободный) – аналогичен Target Linear (Линейный направленный), но не имеет цели. Положение в пространстве и направление светового луча изменяются вращением осветителя.
■ Target Area (Площадный направленный) – источник света, по форме напоминающий прямоугольник, с возможностью изменения параметров длины и ширины. Наличие цели позволяет более точно настраивать положение источника света и направление светового потока. Может использоваться для имитации освещения из окна или в качестве световой панели.
■ Free Area (Площадный свободный) – в отличие от Target Area (Площадный направленный), не имеет цели. Его положение в пространстве настраивается путем вращения.
■ IES Sun (Свет солнца) и IES Sky (Свет неба) – источники света, способные имитировать физически правильный солнечный свет и свет неба с облаками и без. Могут использоваться как самостоятельно, так и в составе объектов дневного света.
Пока в сцену не будет введен хотя бы один источник света, в сцене используется базовое освещение за счет встроенных источников света, не имеющих настроек. Эта особенность программы 3ds Max позволяет начинать моделирование объектов сцены без предварительной установки источников света, создание и настройку которых можно выполнить позднее.
Рассмотрим создание и основные настройки источника света Target Spot (Направленный с целью).
1. На вкладке Create (Создание) командной панели щелкните на кнопке Lights (Источники света) и выберите из раскрывающегося списка строку Standard (Стандартный).
2. Нажмите кнопку Target Spot (Направленный с целью) в свитке Object Type (Тип объекта).
3. В одном из окон проекций щелкните в месте предполагаемого размещения источника света и, не отпуская кнопку мыши, переместите указатель в сторону, где должна располагаться цель источника света (рис. 2.27).
Рис. 2.27. Источник света Target Spot (Направленный с целью)
4. В свитке General Parameters (Общие параметры) установите флажок On (Включить) в области Shadows (Тени), если объекты сцены должны отбрасывать тень.
5. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) при помощи параметра Multiplier (Яркость) укажите значение уровня интенсивности света. Здесь также можно настроить цвет освещения, а в области Decay (Затухание) установить способ и начало ослабления светового потока по мере удаления от источника света.
6. При необходимости укажите в областях Near Attenuation (Затухание вблизи) и Far Attenuation (Затухание вдали) начальную и конечную границы затухания света.
7. В свитке Spotlight Parameters (Параметры прожектора) при помощи параметров HotSpot/Beam (Яркое пятно/луч) и Falloff/Field (Край пятна/область) задайте степень размытия края светового пятна.
8. В свитке Shadow Parameters (Параметры тени) установите значение параметров тени: Color (Цвет) и Dens (Плотность).
Создание камер
В среде 3ds Max используется два вида камер.
■ Target (Направленная) – представляет собой камеру с точкой нацеливания (Target Point), на которую направлен объектив. Камеру и ее цель можно трансформировать независимо, но считается, что камера всегда направлена на цель.
■ Free (Свободная) – аналогична направленной, но не имеет точки нацеливания и представляет собой единичный объект (саму камеру). Она определяет свою цель как находящуюся на произвольном расстоянии вдоль негативной1 локальной оси Z. Ее положение в пространстве настраивается путем вращения.
Исходя из конструкции, направленные камеры стараются сохранять свой вектор (локальную ось Y камеры) выровненным с осью Z мировой2 системы координат. Создание направленных камер в окне проекции Top (Сверху) устанавливает камеру с правильным начальным выравниванием и обеспечивает наиболее предсказуемые результаты. Создание камеры в других окнах проекции, где легко устанавливать камеру, смотрящую вниз или вверх, может привести к непредсказуемым поворотам камеры вокруг своей оси.
Свободная камера имеет локальную систему координат, выровненную с системой координат текущей плоскости конструкции. Линия взгляда свободной камеры направлена вдоль своей отрицательной оси Z, поэтому камера по умолчанию всегда направлена в плоскость конструкции. Например, свободная камера, созданная в окне проекции Top (Сверху), направлена вниз, а свободная камера, созданная в окне проекции Left (Слева), – вправо.
Область, просматриваемая камерой, устанавливается двумя независимыми параметрами камеры: FOV (Field of View) (Поле зрения) и Target Distance (Фокусное расстояние). Они описывают одно и то же свойство камеры, поэтому изменение параметра Field of View (Поле зрения) изменяет параметр Target Distance (Фокусное расстояние), и наоборот. Используйте Field of View (Поле зрения) для кадрирования вида камеры и для обеспечения кинематографических эффектов (например, наезда на объект).
Камеры можно создать двумя способами: преобразованием окна перспективного вида в окно вида из камеры и построением камеры в окне проекции.
В первом случае при активном окне проекции Perspective (Перспектива) выполните команду Views ► Create Camera From View (Вид ► Создать камеру из окна проекции) или нажмите Ctrl+C.
Во втором случае для создания камеры в окне проекции сделайте следующее.
1. На вкладке Create (Создание) командной панели щелкните на кнопке Cameras (Камеры).
2. В свитке Object Type (Тип объекта) нажмите кнопку Target (Направленная). В результате на командной панели появится свиток Parameters (Параметры).
1 Обычно координата X имеет позитивное направление вправо,Y – вверх, а Z – от наблюдателя. Негативная локальная ось – это ось с противоположным направлением вектора.
2 Мировая система координат – это универсальная система для всех объектов сцены, которая является постоянной вне зависимости от того, какое окно проекции активно.
3. Щелкните в точке любого окна проекции для размещения камеры и переместите указатель в направлении предполагаемого размещения точки нацеливания (рис. 2.28).
Рис. 2.28. Направленная камера
4. При необходимости настройте параметры камеры в свитке Parameters (Параметры).
Модификаторы геометрии
Для изменения параметров объектов сцены в среде 3ds Max служит панель Modify (Изменение). Она содержит список модификаторов, позволяет управлять стеком модификаторов и редактировать подобъекты.
Каждый модификатор привносит в моделирование большое количество возможностей. Некоторые модификаторы сложны, другие – просты и служат узкой цели. Успешное использование любого модификатора зависит от знания их возможностей и правильного порядка их применения, который виден в стеке на командной панели. Для достижения максимальной гибкости модификаторы можно применять в сочетании с другими модификаторами. При модификации объекта часто следует определить выборки, оптимизировать результат, улучшить сглаживание и присвоить отображение.
При описании в книге модификаторы организованы в соответствии с тем, каким способом они воздействуют на объект. Это важная особенность, поскольку, например, некоторые модификаторы преобразуют сплайны и фрагменты в каркасы, когда это не требуется.
Модификаторы делятся на WORLD-SPACE MODIFIERS (Модификаторы глобального пространства) и OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). Модификаторы первой группы, в отличие от второй, при обработке объектов всегда используют пространственную привязку к глобальной системе координат, о чем свидетельствует аббревиатура WSM (World Space Modifiers), включенная в их название.
Все модификаторы программы 3ds Max 2008 сгруппированы по назначению. Существует 16 групп модификаторов, о которых подробно рассказывалось в предыдущей главе.
Многие модификаторы используют Gizmo (Габаритный контейнер) для управления воздействием на объект. Габаритный контейнер появляется при переходе в режим редактирования подобъектов модификатора и отображается в виде специального значка, охватывающего поверхность объекта. Применение габаритного контейнера позволяет дополнительно контролировать модифицируемый объект. Например, смещение габаритного контейнера модификатора UVW Map (UVW-проекция) вызовет смещение текстурных координат объекта, что полезно при наложении текстурных карт.
Очень большое количество встроенных и подключаемых модификаторов не позволяет рассмотреть их все в рамках данной книги, поэтому остановимся на описании принципов работы наиболее используемых из них.
Lathe (Вращение вокруг оси)
Модификатор Lathe (Вращение вокруг оси) является одним из наиболее применяемых. Он используется для создания тел методом поворота вокруг своей оси половины профиля сечения объекта. Примерами объектов такого рода могут служить большая часть традиционной посуды, кувшины и вазы, песочные часы, автомобильные фары, гантели и т. д.
Наиболее важными настройками модификатора Lathe (Вращение вокруг оси) являются задание оси вращения и установка поверхности кругового вращения. По умолчанию расположение оси начинается с центра создания формы и выравнивается с локальной осью Y формы. Центр создания – расположение по умолчанию точки вращения после создания формы. Изменить положение сплайна по отношению к точке вращения формы можно двумя способами:
■ используя редактирование формы на уровне подобъектов Spline (Сплайн) для изменения положения этих сплайнов относительно точки вращения;
■ настроив точку опоры (Pivot Point) при помощи свитка Adjust Pivot (Настройка опоры), находящегося на вкладке Hierarchy (Иерархия) командной панели.
Рассмотрим пример построения вазы методом вращения профиля.
1. В окне проекции Front (Спереди) постройте сплайн, который будет профилем для будущего объекта (рис. 2.29).
СОВЕТ
Во время построения сплайнового профиля используйте начало координат для расположения оси вращения и привязки к сетке для упрощения процесса моделирования. Сплайн должен представлять собой одну непрерывную кривую, начальная и конечная точки которой лежат на оси вращения.
2. На вкладке Modify (Изменение) командной панели выберите из раскрывающегося списка модификаторов строку Lathe (Вращение вокруг оси). Будет создано тело вращения с установками по умолчанию, и появится свиток Parameters (Параметры) настроек модификатора вращения (рис. 2.30).
Рис. 2.29. Сплайновый профиль будущей вазы
Рис. 2.30. Свиток Parameters (Параметры) модификатора Lathe (Вращение вокруг оси)
3. Скорее всего, объект, полученный после применения модификатора, будет мало похож на ожидаемый. Это связано с тем, что по умолчанию геометрический центр кривой является осью вращения объекта, а мы строили симметричную половину профиля. Следовательно, необходимо переместить ось вращения в крайнее левое положение сплайна, для чего щелкните на кнопке Min (Минимум), находящейся в области Align (Выравнивание) свитка Parameters (Параметры). В результате объект должен принять форму, показанную на рис. 2.31.
4. Очень часто в области оси вращения возникают артефакты, которые портят внешний вид модели (см. рис. 2.31). Чтобы избавиться от этого недостатка, установите флажок Weld Core (Слияние на оси).
5. При помощи параметра Segments (Количество сегментов) укажите количество сегментов, которое будет размещено по периметру формы вращения, чтобы получить сглаженную поверхность.
6. При необходимости установите флажок Flip Normals (Обратить нормали).
7. Укажите тип выходной поверхности, установив переключатель в соответствующее положение: Patch (Патч-поверхность), Mesh (Поверхность) или NURBS (NURBS-поверхность).
При создании объекта в виде сектора тела вращения с помощью параметра Degrees (Сектор) задайте величину угла поворота, а если тело вращения имеет стенки с некоторой толщиной, то в области Capping (Настройки замкнутой поверхности) установите флажки Cap Start (Замкнутая поверхность в начале) и Cap End (Замкнутая поверхность в конце) (рис. 2.32).
Рис. 2.31. Объект после применения модификатора Lathe (Вращение вокруг оси) и выполнения некоторых настроек
Рис. 2.32. Кувшин, выполненный с сектором вращения, равным 360° (слева), и его копия с сектором вращения в 270° (справа)
Extrude (Выдавливание)
Модификатор Extrude (Выдавливание) применяется для построения объектов с постоянным сечением по высоте. Использование модификатора выдавливания похоже на работу рассмотренного ранее составного объекта Loft (Лофтинговые), когда формой пути служит прямая линия, а поперечное сечение состоит из одного сплайна кривой. Примерами использования модификатора Extrude (Выдавливание) могут служить шестеренки и звездочки, текст, машиностроительные детали и заготовки для стен домов.
Как и в случае с телами вращения, для построения выдавливания необходимо создать объект формы – профиль сечения, по которому будет строиться выдавливание. Этим профилем может быть как разомкнутая, так и замкнутая кривая, состоящая из одного или более сплайнов. Как и в случае с телами вращения, для построения профиля могут использоваться NURBS-кривые.
ПРИМЕЧАНИЕ
Аналогичным модификатору Extrude (Выдавливание) по способу построения объектов, но с большими возможностями редактирования профиля выдавливания является модификатор Bevel (Выдавливание со скосом). Его следует использовать при создании объектов с постоянным сечением и фаской на краях (например, текста).
Рассмотрим применение модификатора Extrude (Выдавливание) на примере создания шестеренки часового механизма.
1. В окне проекции Top (Сверху) постройте сплайн Star (Звезда) и несколько окружностей внутри.
2. Щелкните на объекте Star (Звезда) правой кнопкой мыши, в результате чего появится контекстное меню. Выполните команду Convert To ► Convert to Editable Spline (Преобразовать ► Преобразовать в редактируемый сплайн).
3. В свитке Geometry (Геометрия) настроек объекта Star (Звезда) нажмите кнопку Attach (Присоединить) и в окне проекции Top (Сверху) щелкните последовательно на всех созданных окружностях для присоединения их к объекту Star (Звезда). В результате получится объект формы профиля будущей шестеренки, состоящий из нескольких сплайнов (рис. 2.33).
4. На вкладке Modify (Изменение) командной панели выберите из раскрывающегося списка модификаторов строку Extrude (Выдавливание). Будет создан объект выдавливания с установками по умолчанию, а на командной панели появится свиток Parameters (Параметры) настроек модификатора выдавливания (рис. 2.34).
Рис. 2.33. Форма поперечного сечения будущей шестеренки
Рис. 2.34. Свиток Parameters (Параметры) модификатора Extrude (Выдавливание)
5. При помощи параметра Amount (Величина) укажите высоту объекта выдавливания (рис. 2.35).
6. Используя параметр Segments (Количество сегментов), увеличьте количество сегментов по высоте, если собираетесь редактировать построенный объект с помощью модификаторов поверхности или на уровне подобъектов, преобразовав тело выдавливания в Editable Mesh (Редактируемая поверхность).
7. При необходимости укажите, должен ли объект выдавливания иметь закрытые верхнее и нижнее основания, установив флажки Cap Start (Замкнутая поверхность в начале) и Cap End (Замкнутая поверхность в конце).
Рис. 2.35. Результат применения модификатора выдавливания
8. Укажите тип выходной поверхности, установив переключатель в соответствующее положение.
Bend (Изгиб)
Модификатор Bend (Изгиб) используется для создания деформации изгиба трехмерных объектов. Для корректного применения модификатора объект должен иметь достаточное количество разбиений в направлении оси изгиба.
Рассмотрим простой пример применения модификатора Bend (Изгиб) к объекту Cylinder (Цилиндр).
1. В окне проекции Top (Сверху) постройте цилиндр произвольного размера.
2. Параметру Height Segments (Количество сегментов по высоте) задайте значение от 10 до 20 в зависимости от высоты цилиндра.
3. Из раскрывающегося списка модификаторов вкладки Modify (Изменение) командной панели выберите строку Bend (Изгиб). Раскроется свиток Parameters (Параметры) настроек модификатора изгиба (рис. 2.36).
4. При помощи параметра Angle (Угол) задайте значение угла изгиба в градусах.
5. При необходимости измените направление изгиба, задав угол поворота в поле Direction (Направление).
6. Для управления ориентацией деформации изгиба установите переключатель Bend Axis (Ось изгиба) в соответствующее положение: X, Y или Z.
7. В области Limits (Пределы) задайте при необходимости ограничения на действие модификатора в пределах выбранной оси деформации.
8. Для получения дополнительного контроля над деформацией изгиба щелкните на плюсике возле названия модификатора в стеке. В результате появится доступ к габаритному контейнеру Гизмо (строка Gizmo (Габаритный контейнер)) модификатора и его центру (Center (Центр)).
На рис. 2.37 показаны два варианта применения модификатора Bend (Изгиб).
Рис. 2.36. Свиток Parameters (Параметры) модификатора Bend (Изгиб)
Рис. 2.37. Цилиндр после применения модификатора Bend (Изгиб) со значением угла изгиба 90° (слева) и его копия с ограничением области воздействия и центром модификатора, передвинутым вверх (справа)
Twist (Скручивание)
Модификатор Twist (Скручивание) применяется для создания деформации скручивания. Чаще всего он используется при конструировании витых спиралевидных моделей: веревок, сверл, резьбы, кованых решеток, ювелирных украшений и т. п. (рис. 2.38). Для корректного применения модификатора объект должен иметь достаточное количество разбиений в направлении оси изгиба.
Рис. 2.38. Объекты, созданные при помощи модификатора Twist (Скручивание)
Рассмотрим простой пример применения модификатора Twist (Скручивание).
1. В окне проекции Top (Сверху) постройте объект Box (Параллелепипед), длина и ширина которого равны 5 мм, а высота – 150 мм. В поле Height Segs (Количество сегментов по высоте) укажите значение, равное 100.
2. Из раскрывающегося списка модификаторов вкладки Modify (Изменение) командной панели выберите строку Twist (Скручивание). Появится свиток Parameters (Параметры) настроек модификатора скручивания (рис. 2.39).
3. Укажите при помощи параметра Angle (Угол) величину угла скручивания в градусах.
4. При необходимости установите координатную ось, отличную от Z, которая принята по умолчанию.
5. В области Limits (Пределы) задайте при необходимости ограничения на действие модификатора в пределах выбранной оси деформации.
6. Для получения дополнительного контроля над деформацией скручивания щелкните на плюсике рядом с названием модификатора в стеке. В результате появится доступ к габаритному контейнеру Гизмо (строка Gizmo (Габаритный контейнер)) модификатора и его центру (Center (Центр)).
На рис. 2.40, слева показан параллелепипед после применения модификатора Twist (Скручивание) с установленными ограничениями области действия модификатора и его копия (рис. 2.40, справа), к которой дополнительно был применен модификатор Bend (Изгиб) с величиной угла изгиба, равной 360°.
Рис. 2.39. Свиток Parameters (Параметры) настроек модификатора Twist (Скручивание)
Рис. 2.40. Параллелепипед после применения модификатора Twist (Скручивание) (слева) и его копия, к которой дополнительно применен модификатор Bend (Изгиб) (справа)
Edit Mesh (Редактирование поверхности)
Модификатор Edit Mesh (Редактирование поверхности) является одним из ключевых инструментов редактирования геометрии, без которого трудно представить моделирование объектов сложной формы. Кроме непосредственного редактирования, его можно использовать для выделения сеток или их подобъектов с целью применения различных модификаторов.
Рассмотрим пример создания модели яблока при помощи модификатора Edit Mesh (Редактирование поверхности).
1. В окне проекции Top (Сверху) постройте объект Sphere (Сфера) с радиусом, равным 45.
2. Из раскрывающегося списка модификаторов вкладки Modify (Изменение) командной панели выберите строку Edit Mesh (Редактирование поверхности).
3. В свитке Selection (Выделение) перейдите в режим редактирования вершин, щелкнув на кнопке Vertex (Вершина).
4. В окне проекции Perspective (Перспектива) выделите верхнюю вершину сферы.
5. Разверните свиток Soft Selection (Плавное выделение) и укажите значения параметров плавного выделения, как показано на рис. 2.41 (при этом дополнительно должны быть выделены цветом три ряда вокруг верхней точки сферы).
6. Щелкните на кнопке Select and Move (Выделить и переместить), расположенной на панели инструментов, и в окне проекции Front (Спереди) переместите выделенную вершину немного вниз (рис. 2.42), сформировав углубление в месте крепления хвостика яблока.
Рис. 2.41. Свиток Soft Selection (Плавное выделение) с параметрами выделения вершин сферы
Рис. 2.42. Изменение положения близлежащих вершин сферы в результате перемещения выделенной вершины
7. В окне проекции Front (Спереди) выделите две вершины, находящиеся в третьем ряду снизу и в середине объекта (одна на лицевой стороне, другая на противоположной). Затем, удерживая нажатой клавишу Ctrl, добавьте к выделению две такие же вершины в окне проекции Left (Cлева). Таким образом, должны быть выделены четыре вершины, расположенные в третьем ряду снизу и равноудаленные друг от друга.
8. Не меняя настройки плавного выделения, переместите выделенные вершины немного вниз, сформировав таким образом нижнюю часть яблока (рис. 2.43).
Рассмотренный пример иллюстрирует лишь малую часть возможностей, которые предоставляет модификатор Edit Mesh (Редактирование поверхности). Выполняя упражнения, описанные во второй и третьей частях книги, вы будете постоянно сталкиваться с редактированием сеток объектов, начиная с самых простых и заканчивая моделированием головы человека.
Рис. 2.43. Четыре вершины, выделенные в нижней части яблока, при перемещении вниз формируют его основание
ПРИМЕЧАНИЕ
После применения модификатора Edit Mesh (Редактирование поверхности) объекты наделяются свойствами, идентичными свойствам объектов Editable Mesh (Редактируемая поверхность).
Noise (Шум)
Яблоко, созданное с помощью модификатора Edit Mesh (Редактирование поверхности), получилось почти идеальной формы, однако в природе не существует идеальных форм. Модификатор Noise (Шум) помогает придать геометрии моделей неравномерность, присущую объектам реального мира.
Применим модификатор Noise (Шум) к модели яблока и рассмотрим его основные настройки.
1. Выделите модель яблока, созданную ранее при помощи модификатора Edit Mesh (Редактирование поверхности).
2. Из списка модификаторов вкладки Modify (Изменение) командной панели выберите строку Noise (Шум). Раскроется свиток Parameters (Параметры) настроек модификатора (рис. 2.44).
3. Укажите в полях X, Y и Z области Strength (Сила воздействия) значения смещения в направлении соответствующих осей глобальных координат.
4. В области Noise (Шум) установите значение счетчика Scale (Масштабирование) для определения величины возмущения поверхности объекта. Большие значения ведут к более гладким возмущениям, малые – к более частым. Параметр Seed (Случайная выборка) устанавливает положение генератора случайных величин.
5. При необходимости установите флажок Fractal (Фрактальный) для включения режима генерации фрактальных возмущений. Значения параметров Roughness (Шероховатость) и Iterations (Количество итераций) позволяют управлять степенью шероховатости поверхности и задают количество вычислительных циклов фрактального алгоритма.
После настройки основных параметров модификатора Noise (Шум) модель яблока стала выглядеть реалистичнее, а добавление хвостика, выполненного при помощи примитива Cylinder (Цилиндр) с примененными к нему модификаторами Bend (Изгиб) и Taper (Заострение), довершило картину (рис. 2.45).
Рис. 2.44. Свиток Parameters (Параметры) модификатора Noise (Шум)
Рис. 2.45. Модель яблока с габаритным контейнером Гизмо после применения модификатора Noise (Шум)
Таким образом, на примере моделирования яблока вы могли убедиться в том, что строить модели некоторых объектов гораздо проще и быстрее с использованием параметрических объектов и модификаторов формы. Кроме того, что такие объекты продолжают сохранять параметрические свойства, их легко редактировать при помощи изменения параметров самих объектов и настроек присвоенных им модификаторов.
Глава 3 Материалы и текстуры
• Окно Material Editor (Редактор материалов)
• Материал типа Standard (Стандартный)
• Создание сложных материалов
• Использование текстурных карт
Материалы, используемые в 3ds Max, позволяют имитировать внешний вид предметов реального мира, а именно такие их свойства, как цвет, сглаженность, мягкость, прозрачность, свечение и др. Эта глава посвящена описанию основных способов работы с материалами и возможностей окна Material Editor (Редактор материалов).
Окно Material Editor (Редактор материалов)
Material Editor (Редактор материалов) – это окно диалога, позволяющее создавать, редактировать и присваивать материалы объектам сцены. Редактор материалов является расширенной средой, в которой все типы процедурных и текстурных карт и материалов выступают подключаемыми компонентами.
Окно Material Editor (Редактор материалов) можно вызвать, выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов), щелкнув на кнопке Material Editor (Редактор материалов)
главной панели инструментов или нажав клавишу Ì.
Окно Material Editor (Редактор материалов) состоит из ячеек образцов материалов, кнопок инструментов управления и области свитков (рис. 3.1).
Ячейки образцов материалов
По умолчанию при работе над новой сценой Material Editor (Редактор материалов) показывает шесть ячеек с образцами материалов. Щелчок на ячейке активизирует ее и изменяет цвет ее границы на белый. Если ячейка образца содержит материал, который используется в сцене, то в ее углах помещаются белые треугольники. Позиция в иерархии материалов при переключении между окнами образцов запоминается.
Рис. 3.1. Окно диалога Material Editor (Редактор материалов)
В Material Editor (Редактор материалов) доступны 24 ячейки материалов. По умолчанию отображается только шесть из них. Просмотреть остальные ячейки можно, используя вертикальную и горизонтальную полосы прокрутки либо изменив в настройках окна количество отображаемых ячеек. Для этого нажмите кнопку Options (Параметры) (в правой части окна Material Editor (Редактор материалов)) или выполните команду Options ► Options (Параметры ► Параметры) и в появившемся окне Material Editor Options (Параметры редактора материалов) установите переключатель Slots (Слоты) в одно из положений – 3 х 2, 5 х 3 или 6 x 4.
В зависимости от своего назначения в сцене материалы 3ds Max имеют три «температуры»: «горячую», «теплую» и «холодную». Если материал применяется в сцене, он считается «горячим», если является копией материала, используемого в сцене, – «теплым», а если не используется – «холодным» (рис. 3.2).
Рис. 3.2. Ячейки образцов материалов: «холодного» (а), «теплого» (б) и «горячего» (в)
«Горячие» материалы отмечены в окнах образцов материалов четырьмя белыми треугольниками. «Теплым» материал становится при копировании материала с помощью кнопки Make Material Сору (Сделать копию материала) или перетаскивания образца материала из одной ячейки в другую. Скопированный («теплый») материал имеет то же имя, что и оригинал, но не связан напрямую со сценой. Его редактирование не влияет на текущее состояние сцены. «Холодный» материал отличается от «теплого» только тем, что не разделяет имя с уже существующим в текущей сцене и не присвоен ни одному объекту сцены.
СОВЕТ
При редактировании «горячего» (назначенного) материала рекомендуется использовать его «теплую» версию. Для этого делается копия образца материала, производятся все изменения, и затем она назначается соответствующему объекту в сцене как новый «горячий» материал.
После выбора ячейки с образцом материала можно присвоить его объекту, выделенному в окне проекции. Для этого щелкните на кнопке Assign Material to Selection (Назначить материал выделенным объектам), расположенной ниже ячеек с образцами материалов, или выполните команду Material ► Assign to Selection (Материал ► Назначить выделенным объектам). Существует более простой и наиболее применяемый способ: перетащить материал из ячейки образца на объект, расположенный в окне проекции.
Как только материал присваивается объекту сцены, он автоматически попадает в библиотеку материалов, которая сохраняется вместе с файлом сцены. Находясь в этой библиотеке, он может не отображаться в ячейках с образцами материала.
СОВЕТ
При необходимости вы можете просмотреть все материалы, включенные в сцену, установив в окне Material/Map Browser (Окно выбора материалов и карт) переключатель Browse From (Выбирать из) в положение Scene (Сцена).
При желании вы можете создавать и сохранять для загрузки собственные библиотеки материалов.
Интерфейс окна Material Editor (Редактор материалов)
Окно Material Editor (Редактор материалов) содержит собственную панель инструментов, расположенную снизу и справа от ячеек с материалами:
Sample Type (Тип образца) – определяют форму отображаемого в ячейке образца (сфера, цилиндр, параллелепипед);
Backlight (Подсветка сзади) (L) – включает или выключает заднюю подсветку образца материала в выбранной ячейке;
Background (Фон) (B) – изменяет фон ячейки на шахматное поле или подгружаемую текстуру, например для лучшего отображения прозрачных материалов;
Sample UV Tiling (Плитки образцов в плоскости UV) – устанавливает количество повторений текстурной карты на образце материала (1 х 1, 2 x 2, 3 х 3, 4 х 4);
Video Color Check (Контроль цветности) – включает режим контроля соответствия цветов стандартам PAL и NTSC для текущего материала;
Make Preview (Создать эскиз) (P),
Play Preview (Просмотреть эскиз),
Save Preview (Сохранить эскиз) – позволяют создать, просмотреть и сохранить эскизы анимации материалов до выполнения визуализации сцены;
Options (Параметры) (O) – открывает окно с настройками параметров Material Editor (Редактор материалов);
Select by Material (Выделить по материалу) – выделяет все объекты сцены, использующие текущий материал, для чего открывается окно Select Objects (Выбор объектов) с выделенными материалами;
Material/Map Navigator (Путеводитель по материалам и картам) – вызывает окно Material/Map Navigator (Путеводитель по материалам и картам), которое отображает древовидную структуру материалов и текстур текущего образца;
Get Material (Установить материал) (G) – открывает окно диалога Material/Map Browser (Окно выбора материалов и карт) для выбора готового материала или создания нового;
Put Material in Scene (Поместить материал в сцену) – обновляет материал объекта сцены, после того как были сделаны изменения в его копии (в «теплом» материале);
Assign Material to Selection (Назначить материал выделенным объектам) – присваивает текущий материал выделенным объектам сцены;
Reset Map/Mtl to Default Settings (Установить исходный материал/карту текстуры) – удаляет из активной ячейки образца все выполненные изменения, возвращая ее к установкам по умолчанию;
Make Material Copy (Копировать материал) – создает копию текущего «горячего» материала и помещает ее в ту же ячейку образца, сохраняя имя и свойства оригинала;
Make Unique (Сделать уникальным) – превращает образец материала в новый, независимый материал;
Put to Library (Поместить в библиотеку) – помещает активный материал в текущую библиотеку материалов; чтобы зафиксировать изменения, библиотеку после этого следует сохранить;
Material ID Channel (Канал идентификаторов материала) – устанавливает один из 15 идентификаторов (ID) для последующего применения специальных эффектов;
Show Map in Viewport (Отобразить карту в окне проекции) – отображает двумерные карты текстур на поверхности объектов в окнах проекций. Кроме того, в данной версии программы появилась возможность выбора способа отображения карты при помощи дополнительных кнопок Show Standard Map in Viewport (Отобразить карту в окне проекций стандартно) либо Show Hardware Map in Viewport (Отобразить карту в окне проекций аппаратно). В первом случае для отображения текстурных карт используется программное обеспечение, а во втором – аппаратное;
Show End Result (Показать конечный результат) – показывает в ячейке образца все уровни комбинированного материала (если режим выключен, отображается только текущий уровень);
Go to Parent (Вернуться к исходному) – данная кнопка выполняет переход от компонентного уровня на более высокий уровень редактирования составного материала;
Go Forward to Sibling (Перейти к компоненту) – выполняет переход к правке следующего материала или текстуры, входящей в многокомпонентный материал;
Pick Material from Object (Показать материал объекта) – позволяет взять образец материала с объекта сцены и загрузить в текущую ячейку;
Material drop-down list (Раскрывающийся список имен материалов) – позволяет переименовать текущий материал или текстурную карту;
Bitmap J Type (Тип) – кнопка выбора типа редактируемого материала; щелчок на ней вызывает окно диалога Material/Map Browser (Окно выбора материалов и карт).
Ниже окна с именем и кнопки выбора типа материала находится область свитков текущего материала, состав которой изменяется в зависимости от выбранного типа.
Использование Material/Map Browser (Окно выбора материалов и карт)
Окно диалога Material/Map Browser (Окно выбора материалов и карт) (рис. 3.3), предназначенное для просмотра и выбора материалов и текстурных карт, открывается в трех случаях:
Рис. 3.3. Окно Material/Map Browser (Окно выбора материалов и карт)
■ при выборе нового материала или текстурной карты;
■ при использовании кнопки Type (Тип) для замены текущего подматериала или карты;
■ при нажатии кнопки Get Material (Установить материал).
В Material/Map Browser (Окно выбора материалов и карт) хранятся материалы в наборах, именуемых библиотеками. Как уже говорилось выше, библиотеки могут храниться в составе файла сцены или в отдельном файле с расширением MAT. В окне диалога Material/Map Browser (Окно выбора материалов и карт) материалы помечены значком в виде сферы, а текстурные карты – параллелограммом.
В данном окне можно выбрать материал, который хранится в библиотеке материалов, присутствует в сцене, является текущим в Material Editor (Редактор материалов), или создать собственный материал. При установке переключателя Browse From (Выбирать из) в одно из положений происходит следующее:
■ Mtl Library (Библиотека материалов) – показывает текущую библиотеку материалов и текстур. При установке переключателя в данное положение в левой части окна появляется область кнопок File (Файл) для работы с файлами библиотек, позволяющая загружать, объединять и сохранять библиотеки материалов;
■ Mtl Editor (Редактор материалов) – позволяет просматривать материалы и текстуры, используемые в настоящий момент в Material Editor (Редактор материалов); при этом отображаются все 24 образца материала;
■ Active Slot (Активная ячейка) – позволяет просматривать материал в активной ячейке образца;
■ Selected (Выделенные объекты) – позволяет просматривать только те материалы и текстуры, которые принадлежат выделенным объектам сцены;
■ Scene (Сцена) – служит для просмотра материалов и карт текстур текущей сцены, независимо от того, присутствуют они в Material Editor (Редактор материалов) или нет;
■ New (Создать) – открывает список всех доступных типов материалов и карт текстур, которые можно использовать для создания новых образцов.
Выбрав один или несколько вариантов в области Show (Показывать) окна Material/ Map Browser (Окно выбора материалов и карт), можно ограничить отображение материалов и текстурных карт:
■ Materials (Материалы) – включает отображение в окне просмотра материалов;
■ Maps (Карты текстур) – задает отображение в окне просмотра текстурных карт;
■ Incompatible (Несовместимые) – включает отображение несовместимых с текущим визуализатором материалов и текстурных карт; в частности, материалы визуализатора mental ray несовместимы со стандартным визуализатором и при установке флажка Incompatible (Несовместимые) отображаются серым цветом;
■ Root Only (Только результат) – задает отображение только верхнего уровня материалов в окне просмотра;
■ By Object (По объектам) – включает режим сортировки списка материалов, при котором их названия будут упорядочены по алфавиту.
Кнопки, расположенные в верхней части окна Material/Map Browser (Окно выбора материалов и карт), позволяют изменять режим отображения материалов и выполнять некоторые стандартные операции.
Окно Material/Map Navigator (Путеводитель по материалам и картам)
Каждый материал сцены может содержать любое количество подматериалов, которыми могут быть другие материалы или текстурные карты. Подматериалы можно редактировать при помощи свитков, в которых они содержатся, но более простым и визуально понятным способом является использование окна Material/Map Navigator (Путеводитель по материалам и картам) (рис. 3.4).
Рис. 3.4. Окно Material/Map Navigator (Путеводитель по материалам и картам)
Окно Material/Map Navigator (Путеводитель по материалам и картам) является составной частью Material Editor (Редактор материалов) и предоставляет возможность для изучения дерева материалов. Как и в окне Material/Map Browser (Окно выбора материалов и карт), кружки символизируют материалы, а параллелограммы – текстурные карты. Щелчок на каждом символе настроит Material Editor (Редактор материалов) на определенный материал или карту на данном уровне. Это облегчает навигацию внутри или между сложными материалами.
В Material/Map Navigator (Путеводитель по материалам и картам), как и в Material/ Map Browser (Окно выбора материалов и карт), кнопки, расположенные в верхней части окна, позволяют изменять режим отображения материалов.
Материал типа Standard (Стандартный)
Один из базовых материалов 3ds Max, наиболее часто применяемый как самостоятельно, так и для создания более сложных составных материалов, – материал типа Standard (Стандартный).
Для стандартного материала указываются характеристики цвета, отражения, прозрачности и собственного свечения. Возможность использования различных вариантов тонированной окраски позволяет контролировать вид текущего материала.
Настройки стандартного материала содержатся на следующих свитках:
■ Shader Basic Parameters (Основные параметры затенения);
■ Basic Parameters (Основные параметры), основанные на типе применяемого метода тонированной раскраски;
■ Extended Parameters (Дополнительные параметры);
■ SuperSampling (Сверхразрешение);
■ Maps (Карты текстур);
■ Dynamics Properties (Динамические свойства);
■ DirectX Manager (Управление драйвером DirectX).
ПРИМЕЧАНИЕ
Данный свиток появляется при выборе в качестве драйвера дисплея DirectX.
Используя эти параметры, можно создавать уникальные материалы.
Свитки настроек Shader Basic Parameters (Основные параметры затенения) и Basic Parameters (Основные параметры)
Свитки Shader Basic Parameters (Основные параметры затенения) и Basic Parameters (Основные параметры) (рис. 3.5) позволяют настраивать параметры тонированной раскраски, трех главных компонентов цвета материала, а также другие характеристики материала.
Рис. 3.5. Свитки настроек Shader Basic Parameters (Основные параметры затенения) и Basic Parameters (Основные параметры) стандартного материала
Создание нового материала начинается с выбора типа тонированной раскраски в раскрывающемся списке свитка Shader Basic Parameters (Основные параметры затенения). Параметр, определяющий тонированную раскраску, является основным в материале Standard (Стандартный). Он управляет выбором метода (алгоритмом) визуализации для оценки и затенения базовых цветов и сияния.
Существуют три теневые характеристики материала Standard (Стандартный).
■ Ambient (Цвет подсветки) – это цвет объекта, который освещен рассеянным светом. Хотя значение подсветки представляет затененную часть материала, оно существенно влияет на поверхность, так как обычно в заданный момент времени под воздействием прямого света находится только небольшая часть объекта.
■ Diffuse (Цвет рассеивания) – цвет объекта, освещенного прямым светом. Оказывает наибольшее влияние на вид материала, и его проще всего определять. Это цвет, на который ссылаются при описании материала в реальной жизни.
■ Specular (Цвет зеркального отражения) – цвет пятна отражения. Цвет зеркального отражения смешивается с цветом подсветки. Такая смесь варьируется от материала к материалу, но обычно окрашена в цвет рассеивания (или цвет блика) с небольшой насыщенностью или бесцветна (белая). Влияние, которое цвет зеркального отражения оказывает на материал, прямо связано со значением параметра Specular Level (Уровень блеска).
Слева от цветов расположены кнопки, позволяющие заблокировать цвета, чтобы они оставались одинаковыми. После этого настройка одного цвета влияет на цвет другого.
СОВЕТ
Несмотря на то что Diffuse (Цвет рассеивания) и Ambient (Цвет подсветки) блокированы по умолчанию, не стоит оставлять их одинаковыми, если вы не стремитесь получить материал яркого пластика. Сделав Ambient (Цвет подсветки) темнее, чем Diffuse (Цвет рассеивания), вы усилите затенение и создадите более естественную визуализацию.
Настройки характеристик зеркального блика материала представлены в области Specular Highlights (Зеркальные блики). Данные значения объединяются для создания общего характера яркости с эффектом, графически показанным кривой Highlight (Подсветка). Рассмотрим параметры данной области.
■ Specular Level (Уровень блеска) – яркость блика.
■ Glossiness (Глянец) – размер пятна блика на поверхности материала. Большие значения создают вид более гладкого и блестящего материала, в то время как их уменьшение имитирует матовые поверхности.
■ Soften (Размытие) – размытие пятна блика на поверхности материала. Если материалы обладают слабым матовым блеском, стоит использовать более высокие значения размытия, и наоборот.
Кроме рассмотренных выше, существуют другие параметры, позволяющие дополнительно настраивать материал.
■ Wire (Каркас) – визуализация объекта, которому назначен материал, производится в режиме каркасного отображения (рис. 3.6, а). Поверхность каркаса является гладкой вдоль грани, чье ребро он очерчивает. Применяется для имитации проволочных моделей, плетеных корзин и т. д.
■ Face Map (Карта грани) – присваивает материал с применением текстурных карт к каждой грани объекта (рис. 3.6, б).
■ 2-Sided (Двусторонний) – заставляет визуализатор игнорировать нормали граней поверхности и визуализировать обе стороны объекта. Данный параметр предназначен для геометрий и поверхностей, которые просматриваются насквозь, например стекло или проволочный каркас (рис. 3.6, в).
■ Faceted (Огранка) – выключает сглаживание ребер и придает объекту граненый вид (рис. 3.6, г).
Рис. 3.6. Визуализация материала в режиме: Wire (Каркас) (а), Face Map (Карта грани) (б), 2-Sided (Двусторонний) (в) и Faceted (Огранка) (г)
В свитке Basic Parameters (Основные параметры) также находятся параметры Self-Illumination (Собственное свечение) и Opacity (Непрозрачность).
Параметр Self-Illumination (Собственное свечение) помогает создать иллюзию самостоятельного свечения посредством устранения компонента затенения материала, определяемого параметром Ambient (Цвет подсветки). Увеличение значения параметра Self-Illumination (Собственное свечение) уменьшает эффект рассеивания до тех пор, пока затенение не будет больше появляться. Если материал полностью самостоятельно светится (значение параметра Self-Illumination (Собственное свечение) равно 100), то на поверхности нет тени и везде, кроме бликов, используется рассеянный цвет.
По умолчанию все материалы непрозрачны на 100 %. Общую прозрачность материала можно определить, используя карту его непрозрачности. Когда карта непрозрачности активна, она перекрывает параметр Opacity (Непрозрачность), так как задает силу и размещение непрозрачности материала.
Типы тонирования
Параметры тонированной окраски управляют тем, какой метод (алгоритм) визуализации будет использоваться для оценки и затенения базовых цветов, а также сияния. Существует восемь типов тонирования оболочек объектов, представленных в раскрывающемся списке свитка Shader Basic Parameters (Основные параметры затенения).
■ Blinn (По Блинну) (рис. 3.7, а), Oren-Nayar-Blinn (По Оурену – Найару – Блинну) (рис. 3.7, б), Phong (По Фонгу) (рис. 3.7, в) – методы тонированной раскраски, обеспечивающие сглаживание граней и отображение зеркальных бликов на поверхности материала. Раскраска по Блинну или Фонгу в большинстве случаев применяется для создания стандартных материалов пластика, крашеных поверхностей, дерева, резины и т. п. При этом раскраска по Фонгу дает более мягкое сглаживание между гранями, рассчитывая нормали каждого пиксела поверхности. Окраска по Оурену – Найару – Блинну предоставляет дополнительные возможности, связанные с управлением яркостью цвета рассеивания, что позволяет получить большую гибкость в настройке материалов с шероховатой поверхностью (например, тканей).
Рис. 3.7. Типы тонирования Blinn (По Блинну) (а), Oren-Nayar-Blinn (По Оурену – Найару – Блинну) (б) и Phong (По Фонгу) (в)
■ Metal (Металл) (рис. 3.8, а), Strauss (По Штраусу) (рис. 3.8, б) – применяются для имитации металлов и материалов с металлическим блеском (таких как стекло, сталь и т. п.). Цвет блика металлических материалов зависит от настроек цветового компонента Diffuse (Цвет рассеивания) и формы кривой блика. Форма кривой блика и результирующее сияние на поверхности существенно отличаются от получаемого при режиме затенения Phong (По Фонгу), хотя значение сияния остается тем же. Особенность раскраски по Штраусу состоит в возможности применения ее не только для имитации металлических поверхностей.
Рис. 3.8. Типы тонирования Metal (Металл) (а) и Strauss (По Штраусу) (б)
■ Anisotropic (Анизотропный) (рис. 3.9, а), Multi-Layer (Многослойный) (рис. 3.9, б) – позволяют имитировать несимметричные блики и управлять их ориентацией на поверхности материала. Данные типы тонированной раскраски характеризуются нерадиальным пятном светового блика. Многослойный тип тонирования может управлять двумя независимыми бликами разного цвета и интенсивности. Тонирование Anisotropic (Анизотропный) и Multi-Layer (Многослойный) могут применяться для имитации крашеных полированных поверхностей (покрытие автомобиля), стекла, волос и т. п.
Рис. 3.9. Типы тонирования Anisotropic (Анизотропный) (а) и Multi-Layer (Многослойный) (б)
■ Translucent Shader (Просвечивающийся) (рис. 3.10) – позволяет свету свободно проходить сквозь объект, создавая эффект полупрозрачности. Этот тип тонирования напоминает двусторонний эффект, когда подсветка задних граней отображается на передних. Он не имитирует рассеивание света в пределах объекта, поэтому может применяться для имитации тонких объектов (например, бумаги или матового стекла).
Рис. 3.10. Тип тонирования Translucent Shader (Просвечивающийся)
Дополнительные параметры
Помимо основных, стандартные материалы обладают дополнительными параметрами, представленными в свитках Extended Parameters (Дополнительные параметры), SuperSampling (Сверхразрешение) и Dynamics Properties (Динамические свойства), – непрозрачностью, характеристикой каркаса, методом сглаживания и динамическими характеристиками материала.
Свиток Extended Parameters (Дополнительные параметры) позволяет настраивать параметры трех областей (рис. 3.11): Advanced Transparency (Свойства прозрачности), Wire (Каркас) и Reflection Dimming (Ослабление зеркального отражения).
Рис. 3.11. Свиток Extended Parameters (Дополнительные параметры) стандартного материала
Переключатель Falloff (Спад) области Advanced Transparency (Свойства прозрачности) позволяет указать направление спада прозрачности: In (Внутрь) или Out (Наружу). Прозрачность регулируется параметром Amt (Степень). Изменение прозрачности используется на краях таких объектов, как стеклянная бутылка, мыльные пузыри, облака или туман.
Переключатель Type (Тип) позволяет задать способ отображения прозрачных материалов через канал цвета: Filter (Фильтрующий), Subtractive (Вычитающий) и Additive (Суммарный). Эти три типа взаимодействия цветовой составляющей, пропущенной через прозрачный материал, позволяют в первом случае получить максимально реалистичный эффект прозрачных материалов, во втором и третьем – специальные эффекты, такие как дым, луч прожектора или цветная тень.
Параметр Index of Refraction (Коэффициент преломления) задает величину коэффициента преломления светового луча, проходящего через прозрачный материал.
Параметр Size (Размер) области Wire (Каркас) позволяет задавать толщину сетки в режиме каркасного отображения объекта. Переключатель In (Внутри) этой же области определяет единицы измерения, в которых будет измеряться толщина данной сетки:
■ Pixels (Пикселы) – в пикселах (толщина линии не меняется в зависимости от расстояния до камеры);
■ Units (Единицы) – в текущих единицах, установленных в программе (изменяется в зависимости от расстояния до камеры – с удалением уменьшается).
В области Reflection Dimming (Ослабление зеркального отражения) указываются характеристики ослабления блеска для карт зеркального отражения, находящихся в тени.
Свиток SuperSampling (Сверхразрешение) (рис. 3.12) позволяет выбрать один из четырех методов сглаживания изображений: Adaptive Halton (Адаптивный Хэлтона), Adaptive Uniform (Адаптивный равномерный), Hammersley (Хаммерсли) и Max 2.5 Star (Максимально 2,5 – звезда).
Сглаживание краевых эффектов рассчитывается для каждого пиксела с учетом цвета соседних.
Рис. 3.12. Свиток SuperSampling (Сверхразрешение)
При визуализации в программе 3ds Max происходит фильтрация краевых эффектов. Настройки свитка SuperSampling (Сверхразрешение) предоставляют дополнительный контроль над сглаживанием, позволяя улучшить выходное изображение. Применение этого метода требует дополнительного времени для расчетов и может замедлить процесс визуализации в несколько раз. Одним из случаев использования SuperSampling (Сверхразрешение) может быть применение при визуализации анимации для сглаживания эффекта «мельтешения», связанного с неоднородным отображением цвета пикселов в соседних кадрах.
Свиток Dynamics Properties (Динамические свойства) позволяет настраивать характеристики стандартных материалов с учетом динамики для последующего применения их к объектам, участвующим в анимации (рис. 3.13).
Рис. 3.13. Свиток Dynamics Properties (Динамические свойства)
Можно настраивать следующие динамические характеристики: Bounce Coefficient (Коэффициент упругости), Static Friction (Статическое трение) и Sliding Friction (Трение скольжения).
Создание сложных материалов
Хотя материал Standard (Стандартный) применяется наиболее часто, 3ds Max предоставляет возможность создавать различные сложные материалы, состоящие из двух или более стандартных материалов. В этом случае материал Standard (Стандартный) предназначен для комбинирования эффектов других материалов.
Доступ к составным материалам можно получить, щелкнув на кнопке Type (Тип) в окне Material Editor (Редактор материалов). В результате откроется окно диалога Material/Map Browser (Окно выбора материалов и карт) со списком доступных материалов. Рассмотрим некоторые из них.
Top/Bottom (Верх/низ)
Материал Top/Bottom (Верх/низ) позволяет назначить разные материалы верхней и нижней частям объекта. Какая часть объекта считается нижней, а какая верхней, зависит от его ориентации относительно оси Z глобальной или локальной системы координат.
Для доступа к материалу Top/Bottom (Верх/низ) выполните следующие действия.
1. Щелкните на кнопке Type (Тип) в окне Material Editor (Редактор материалов) для вызова окна диалога Material/Map Browser (Окно выбора материалов и карт).
2. Выберите из списка материал Top/Bottom (Верх/низ). В результате откроется окно диалога, в котором необходимо указать: Discard old material? (Удалить старый материал?) или Keep old material as sub-material? (Оставить старый материал в качестве компонента?).
3. Щелкните на кнопке OK. В результате в области свитков окна Material Editor (Редактор материалов) появится свиток Top/Bottom Basic Parameters (Основные параметры материала Верх/низ) (рис. 3.14), содержащий следующие настройки:
Рис. 3.14. Свиток Top/Bottom Basic Parameters (Основные параметры материала Верх/низ)
• кнопки T o p Material (Материал верхней части) и Bottom Material (Материал нижней части) для загрузки материалов для верхней и нижней частей объекта;
• кнопку Swap (Поменять), при помощи которой можно поменять местами материалы верхней и нижней частей;
• параметр Blend (Смешиваемый), задающий значение смешивания двух материалов на границе в пределах от 0 до 100;
• параметр Position (Положение), определяющий положение границы двух материалов (используется диапазон значений от 0 до 100, причем нулевое значение полностью закроет объект верхним материалом, а 100 – наоборот).
Blend (Смешиваемый)
Материал Blend (Смешиваемый) позволяет смешивать два отдельных материала в определенном процентном соотношении. Он также включает возможность применения маски, управляющей тем, где происходит смешивание, и, следовательно, появления смесевого цвета.
Для доступа к материалу Blend (Смешиваемый) выполните следующие действия.
1. Щелкните на кнопке Type (Тип) в окне Material Editor (Редактор материалов) для вызова окна диалога Material/Map Browser (Окно выбора материалов и карт).
2. Выберите из списка материал Blend (Смешиваемый). В результате откроется окно диалога, в котором необходимо указать: Discard old material? (Удалить старый материал?) или Keep old material as sub-material? (Оставить старый материал в качестве компонента?).
3. Щелкните на кнопке OK. В результате в области свитков окна Material Editor (Редактор материалов) появится свиток Blend Basic Parameters (Основные параметры смешивания) (рис. 3.15).
Рис. 3.15. Свиток Blend Basic Parameters (Основные параметры смешивания)
4. Настройте параметры смешивания материала:
1) щелкнув на одной из кнопок Material 1 (Материал 1) или Material 2 (Материал 2), выберите новый материал либо перейдите в режим редактирования существующего. В качестве материалов могут выступать как стандартные материалы, так и сложные составные;
2) установите или снимите флажки, расположенные справа от кнопок материалов, для активизации или деактивизации материалов;
3) установите переключатель Interactive (Интерактивный) напротив того материала, который должен быть показан в окне проекции;
4) нажав кнопку Mask (Маска), укажите в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) материал или файл растрового изображения, который будет использоваться для смешивания двух компонентов материала;
5) в счетчике Mix Amount (Доля в смеси) определите значение смешивания материалов-компонентов в диапазоне от 0 до 100. При значении, равном 0, будет виден только Material 1 (Материал 1), а при 100 – только Material 2 (Материал 2);
6) задайте плавность перехода одного материала в другой с помощью элементов области Mixing curve (Кривая смешивания).
Multi/Sub-Object (Многокомпонентный)
Материал Multi/Sub-Object (Многокомпонентный) является одним из наиболее применяемых составных материалов. Он позволяет назначить объекту более одного материала на уровне грани посредством Material ID (Идентификатора материала). Для этих целей может использоваться модификатор Mesh Select (Выделение поверхности), при помощи которого на уровне подобъектов выделяются области, которым будут присваиваться различные материалы.
Для доступа к материалу Multi/Sub-Object (Многокомпонентный) выполните следующие действия.
1. Щелкните на кнопке Type (Тип) в окне Material Editor (Редактор материалов) для вызова окна диалога Material/Map Browser (Окно выбора материалов и карт).
2. Выберите из списка материал Multi/Sub-Object (Многокомпонентный). В результате откроется окно диалога, в котором необходимо указать: Discard old material? (Удалить старый материал?) или Keep old material as sub-material? (Оставить старый материал в качестве компонента?).
3. Щелкните на кнопке OK. В результате в области свитков окна Material Editor (Редактор материалов) появится свиток Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала) (рис. 3.16).
Рис. 3.16. Свиток Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала)
4. Настройте параметры многокомпонентного материала:
1) щелкните на кнопке Set Number (Установить количество) и задайте в появившемся окне количество компонентов материала. Каждый компонент будет представлен образцом материала в левой части строки, а активный выделен прямоугольником;
2) щелкните на кнопке Add (Добавить) для добавления нового компонента или на кнопке Delete (Удалить), чтобы удалить выделенный в списке компонент;
3) при необходимости измените номер ID (Идентификатор материала), указав новое значение;
4) в текстовое поле Name (Имя) справа от номера компонента материала введите его имя;
5) щелкните на кнопке Material # (Standard) (Материал № (стандартный)) для доступа к настройкам компонента. Вы можете редактировать существующий материал или назначить новый;
6) при помощи поля образца цвета, расположенного справа от кнопки, измените, если нужно, цвет Diffuse (Цвет рассеивания) активного компонента;
7) для включения или выключения компонента из состава материала установите либо снимите его флажок в столбце On/Off (Включить/выключить).
Чтобы воспользоваться материалом Multi/Sub-Object (Многокомпонентный), присвойте его объекту сцены, после чего примените к объекту модификатор Edit Mesh (Редактирование поверхности) (можно использовать любой способ доступа для перехода в режим редактирования подобъектов). Выделите область объекта на уровне граней и в свитке Surface Properties (Свойства поверхности) выберите требуемый идентификатор или имя материала в раскрывающемся списке.
Matte/Shadow (Матовое покрытие/тень)
Материал Matte/Shadow (Матовое покрытие/тень) применяется для создания специальных эффектов в сценах преимущественно с фоном в виде растрового изображения. Вы можете назначить этот материал, чтобы сделать невидимой часть объекта или чтобы объект мог принимать тени, оставаясь при этом невидимым. Эффект применения данного материала проявляется после визуализации объекта сцены, к которому он применен.
Для создания материала Matte/Shadow (Матовое покрытие/тень) выполните следующие действия.
1. Щелкните на кнопке Type (Тип) в окне Material Editor (Редактор материалов) для вызова окна Material/Map Browser (Окно выбора материалов и карт).
2. Выберите из списка материал Matte/Shadow (Матовое покрытие/тень). В результате откроется окно диалога, в котором необходимо указать: Discard old material? (Удалить старый материал?) или Keep old material as sub-material? (Оставить старый материал в качестве компонента?).
3. Щелкните на кнопке OK. В результате в области свитков окна Material Editor (Редактор материалов) появится свиток Matte/Shadow Basic Parameters (Основные параметры матового покрытия/тени) (рис. 3.17).
Рис. 3.17. Свиток Matte/Shadow Basic Parameters (Основные параметры матового покрытия/тени)
4. В области Matte (Матовое покрытие) установите или снимите флажок Opaque Alpha (Непрозрачность в альфа-канале) в зависимости от того, хотите вы включить назначенной геометрии вывод альфа-канала визуализатора или нет.
5. При необходимости установите флажок Apply Atmosphere (Применить атмосферные эффекты) в области Atmosphere (Атмосфера), чтобы использовать режим формирования атмосферной дымки применительно к объекту с матовым материалом. Настройки области Atmosphere (Атмосфера) интегрируют матовый объект в атмосферные эффекты. Если флажок установлен, то влияние атмосферы рассчитывается в зависимости от положения, в которое установлен переключатель:
• At Background Depth (На глубине фона) – влияние атмосферы не зависит от расстояния;
• At ObjectDepth (На глубине объекта) – расчет влияния атмосферы производится с учетом атмосферы.
6. В области Shadow (Тень) установите флажок Receive Shadows (Принимать тени), чтобы материал мог принимать тени от других объектов сцены. При установке флажка Affect Alpha (Воздействовать на альфа-канал) будет формироваться изображение тени в альфа-канале выходного изображения, а параметр Shadow Brightness (Интенсивность тени) и образец цвета Color (Цвет) настраивают цвет и прозрачность тени.
Raytrace (Трассируемый)
Материал Raytrace (Трассируемый) основан на методе визуализации, который рассчитывает растровое изображение с помощью трассировки лучей, проходящих через сцену. Эти лучи могут проходить через прозрачные объекты и отражаться от полированных поверхностей. В результате получается довольно реалистичное изображение, однако платой за качество становится увеличение времени, необходимого для визуализации, особенно если в сцене много источников света и материалов Raytrace (Трассируемый).
Трассируемый материал поддерживает такие специальные эффекты, как Fog (Туман), Color Density (Плотность цвета), Translucency (Просвечивание) и Fluorescence (Флуоресценция).
Для создания материала Raytrace (Трассируемый) выполните следующие действия.
1. Щелкните на кнопке Type (Тип) в окне Material Editor (Редактор материалов) для вызова окна диалога Material/Map Browser (Окно выбора материалов и карт).
2. Выберите из списка материал Raytrace (Трассируемый). В результате откроется окно диалога, в котором необходимо указать: Discard old material? (Удалить старый материал?) или Keep old material as sub-material? (Оставить старый материал в качестве компонента?).
3. Щелкните на кнопке OK. В результате в области свитков окна Material Editor (Редактор материалов) появятся свитки с параметрами редактирования трассируемого материала Raytrañe Basic Parameters (Основные параметры трассируемого материала) (рис. 3.18), Extended Parameters (Дополнительные параметры), Raytracer Controls (Управление трассировкой) и SuperSampling (Сверхразрешение).
Свиток Raytrañe Basic Parameters (Основные параметры трассируемого материала) включает часть описанных ранее параметров для стандартного материала, поэтому остановимся только на тех, которые соответствуют материалу Raytrañe (Трассируемый).
В отличие от стандартного материала, поля образца цвета (за исключением цвета Diffuse (Цвет рассеивания)) могут переключаться между образцом цвета и счетчиком значения, варьирующегося в диапазоне от 0 до 100, что соответствует белому и черному цветам. Переключение производится с помощью установки или снятия флажка, находящегося рядом с образцом цвета. Параметр Ambient (Цвет подсветки) отличается от одноименной настройки стандартного материала. Для материала Raytrace (Трассируемый) значение подсветки характеризует степень восприятия подсветки трассируемым материалом. Установка белого цвета аналогична блокировке цветов Diffuse (Цвет рассеивания) и Ambient (Цвет подсветки) в стандартном материале.
Цвет Reflect (Отражение) управляет отражательной способностью материала. Белый материал будет соответствовать 100 % величины отражения, в то время как черный материал совсем не будет генерировать отражения. При использовании цвета, отличного от черно-белого, последний будет добавляться к отражениям, изменяя их цветовой тон.
Образец цвета Luminosity (Светимость), подобно параметру Self-Illumination (Собственное свечение) стандартного материала, вызывает эффект свечения материала цветом образца. Снятие флажка вызывает смену названия на Self-Illum (Собственное свечение) и появление счетчика для настройки собственного свечения в диапазоне от 0 до 100.
Параметр Transparency (Прозрачность) устанавливает фильтрацию цвета, проходящего через прозрачный материал (аналогичен комбинации Filter (Фильтрующий) и Opacity (Непрозрачность) стандартного материала). При использовании белого цвета материал полностью прозрачен и, наоборот, при черном – полностью непрозрачен.
В нижней части свитка Raytrañe Basic Parameters (Основные параметры трассируемого материала) располагаются параметры двух карт – Environment and Effects (Окружающая среда и эффекты) и Bump (Рельефность). Они также представлены в свитке Maps (Карты текстур):
■ Environment (Окружающая среда) – предназначена для замены карты текстуры окружающей среды, назначенной в окне диалога Environment (Окружающая среда); используется для формирования зеркального отражения и цвета прозрачности (карта окружающей среды видна только тогда, когда ее значение не равно 0);
■ Bump (Рельефность) – применяется в качестве карты выдавливания.
Свиток Extended Parameters (Дополнительные параметры) (рис. 3.19) содержит настройки специальных эффектов материала Raytrace (Трассируемый).
Рис. 3.18. Свиток Raytrace Basic Parameters (Основные параметры трассируемого материала)
Рис. 3.19. Свиток Extended Parameters (Дополнительные параметры)
Параметр Extra Lighting (Дополнительное освещение) усиливает эффект подсветки за счет рассеянного света другими объектами сцены. Используется для усиления влияния цвета соседних объектов, имитируя Radiosity (Диффузное отражение) (например, белая тарелка на синей скатерти приобретет голубоватый оттенок).
Настройка параметра Translucency (Просвечивание) позволяет свету проходить сквозь объект, представляя собой результат ненаправленного диффузного рассеивания. Этот эффект можно использовать, например, для имитации воска горящей свечи.
При помощи настройки параметра Fluorescence (Флуоресценция) можно задать эффект флуоресцентного свечения материала. Значение параметра Fluor. Bias (Флуоресцентное смещение) контролирует силу эффекта в диапазоне от 0 до 1.
Область Advanced Transparency (Улучшенная прозрачность) позволяет настроить эффекты прозрачности материала.
■ Transp. (Окружающая среда для прозрачности) – устанавливает карту окружающей среды применительно к эффекту преломления фона в прозрачном материале.
■ Density Color (Плотность цвета) и Density Fog (Плотность тумана) – однотипные параметры, позволяющие настроить свойства цвета в среде прозрачного объекта или тумана. Параметры Start (Начало) и End (Конец) задают ближнюю и дальнюю границы внутри объекта, а Amount (Величина) – величину силы эффекта. Данные настройки можно применять для создания эффекта дымчатого стекла.
В области Reflections (Отражения) можно настроить параметры отражений, указав тип эффекта отражения: Default (Исходный) или Additive (Суммарный). Значение параметра Gain (Поглощение) задает яркость зеркальных отражений в диапазоне от 0 до 1.
Свиток Raytracer Controls (Управление трассировкой) (рис. 3.20) позволяет оптимизировать алгоритм трассировки с целью уменьшения времени визуализации конечного изображения.
Рис. 3.20. Свиток Raytracer Controls (Управление трассировкой)
Область Local Options (Локальные параметры) содержит настройки, позволяющие управлять включением/выключением трассировки, – Enable Raytracing (Включить трассировку), атмосферных эффектов – Raytrace Atmospherics (Атмосферные эффекты трассировки), самоотражения и самопреломления материала – Enable Self Reflect/Refract (Включить самоотражение и самопреломление материала), а также отражением и преломлением применительно к каналам G-буфера (Reflect/Refract Material IDs (Отражение/преломление идентификатора материала)).
При помощи настроек области Raytracer Enable (Разрешить трассировку) можно разрешить или запретить преломления или отражения применительно к данному материалу.
Кнопка Local Exclude (Локальное исключение) служит для вызова окна, позволяющего указать объекты, которые не будут участвовать в обработке трассировщиком применительно к данному материалу.
Параметр Bump Map Effect (Действие карты рельефа) определяет степень влияния карты рельефа на трассируемые эффекты отражения и преломления.
Область Ray Antialiasing Globally (Сглаживание отражений и преломлений при трассировке) служит для включения сглаживания, а из раскрывающегося списка можно выбрать один из алгоритмов сглаживания.
Использование текстурных карт
Понятие о текстурных картах
Использование текстурных карт – еще один способ улучшения визуализации объектов. В 3ds Max текстурные карты представляют собой растровые изображения, назначаемые поверхностям объектов. Одни карты накладываются на объект как рисунок, другие (например, Bump (Рельефность) или Raytrace (Трассируемый)) – служат для изменения отображения поверхности, учитывая только интенсивность, считая конечные цвета оттенками серого.
Двенадцать каналов проецирования, расположенных в свитке Maps (Карты текстур) окна стандартного материала, являются отправными точками для совершенствования его вида. Можно манипулировать, комбинировать, ответвлять текстурные карты множеством способов, заставляя даже простые поверхности выглядеть сложными и насыщенными. Умелое применение текстурных карт может сделать модель предельно реалистичной.
Поскольку канал проецирования может ветвиться достаточно глубоко, способ интерпретации результатов ветвления изменяется в зависимости от различных каналов. Результат канала оценивается в цвете RGB и интенсивности оттенков серого.
Помните, что растровые карты, применяемые в каналах проецирования, дают значительную нагрузку на оперативную память. На один пиксел 24-разрядная карта цвета требует 3 байта памяти, то есть при разрешении 3072 x 2048 формата Kodak CD-ROM изображение будет использовать 25 Мбайт оперативной памяти. Если при этом растровая карта использует фильтрацию (а этот параметр применяется практически всегда), появляются дополнительные затраты – по 1 байту на пиксел при Pyramidal (Пирамидальная фильтрация) и 12 байт на пиксел при Summed Area (Площадное усреднение) фильтрации.
СОВЕТ
Для каналов, основанных на использовании интенсивности растровых изображений, таких как Self-Illumination (Собственное свечение), Opacity (Непрозрачность), Bump (Рельефность) и др., необходимо использовать карты в оттенках серого. Это позволит не только более правильно использовать канал проецирования, но и сократить на треть загрузку оперативной памяти.
Проекционные координаты
Проекционные координаты применяются для указания того, как будет отображаться на поверхности объекта карта текстуры. Они используют пространство координат UVW, где U – горизонтальное направление, V – вертикальное, а W – глубина. Координаты проецирования растровых карт UVW представляют пропорции соответствующих карт. В координатах UVW подсчитывается приращение растровой карты без ссылки на ее явные размеры.
Оси U и V пересекаются в центре растровой карты и определяют центр UV-координат. Центр координат является точкой, вокруг которой вращается карта при настройке значения параметра Angle (Угол) для типа карты Bitmap (Растровое изображение).
При моделировании почти все примитивы в свитке настроек Parameters (Параметры) содержат параметр Generate Mapping Coords. (Генерировать координаты проецирования), который присваивает объектам проекционные координаты. Например, для примитива Box (Параллелепипед) проекционные координаты присваиваются каждой грани.
Когда проецирование генерируется параметрически, мозаичность и ориентация настраиваются только при помощи параметров материала, назначенного поверхности. В качестве альтернативы может применяться модификатор UVW Map (UVW-проекция), использование которого предоставляет возможность независимого управления проекцией отображения, расположением, ориентацией и мозаичностью текстуры.
Присваивание и контроль над проекционными координатами осуществляется различными способами: от присваивания модификаторов, таких как UVW Map (UVW-проекция) или Unwrap UVW (Расправить UVW-проекцию), до использования подключаемых модулей и самостоятельных программ.
Как и большинство модификаторов 3ds Max, модификаторы проецирования оказывают влияние на все, что им передается в стеке модификаторов. Если активная выборка содержит грани, то проецирование присваивается только выборке подобъектов граней. Такая возможность позволяет смешивать типы проекций отображения и помещать отображение в нескольких местах одного и того же объекта.
Проецирование при помощи модификатора UVW Map (UVW-проекция)
Модификатор UVW Map (UVW-проекция) позволяет назначить объекту проекционные координаты для последующего наложения текстурных карт и управления их положением в пространстве.
Для присвоения объекту модификатора UVW Map (UVW-проекция) в любом окне проекции выделите объект, которому будет назначен модификатор. Выполните команду Modifiers ► UV Coordinates ► UVW Map (Модификаторы ► UV-координаты ► UVW-проекция). В результате в стек модификаторов добавится модификатор UVW Map (UVW-проекция), а в поле свитков появятся его настройки (рис. 3.21). В окнах проекций вокруг выделенного объекта появится оранжевый габаритный контейнер Гизмо, отображающий тип проецирования и его размеры.
Рис. 3.21. Свиток Parameters (Параметры) настроек модификатора UVW Map (UVW-проекция)
Рассмотрим основные настройки модификатора UVW Map (UVW-проекция).
■ В области Mapping (Проекция) представлены семь типов проецирования:
• Planar (Плоская) – применяется для проецирования растровых карт на плоские поверхности объектов;
• Cylindrical (Цилиндрическая) – используется для объектов, форма которых вписывается в цилиндр; текстурные координаты охватывают объект по форме цилиндра, замыкаясь в месте шва габаритного контейнера;
• Spherical (Сферическая) – габаритный контейнер охватывает объект в виде сферы; применяется для объектов круглой формы (мяч, шар, глобус);
• Shrink Wrap (Облегающая) – подобно сферическому проецированию, имеет габаритный контейнер в виде сферы, но при этом только одну точку соединения текстуры;
• Box (Прямоугольные трехмерные) – задает прямоугольное проецирование текстуры габаритным контейнером в форме параллелепипеда; лучше всего подходит для текстурирования объектов, имеющих форму коробки;
• Face (Грань) – проецирование происходит отдельно по каждой грани и может служить для создания повторяющегося узора на поверхности объекта;
• XYZ to UVW (XYZ в UVW) – применяется, когда необходимо одновременно изменять размеры процедурной карты и поверхности объекта.
■ С помощью параметров Length (Длина), Width (Ширина) и Height (Высота) можно установить необходимые размеры габаритного контейнера.
■ Параметры U Tile (Кратность по U), V Tile (Кратность по V) и W Tile (Кратность по W) задают количество повторений текстуры в пределах модели.
■ Область Channel (Канал) указывает канал проецирования для карты или цвета вершин (к одному объекту может быть применено до 99 типов проекционных координат).
■ Настройки области Alignment (Выравнивание) задают способ выравнивания для габаритного контейнера: Fit (Подогнать), Center (Центрировать), Bitmap Fit (Подогнать по текстуре), Normal Align (Выровнять нормаль), View Align (Выровнять по окну), Region Fit (Подогнать по области), Reset (Сбросить) и Acquire (Получить).
■ При помощи переключателя Display (Отображение) можно выбрать способ показа швов граней, отображаемых на уровне подобъектов Gizmo (Габаритный контейнер).
Двумерные карты текстур
Двумерные карты названы так из-за того, что они не имеют глубины (только координаты UV). Такие карты применяются для наложения на поверхность объектов или в качестве карт окружающей среды. Наиболее распространенными являются карты Bitmap (Растровое изображение), Checker (Шахматная текстура), Gradient Ramp (Усовершенствованный градиент) и Gradient Type (Тип градиента).
Bitmap (Растровое изображение)
Текстурная карта Bitmap (Растровое изображение) – наиболее применяемый тип текстуры. Растровая (или битовая) карта представляет собой файлы изображения, сохраненные в одном из форматов растровой графики. Программа 3ds Max поддерживает практически все популярные форматы. Чаще всего текстурная карта Bitmap (Растровое изображение) применяется для замещения цвета рассеивания или в качестве карты выдавливания.
Настройка параметров карты Bitmap (Растровое изображение) производится в следующих свитках окна Material Editor (Редактор материалов): Coordinates (Координаты), Noise (Шум), Bitmap Parameters (Параметры растрового изображения), Time (Время) и Output (Результат).
Свиток настроек Coordinates (Координаты) (рис. 3.22), аналогично области Mapping (Проекция) параметров модификатора UVW Map (UVW-проекция), применяется для задания способа отображения карты текстуры на поверхности объекта.
Рис. 3.22. Свиток Coordinates (Координаты) настроек карты Bitmap (Растровое изображение)
В нем вы можете настроить следующие параметры отображения.
■ В верхней части свитка установить переключатель в одно из двух положений: Texture (Текстура) или Environ (Фон) в зависимости от варианта проецирования. В первом случае текстура применяется для отображения на поверхности объекта, во втором – для имитации эффектов окружающей среды (отражения и преломления).
■ В зависимости от того, какой выбран вариант проецирования (Texture (Текстура) или Environ (Фон)), в раскрывающемся списке можно выбрать один из вариантов проекционных координат:
• при Texture (Текстура) – Explicit Map Channel (Явный канал карты), Vertex Color Channel (Канал цвета вершин), Planar from Object XYZ (Плоская локального объекта), Planar from World XYZ (Плоская глобального пространства);
• Environ (Фон) – Spherical Environment (Сферическая фоновая), Cylindrical Environment (Цилиндрическая фоновая), Shrink-wrap Environment (Обтягивающая фоновая) и Screen (Экранная).
■ Параметры Offset (Смещение) и Tiling (Кратность) задают величину смещения и количество повторений текстурной карты по осям U и V. При этом единицей смещения служит размер карты.
■ Установить или снять флажки Mirror (Зеркальное отображение) и Tile (Повторить) для зеркального отражения карты и изменения режима повторяемости.
■ При помощи параметра Angle (Угол) указать в градусах угол поворота карты по осям U, V и W. Щелкнув на кнопке Rotate (Вращение), повернуть карту интерактивно в появившемся окне Rotate Mapping Coordinates (Вращение проекционных координат).
■ При необходимости установить значение размытия карты, используя параметры Blur (Размытие) и Blur offset (Сдвиг размытия).
■ Установить переключатель в положение, соответствующее плоскости проецирования координат, – UV, VW или WU.
Свиток Noise (Шум) настроек карты Bitmap (Растровое изображение) позволяет вносить в текстурную карту некоторые элементы неоднородности для придания ей большей реалистичности (рис. 3.23).
Рис. 3.23. Свиток Noise (Шум) настроек карты Bitmap (Растровое изображение)
В свитке Noise (Шум) можно настроить следующие параметры:
■ установить флажок On (Включить) для включения режима искажения текстуры;
■ используя параметр Amount (Величина), задать величину воздействия шума на текстурную карту;
■ при помощи параметра Levels (Уровни) установить количество циклов алгоритма случайных искажений;
■ используя параметр Size (Размер), задать размер искажений;
■ установив флажок Animate (Анимация), включить режим анимации искажений;
■ задать при помощи параметра Phase (Фаза) скорость изменения фаз шума при анимации.
Свиток Bitmap Parameters (Параметры растрового изображения) настроек карты Bitmap (Растровое изображение) позволяет загрузить карту текстуры в состав материала и управлять параметрами ее отображения (рис. 3.24).
Рис. 3.24. Свиток Bitmap Parameters (Параметры растрового изображения) настроек карты Bitmap (Растровое изображение)
При помощи свитка Bitmap Parameters (Параметры растрового изображения) можно настроить следующие параметры.
■ При щелчке на кнопке рядом с Bitmap (Растровое изображение) в верхней части свитка откроется окно, с помощью которого можно выбрать файл растрового изображения с жесткого диска или другого носителя.
■ Переключатель Filtering (Фильтрация) имеет три положения:
• Pyramidal (Пирамидальная фильтрация) – такая фильтрация применяется для текстурных карт по умолчанию; при такой фильтрации на каждый пиксел текстурной карты требуется дополнительно 1 байт оперативной памяти;
• Summed Area (Площадное усреднение) – более качественный алгоритм сглаживания, требующий значительных затрат памяти – 12 байт на пиксел;
• None (Отсутствует) – без фильтрации.
■ Область Cropping/Placement (Обрезка/размещение) позволяет вырезать из растрового изображения часть, которая будет применяться для текстурирования. Для этого вызывается окно интерактивного редактора или значения задаются в соответствующих полях.
■ В области Mono Channel Output (Результат в моноканал) при необходимости можно указать, какие значения цветовых каналов будут использоваться: RGB Intensity (Интенсивность RGB) или Alpha (Альфа-канал).
■ Переключатель Alpha Source (Альфа-канал) содержит три положения: Image Alpha (Альфа-канал изображения), RGB Intensity (Интенсивность RGB) или None (Opaque) (Отсутствует (прозрачный)).
■ Переключатель RGB Channel Output (Выход в цвет) используется для указания формирования цвета растровой карты. Он может быть установлен в одно из двух положений:
• RGB – цвет будет воспроизводиться полностью;
• Alpha as Gray (Градации серого из альфа-канала) – альфа-канал будет отображаться градациями серого тона.
Свиток Time (Время) настроек карты Bitmap (Растровое изображение) позволяет задавать временные рамки и способ анимации текстурной карты (рис. 3.25).
Рис. 3.25. Свиток Time (Время) настроек карты Bitmap (Растровое изображение)
Свиток Time (Время) содержит следующие настройки:
■ Start Frame (Начальный кадр) – задает кадр, с которого начнется анимация текстуры;
■ Playback Rate (Темп воспроизведения) – устанавливает скорость воспроизведения анимации;
■ переключатель End Condition (Условие завершения) имеет три положения: Loop (Петля), Ping Pong (Вперед-назад) и Hold (Зафиксировать).
Свиток Output (Результат) настроек карты Bitmap (Растровое изображение) управляет выходным изображением текстурной карты (рис. 3.26).
Рис. 3.26. Свиток Output (Результат) настроек карты Bitmap (Растровое изображение)
Свиток Output (Результат) содержит следующие параметры:
■ Invert (Инвертировать) – изменяет цвета на противоположные, то есть получается негативное изображение;
■ Clamp (Ограничить яркость) – ограничивает яркость цветовых отсчетов при настройке параметра RGB Level (Уровень RGB);
■ Output Amount (Выходное значение) – задает долю карты в составе материала;
■ RGB Level (Уровень RGB) – управляет насыщенностью цвета текстурной карты;
■ Bump Amount (Величина рельефа) – позволяет усилить профиль рельефа выдавливания при использовании текстурной карты в канале Bump (Рельефность).
Checker (Шахматная текстура)
Процедурная карта Checker (Шахматная текстура) представляет собой узор в виде шахматного поля, состоящего из двух настраиваемых цветов.
Кроме рассмотренных ранее свитков Coordinates (Координаты) и Noise (Шум), карта Checker (Шахматная текстура) содержит дополнительный свиток Checker Parameters (Параметры шахматной текстуры) (рис. 3.27).
Рис. 3.27. Свиток Checker Parameters (Параметры шахматной текстуры) настроек карты Checker (Шахматная текстура)
Для настройки параметров карты Checker (Шахматная текстура) выполните следующие действия.
1. При помощи параметра Soften (Размытие) укажите значение размытия границы между соседними клетками разных цветов.
2. При необходимости измените цвет клеток, щелкнув на образце цвета и настроив его в окне Color Selector (Выбор цвета).
3. Чтобы вместо цвета использовать карту текстуры, щелкните на одной из кнопок под надписью Maps (Карты текстур) и в появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка необходимую карту.
4. Щелкнув на кнопке Swap (Поменять), поменяйте при необходимости местами цвета или карты текстур шахматного поля.
Gradient Ramp (Усовершенствованный градиент)
Процедурная карта Gradient Ramp (Усовершенствованный градиент) позволяет использовать произвольное количество цветов для настройки градиента.
Кроме рассмотренных ранее свитков, общих для многих текстурных карт, Gradient Ramp (Усовершенствованный градиент) содержит свиток Gradient Ramp Parameters (Параметры усовершенствованного градиента) (рис. 3.28).
Рис. 3.28. Свиток Gradient Ramp Parameters (Параметры усовершенствованного градиента) настроек карты Gradient Ramp (Усовершенствованный градиент)
Для настройки параметров карты Gradient Ramp (Усовершенствованный градиент) выполните следующие действия.
1. В верхней части свитка настройте отображение цветов градиента на цветовой шкале. Для этого дважды щелкните на требуемом ползунке, чтобы вызвать окно диалога Color Selector (Выбор цвета). Для создания нового ползунка щелкните на поле цвета и переместите ползунок в нужное место. Для удаления – перетащите ползунок в правый угол и после появления значка корзины отпустите кнопку мыши.
2. В раскрывающемся списке Gradient Type (Тип градиента) выберите один из типов градиента, а в списке Inter– polation (Интерполяция) – один из шести вариантов перетекания цвета между соседними ползунками цветовой шкалы.
3. Область Noise (Шум) позволяет внести искажения в градиентную заливку. Вы можете выбрать один из трех алгоритмов генерации шума: Regular (Повторяющийся), Fractal (Фрактальный) или Turbulence (Турбулентный).
4. Задайте величину и размер шума градиентной текстуры с помощью параметров Amount (Величина) и Size (Размер).
Трехмерные карты текстур
Трехмерные карты текстур – это процедурные карты, которые генерируются программно и используют в просчетах три измерения: U, V и W.
В отличие от растровых изображений, процедурные карты требуют значительно меньше оперативной памяти, но увеличивают время расчетов при конечной визуализации сцены.
К данному типу относятся Cellular (Ячейки), Dent (Вмятины), Falloff (Спад), Noise (Шум), Smoke (Дым), Stucco (Штукатурка), Waves (Волны), Wood (Дерево) и др.
Dent (Вмятины)
Процедурная карта Dent (Вмятины) позволяет создать на поверхности объектов случайные пятна и вмятины. Может применяться для создания шероховатых и помятых поверхностей.
Кроме свитка Coordinates (Координаты), рассмотренного ранее, карта Dent (Вмятины) содержит свиток Dent Parameters (Параметры вмятин) (рис. 3.29).
Рис. 3.29. Свиток Dent Parameters (Параметры вмятин) настроек карты Dent (Вмятины)
Для настройки параметров карты Dent (Вмятины) выполните следующие действия.
1. Используя параметр Size (Размер), установите относительный размер пятен.
2. При помощи параметра Strength (Сила воздействия) задайте количество пятен, которое будет отображаться на поверхности материала.
3. Используя параметр Iterations (Количество итераций), укажите количество итераций фрактального алгоритма расчета пятен.
4. При необходимости измените цвет пятен, щелкнув на образце цвета и настроив его в окне Color Selector (Выбор цвета).
5. Чтобы вместо цвета использовать карту текстуры, щелкните на кнопке в области Maps (Карты текстур) и в появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка необходимую карту.
6. Щелкнув на кнопке Swap (Поменять), при необходимости поменяйте местами цвета или карты текстур.
Falloff (Спад)
Процедурная карта Falloff (Спад) чаще всего применяется для материалов, имеющих прозрачность или отражения, для задания неоднородности проявления этих эффектов.
Управление параметрами карты осуществляется с помощью свитков Falloff Parameters (Параметры спада) (рис. 3.30), а также Mix Curve (Кривая смешивания) и Output (Результат), рассмотренного выше.
Рис. 3.30. Свиток Falloff Parameters (Параметры спада) настроек карты Falloff (Спад)
Для настройки карты Falloff (Спад) выполните следующие действия.
1. В раскрывающемся списке Falloff Type (Тип спада) выберите один из пяти типов спада: Toward/Away (На наблюдателя/от наблюдателя), Perpendicular/ Parallel (Перпендикулярно/параллельно), Fresnel (По Френелю), Shadow/ Light (Тень/свет) и Distance Blend (Расстояние смешивания).
2. При необходимости измените цвет составляющих спада, щелкнув на образце цвета и настроив его в окне Color Selector (Выбор цвета).
3. В полях рядом с образцом цвета установите значение величины участия каждой составляющей в конечном расчете.
4. При необходимости замените цвета картами текстур. Для этого щелкните на кнопке с надписью None (Отсутствует) и в появившемся окне диалога Material/Map Browser (Окно выбора материалов и карт) выберите необходимую карту.
5. Настройте дополнительные параметры, вызываемые отдельными типами спада, в нижней части окна.
В свитке Mix Curve (Кривая смешивания) (рис. 3.31) можно вручную настроить кривую, характеризующую параметр смешивания двух составляющих карты Falloff (Спад). Данная кривая часто применяется для управления спадом прозрачности на краях стеклянных объектов.
Рис. 3.31. Свиток Mix Curve (Кривая смешивания) настроек карты Falloff (Спад)
Noise (Шум)
Текстурная карта Noise (Шум) позволяет генерировать бесконечно большие случайные переходы (шум) между двумя цветами или материалами. Применение этой карты в каналах Diffuse (Цвет рассеивания), Ambient (Цвет подсветки) и Bump (Рельефность) позволяет повысить реалистичность моделей за счет создания неоднородности материала.
Настройки карты Noise (Шум) находятся на трех свитках: Coordinates (Координаты), Output (Результат) (рассмотрены выше) и Noise Parameters (Параметры шума) (рис. 3.32).
Рис. 3.32. Свиток Noise Parameters (Параметры шума) настроек карты Noise (Шум)
Для настройки параметров карты Noise (Шум) выполните следующие действия.
1. Установите переключатель, задающий тип генерации случайного шума, в одно из положений: Regular (Повторяющийся), Fractal (Фрактальный) или Turbulence (Турбулентный).
2. При помощи параметров High (Верхнее значение) и Low (Нижнее значение) области Noise Threshold (Порог уровня шума) задайте верхнее и нижнее пороговые значения, при которых изменяется уровень краевых сглаживаний цветовых пятен.
3. Используя параметр Levels (Уровни), задайте значение плотности цветовых пятен для фрактального и турбулентного типов генерации шума.
4. В поле Phase (Фаза) установите значение скорости изменения фаз шума во время анимации.
5. С помощью параметра Size (Размер) определите размер цветовых пятен на поверхности материала.
6. При необходимости измените цвет составляющих карты шума, щелкнув на образце цвета и настроив его в появившемся окне Color Selector (Выбор цвета).
7. В области Maps (Карты текстур) при желании можно заменить цвета картами текстур. Для этого щелкните на кнопке с надписью None (Отсутствует) и в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите необходимую карту.
Stucco (Штукатурка)
Текстурная карта Stucco (Штукатурка), подобно карте Noise (Шум), позволяет создавать на поверхности материала неровности. Однако эти неровности имеют по сравнению с Noise (Шум) другую структуру, напоминающую оштукатуренную поверхность или кожуру цитрусовых.
Параметры текстуры Stucco (Штукатурка) содержатся в двух свитках: Coordinates (Координаты) и Stucco Parameters (Параметры штукатурки) (рис. 3.33).
Рис. 3.33. Свиток Stucco Parameters (Параметры штукатурки) настроек карты Stucco (Штукатурка)
Для настройки параметров текстуры Stucco (Штукатурка) выполните следующие действия.
1. При помощи параметра Size (Размер) укажите размер неровностей.
2. Используя параметр Thickness (Толщина), задайте степень размытия границы цветовых составляющих.
3. С помощью параметра Threshold (Порог) настройте долю участия каждого цвета в итоговой составляющей материала.
Параметры и назначение цветов и кнопок области Maps (Карты текстур) аналогичны рассмотренным ранее.
Составные карты текстур
Составные карты текстур предназначены для объединения нескольких текстур в одну новую сложную текстуру. К таким картам относятся Composite (Составная), Mask (Маска), Mix (Смешивание) и RGB Multiply (RGB-умножение).
Рассмотрим некоторые типы составных карт.
Composite (Составная)
Составная текстура Composite (Составная) образуется путем смешивания двух и более текстурных карт при помощи прозрачности с альфа-каналом и без него.
Для настройки карты используются параметры свитка Composite Parameters (Параметры составной) (рис. 3.34).
Рис. 3.34. Свиток Composite Parameters (Параметры составной) настроек карты Composite (Составная)
Для задания количества компонентов карты Composite (Составная) щелкните на кнопке Set Number (Установить количество) и в открывшемся окне Set Number of Maps (Установить количество текстурных карт) введите требуемое значение.
Для выбора текстуры щелкните на кнопке с надписью None (Отсутствует) и в появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите необходимую карту. При желании можно выключать карту из просчетов, сняв флажок, установленный напротив ее названия.
Mask (Маска)
Составная текстурная карта Mask (Маска) позволяет перекрывать часть одной текстуры за счет другой. Белые области карты маски позволяют видеть исходный образ, черные области блокируют его, а серые области обеспечивают пропорциональную видимость.
Настройка карты Mask (Маска) осуществляется с помощью единственного свитка параметров Mask Parameters (Параметры маски) (рис. 3.35).
Рис. 3.35. Свиток Mask Parameters (Параметры маски) настроек карты Mask (Маска)
Настройте компонент Map (Карта текстуры). Для этого щелкните на кнопке None (Отсутствует) и выберите его из списка открывшегося окна Material/Map Browser (Окно выбора материалов и карт). Эта карта станет той текстурой, которая будет видна на материале.
Для выбора карты маски, которая скроет все лишнее, щелкните на кнопке рядом с надписью Mask (Маска). Действие маски основано на том, что все черные пикселы изображения считаются прозрачными, а все белые – непрозрачными. Градации серого интерполируются между полной прозрачностью и непрозрачностью.
Флажок Invert Mask (Инвертировать маску) позволяет поменять местами прозрачные и непрозрачные области изображения.
Mix (Смешивание)
Составная текстурная карта Mix (Смешивание) позволяет смешивать два цвета или две текстуры при помощи третьей текстуры, выступающей в роли маски, или используя процентное соотношение каждого компонента в итоговом материале.
Для настройки карты Mix (Смешивание) используется свиток Mix Parameters (Параметры смешивания) (рис. 3.36).
Рис. 3.36. Свиток Mix Parameters (Параметры смешивания) настроек карты Mix (Смешивание)
Параметры Color #1 (Цвет 1) и Color #2 (Цвет 2) задают цвет компонентов карты. При необходимости в области Maps (Карты текстур) можно выбрать две карты текстур для основного цвета и третью карту, которая будет играть роль маски для смешивания двух первых.
Параметр Mix Amount (Доля в смеси) определяет долю каждой карты в итоговом изображении.
Область Mixing curve (Кривая смешивания) позволяет управлять кривой смешивания двух карт.
Глава 4 Анимация в среде 3ds Max 2008
• Анимация с использованием ключевых кадров
• Использование контроллеров и выражений
• Анимация частиц
Анимацию можно представить как последовательность сменяющих друг друга изображений. В среде 3ds Max 2008 практически каждый объект и почти все его параметры можно анимировать. Анимации могут подвергаться не только объекты и их параметры, но и модификаторы, материалы, контроллеры и многое другое.
В данной главе вы познакомитесь с основами создания анимации и инструментами управления ее параметрами. Базовые знания, полученные в этой главе, пригодятся вам для работы с упражнениями, представленными во второй части данного издания, и для создания собственных анимационных роликов.
Анимация с использованием ключевых кадров
Анимация с использованием ключевых кадров является базовой. Она позволяет понять принцип работы всего механизма создания движущихся образов. Как уже говорилось выше, почти любой параметр объекта (объектами в 3ds Max являются не только параметрические объекты, но и камеры, источники света, модификаторы и даже материалы), имеющий численное значение, можно сделать ключевым, то есть анимировать.
Суть использования ключевых кадров заключается в создании ключей анимации для начального и конечного положения объекта, при этом состояние объекта в промежуточных стадиях просчитывает компьютер.
Рассмотрим некоторые термины, которыми мы будем оперировать в дальнейшем.
■ Ключ (Key) – маркер, задающий значения анимируемых параметров в определенный момент.
■ Ключевой кадр (Keyframe) – кадр, содержащий ключ анимации.
■ Автоключ (Auto Key) – функция, отслеживающая изменения анимируемых параметров объекта и позволяющая автоматически создавать ключевой кадр.
■ Ползунок таймера анимации – элемент интерфейса программы, дающий возможность вручную устанавливать текущий кадр анимации, переходить к предыдущему или следующему кадру, а также создавать ключевые кадры для параметров положения, масштабирования и поворота.
■ Строка треков (Track Bar) – элемент интерфейса, позволяющий получить быстрый доступ к ключам выделенного объекта.
■ Кривая функции (Function Curve), или анимационная кривая, – графически отображает значения анимации в ключах и интерполированные значения между ключами. Настраивается редактированием положения манипуляторов Безье в окне Track View – Curve Editor (Просмотр треков – редактор кривых).
Прежде чем вы выполните свою первую анимацию, давайте рассмотрим инструменты создания анимации методом ключевых кадров и управления анимацией, представленные в программе 3ds Max.
Средства управления анимацией сосредоточены в нижнем правом углу окна программы и, кроме указанной группы, включают в себя ползунок таймера, расположенный над строкой треков. Средства управления анимацией состоят из следующих кнопок управления.
Go to Start (Перейти в начало) – делает первый кадр анимации текущим.
Previous Frame (Предыдущий кадр) – выполняет переход к предыдущему кадру анимации.
Play Animation (Воспроизвести анимацию) – запускает воспроизведение анимации в активном окне проекции. После запуска анимации кнопка меняется на Stop Animation (Остановить анимацию), щелчок на которой прекращает воспроизведение анимации.
Next Frame (Следующий кадр) – выполняет переход к следующему кадру анимации.
Go to End (Перейти в конец) – делает последний кадр анимации текущим.
Key Mode Toggle (Режим ключей) – переходит в режим отслеживания ключей анимации. При этом кнопки Previous Frame (Предыдущий кадр) и Next Frame (Следующий кадр) изменяются на Previous Key (Предыдущий ключ) и Next Key (Следующий ключ). Щелчок на одной из этих кнопок позволяет перейти к следующему или предыдущему ключу анимации выделенного объекта.
Current Frame (Текущий кадр) – отображает номер текущего кадра. Кроме того, если в поле счетчика ввести требуемый номер кадра или время, то можно быстро перейти к этому кадру.
Time Configuration (Настройка временных интервалов) – вызывает одноименное окно, позволяющее задавать временные диапазоны, характер отображения времени, а также частоту кадров в секунду (fps).
Создать анимацию с использованием ключевых кадров можно различными способами. Самый простой – автоматическая запись ключей анимации. Для этого применяются средства создания анимации, расположенные слева от рассмотренных выше кнопок управления анимацией. В эту группу входят следующие кнопки.
Set Keys (Установить ключи) – создает ключ анимации для выделенного объекта в текущем кадре. В отличие от автоматического создания ключей с использованием кнопки Auto Key (Автоключ), вы можете контролировать то, какие именно ключи буду созданы (это задается при помощи фильтра Set Key Filters (Установить фильтры ключа)). Для использования этого режима должна быть нажата кнопка Toggle Set Key Mode (Переключатель режима установки ключей).
Toggle Auto Key Mode (Переключатель режима автоматической записи ключей) – включает/выключает режим автоматического создания ключей анимации для выделенного объекта сцены в текущем кадре. В этом режиме записываются любые трансформации (перемещение, поворот, масштабирование), а также параметры, которые в принципе можно анимировать. При нажатии кнопки автоматической записи ключей будьте внимательны, так как можно случайно записать ненужные ключи. Не забывайте сразу же после записи необходимой анимации отключать режим автоматической записи ключей, повторно нажав кнопку Toggle Auto Key Mode (Переключатель режима автоматической записи ключей).
Selection Sets drop-down list (Список именованных выделений) —
раскрывает список с именованными выделениями, созданными при помощи Named Selection Sets (Название выделенной области), к которым будут применяться ключи анимации. По умолчанию анимация применяется только к выделенным объектам.
Toggle Set Key Mode (Переключатель режима установки ключей) – включает либо выключает режим, при котором будут записываться только те ключи, которые указаны в окне Set Key Filters (Установить фильтры ключа).
Default In/Out Tangents for New Keys (Исходный тип касательных) – задает исходный тип касательных в ключах, которые строятся при помощи автоматической записи ключей анимации.
Open Filters Dialog (Открыть окно фильтров ключа) – щелчок на этой кнопке вызывает окно Set Key Filters (Установить фильтры ключа), позволяющее включить или выключить треки, которые будут анимироваться.
Рассмотрим создание простейшей анимации с использованием ключевых кадров. Для этого сделайте следующее.
1. В окне проекции Top (Сверху) создайте параметрический объект Plane (Плоскость), для чего выполните команду главного меню Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость).
2. Перейдите на вкладку Modify (Изменение) командной панели и в свитке Parameters (Параметры) установите значение параметра Length (Длина) равным 120, а Width (Ширина) – 500.
3. Используя окно проекции Top (Сверху), создайте в левой части плоскости объект Sphere (Сфера), для чего выполните команду главного меню Create ► Standard Primitives ► Sphere (Создание ► Простые примитивы ► Сфера).
4. Перейдите на вкладку Modify (Изменение) командной панели. Затем в свитке Parameters (Параметры) настроек сферы задайте параметру Radius (Радиус) значение, равное 10, а также установите флажок Base To Pivot (Точка опоры внизу).
5. Щелкните правой кнопкой мыши на значке Select and Move (Выделить и переместить)
на панели инструментов и в области Absolute:World (Абсолютные: глобальные) открывшегося окна Move Transform Type-In (Ввод данных преобразования перемещения) задайте параметру Z значение, равное 100 (рис. 4.1).
Рис. 4.1. Окно Move Transform Type-In (Ввод данных преобразования перемещения) с параметрами положения сферы
6. Активизируйте запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ), расположенной в правой нижней части окна программы. В результате кнопка выделится цветом
указывая на то, что находится в активном состоянии.
7. Передвиньте ползунок таймера анимации на 20 кадр.
8. Снова откройте окно Move Transform Type-In (Ввод данных преобразования перемещения), щелкнув правой кнопкой мыши на кнопке Select and Move (Выделить и переместить)
на панели инструментов, и параметру Z области Absolute:World (Абсолютные: глобальные) задайте новое значение, равное 0. В результате в строке треков появятся два ключевых кадра: один в нулевом, другой в 20 кадре активного временного сегмента.
9. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
10. Нажмите кнопку Play Animation (Воспроизвести анимацию)
чтобы увидеть выполненную анимацию в активном окне проекции.
После выполнения вышеописанных действий вы увидите, как сфера начнет падать по прямой с высоты 100 мм, начиная с нулевого кадра (активный кадр по умолчанию) до 20 кадра, то есть до нулевого значения по вертикали (по оси Z) (рис. 4.2). Такое движение обусловлено автоматически созданными ключевыми кадрами и расчетом интерполяции движения между ними.
Рис. 4.2. Положение объекта Sphere (Сфера) в 10 кадре анимации и траектория его движения
Созданные ключи анимации можно редактировать: изменять анимированные настройки или изменять положение ключей в строке треков. Проще всего редактировать с помощью контекстного меню, которое можно вызвать щелчком правой кнопки мыши на ключе анимации (рис. 4.3).
Рис. 4.3. Контекстное меню, вызванное щелчком правой кнопкой мыши на ключе в 20 кадре анимации
Используя это контекстное меню, вы можете не только редактировать положение объекта в пространстве, но и удалять созданные ранее ключи, фильтровать их по различным признакам, получать доступ к свойствам присвоенного контроллера и конфигурации строки треков.
При автоматическом создании ключей анимации программа использует для интерполяции в начальном и конечном кадрах значения Безье. На практике это выглядит как плавное начало движения и постепенное затухание к концу анимации. Часто такие значения подходят, и их можно оставлять как есть. Однако если мы, например, анимируем подброшенный вверх мячик, то, поднимаясь вверх, он будет замедлять движение, пока не остановится, а затем начнет падать, постепенно ускоряясь, пока не достигнет земли. Представим, что описанная выше сфера – это тот самый мяч. В этом случае необходимо скорректировать функциональную кривую анимации так, чтобы, падая, мяч приобретал ускорение. Для этого нужно отредактировать 20 ключ анимации следующим образом.
1. Щелкните правой кнопкой мыши на 20 ключе анимации и в появившемся контекстном меню выберите строку Sphere01: Z Position (Сфера01: положение по оси Z).
2. В одноименном открывшемся окне щелкните на кнопке In (Вход) и выберите из раскрывшегося списка быстрое управление сглаживанием сегментов сплайна Безье
(рис. 4.4).
Рис. 4.4. Выбор кнопки быстрого управления функциональной кривой анимации
3. Протестируйте выполненную анимацию, щелкнув на кнопке Play Animation (Воспроизвести анимацию)
Выполнив эти несложные настройки кривой анимации, мы сделали так, что, падая, мяч будет постоянно ускоряться, пока не достигнет плоскости.
При реальном столкновении с плоскостью мяч деформируется, а затем, распрямляясь, отскочит вверх. Чтобы показать деформацию мяча, воспользуемся модификатором FFD FFD 2x2x2 (Произвольная деформация 2x2x2), анимировав его контрольные точки (Control Points). Для этого выполните следующие действия.
1. В любом из окон проекций выделите построенную ранее сферу.
2. Примените к ней модификатор FFD 2x2x2 (Произвольная деформация 2x2x2), выполнив команду главного меню Modifiers ► Free Form Deformers ► FFD 2x2x2 (Модификаторы ► Произвольные деформации ► Произвольная деформация 2x2x2).
3. Перейдите на вкладку Modify (Изменение) командной панели и в стеке модификаторов щелкните на плюсике рядом со строкой FFD 2x2x2 (Произвольная деформация 2x2x2) для доступа к уровню подобъектов. Активизируйте строку Control Points (Контрольные точки) (рис. 4.5).
4. Активизируйте запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ)
5. Передвиньте ползунок таймера анимации на 22 кадр.
6. На главной панели инструментов активизируйте инструмент перемещения, щелкнув на значке Select and Move (Выделить и переместить)
7. В окне проекции Front (Спереди) выделите верхний ряд контрольных точек контейнера деформации и переместите их вниз на 3 мм (рис. 4.6).
Рис. 4.5. Стек модификаторов объекта Sphere01
Рис. 4.6. Сфера, деформированная при помощи контрольных точек модификатора FFD 2x2x2 (Произвольная деформация 2x2x2)
Таким образом, у нас получилось, что сфера как будто деформировалась от столкновения с поверхностью.
ПРИМЕЧАНИЕ
В реальной жизни форма мяча при столкновении окажется несколько иной. При столкновении с поверхностью будет больше деформироваться та часть мяча, которая с ней взаимодействует. Чтобы воспроизвести это, нам понадобилось бы строить дополнительные ряды контрольных точек или использовать плавное выделение (Soft Selection) подобъектов сферы. Однако мы рассматриваем создание простой анимации и не ставим такой задачи. При желании вы можете повысить реалистичность анимации, воспользовавшись модификатором FFD (Box) (Произвольно деформируемый контейнер (прямоугольный)).
Итак, построенная деформация больше похожа на применяемую в анимационных роликах. Давайте усилим это восприятие, создав анимацию деформации мяча во время падения. Для этого продолжим создавать ключевые кадры.
1. Передвиньте ползунок таймера анимации в 18 кадр.
2. Используя инструмент Select and Move (Выделить и переместить), переместите верхний ряд контрольных точек по оси Z вверх на 6 мм.
3. На главной панели инструментов щелкните на значке Select and Uniform Scale (Выделить и равномерно масштабировать)
и масштабируйте выделенные контрольные точки на 80 % (рис. 4.7).
Рис. 4.7. Положение контрольных точек в 18 кадре анимации
4. Выключите запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ).
5. Проверьте созданную анимацию. Мяч должен деформироваться, вытягиваясь во время полета, а при падении на плоскость – сплющиваться.
6. Чтобы закончить создание полной фазы движения мяча, необходимо выполнить анимацию отскока. Это можно сделать при помощи копирования и редактирования построенных ранее ключей. Выделите в строке треков ключ, расположенный в нулевом кадре, и, удерживая нажатой клавишу Shift, передвиньте ключ в 40 кадр анимации. Таким образом, будет создана копия ключа анимации первого кадра.
СОВЕТ
При смещении или копировании ключей анимации удобно контролировать действия, используя информацию в строке подсказки, расположенной ниже строки треков. Там указываются начальный кадр положения ключа, текущий кадр и его смещение.
Если сейчас воспроизвести анимацию, то можно заметить, что мяч в 40 кадре возвращается в исходное положение, соответствующее нулевому кадру, но на участке между 20 и 28 кадром мяч опускается ниже поверхности «земли» (объекта Plane01). Такое положение обусловлено применением автоматического сглаживания в ключах анимации, о котором говорилось ранее. Продолжим настройку ключей и скорректируем движение мяча во время отскока.
1. Для настройки параметров ключа в 20 кадре щелкните на нем правой кнопкой мыши и в появившемся контекстном меню (см. рис. 4.3) выберите строку Sphere01: Z Position (Сфера01: положение по оси Z).
2. В появившемся одноименном окне щелкните на кнопке Out (Выход) и выберите из раскрывшегося списка скачкообразное управление сглаживанием сегментов сплайна Безье
(рис. 4.8).
Рис. 4.8. Выбор кнопки скачкообразного управления функциональной кривой анимации
После выполненной настройки мяч больше не проваливается, но вместе с тем потерял способность отскакивать от поверхности. Чтобы это исправить, сделайте следующее.
1. Выделите ключ, расположенный в нулевом кадре, и, удерживая нажатой клавишу Shift, скопируйте его в 24 кадр.
2. Подкорректируйте значение построенного ключа по оси Z. Для этого, используя контекстное меню, откройте окно Sphere01: Z Position (Сфера01: положение по оси Z) и задайте параметру Value (Значение) значение 0.
СОВЕТ
Для обнуления значения любого счетчика достаточно щелкнуть правой кнопкой мыши на стрелках, расположенных справа.
3. Задайте другой вариант сглаживания функциональной кривой, установив для кнопки In (Вход) скачкообразное управление
а для кнопки Out (Выход) – быстрое управление сглаживанием сегментов сплайна Безье
(рис. 4.9).
Рис. 4.9. Окно Sphere01: Z Position (Сфера01: положение по оси Z) с параметрами ключа в 24 кадре анимации
4. Проверьте выполненную анимацию, запустив ее воспроизведение в активном окне проекции при помощи кнопки Play Animation (Воспроизвести анимацию)
При желании вы можете самостоятельно подкорректировать контрольные точки модификатора FFD 2x2x2 (Произвольная деформация 2x2x2) после отскока мяча, усилив анимационный эффект. Для этого в 30 кадре анимации выделите нижний ряд контрольных точек и масштабируйте их на 80 %. Выполнив эти действия, не забудьте внести соответствующие изменения в предыдущий и последующий кадры.
Таким образом, обозначив начальное и конечное положения объекта в пространстве, создав ключи анимации для сферы, а также ключи для положения контрольных точек контейнера деформации, мы построили простую анимацию.
Создавать и редактировать ключи анимации можно не только автоматически, используя кнопку Auto Key (Автоключ), но и при помощи окна Track View (Просмотр треков). Это окно является основным инструментом редактирования любых параметров ключей анимации. Его можно вызвать командой главного меню Graph Editors ► New Track View (Графические редакторы ► Новое окно просмотра треков) либо щелчком на значке главной панели инструментов Curve Editor (Open) (Редактор кривых (открыть)). В зависимости от решаемых задач окно Track View (Просмотр треков) может быть представлено в двух режимах: Dope Sheet (Таблица структуры) и Curve Editor (Редактор кривых). Окно Track View – Dope Sheet (Просмотр треков – таблица структуры), показанное на рис. 4.10, разделено на две части: в левой расположен иерархический список анимируемых объектов вместе с их параметрами, а в правой можно редактировать треки.
Окно Track View – Dope Sheet (Просмотр треков – таблица структуры) имеет два основных режима редактирования анимации: Edit Keys (Редактирование ключей) и Edit Range (Редактирование диапазонов). На рис. 4.10 окно Track View – Dope Sheet (Просмотр треков – таблица структуры) представлено в режиме Edit Keys (Редактирование ключей).
Рассмотрим элементы интерфейса окна Track View (Просмотр треков), общие для каждого из режимов редактирования.
Прежде всего обратимся к иерархическому списку объектов сцены. Корневым объектом этого списка является World (Мир), которому подчиняются следующие ветви.
■ Sound (Звук) – содержит данные, связанные со звуком; доступны два типа звуков: метроном и аудиофайл формата WAV.
■ Video Post (Видеомонтаж) – позволяет управлять анимированными параметрами модуля Video Post (Видеомонтаж).
Рис. 4.10. Окно Track View – Dope Sheet (Просмотр треков – таблица структуры)
■ Global Tracks (Общие треки) – треки этой ветви позволяют задавать параметры, общие для объектов сцены.
■ Biped (Двуногий) – дает возможность настраивать ключевые кадры, относящиеся к двуногому существу, редактировать следы двуногого и уточнять периоды свободного положения.
■ Anim Layer Control Manager (Управление анимированными слоями) – ветвь, позволяющая управлять анимированными слоями, добавляемыми поверх оригинальной анимации.
■ Environment (Внешняя среда) – ветвь с элементами анимации, ассоциированными с внешней средой.
■ Render Effects (Эффекты визуализации) – содержит треки для эффектов, добавленных в сцену при помощи команды Rendering ► Effects (Визуализация ► Эффекты). После добавления эффектов визуализации можно использовать данные треки для анимации таких параметров, как цвет или размер области свечения.
■ Render Elements (Визуализация элементов) – показывает то, какие дополнительные элементы выбраны с использованием вкладки Render Elements (Визуализация элементов) окна Render Scene (Визуализация сцены).
■ Renderer (Визуализатор) – позволяет анимировать параметры в настройках визуализатора. Например, вы можете анимировать параметр сглаживания текстуры.
■ Global Shadow Parameters (Общие параметры теней) – содержит параметры, общие для источников света, отбрасывающих тени.
■ Scene Materials (Материалы сцены) – включает в себя параметры всех материалов, используемых в сцене.
■ Medit Materials (Материалы редактора) – содержит параметры 24 материалов, представленных в окне редактора материалов.
■ Objects (Объекты) – включает в себя сцены и их анимируемые параметры. Данная ветвь показывает иерархию связей, подобно окну Select Objects (Выбор объектов).
В верхней части окна Track View (Просмотр треков) располагаются панель инструментов с кнопками управления и настройки ключей анимации. В зависимости от режима отображения на панели могут размещаться различные наборы кнопок. Общими для всех режимов являются следующие кнопки.
Filters (Фильтры) – открывает одноименное окно для выбора объектов, которые будут отображаться в окне просмотра треков.
Move Keys (Переместить ключи) – перемещает выбранный ключ (или ключи) во времени. Если передвигать ключ с нажатой клавишей Shift, то он будет скопирован.
Slide Keys (Переместить ключи) – перемещает во времени выбранные ключи, а также ключи, которые расположены со стороны направления смещения, то есть при этом сохраняются расстояния между ключами.
Add Keys (Добавить ключи) – добавляет ключи анимации к любому треку.
Scale Keys (Масштабировать ключи) – пропорционально масштабирует время, относящееся к выбранным ключам анимации относительно текущего кадра анимации.
Lock Selection (Блокировать ключи) – блокирует выбранные ключи для последующей работы с выделением. Аналогично действию клавиши Пробел для объектов сцены.
Snap Frames (Привязать к кадру) – в процессе редактирования треков привязывает ключи анимации к отдельным кадрам.
Show Keyable Icons (Показать анимацию значком) – в окне иерархического списка отмечает анимированные параметры значком с изображением ключа.
В нижней части окна диалога появились три новые кнопки, относящиеся к выбору объектов для отображения.
Filter – Selected Tracks Toggle (Фильтр – переключатель выделенных треков) – позволяет отображать только те пункты иерархического списка, которые перед нажатием данной кнопки были выделены.
Filter – Selected Objects Toggle (Фильтр – переключатель выделенных объектов) – показывает только те пункты иерархического списка, которые относятся к выделенным объектам сцены.
Filter – Animated Tracks Toggle (Фильтр – переключатель анимированных треков) – отображаются только те треки, которые содержат анимацию.
Дополнительными кнопками режима Dope Sheet (Таблица структуры) являются следующие.
Edit Keys (Редактировать ключи) – включает режим редактирования ключей с использованием числовых значений или положения этих ключей на шкале времени.
Edit Ranges (Редактировать диапазоны) – активизирует режим правки диапазонов, позволяющий быстрое редактирование диапазона действия, который ограничен белыми маркерами.
Select Time (Выделить временной диапазон) – включает режим выделения временного сегмента на текущем треке.
Delete Time (Удалить временной диапазон) – удаляет выделенный временной диапазон и все ключи, относящиеся к нему.
Reverse Time (Обратить время) – изменяет порядок следования выделенных ключей на противоположный.
Scale Time (Масштабировать временной диапазон) – позволяет пропорционально масштабировать выделенный временной диапазон.
Insert Time (Вставить временной диапазон) – дает возможность вставить временной интервал в текущий трек.
Cut Time (Вырезать диапазон) – вырезает из текущего трека временной диапазон и помещает его в буфер обмена. Временной диапазон и все ключи, находящиеся внутри него, удаляются из текущего трека.
Copy Time (Копировать диапазон) – копирует выделенный диапазон текущего трека в буфер обмена для последующей вставки в текущий или любой другой трек анимации.
Paste Time (Вставить диапазон) – позволяет вставлять вырезанный или скопированный диапазон в другое место текущего трека или в другой трек.
Modify Subtree (Редактировать поддерево) – включает режим одновременного редактирования объекта сцены и всех связанных с ним элементов, которые расположены на более низких уровнях иерархического списка.
Modify Child Keys (Редактировать дочерние ключи) – аналогична Modify Subtree (Редактировать поддерево), с той разницей, что редактирование распространяется только на элементы сцены, связанные с выделенным объектом.
Рассмотрим дополнительные кнопки окна Curve Editor (Редактор кривых) (рис. 4.11).
Рис. 4.11. Окно Track View – Curve Editor (Просмотр треков – редактор кривых)
Scale Values (Масштабировать значения) – включает режим изменения значений выделенных ключей без изменения их положения на временной шкале.
Draw Curves (Рисовать кривые) – позволяет рисовать новые или редактировать построенные ранее кривые анимации.
Reduce Keys (Уменьшить количество ключей) – позволяет уменьшить количество ключей в выделенном сегменте, по возможности сохраняя характер анимации. Чаще всего используется после применения инструмента Draw Curves (Рисовать кривые) для оптимизации кривой.
Set Tangents to Auto (Автоматическая установка касательных) – автоматически устанавливает касательные векторы к функциональной кривой для выделенных ключей анимации.
Set Tangents to Custom (Выборочная установка касательных) – включает режим ручной правки касательных для выбранных ключей. При этом кнопка Show Tangents (Показать касательные) должна быть активной.
Set Tangents to Fast (Установить быстрое управление) – создает ускорение в районе выделенного ключа анимации. В зависимости от выбранного режима ускорение может быть установлено до, после или на входе и выходе ключевого кадра.
Set Tangents to Slow (Установить медленное управление) – создает замедление в районе выделенного ключа анимации. В зависимости от выбранного режима замедление может быть установлено до, после или на входе и выходе ключевого кадра.
Set Tangents to Step (Установить скачкообразное управление) – создает скачкообразное изменение функциональной кривой в районе выделенного ключа анимации. В зависимости от выбранного режима может быть установлено до, после или на входе и выходе ключевого кадра. Применяется для создания постоянного значения анимации от одного кадра до другого.
Set Tangents to Linear (Установить линейное управление) – создает линейное (равномерное) изменение функциональной кривой в районе выделенного ключа анимации. В зависимости от выбранного режима может быть установлено до, после или на входе и выходе ключевого кадра.
Set Tangents to Smooth (Установить сглаженное управление) – создает сглаженное изменение функциональной кривой в районе выделенного ключа анимации. В зависимости от выбранного режима замедление может быть установлено до, после или на входе и выходе ключевого кадра. Чаще всего применяется при создании дискретного движения.
Parameter Curve Out-of-Range Types (Типы экстраполяции параметрических кривых) – используется для задания повторения анимации, созданной при помощи ключевых кадров, за пределами диапазона этих ключей. Щелчок на этой кнопке вызывает окно Param Curve Out-of-Range Types (Типы экстраполяции параметрических кривых), показанное на рис. 4.12. Оно предоставляет следующие варианты экстраполяции параметрических кривых.
Рис. 4.12. Окно Param Curve Out-of-Range Types (Типы экстраполяции параметрических кривых)
• Constant (Постоянный) – устанавливает постоянные значения анимации до начала или после завершения функциональной кривой. Применяется, если не нужно анимировать эффект до первого ключа или за пределами диапазона ключевых кадров. Используется по умолчанию.
• Cycle (Циклический) – включает повторение анимации в том виде, как она задана функциональной кривой.
• Loop (Периодический) – также задает повторение анимации, но, в отличие от предыдущего варианта, используется интерполяция в начале и конце функциональной кривой для получения сглаженного параметра.
• Ping Pong (Зеркальный повтор) – попеременное повторение анимации в прямой и обратной последовательности.
• Linear (Линейный) – продлевает значения анимации в начале и конце функциональной кривой с использованием касательной к кривой в первом и последнем ключах анимации.
• Relative Repeat (Относительный повтор) – повторяет анимацию, заданную функциональной кривой. При этом каждый раз эта кривая смещается на величину значения последнего ключа.
Show All Tangents (Показать все касательные) – включает отображение во всех ключевых кадрах касательных, определяющих форму функциональной кривой.
Show Tangents (Показать касательные) – включает отображение касательных только в выделенных ключевых кадрах.
Lock Tangents (Блокировать касательные) – используется для одновременной манипуляции касательными всех выделенных ключей анимации.
Show Biped Position Curves (Показать положение кривой двуногого) – отображает положение кривых анимации выделенного объекта Biped (Двуногий).
Show Biped Rotation Curves (Показать поворот кривой двуногого) – отображает поворот кривых анимации выделенного объекта Biped (Двуногий).
Show Biped X Curves (Показать кривую X двуногого) – включает/выключает отображение оси X текущей анимации или положения кривой.
Show Biped Y Curves (Показать кривую Y двуногого) – включает/выключает отображение оси Y текущей анимации или положения кривой.
Show Biped Z Curves (Показать кривую Z двуногого) – включает/выключает отображение оси Z текущей анимации или положения кривой.
Продолжим создание анимации мяча с помощью рассмотренных выше инструментов окна Track View (Просмотр треков). Вы можете работать со сценой, которую создали сами, или использовать файл ball.max, находящийся в папке Examples\Глава 04 прилагаемого к книге DVD.
На данном этапе анимации необходимо сделать так, чтобы мяч после отскока продолжил прыгать по плоскости. Достичь этого можно простым способом – используя циклический тип экстраполяции параметрической кривой. Для этого сделайте следующее.
1. Откройте окно редактирования кривых, выполнив команду главного меню Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактор кривых).
2. В окне Track View – Curve Editor (Просмотр треков – редактор кривых) щелкните на кнопке Filters (Фильтры)
в результате чего откроется одноименное окно (рис. 4.13).
Рис. 4.13. Окно диалога Filters (Фильтры)
3. В области Show Only (Показывать только) окна Filters (Фильтры) установите флажок Animated Tracks (Анимированные треки), снимите все остальные и нажмите кнопку OK. В результате выполненных действий в окне иерархического списка останутся только анимированные элементы.
4. На панели инструментов окна Track View – Curve Editor (Просмотр треков – редактор кривых) щелкните на кнопке Show Keyable Icons (Показать анимацию значком)
В результате в области иерархического списка все анимированные параметры будут отмечены значком с изображением ключа.
5. В окне дерева иерархии щелкните на плюсике, расположенном слева от объектов, для раскрытия всего списка и выберите из него все анимированные элементы (рис. 4.14).
Рис. 4.14. Окно Track View – Curve Editor (Просмотр треков – редактор кривых) с выбранными анимированными элементами
6. Щелкните на кнопке Parameter Out-of-Range Curves Types (Типы экстраполяции параметрических кривых)
7. В появившемся окне выбора варианта экстраполяции параметрических кривых щелкните на кнопке со стрелкой, направленной вправо, которая расположена под значком Cycle (Циклический) (рис. 4.15).
8. Щелкните на кнопке OK для подтверждения выполненных изменений.
Рис. 4.15. Окно Param Curves Out-of-Range Types (Типы экстраполяции параметрических кривых) с заданной циклической интерполяцией
После выполнения вышеописанных действий справа от функциональной кривой в области редактирования появится пунктирная линия, повторяющая форму этой кривой. Это означает, что выполненная анимация будет непрерывно повторяться. Если сейчас запустить воспроизведение анимации в одном из окон проекций, то можно увидеть, что после одного цикла анимации мяч больше не останавливается, а продолжает двигаться.
Использование контроллеров и выражений
Каждый раз, когда вы анимируете объекты сцены, программа 3ds Max сохраняет параметры анимации в контроллерах. Контроллерами называются элементы, хранящие значения анимации и управляющие интерполяцией от одного значения анимации к другому. Существуют две категории контроллеров.
■ Базирующиеся на ключах – контроллеры, основанные на ключах анимации. Такие контроллеры воспринимают в качестве ввода значений данные из ключевых кадров, а затем рассчитывают интерполированные значения между ключами анимации. Для этих контроллеров является характерным то, что кривая функции всегда проходит через ключи анимации. Контроллеры могут оказывать влияние на интерполяцию между ключами, но не на сами ключи. Контроллеры, описывающие трансформации на объектном уровне, можно также редактировать в свитке Key Info (Справка о ключах) вкладки Motion (Движение) командной панели.
■ Параметрические – рассчитывают анимацию на основе уравнения, реализуемого контроллером, и основываясь на значениях, которые указаны пользователем. К параметрическим можно отнести контроллеры, ограничивающие движения объектов в пространстве (Constraints (Ограничения)). При помощи контроллеров-ограничителей можно заставить объект следовать по пути или оставаться повернутым к другому объекту.
Программа 3ds Max поддерживает большое количество контроллеров различных типов. Контроллеры одного типа могут иметь несколько разновидностей. Контроллеры можно условно классифицировать по типу возвращаемого ими значения, при этом тип данных контроллера должен соответствовать типу данных параметра объекта. Например, контроллер типа данных Position (Положение) нельзя использовать для параметра поворота или масштаба объекта. Рассмотрим семь типов данных контроллера.
■ Transform Controller (Контроллер преобразования) – управляет трансформациями перемещения, поворота и масштаба.
■ Position Controller (Контроллер положения) – влияет на положение объекта, позицию габаритного контейнера модификатора или его центра.
■ Rotation Controller (Контроллер поворота) – управляет преобразованием поворота объекта или габаритного контейнера модификатора.
■ Scale Controller (Контроллер масштаба) – влияет на преобразование масштаба объекта или габаритного контейнера модификатора.
■ Point3 Controller (Трехкомпонентный контроллер) – управляет любым параметром с тремя значениями компонента, такими как цвет материала или координаты точки.
■ Float Controller (Контроллер с плавающей точкой) – влияет на любой параметр с единственным значением компонента, например угол поворота, ширина объекта, уровень собственного свечения материала и т. п.
■ Color Controller (Контроллер цвета) – управляет цветом материала.
Контроллеры анимации можно назначать, используя три различных источника: команды главного меню Animation (Анимация), окно Track View (Просмотр треков) или вкладку Motion (Движение) командной панели.
Рассмотрим некоторые контроллеры, которыми оперирует 3ds Max.
■ Position/Rotation/Scale (PRS) (Положение/поворот/масштаб) – используется по умолчанию для большинства объектов сцены и габаритных контейнеров модификаторов. Его рекомендуется применять для всех универсальных трансформаций.
■ Audio (Звук) – контроллер управления по звуковой дорожке. Он позволяет анимировать почти любой параметр сцены, конвертируя амплитуду записанного звука в значения анимируемого параметра объекта. Данный контроллер совместим с большинством параметров окна Track View (Просмотр треков), в том числе и с Transform Controller (Контроллер преобразования), Float Controller (Контроллер с плавающей точкой) и Point3 Controller (Трехкомпонентный контроллер).
■ Bezier (Управление по Безье) – один из самых универсальных контроллеров, доступных в 3ds Max. Он выполняет интерполяцию между ключами анимации, регулируя изменения кривой, проходящей через ключевые точки. Контроллер Bezier (Управление по Безье) используется по умолчанию для большинства параметров. Его рекомендуется применять, когда необходимо иметь полный контроль над интерполяцией функциональной кривой в промежутках между ключами анимации.
■ Color RGB (Цвет RGB) – разделяет составляющую цвета RGB на три независимых трека. Этот контроллер можно применять для анимации цветовых составляющих материалов либо других компонентов, использующих цвет. После разделения по умолчанию каждому треку назначается контроллер Bezier Float (Управление по Безье с плавающей точкой).
■ Euler XYZ Rotation (XYZ-поворот по Эйлеру) – составной контроллер, объединяющий отдельные контроллеры, которые имеют значение с плавающей точкой и описывают поворот относительно одной из осей (X, Y или Z). Использование данного контроллера не дает такого сглаженного результата, как применение TCB Rotation (TCB-поворот), который использует для управления вращением кватернионовскую математику. Однако, в отличие от последнего, Euler XYZ Rotation (XYZ-поворот по Эйлеру) позволяет редактировать функциональные кривые.
■ Expression (Выражение) – это контроллер по алгоритмическому выражению. Он строит функциональную кривую на основе математических выражений, заданных пользователем в окне Expression Controller (Контроллер управления по алгоритмическому выражению) (рис. 4.16). При помощи данного контроллера можно получать данные из других контроллеров, оперировать встроенными функциями и создавать собственные переменные. Контроллер Expression (Выражение) можно применять практически ко всем параметрам 3ds Max, для которых есть возможность анимации.
Рис. 4.16. Окно диалога Expression Controller (Контроллер управления по алгоритмическому выражению)
■ Linear (Линейное управление) – контроллер линейного управления. Строит функциональную кривую между двумя соседними ключами по прямой линии. Этот контроллер не имеет настроек и использует для интерполяции значения ключевых кадров. Его следует применять, когда необходимо передать движение механизмов или изменение цвета.
■ Noise (Шум) – генерирует хаотичную анимацию в пределах диапазона кадров. Является параметрическим и не использует ключи анимации. Как только вы назначаете анимированному параметру этот контроллер, он сразу применяется ко всему диапазону текущего временного сегмента. Данный контроллер можно использовать для создания неравномерного движения, пульсирующего фонтана, вибрации объектов и т. п., а также применительно к другим контроллерам для изменения функциональной кривой с учетом среднего значения (рис. 4.17).
Рис. 4.17. Окно диалога контроллера Noise (Шум)
■ List (Управление по списку) – объединяет несколько самостоятельных контроллеров для создания общей анимации. Контроллеры, добавленные в список, выполняются последовательно и по умолчанию имеют вес (значение параметра Weight (Вес)), равный 100. Изменение этого значения влияет на удельный вес данного контроллера в общей анимации. Применяется для создания сложных анимаций.
■ Script (Управление по коду) – подобно контроллеру Expression (Выражение), основанному на алгоритмическом выражении, открывает окно для ввода кода на языке MAXScript с последующим расчетом значения и передачи его контроллеру. С помощью контроллера Script (Управление по коду) можно анимировать практически все параметры объекта, даже те, которые не анимируются контроллером Expression (Выражение) (например, вершины полигонального объекта) (рис. 4.18).
Рис. 4.18. Окно диалога Script Controller (Контроллер управления по коду)
■ Path Constraint (Ограничение по пути) – ограничивает движение объекта по пути, которым является указанный сплайн или усредненное расстояние между несколькими сплайнами. В качестве пути можно использовать сплайн любого типа, при этом сам сплайн может иметь собственную анимацию. Данный контроллер применяется для анимации объектов по сложным траекториям (например, движение автомобиля по дороге).
■ Position Constraint (Ограничение по положению) – изменяет положение исходного объекта (то есть объекта, к которому применен контроллер) относительно целевого. При этом значение параметра Weight (Вес), равное по умолчанию 100, показывает, что исходный объект займет положение целевого, а значение 0 – то, что исходный объект останется на месте. Все значения, отличные от 0, заставят объект переместиться в положение, которое равно процентному отношению расстояния между исходным и целевым объектами.
■ Link Constrain (Ограничение по связи) – применяется для анимации передачи связи от одного целевого объекта другому. Например, при использовании контроллера Link Constrain (Ограничение по связи) анимированный персонаж может взять рукой чемодан и переместить его в другую руку.
■ LookAt Constraint (Ограничение по линии взгляда) – используется для ориентации одного объекта относительно другого с таким расчетом, чтобы исходный объект постоянно смотрел на целевой. Действие данного контроллера подобно камере Target Camera (Нацеленная камера), когда она поворачивается вслед за перемещаемой целью.
Итак, мы рассмотрели основные контроллеры анимации, применяемые в 3ds Max. Более подробную информацию о них можно найти в справочной литературе или файле справки приложения.
Продолжим анимировать мяч. Используя контроллер Expression (Выражение), создадим для него поступательное движение и постепенное затухание отскоков.
1. Продолжите выполнение собственной анимации или загрузите с прилагаемого DVD файл ball01.max, который находится в следующей папке: Examples\Глава 04.
2. Для увеличения общего времени анимации щелкните на кнопке Time Configuration (Настройка временных интервалов)
и в области Animation (Анимация) открывшегося окна задайте параметру End Time (Время окончания) значение, равное 180 (рис. 4.19).
Рис. 4.19. Окно диалога Time Configuration (Настройка временных интервалов)
3. В одном из окон проекций выделите мяч – объект Sphere01.
4. Перейдите на вкладку Motion (Движение) командной панели и в свитке Assign Controller (Назначить контроллер) выберите строку с именем Position: Position XYZ (Положение: положение по XYZ) (рис. 4.20).
Рис. 4.20. Свиток Assign Controller (Назначить контроллер) объекта Sphere01
5. В свитке Assign Controller (Назначить контроллер) щелкните на одноименной кнопке
в результате чего откроется окно диалога Assign Position Controller (Назначить контроллер положения). В этом окне выберите из списка контроллер Position List (Контроллер положения по списку). После применения этого контроллера в списке контроллеров появится строка Available (Доступный) (рис. 4.21), позволяющая добавлять к списку новые контроллеры.
Рис. 4.21. Свиток Assign Controller (Назначить контроллер) после назначения контроллера Position List (Контроллер положения по списку)
6. Выделите строку Available (Доступный) и щелкните на кнопке Assign Controller (Назначить контроллер)
7. В открывшемся окне Assign Position Controller (Назначить контроллер положения) выберите строку Position Expression (Контроллер положения по выражению). В результате откроется окно Expression Controller (Контроллер управления по алгоритмическому выражению) (см. рис. 4.16).
8. Создайте переменную, которая будет принимать значение положения объекта Sphere01 по оси Z следующим образом:
1) в поле Name (Имя) области Create Variables (Создать переменную) наберите имя создаваемой переменной (например, Zpoz);
2) установите переключатель в положение Scalar (Скалярный) и щелкните на кнопке Create (Создать);
3) в нижней части окна нажмите кнопку Assign to Controller (Назначить контроллеру);
4) в появившемся окне Track View Pick (Выбрать трек) выберите из иерархического списка строку Z Position: Bezier Float (Z-положение: управление по Безье с плавающей точкой), относящуюся к объекту Sphere01 (рис. 4.22).
Рис. 4.22. Выбор строки Z Position: Bezier Float (Z-положение: управление по Безье с плавающей точкой) в окне Track View Pick (Выбрать трек)
9. В поле Expression (Выражение) окна Expression Controller (Контроллер управления по алгоритмическому выражению) вместо [0, 0, 0] наберите выражение [F, 0, -Zpoz/180*F], где F – текущий кадр (функция по умолчанию), 180 – общее количество кадров, а Zpoz – созданная нами переменная.
10. Щелкните на кнопке Evaluate (Оценить) для расчета созданного выражения.
1 1. Запустите воспроизведение созданной анимации в активном окне проекции, нажав кнопку Play Animation (Воспроизвести анимацию)
Если все было сделано правильно, то вы увидите, как мячик смещается в сторону с уменьшением высоты отскоков.
Вернемся к созданному выражению и разберем его более подробно. По умолчанию выражение в поле Expression (Выражение) представляло собой [0, 0, 0], что означало изменение параметров X, Y и Z на 0, то есть положение объекта не менялось. Вместо значения 0 по оси X мы задали F, указав, что в каждом последующем кадре анимации это значение будет увеличиваться на 1 и соответствовать номеру текущего кадра. Значение по оси Y не должно меняться, поэтому мы оставили его равным 0. Для оси Z выражение имеет более сложную структуру. В каждом кадре анимации из положения объекта по оси Z вычитается его текущее значение (Zpoz), деленное на общее количество кадров. Эта разность умножается на значение текущего кадра для создания динамики уменьшения параметра Z.
ПРИМЕЧАНИЕ
Для ознакомления с готовой анимацией загрузите файл ball02.max из папки Examples\Глава 04 прилагаемого к книге DVD.
Анимация частиц
Система частиц (Particle System) представляет собой совокупность малоразмерных частиц, с использованием которых можно создать множество анимационных эффектов. Подобно твердым телам, частицы имитируют физические процессы. При этом они не являются частью анимации в привычном смысле этого слова, следовательно, ими нельзя манипулировать непосредственно, как объектами. Управление ими происходит за счет изменения параметров или посредством добавления внешних сил. С помощью частиц можно имитировать различные предметы и явления природы, например дождь, снег, стаю птиц и многое другое.
После создания системы частиц все, что вы можете увидеть в окне проекции, – это габаритный контейнер, который называется Emitter Icon (Значок источника). Он является объектом, который порождает частицы. Созданные системы частиц существуют в сцене в динамике, меняясь во времени. Их поведение зависит исключительно от значения параметров и внешних сил (если они применяются). Лучший способ научиться работать с частицами – экспериментировать с различными значениями их параметров.
Программа 3ds Max содержит семь различных типов систем частиц.
■ Particle Flow Source (Источник потока частиц) – частицы, которые можно определить с помощью окна Particle View (Окно системы частиц) и контролируемые при помощи действий (Actions) и событий (Events).
■ Spray (Брызги) – система частиц, имитирующая капли воды, брызги и т. д. Эти капли можно представить в виде Drops (Капли), Dots (Точки) или Ticks (Черточки). Частицы движутся по прямой линии от излучателя сразу же после создания.
■ Snow (Снег) – создает эффект падающего снега или конфетти. Эта система частиц подобна Spray (Брызги), но имеет дополнительные параметры для настройки поведения снежинок при падении. Кроме представления в виде точек и черточек, частицы системы Snow (Снег) можно визуализировать в виде снежинок (Flakes (Снежинки)).
■ Blizzard (Метель) – усовершенствованная модель частиц Snow (Снег), которая имеет дополнительные параметры и может использовать при визуализации форму различных объектов (треугольников, сфер и т. д.).
■ PArray (Массив частиц) – дает возможность применять два типа поведения частиц:
• использование объектов сцены в качестве источников для излучаемых частиц;
• создание усовершенствованных эффектов имитации взрыва.
■ PCloud (Облако частиц) – создает облако частиц, заключенных в габаритный контейнер, в качестве которого могут выступать другие объекты сцены. Данную систему частиц можно применять для имитации стаи птиц, косяков рыб, звездных полей, группы животных и т. д.
■ Super Spray (Супербрызги) – усовершенствованный вариант частиц Spray (Брызги), имеющий множество дополнительных параметров.
В 3ds Max системы частиц можно создавать тремя способами:
■ с помощью подменю команды главного меню Create ► Particles (Создание ► Частицы);
■ используя группу Particle Systems (Системы частиц) категории Geometry (Геометрия) вкладки Create (Создание) командной панели (рис. 4.23);
Рис. 4.23. Кнопки создания систем частиц на командной панели
■ при помощи окна Particle View (Окно системы частиц), которое вызывается командой главного меню Graph Editors ► Particle View (Графические редакторы ► Окно системы частиц).
При создании системы частиц, не использующих габаритный контейнер (таких как Spray (Брызги), Snow (Снег), Blizzard (Метель)), прежде всего необходимо определить положение в пространстве точки генерации частиц, называемой эмиттером, и направление, в котором они будут испускаться. Эмиттер представляет собой плоскость с перпендикулярным вектором, расположенным в середине этой плоскости (рис. 4.24). Именно направление вектора указывает сторону, в которую будут испускаться частицы.
Рис. 4.24. Эмиттер системы частиц Snow (Снег)
Поскольку системы частиц основаны на анимации во времени, то после построения эмиттера в нулевом кадре вы можете не увидеть сгенерированных частиц, так как по умолчанию их излучение начинается именно в нулевом кадре. Чаще всего достаточно передвинуть ползунок таймера анимации вправо, чтобы увидеть поток излучаемых частиц.
Аналогичным образом в окнах проекций представлены частицы Particle Flow Source (Источник потока частиц), Super Spray (Супербрызги). Разница лишь в том, что эмиттеры этих объектов имеют форму, отличную от прямоугольника, но, как и рассмотренные выше, имеют вектор, указывающий направление излучения частиц.
Несколько иначе отображаются в окнах проекций частицы PArray (Массив частиц) и PCloud (Облако частиц). Их эмиттер представлен в виде габаритного контейнера. Для частиц PArray (Массив частиц) это куб с возможностью выбора объектов сцены в качестве эмиттера. Для PCloud (Облако частиц), кроме объектов сцены, можно использовать параллелепипед, сферу или цилиндр (рис. 4.25).
Помимо одиночных, можно создавать сложные системы частиц с использованием операторов и тестирования событий по различным признакам. Для создания сложных систем следует использовать окно Particle View (Окно системы частиц) (рис. 4.26).
Рис. 4.25. Габаритный контейнер частиц PCloud (Облако частиц) в виде параллелепипеда
Рис. 4.26. Окно Particle View (Окно системы частиц)
Окно Particle View (Окно системы частиц) имеет следующие элементы управления.
■ Меню – предоставляет доступ к командам редактирования, выделения, настройкам отображения и анализа системы частиц.
■ Окно событий – отображает диаграмму событий с узлами и функциями, изменяя которую, можно редактировать систему частиц. Узлы содержат отдельные события, которые можно связать друг с другом для управления потоком частиц.
■ Панель параметров – содержит свитки параметров любых выделенных объектов.
■ Список операторов – содержит все возможные события, которые могут применяться с системой частиц. Содержимое этого списка можно разделить на три категории:
• операторы – основные элементы системы частиц, позволяющие организовывать события (Events), которые описывают поведение частиц в определенный период времени. В окне Particle View (Окно системы частиц) они представлены квадратными значками с пиктограммами на синем фоне. В эту же категорию попадают два зеленых круглых значка, соответствующих времени жизни частиц;
• тестировщики – функции, тестирующие систему частиц на соответствие какому-либо заданному условию и позволяющие при выполнении этого условия направить ход выполнения операторов к другому событию. В окне диалога эти элементы представлены ромбовидными значками с пиктограммами на желтом фоне;
• потоки частиц – категория, содержащая два оператора, предназначенных для создания начального события системы частиц. Этими операторами являются Empty Flow (Пустой поток) и Standard Flow (Типовой поток), имеющие значки в виде двух связанных между собой белых прямоугольников.
■ Панель описания – содержит краткую информацию о событии, выделенном в окне списка операторов.
■ Инструменты отображения – предназначены для навигации в окне Particle View (Окно системы частиц).
ПРИМЕЧАНИЕ
Практическое использование окна диалога Particle View (Окно системы частиц) описывается в разд. «Текст, уносимый порывами ветра» гл. 8.
Глава 5 Основы визуализации
• Инструменты визуализации
• Параметры визуализации
• Виртуальный буфер кадров
• Использование модуля RAM Player (RAM-проигрыватель)
• Окружение и атмосферные эффекты
• Модуль Video Post (Видеомонтаж)
Позади долгие часы кропотливой работы, связанной с моделированием, текстурированием, анимацией, постановкой света и камер. Дальше – финальная визуализация. Конечно же, пробная (тестовая) визуализация начинается значительно раньше, но только после установки всех параметров и настроек можно увидеть все свойства материала, эффекты внешней среды, глубину резкости, размытие движения и т. д.
В состав 3ds Max входит визуализатор Default Scanline Renderer, оптимизированный для быстрых расчетов, причем, используя определенные настройки оптимизации, скорость просчетов можно существенно увеличить. Знание настроек, находящихся в окне диалога Render Scene (Визуализация сцены), позволяет экономить время и нервы.
Инструменты визуализации
Доступ к визуализации в 3ds Max можно получить с помощью меню Rendering (Визуализация) либо основной панели инструментов, в состав которой входят группа кнопок и раскрывающийся список, позволяющие задавать режимы визуализации (рис. 5.1).
Рис. 5.1. Кнопки и раскрывающийся список на панели инструментов, предназначенные для управления визуализацией
Рассмотрим назначение каждого инструмента.
Render Scene Dialog (Диалоговое окно визуализации сцены) – основная кнопка настройки параметров визуализации, предназначенная для вызова окна Render Scene (Визуализация сцены). Данное окно позволяет настроить все базовые параметры визуализации для активного окна проекции (если не указан другой вариант).
Render Type (Тип визуализации) – раскрывающийся список основных вариантов визуализации, содержащий следующие типы.
• View (Проекция) – визуализация активного окна проекции.
• Selected (Выделенные объекты) – визуализируются только выбранные объекты в активном окне проекции. Данный вариант подходит для тестовой визуализации элементов сложных сцен, требующих значительных временных затрат.
• Region (Область) – позволяет визуализировать только заданную прямоугольную область, ускоряя таким образом процесс настройки общих параметров. Установка границ области производится в активном окне проекции при помощи маркеров. Визуализируемое изображение не масштабируется, оставляя поля, выходящие за пределы выделенной области, заполненными цветом фона.
• Crop (Обрезка) – режим, аналогичный предыдущему, но области, выходящие за пределы рамки, обрезаются до выбранного размера.
• Blowup (Увеличение) – режим, аналогичный Region (Область), но при визуализации увеличивает выбранную область до полного окна.
• Box Selected (Габаритный контейнер выделения) – позволяет выполнить визуализацию по габаритным контейнерам выделенных объектов. При этом вызывается окно диалога, в котором можно указать пропорции окна вывода изображения.
• Region Selected (Область выделения) – режим, позволяющий визуализировать область, которая ограничена габаритным контейнером выделенных объектов, без изменения общих размеров визуализации.
• Crop Selected (Обрезка выделения) – от режима Region Selected (Область выделения) отличается лишь тем, что области, выходящие за пределы контейнера визуализации, обрезаются.
Quick Render (Production) (Быстрая визуализация (итоговая)) – позволяет визуализировать сцену с установками, заданными по умолчанию либо ранее измененными в окне Render Scene (Визуализация сцены).
Quick Render (ActiveShade) (Быстрая визуализация (активное тонирование)) – режим просчета сцены, при котором интерактивно происходит обновление окна диалога ActiveShade (Активное тонирование). Например, если применяется данный режим, то можно сразу увидеть изменения параметров источника света, вызванные изменением значения Multiplier (Усилитель). Использование данного режима требует наличия достаточных аппаратных средств.
Параметры визуализации
Для настройки всех базовых параметров визуализации служит окно Render Scene (Визуализация сцены) (рис. 5.2), вызываемое командой меню Rendering ► Render (Визуализация ► Визуализировать) либо с помощью кнопки Render Scene Dialog (Диалоговое окно визуализации сцены), расположенной на главной панели инструментов.
Окно Render Scene (Визуализация сцены) по умолчанию содержит пять вкладок для детальной настройки процесса визуализации.
■ Common (Общие) – настройка параметров, общих для различных визуализаторов, в том числе и для подключаемых (например, Brazil r/s или V-Ray).
■ Renderer (Визуализатор) – содержит настройки активного визуализатора (по умолчанию – Default Scanline Renderer).
■ Render Elements (Визуализация элементов) – позволяет визуализировать отдельные элементы изображения (например, тени от объектов, области бликов, диффузное рассеивание и т. д.) для их последующего использования или редактирования в программах растровой графики или компоузинга.
Рис. 5.2. Окно Render Scene (Визуализация сцены)
■ Raytracer (Трассировка) – содержит настройки трассировки лучей, общие для всех объектов сцены, использующих трассируемые материалы или карты текстур (кроме настройки некоторых параметров, которые влияют на скорость и качество просчетов). Можно указать те объекты, которые не будут учитываться в расчетах трассировки лучей.
■ Advanced Lighting (Улучшенное освещение) – позволяет выбрать один из двух способов освещения сцены:
• Light Tracer (Трассировщик света) – применяется для создания сглаженных теней и мягкого освещения сцены;
• Radiosity (Диффузное отражение) – более правильное с физической точки зрения освещение, позволяющее рассчитывать прохождение светового луча с учетом отражения от объектов сцены, преломления в прозрачных средах и затухания с расстоянием.
Рассмотрим более подробно основные настройки окна Render Scene (Визуализация сцены).
Common Parameters (Общие параметры)
Свиток Common Parameters (Общие параметры) вкладки Common (Общие) позволяет настраивать общие параметры и режимы визуализации (рис. 5.3).
Для настройки данного свитка выполните следующие действия.
1. В области Time Output (Выходные настройки диапазона) установите переключатель в одно из четырех положений:
• Single (Единичный) – визуализируется текущий кадр;
• Active Time Segment (Текущий промежуток времени) – полностью визуализируется временной диапазон, отображаемый в строке треков;
• Range (Диапазон) – позволяет визуализировать диапазон кадров, задаваемый в полях, расположенных справа;
Рис. 5.3. Свиток Common Parameters (Общие параметры) вкладки Common (Общие) окна Render Scene (Визуализация сцены)
• Frames (Кадры) – визуализируется список кадров, указанных через запятую, и (или) диапазон кадров, заданных через дефис (например, 1, 5, 10–100 означает, что будут визуализироваться 1, 5 и с 10 по 100 кадры).
Затем укажите значения следующих параметров:
• Every Nth Frame (Каждый кадр под номером) – он позволяет задать интервал кадров визуализации, доступный в таких режимах: Active Time Segment (Текущий промежуток времени) и Range (Диапазон) (по умолчанию просчитывается каждый кадр);
• File Number Base (База номеров файлов) – значения, используемые для формирования имен файлов визуализируемой последовательности.
2. В области Output Size (Выходные настройки размера) укажите параметры выходного изображения:
• из раскрывающегося списка в верхней части области выберите один из вариантов размеров кино-, фото-и видеокадров или вариант Custom (Пользовательская), позволяющий задавать значения Aperture Width(mm) (Ширина апертуры), Image Aspect (Пропорции изображения) и Pixel Aspect (Пропорции пиксела);
• задайте значения ширины и высоты изображения визуализации, используя параметры Width (Ширина) и Height (Высота);
• с помощью четырех кнопок с предустановленными значениями ширины и высоты в пикселах можно быстро задать соответствующие значения для визуализации.
3. В области Options (Режимы) установите или снимите следующие флажки:
• Atmospherics (Атмосферные эффекты) – включение/выключение режима визуализации эффектов внешней среды (туман, объемное освещение и горение);
• Effects (Эффекты) – включение/выключение режима визуализации эффектов (например, Blur (Размытие));
• Displacement (Смещение) – включение/выключение режима визуализации карт смещения;
• Video Color Check (Контроль цветности) – включение/выключение режима контроля соответствия цветов визуализируемого изображения стандартам телевещания PAL и NTSC;
• Render to Fields (Визуализировать полукадры) – режим визуализации изображения в виде четных или нечетных строк, необходимых для воспроизведения анимации на экране телевизора;
• Render Hidden Geometry (Визуализировать скрытые объекты) – включение/ выключение режима визуализации объектов сцены, невидимых в окнах проекций;
• Area Lights/Shadows as Points (Площадное освещение/тени в виде точечных) – режим, при котором все площадное освещение и тени визуализируются так, как если бы это были точечные источники света (позволяет значительно ускорить время просчета визуализации во время отладки);
• Force 2-Sided (Отображать обе стороны) – включение/выключение режима визуализации обеих сторон (увеличивает время расчетов; может понадобиться при визуализации импортированных из других программ объектов с хаотичным расположением нормалей);
• Super Black (Сверхчерный) – включение/выключение режима ограничения уровня черного цвета (используется для приложений видеомонтажа).
4. Настройте параметры области Advanced Lighting (Улучшенное освещение):
• Use Advanced Lighting (Использовать улучшенное освещение) – включение/выключение режима расчетов трассировки лучей и диффузного отражения;
• Compute Advanced Lighting when Required (При необходимости рассчитать улучшенное освещение) – включение/выключение режима расчетов диффузного отражения во время визуализации (обычно при визуализации последовательности рассчитывается диффузное отражение только для первого кадра).
5. В области Bitmap Proxies (Замещение растровых изображений) определите, будут ли использоваться для визуализации карты максимального разрешения или прокси-изображения. Кнопка Setup (Настройки) вызывает окно Global Settings and Defaults for Bitmap Proxies (Глобальные параметры и умолчания для прокси-изображений), которое позволяет создавать и использовать прокси-изображения, включенные в материалы.
6. В области Render Output (Результат визуализации) установите параметры вывода визуализации:
• Files (Файлы) – вызывает окно Render Output File (Результирующий файл визуализации) для ввода имени и выбора необходимого формата файла;
• Save File (Сохранить файл) – сохраняет результаты визуализации в файле с указанным именем;
• Devices (Устройства) – позволяет записать результат визуализации на внешний носитель (например, цифровой видеомагнитофон или ленточный накопитель);
• Rendered Frame Window (Окно кадров визуализации) – кроме записи в файл или на внешний носитель, выводит результаты визуализации в одноименное окно;
• Net Render (Сетевая визуализация) – включает режим просчета последовательности кадров компьютерами, расположенными в локальной сети;
• Skip Existing Images (Пропускать существующие изображения) – включает/ выключает режим пропуска визуализации ранее созданных изображений.
В 3ds Max 2008 есть возможность вместе с сохранением последовательности файлов создавать Image File List (Список файлов изображений), позволяющий получить непосредственный доступ к этой последовательности. Для этого нужно установить флажок Put Image File List(s) in Output Path(s) (Поместить список файлов изображений в итоговый путь), установить переключатель, определяющий выходной формат списка, в нужное положение (Autodesk ME Image Sequence File (.imsq) или Legacy 3ds max Image File List (.ifl)) и нажать кнопку Create Now (Создать сейчас).
Default Scanline Renderer
Свиток Default Scanline Renderer вкладки Renderer (Визуализатор) используется для настройки визуализатора, встроенного в 3ds Max (рис. 5.4).
Для настройки общих параметров сканирующего визуализатора предназначены следующие области.
■ Options (Режимы) содержит такие флажки:
• Mapping (Карты текстур) – включение/выключение режима визуализации материалов и текстур;
• Shadows (Тени) – прорисовка теней от объектов сцены;
• Enable SSE (Включить SSE) – использование SSE-инструкции для ускорения расчетов;
• Auto-Reflect/Refract and Mirrors (Автоотражение/преломление и зеркальное отображение) – просчет отражений в зеркальных и преломляющих материалах;
• Force Wireframe (Каркасы объектов) – визуализация всех объектов в виде каркасов (значение параметра Wire Thickness (Толщина каркаса) указывает толщину линий в пикселах).
■ Antialiasing (Сглаживание) определяет параметры сглаживания:
• Antialiasing (Сглаживание) – сглаживание границ изображения;
• Filter (Фильтр) – раскрывающийся список с 12 алгоритмами сглаживания текстур;
Рис. 5.4. Свиток Default Scanline Renderer вкладки Renderer (Визуализатор) окна Render Scene (Визуализация сцены)
• Filter Maps (Фильтрация текстурных карт) – фильтрация текстурных карт (фильтрация улучшает отображение материалов, использующих текстурные карты, но увеличивает время визуализации);
• Filter Size (Размер фильтра) – позволяет увеличить или уменьшить степень размытия растровых изображений.
■ Global SuperSampling (Глобальное сверхразрешение) содержит такие флажки:
• Disable all Samplers (Выключить все фильтры сглаживания) – выключение всех алгоритмов сглаживания, присутствующих в настройках материалов и текстур;
• Enable Global Supersampler (Включить глобальное сверхразрешение) – дает возможность включить алгоритм сглаживания для всех материалов в сцене.
■ Object Motion Blur (Размытие объекта в движении) и Image Motion Blur (Размытие картинки в движении) позволяют настроить параметры размытия объектов или изображения, характерного для анимации движения:
• Apply (Применить) – визуализация размытия;
• Duration (frames) (Длительность (кадров)) – интервал времени, в течение которого будет выполняться размытие (при значении, равном 1, размытие будет проходить от середины предыдущего кадра до середины следующего);
• Samples (Выборка) – количество пикселов из состава копий, попадающих в итоговый кадр визуализации;
• Duration Subdivisions (Количество копий в шлейфе) – количество копий размытого объекта в течение интервала размытия;
• Transparency (Прозрачность) – включается при размытии объектов, имеющих прозрачность; увеличивает общее время визуализации, по умолчанию снят;
• Apply To Environment Map (Применять к картам внешней среды) – режим, при котором размывается изображение фона.
■ Auto Reflect/Refract Maps (Карты автоотражения/преломления) содержит параметр Rendering Iterations (Количество итераций визуализации), который указывает кратность отражений одних объектов, использующих карты отражения/преломления в других.
Переключатель Color Range Limiting (Ограничение цветового диапазона) позволяет понизить цветовой диапазон ярких бликов на поверхности объектов с использованием одного из двух способов:
■ Clamp (Ограничить яркость) – интенсивность всех оттенков цвета будет ограничена диапазоном от 0 до 1;
■ Scale (Масштабировать) – все три компонента цвета будут масштабироваться так, чтобы интенсивность максимального из компонентов оказалась равной 1;
■ Memory Management (Управление памятью) – область, содержащая переключатель Conserve Memory (Сохранить память), позволяющий использовать меньшее количество оперативной памяти в ущерб времени визуализации.
Виртуальный буфер кадров
После запуска визуализации на экране появится активное по умолчанию окно Rendered Frame Window (Окно кадров визуализации), отображающее процесс вывода изображения (рис. 5.5).
Рис. 5.5. Окно Rendered Frame Window (Окно кадров визуализации)
Панель инструментов, представленная в верхней части окна Rendered Frame Window (Окно кадров визуализации), служит для выполнения следующих задач:
Save Bitmap (Сохранить растровое изображение) – сохраняет визуализированное изображение в файле;
Copy Bitmap (Копировать растровое изображение) – копирует визуализированное изображение в буфер обмена Windows для последующей вставки его в программу просмотра или редактирования растровой графики (например, Photoshop);
Clone Rendered Frame Window (Копия окна визуализации) – создает копию окна визуализации (при этом вы можете выполнить новую визуализацию в основном окне и сравнить результат с предыдущим);
Enable Red/Green/Blue Channel (Включить красный/зеленый/синий канал) – включает или выключает отображение красного, зеленого или синего канала цветности;
Display Alpha Channel (Показать альфа-канал) – задает отображение альфа-канала;
Monochrome (Монохромный) – включает отображение результата визуализации в оттенках серого;
Clear (Очистить) – очищает окно визуализации.
Программа 3ds Max позволяет отображать в окне Rendered Frame Window (Окно кадров визуализации) растровые изображения и последовательности кадров таких изображений. Для загрузки изображения в окно кадров визуализации выполните команду File ► View Image File (Файл ► Просмотр растрового изображения). При просмотре последовательности кадров появляются дополнительные кнопки навигации по кадрам.
Использование модуля RAM Player (RAM-проигрыватель)
Модуль RAM Player (RAM-проигрыватель) (рис. 5.6) используется для загрузки в память компьютера отдельных кадров или последовательности кадров для последующего их сравнения или просмотра в виде анимации с заданной частотой кадров в секунду (fps). Его окно можно открыть, выполнив команду Rendering ► RAM Player (Визуализация ► RAM-проигрыватель).
Рис. 5.6. Окно модуля RAM Player (RAM-проигрыватель)
Модуль RAM Player (RAM-проигрыватель) имеет два канала (Channel A (Канал A) и Channel B (Канал Б)) и позволяет загружать в эти каналы две различные последовательности растровых изображений, отдельные кадры или анимацию для их одновременного воспроизведения.
Щелчок кнопкой мыши в окне просмотра каналов с последующим перетаскиванием позволяет установить и перемещать границу разделения двух каналов.
В верхней части окна RAM Player (RAM-проигрыватель) находится панель инструментов с набором кнопок для управления окном проигрывателя:
Open Channel (Открыть канал) – открывает стандартное окно выбора файла для загрузки в Channel A (Канал A) или Channel B (Канал Б);
Open Last Rendered Image in Channel (Загрузить последнее визуализированное изображение в канал) – загружает последнее визуализированное изображение в выбранный канал;
Close Channel (Закрыть канал) – выгружает изображение или анимацию из текущего канала;
Save Channel (Сохранить канал) – открывает окно диалога сохранения файла и позволяет сохранить как отдельные кадры и их последовательность, так и анимацию;
Horizontal/Vertical Split Screen (Разделить экран по горизонтали/вертикали) – переключает два варианта совместного отображения каналов на горизонтальное или вертикальное;
Frame Rate Control (Контроль частоты кадров) – раскрывающийся список с вариантами возможной установки частоты смены кадров в секунду;
Double Buffer (Двойной буфер) – синхронизирует отображение анимации в обоих каналах.
Окружение и атмосферные эффекты
Использование Environment (Окружающая среда) и Effects (Эффекты) позволяет создавать общее настроение, повышая реалистичность сцены. Элементы управления атмосферой предлагают широкий набор эффектов, включая туман, дымку, огонь, дым и т. д.
Окно диалога Environment and Effects (Окружающая среда и эффекты) позволяет настраивать параметры отображения окружающей среды и дополнительных эффектов (рис. 5.7).
Рис. 5.7. Вкладка Environment (Окружающая среда) окна Environment and Effects (Окружающая среда и эффекты)
Чтобы получить доступ к настройкам окружающей среды, выполните команду Rendering ► Environment (Визуализация ► Окружающая среда). В результате откроется окно Environment and Effects (Окружающая среда и эффекты) на вкладке Environment (Окружающая среда). Рассмотрим свитки настроек данного окна.
Common Parameters (Общие параметры)
В свитке Common Parameters (Общие параметры) (см. рис. 5.7) вкладки Environment (Окружающая среда) задаются параметры отображения внешней среды. В области Background (Фон) можно настроить следующие элементы.
■ Color (Цвет) – цвет фона окружающей среды.
■ Environment Map (Карта текстуры окружающей среды) – щелчок на кнопке с надписью None (Отсутствует) вызывает окно Material/Map Browser (Окно выбора материалов и карт) для загрузки любой из доступных текстурных карт или материала в качестве фона изображения. Для последующего редактирования такой карты (материала) необходимо перетащить ее на образец материала в окне Material Editor (Редактор материалов), выбрав при этом Instance (Привязка) в качестве метода копирования.
■ Use Map (Использовать карту текстуры) – включает/выключает использование карты при визуализации.
Область Global Lighting (Глобальная освещенность) позволяет управлять параметрами общего освещения сцены.
■ Tint (Оттенок) – образец цвета, устанавливающий оттенок света всех источников света сцены, кроме параметра Ambient (Цвет подсветки).
■ Level (Уровень) – параметр, изменяющий уровень силы света для всех источников света сцены, кроме Ambient (Цвет подсветки) (при значении, равном 1, сила света не меняется).
■ Ambient (Цвет подсветки) – образец цвета, которым будут равномерно окрашены объекты сцены.
Exposure Control (Контроль экспозиции) и Logarithmic Exposure Control Parameters (Параметры логарифмического контроля экспозиции)
Свиток Exposure Control (Контроль экспозиции) позволяет изменять параметры общей освещенности сцены за счет настройки выходных уровней и цветового диапазона так, как если бы использовалась настройка экспозиции фотоаппарата (рис. 5.8).
Рис. 5.8. Свитки Exposure Control (Контроль экспозиции) и Logarithmic Exposure Control Parameters (Параметры логарифмического контроля экспозиции)
С его помощью можно, например, осветлить слишком темные сцены без изменения настройки источников света. Небольшое окно предварительного просмотра позволяет увидеть все изменения, которые производятся при помощи параметров свитка Logarithmic Exposure Control Parameters (Параметры логарифмического контроля экспозиции).
Atmosphere (Атмосфера)
Свиток Atmosphere (Атмосфера) (рис. 5.9) дает доступ к четырем типам атмосферных эффектов: Fire Effect (Эффект огня), Fog (Туман), Volume Fog (Объемный туман) и Volume Light (Объемный свет).
Рис. 5.9. Свиток Atmosphere (Атмосфера)
Для выбора атмосферного эффекта и управления им при помощи настроек свитка Atmosphere (Атмосфера) выполните следующие действия.
1. Щелкните на кнопке Add (Добавить).
2. В открывшемся окне диалога Add Atmospheric Effect (Добавить атмосферный эффект) выберите из списка тип атмосферного эффекта и щелкните на кнопке OK для подтверждения выбора. В результате выбранный эффект добавится в список Effects (Эффекты). При необходимости добавьте таким же образом другие эффекты.
3. Для удаления эффекта из списка Effects (Эффекты) выделите его и щелкните на кнопке Delete (Удалить).
4. Установка флажка Active (Активный) включает эффект в итоговую визуализацию сцены.
5. С помощью кнопок Move Up (Переместить вверх) и Move Down (Переместить вниз) измените при необходимости порядок следования эффектов в списке. Конечный результат зависит от того, как расположены эффекты в списке, так как визуализация эффектов производится последовательно, начиная с верхнего.
6. Кнопка Merge (Присоединить) позволяет присоединить к текущей сцене эффекты, подгружаемые из других сцен.
7. Используя поле Name (Имя), можно переименовать любой эффект в списке.
Настройка атмосферных эффектов
Атмосферные эффекты являются визуальными эффектами, позволяющими имитировать такие природные явления, как дым, огонь, туман, облака, взрывы и т. п. Эффекты, примененные к сцене, становятся видимыми только после визуализации.
Зона действия атмосферных эффектов может быть ограничена различными способами: ближней и дальней границами, границей светового луча, настройками параметров. Чтобы ограничить действие эффектов Fire Effect (Эффект огня) и Volume Fog (Объемный туман), применяется габаритный контейнер. Он задает границы пространства сцены, в пределах которого будет формироваться эффект. Для создания габаритного контейнера необходимо щелкнуть на кнопке Helpers (Вспомогательные объекты) вкладки Create (Создание) командной панели и выбрать из раскрывающегося списка Atmospheric Apparatus (Атмосферная оснастка) (рис. 5.10).
Рис. 5.10. Типы габаритных контейнеров
Свиток Object Type (Тип объекта) содержит три кнопки для создания габаритных контейнеров разной формы: BoxGizmo (Параллелепипед Гизмо), SphereGizmo (Сфера Гизмо), а также CylGizmo (Цилиндр Гизмо).
После создания габаритного контейнера к нему можно применить стандартные преобразования перемещения, вращения и масштабирования.
Эффект Fire Effect (Эффект огня)
После добавления Fire Effect (Эффект огня) в список Effects (Эффекты) свитка Atmosphere (Атмосфера) окна Environment and Effects (Окружающая среда и эффекты) настройки данного эффекта появляются в свитке Fire Effect Parameters (Параметры эффекта огня) вкладки Environment (Окружающая среда) окна Environment and Effects (Окружающая среда и эффекты) (рис. 5.11).
Рис. 5.11. Свиток Fire Effect Parameters (Параметры эффекта огня)
Свиток Fire Effect Parameters (Параметры эффекта огня) содержит следующие области.
■ Gizmos (Габаритные контейнеры) – позволяет выбрать габаритный контейнер (кнопка Pick Gizmo (Указать контейнер)) или удалить его из списка (кнопка Remove Gizmo (Удалить контейнер)).
■ Colors (Цвета) – дает возможность настраивать цвета компонентов пламени на основе трех образцов цвета: Inner Color (Внутренний цвет), Outer Color (Наружный цвет) и Smoke Color (Цвет дыма).
■ Shape (Форма) – позволяет настраивать тип пламени, используя следующие параметры:
• переключатель Flame Type (Тип пламени), который имеет два положения: Tendril (Язык) – генерируются языки пламени, характерные для эффекта горения свечи, костра и т. п.; Fireball (Огненный шар) – тип пламени округлой формы, обычно применяемый для имитации взрывов;
• параметр Stretch (Растягивание) – задает длину растяжения пламени в пределах габаритного контейнера;
• параметр Regularity (Регулярность) – позволяет указать, как пламя будет заполнять габаритный контейнер.
■ Characteristics (Характеристики) содержит четыре параметра:
• Flame Size (Размер пламени) – устанавливает размер отдельных языков пламени внутри габаритного контейнера (для достижения лучшего результата рекомендуется использовать значения в пределах от 15 до 30);
• Flame Detail (Детализация пламени) – контролирует величину изменения цвета и резкость на границах каждого цвета;
• Density (Плотность) – позволяет задавать прозрачность эффекта горения;
• Samples (Выборка) – устанавливает частоту дискретизации эффекта.
■ Motion (Движение) представлена двумя параметрами:
• Phase (Фаза) – контролирует частоту изменения эффекта (если установлен флажок Explosion (Взрыв), то Phase (Фаза) контролирует стадии от образования пламени до образования дыма, используя значения от 0 до 300);
• Drift (Дрейф) – управляет визуализацией пламени вдоль оси Z габаритного контейнера.
■ Explosion (Взрыв) позволяет настраивать параметры взрыва:
• Explosion (Взрыв) – включает анимацию размера, плотности и цвета, основываясь на анимации параметра Phase (Фаза);
• Setup Explosion (Настройка взрыва) – открывает окно Setup Explosion Phase Curve (Настройка кривой фаз взрыва), в котором можно задать параметры кривой для начала и окончания взрыва;
• Smoke (Дым) – включает создание дыма в процессе взрыва, основанном на значениях параметра Phase (Фаза);
• Fury (Темп взрыва) – задает скорость мерцания вспышки взрыва.
Эффект Fog (Туман)
Эффект Fog (Туман) основывается на значениях области Environment Ranges (Диапазоны окружающей среды) настроек съемочной камеры. В связи с этим для применения эффекта тумана сцена должна визуализироваться с использованием вида из камеры. Настроить параметры атмосферного эффекта Fog (Туман) можно в свитке Fog Parameters (Параметры тумана) (рис. 5.12).
Рассмотрим настройки свитка Fog Parameters (Параметры тумана).
■ Fog (Туман) устанавливает следующие параметры:
• Color (Цвет) – отвечает за выбор цвета тумана;
• Environment Color Map (Карта цвета окружающей среды) – позволяет выбрать карту текстуры для использования ее в качестве цвета тумана;
Рис. 5.12. Свиток Fog Parameters (Параметры тумана)
• Environment Opacity Map (Карта прозрачности окружающей среды) – дает возможность использовать текстурную карту для управления плотностью тумана;
• Fog Background (Туман фона) – включает/выключает применение эффекта тумана к фону сцены;
• Type (Тип) – переключатель между двумя типами тумана: Standard (Стандартный) и Layered (Слоистый).
■ Standard (Стандартный) содержит параметры стандартного тумана:
• Exponential (Экспоненциально) – позволяет управлять плотностью тумана по мере удаления от камеры;
• Near (Ближе) и Far (Дальше) – позволяют задавать процент плотности тумана на ближней и дальней границах, определяемых в настройках камеры.
■ Layered (Слоистый) управляет настройками слоистого тумана:
• Top (Верх) – устанавливает верхнюю границу слоя тумана;
• Bottom (Низ) – задает нижнюю границу слоя тумана;
• Density (Плотность) – определяет плотность тумана;
• Horizon Noise (Шум горизонта) – добавляет шум в туман на линии горизонта, что повышает реалистичность эффекта;
• Size (Размер) – задает значение коэффициента масштаба для области шума;
• Falloff (Спад) – позволяет переключаться между тремя параметрами затухания плотности тумана: Top (Сверху), Bottom (Снизу) и None (Отсутствует);
• Angle (Угол) – устанавливает угол действия области шума над линией горизонта;
• Phase (Фаза) – позволяет анимировать область шума.
Эффект Volume Light (Объемный свет)
Эффект Volume Light (Объемный свет) имитирует прохождение светового луча в непрозрачной атмосфере (туман, дым, пыль и т. п.).
Параметры данного эффекта появляются в свитке Volume Light Parameters (Параметры объемного света) (рис. 5.13) после добавления этого эффекта в список Effects (Эффекты) свитка Atmosphere (Атмосфера) окна Environment and Effects (Окружающая среда и эффекты).
Рис. 5.13. Свиток Volume Light Parameters (Параметры объемного света)
С помощью свитка Volume Light Parameters (Параметры объемного света) можно настроить параметры в следующих областях.
■ Lights (Источники света) позволяет выбрать источник света (кнопка Pick Light (Указать источник света)) либо удалить его из списка (кнопка Remove Light (Удалить источник света)).
■ Volume (Объем) управляет характеристиками светового луча:
• Fog Color (Цвет тумана) и Attenuation Color (Цвет затухания) – образцы цвета, позволяющие задавать основной цвет светового луча и цвет, на который он будет изменяться по мере удаления от источника света;
• Exponential (Экспоненциально) – экспоненциально увеличивает плотность тумана по мере удаления от источника света;
• Density (Плотность) – управляет плотностью тумана;
• Max Light (Максимальная яркость) – ограничивает максимальную яркость тумана, нарастающую по мере удаления от источника света;
• Min Light (Минимальная яркость) – определяет настройки уровня подсветки;
• Atten. Mult. (Усилитель затухания) – управляет эффектом затухания цвета;
• Filter Shadows (Фильтрация теней) – позволяет улучшить качество визуализации объемного света за счет повышения количества отсчетов в выборке; может принимать одно из четырех положений: Low (Низкое), Medium (Среднее), High (Высокое) и Use Light Smp Range (Использовать область усреднения источника света).
■ Attenuation (Затухание) содержит два счетчика, позволяющие задавать Start (Начальная) и End (Конечная) границы затухания эффекта (значения базируются на границах ближней и дальней зон источника света).
■ Noise (Шум) позволяет настраивать режим шума в луче света:
• Noise On (Включить шум) – включает/выключает эффект шума;
• Amount (Величина) – процентное отношение шума в составе тумана (может принимать значения от 0 (отсутствие шума) до 1 (максимальный шум));
• Link To Light (Связать с источником) – связывает эффект шума с системой координат источника света;
• Type (Тип) – позволяет выбрать один из трех типов шума: Regular (Повторяющийся), Fractal (Фрактальный) или Turbulence (Турбулентный);
• Invert (Инвертировать) – установка флажка позволяет инвертировать эффект шума;
• Noise Threshold (Порог уровня шума) – отвечает за определение нижней (Low (Нижнее значение)) и верхней (High (Верхнее значение)) границ шума;
• Uniformity (Однородность) – управляет однородностью тумана;
• Levels (Уровни) – задает количество итераций алгоритма шума;
• Size (Размер) – определяет размер клубов тумана или дыма;
• Phase (Фаза) – при анимации позволяет управлять скоростью изменения шума;
• Wind Strength (Сила ветра) – задает силу ветра;
• Wind from the: (Ветер с:) – позволяет выбрать одно из шести направлений ветра.
Эффект Volume Fog (Объемный туман)
По своим параметрам Volume Fog (Объемный туман) во многом напоминает объемный свет. Настройки этого эффекта находятся в свитке Volume Fog Parameters (Параметры объемного тумана) (рис. 5.14).
Рис. 5.14. Свиток Volume Fog Parameters (Параметры объемного тумана)
Свиток Volume Fog Parameters (Параметры объемного тумана) позволяет настроить параметры в следующих областях.
■ Gizmos (Габаритные контейнеры) – предоставляет возможность выбрать габаритный контейнер (кнопка Pick Gizmo (Указать контейнер)) либо удалить его из списка (кнопка Remove Gizmo (Удалить контейнер)). Soften Gizmo Edges (Сглаженные края габаритного контейнера) – счетчик в диапазоне от 0 до 1, позволяющий задавать размытость краев эффекта тумана. Не рекомендуется использовать в качестве значения 0, так как это может стать причиной жестких, ступенчатых краев.
■ Volume (Объем) – позволяет настраивать параметры Color (Цвет), Exponential (Экспоненциально) и Density (Плотность), аналогичные настройкам объемного света. Кроме того, данная область содержит такие параметры:
• Step Size (Размер шага) – позволяет управлять степенью неоднородности тумана;
• Max Steps (Максимальное количество шагов) – ограничивает количество просчетов выборки тумана;
• Fog Background (Туман фона) – позволяет применять эффект тумана к фоновому изображению.
■ Noise (Шум) по своим параметрам практически аналогична рассмотренной выше области для объемного света.
Оптические эффекты
Оптические эффекты выступают как часть процесса визуализации, позволяя повысить реалистичность трехмерных сцен. Доступ к группе оптических эффектов можно получить при помощи вкладки Effects (Эффекты) окна Environment and Effects (Окружающая среда и эффекты) (рис. 5.15).
Рис. 5.15. Вкладка Effects (Эффекты) окна Environment and Effects (Окружающая среда и эффекты)
Для выбора оптических эффектов и настройки их параметров в свитке Effects (Эффекты) выполните следующие действия.
1. Щелкните на кнопке Add (Добавить). В результате откроется окно диалога Add Effect (Добавить эффект), в котором можно выбрать один из следующих эффектов: Hair and Fur (Волосы и мех), Lens Effects (Эффекты линзы), Blur (Размытие), Brightness and Contrast (Яркость и контраст), Color Balance (Цветовой баланс), Depth of Field (Глубина резкости), File Output (Вывод в файл), Film Grain (Зернистость) и Motion Blur (Размытие движения).
2. В окне Add Effect (Добавить эффект) выберите из списка тип требуемого эффекта и щелкните на кнопке OK для подтверждения выбора. В результате указанный эффект добавится в список Effects (Эффекты). При необходимости добавьте таким же образом другие эффекты.
3. Для того чтобы удалить эффект из списка Effects (Эффекты), выделите его и щелкните на кнопке Delete (Удалить).
4. Установите флажок Active (Активный), чтобы включить эффект в итоговую визуализацию сцены.
5. С помощью кнопок Move Up (Переместить вверх) и Move Down (Переместить вниз) измените при необходимости порядок следования эффектов в списке.
6. Кнопка Merge (Присоединить) позволяет присоединить к текущей сцене эффекты, подгружаемые из других сцен.
7. Используя поле Name (Имя), вы можете переименовать любой эффект списка.
8. В области Preview (Просмотр) настройте параметры, влияющие на предварительный просмотр эффектов:
• установите переключатель Effects (Эффекты) в одно из двух положений: All (Все) для предварительного просмотра всех эффектов списка или Current (Текущий) для просмотра только выделенного;
• установите флажок Interactive (Интерактивный), чтобы изменения параметров эффектов сразу отображались в окне визуализации;
• щелкните на кнопке Show Original (Показать оригинал) для просмотра сцены без применения эффектов;
• щелчок на кнопке Update Scene (Обновить сцену) обновляет изображение в окне визуализации с учетом выполненных изменений параметров эффектов и самой сцены;
• щелчок на кнопке Update Effect (Обновить эффект) обновляет визуализируемое изображение в том случае, если снят флажок Interactive (Интерактивный).
Фильтры Lens Effects (Эффекты линзы)
Находящаяся в верхней части списка группа Lens Effects (Эффекты линзы) является наиболее применяемой в визуализации сцен с дополнительными эффектами. В эту группу входят фильтры, имитирующие оптические эффекты реальных съемочных камер: Glow (Сияние), Ring (Круг), Ray (Луч), Auto Secondary (Вторичные автоблики), Manual Secondary (Вторичные блики ручной настройки), Star (Звезда), и Streak (Полоса).
Для доступа к списку эффектов линзы необходимо выделить в списке Effects (Эффекты) строку Lens Effects (Эффекты линзы). В результате в нижней части окна Environment and Effects (Окружающая среда и эффекты) появится свиток Lens Effects Parameters (Параметры эффектов линзы) (рис. 5.16).
Рис. 5.16. Свиток Lens Effects Parameters (Параметры эффектов линзы)
Для выбора необходимого фильтра выделите его имя в списке слева и щелкните на кнопке со стрелкой >. В результате выделенный фильтр переместится в правое окно. Для удаления выбранного фильтра из просчетов переместите его обратно – из правого окна в левое.
Настройки общих параметров для всех фильтров находятся в свитке Lens Effects Globals (Глобальные настройки эффектов линзы) (рис. 5.17).
Рис. 5.17. Свиток Lens Effects Globals (Глобальные настройки эффектов линзы)
Вкладка Parameters (Параметры) свитка Lens Effects Globals (Глобальные настройки эффектов линзы) содержит следующие настройки:
■ Load (Загрузить) – позволяет загрузить сохраненные ранее параметры фильтров данной группы;
■ Save (Сохранить) – вызывает окно Save Lens Effects file (Сохранить файл эффектов линзы), в котором вы можете указать имя файла и путь для его сохранения;
■ Size (Размер) – задает размер участка изображения, подверженного влиянию фильтра (определяется в процентах от всего визуализируемого изображения);
■ Intensity (Интенсивность) – управляет общими параметрами яркости и непрозрачности эффектов линзы;
■ Seed (Случайная выборка) – задает случайное число для генерации эффектов линзы без изменения начальных параметров;
■ Angle (Угол) – задает значения угла поворота эффекта линзы относительно начального положения при повороте съемочной камеры;
■ Squeeze (Сдавливание) – управляет изменением пропорций области эффекта, растягивая его по горизонтали (при положительных значениях счетчика) или по вертикали (при отрицательных);
■ Lights (Источники света) – содержит две кнопки: Pick Light (Указать источник света), позволяющую выбрать источник света в окне проекции, и Remove (Удалить), которая удаляет из списка выделенный источник света.
Настройки вкладки Scene (Сцена) свитка Lens Effects Globals (Глобальные настройки эффектов линзы) позволяют более тонко настраивать параметры линзовых эффектов, влияющих на их отображение в сцене. Среди данных настроек присутствуют режим воздействия на альфа-канал, действие эффекта в зависимости от расстояния до камеры или расположения объектов по оси Z (глубины сцены) и некоторые другие. При настройке эффектов линзы обычно используются параметры по умолчанию.
Рассмотрим общие параметры, характерные для настройки фильтров группы Lens Effects (Эффекты линзы), на примере фильтра Glow (Сияние). Он позволяет создавать эффект светящегося ореола вокруг любых выбранных объектов. Одной из задач, выполняемых при помощи этого фильтра, является создание эффекта свечения неоновой рекламы. При выборе фильтра Glow (Сияние) становится доступным свиток Glow Element (Элемент сияния) (рис. 5.18) с настройками его параметров.
Свиток Glow Element (Элемент сияния) содержит две вкладки: Parameters (Параметры) и Options (Режимы).
Для настройки элементов вкладки Parameters (Параметры) (см. рис. 5.18) выполните следующие действия.
Рис. 5.18. Свиток Glow Element (Элемент сияния) настроек эффекта Glow (Сияние)
1. Установите или снимите флажок On (Включить) в зависимости от того, должен или нет просчитываться эффект во время визуализации изображения.
2. Задайте размер области действия эффекта, используя параметр Size (Размер).
3. С помощью параметра Intensity (Интенсивность) установите уровень яркости и непрозрачности каждого отдельного эффекта.
4. Установите флажок Glow Behind (Сияние позади), чтобы эффект проявлялся позади объектов сцены.
5. Используя счетчик Occlusion (Перекрытие), укажите, в какой мере на эффекте должно сказываться влияние аналогичного параметра из Lens Effects (Эффекты линзы) вкладки Scene (Сцена).
6. Установив флажок Squeeze (Сдавливание), включите режим растяжения области действия эффекта, заданного в свитке Lens Effects (Эффекты линзы) вкладки Parameters (Параметры).
7. Параметр Use Source Color (Использовать цвет источника) позволяет задать долю использования цвета объекта или источника света по отношению к указанным цветам Radial Color (Цвет вдоль радиуса) или Circular Color (Цвет вдоль окружности). Значение, равное 0, позволяет использовать только цвета, указанные в образцах, а значение, равное 100, использует только цвет источника. Промежуточные значения генерируют смешанные цвета.
8. В области Radial Color (Цвет вдоль радиуса) настройте параметры внешней и внутренней области эффекта сияния:
• при помощи образцов цвета укажите цвет внешней и внутренней области эффекта сияния;
• щелкните на кнопке None (Отсутствует), если нужно выбрать в качестве образца цвета карту текстуры;
• нажмите кнопку Falloff Curve (Кривая спада), чтобы настроить кривую влияния цвета вдоль радиуса с использованием более чем одного цвета или текстурной карты.
9. Область Circular Color (Цвет вдоль окружности) позволяет использовать четыре образца цвета, которые будут располагаться по окружности внешней части эффекта. Параметр Mix (Смешивание) задает степень смешивания цветов группы Circular Color (Цвет вдоль окружности). Действие остальных кнопок не отличается от рассмотренных для области Radial Color (Цвет вдоль радиуса).
1 0. При помощи кнопки Size Curve (Кривая размера) настройте в области Radial Size (Радиальный размер) кривую распространения эффекта относительно объекта или источника света, которому назначен этот эффект. Щелчок на кнопке с надписью None (Отсутствует) позволяет загрузить в качестве управляющей областью эффекта карту текстуры.
На рис. 5.19 показана вкладка Options (Режимы) свитка Glow Element (Элемент сияния).
Рис. 5.19. Вкладка Options (Режимы) свитка Glow Element (Элемент сияния)
Для настройки параметров вкладки Options (Режимы) выполните следующие действия.
1. В области Apply Element To (Применить элемент к) установите или снимите следующие флажки:
• Lights (Источники света) – применение эффекта к источникам света, выбранным в области Lights (Источники света) свитка Lens Effects Globals (Глобальные настройки эффектов линзы) вкладки Parameters (Параметры);
• Image (Изображение) – применение эффекта к визуализированному изображению с использованием параметров области Image Sources (Источники изображения);
• Image Centers (Центры изображения) – флажок применяется к центру объекта (или группе объектов) с учетом настроек области Image Filters (Фильтры изображения).
2. В области Image Sources (Источники изображения) настройте параметры источников сияния.
• Object ID (Идентификатор объекта) – позволяет применять эффект к отдельным объектам сцены с назначенным каналом G-Buffer (G-буфер). G-буфер – это буфер графики, который может быть присвоен объекту в области Rendering Control (Управление визуализацией) окна Object Properties (Свойства объекта), вызываемого командой Properties (Свойства) контекстного меню объекта. Для применения эффекта к отдельным объектам сцены номера их каналов G-буфера должны совпадать с номерами в счетчике Object ID (Идентификатор объекта).
• Material ID (Идентификатор канала материала) – указывает на то, что эффекты линзы будут применяться к объекту или части объекта с назначенным в окне Material Editor (Редактор материалов) номером Material ID Channel (Канал идентификаторов материала), который соответствует каналу, установленному в поле Material ID (Идентификатор канала материала).
• Unclamp (Неограниченный цвет) – это цвет более яркий, чем белый цвет (со значениями всех параметров, равными 255). Параметр Unclamp (Неограниченный цвет) позволяет задавать минимальное значение, при достижении которого будет применяться эффект сияния к участкам изображения. При значении, равном 1, эффект будет применяться ко всем пикселам изображения, значения которых больше 255.
• Surf Norm (Нормаль поверхности) – эффект сияния будет применяться к участкам поверхности, нормали которых находятся по отношению к камере в пределах углов, заданных при помощи параметра Surf Norm (Нормаль поверхности).
• Whole (Вся сцена) – эффект сияния будет применен ко всей сцене с учетом значений параметров области Image Filters (Фильтры изображения).
• Alpha (Альфа-канал) – позволяет применять эффект сияния к альфа-каналу изображения.
• Z Hi (Верхний предел Z-буфера) и Z L o (Нижний предел Z-буфера) – задают значения ближней и дальней границ диапазона сцены, базирующихся на расстоянии от съемочной камеры, в пределах которого будет рассчитываться эффект.
3. Задайте значения параметров, определяющих степень применения эффектов линзы, в области Image Filters (Фильтры изображения):
• All (Все) – эффект сияния применяется ко всем пикселам сцены;
• Edge (Ребро) – эффект будет применяться к краям областей пикселов, вызывая мягкий эффект гало по обе стороны от контуров;
• Perim Alpha (Периметр альфа-канала) – эффект сияния проявится только на внешних границах объекта, определяемых при помощи альфа-канала;
• Perim (Периметр) – эффект сияния, подобный предыдущему, но применяется к объектам, не имеющим альфа-канала, и основывается на интерференции ребер объектов;
• Bright (Яркость) – позволяет применять эффект только к тем областям, яркость которых выше заданной этим параметром;
• Hue (Цветовой тон) – эффект будет применяться только к тем областям, цветовой тон которых указан в поле образца цвета.
4. При помощи настроек области Additional Effects (Дополнительные эффекты) примените к эффектам линзы различные текстурные карты (например, Noise (Шум)). Установка флажка Apply (Применить) активизирует выбранную карту текстуры, а кнопка Radial Density (Радиальная плотность) позволяет настраивать кривую аналогично параметру Radial Falloff (Радиальный спад).
Остальные фильтры позволяют получать следующие эффекты.
■ Blur (Размытие) – позволяет применять размытие следующим образом: ко всей сцене, только к объектам сцены, исключая фон, базируясь на значениях яркости или используя для этого текстурную карту. С помощью эффекта Blur (Размытие) можно размыть изображение тремя способами:
• Uniform (Равномерное) – размытие применяется равномерно ко всему изображению;
• Directional (Направленное) – создается эффект направленного размытия, подобно тому, при помощи которого изображают движение;
• Radial (Радиальное) – радиальное размытие сцены, направленное в определенную точку.
■ Brightness and Contrast (Яркость и контраст) – настраивает параметры яркости и контрастности изображения. Может применяться для согласования визуализированных объектов сцены с фоновым изображением.
■ Color Balance (Цветовой баланс) – управляет балансом цветовых составляющих изображения сцены.
■ Depth of Field (Глубина резкости) – позволяет управлять размытием изображения по мере удаления от камеры. Для настройки расфокусировки изображения могут использоваться параметры области Focal Parameters (Параметры фокусировки), позволяющие задавать диапазон действия эффекта или использовать значения съемочной камеры. Данный фильтр позволяет имитировать съемку реальной камерой или фотоаппаратом.
■ File Output (Вывод в файл) – сохраняет визуализированное изображение сцены до того, как к нему будут применены какие-либо другие оптические эффекты, размещенные в списке ниже этого фильтра.
■ Film Grain (Зернистость) – имитирует естественную зернистость фото– или кинопленки.
■ Motion Blur (Размытие движения) – применяется для размытия движущихся объектов сцены, позволяя повысить реалистичность анимации за счет имитации эффекта размытия реальных съемочных камер.
■ Hair and Fur (Волосы и мех) – предназначен для визуализации волос. При помощи данного эффекта обеспечивается контроль над параметрами визуализации, размытием движения, тенями и взаимодействием с другими объектами. Основные параметры модуля для создания волос Hair and Fur сосредоточены в свитках настроек модификатора Hair and Fur (Волосы и мех).
Модуль Video Post (Видеомонтаж)
Программный модуль Video Post (Видеомонтаж) предназначен для обработки визуализированных изображений с целью получения таких эффектов, как блики или свечение, создания межкадровых переходов, добавления внешних изображений и многого другого.
Для доступа к модулю Video Post (Видеомонтаж) выполните команду Rendering ► Video Post (Визуализация ► Видеомонтаж). В результате откроется окно (рис. 5.20).
Рис. 5.20. Окно Video Post (Видеомонтаж)
В левой части окна Video Post (Видеомонтаж) размещается список элементов очереди событий видеомонтажа (VP Queue (Очередь видеомонтажа)), в правой части – окно шкалы времени (VP Timeline (Временная шкала видеомонтажа)), а сверху и снизу – панель инструментов и строка состояния.
Панель инструментов Video Post (Видеомонтаж)
Панель инструментов Video Post (Видеомонтаж) содержит:
New Sequence (Создать цепочку) – создает новую цепочку событий и ставит ее в новую очередь;
Open Sequence (Открыть цепочку) – загружает сохраненную ранее цепочку видеомонтажа;
Save Sequence (Сохранить цепочку) – сохраняет цепочку видеомонтажа на диске;
Edit Current Event (Редактировать текущее событие) – открывает окно, в котором можно отредактировать текущее событие;
Delete Current Event (Удалить текущее событие) – удаляет текущее событие;
Swap Events (Переставить события) – меняет местами положение двух выделенных событий очереди;
Execute Sequence (Выполнить цепочку) – запускает процесс визуализации изображения, заданного цепочкой событий видеомонтажа;
Edit Range Bar (Редактировать диапазон действия) – позволяет редактировать диапазон времени действия события;
Align Selected Left (Выровнять выделенные диапазоны влево) – выравнивает влево диапазоны действия выделенных событий;
Align Selected Right (Выровнять выделенные диапазоны вправо) – выравнивает вправо диапазоны действия выделенных событий;
Make Selected Same Size (Уравнять выделенные диапазоны) – делает диапазон действия выделенных событий одинаковой продолжительности;
Abut Selected (Состыковать выделенные диапазоны) – выравнивает конец одного выделенного события относительно начала другого;
Add Scene Event (Добавить событие-сцену) – добавляет изображение окна проекции в очередь видеомонтажа;
Add Image Input Event (Добавить событие ввода изображения) – позволяет добавлять в качестве событий внешние изображения;
Add Image Filter Event (Добавить событие фильтрации изображения) – добавляет фильтры для обработки изображения;
Add Image Layer Event (Добавить событие композиции изображений) – позволяет объединять несколько событий очереди, расположенных друг за другом;
Add Image Output Event (Добавить событие вывода изображения) – позволяет направить визуализированное изображение в файл или на внешнее устройство;
Add External Event (Добавить внешнее событие) – добавляет в сцену событие, вызывающее для обработки изображения внешнюю программу;
Add Loop Event (Добавить событие-цикл) – позволяет настраивать циклическое повторение другого события очереди.
Очередь видеомонтажа
Окно очереди видеомонтажа, расположенное в левой части окна Video Post (Видеомонтаж), представляет собой список событий, выполняемых последовательно сверху вниз. Если в списке присутствуют события, являющиеся дочерними по отношению к другим событиям сцены, то сначала выполняются они. На рис. 5.21 показан список событий очереди, в котором события будут выполняться в следующем порядке.
1. Визуализируется вид из камеры (событие-сцена Camera01).
2. Добавится внешний файл goodyear.jpg (событие ввода изображения).
3. К изображению файла goodyear.jpg будет применен фильтр Lens Effects Glow (Эффекты линзы, сияние) (событие фильтрации изображения).
Рис. 5.21. События очереди видеомонтажа
4. Визуализация вида из камеры, а также внешний файл goodyear.jpg объединяются в одно изображение с использованием текстурной маски, указанной в событии Alpha Compositor (Альфа-объединитель) (событие композиции изображений).
5. Полученное изображение будет записано в файл с названием Outpute.jpg (Событие вывода изображения).
Таким образом, положение события в списке важно с точки зрения конечного результата. Событие можно удалить или переместить на новое место в очереди, щелкнув на его имени и перетащив в нужное место списка. Формирование последовательного списка событий происходит тогда, когда при добавлении событий в списке ничего не выделено. Чтобы добавить дочернее событие, необходимо выделить событие списка, которое должно стать родительским, и только после этого добавлять новое событие. События композиции изображений и события-циклы всегда добавляются как родительские события, а внешние события – как дочерние.
События и фильтры видеомонтажа
Модуль Video Post (Видеомонтаж) позволяет оперировать следующими типами событий.
■ Scene Event (Событие-сцена) – позволяет выбрать окно проекции, которое будет использовано для визуализации в очереди видеомонтажа. Для события-сцены можно настроить следующие параметры:
• назначить визуализатор из списка установленных;
• настроить общие параметры визуализатора (такие как визуализация эффектов, визуализация полями, смещения и т. д.);
• включить или выключить из итоговой визуализации показ материалов, расчет теней, отражения и т. д.;
• включить или выключить сглаживание и фильтрацию текстурных карт.
■ Image Input Event (Событие ввода изображения) – позволяет добавлять в сцену статичное или анимированное изображение. В отличие от события-сцены, это может быть ранее сохраненное на диске изображение или изображение, полученное с внешнего устройства. Для использования в качестве события ввода изображения можно применять любые форматы графических файлов, поддерживаемых 3ds Max. Данное событие обычно используется для последующего применения к нему фильтров или в составе событий композиции. Событие ввода изображения позволяет настраивать следующие основные параметры:
• выравнивание, размер и диапазон кадров входящего изображения;
• начало и конец действия события в рамках шкалы времени видеомонтажа.
■ Image Filter Event (Событие фильтрации изображения) – позволяет применять фильтры для обработки событий-сцен или событий ввода изображения.
Обычно события фильтрации изображений являются родительскими по отношению к изображениям, к которым они применяются. Доступны следующие типы фильтров.
• Contrast (Контраст) – настраивает контрастность и яркость изображения при помощи вызываемого окна Image Contrast Control (Контроль контрастности изображения).
• Fade (Наплыв) – позволяет постепенно уменьшать или увеличивать интенсивность изображения. Применяется для создания переходов между отдельными изображениями или анимацией.
• Image Alpha (Альфа-канал) – переопределяет альфа-канал изображения, к которому он применяется, на канал маски, заданный в настройках фильтра. Если маска не определена, то фильтр не оказывает действия. Настройка фильтра не требуется. Обычно применяется для отсечения ненужных участков изображения с целью последующего использования с событиями композиции.
• Lens Effects (Эффекты линзы) – группа фильтров, позволяющая имитировать следующие эффекты: Flare (Блики) – блики на линзах объектива съемочной камеры; Focus (Фокусировка) – эффект размытия объектов, основанный на расстоянии от съемочной камеры; Glow (Сияние) – сияние вокруг объектов, к которым применяется данный фильтр; Highlight (Сверкание) – создание зеркальных бликов в виде звездочек.
• Negative (Негатив) – инвертирует цвета изображения; эффект напоминает негатив цветной фотопленки.
• Pseudo Alpha (Мнимый альфа-канал) – создает альфа-канал для изображений, не имеющих его, на основе цвета первого пиксела (первый пиксел – в верхнем левом углу изображения). Все пикселы изображения, имеющие такой же цвет, будут прозрачными. Обычно применяется для композиции изображений, не имеющих альфа-канала.
• Simple Wipe (Шторка) – создает эффект открытия или закрытия изображения черной шторкой. Настройки данного фильтра позволяют управлять направлением движения шторки и режимом открытия/закрытия. Обычно этот эффект применяется в сочетании с событием Alpha Compositor (Альфа-объединитель) для создания эффекта наплыва одного изображения на другое.
• Starfield (Звездное поле) – генерирует звездное небо с возможностью применения эффекта размытия. Для применения данного эффекта необходимо использовать вид из камеры.
■ Image Layer Event (Событие композиции изображений) – событие, позволяющее объединять два изображения посредством фильтров. Оно всегда является родительским по отношению к двум дочерним изображениям, которые, в свою очередь, могут быть родительскими и иметь дочерние. Процесс объединения изображений может контролироваться при помощи маски прозрачности, задаваемой в области Mask (Маска). Доступны следующие типы фильтров-объединителей.
• Adobe Premiere Transition Filter (Фильтр переходных эффектов Adobe Premiere) – применяется для подключения фильтров межкадровых переходов программы Adobe Premiere. Для доступа к этим фильтрам необходимо указать путь в окне Adobe Premiere Transition Filter Setup (Настройка фильтров переходных эффектов Adobe Premiere).
• Alpha Compositor (Альфа-объединитель) – объединяет два изображения, при этом для управления прозрачностью используется альфа-канал верхнего изображения.
• Cross Fade Transition (Микширование наплывом) – создает переходы, при которых одно изображение проявляется на фоне другого. Время перехода определяется диапазоном действия события в окне шкалы времени.
• Pseudo Alpha (Мнимый альфа-канал) – аналогично одноименному событию фильтрации изображения, позволяет объединять два изображения, не имеющих альфа-канала.
• Simple Additive Compositor (Суммирующий объединитель) – фильтр, аналогичный Cross Fade Transition (Микширование наплывом), но позволяющий использовать интенсивность второго изображения для определения прозрачности. Применяется, когда изображение не имеет альфа-канала.
• Simple Wipe (Шторка) – позволяет открывать/закрывать одно изображение другим, используя эффект шторки. Применяется для создания переходных эффектов.
■ External Event (Внешнее событие) – добавляет в очередь событие, которое вызывает внешнее приложение, предназначенное для обработки изображения.
■ Loop Event (Событие-цикл) – задает циклическое повторение других событий в итоговой визуализации. Всегда является родительским по отношению к применяемым событиям.
■ Image Output Event (Событие вывода изображения) – позволяет направить результат выполнения очереди событий для записи в файл или на внешнее устройство. Возможна запись в любой из графических форматов, поддерживаемых 3ds Max. Обычно является последним в очереди событий и при необходимости может повторяться неоднократно для записи в разные форматы графических файлов.
Глава 6 Технологии вывода анимированных изображений
• Визуализация анимации
• Размытие движущихся объектов сцены
• Технология сжатия видео
• Сетевая визуализация
• Общие рекомендации по визуализации видеоизображений
Растущая популярность цифрового видео, Интернета и широкое распространение CD и DVD породили спрос на графическое содержимое, поставляемое на цифровых носителях. В отличие от статического изображения, которое может быть отпечатано на бумаге, анимационные ролики могут существовать только в виде самостоятельных продуктов, отображаемых на экране монитора, телевизора или проектора.
Возможности программы 3ds Max настолько обширны, что с ее помощью можно создавать анимацию с высоким разрешением и цветовой глубиной не только для цифрового воспроизведения, но и для представления на видео. Приложение 3ds Max предназначено для профессионального моделирования и анимации, которая способна управлять 64 битами информации на кадр – то есть по 16 бит на каждый канал RGBA.
Формат итогового изображения должен определяться задолго до того, как начнется визуализация анимированных образов, так как в зависимости от выбранного формата может существенно меняться как творческое, так и техническое решение проекта.
Визуализация анимации
Анимация основывается на особенностях человеческого зрения. Если вы видите серию связанных неподвижных картинок, которые быстро сменяют друг друга, то ваш мозг начинает воспринимать их как непрерывное изображение. Каждое такое изображение называется кадром. Именно визуализация диапазона кадров приводит к тому, что мы на выходе получаем либо последовательность статичных изображений (которые затем можно использовать в программах постобработки), либо анимированный файл.
Исходя из того что визуализация анимированных образов базируется на визуализации статичных кадров, настройки визуализатора того и другого во многом совпадают. Рассмотрим основные требования к визуализации анимированных изображений.
Определение формата и оптимального разрешения
Как уже говорилось ранее, определение конечных целей проекта на как можно более ранней стадии моделирования является обязательным. Именно до начала моделирования вы должны точно знать требования к выходному изображению, степень детализации, тип носителя и устройство воспроизведения итогового файла.
Разрешением называется горизонтальное и вертикальное количество пикселов в двумерном изображении. Например, разрешение 640 x 480 описывает изображение, у которого 640 пикселов по горизонтали и 480 по вертикали. Важной характеристикой изображения является также глубина цвета (см. ниже), например 16 бит, 24 бита или 32 бита (изображение с альфа-каналом).
Соотношение ширины и высоты изображения называется форматным соотношением (Aspect ratio). Оно вычисляется делением горизонтального разрешения на вертикальное. При разрешении 640 х 480 форматное соотношение равно 1,33 (или 4:3). Такое соотношение является общепринятым для телевизоров и компьютерных мониторов. Тем не менее, в зависимости от типа монитора, пленки и проекционной системы, форматное соотношение может находиться в пределах от 1,33 до 2,35. Задать требуемое разрешение можно, используя вкладку Common (Общие) окна Render Scene (Визуализация сцены) (рис. 6.1).
Рис. 6.1. Окно Render Scene (Визуализация сцены) с раскрытым списком предустановленных форматов
Рассмотрим основные форматы итогового изображения для анимации (разрешение, форматное соотношение, соотношение пиксела):
■ 640 х 480; 1,33; 1 – базовое разрешение монитора компьютера;
■ 800 х 600; 1,33; 1 – среднее разрешение монитора компьютера;
■ 1024 х 768; 1,33; 1 – среднее разрешение монитора компьютера;
■ 1280 х 960; 1,33; 1 – высокое разрешение монитора компьютера;
■ 1600 х 1200; 1,33; 1 – высокое разрешение монитора компьютера;
■ 720 х 576; 1,33; 1,06 – PAL/SECAM D-1 (европейский телевизионный формат);
■ 720 х 486; 1,33; 0,9 – NTSC D-1 (телевизионный формат Азии и Америки);
■ 720 х 1280; 1,77; 1 – HDTV (формат DVD-устройств);
■ 1080 х 1980; 1,77; 1 – HDTV (формат DVD-устройств);
■ 3072 х 2048; 1,5; 1 – 35-миллиметровые слайды/пленка (формат Kodak Photo CD).
Кроме описанных выше, существуют форматы, которые предназначены для киноиндустрии, и малоиспользуемые телевизионные форматы.
Анализируя представленный выше список, можно заметить, что разрешения при разных форматах значительно отличаются друг от друга. Таким образом, формат (разрешение) визуализируемой анимации зависит от типа воспроизводящего устройства.
ПРИМЕЧАНИЕ
Обычно заказчик видеоролика или другой анимационной продукции заранее оговаривает требования к выводному изображению в зависимости от того, для каких целей выполняется работа и на каком оборудовании будет редактироваться или транслироваться созданная анимация. Например, может потребоваться несжатое видео в полях формата QuickTime с разрешением 720 х 576 PAL D-1, соотношением пиксела 1,06 и частотой кадров (fps) 25 кадров в секунду.
Глубина цвета
Глубина цвета (Color Depth) – это количество цветов, которое содержится в сгенерированном изображении. Для описания цвета компьютеры оперируют конкретными цифровыми величинами, выраженными в битах (обозначение одного двоичного числа). Например, в 8-битном изображении (это может быть файл с расширением GIF или PNG) каждый пиксел представлен 8 битами, что позволяет пикселу использовать один из 256 различных цветов.
В компьютерной графике существует несколько битовых глубин, которыми может оперировать пользователь.
■ 8-битная настраиваемая палитра – каждый пиксел содержит один из 256 цветов из всего доступного цветового спектра. При необходимости цветовую палитру можно настраивать для каждого конкретного изображения. Малое количество цветов недостаточно для реалистичного отображения всей цветовой гаммы, зато такой файл имеет малый размер и быстро загружается. Чаще всего эта палитра применяется для Интернета.
■ 16-битная палитра – позволяет использовать один из 65 536 цветов на каждый пиксел. Применяется в играх и мультимедиа.
■ 24-битный цвет – наиболее используемая палитра, способная передавать реальные образы. В каждом пикселе может содержаться один из 16,7 млн цветов. В 24-битных цветных изображениях общее количество бит на пиксел делится на три и присваивается каждому из трех основных цветов, составляющих свет: Red (красный), Green (зеленый) и Blue (cиний). Другими словами, один пиксел в 24-битном изображении содержит 8 бит информации красного цвета, 8 бит – зеленого и 8 бит – синего. Каждый канал может отображать соответствующий цвет при любом из 256 уровней яркости, где 0 соответствует полному отсутствию яркости, а 255 – максимальной яркости. Анимация, предназначенная для фильма или видео, практически всегда визуализируется в 24-битном цвете.
■ 32-битный цвет – это 24-битный цвет с альфа-каналом. Альфа-канал (Alpha-channel) – это дополнительные 8 бит информации о прозрачности изображения. Подобная информация добавляется к RGB-данным, характеризующим изображение, поэтому 24-битное изображение с альфа-каналом становится 32-битным рисунком. Альфа-канал, как и каждый из каналов R, G или В, обладает 256 уровнями интенсивности, однако эта информация относится не к цвету, а к изменению прозрачности соответствующего изображения относительно его фона.
■ 64-битный цвет – достаточно редко используемая глубина цвета. Применяется графическими адаптерами, сканерами и другими устройствами, которые могут поддерживать даже более высокую цветовую насыщенность для выполнения внутренних вычислений и вывода высококачественных изображений. Вместе с тем 64-битный цвет является внутренним для 3ds Max и позволяет получать на выходе более сглаженные цветовые переходы.
Кроме того, существуют 48-битный цвет и высокоточные форматы с плавающей точкой.
Форматы файлов
Кроме форматов выводного изображения, о которых говорилось ранее, необходимо упомянуть и о форматах анимационных файлов. В зависимости от цели можно использовать различные форматы записи. Представленные далее форматы являются в основном 24-битными или 32-битными, но могут поддерживать и более низкую глубину цвета.
■ АVI (Audio-Video Interleave) – разработан компанией Microsoft в качестве стандарта цифрового видео для персональных компьютеров. Может записываться как в несжатом, так и в сжатом виде.
■ BMP (BitMaP) – создан компанией Microsoft для пиктограмм и рисунков в среде Windows. Поддерживается практически всеми приложениями и не имеет методов сжатия. Может иметь 8– и 24-битный цвет.
■ GIF (Graphic Interchange Format) – 8-битный формат сжатия без потерь, являющийся собственностью компании CompuServe. Широко используется для сжатия изображений, имеющих малое количество цветов. В последние годы популярность анимации в Интернете, для которой активно используется GIF-89a, привела к применению данного формата для анимированных файлов.
■ JPG, JPEG (Joint Photographic Experts Group) – разработан как метод сжатия с потерями. Значительно сжимает фотографические изображения путем устранения незначительных различий в цветах пикселов. Этот метод обеспечивает одну из самых высоких степеней сжатия, но может вызвать нежелательные искажения изображения при слишком интенсивном использовании или многократном сжатии. Формат часто применяется для сжатия цифровых видеофайлов.
■ MPG, MPEG (Motion Picture Experts’ Group) – метод сжатия видео с потерями. Существуют две модификации: MPEG-1, используемый для формата Video CD, и MPEG-2, применяемый в DVD-проигрывателях.
■ PNG (Portable Network Graphics) – это удобный и надежный формат сжатия без потерь. Аналогично формату GIF, имеет хороший коэффициент сжатия изображений с небольшим количеством ровных, сплошных цветов. Возможна запись альфа-канала.
■ QT (QuickTime) – разработан компанией Apple. Он является первым коммерческим форматом цифрового видео для Macintosh и может применяться для фото– и видеофайлов. Данный формат работает с большим количеством различных методов сжатия. Позже была разработана версия для ПК, использующая расширение MOV. Этот формат желательно применять для записи видеоматериала, особенно если идет речь о работе с разными программными платформами.
■ TGA (TarGA) – создан компанией Pinnacle Systems для захвата видео и вывода на пленку компьютерной графики или цифрового видео. Данный формат поддерживает сжатие без потерь и альфа-канал. Применяется для хранения изображений со сглаженными цветовыми градациями или фотографий.
■ TIF, TIFF (Tagged Image File Format) – формат фотографий. Существуют различные реализации данного формата в зависимости от платформы – ПК или Macintosh. Многие современные программы воспринимают любую версию. В TIFF есть несколько разных вариантов сжатия без потерь и возможность записи альфа-канала.
Отдельно стоит упомянуть о форматах, значительно реже используемых для сохранения компьютерной графики, но имеющих определенную ценность для программ постобработки. В первую очередь речь идет о программе Combustion. То, что пользователи 3ds Max предпочитают работать в этом приложении, объясняется не только большими возможностями данного приложения и его удобством, но и совместимостью с 3ds Max. Это позволяет передавать в программу постобработки значительное количество дополнительной информации, такой как эффекты материалов, информация о нормалях, цвет, скорость и т. д. Можно отметить следующие форматы.
■ RLA – разработан компанией Silicon Graphics, позволяет включить в изображение дополнительные каналы. Если выбрать из списка доступных форматов для записи выходного изображения строку RLA Image File и щелкнуть на кнопке Save (Сохранить), то откроется окно RLA Image File Format (Формат файла изображения RLA) (рис. 6.2). В нем можно определить, какие каналы из перечисленных в области Optional Channels (3ds max Channels) (Дополнительные каналы (каналы 3ds max)) будут записаны вместе с изображением.
Рис. 6.2. Окно RLA Image File Format (Формат файла изображения RLA)
■ RPF (Rich Pixel Format) – как и RLA, поддерживает дополнительные каналы изображения. При выборе формата RPF появляется окно RPF Image File Format (Формат файла изображения RPF) (рис. 6.3). Данный формат применяется, когда визуализируемая анимация требует последующей постобработки или добавления эффектов. Формат RPF поддерживает большое количество каналов, недоступных в других случаях.
Рис. 6.3. Окно RPF Image File Format (Формат файла изображения RPF)
Основным носителем для записи визуализированных образов является жесткий диск, даже если в дальнейшем планируется вывод изображения на видеопленку или слайды. Главная проблема такого вывода заключается в том, что может возникнуть дефицит свободного места, особенно если визуализируется последовательность кадров. Чтобы избежать такой ситуации, следует выполнить расчет необходимого для хранения последовательности места на жестком диске, для чего нужно визуализировать несколько типичных кадров и умножить их средний размер на общее количество кадров анимации.
Форматы и особенности видеосигнала
При записи на видеоленту или при создании проекта, предназначенного для телевизионной трансляции, процесс визуализации имеет некоторые особенности.
Существуют три общепринятых видеостандарта. Каждый из них имеет собственную частоту смены кадров и разрешения. Рассмотрим эти форматы.
■ NTSC (National Television Standards Committee) – используется в США и Японии. Для телевизоров формата NTSC характерны 525 строк развертки с частотой 60 Гц. Типовое разрешение стандарта NTSC – 720 х 486 пикселов с соотношением пиксела 0,9. Для стандарта NTSC используется анимация с частотой 30 кадров в секунду.
■ PAL (Phase Alternating Line) – применяется в большинстве стран Западной Европы. Для телевизоров этого формата характерны 625 строк развертки с частотой 50 Гц. Типовое разрешение визуализации – 720 х 576 пикселов с соотношением пиксела 1,06. Анимация стандарта PAL имеет частоту 25 кадров в секунду.
■ SECAM (Systeme Electronique CouleurAvec Memoire) – используется во Франции, а также в России и других странах Европы. Телевизоры этого формата, как и стандарта PAL, характеризуются 625 строками развертки с частотой 50 Гц. Здесь также применяется анимация с частотой 25 кадров в секунду.
ВНИМАНИЕ
В отличие от форматов, предназначенных для воспроизведения на мониторе, телевизионные стандарты не используют квадратный пиксел. На практике это означает, что если не задать правильное соотношение пиксела, то на экране телевизора изображение будет выглядеть деформированным.
Как уже говорилось ранее, задать требуемое разрешение можно, используя вкладку Common (Общие) окна Render Scene (Визуализация сцены) (см. рис. 6.1). В свою очередь, установить необходимую частоту кадров визуализации можно при помощи настроек области Frame Rate (Частота кадров) окна Time Configuration (Настройка временных интервалов), которое можно вызвать, щелкнув на одноименной кнопке
в правой нижней части окна программы.
Кроме описанных выше параметров, телевизионные форматы характеризуются наличием полей. На практике это означает, что каждый кадр отображается на экране телевизора в два прохода: электронный луч телевизора формирует строки изображения, пропуская каждую вторую, а затем возвращается и формирует те, которые были пропущены.
При выборе режима визуализации для записи на пленку или последующего отображения на экране телевизора необходимо использовать функцию визуализации полей (Render to Fields (Визуализация полей)), которая находится в области Options (Параметры) свитка Common Parameters (Общие параметры) вкладки Common (Общие) окна Render Scene (Визуализация сцены).
Благодаря использованию этого параметра, изображения визуализируются так же, как их отображает телевизор, то есть каждый кадр визуализируется в два прохода – только четные строки и только нечетные. Применение такого метода занимает больше времени, однако быстро движущиеся объекты будут выглядеть намного ровнее, потому что изображение обновляется в полном соответствии с частотой обновления телевизора.
ВНИМАНИЕ
Никогда не применяйте визуализацию полей для последующего компьютерного воспроизведения анимации, так как в прогрессивных сканирующих устройствах поля не применяются. Это же справедливо и для записи на кинопленку – кинопроекторы воспроизводят каждый кадр только один раз.
Важно отметить, что не существует стандарта относительно того, какое поле должно быть визуализировано первым – нечетные или четные строки развертки. Порядок, в котором их нужно визуализировать, зависит от используемого аппаратного обеспечения видеомонтажа.
СОВЕТ
Если при использовании полей вы собираетесь устанавливать задержку для первого или последнего кадра, то необходимо визуализировать их полным кадром без полей. В противном случае остановленный кадр будет выглядеть дрожащим.
Еще одной особенностью формирования изображения для телевизионных приемников является то, что часть кадра не видна на экране. В связи с этим необходимо учитывать отступы для области видео и области титров (рис. 6.4).
Рис. 6.4. Окно проекции вида из камеры с включенным отображением границ видео и титров
ПРИМЕЧАНИЕ
Чтобы отобразить границы видео и титров, нужно щелкнуть правой кнопкой мыши на имени окна и выбрать из появившегося меню строку Show Safe Frame (Показывать безопасные области).
Указанные области гарантированно позволят отобразить видеоизображение, находящееся внутри внешнего прямоугольника, и любые тексты или титры, вписанные в рамки внутреннего прямоугольника.
При создании анимации для заданного типа видеосигнала необходимо учитывать еще одно ограничение для файлов визуализации – может «выпадать» цвет из видеоспектра. Для контроля цветности нужно провести некоторое количество тестовых визуализаций с установленным флажком Video Color Check (Проверка цветов видео) в области Options (Параметры) свитка Common Parameters (Общие параметры) вкладки Common (Общие) окна Render Scene (Визуализация сцены). При необходимости используйте Scale Luma (Масштабировать яркость) и Scale Saturation (Масштабировать насыщенность) для глобальной настройки «выпадающих» из спектра значений цвета сцены. Сделать это можно при помощи переключателей области Video Color Check (Проверка цветов видео) на вкладке Rendering (Визуализация) окна Preference Settings (Параметры установок). В этом же окне можно задать тип видеосигнала, для которого будут проверяться «выпадающие» из спектра значения цвета, и порядок следования полей (переключатель Field Order (Порядок следования полей)).
ВНИМАНИЕ
Не забудьте снять флажок Video Color Check (Проверка цветов видео) в окне Render Scene (Визуализация сцены) при проведении окончательной визуализации.
Размытие движущихся объектов сцены
Рассмотренный выше параметр Render to Fields (Визуализация полей) используется не только для правильной визуализации видеоизображений, но и для увеличения гладкости оживляемых объектов. При визуализации полей каждый кадр делится на два сканированных образа, при этом каждая половина кадра объединяется с половиной последующего или предыдущего. Результирующий кадр содержит два полуобраза, смещенных во времени (рис. 6.5).
Рис. 6.5. Кадр, сформированный полуполями
Эффект, создаваемый при помощи визуализации полей, похож на тот, который получается в результате использования эффектов Image Blur (Размытие изображения) или Motion Blur (Размытие движения). Однако данный эффект не соответствует им.
Размытие движущихся объектов существенно повышает реалистичность анимации. При съемке реальной камерой шторка затвора открывается на какой-то короткий промежуток времени, и если в этот момент снимаемые объекты двигаются, то фотография или кадр будут размытыми.
В 3ds Max есть шесть способов создания размытой анимации, применяемой для имитации реального размытия и сглаживания движущихся объектов. Рассмотрим эти способы в общих чертах.
Object Motion Blur (Размытие объекта в движении)
Object Motion Blur (Размытие объекта в движении) – применяется к быстро движущимся объектам сцены для создания более сглаженного движения. Такое размытие базируется на визуализации нескольких копий объекта между кадрами, а затем визуализации их вместе (рис. 6.6).
Рис. 6.6. Кадр, визуализированный с использованием Object Motion Blur (Размытие объекта в движении)
В реальности движение камеры не оказывает влияния на такое размытие, и поэтому Object Motion Blur (Размытие объекта в движении) обычно не используется для имитации размытия, создаваемого камерой. В этом случае применяется Image Motion Blur (Размытие картинки в движении) или Scene Motion Blur (Размытие сцены в движении).
Чтобы размыть объект в движении, сделайте следующее.
1. Щелкните на объекте правой кнопкой мыши, в появившемся контекстном меню выберите строку Object Properties (Свойства объекта). В области Motion Blur (Размытие движения) появившегося окна Object Properties (Свойства объекта) установите переключатель в положение Object (Объект).
2. Откройте окно Render Scene (Визуализация сцены), нажав клавишу F10. В области Object Motion Blur (Размытие объекта в движении) свитка Default Scanline Renderer вкладки Renderer (Визуализатор) установите флажок Apply (Применить).
Image Motion Blur (Размытие картинки в движении)
Image Motion Blur (Размытие картинки в движении) – один из способов получения смазанного движения путем размытия изображения после визуализации кадра. Этот способ базируется на информации в соседних кадрах и используется для создания эффекта размытия камерой (рис. 6.7).
Рис. 6.7. Кадр, визуализированный с использованием Image Motion Blur (Размытие картинки в движении)
В связи с тем что размытие картинки основывается не на визуализации копий объекта, а на размытии визуализированного изображения, существуют ограничения, которые необходимо учитывать, применяя этот способ.
■ Размытие не учитывает перекрывающиеся объекты, поэтому появляются «провалы» в визуализированном изображении.
■ Объекты с измененной топологией не размываются. К ним относятся NURBS-объекты или объекты, к которым применена карта Displacement (Смещение).
■ Image Motion Blur (Размытие картинки в движении) не отображается в отражениях, которые воспринимают только реальные объекты. Это значит, что если, например, мимо витрины магазина (в трехмерной сцене) будет проноситься машина, то в витрине не будет видно размытия этой машины, а окажется только четкое ее отражение, несмотря на то что с помощью Image Motion Blur (Размытие картинки в движении) вы получите размытие самой машины.
Чтобы размыть картинку в движении, сделайте следующее.
1. Щелкните на объекте правой кнопкой мыши, в появившемся контекстном меню выберите строку Object Properties (Свойства объекта). В области Motion Blur (Размытие движения) появившегося окна Object Properties (Свойства объекта) установите переключатель в положение Image (Изображение).
ПРИМЕЧАНИЕ
Обратите внимание на то, что вы не можете для одного объекта включить одновременно параметр Object (Объект) и Image (Изображение). При необходимости можно произвести повторную визуализацию отдельного слоя для последующего использования в Video Post (Видеомонтаж) или программах постобработки.
2. Откройте окно Render Scene (Визуализация сцены), нажав клавишу F10. В области Image Motion Blur (Размытие картинки в движении) свитка Default Scanline Renderer вкладки Renderer (Визуализатор) установите флажок Apply (Применить).
Motion Blur Rendering Effect (Размытие картинки как эффект визуализации)
Motion Blur Rendering Effect (Размытие картинки как эффект визуализации), как и Image Motion Blur (Размытие картинки в движении), базируется на использовании свойств реальной камеры и имеет аналогичный результат визуализированного кадра (рис. 6.8).
Для использования этого способа размытия сделайте следующее.
1. Щелкните на объекте правой кнопкой мыши, в появившемся контекстном меню выберите строку Object Properties (Свойства объекта). В области Motion Blur (Размытие движения) появившегося окна Object Properties (Свойства объекта) установите переключатель в положение Image (Изображение).
2. Откройте окно Environment and Effects (Окружающая среда и эффекты), выполнив команду Rendering ► Effects (Визуализация ► Эффекты). Щелкните на кнопке Add (Добавить) и выберите строку Motion Blur (Размытие движения).
Scene Motion Blur (Размытие сцены в движении)
Scene Motion Blur (Размытие сцены в движении) – относительно «дешевый» способ получения размытого изображения с использованием модуля Video Post (Видеомонтаж). В данном случае при визуализации создается след позади всех движущихся объектов сцены. Это получается при помощи многопроходной визуализации в промежутке между двумя соседними кадрами, которые затем объединяются в одном кадре (рис. 6.9).
Рис. 6.8. Кадр, визуализированный с использованием Motion Blur Rendering Effect (Размытие картинки как эффект визуализации)
Рис. 6.9. Кадр, визуализированный с использованием модуля Video Post (Видеомонтаж)
Для добавления или редактирования Scene Motion Blur (Размытие сцены в движении) нужно сделать следующее.
1. Открыть окно Video Post (Видеомонтаж), выполнив команду Rendering ► Video Post (Визуализация ► Видеомонтаж) главного меню.
2. Щелкнуть на кнопке Add Scene Event (Добавить событие-сцену) и установить флажок Scene Motion Blur (Размытие сцены в движении) в области Scene Options (Параметры сцены) появившегося окна.
Multi-Pass Rendering Effect (Многопроходный эффект визуализации)
Multi-Pass Rendering Effect (Многопроходный эффект визуализации) использует многопроходную визуализацию одного кадра, базирующуюся на смещении камеры в каждом проходе. Многопроходная визуализация создает эффект размытия, который фиксирует пленка в определенном состоянии камеры (рис. 6.10).
Рис. 6.10. Кадр, визуализированный с использованием Multi-Pass Rendering Effect (Многопроходный эффект визуализации)
Данный эффект размытия базируется на свойствах камеры, поэтому его можно предварительно просмотреть в окне вида из камеры.
Необходимое условие применения этого способа размытия изображения – присутствие в сцене камеры, причем для визуализации должен использоваться вид из камеры. Кроме того, нужно выполнить следующее.
1. Выберите в сцене объект-камеру, вид из которой будет визуализироваться, и перейдите на вкладку Modify (Изменение) командной панели.
2. В области Multi-Pass Effect (Многопроходный эффект) свитка Parameters (Параметры) установите флажок Enable (Включить) и выберите из раскрывающегося списка строку Motion Blur (Размытие движения).
3. При необходимости измените значения параметров в свитке Motion Blur Parameters (Параметры размытия движения) настроек камеры.
Particle Motion Blur (Размытие движения частиц)
Particle Motion Blur (Размытие движения частиц) – является результатом применения прозрачности и продолжительности движения частиц, основанной на их скорости (рис. 6.11). Такое размытие достигается путем комбинирования назначенного частицам материала и параметров системы частиц.
Рис. 6.11. Кадр, визуализированный с использованием Particle Motion Blur (Размытие движения частиц)
Для применения данного типа размытия необходимо создать для частиц материал с картой прозрачности Particle MBlur (Размытие движения частиц). С картой Particle MBlur (Размытие движения частиц) работают такие системы частиц: PArray (Массив частиц), PCloud (Облако частиц), Super Spray (Супербрызги) или Spray (Брызги). Кроме того, для использования Particle Motion Blur (Размытие движения частиц) нужно сделать следующее.
1. В области Spin Axis Controls (Управление осями вращения) свитка Rotation and Collision (Поворот и столкновения) настроек системы частиц установите переключатель в положение Direction of Travel/Mblur (Направление движения/размытие движения). В этой же области задайте значение параметра Stretch (Растяжение) больше нуля.
2. В области Standard Particles (Типовые частицы) свитка Particle Type (Тип частиц) выберите тип частиц, отличный от Constant (Постоянный) и Facing (Плоские), так как с этими двумя типами отображения частиц размытие не работает.
СОВЕТ
Кроме описанных выше способов размытия движения, использование которых может многократно увеличить время визуализации, существуют фильтры в графических программах (например, Adobe Photoshop) или программах постобработки (Adobe After Effect или Autodesk Combustion). Такие фильтры могут существенно сократить затраты времени на получение убедительного эффекта размытия объектов в движении. Если вы используете данные фильтры, то лучше выполнять визуализацию последовательности кадров анимации.
Технология сжатия видео
Сжатие – это процесс удаления части данных или их реструктуризация с целью уменьшения размера файла. Для уменьшения размера файлов анимации или цифрового видео разработаны различные методы сжатия данных. Когда программа записывает результат визуализации в файл с расширением AVI, происходит сжатие каждого кадра на основе выбранного модуля. Такие модули в общем случае называют кодеками (сodec – COmpressor/DECompressor). Сжатие можно разделить на несколько категорий, основными из них являются сжатие без потерь и сжатие с потерями.
При сжатии без потерь качество анимации сохраняется, при этом используется более компактный метод записи данных. Один из методов, с помощью которого выполняется такое сжатие, называется Run Length Encoding (RLE). Он осуществляет поиск строк идентичной информации (например, непрерывные области одинакового цвета) и использует алгоритм для кодирования цвета и местоположения повторяющихся данных. Такой способ кодирования очень эффективен для графики с ровными большими областями одинакового цвета и не является оптимальным для анимации с большим количеством цветовых пятен (например, оцифрованное видео).
Сжатие с потерями может значительно уменьшить размеры файлов путем изменения или удаления некоторых данных. Самые популярные типы сжатия с потерями уменьшают насыщенность цвета или используют алгоритмы сжатия для устранения незначительных отличий в цветах пикселов, а также удаляют из палитры некоторые цвета в соответствии с человеческим восприятием. При использовании таких кодеков можно управлять величиной потерь, а следовательно, и качеством файла и его размером. Данные кодеки эффективны в первую очередь при записи анимации, комбинируемой с оцифрованным видео.
Кодеки также делятся по тому, как выполняется сжатие во времени. Существует два типа анализа кадров: пространственный и временной. Пространственное сжатие исследует каждый кадр, удаляя из него часть информации. Временное сжатие сравнивает кадры на определенном участке времени, анализирует происходящие изменения и запоминает только измененную информацию.
Файлы с расширением AVI можно сжимать с применением любого программного кодека, которые устанавливаются вместе с операционной системой или продуктами мультимедиа, а также кодеками независимых разработчиков. При выборе AVI в качестве формата для сохранения визуализации программа 3ds Max предложит вам выбрать кодек из установленных на вашем компьютере (рис. 6.12). Среди возможных вариантов есть и Uncompressed (Несжатое).
Рис. 6.12. Окно настроек сжатия выходного видеофайла с открытым списком доступных кодеков
Выбор кодека определяется в первую очередь задачами, операционной системой, для которой предназначен файл анимации, приложением и носителем данных. В последнее время широкое распространение получили кодеки Windows Media Video (WMV), MPEG-2 и MPEG-4. Алгоритм сжатия этих кодеков позволяет получить анимацию высокого качества при относительно небольшом размере файла. Если речь идет о возможном воспроизведении файла анимации на различных платформах, то необходимо использовать несжатое AVI или формат записи QuickTime (QT).
ВНИМАНИЕ
При записи анимации без сжатия или при визуализации последовательности кадров необходимо учитывать, что при этом итоговые файлы имеют большой размер (иногда более 20-40 Гбайт). В связи с этим необходимо предварительно выполнить приблизительный расчет требуемого дискового пространства, визуализировав несколько типовых кадров.
Сетевая визуализация
При разговоре о визуализации анимации нельзя не упомянуть возможность работы в 3ds Max по сети. Визуализация анимации может потребовать значительное количество времени (которое иногда измеряется сутками) даже для современного компьютера. Именно для работ, когда необходимо визуализировать большое количество кадров, лучше всего подойдет визуализация с использованием компьютеров, объединенных в сеть. Используя мощности других компьютеров, можно значительно ускорить процесс визуализации.
СОВЕТ
Кроме рабочих групп внутри сети, для сетевой визуализации можно использовать компьютеры, подключенные только к Интернету. Полезным может быть также применение для сетевой визуализации одного (например, домашнего) компьютера, который будет в фоновом режиме выполнять отправленные задания, а вы – продолжать работать в своих любимых приложениях.
Если вы являетесь счастливым обладателем двух домашних компьютеров, то не составит труда объединить их в сеть для визуализации. Для этого в каждом компьютере должен быть сетевой адаптер (может быть интегрирован в материнскую плату), также вам понадобится кросс-кабель для их прямого соединения (схему разводки контактов можно найти в Интернете или приобрести готовый кабель).
Для запуска сетевой визуализации на компьютерах должны быть установлены три компонента 3ds Max.
■ Network Manager (Менеджер сети) – должен быть установлен в качестве файлового сервера на одном из компьютеров рабочей группы, участвующих в сетевой визуализации. Программа Network Manager (Менеджер сети) (рис. 6.13) распределяет и контролирует ход выполнения сетевых задач визуализации. Ее главная задача заключается в наблюдении за распределением кадров каждому из компьютеров, находящихся в сети, а также в организации очереди задач. Несмотря на то что менеджер может работать на любом компьютере, предпочтительно запускать его на более быстром компьютере, имеющем значительное количество свободного места на жестком диске.
■ Network Rendering Server (Сервер сетевой визуализации) – устанавливается на всех компьютерах сети, включая и тот, на который устанавливается менеджер сети. После запуска сервер сетевой визуализации (рис. 6.14) отправляет менеджеру свой IP-адрес для регистрации и включения в сетевую визуализацию. Затем менеджер сети отсылает серверу задание на визуализацию кадров. После получения задания сервер запускает 3ds Max в специальном серверном режиме и начинает визуализацию кадра. По окончании визуализации сервер отправляет готовый кадр в папку, указанную в настройках, и получает от менеджера новое задание на визуализацию. Когда выполнена вся визуализация, сервер закрывает приложение.
ПРИМЕЧАНИЕ
Серверный режим не влияет на использование программы для моделирования и визуализации в обычном режиме.
Рис. 6.13. Окно компонента сетевой визуализации Network Manager (Менеджер сети)
Рис. 6.14. Окно компонента сетевой визуализации Network Rendering Server (Сервер сетевой визуализации)
■ Queue Monitor (Диспетчер очереди) – приложение управления сетевой визуализацией (рис. 6.15). Его можно установить на всех компьютерах сети. Позволяет не только просматривать ход выполнения задания, но и перераспределять задания, менять очередность их выполнения, отключать и подключать к визуализации компьютеры группы и выполнять многое другое.
Рис. 6.15. Окно компонента сетевой визуализации Queue Monitor (Диспетчер очереди)
ВНИМАНИЕ
Правами управления и редактирования заданий обладает тот компьютер, на котором Queue Monitor (Диспетчер очереди) был запущен первым, все остальные диспетчеры будут работать в режиме просмотра. В этом случае в строке заголовка окна программы указывается, какой компьютер сети обладает правом редактирования заданий.
Все три перечисленных выше компонента инсталлируются при установке программы 3ds Max 2008. Их можно запустить из каталога установки (по умолчанию C:\Program Files\Autodesk\Backburner) или из списка установленных программ. Например, для запуска менеджера сети в среде Windows XP выполните команду Пуск ► Все программы ► Autodesk ► Backburner ► manager. Аналогичным образом запускаются сервер и диспетчер очереди.
ВНИМАНИЕ
Для сетевой визуализации в программе 3ds Max 2008 необходимо использовать Windows XP Professional или Windows 2000. Боле ранние операционные системы семейства Windows (Windows 95/98/Me/NT4) не поддерживаются.
Если у вас уже есть локальная сеть с настроенной конфигурацией, то нет необходимости что-либо менять – сетевая визуализация будет работать с существующими настройками. В противном случае вам нужно установить и настроить на каждом компьютере сети протокол TCP/IP (сокращенно от Transmission Control Protocol/Internet Protocol – протокол управления передачей/межсетевой протокол), представляющий собой «язык общения» между компьютерами, объединенными в сеть.
После того как все компьютеры рабочей группы будут сконфигурированы для работы в сети, можно приступать к сетевой визуализации. Для этого должны быть выполнены несколько условий. На всех компьютерах должна быть установлена программа 3ds Max 2008 и запущена служба Network Rendering Server (Сервер сетевой визуализации), а на одном из компьютеров рабочей группы к тому же должен быть запущен Network Manager (Менеджер сети). На одном из компьютеров следует открыть общий доступ к каталогу, в котором будут сохраняться визуализированные изображения. Путь к этому каталогу должен быть указан с учетом правил Universal Naming Convention (UNC) (соглашение по универсальному наименованию), например: \\имя компьютера\диск\каталог\имя файла. Обратите внимание на то, что строка начинается с двух слэшей. Кроме того, можно указать локальный каталог для сохранения файлов на каждом компьютере, выполняющем визуализацию. В этом случае такой каталог должен присутствовать на каждом компьютере рабочей группы.
Чтобы запустить сетевую визуализацию, необходимо выполнить соответствующие настройки в окне Render Scene (Визуализация сцены). Кроме стандартных настроек размера выходного изображения и параметров области Options (Параметры), необходимо в области Time Output (Интервал вывода) свитка Common Parameters (Общие параметры) указать диапазон кадров для визуализации. После этого в области Render Output (Вывод визуализации) необходимо установить флажок Save File (Сохранить файл) и щелкнуть на кнопке Files (Файлы), чтобы выбрать каталог для сохранения.
ПРИМЕЧАНИЕ
Не забывайте о том, что, даже если вы используете один компьютер, необходимо указывать сетевой путь к каталогу, в котором будут сохраняться кадры.
Затем следует установить флажок Net Render (Сетевая визуализация) в области Render Output (Вывод визуализации). После щелчка на кнопке Render (Визуализация) появится окно Network Job Assignment (Назначение сетевого задания). В области Enter Subnet Mask (Ввод маски подсети) этого окна должен быть установлен флажок Automatic Search (Автоматический поиск). Далее следует щелкнуть на кнопке Connect (Соединить). В результате в поле All Servers (Все серверы) отобразятся имена всех компьютеров, входящих в рабочую группу (рис. 6.16).
В области Options (Параметры) следует установить флажок Include Maps (Включая карты текстур), что позволит вместе с заданием отправлять серверам все текстурные карты, примененные в сцене.
Рис. 6.16. Окно Network Job Assignment (Назначение сетевого задания)
СОВЕТ
Чтобы компьютеры рабочей группы использовали текстурные карты, находящиеся на одном компьютере, и текстурные карты не надо было бы отправлять вместе с заданием, необходимо для всех файлов текстур прописать сетевые пути (аналогично указанному выше пути для сохранения кадров визуализации).
Осталось только щелкнуть на кнопке Submit (Подтвердить) – и запустится процесс визуализации. Его можно контролировать при помощи компонента Queue Monitor (Диспетчер очереди).
Общие рекомендации по визуализации видеоизображений
Подводя итоги сказанного в этой главе, хотелось бы отметить, что работа с анимацией представляет определенные трудности не только на стадии моделирования и настройки просчета, но и при последующей визуализации. Обратите внимание на некоторые общие рекомендации по визуализации видеоизображений.
■ Прежде всего определитесь с целями и задачами предстоящей работы. Именно они во многом могут повлиять на ход моделирования, степень детализации, разрешение выходного изображения, глубину цвета, поля и т. д. Если вы выполняете заказ, то должны получить у заказчика проекта максимум информации. Может оказаться так, что ваша работа будет, например, частью материала для видеоклипа, который должен совмещать в себе реальное видео и анимацию. И хорошо еще, если работа над всеми частями клипа ведется параллельно. А если вдруг видеоматериал уже сняли и он должен «вживляться» в анимацию, которую создаете вы? В этом случае вам будет необходимо уже на стадии моделирования учитывать особенности видео, например цветовую гамму, свет, положение камеры и т. д.
■ Определитесь с разрешением вывода изображения: для просмотра на мониторе компьютера и на экране телевизора используются совершенно разные форматы. Для монитора свойственны стандартные экранные разрешения, в то время как для показа на телеэкране необходимо учитывать не только размер, но и стандарт видеосигнала.
■ Установите форматное соотношение пиксела: для показа на мониторе компьютера это 1, а для стандартов телевидения – 0,9 или 1,06.
■ В зависимости от выбранного формата видео задайте значение кадров в секунду (fps). Для стандарта PAL и SECAM это значение равно 25 кадров в секунду, а для NTSC – 30. К видео, предназначенному для просмотра на компьютере, жестких требований нет, но можно рекомендовать 30 кадров в секунду для получения более сглаженного движения.
■ При создании анимации для телевидения, скорее всего, понадобится обработка полей. В связи с этим установите порядок полей – нечетное/нижнее (Odd/ Lower) или четное/верхнее (Even/Upper) – в зависимости от требований системы видеомонтажа (порядок следования полей обычно указывает заказчик).
■ Используйте функцию проверки видеоцветов. Это требование относится больше к телевизионным форматам, так как телевизоры имеют ограниченные возможности по сравнению с компьютерными мониторами.
■ Видео предпочтительнее сохранять с использованием последовательности кадров. Для этого есть несколько причин:
• можно использовать сетевую визуализацию, что существенно ускорит процесс расчетов;
• для кадров будут доступны форматы с возможностью сохранения не только альфа-канала, но и других дополнительных каналов (форматы RLA и RPF). Это может быть существенным при последующей постобработке в специализированных приложениях, например Combustion;
• в отношении последовательности кадров можно быстро выполнить размытие, цветокоррекцию, настройку яркости, контрастности и применить другие эффекты, доступные в программах редактирования растровой графики и постобработки. Например, в программе Photoshop можно создать макропоследовательность (Action (Действие)) и с ее помощью выполнить пакетную обработку всей папки с файлами;
• при изменении части анимации не придется визуализировать анимацию полностью – достаточно будет заменить изменившиеся кадры.
■ Для достижения лучшего качества выводите последовательные изображения с помощью сжатия без потерь (форматы BMP, TGA или TIFF). Если нужно экономить дисковое пространство, то воспользуйтесь форматом JPG с очень низким уровнем сжатия.
■ Если в дальнейшем объекты анимации будут редактироваться, то возможным решением по сокращению объемов переделок может стать послойное выполнение анимации. В этом случае анимированные объекты визуализируются отдельным слоем с альфа-каналом для последующей сборки в программах постобработки или с использованием модуля Video Post (Видеомонтаж).
■ Запустив визуализацию последовательности кадров, убедитесь в том, что кадры формируются правильно. Это можно сделать как с использованием программ для просмотра растровой графики, так и при помощи модуля RAM Player (RAM-проигрыватель) программы 3ds Max.
Часть 2 Практический курс
Глава 7. Освещение
Глава 8. Анимация сцен
Глава 9. Практическое моделирование
Глава 10. Текстурирование
Глава 11. Визуализация
До сих пор речь шла об интерфейсе программы и методах работы – теперь же вы с головой окунетесь в мир моделирования. Все упражнения, представленные в книге, не зависят друг от друга, поэтому вам не обязательно выполнять их последовательно. Каждое упражнение посвящено определенной теме создания трехмерной графики. Опыт практической работы с приложением показал, что каждый урок рождает новые идеи, которые могут быть в дальнейшем использованы в ваших собственных работах. Все главы сопровождаются файлами упражнений, находящимися на прилагаемом к книге DVD. Там же можно посмотреть и цветные иллюстрации.
Глава 7 Освещение
• Основы освещения в трехмерной графике
• Луч лазера
• Объемный свет
• Использование базовых источников света в интерьере
Правильное освещение значительно усиливает впечатление от простой сцены. Оно не только позволяет лучше передать форму предметов, но и создает общее настроение в сцене. При помощи ярких цветов и обилия света можно получить эффект праздника, а приглушенный свет и затененные предметы создадут ощущение напряженности и тревоги. Свет – это мощный инструмент в руках разработчика трехмерной графики, нужно только уметь правильно им пользоваться. В этой главе вы научитесь правильно ставить свет и строить тени, а также познакомитесь с объемным (видимым) светом.
Основы освещения в трехмерной графике
Правильно установленный свет может значительно улучшить посредственную сцену, и, наоборот, если источники света расставлены произвольным образом, даже хорошо смоделированная сцена покажется «бедной». Грамотное освещение определяет общую атмосферу изображения. При помощи света можно передать настроение, напряженность, радость, тоску, подчеркнуть достоинства и скрыть недостатки, а также сделать многое другое.
Существует несколько вариантов освещения. Наиболее часто встречаются два из них: трехточечное и местное (зонное). Местное применяется для освещения отдельных участков сцены и используется чаще всего в случае, когда сцена большая и ее невозможно эффективно осветить при помощи трехточечного освещения.
Трехточечное освещение является базовым в трехмерном моделировании. В его основе лежат три источника света: ключевой, контурный и заполняющий (иногда можно встретить другие определения).
Ключевой свет является основным. Обычно это самый яркий и освещающий большую часть сцены свет. Кроме того, это тот источник света, благодаря которому предметы в сцене отбрасывают тень.
Контурный свет используется для разделения предметов и фона, что, в свою очередь, определяет глубину пространства. Такой источник света обычно находится позади объектов сцены и по интенсивности слабее ключевого света.
СОВЕТ
Технические приемы и принципы работы с источниками света в трехмерных сценах не отличаются от используемых в фотографии, кино, театре и т. д. При желании больше узнать о типах освещения и их применении вы можете воспользоваться соответствующей литературой.
Освещение часто является фундаментом для цветового моделирования, придающего сцене акцент и глубину. Предметы в сцене не будут выглядеть плоскими, если их прорисовать светотенью, то есть распределить освещенность по форме в зависимости от положения ее различных поверхностей по отношению к источнику света. Чтобы предметы выглядели объемными, на них должны присутствовать свет, блик, полутон, а на самой затененной части поверхности – собственная тень (рис. 7.1). Последняя всегда в той или иной степени подсвечена светом, отраженным от других предметов, так называемым рефлексом. Наконец, предметы отбрасывают от себя на соседние предметы падающую тень, которая обычно бывает темнее собственной тени. Только при правильном соотношении этих световых фаз можно с предельной правдоподобностью передать объем предмета.
Рис. 7.1. Градации светотени
В природе каждый объемный предмет определенного цвета ограничивается кривыми или плоскими поверхностями, которые при освещении попадают в разные световые и цветовые условия. Лучи света, падая на различные поверхности предметов, освещают их неравномерно, отчего поверхности выглядят различными по тону и цвету. Одни части поверхности получают больше света, другие – меньше. Степень освещенности предмета изменяется прежде всего в зависимости от расстояния до источника света: чем ближе находится источник света, тем сильнее освещение.
Степень освещенности поверхности зависит от угла падения лучей света на поверхность, а также от фактуры и цвета самой поверхности. Гладкая, полированная поверхность лучше отражает свет, чем шероховатая или матовая. Поверхность темного цвета поглощает больше света, чем светлая. На очень темных и на очень светлых поверхностях светотеневые градации видны плохо, так как глаз не способен различать переходы слишком слабых (рис. 7.2) или сильных (рис. 7.3) световых оттенков.
Рис. 7.2. Затемненная поверхность предмета
Рис. 7.3. Засвеченная поверхность предмета
Задача разработчика трехмерной графики состоит в том, чтобы найти правильное соотношение световых фаз за счет настроек и расположения источников света в пространстве виртуальной сцены, а также использования ее общей освещенности и создания эффекта глобального освещения.
На предметах со сложным рельефом или орнаментом наиболее ясно детали видны в полутени, в тени их четкость понижена. Собственная тень всегда в той или иной степени подсвечена светом, отраженным от других предметов. Падающая тень не имеет резких разграничений с собственной тенью. Тональности их сближены, контуры основания предмета сливаются с горизонтальной плоскостью. Чем ближе к предмету падающая тень, тем она темнее. Такая закономерность сохраняется на переднем плане. Внутри и на дальнем плане тень высветляется рефлексами от окружения (рис. 7.4).
Рефлексы не только высветляют тени, но также придают им свой цветовой оттенок. Свет, полутень, тень имеют на поверхности предмета определенное местоположение, а блик – нет, так как зависит не только от направления источника света, но и от местоположения камеры (точки в пространстве, с которой мы видим предмет). На предметах с блестящими (глянцевыми) поверхностями блики и рефлексы ярче и определеннее по своим границам, чем на матовых и шероховатых. Форма и цвет их находятся в прямой зависимости от формы и цвета прямого или отраженного источника света.
Рис. 7.4. Падающая тень
Чтобы лучше понять принцип действия источников света, создайте сцену. Используйте для этого простые примитивы Plane (Плоскость) и Teapot (Чайник). Расположите камеру и источники света так, как показано на рис. 7.5 и 7.6.
Рис. 7.5. Вид сцены в окне проекции Top (Cверху)
Рис. 7.6. Вид сцены в окне проекции Front (Спереди)
Рассмотрим более подробно процесс создания сцены, с которой вы будете работать в дальнейшем.
Последовательность создания любой сцены приблизительно такова: сначала создаются объекты, затем располагается и настраивается камера, и только после этого ставится свет.
Прежде всего создадим плоскость, на которой будет располагаться чайник. Для этого выполните команду Create ► Standard Primitives ► Plane (Создать ► Простые примитивы ► Плоскость) главного меню и в окне проекции Top (Сверху) постройте плоскость произвольного размера.
Для создания примитива Teapot (Чайник) выполните команду Create ► Standard Primitives ► Teapot (Создание ► Простые примитивы ► Чайник). В данном случае размер и плотность сетки чайника не имеют значения. Единственное требование – чтобы он располагался на плоскости и был сопоставим с ней по размерам.
СОВЕТ
Возможно, вам будет удобнее использовать для создания объекта вкладку Create (Создание) командной панели.
Камера создается аналогичным способом. Выполните команду Create ► Cameras ► Target Camera (Создание ► Камеры ► Направленная камера). После того как построен объект и в сцене установлена камера, направленная на объект-чайник, можно переходить к созданию источников света.
Прежде чем создавать источники света, нужно отметить, что освещение сцены зависит также от настроек подсветки в окне Environment and Effects (Окружающая среда и эффекты), которые равномерно распределяют начальный уровень освещенности всех объектов.
Начинать расстановку источников света в сцене следует с основного освещения, то есть с ключевого. Примерно 80 % сцены будет освещено именно этим источником света, поэтому необходимо правильно расположить его в сцене. Он должен в целом освещать всю сцену (или нужную часть). Такой источник света не должен быть слишком ярким, чтобы не засветить предметы, или темным, иначе исчезнет объем в визуализированном изображении. На рис. 7.7 показано, что получилось у меня после визуализации сцены с одним ключевым источником света. В данном случае я использовал Target Spot (Направленный с целью) с затуханием, чтобы оттенить задний план, на котором ничего нет (если бы в глубине сцены присутствовали другие объекты, то необходимо было бы их показать, увеличив световое пятно). Для его построения выполните команду Create ► Lights ► Standard Lights ► Target Spotlight (Создание ► Источники света ► Стандартные источники света ► Направленный с целью).
Первое, что бросается в глаза при взгляде на готовое изображение, – отсутствие падающей тени, непонятное положение чайника в пространстве (он то ли стоит на плоскости, то ли висит в воздухе).
Активизируйте в настройках источника света тень. Для этого в области Shadows (Тени) свитка General Parameters (Общие параметры) настроек источника света в нижней части командной панели установите флажок On (Включить). Это позволит источнику света генерировать простые тени от объектов сцены (рис. 7.8).
Рис. 7.7. Сцена, освещенная ключевым источником света
Рис. 7.8. Появилась тень, и положение чайника на плоскости стало более естественным
Теперь чайник не «висит» в воздухе, а стоит на плоскости. Но вместе с тем он стал сливаться с тенью, в результате чего частично пострадало восприятие объема.
Добавим в сцену источник света для контурного освещения. Для этой цели используем еще один Target Spot (Направленный с целью) (на рис. 7.5 и 7.6 он расположен справа от камеры). Естественно, что интенсивность его несколько ниже, чем ключевого источника, так как этот источник света является второстепенным и его основная задача в данном случае – «оторвать» чайник от фона. Чтобы дать общее представление о том, какая интенсивность построенных источников света у меня в сцене, приведу значения параметров Multiplier (Яркость): для контурного источника света – 0,52, для ключевого – 1,3.
Выполните последнюю настройку для данного источника света, сняв флажок Specular (Цвет блеска), который находится в свитке Advanced Effects (Дополнительные эффекты). Для наших целей достаточно, чтобы этот источник света освещал область диффузного отражения, не создавая области зеркального отражения. В реальности это обычно отраженный свет от других предметов, который не имеет большой интенсивности и не способен генерировать яркие блики.
Как только вы добавили этот источник света, объекты приобрели объем, а сцена – пространство (рис. 7.9).
Применим небольшой трюк, который поможет улучшить восприятие предмета и сделать его цвет более естественным. Для этого сделаем источник контурного света цветным, что поможет передать цвет, отраженный от поверхности, на которой стоит чайник. Естественно, применяемый к источнику света цвет должен соответствовать цвету той поверхности, которая будет отражать свет (в нашем случае это плоскость, на которой стоит чайник). Цвет этой поверхности красно-коричневый, значит, именно такой цвет должен присутствовать в свитке Intensity/Color/ Attenuation (Интенсивность/цвет/затухание) (рис. 7.10).
ПРИМЕЧАНИЕ
Для просмотра цветных иллюстраций к упражнению воспользуйтесь прилагаемым к книге DVD.
Рис. 7.9. Падающая тень
Рис. 7.10. Цвет, добавленный источнику света, придал чайнику более естественную окраску
Общее восприятие картины немного портит то, что на чайнике слишком темная собственная тень. Исправить положение поможет третий источник света – заполняющий. Его назначение – смягчить тени и полутени на предмете. Как и контурный, заполняющий свет не должен быть ярким и не должен создавать на поверхности объектов блики.
В данном случае для построения источника освещения воспользуемся точечным источником света Omni (Всенаправленный). Для этого выполните команду Create ► Lights ► Standard Lights ► Omni (Создание ► Источники света ► Стандартные источники света ► Всенаправленный). Данный источник освещения должен находиться между двумя существующими источниками и быть позади камеры. Как уже говорилось выше, назначение его заключается в том, чтобы равномерно заполнить светом промежуток между самым ярким местом на объекте и его собственной тенью. Как и для контурного, запретите в настройках заполняющего источника света создание области зеркального отражения, сняв флажок Specular (Цвет блеска). После этого можно посмотреть на результаты сделанных настроек (рис. 7.11).
Рис. 7.11. В сцену добавлен заполняющий свет
Правильное расположение теней очень влияет на восприятие сцены зрителем. Управление тенями играет ключевую роль в использовании источников света. С чрезмерным или недостаточным количеством теней сцена не будет выглядеть реалистичной и убедительной.
Отбрасывание теней представляет собой сложный процесс, именно тени добавляют в завершенную сцену реализм. Тени, построенные посредством трассировки лучей, требуют большого количества времени для визуализации, a Shadow Map (Карта теней) в дополнение к используемому времени визуализации – еще и ресурсов памяти. Ограничение падения точечного света только той областью, которая требует теней, сэкономит время визуализации. Уменьшение количества объектов, отбрасывающих тени, при помощи настроек объекта или источника света также сократит расходы ресурсов на визуализацию.
По умолчанию источники света работают с тенью Shadow Map (Тип отбрасываемой тени). Это относительно быстрая для просчета тень, но вместе с тем и наименее точная с точки зрения трассировки лучей и качества. Более правильную с физической точки зрения тень дает Ray Traced Shadows (Трассированная тень), но она так же, как и тень Shadow Map (Тип отбрасываемой тени), не становится светлее по мере удаления от предмета. Появление типа Area Shadows (Площадная тень) решило эту проблему.
В некоторой степени недостатком Shadow Map (Тип отбрасываемой тени) и Area Shadows (Площадная тень) является значительное увеличение времени просчета сцены, особенно если в ней используется несколько источников света с такой тенью, а у Area Shadows (Площадная тень) указано большое значение размытия тени на краях.
До создания таких теней существовали подключаемые модули или сценарии, которые генерировали по кругу дополнительные источники света на небольшом расстоянии друг от друга. Таким образом, тени, создаваемые многими источниками, перекрывались при визуализации и давали размытый контур. Существует более простой и, что самое приятное, легкоуправляемый способ, который, однако, имеет некоторые ограничения. Он заключается в том, чтобы назначить источнику света с отрицательным значением параметра Multiplier (Яркость) созданную пользователем текстурную карту Projector Map (Карта проектора).
Для построения такой карты нужно выделить источник света, который будет отбрасывать тень, и в любом окне проекции (например, в окне Left (Cлева)) выбрать вид из этого источника. Для этого щелкните на названии окна проекции правой кнопкой мыши, в результате чего появится контекстное меню (рис. 7.12), в котором следует выбрать нужный источник света (в моем случае это Spot01), выполнив команду Views ► Spot01 (Вид ► Объект Spot01).
Если вы все сделали правильно, то в окне проекции будет такой вид, как будто мы смотрим из камеры (рис. 7.13).
Рис. 7.12. Контекстное меню для выбора вида отображения
Рис. 7.13. Вид со стороны источника света Spot01
Далее нужно исключить из визуализации все объекты, которые не будут отбрасывать тень. Сцена содержит всего два геометрических объекта: Plane (Плоскость) и Teapot (Чайник), но их может быть гораздо больше. Чтобы исключить объект из визуализации, выполните следующие действия.
1. Щелкните на нужном объекте правой кнопкой мыши.
2. В появившемся контекстном меню выберите пункт Object Properties (Свойства объекта). В результате откроется одноименное окно.
3. Снимите флажок Renderable (Визуализируемый) в области Rendering Control (Управление визуализацией).
4. Щелкните на кнопке OK для подтверждения выполненных изменений.
СОВЕТ
Можно исключить объекты из визуализации и другим способом. Для этого выделите все «ненужные» геометрические объекты и щелкните на них правой кнопкой мыши. В появившемся контекстном меню выберите пункт Hide Selection (Спрятать выделенное).
Визуализируйте стандартными средствами вид из окна, в котором установлен источник света, с типовым значением разрешающей способности 800 х 600. После этого сохраните изображение в формате, поддерживающем альфа-канал (например, TIFF).
Откройте сохраненный файл в программе растровой графики, допустим Adobe Photoshop, и, выделив альфа-канал, залейте его белым цветом. Если фон не черного цвета, то инвертируйте выделение и залейте все остальное черным цветом (то есть объекты сцены должны быть белыми, а фон черным, как показано на рис. 7.14).
Как только вы это сделаете, можно переходить к созданию размытых краев в изображении. Это можно сделать разными способами, например воспользоваться программой Photoshop, где применить для выделения градиентную маску, а затем использовать фильтр размытия по Гауссу. Важно, чтобы по мере удаления от основания объекта (от плоскости, на которой чайник стоит и на которую будет отбрасывать тень) размытие становилось более заметным (рис. 7.15).
Рис. 7.14. Карта теней на начальном этапе
Рис. 7.15. Законченная карта теней
Как только размытие будет готово, сохраните его в любом удобном для вас формате и продолжите работу в 3ds Max.
Вернувшись в программу, нужно клонировать источник света, благодаря которому образуется тень (в данном случае это ключевой свет). Для этого выполните следующие действия.
1. Выделите источник света, который необходимо клонировать.
2. Выполните команду Edit ► Clone (Правка ► Клонирование) и в появившемся окне Clone Options (Параметры клонирования) выберите тип создаваемых при дублировании объектов, установив переключатель в положение Copy (Независимая копия объекта).
3. В окне Clone Options (Параметры клонирования) также задайте объекту значимое имя, чтобы впоследствии было легче выбирать его из списка, например shadow.
После этого активизируйте источник света (если он до сих пор не выбран) и разверните свиток Advanced Effects (Дополнительные эффекты), где в качестве Projector Map (Карта прожектора) выберите вашу карту тени (рис. 7.16).
В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) установите отрицательное значение параметра Multiplier (Яркость) (у меня эта величина равна –1,25). Исключите из освещения чайник (чтобы тень ложилась не на него, а только на плоскость). Для этого щелкните в свитке General Parameters (Общие параметры) на кнопке Exclude (Исключение) и в появившемся окне Exclude/Include (Исключение/включение) исключите чайник из визуализации (рис. 7.17).
Рис. 7.16. Свиток Advanced Effects (Дополнительные эффекты) для карты теней
Рис. 7.17. Окно Exclude/Include (Исключение/включение) с исключенным из освещения чайником
Теперь можно выполнить финальную визуализацию сцены (рис. 7.18).
Рис. 7.18. Результат финальной визуализации сцены
Конечно, кроме достоинств, этот метод имеет и недостатки, один из которых – невозможность формирования падающих на объект теней от самого себя (как в данном случае с ручкой крышки). Однако часто можно добиться великолепных результатов при минимальных затратах сил, времени и компьютерных ресурсов.
ПРИМЕЧАНИЕ
В папке Examples\Глава 07\Base_light прилагаемого к книге DVD находится файл сцены данного упражнения, который называется Base_light.max.
Луч лазера
Если вы решили создать заставку в стиле «Звездных войн» или нестандартно анимировать надпись, то вам не обойтись без такого эффекта, как луч лазера. В этом небольшом упражнении мы научимся создавать такой луч простыми средствами 3ds Max.
Начнем с моделирования объектов сцены. Для этого постройте в начале координат примитив Teapot (Чайник), выбрав его из главного меню Create ► Standard Primitives ► Teapot (Создать ► Простые примитивы ► Чайник) с параметрами, показанными на рис. 7.19.
Излучение лазера можно представить в виде плотного луча направленного света, поэтому для его имитации как нельзя лучше подойдет направленный источник света с цилиндрическим излучением – Target Direct (Нацеленный направленный источник света).
СОВЕТ
Вторым возможным вариантом создания такого луча может служить примитив Cylinder (Цилиндр), которому необходимо присвоить соответствующий материал.
Для построения источника света, имитирующего луч, произведите следующие действия.
1. Выполните команду главного меню Create ► Lights ► Standard Lights ► Target Directional (Создать ► Источники света ► Стандартные источники света ► Нацеленный направленный).
2. Постройте в окне проекции Top (Cверху) источник света таким образом, чтобы луч проходил через примитив Teapot (Чайник). Сразу подкорректируйте положение источника света и его цели и в других окнах проекций.
3. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) задайте параметру Multiplier (Усилитель) значение 5, а цвет луча сделайте ярко-красным (Red (Красный) – 255; Green (Зеленый) – 0; Blue (Синий) – 0) (рис. 7.20).
Рис. 7.19. Свиток Parameters (Параметры) настроек примитива Teapot (Чайник)
Рис. 7.20. Свиток Intensity/Color/Attenuation (Интенсивность/цвет/затухание) с настройками для источника света
4. В свитке Directional Parameters (Параметры направленного источника света) задайте параметру Hotspot/Beam (Яркое пятно/луч) значение 0,5, а Falloff/Field (Край пятна/область) – 2,5.
Если сейчас выполнить визуализацию (например, нажав сочетание клавиш Shift+Q), то результатом будет небольшой красный круг на черном фоне. Это связано с тем, что единственный источник света, который мы используем в сцене, не освещает ничего, кроме небольшого участка на поверхности примитива Teapot (Чайник). В связи с этим необходимо добавить в сцену как минимум еще один источник – ключевой свет с небольшим значением параметра Multiplier (Усилитель), что позволит частично осветить объекты, а затем получить более контрастный луч лазера.
ПРИМЕЧАНИЕ
В предыдущем разделе мы рассматривали принципы создания и расстановки источников света в сцене. Используя полученные знания, вы можете создать не только ключевой, но и заполняющий свет, а также настроить тени, применяя, кроме объекта Teapot (Чайник), стандартный примитив Plane (Плоскость).
На рис. 7.21 представлена визуализация сцены после добавления плоскости и двух источников света.
Перейдем к построению видимого луча света. Для этого выделите направленный источник света Direct01 и в свитке Atmospheres & Effects (Атмосфера и эффекты) командной панели щелкните на кнопке Add (Добавить). В открывшемся окне Add Atmosphere or Effect (Добавить атмосферу или эффект) выберите строку Volume Light (Объемное освещение) и щелкните на кнопке OK (рис. 7.22). В результате в списке свитка Atmospheres & Effects (Атмосфера и эффекты) отобразится строка Volume Light (Объемное освещение).
Рис. 7.21. Визуализация сцены с расставленными источниками света
Рис. 7.22. Окно Add Atmosphere or Effect (Добавить атмосферу или эффект)
Для настройки параметров эффекта выделите строку Volume Light (Объемное освещение) и щелкните в нижней части свитка Atmospheres & Effects (Атмосфера и эффекты) на кнопке Setup (Настройки). В результате откроется окно Environment and Effects (Окружающая среда и эффекты).
В области Volume (Объем) свитка Volume Light Parameters (Параметры объемного освещения) окна Environment and Effects (Окружающая среда и эффекты) задайте параметру Density (Плотность) значение, равное 12 (рис. 7.23).
В принципе, на этом можно было бы закончить настройку, однако существует область параметров, на которую хотелось бы обратить ваше внимание, – это Noise (Шум). Иногда требуется создать эффект прохождения светового луча в задымленной или туманной среде. Именно настройка параметров области Noise (Шум) позволяет добиться такого эффекта. Примените этот эффект к лучу, для чего выполните следующие действия.
1. В области Noise (Шум) свитка Volume Light Parameters (Параметры объемного освещения) установите флажок Noise On (Включить шум).
2. Установите переключатель типа зашумления в положение Turbulence (Турбулентный).
3. Задайте параметру Levels (Уровни) значение 6, а Size (Размер) – 15.
Сейчас можно выполнить окончательную визуализацию (рис. 7.24).
В этом небольшом упражнении вы научились делать лучи прожектора видимыми. Используя данный метод, можно добиться потрясающих эффектов не только в статичных, но и в анимированных сценах. Например, таким образом можно анимировать разрезание лазером, луч прожектора, устремленный в ночное небо, полет трассирующей пули или луч солнца.
ПРИМЕЧАНИЕ
В папке Examples\Глава 07\Laser прилагаемого к книге DVD содержится файл сцены данного упражнения, который называется laser_beam.max.
Рис. 7.23. Настройки цвета и плотности светового луча
Рис. 7.24. Окончательная визуализация луча лазера
Объемный свет
Очень часто в процессе моделирования для придания сцене каких-то индивидуальных особенностей приходится применять различные трюки и эффекты. Одним из таких приемов является Volume Light (Объемный свет).
Наверное, любой человек хотя бы раз в жизни наблюдал, как солнечный луч, проходя через оконное стекло запыленной комнаты, выхватывает из атмосферы взвешенные частицы пыли, создавая тем самым светящуюся область пространства. Это и есть эффект объемного освещения. Пытаясь воссоздать интерьер заброшенной комнаты или мастерскую художника, в окно которой пробиваются лучи утреннего солнца, вам не обойтись без объемного освещения. Оно также применяется для создания эффектных рекламных надписей и т. д.
В этом разделе будет рассмотрено создание витража, наподобие тех, которые до сих пор еще можно увидеть на окнах старинных церквей.
ПРИМЕЧАНИЕ
Слово «витраж» происходит от французского vitre – «стекло» и обозначает окна, иногда огромного размера, состоящие из кусочков разноцветного стекла, которые соединены свинцовыми элементами. Эти сверкающие прозрачные цветные стекла составляют какой-нибудь орнамент, иногда даже целые сюжетные картины.
Вам не понадобится моделировать отдельные части витража, так как вы можете использовать растровое изображение stainglass.jpg, которое находится на прилагаемом к книге DVD в папке Examples\Глава 07\Volume_light.
Прежде всего необходимо построить модель комнаты с окном. Для этого подойдет примитив Box (Параллелепипед) с пропорциями, соответствующими комнате, которую вы хотите моделировать.
ПРИМЕЧАНИЕ
Вы можете пропустить описание процесса моделирования комнаты и загрузить с прилагаемого к книге DVD готовую модель, которая находится в папке Examples\Глава 07\Volume_light. Файл сцены называется volume_light_start.max.
Чтобы создать параллелепипед, выполните команду Create ► Standard Primitives ► Box (Создание ► Простые примитивы ► Параллелепипед). После построения объекта, имитирующего внешнюю стену комнаты, вам понадобится еще один для внутренней стены (объемные стены нужны для последующего применения булевой операции для вырезания окна). Чтобы не строить второй параллелепипед, клонируем первый. Для этого, выделив объект, выполните команду Edit ► Clone (Правка ► Клонировать) и в появившемся окне Clone Options (Параметры клонирования) установите переключатель в положение Copy (Независимая копия объекта). Далее, не снимая выделения с вновь созданного объекта, щелкните на кнопке Select and Uniform Scale (Выделить и равномерно масштабировать) панели инструментов. Кнопка станет оранжевой. Щелкните на объекте и немного уменьшите его, переместив указатель вниз.
СОВЕТ
Копировать объект можно также, если активизировать инструмент масштабирования и, удерживая клавишу Shift, щелкнуть на объекте и переместить указатель вниз. После этого появится окно Clone Options (Параметры клонирования), где следует выбрать тип создаваемых при дублировании объектов.
Не снимая выделения с вновь созданного параллелепипеда, примените к нему модификатор Normal (Нормаль). Для этого выберите его в раскрывающемся списке вкладки Modify (Изменение) командной панели. В свитке Parameters (Параметры) настроек модификатора установите флажок Flip Normals (Обратить нормали) (рис. 7.25).
Рис. 7.25. Настройки модификатора Normal (Нормаль)
После этого выделите внутреннюю и внешнюю стены и соедините их. Для этого перейдите на вкладку Utilities (Утилиты) командной панели и щелкните на кнопке Collapse (Свернуть). Раскроется свиток Collapse (Свернуть), в котором нажмите кнопку Collapse Selected (Свернуть выделенное).
ПРИМЕЧАНИЕ
Если, выбрав Utilities (Утилиты), вы не видите кнопки Collapse (Свернуть), то щелкните на кнопке More (Дополнительно) и выберите Collapse (Свернуть) из списка.
Теперь создайте еще один параллелепипед по форме окна и расположите его в пространстве так, чтобы он пересекался со стеной, в которой будет располагаться окно.
Выделите комнату. Перейдите на вкладку Create (Создание) командной панели, щелкните на кнопке Geometry (Геометрия), выберите из раскрывающегося списка строку Compound Objects (Составные объекты) и нажмите кнопку ProBoolean (Pro Булев). В результате появится панель с настройками булевых операций (рис. 7.26).
Рис. 7.26. Панель с настройками булевых операций
В свитке Pick Boolean (Указать булев) щелкните на кнопке Start Picking (Указать) и выберите параллелепипед, построенный по форме окна. В результате этих операций в стене образуется оконный проем.
Чтобы видеть интерьер комнаты, расположите внутри нее камеру и источник света (например, Omni (Всенаправленный)). Снаружи напротив окна нужно установить еще один источник света. Это должен быть Target Spot (Направленный с целью), расположенный в пространстве таким образом, чтобы лучи света, проходя через окно, падали на пол комнаты (рис. 7.27).
Рис. 7.27. Взаимное расположение камеры и источников света в сцене
Чтобы «застеклить» окно, воспользуйтесь примитивом Plane (Плоскость), подогнав его размер под форму оконного проема.
После этого можно переходить к настройкам объемного света.
Сделайте световое пятно на полу комнаты от направленного источника света, находящегося за окном. Для этого создайте новый материал с текстурной картой витража и присвойте его окну следующим образом.
1. В окне Material Editor (Редактор материалов) выберите свободный материал.
2. Щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) в свитке Maps (Карты текстур).
3. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) дважды щелкните на строке Bitmap (Растровое изображение).
4. В открывшемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу с изображением витража.
5. Вернитесь к настройкам материала, щелкнув на кнопке Go to Parent (Вернуться к исходному).
6. Щелкните на кнопке Filter Color (Светофильтр) в свитке Maps (Карты текстур) и повторите операции п. 3, 4 и 5.
СОВЕТ
Если необходимо создать две одинаковые карты текстуры, можно щелкнуть на кнопке с загруженной картой и, не отпуская кнопку мыши, перетащить ее на кнопку, в которую необходимо вставить карту.
7. Установите флажок 2-Sided (Двусторонний) в свитке Shader Basic Parameters (Основные параметры затенения).
8. Задайте параметру Opacity (Непрозрачность) значение 50, что позволит свету проходить через окно в комнату (рис. 7.28).
Рис. 7.28. Настройки материала витража
Перед тем как выполнить первую визуализацию, настройте тени для источника света, который светит в окно, и цвет окружающей среды. Чтобы увидеть на полу световое пятно, необходимо включить отбрасывание теней при помощи данного источника света, причем тени должны быть типа Ray Traced Shadows (Трассированные тени). Чтобы витраж не казался темным и за ним угадывался яркий солнечный день, нужно в настройках окружающей среды изменить фоновый цвет на белый или светло-желтый. Для этого выполните команду Rendering ► Environment (Визуализация ► Окружающая среда). Откроется окно Environment and Effects (Окружающая среда и эффекты), где в свитке Common Parameters (Общие параметры) вкладки Environment (Окружающая среда) (рис. 7.29) сделайте необходимые изменения.
Рис. 7.29. Свиток Common Parameters (Общие параметры) вкладки Environment (Окружающая среда)
Задав все настройки, можно визуализировать сцену. Если все было сделано правильно, то должно получиться цветное световое пятно на полу комнаты (рис. 7.30).
Рис. 7.30. Результат визуализации витража с трассированными тенями
Осталось добавить изображению объемный свет. Для этого необходимо сделать два изменения: добавить источнику света Projector Map (Карта прожектора) и эффект Volume Light (Объемный свет).
Чтобы добавить Projector Map (Карта прожектора), выделите в сцене объект Direct01 (источник света за окном) и в свитке Advanced Effects (Дополнительные эффекты) настроек этого источника света щелкните на кнопке, расположенной рядом с полем Map (Карта текстуры). В результате откроется окно Material/Map Browser (Окно выбора материалов и карт), в котором дважды щелкните на Bitmap (Растровое изображение) и выберите файл с изображением витража. Это позволит сделать лучи объемного света цветными (в соответствии с растровой картой) (рис. 7.31).
Рис. 7.31. Свиток Advanced Effects (Дополнительные эффекты) настроек источника света, располагающегося за окном
Перейдем к настройкам атмосферных эффектов. Для этого выполните команду Rendering ► Environment (Визуализация ► Окружение), после чего появится окно Environment and Effects (Окружающая среда и эффекты). Здесь в свитке Atmosphere (Атмосфера) вкладки Environment (Окружение) щелкните на кнопке Add (Добавить) и в открывшемся окне Add Atmospheric Effect (Добавить атмосферный эффект) выберите Volume Light (Объемный свет). Задайте настройки объемного света, как показано на рис. 7.32.
После этого выполните финальную визуализацию (рис. 7.33).
Рис. 7.32. Свитки настроек объемного освещения для осветителя Direct01
Рис. 7.33. Результат финальной визуализации
ПРИМЕЧАНИЕ
В папке Examples\Глава 07\Volume_light прилагаемого к книге DVD содержится файл сцены данного упражнения, который называется volume_light_end.max.
При желании вы можете использовать дополнительные настройки и получить новые эффекты. Например, применив Noise (Шум), можно получить эффект прохождения лучей света сквозь дым, а при помощи затухания добиться более реалистичного восприятия картины.
Использование базовых источников света в интерьере
Современные визуализаторы, такие как mental ray, V-Ray, finalRender, Maxwell и др., могут использовать в расчетах глобальное освещение, что существенно облегчает работу, связанную с освещением, и повышает степень реалистичности визуализированных изображений. Со временем мы все больше и больше предоставляем программному обеспечению решать, как будет освещена и как будет выглядеть сцена при финальной визуализации. Все меньше времени мы затрачиваем на размещение и настройку источников света, и все еще значительное время требуется программе для того, чтобы рассчитать освещенность. Сейчас достаточно поместить в сцену один источник света, имитирующий солнце, и вся сцена будет заполнена отраженным светом – совсем как в жизни. Однако еще не так давно, выполняя визуализацию интерьера (или другую серьезную работу), приходилось настраивать десятки источников света, чтобы получить приемлемый результат. Использование базовых источников света является основополагающим в изучении и понимании освещения сцены.
В данном разделе мы рассмотрим принципы расстановки и настройки источников света программы 3ds Max 9 для освещения интерьера и создания эффекта глобального освещения. В качестве примера я собираюсь использовать вариант визуализации интерьера кухни, выполненный при помощи подключаемого визуализатора V-Ray (рис. 7.34).
Рис. 7.34. Модель интерьера кухни, визуализированная при помощи модуля V-Ray
ПРИМЕЧАНИЕ
Данная сцена использовалась при создании рекламного видеоролика, в котором отснятое в студии видео с реальными актерами накладывалось на анимацию интерьера с последующим добавлением спецэффектов. Таким образом, созданная модель интерьера с настроенным согласно сценарию освещением позволила сэкономить значительную часть бюджета ролика и добиться желаемого результата.
Освещение сцены стандартными источниками света отличается от того, которое рассчитывается с учетом GI (Global Illumination) (Глобальное освещение). В этом упражнении мы попытаемся максимально имитировать GI, которое учитывает в своих расчетах отраженный свет.
Для выполнения урока нам понадобится сцена, которую можно найти на прилагаемом к книге DVD в папке Examples\Глава 07\Kitchen. Файл называется kitchen start.max.
ВНИМАНИЕ
Сцена, расположенная на DVD, имеет свыше 600 000 полигонов. По этой причине на компьютерах со старыми видеоадаптерами изображение может медленно прорисовываться в окнах проекций. Чтобы ускорить прорисовку, можно спрятать неиспользуемые объекты или установить в настройках отображения режим Bounding Box (Габаритный контейнер). Для этого необходимо выполнить команду Customize ► Viewport Configuration (Настройка ► Конфигурирование окна проекции) главного меню и установить переключатель Rendering Level (Уровень визуализации) в соответствующее положение (рис. 7.35).
Рис. 7.35. Окно Viewport Configuration (Конфигурирование окна проекции)
Начните упражнение с открытия в программе 3ds Max 9 сцены и выделения стен, пола и потолка помещения. Для этого можно воспользоваться окном Select From Scene (Выбор из сцены), для вызова которого нажмите клавишу H. В этом окне выберите из списка два объекта с именами Walls (Стены) и Ceiling (Потолок) и нажмите OK для подтверждения выбора. Затем в любом из окон проекций щелкните на выделенном объекте правой кнопкой мыши и выберите из контекстного меню строку Hide Unselected (Спрятать невыделенное). В результате у вас должны остаться в сцене только два объекта, имитирующие стены, пол и потолок кухни.
Первое, что необходимо выполнить, настраивая освещение внутренних помещений при помощи стандартных источников света, – это создать общую освещенность сцены. Такая освещенность задает общее настроение в сцене и помогает зрителю определить время суток. Например, для яркого солнечного дня характерны теплые тона, а для искусственного освещения лампами дневного света – холодные.
Создайте всенаправленный источник света, для чего выполните команду Create ► Lights ► Standard Lights ► Omni (Создать ► Источники света ► Стандартные источники света ► Всенаправленный) главного меню и в окне проекции Top (Cверху) щелкните на левой половине модели кухни – именно там будем настраивать освещение сцены.
СОВЕТ
Выполняя создание и настройку источников света, мы будем использовать вид из камеры Base view, установленной в сцене (показывает вид, представленный на рис. 7.34). В связи с этим я бы не рекомендовал менять положение вида из камеры, что позволит в дальнейшем контролировать процесс визуализации.
Теперь необходимо выполнить предварительную настройку источника света. Поскольку мы будем создавать дневную освещенность с использованием солнечного света и гамма цветов пола, мебели и стен, которая преобладает в сцене, является в большей степени зеленовато-коричневой, значит, и цвет окружающего освещения должен быть именно таким. Чтобы настроить созданный источник света, сделайте следующее.
1. Выделите построенный источник света и перейдите на вкладку Modify (Изменение) командной панели.
2. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) задайте параметру Multiplier (Усилитель) значение 0,9 и выберите цвет со следующими характеристиками: Red (Красный) – 223; Green (Зеленый) – 210; Blue (Синий) – 191.
ПРИМЕЧАНИЕ
Выбор цвета определяется не только общей цветовой гаммой интерьера, но и временем суток, которое нужно воспроизвести, созданием эффекта отраженного света, а также глобальной освещенностью сцены.
3. В области Far Attenuation (Затухание вдали) свитка Intensity/Color/Attenuation (Интенсивность/цвет/затухание) установите флажки Use (Использовать) и Show (Показывать), что позволит управлять распространением освещения в пространстве и сделать затемненными углы комнаты. Значения этих параметров должны быть такими, чтобы начало области затухания находилось внутри комнаты, на небольшом расстоянии от внутренних стен, а окончание области затухания – за пределами кухни на значительном расстоянии. Например, значение Start (Начало) равно 3600 мм, а End (Конец) – 8500 мм.
4. В свитке Advanced Effects (Дополнительные эффекты) установите флажок Ambient Only (Только подсветка) (рис. 7.36).
Рис. 7.36. Настройки источника света общей освещенности
ВНИМАНИЕ
Установка флажка Ambient Only (Только подсветка) является очень важным фактором, так как именно этот параметр определяет то, каким образом будет использоваться источник света. В результате предметы сцены будут освещены равномерным светом с постепенным ослабеванием в зоне, определенной значениями параметров области Far Attenuation (Затухание вдали).
5. Перейдите в окно проекции Front (Спереди) и, используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать)
масштабируйте источник света по вертикали. Это необходимо для того, чтобы граница начала затухания оказалась между полом и потолком комнаты.
6. Переместите источник света Omni01 вверх так, чтобы большая часть освещения попадала на потолок (рис. 7.37). Это вызвано тем, что потолок белого цвета и для передачи его освещенности требуется значительная интенсивность источника, в то время как пол будет дополнительно освещаться солнечным светом, проходящим через окна, и большая контрастность только усилит эффект солнечного освещения.
Рис. 7.37. Расположение в сцене источника света Omni01
Проведите тестовую визуализацию вида из камеры, для чего выполните команду Rendering ► Render (Визуализация ► Визуализировать) главного меню, в области Output Size (Выходной размер) открывшегося окна выберите требуемый размер и щелкните на кнопке Render (Визуализировать).
СОВЕТ
Изменяя размер итогового изображения, старайтесь сохранять отношение высоты к ширине, равное 1,77778, что позволит иметь такие же пропорции, как и у оригинального изображения.
Сравните полученное изображение с оригиналом и убедитесь в том, что цвет и яркость света созданного светильника соответствуют поставленным задачам. На рис. 7.38 показано визуализированное изображение помещения, которое должно получиться после настройки источника света Omni01.
Рис. 7.38. Помещение кухни, освещенное всенаправленным источником света
Обратите внимание на следующие советы по настройке окружающего света.
■ Располагая источник света в комнате, смещайте его относительно центра ближе к потолку и стене, где расположены окна. Потолок, как правило, светлее стен и пола, а стена, на которой расположены окна, получает больше отраженного света, попадающего через эти окна в комнату. По мере удаления от окон свет постепенно затухает.
■ Настраивайте области затухания источника света с таким расчетом, чтобы углы и удаленные от дневного света участки комнаты имели значительные затемнения.
■ При необходимости масштабируйте источник света, чтобы получить желаемые области затухания.
■ Задавайте такой цвет источнику, чтобы он не только создавал общее настроение в картине, но и имитировал отраженный свет. В нашем случае преобладание деревянной мебели и пола создает теплую светло-коричневую гамму, а зеленый цвет рабочей области кухни придает этому тону зеленоватый оттенок.
■ Устанавливайте такое значение параметра Multiplier (Усилитель) источника света, которое создаст освещение, похожее на освещение итогового изображения. Причем созданное освещение должно быть немного темнее итогового, так как в сцену еще будут помещены локальные источники света, которые увеличат общее освещение сцены.
Если результат настройки общего освещения вас удовлетворил, можно переходить к созданию источника направленного света, имитирующего солнце. Для этого сделайте следующее.
1. Выполните команду Create ► Lights ► Standard Lights ► Target Directional (Создать ► Источники света ► Стандартные источники света ► Нацеленный направленный) и в окне проекции Top (Cверху) постройте светильник так, чтобы излучатель находился за пределами левой стены с окнами, а цель, на которую он направлен, – внутри помещения.
2. В окне проекции Front (Спереди) скорректируйте положение источника света так, чтобы угол, образованный источником света и полом комнаты, составлял около 35-40° (рис. 7.39).
Рис. 7.39. Расположение направленного источника света в окне проекции Front (Спереди)
3. Перейдите на вкладку Modify (Изменить) командной панели, в свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) задайте параметру Multiplier (Усилитель) значение, равное 2, и выберите цвет с такими параметрами: Red (Красный) – 233; Green (Зеленый) – 249; Blue (Синий) – 250.
Настройка параметров свитка Intensity/Color/Attenuation (Интенсивность/цвет/ затухание) позволит создать яркий пучок света, проходящий через окна кухни и оставляющий на полу световое пятно. Cветло-голубой цвет источника света создает дополнительный эффект отраженного неба. Выполните тестовую визуализацию и убедитесь, что все настройки сделаны правильно (рис. 7.40).
Солнечный свет, попадающий в комнату, оставляет не только яркое световое пятно на полу и предметах быта, но и усиливает освещение предметов, расположенных в непосредственной близости от окна. В нашем случае это означает, что как минимум стены в оконном проеме и потолок должны получить дополнительное освещение.
Рис. 7.40. Сцена, освещенная двумя источниками света
ПРИМЕЧАНИЕ
Для достижения максимальной реалистичности солнечного света необходимо освещать дополнительным светом не только оконные проемы и потолок, но и пол, а также предметы, расположенные в непосредственной близости от окна. В большинстве случаев для этого достаточно одного всенаправленного источника света, который будет оказывать влияние на определенные объекты. Это не входит в задачу данного урока, поэтому можете выполнить такую дополнительную настройку самостоятельно.
Чтобы осветить оконный проем, необходимо построить два источника света: один для освещения простенков, а второй – для оконного переплета.
1. Постройте свободный источник света, для чего выполните команду Create ► Lights ► Standard Lights ► Free Spotlight (Создать ► Источники света ► Стандартные источники света ► Направленный без цели) и в окне проекции Right (Справа) щелкните кнопкой мыши на середине оконного проема.
2. В окне проекции Top (Cверху) разместите построенный источник света так, чтобы он находился внутри комнаты на небольшом расстоянии от оконного проема.
3. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) настроек свободного источника задайте параметру Multiplier (Усилитель) значение 0,6. В свитке Advanced Effects (Дополнительные эффекты) установите флажок Ambient Only (Только подсветка).
4. В свитке Spotlight Parameters (Параметры прожектора) установите переключатель в положение Rectangle (Прямоугольник), а параметру Aspect (Пропорции) задайте значение 0,71 (рис. 7.41).
5. Параметрам Hotspot/Beam (Яркое пятно/луч) и Falloff/Field (Край пятна/область) задайте такие значения, чтобы освещение простенков начиналось от угла, не затрагивая стен кухни. В моем случае это 144,5 и 147,4 соответственно. В вашем случае могут быть несколько иные значения, которые зависят от удаленности источника света от оконного проема, на который он светит.
6. В свитке General Parameters (Общие параметры) щелкните на кнопке Exclude (Исключение) и в открывшемся окне Exclude/Include (Исключение/включение) выберите из списка, расположенного слева, объект curtains (Шторы). Щелкните на кнопке >> для перемещения его в список объектов, на которые не должен влиять источник света.
Размещенный в окнах проекций и настроенный источник света Fspot01 должен выглядеть, как показано на рис. 7.42.
Рис. 7.41. Свиток Spotlight Parameters (Параметры прожектора) с настройками нацеленного источника света
Рис. 7.42. Расположение источника света Fspot01 в окне проекции Perspective (Перспектива)
Если сейчас выполнить тестовую визуализацию, можно обратить внимание на то, что не только простенки приобрели соответствующее освещение, но и оконная рама стала белого цвета, то есть пересвечена. Исправить положение поможет создание источника света с отрицательным значением параметра Multiplier (Усилитель). В данном случае оптимальным будет использование источника света с параллельными лучами, чтобы освещение по всей поверхности оконной рамы оставалось равномерным. Для построения такого источника света сделайте следующее.
1. Выполните команду Create ► Lights ► Standard Lights ► Directional (Создать ► Источники света ► Стандартные источники света ► Направленный источник света) и в окне проекции Right (Cправа) щелкните кнопкой мыши в середине оконного проема (в месте расположения светильника Fspot01).
2. В окне проекции Top (Cверху) переместите источник света по оси X так, чтобы он занял свое положение в середине оконного проема.
3. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) задайте параметру Multiplier (Усилитель) значение, равное -0,45.
4. В свитке Directional Parameters (Параметры прожектора) установите переключатель в положение Rectangle (Прямоугольник), а параметру Aspect (Пропорции) задайте такое же значение, как и для предыдущего светильника, – 0,71. Настройте также значения параметров Hotspot/Beam (Яркое пятно/луч) и Falloff/ Field (Край пятна/область) таким образом, чтобы светильник охватывал всю поверхность оконной рамы. В моем случае эти значения равны 670 и 720 соответственно.
Выполните тестовую визуализацию и оцените результат настроек источников света для освещения окна (рис. 7.43).
Рис. 7.43. Визуализация вида из камеры с установленными светильниками для дальнего окна
Если все сделано правильно, то можно переходить к созданию источника света, который будет играть роль засветки потолка от окна.
ПРИМЕЧАНИЕ
Для большего контроля над созданием и настройкой светового пятна на потолке последний был выделен в отдельный объект, что позволило освещать эту область модели независимо от других объектов.
Если вы когда-нибудь рассматривали потолок своей квартиры в солнечный день, то могли обратить внимание, что свет от окна распределяется в виде трапеции и затухает по мере удаления в глубь комнаты. Такой эффект может создать нацеленный источник света. Для его построения сделайте следующее.
1. Выполните команду Create ► Lights ► Standard Lights ► Target Spotlight (Создать ► Источники света ► Стандартные источники света ► Направленный с целью), в окне проекции Top (Сверху) щелкните кнопкой мыши с внешней стороны оконного проема и, переместив указатель мыши по другую сторону окна в помещение кухни, щелкните еще раз для создания цели.
2. Расположите построенный источник света и его цель в окне проекции Front (Спереди) так, чтобы он светил через оконный проем на потолок (рис. 7.44).
Рис. 7.44. Расположение источника света, направленного на потолок
3. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) задайте параметру Multiplier (Усилитель) значение 0,75. В области Decay (Ослабление) выберите из списка Type (Тип) строку Inverse (Обратное), а параметру Start (Начало) задайте значение, равное 900. Таким образом, по мере удаления от источника света освещенность потолка будет ослабевать. Кроме того, для источника света можно выбрать светло-голубой цвет, что соответствует дневному свету в яркий солнечный день.
4. В свитке Spotlight Parameters (Параметры прожектора) установите переключатель в положение Rectangle (Прямоугольник), а параметру Aspect (Пропорции) задайте значение, равное 0,78. Для параметров Hotspot/Beam (Яркое пятно/луч) и Falloff/Field (Край пятна/область) выберите такие значения, чтобы освещение потолка начиналось недалеко от места пересечения его со стеной и, расширяясь, уходило в глубь комнаты. В окне проекции Top (Cверху) границы светового пятна должны определять угол распространения света, начиная от оконного проема. В моем случае эти значения равны 30 и 65 соответственно.
ПРИМЕЧАНИЕ
Обычно значения затухания света и светового пятна подбираются опытным путем в зависимости от положения и поворота источника света в пространстве, а также от расстояния до объекта, на который он светит.
5. В свитке General Parameters (Общие параметры) щелкните на кнопке Exclude (Исключение) и в открывшемся окне Exclude/Include (Исключение/включение) выберите из списка, расположенного слева, объекты Carniz (Карниз) и Ceiling (Потолок). Щелкните на кнопке >> для перемещения этих объектов в правый список. Здесь также установите переключатель в положение Include (Включить) для использования этих объектов в освещении. Все остальные объекты сцены будут игнорироваться.
6. В области Shadows (Тени) свитка General Parameters (Общие параметры) настроек источника света установите флажок On (Включить) и выберите из раскрывающегося списка строку Shadow Map (Карта тени).
7. Перейдите к свитку Shadow Map Params (Параметры карты тени) и задайте параметру Sample Range (Диапазон выборки) значение 40, что позволит получить мягкие размытые тени от карнизов на потолке.
После того как будут выполнены предварительные настройки, скопируйте три только что созданных источника света, предназначенных для освещения окна и потолка, для второго окна кухни. Это можно сделать, воспользовавшись командой главного меню Edit ► Clone (Правка ► Клонировать). В появившемся окне Clone Options (Параметры клонирования) выберите тип создаваемых при дублировании объектов Instance (Образец), что позволит в дальнейшем изменять параметры освещения сразу двух окон.
Теперь нужно выполнить тестовую визуализацию, перед которой следует отобразить карниз и шторы, чтобы увидеть, как освещение окна выглядит в целом. Для этого перейдите на вкладку Display (Отображение) командной панели и в свитке Hide (Спрятать) щелкните на кнопке Unhide by Name (Отобразить по имени). В появившемся окне Unhide Objects (Отобразить объекты) выберите два объекта – Carniz (Карниз) и curtains (Шторы).
Визуализируйте вид из камеры. Затем сравните с результатом, который получил я (рис. 7.45).
В представленном изображении явно виден недостаток освещенности стены рядом со шторами. Дело в том, что солнечный свет, попадая через окно на белые шторы, неминуемо вызовет отражение света, которое создаст светлые области на стене в местах расположения штор. Осветлить стены можно при помощи всенаправленного источника света.
1. Выполните команду Create ► Lights ► Standard Lights ► Omni (Создать ► Источники света ► Стандартные источники света ► Всенаправленный) и в окне проекции Right (Справа) щелкните на середине одной из штор. В окне проекции Top (Cверху) переместите источник света по оси X так, чтобы он занял свое место между шторой и стеной.
Рис. 7.45. Визуализация сцены с установленными источниками света для окон кухни
2. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) задайте параметру Multiplier (Усилитель) значение, равное 0,15. В области Far Attenuation (Затухание вдали) установите флажки Use (Использовать) и Show (Показывать).
3. При помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать)
масштабируйте источник света в вертикальной и горизонтальной плоскости так, чтобы область распространения света оказалась немного больше шторы (рис. 7.46).
Рис. 7.46. Форма и положение в пространстве источника света Omni02
4. В свитке Advanced Effects (Дополнительные эффекты) установите флажок Ambient Only (Только подсветка), чтобы получить равномерно ослабевающее освещение стены в местах размещения штор.
5. Cкопируйте источник света Omni02, чтобы разместить аналогичное освещение по всем сторонам, где находятся шторы. Как при настройке освещения оконных проемов, в окне Clone Options (Параметры клонирования) установите переключатель Object (Объект) в положение Instance (Образец), что в дальнейшем позволит редактировать параметры сразу всех источников света, расположенных в районе штор.
СОВЕТ
Одним из быстрых способов создания копий является перемещение объекта в окне проекции с нажатой клавишей Shift.
Выполните тестовую визуализацию и при необходимости подкорректируйте параметры источников света. Освещенность сцены должна быть такой, как показано на рис. 7.47.
Рис. 7.47. Сцена с дополнительными источниками света, расположенными позади штор
Рассмотрим еще одну особенность применения стандартных источников света для освещения объектов сцены. На сей раз создадим эффект затенения, который можно наблюдать позади предметов, расположенных в непосредственной близости от стен.
Чтобы продолжить упражнение, перейдите на вкладку Display (Отображение) командной панели. В свитке Hide (Спрятать) щелкните на кнопке Unhide by Name (Отобразить по имени). В появившемся окне Unhide Objects (Отобразить объекты) выберите объект Picture (Картина). Если сейчас выполнить визуализацию, то окажется, что созданные источники света не влияют на отображение картины и она скорее напоминает аппликацию, чем объемный предмет. Вокруг картины должна быть тень, так как она расположена близко к стене и помещена в черную рамку. Эту тень несложно создать при помощи направленного света с отрицательным значением параметра Multiplier (Усилитель).
1. В окне проекции Right (Cправа) создайте источник света Directional (Направленный) и расположите его в середине картины. В окне проекции Top (Cверху) переместите его по оси X так, чтобы он расположился впереди картины на небольшом расстоянии.
2. В свитке Directional Parameters (Параметры направленного источника света) установите переключатель в положение Rectangle (Прямоугольник), а параметру Aspect (Пропорции) задайте значение, равное 0,75. Для параметров Hotspot/Beam (Яркое пятно/луч) и Falloff/Field (Край пятна/область) подберите такие значения, чтобы световой луч находился на краях либо внутри картины, а край пятна – на небольшом расстоянии от нее (рис. 7.48). В моем случае эти значения равны 218 и 273 соответственно.
Рис. 7.48. Направленный источник света, расположенный перед объектом Picture (Картина)
3. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) задайте параметру Multiplier (Усилитель) значение –0,1.
4. В свитке Advanced Effects (Дополнительные эффекты) установите флажок Ambient Only (Только подсветка).
Если сейчас выполнить визуализацию, то вы увидите, что картина, висящая на стене, приобрела объем, которого ей не хватало. Аналогичным способом выполняется установка и настройка источника света между холодильником и стеной (рис. 7.49).
Рис. 7.49. Визуализация с затенением, созданным источниками света с отрицательным значением параметра Multiplier (Усилитель)
ВНИМАНИЕ
Дальнейшие настройки освещения сцены потребуют значительно большего времени для визуализации, что может вызвать проблемы обновления окон проекций на слабых компьютерах. По этой причине рекомендую для выполнения упражнения использовать только часть объектов, присутствующих в сцене.
Чтобы вы могли создавать и настраивать источники света в собственных сценах, необходимо рассмотреть еще два способа настройки стандартных источников.
Откройте спрятанные в самом начале упражнения объекты сцены и выполните тестовую визуализацию. Внимательно рассмотрите полученное изображение и сравните его с оригинальным (см. рис. 7.34), выполненным при помощи визуализатора V-Ray. Первое, что бросается в глаза, – это отсутствие у визуализированного изображения теней, позволяющих подчеркнуть объем предметов, присутствующих в сцене (рис. 7.50). Свет, проходящий на кухню через окна, должен усиливать освещенность фасадов кухни и затенять боковые стороны. Это же правило относится и ко всем остальным предметам сцены.
Первое, что необходимо сделать, – использовать источник света с отрицательным значением параметра Multiplier (Усилитель) для затенения боковых сторон объектов, аналогично тому, что мы делали для картины, висящей на стене. В данном случае источник света должен располагаться правее и немного ниже всех объектов, таким образом, чтобы в зоне его действия оказались нижние плоскости подвесных шкафчиков, боковые стенки и стол со стульями (рис. 7.51).
Рис. 7.50. Визуализация сцены без настроек освещения мебели и бытовых приборов
Рис. 7.51. Расположение направленного источника света, затеняющего стороны объектов, противоположные стене с окнами
Кроме того, для данного источника света следует исключить из освещения объекты Walls (Стены) и Ceiling (Потолок). Сделать это можно, щелкнув в свитке General Parameters (Общие параметры) на кнопке Exclude (Исключить). Откроется окно Exclude/Include (Исключение/включение), где следует переместить из левого списка в правый объекты, на которые не должно распространяться освещение.
Следующим шагом будет моделирование еще одного источника света, на сей раз создающего мягкую подсветку со стороны окон и размытые тени вокруг объектов сцены. В роли такого источника снова будет выступать Target Directional (Нацеленный направленный).
Постройте уже известным вам способом источник света. Расположите его со стороны окон и направьте на кухонную мебель. Ширина светового пятна должна быть такой, чтобы покрыть всю площадь от холодильника до противоположной стены (рис. 7.52).
Рис. 7.52. Расположение направленного источника света для создания дополнительной подсветки кухонной мебели
Настройте следующие параметры источника света.
1. В свитке General Parameters (Общие параметры) построенного источника света щелкните на кнопке Exclude (Исключение). В открывшемся окне Exclude/ Include (Исключение/включение) выберите из списка, расположенного слева, объекты, которые необходимо исключить из освещения. В нашем случае это Walls (Стены), Table&Chair (Стол и стулья), curtains (Шторы) и Ceiling (Потолок).
2. В области Shadows (Тени) свитка General Parameters (Общие параметры) настроек источника света установите флажок On (Включить) и выберите из раскрывающегося списка строку Shadow Map (Карта тени).
3. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) установите значение параметра Multiplier (Усилитель) равным 0,2. Небольшое значение этого параметра объясняется тем, что мы создаем иллюзию непрямого освещения и нет необходимости высвечивать объекты.
4. В свитке Advanced Effects (Дополнительные эффекты) задайте параметру Soften Diff. Edge (Размытие краев диффузного света) значение 100, что позволит смягчить границы диффузного отражения и подсветки.
5. В области Object Shadows (Тень объекта) свитка Shadow Parameters (Параметры тени) задайте параметру Dens. (Плотность) значение -0,3 и измените цвет тени на белый или светло-серый.
СОВЕТ
Отрицательное значение параметра плотности карты тени и белый цвет позволят получить инверсную тень, имеющую равномерное распределение затенения во внутренней ее части, чего не удастся достичь обычным способом.
6. Разверните свиток Shadow Map Params (Параметры карты тени) и задайте параметру Sample Range (Диапазон выборки) значение 40, а параметру Size (Размер) – значение 600, что позволит получить мягкие размытые края.
После установки всех настроек выполните тестовую визуализацию и оцените полученный результат. Изображение, которое получилось у меня после создания и настройки вышеописанного источника света, представлено на рис. 7.53.
Рис. 7.53. Визуализированное изображение с тенями и дополнительной подсветкой
Изображение стало выглядеть значительно лучше, но все еще не хватает общей глубины тени и теней от мелких и тонких объектов, например от ручек шкафчиков.
ПРИМЕЧАНИЕ
На самом деле небольшие объекты также отбрасывают тень, но использованный нами Sample Range (Диапазон выборки) оказывает такое влияние на размытие тени, что она становится практически незаметной.
Для усиления затененных участков необходимо установить еще как минимум два Directional (Направленный источник света) с отрицательным значением параметра Multiplier (Усилитель). Их следует расположить в проеме между шкафчиками над вытяжкой (направленный вниз) и возле правой стороны холодильника (вертикальный источник света, направленный в сторону кухни).
Тень для мелких предметов можно создать двумя способами.
■ Сделать источник света со значением параметра Multiplier (Усилитель) близким к нулю (чтобы не оказывать дополнительное влияние на общую освещенность сцены) и отрицательным значением параметра Dens. (Плотность).
■ Создать два источника света, один из которых является копией другого, с той лишь разницей, что он имеет противоположное значение параметра Multiplier (Усилитель), а в области Shadows (Тени) свитка General Parameters (Общие параметры) снят флажок On (Включить).
Рассмотрим первый вариант как более простой и менее очевидный.
Создайте новый объект Target Directional (Нацеленный направленный) или скопируйте последний построенный. Размеры и расположение в сцене должны быть приблизительно такими, как и у предыдущего источника света. В результате строящиеся тени будут соответствовать размытым, построенным ранее. Задайте параметру Multiplier (Усилитель), расположенному в свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание), значение -0,01. Осталось настроить параметры тени. Для этого выполните следующие действия.
1. В области Shadows (Тени) свитка General Parameters (Общие параметры) установите флажок On (Включить) и выберите из раскрывающегося списка строку Area Shadows (Площадная тень).
2. В области Object Shadows (Тень объекта) свитка Shadow Parameters (Параметры тени) задайте параметру Dens. (Плотность) значение -0,1 и измените цвет тени на белый или светло-серый.
3. Параметрам свитка Area Shadows (Площадная тень) укажите значения, представленные на рис. 7.54.
Рис. 7.54. Параметры свитка Area Shadows (Площадная тень) для точной настройки теней
После изменений настроек источника света можно выполнить окончательную визуализацию (см. рис. 7.34).
Подведем итоги выполненного упражнения. Одна и та же сцена может быть освещена различными способами, причем если у вас нет в наличии модулей для визуализации с использованием глобального освещения или вы не умеете ими пользоваться, то вполне можно обойтись стандартными источниками света. Кроме того, такое решение подразумевает творческий подход и максимальную свободу использования света. Не лишним будет сказать, что тестовая сцена с использованием визуализатора V-Ray на компьютере с 2 Гбайт оперативной памяти и процессором 3,2 ГГц просчитывалась 1 час 28 минут, а с использованием стандартных источников света – 7 минут.
ПРИМЕЧАНИЕ
Если у вас возникли затруднения с расстановкой или настройкой источников света, то вы можете загрузить файл kitchen_end.max, который находится на прилагаемом к книге DVD в папке Examples\Глава 07\Kitchen, и проанализировать настройки установленных в сцене источников света.
Глава 8 Анимация сцен
• Анимация с использованием деформируемой геометрии
• Анимация взрыва
• Два варианта анимации страницы книги
• Анимация рукописного шрифта
• Использование модификатора Cloth (Ткань) для симуляции поведения тканей
• Анимация движения танковой гусеницы
• Звук в 3ds Max
• Песочные часы
• Текст, уносимый порывами ветра
В этой главе будут рассмотрены примеры создания анимации. Начнем знакомство с самого простого примера – анимации с применением деформируемой геометрии.
Анимация с использованием деформируемой геометрии
В данном разделе мы опишем, насколько просто в 3ds Max 9 можно создать интересную анимацию с использованием модификаторов и объектов группы Geometric/ Deformable (Деформируемая геометрия) категории Space Warps (Пространственные деформации). Мы создадим анимацию движения капли жидкости сквозь твердый объект и смоделируем движение твердого объекта в мягкой оболочке при помощи объектов FFD (Box) (FFD-контейнер (прямоугольный)), FFD (Cyl) (FFD-контейнер (цилиндрический)) и модификатора Taper (Заострение).
Начнем с построения простых объектов. Для первой анимации нам понадобятся два параметрических объекта: Sphere (Сфера) и Tube (Труба). Для создания сферы перейдите в окно проекции Top (Сверху) и выполните команду главного меню Create ► Standard Primitives ► Sphere (Создание ► Простые примитивы ► Сфера). На вкладке Modify (Изменение) командной панели задайте параметру Radius (Радиус) значение, равное 20, а Segments (Количество сегментов) оставьте равным по умолчанию – 32 (рис. 8.1).
Расположите построенную сферу в начале координат. Для этого выделите сферу в одном из окон проекций и щелкните правой кнопкой мыши на кнопке Select and Move (Выделить и переместить)
В области Absolute:World (Абсолютные: глобальные) открывшегося окна Move Transform Type-In (Ввод данных преобразования перемещения) всем параметрам установите нулевые значения.
Создайте объект Tube (Труба). Для этого выполните команду Create ► Standard Primitives ► Tube (Создание ► Простые примитивы ► Труба) главного меню и в окне проекции Top (Сверху) постройте объект произвольных размеров. В свитке Parameters (Параметры) настроек объекта Tube (Труба) на командной панели задайте параметрам значения, показанные на рис. 8.2.
Мы задали построенному объекту большое количество сегментов по высоте. Это объясняется тем, что для плавного изменения формы объекта необходимо иметь достаточное количество полигонов в области деформации.
Расположите сферу в середине трубы, для чего воспользуйтесь инструментом Align (Выравнивание)
расположенным на главной панели инструментов.
После создания и выравнивания объектов можно приступать к анимации. Рассмотрим два варианта прохождения твердого объекта (сферы) сквозь эластичную трубу.
Рис. 8.1. Параметры объекта Sphere (Сфера)
Рис. 8.2. Параметры объекта Tube (Труба)
Первый вариант (с использованием модификатора)
Примените к объекту Tube01 модификатор Taper (Заострение), выполнив команду меню Modifiers ► Parametric Deformers ► Taper (Модификаторы ► Параметрические деформации ► Заострение). Перейдите на уровень редактирования подобъектов модификатора Taper (Заострение). Для этого в стеке модификаторов щелкните на плюсике, расположенном слева от имени модификатора, и в раскрывшемся списке выберите строку Center (Центр). Цвет маркера (перекрестие у основания значка осей) изменится на желтый (по умолчанию). Нажмите кнопку Select and Move (Выделить и переместить) на панели инструментов и переместите центр модификатора по вертикали до нижней границы объекта Tube01 (рис. 8.3).
Перейдите к редактированию габаритного контейнера модификатора. Для этого выделите в стеке модификаторов строку Gizmo (Габаритный контейнер) – в результате контейнер, охватывающий трубу, изменит цвет на красный. Снова воспользуйтесь инструментом перемещения и сместите габаритный контейнер вверх до того места, где сфера пересекается с внутренней стенкой трубы (рис. 8.4).
Нажмите на панели инструментов кнопку Select and Uniform Scale (Выделить и равномерно масштабировать)
Масштабируйте габаритный контейнер по вертикали до тех пор, пока верхний край контейнера не опустится до уровня пересечения внутренних стенок трубы со сферой (то есть масштабируйте габаритный контейнер по оси Y примерно до 12 %). Проконтролировать параметры масштабирования можно в строке состояния, расположенной в нижней части окна программы.
Рис. 8.3. Расположение центра воздействия модификатора Taper (Заострение)
Рис. 8.4. Положение габаритного контейнера относительно сферы
Задайте модификатору Taper (Заострение) значения параметров, показанные на рис. 8.5. В результате труба деформируется по форме сферы.
Для создания анимации сделайте следующее.
1. Передвиньте ползунок таймера анимации на 85 кадр.
2. Включите автоматическую запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ). Кнопка выделится цветом, указывая на то, что она находится в активном состоянии.
3. Передвиньте контейнер модификатора Taper (Заострение) вниз до положения, когда его верхний край сместится за пределы трубы. Обратите внимание на то, что при этом вы должны находиться на уровне подобъектов Gizmo (Габаритный контейнер) модификатора.
Рис. 8.5. Форма габаритного контейнера и параметры модификатора Taper (Заострение)
4. Передвиньте ползунок таймера анимации на 15 кадр и снова сместите габаритный контейнер модификатора, но теперь вверх, до тех пор, пока модификатор не покинет пределы трубы.
5. Выделите и удалите первый ключ, созданный программой автоматически.
6. Передвиньте ползунок таймера анимации на последний 100 кадр и переместите сферу вниз за пределы трубы на небольшое расстояние.
7. Сместите ползунок таймера анимации на нулевой кадр и передвиньте сферу вверх за пределы трубы на небольшое расстояние.
8. Перейдите в 20 кадр анимации и уточните положение сферы относительно деформированного места трубы так, чтобы сфера находилась внутри деформированного участка. То же самое сделайте и для 80 кадра.
9. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
1 0. Щелкните на кнопке Play Animation (Воспроизвести анимацию)
для просмотра выполненной анимации.
Рассмотрим второй способ создания анимации с помощью объекта FFD (Box) (FFD-контейнер (прямоугольный)), используя те же объекты: сферу и трубу.
Второй вариант (с использованием объектов категории Geometric/Deformable (Деформируемая геометрия))
Для продолжения упражнения необходимо выполнить одно из двух действий: создать новый объект Tube (Труба) или копировать существующий и удалить назначенный ему модификатор. Если вы решили создать копию существующего объекта, то сделайте следующее.
1. В одном из окон проекций выделите построенный ранее объект Tube01.
2. Выполните команду меню Edit ► Clone (Правка ► Клонирование) и в появившемся окне Clone Options (Параметры клонирования) выберите тип создаваемых при дублировании объектов Copy (Независимая копия объекта).
3. Спрячьте одну из копий трубы. Для этого щелкните на ней правой кнопкой мыши и выберите из контекстного меню строку Hide Selection (Спрятать выделенное).
4. Удалите из стека модификаторов ранее присвоенный Taper (Заострение). Автоматически удалится вся анимация, относящаяся к деформации трубы.
Анимация объекта Sphere01 нам пригодится в дальнейшей работе, поэтому все, что было сделано с этим объектом, должно оставаться таким, как есть. Единственное, что нужно сделать, – перейти в 50 кадр анимации, чтобы сфера оказалась внутри объекта Tube01.
Теперь необходимо построить новый объект – FFD (Box) (FFD-контейнер (прямоугольный)). Для этого выполните команду меню Create ► SpaceWarps ► Geometric/ Deformable ► FFD (Box) (Создание ► Пространственные деформации ► Деформируемая геометрия ► FFD-контейнер (прямоугольный)) и в окне проекции Top (Сверху) создайте прямоугольный контейнер с параметрами, представленными на рис. 8.6. Разместите его в середине сферы.
Рис. 8.6. Параметры и положение в пространстве относительно сферы объекта FFD01
Теперь габаритный контейнер необходимо связать с объектом, на который будет направлено воздействие трансформации, и отредактировать форму самого контейнера в соответствии с формой сферы. Для этого нужно выполнить следующее.
1. Свяжите объект FFD01 с трубой. Для этого нажмите кнопку Bind to Space Warp (Связать с воздействием)
затем в одном из окон проекций щелкните на объекте FFD01 и, когда указатель примет соответствующий вид, перетащите его на трубу.
2. Перейдите на уровень редактирования контрольных точек контейнера, для чего в стеке модификаторов щелкните на плюсике слева от строки FFD (box) 4x4x4 (FFD-контейнер (прямоугольный) 4x4x4) и в раскрывшемся списке выберите Control Points (Контрольные точки).
3. Выделите два средних ряда контрольных точек и, используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать)
главной панели инструментов, равномерно масштабируйте точки до 130 %.
4. Выйдите из режима редактирования контрольных точек контейнера, вернувшись на верхний уровень стека модификаторов. Для этого щелкните в стеке на строке FFD (box) (FFD-контейнер (прямоугольный)).
Таким образом, габаритный контейнер после редактирования будет описывать форму сферы, а труба в месте воздействия контейнера деформации примет нужную форму (рис. 8.7).
Рис. 8.7. Форма трубы после применения модификатора пространственной деформации
Осталось связать контейнер трансформации с анимированной сферой, расположенной внутри трубы, и анимация будет закончена. Чтобы создать такую связь, необходимо выделить габаритный контейнер, нажать кнопку Select and Link (Выделить и связать)
главной панели инструментов и указать на сферу.
СОВЕТ
Выделить непосредственно сферу, находящуюся внутри двух других объектов, достаточно сложно. Самым простым решением будет выбор нужного объекта из списка объектов, который можно вызвать, воспользовавшись кнопкой Select by Name (Выделить по имени) или клавишей H.
Запустите воспроизведение анимации и убедитесь, что все было сделано правильно. В процессе воспроизведения габаритный контейнер вместе со сферой будет опускаться через трубу, деформируя ее в месте своего прохождения.
ПРИМЕЧАНИЕ
В папке Examples\Глава 08\Deformation прилагаемого DVD находится файл soft_tube.max с двумя вариантами выполненной анимации, а в папке Video\Глава 08 – видеоролик tube_deform.avi, показывающий прохождение сферы через трубу.
Анимация формы сферы
При выполнении предыдущего примера мог возникнуть вопрос, можно ли при помощи FFD (Box) (FFD-контейнер (прямоугольный)) трансформировать сферу, проходящую через трубу. Ответ – да, можно. Рассмотрим, как сделать такую анимацию.
Создайте новую сцену с теми же объектами: сфера и труба. Вы можете воспользоваться старой сценой, удалив модификатор FFD (Box) (FFD-контейнер (прямоугольный)) из стека.
Трубе необходимо придать форму воронки. Для этого следует или применить модификатор Taper (Заострение), или отредактировать положение верхнего ряда вершин. Я воспользовался первым вариантом (рис. 8.8), чтобы потом при необходимости можно было вернуться на уровень редактирования параметров объекта Tube (Труба).
Рис. 8.8. Форма трубы и параметры ее модификатора Taper (Заострение)
Если вы заново создавали сцену, то анимируйте сферу таким образом, чтобы в первом кадре ее положение относительно трубы было выше, а в последнем – ниже. Для этого достаточно воспользоваться автоматической записью ключей анимации, как мы это делали ранее (установить соответствующее положение объекта в пространстве – остальное программа сделает автоматически).
Постройте объект FFD (Cyl) (FFD-контейнер (цилиндрический)) и разместите его относительно трубы следующим образом.
1. Выполните команду меню Create ► SpaceWarps ► Geometric/Deformable ► FFD(Cyl) (Создание ► Пространственные деформации ► FFD-контейнер (цилиндрический)) и в окне проекции Top (Сверху) постройте объект произвольной формы.
2. Используя инструмент Select and Move (Выделить и переместить)
или Align (Выравнивание)
расположите габаритный контейнер так, чтобы он находился в середине трубы.
3. В свитке FDD Parameters (FDD-параметры) построенного объекта задайте такие значения параметров, чтобы его диаметр соответствовал внутреннему диаметру в самой широкой части воронки (вверху), а по высоте – высоте трубы. Кроме того, важным является то, сколько разбиений по высоте будет иметь этот контейнер. Расстояние между первым и вторым рядом должно равняться высоте сужающейся части воронки. В моем случае это такое же количество рядов, как и у трубы (то есть равно значению параметра Height Segments (Количество сегментов по высоте)). Их можно установить, воспользовавшись кнопкой Set Numbers of Points (Установить количество точек) области Dimensions (Размеры).
ВНИМАНИЕ
Все изменения расположения контрольных точек влияют на объект деформации – изменяют его форму. Именно поэтому начальную форму контейнера желательно задавать при помощи изменения параметров.
Далее необходимо связать габаритный контейнер со сферой и отредактировать его.
1. Свяжите габаритный контейнер со сферой. Для этого щелкните на кнопке Bind to Space Warp (Связать с воздействием)
на панели инструментов, выделите габаритный контейнер и, когда указатель примет соответствующий вид, удерживая кнопку мыши, подведите его к сфере.
2. Перейдите на уровень редактирования контрольных точек контейнера, для чего в стеке модификаторов щелкните на плюсике, расположенном слева от имени модификатора, и в раскрывшемся списке выберите строку Control Points (Контрольные точки).
3. Выделяя по очереди все ряды контрольных точек, кроме первого, масштабируйте их до внутреннего размера трубы (рис. 8.9). Для этой операции воспользуйтесь инструментом Select and Uniform Scale (Выделить и равномерно масштабировать)
Рис. 8.9. Форма и положение габаритного контейнера
СОВЕТ
Описанные действия можно выполнить иначе: выделить все необходимые ряды, начиная со второго, равномерно масштабировать их до размера внутреннего диаметра, а затем масштабировать по высоте, чтобы вернуться к прежнему расположению рядов по горизонтали.
4. Выйдите из режима редактирования контрольных точек контейнера, щелкнув в стеке на имени модификатора.
Запустите воспроизведение анимации, воспользовавшись кнопкой Play Animation (Воспроизвести анимацию)
и убедитесь, что все сделано правильно.
ПРИМЕЧАНИЕ
Для ознакомления с выполненной анимацией можно открыть файл soft_sphere.max, расположенный в папке Examples\Глава08\Deformation\ прилагаемого DVD. В папке Video\Глава 08 находится видеоролик sphere_deform.avi.
При желании вы можете улучшить анимацию. Для этого нужно перейти в кадр, в котором сфера появляется из трубы, и изменить значение параметра Falloff (Спад) в области Deform (Деформация) настроек объекта FFD(Cyl) (FFD-контейнер (цилиндрический)). В результате сфера будет плавно изменять форму во времени.
Анимация взрыва
Рассматривая разные варианты анимации объектов, можно заметить, что для ее создания не обязательно прибегать к каким-то ухищрениям, часто достаточно стандартных средств. В предыдущем упражнении мы именно так и поступили – создали анимацию с использованием параметрических объектов и модификаторов. В этом разделе мы рассмотрим один из вариантов создания анимации взрыва при помощи все тех же средств.
Начните с того, что загрузите в программу 3ds Max сцену bombstart.max, находящуюся в папке Examples\Глава 08\Bomb прилагаемого DVD (рис. 8.10).
Рис. 8.10. Объекты сцены, предназначенные для анимации
Итак, у нас есть сфера и цилиндр, играющие роль бомбы, и сплайн пути для запального шнура. Сначала построим запальный шнур и анимируем его.
1. В окне проекции Top (Сверху) постройте параметрический объект Cylinder (Цилиндр) произвольных размеров.
2. Перейдите на вкладку Modify (Изменение) командной панели и в свитке Parameters (Параметры) настроек построенного цилиндра задайте параметрам Radius (Радиус), Height (Высота) и Height Segments (Количество сегментов по высоте) значения согласно рис. 8.11.
3. Примените к цилиндру модификатор деформации по траектории, выполнив команду главного меню Modifiers ► Animation ► Path Deform (WSM) (Модификаторы ► Анимация ► Деформация по траектории (WSM)).
4. В свитке Parameters (Параметры) настроек модификатора Path Deform (WSM) (Деформация по траектории (WSM)) щелкните на кнопке Pick Path (Указать путь) и выберите в одном из окон проекций сплайн пути для запального шнура.
5. Щелкните на кнопке Move to Path (Передвинуть на путь), чтобы цилиндр занял на сплайне формы правильное положение (рис. 8.12).
6. Активизируйте автоматическую запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ), и передвиньте ползунок таймера анимации на последний кадр.
Рис. 8.11. Параметры построенного цилиндра
Рис. 8.12. Цилиндр, деформированный по сплайну пути
7. Перейдите к свитку Parameters (Параметры) настроек цилиндра, для чего в стеке модификаторов щелкните на строке Cylinder (Цилиндр), в результате чего строка выделится цветом.
8. Задайте параметру Height (Высота) значение, равное 0.
9. Выключите запись ключей анимации, для чего повторно щелкните на кнопке Auto Key (Автоключ).
10. Проверьте правильность выполненных действий, запустив проигрывание анимации кнопкой Play Animation (Воспроизвести анимацию)
Запальный шнур должен уменьшаться и исчезнуть в 100 кадре.
Как видите, совсем простыми действиями мы создали анимацию сгорающего шнура. Чтобы усилить эффект горения, можно добавить на окончание запального шнура систему частиц, которая будет имитировать разлетающиеся в стороны искры. Система частиц должна базироваться на выделенных подобъектах (например, полигонах) либо на объекте в целом. В данном случае выделить полигоны на конце запального шнура невозможно, так как в верхней строке стека модификаторов находится модификатор Path Deform (WSM) (Деформация по траектории (WSM)). По этой причине необходимо построить и анимировать еще один объект.
1. Создайте сферу такого же размера, как и запальный шнур. В моем случае радиус равен 1,8.
2. Примените к построенной сфере модификатор Path Deform (WSM) (Деформация по траектории (WSM)).
3. В свитке Parameters (Параметры) настроек модификатора Path Deform (WSM) (Деформация по траектории (WSM)) щелкните на кнопке Pick Path (Указать путь) и выберите в одном из окон проекций сплайн пути для запального шнура.
4. Щелкните на кнопке Move to Path (Передвинуть на путь), чтобы сфера заняла на сплайне формы правильное положение.
5. Задайте такое значение параметра Percent (Проценты), при котором сфера в нулевом кадре шкалы анимации переместится в начало запального шнура. У меня это значение равно 88,3 (рис. 8.13).
Рис. 8.13. Свиток Parameters (Параметры) настроек модификатора Path Deform (WSM) (Деформация по траектории (WSM))
6. Активизируйте автоматическую запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ), и передвиньте ползунок таймера анимации на последний кадр.
7. Задайте параметру Percent (Проценты) значение, равное 0.
8. Проверьте анимацию. Сфера должна перемещаться по сплайну пути вместе с запальным шнуром.
Сфера используется как вспомогательный объект для построения системы частиц, поэтому нет необходимости в ее визуализации. Ее можно спрятать, воспользовавшись командой Hide Selection (Спрятать выделенное) контекстного меню, вызываемого щелчком правой кнопки мыши на объекте.
СОВЕТ
Можно анимировать параметр Visibility (Видимость) (в окне Object Properties (Свойства объекта)) с таким расчетом, что во время горения запального шнура сфера будет видна (значение параметра равно 1), а начиная с момента взрыва – нет (значение параметра Visibility (Видимость) равно 0). В этом случае сфере можно присвоить красный материал с небольшим значением параметра Self-Illumination (Собственное свечение), что усилит эффект горящего запального шнура.
Теперь займемся искрами. Для этого выполним простую анимацию системы частиц. Выполните команду Create ► Particles ► PArray (Создание ► Частицы ► Массив частиц) и в произвольном месте любого окна проекции создайте значок массива частиц (рис. 8.14).
В свитке Basic Parameters (Базовые параметры) настроек системы частиц PArray01 щелкните на кнопке Pick Object (Указать объект) и выберите в одном из окон проекций построенную ранее сферу. Перейдите к свитку Particle Generation (Генерация частиц) настроек системы частиц и задайте значения параметров создаваемых частиц: увеличьте количество генерируемых частиц до 150, измените скорость движения частиц, продлите время окончания их генерации до последнего кадра, уменьшите время жизни до двух кадров и т. д. (рис. 8.15).
Рис. 8.14. Значок системы частиц, расположенный в окне проекции Front (Спереди)
Рис. 8.15. Параметры системы частиц в свитке Particle Generation (Генерация частиц)
ПРИМЕЧАНИЕ
Значения параметров системы частиц подбираются опытным путем в зависимости от желаемого результата и могут существенно отличаться от приведенных на рис. 8.15. Из всех параметров данного свитка наиболее важными являются время окончания генерации частиц, которое должно быть продлено до окончания горения запального шнура (в нашем случае до 100), и установленный флажок Emitter Rotation (Поворот источника), что позволит задать направление движения частиц.
Переключатель Standard Particles (Типовые частицы) свитка Particle Type (Тип частиц) установите в положение Special (Специальный), что позволит задать форму частиц в виде пересекающихся плоскостей.
В области Spin Axis Controls (Управление осями вращения) свитка Rotation and Collision (Поворот и столкновения) установите переключатель в положение Direction of Travel/Mblur (Направление движения/размывание движения). Параметру Stretch (Растяжение) задайте значение, равное 50. Изменение значений этих параметров позволит получить протяженное размытие частиц по мере удаления от источника.
Настроив основные параметры системы частиц, визуализируйте статичный кадр в середине анимации и убедитесь, что все выполнено правильно. Если результат вас не удовлетворит, проведите дополнительную настройку параметров системы частиц.
Следующим шагом будет создание анимации самого взрыва. В данном случае нам поможет объект Bomb (Бомба), относящийся к Space Warps (Пространственные деформации). Для создания и настройки анимации взрыва сделайте следующее.
1. Выполните команду Create ► SpaceWarps ► Geometric/Deformable ► Bomb (Создание ► Пространственные деформации ► Деформируемая геометрия ► Бомба).
2. Разместите созданный значок бомбы внутри сферы (рис. 8.16).
Рис. 8.16. Расположение значка объекта Bomb (Бомба)
3. Свяжите объекты GeoSphere01 и Cylinder01 с воздействием. Для этого щелкните на кнопке Bind to Space Warp (Связать с воздействием)
на панели инструментов, затем в одном из окон проекций на бомбе (GeoSphere01) и, когда указатель примет соответствующий вид, перетащите его на значок объекта Bomb (Бомба). Проделайте те же операции и для цилиндра, расположенного в верхней части бомбы (его также необходимо взорвать).
4. В одном из окон проекций выделите значок объекта Bomb (Бомба) и перейдите к свитку Bomb Parameters (Параметры бомбы), расположенному на вкладке Modify (Изменение) командной панели.
5. В области Explosion (Взрыв) задайте параметрам Strength (Мощность) и Spin (Вращение) значения, равные 1,5.
6. В области Fragment Size (Размер фрагментов) задайте параметрам Min (Минимум) и Max (Максимум) значения 1 и 5 соответственно.
7. В поле Detonation (Детонация) области General (Общие) укажите номер кадра, в котором произойдет взрыв. В нашем случае это 100 кадр, в котором запальный шнур догорит до конца.
8. Увеличьте количество кадров анимации. Для этого щелкните на кнопке Time Configuration (Настройка временных интервалов)
в правой нижней части окна 3ds Max и в поле End Time (Время окончания) области Animation (Анимация) открывшегося окна введите количество кадров, равное 200.
9. Проверьте анимацию. С 1 по 100 кадр будет гореть запальный шнур, а начиная с 200 кадра должна взорваться бомба.
Таким образом, мы построили простой взрыв. Его реалистичность можно повысить, воспользовавшись эффектом Fire Effect (Эффект огня) (в предыдущих версиях программы 3ds Max он был известен как Combustion (Горение)). Для этого необходимо предварительно построить габаритный контейнер, который будет определять зону действия атмосферного эффекта Fire Effect (Эффект огня). Выполнить это можно при помощи команды главного меню Create ► Helpers ► Atmospherics ► Sphere Gizmo (Создание ► Вспомогательные объекты ► Атмосферные эффекты ► Сферический контейнер). После построения расположите габаритный контейнер так, чтобы бомба находилась в его середине (рис. 8.17).
При активном габаритном контейнере SphereGizmo01 перейдите на вкладку Modify (Изменение) командной панели и в свитке Atmospheres & Effects (Атмосфера и эффекты) щелкните на кнопке Add (Добавить). В открывшемся окне Add Atmosphere (Добавить атмосферный эффект) выберите из списка строку Fire Effect (Эффект огня) и щелкните на кнопке OK для подтверждения выбора. В результате этих действий в список эффектов габаритного контейнера добавится эффект огня (рис. 8.18).
Рис. 8.17. Расположение габаритного контейнера относительно объекта-бомбы
Рис. 8.18. Габаритный контейнер с добавленным эффектом огня
Теперь следует настроить параметры эффекта для взрыва.
1. В свитке Atmospheres & Effects (Атмосфера и эффекты) выделите строку с именем добавленного эффекта и щелкните на кнопке Setup (Настройки).
2. Убедитесь в том, что в области Shape (Форма) открывшегося окна Environment and Effects (Окружающая среда и эффекты) переключатель Flame Type (Тип огня) установлен в положение Fireball (Облако пламени).
3. В этой же области задайте параметру Regularity (Регулярность) значение 0,6, что позволит придать эффекту форму, близкую к форме габаритного контейнера (значение, равное 1, создаст абсолютно круглый огненный шар).
4. В области Explosion (Взрыв) установите флажок Explosion (Взрыв). В результате программа будет рассматривать эффект огня как взрыв.
5. В этой же области щелкните на кнопке Setup Explosion (Настройки взрыва) и в открывшемся окне Setup Explosion Phase Curve (Настройки кривой фаз взрыва) задайте параметрам Start Time (Время начала) и End Time (Время окончания) значения, равные 100 и 180 соответственно. Эти значения определяют начало и окончание действия эффекта взрыва.
Остальные параметры эффекта взрыва могут оставаться заданными по умолчанию, а если вам не понравится результат, вы всегда можете поменять их на свои.
Активизируйте окно перспективного вида, переместите ползунок таймера анимации на 102 кадр (начало взрыва) и выполните визуализацию (рис. 8.19).
Рис. 8.19. Визуализация эффекта взрыва в 102 кадре анимации
ВНИМАНИЕ
Эффект можно визуализировать только в окне проекции Perspective (Перспектива) или в окне вида из камеры. В окнах проекций Front (Спереди), Left (Слева), Top (Сверху), Right (Справа) и др. эффект не визуализируется.
Как видно из визуализации, размера эффекта взрыва недостаточно. Сделать его большим можно, увеличив размеры габаритного контейнера SphereGizmo01. Для этого выделите этот объект и в свитке Sphere Gizmo Parameters (Параметры сферического габаритного контейнера) задайте параметру Radius (Радиус) значение 130. Повторите визуализацию эффекта и убедитесь в том, что размер облака пламени приблизительно равен радиусу разлетающихся осколков бомбы (рис. 8.20).
Рис. 8.20. Визуализация взрыва с измененным радиусом габаритного контейнера
Для проверки выполненной анимации визуализируйте и другие кадры анимации. При необходимости измените настройки эффекта или размер габаритного контейнера. Визуализируйте все кадры и сохраните анимацию как последовательность изображений или видеоролик.
ПРИМЕЧАНИЕ
При необходимости вы можете обратиться к файлу упражнения bomb_end.max с выполненными настройками анимации. Он расположен на прилагаемом DVD в папке Examples\Глава 08\Bomb. В папке Video\Глава 08 содержится готовая анимация bomb.avi.
Два варианта анимации страницы книги
Анимацию модели книги, как и многие другие задачи, можно выполнить разными способами. Например, использовать примитив Box (Параллелепипед) для моделирования корешка книги и неподвижно лежащих листов, а для создания переворачивающихся листов – объект Plane (Плоскость) с достаточно плотной сеткой полигонов, чтобы сделать корректный изгиб. После этого применить модификатор FFD (Box) (FFD-контейнер (прямоугольный)) и, манипулируя вершинами контейнера, создать ключи анимации. Можно анимировать параметры модификатора Bend (Изгиб). Я хочу предложить вам собственный способ моделирования книги и два способа анимации переворачивающихся страниц. Один способ анимации основан на смешанной технике моделирования с последующей анимацией вершин, составляющих поверхность листа. При этом вам не придется сидеть и скрупулезно подгонять вершины по форме изгиба страницы, как это неизбежно было бы в случае с полигональным объектом. Для этих целей будет использована поверхность, форма которой описывается математическими выражениями, – NURBS-поверхность. При помощи второго способа анимации вы построите лофт-поверхность по четырем кривым. В этом случае анимация листа книги будет осуществляться не перемещением кривых или их контрольных точек в пространстве, а поворотом этих кривых вокруг точки, расположенной у основания корешка книги.
Таким образом, мы создадим и анимируем реалистично выглядящую модель книги, используя простые решения. Основу книги составит лофт-объект, а страницы, подлежащие анимации, – NURBS-поверхность.
ПРИМЕЧАНИЕ
Вы можете пропустить описание процесса моделирования книги и загрузить готовую модель book_start.max из папки Examples\Глава 08\Book\ прилагаемого к книге DVD.
Моделирование начинается с построения сплайнового прямоугольника. Выполните команду Create ► Shapes ► Rectangle (Создание ► Формы ► Прямоугольник), щелкните в левом верхнем углу окна проекции Front (Спереди) и перетащите указатель вправо и немного вниз, создавая тем самым заготовку для боковой стороны книги (рис. 8.21).
Рис. 8.21. Онлайновый прямоугольник, с которого начинается моделирование книги
Преобразуйте прямоугольник в редактируемый сплайн, чтобы иметь возможность менять его форму и размеры. Для этого щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выполните команду Convert To ► Convert to Editable Spline (Преобразовать ► Преобразовать в редактируемый сплайн). В результате в стеке модификаторов на вкладке Modify (Изменение) командной панели появится строка Editable Spline (Редактируемый сплайн). Щелкните на плюсике возле этой строки и в развернувшемся списке выберите Vertex (Вершина). В результате вы переключитесь в режим редактирования вершин сплайна.
Находясь в режиме редактирования вершин, добавьте несколько вершин сплайну и измените его форму. Для этого щелкните на кнопке Refine (Уточнить) в свитке Geometry (Геометрия) настроек сплайна. Это позволит добавлять новые опорные точки в промежутках между имеющимися. Щелкните на сплайне в том месте, где нужно добавить точку.
Отредактируйте кривизну сплайна и положение вершин в пространстве. Для этого нажмите еще раз кнопку Refine (Уточнить), чтобы отключить режим создания новых точек, а затем щелкните на вершине, которую нужно отредактировать. Когда вершина выделена, вы можете перемещать ее в пространстве и редактировать кривизну сплайна, используя манипуляторы кривой Безье. В результате этого редактирования вы должны построить профиль книги в разрезе (рис. 8.22).
Рис. 8.22. Профиль сечения книги
Осталось применить к созданному сплайну модификатор Extrude (Выдавить). Для этого выполните команду меню Modifiers ► Mesh Editing ► Extrude (Модификаторы ► Редактирование сетки ► Выдавить). Задайте такое значение величины выдавливания в настройках модификатора Extrude (Выдавить), чтобы она соответствовала пропорциям книги (рис. 8.23).
Рис. 8.23. Книга после применения модификатора Extrude (Выдавливание)
Таким образом, мы создали форму книги, то есть ту ее часть, которая не будет анимироваться. Теперь займемся построением анимируемых страниц.
Первый вариант
Чтобы создать страницу, выполните следующие действия.
1. Щелкните на кнопке Geometry (Геометрия)
вкладки Create (Создание) командной панели и выберите в раскрывающемся списке строку NURBS Surfaces (NURBS-поверхности).
2. Щелкните на кнопке CV Surf (CV-поверхность), чтобы указать, какие поверхности мы собираемся строить.
3. Перейдите в окно проекции Top (Cверху) и щелкните в верхней точке середины книги, после чего переместите указатель к правому нижнему углу.
Таким образом, мы построили поверхность, но пока она ровная и мало похожа на страницу книги. Чтобы придать странице нужную форму, перейдите на уровень редактирования подобъектов Surface CV (Управляющие вершины поверхности) на вкладке Modify (Изменение) командной панели и переместите точки плоскости так, чтобы она приняла форму поверхности, на которую будет ложиться (рис. 8.24).
Рис. 8.24. Лист, уложенный в книгу
Выделяйте и перемещайте управляющие вершины в окне фронтального вида, что позволит манипулировать всем столбцом вершин сразу.
СОВЕТ
Если у вас возникнут трудности с приданием листу нужной формы, попробуйте увеличить количество управляющих вершин путем добавления дополнительных столбцов (кнопка Col. (Столбец) в области Insert (Вставка)).
Перед тем как переходить к анимации страницы, нужно сделать еще одно уточнение – переместить ось вращения на край страницы в середине книги.
1. Перейдите на вкладку Hierarchy (Иерархия)
командной панели и щелкните на кнопке Affect Pivot Only (Только опора), что позволит воздействовать только на опорную точку.
2. Переместите опорную точку листа в крайнее левое положение.
3. Щелкните на кнопке Affect Pivot Only (Только опора) еще раз, чтобы закрепить новое положение опорной точки в пространстве.
Все готово для начала построения анимации. Передвиньте ползунок таймера анимации на 60 кадр. Щелкните на кнопке Auto Key (Автоключ), после этого нажмите кнопку Select and Rotate (Выделить и повернуть)
на панели инструментов. Поворачивая манипулятор против часовой стрелки, разверните страницу в левую сторону. Не выключая запись ключей анимации, отредактируйте положение управляющих вершин в пространстве относительно левой стороны книги (рис. 8.25).
Рис. 8.25. Лист, уложенный на левую сторону книги
Если все было сделано правильно, то, передвигая ползунок шкалы анимации, вы увидите, как переворачивается лист.
Базовая анимация сделана (рис. 8.26). Как только вы закончите редактировать положение управляющих вершин, еще раз щелкните на кнопке Auto Key (Автоключ), чтобы выключить автоматическую запись всех изменений. Если вы хотите улучшить анимацию и постараться добиться более реалистичного вида листа во время поворота, нужно добавить новые ключевые кадры в промежутке между первым и последним. Однако старайтесь не перегружать анимацию ключевыми кадрами, так как слишком большое количество ключевых кадров создаст трудности с их редактированием. Оптимальный вариант – установка ключей только там, где без них не обойтись, остальное 3ds Max сделает автоматически. Самый простой вариант проследить, как переворачивается лист, – взять в руки книгу и перевернуть ее лист, обращая внимание на изменение его формы в пространстве.
Рис. 8.26. Анимированный лист книги
ПРИМЕЧАНИЕ
Если у вас возникли трудности с настройкой анимации, вы можете обратиться к файлу сцены book_var01.max, расположенному в папке Examples\Глава 08\Book прилагаемого DVD. В папке Video\Глава 08 находится готовая анимация book.avi.
Второй вариант
В предыдущем примере для контроля формы объекта и его положения в пространстве использовались управляющие вершины. Рассмотрим другой способ анимации страниц книги: при помощи лофт-поверхности. Для продолжения работы выполните одно из трех действий:
■ выделите анимированный лист и, используя команду Hide Selection (Спрятать выделенное) контекстного меню, спрячьте его;
■ удалите анимированный лист из сцены;
■ загрузите начальную сцену из файла bookstart.max, находящегося в папке Examples\Глава 08\Воок прилагаемого DVD.
Для создания анимированной страницы нам понадобится построить лофт-поверхность по четырем управляющим кривым. Для этого сделайте следующее.
1. Щелкните на кнопке Shapes (Формы) вкладки Create (Создание) командной панели и выберите из раскрывающегося списка строку NURBS Curves (NURBS-кривые).
2. Нажмите кнопку CV Curve (CV-кривая) для выбора типа кривой.
3. Перейдите в окно проекции Top (Сверху), щелкните в верхнем углу книги, вертикально переместите указатель до нижнего края и щелкните еще раз для построения второй точки кривой. Нажмите правую кнопку мыши для завершения построения.
СОВЕТ
Чтобы создать контрольные вершины, расположенные строго в вертикальной или горизонтальной плоскости, при построении нажмите и удерживайте клавишу Shift.
4. Копируйте созданную кривую, выполнив команду Edit ► Clone (Правка ► Клонирование), и в появившемся окне Clone Options (Параметры клонирования) установите переключатель в положение Copy (Независимая копия объекта).
5. Повторите описанные в п. 4 действия два раза для создания третьей и четвертой копий кривой. После этого разместите построенные кривые так, чтобы первая кривая находилась в области корешка книги, а остальные приблизительно соответствовали положению строящейся страницы (рис. 8.27).
Теперь необходимо создать NURBS-поверхность. Для этого выделите в окне проекции Perspective (Перспектива) первую кривую и в свитке General (Общие)
щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов)
для вызова плавающей панели NURBS с инструментами создания кривых и поверхностей. На плавающей панели NURBS нажмите кнопку Create U Loft Surface (Создать поверхность методом U-лофтинга) (рис. 8.28), после чего указатель примет соответствующий вид.
Рис. 8.27. Положение кривых перед построением поверхности
Рис. 8.28. Плавающая панель NURBS с нажатой кнопкой Create U Loft Surface (Создать поверхность методом U-лофтинга)
Подведите указатель мыши к первой кривой (расположенной в районе корешка), в результате чего она подсветится цветом, и щелкните на ней. Затем щелкните на соседней кривой. В результате этих действий между первой и второй кривой образуется поверхность.
ВНИМАНИЕ
В отличие от объектов другого типа, на уровне редактирования подобъектов для NURBS-объектов при анимации блокируется кнопка выбора центра трансформации. По этой причине важным фактором является последовательность выделения кривых. Дело в том, что первая выделенная кривая в нашем случае будет являться одновременно осью вращения и для объекта, и для его подобъектов.
Продолжите выделение оставшихся двух кривых и создание поверхности страницы, образованной всеми кривыми. После завершения построения щелкните на окне проекции правой кнопкой мыши. Теперь можно окончательно отредактировать положение кривых в пространстве. Для этого перейдите на уровень редактирования подобъектов Curve (Кривая) выделенного объекта. В окне проекции Front (Спереди) передвиньте кривые так, чтобы поверхность листа приняла более естественный вид и при этом не пересекалась со статичной геометрией (рис. 8.29).
Все подготовительные действия выполнены – можно приступать к анимации. Передвиньте ползунок шкалы анимации на 60 кадр. Щелкните на кнопке Auto Key (Автоключ). Перейдите на уровень редактирования подобъектов Curve (Кривая) и в окне проекции Front (Спереди) выделите вторую управляющую кривую (в активном состоянии все кривые будут обозначены кружками). Нажмите кнопку Select and Rotate (Выделить и повернуть)
на панели инструментов и выберите из раскрывающегося списка Reference Coordinate System (Система координат) пункт Local (Локально) (рис. 8.30).
Рис. 8.29. Расположение управляющих кривых в окне проекции Front (Спереди)
Рис. 8.30. Раскрывающийся список Reference Coordinate System (Система координат)
Поворачивая манипулятор против часовой стрелки, разверните управляющую кривую в левую сторону. Проделайте те же действия для оставшихся двух кривых. Не выключая запись ключей анимации, при необходимости отредактируйте положение управляющих кривых в пространстве относительно левой стороны книги (рис. 8.31).
Рис. 8.31. Положение управляющих кривых на левой стороне книги
Подводя итоги выполненной анимации листа книги, можно заметить, что второй способ более простой и легкоуправляемый. В общем случае для такой анимации достаточно трех управляющих кривых и создания ключей анимации в первом и последнем кадрах анимации, а небольшое изменение кривой трансформации поворота в Curve Editor (Редактор кривых) позволяет получить реалистичное движение листа при минимальных трудозатратах.
ПРИМЕЧАНИЕ
Файл урока с настройками анимации book_var02.max находится на прилагаемом DVD в папке Examples\Глава 08\Book.
Анимация рукописного шрифта
В предыдущем разделе мы рассмотрели два варианта анимации страниц книги. А что если пойти дальше и смоделировать процесс письма шариковой ручкой?
А может быть, вспомнить время, когда наши родители, дедушки и бабушки писали перьевыми ручками, аккуратно выводя ровным почерком слово за словом? С точки зрения моделирования и анимации такой текст более сложный, но вместе с тем и более интересный.
Рассматривая варианты такой анимации, я пришел к выводу, что сделать ее можно как минимум пятью способами:
■ анимируя параметр Length (Длина) примитива Cylinder (Цилиндр) с одновременным использованием модификатора Path Deform (Деформация по траектории);
■ анимируя параметры объекта Loft (Лофтинговые);
■ применив альфа-канал материала в качестве средства анимации;
■ воспользовавшись анимированной текстурой;
■ применив модификатор Sweep (Шаблон) совместно с анимированной текстурой прозрачности.
Каждый способ имеет свои достоинства и недостатки, но вместе с тем каждый из них может решать конкретные задачи. Мы не станем рассматривать все варианты, а остановимся лишь на том, который предоставляет наибольшую гибкость в работе, но требует больше времени и сил для создания такой анимации. Кроме того, интересным дизайнерским решением может явиться анимация не только самого шрифта, но и ручки, пишущей этот текст.
В данном разделе мы не станем рассматривать процесс моделирования объектов, поэтому для работы вам необходимо загрузить сцену animated_text_start.max, которая находится в папке Examples\Глава 08\Text прилагаемого к книге DVD (рис. 8.32).
Рис. 8.32. Вид сцены animated_text_start.max в окне проекции Perspective (Перспектива)
Все, что нам необходимо для начала выполнения упражнения, – это три объекта: лист бумаги (создан при помощи примитива Plane (Плоскость)), любой каллиграфический шрифт (сплайн Text (Текст) с использованием шрифта, установленного на вашем компьютере) и модель перьевой ручки. Вы можете применить любой текст или шрифт. Я создал также дополнительные объекты – чернильницу и плоскость стола.
Способ анимации появляющегося шрифта, который я собираюсь описать, основан на использовании модификатора Loft (Лофтинговые), поэтому необходимо построить сплайн пути. Но, прежде чем начать какое бы то ни было моделирование, следует подготовить сцену. На самом деле нам нужно убрать из сцены неиспользуемые объекты и заблокировать текст от случайного смещения. Чтобы выполнить первое, щелкните на тексте правой кнопкой мыши и выберите в контекстном меню строку Hide Unselected (Спрятать невыделенное). Для блокирования текста можно воспользоваться командой Freeze Selection (Заморозить выделенное) контекстного меню текста.
После этих подготовительных действий выполните команду главного меню Create ► Shapes ► Line (Создание ► Формы ► Линия), в результате чего на вкладке Create (Создание) командной панели появятся свитки параметров строящейся линии. Установите в свитке Creation Method (Метод создания) переключатели Initial Type (Начальный тип) и Drag Type (Вершина при перетаскивании) в положение Smooth (Сглаживание) для построения сглаженных вершин в процессе создания сплайна. Перейдите в окно проекции Top (Cверху). Постройте сплайн пути таким образом, чтобы он начинался в левой части текста и проходил по середине шрифта (рис. 8.33).
Рис. 8.33. Сплайн, построенный для первых трех символов текста
Построение удобнее всего вести, развернув окно проекции во весь экран монитора. Для этого необходимо нажать сочетание клавиш Alt+W. Можно также использовать режим эксперта – сочетание клавиш Ctrl+X.
При создании сплайна часть шаблона, по которому происходит построение, может оказаться за пределами окна проекции. В этом случае, дойдя до края окна проекции, нажмите клавишу I, и указатель вместе с изображением переместится в середину окна проекции. Если во время построения сплайна вам понадобится удалить последнюю вершину или несколько вершин, то сделать это можно, не выходя из режима построения, нажав клавишу Backspace.
Сначала построения ведутся достаточно приблизительно, чтобы создать общую форму сплайна с расчетом на последующее редактирование. Обратите внимание на то, что последовательность создания сплайна должна быть такой же, как и при написании текста пером, то есть как мы построим сплайн, так он будет затем появляться при анимации.
ВНИМАНИЕ
Сплайн в данном случае необходимо создавать непрерывным от начала до конца, по всей длине текста. Это ограничение вызвано тем, что модификатор Loft (Лофтинговые) для создания объекта может использовать только один непрерывный сплайн пути. Модификатор Sweep (Шаблон) может работать с объектами, имеющими разрывы. Однако он больше подойдет для имитации написания шариковой ручкой, так как не имеет настроек для изменения размеров сечения по пути следования.
После того как будет построена базовая форма, переходите к ее редактированию. Для этого выделите сплайн, перейдите на вкладку Modify (Изменение) командной панели и в свитке Selection (Выделение) щелкните на кнопке Vertex (Вершина), чтобы перейти в режим редактирования вершин. Теперь можно более точно расположить вершины внутри текста, при необходимости удаляя лишние (клавиша Delete) или добавляя новые (кнопка Refine (Уточнить) из свитка Geometry (Геометрия)).
СОВЕТ
При редактировании может понадобиться более точная настройка кривых в местах перехода. В этом случае лучшим решением будет не добавление новых вершин, а изменение типа излома вершины: вместо Smooth (Сглаженная) – Bezier (Безье) или Corner (Угловая). Для этого нужно щелкнуть на вершине правой кнопкой мыши и выбрать в появившемся меню соответствующий тип. Если при редактировании манипуляторов вершин типа Bezier (Безье) нажать и удерживать Shift, то тип вершины автоматически изменится на Bezier Corner (Безье угловая).
В результате у вас должен получиться непрерывный сплайн (рис. 8.34).
Теперь необходимо создать сплайн сечения. Для этого воспользуемся формой Ellipse (Эллипс), построить которую можно, выполнив команду Create ► Shapes ► Ellipse (Создание ► Формы ► Эллипс). Строить необходимо в окне проекции Front (Спереди). Это имеет существенное значение для построения лофт-объектов, так как форма сечения должна располагаться перпендикулярно форме пути. Задайте эллипсу следующие значения параметров: Length (Длина) – 0,2 и Width (Ширина) – 3,5.
Рис. 8.34. Сплайн пути, созданный на основе стандартного шрифта
ПРИМЕЧАНИЕ
Формой пути может служить не только эллипс, но и прямоугольник, а также линия. Единственное отличие эллипса от этих объектов состоит в том, что позже, при редактировании лофт-объекта, у вас будет возможность применить не только трансформацию масштаба, но и деформацию кручения в местах изменения формы сплайна. В результате на форме не будет видимых изломов.
Чтобы построить надпись по созданным сплайнам пути и сечения, сделайте следующее.
1. Выделите сплайн пути. Перейдите на вкладку Create (Создание) командной панели, щелкните на кнопке Geometry (Геометрия) и в раскрывающемся списке выберите строку Compound Objects (Составные объекты).
2. В свитке Object Type (Тип объекта) щелкните на кнопке Loft (Лофтинговые). В результате в области свитков на командной панели появятся свитки параметров для создания лофт-объектов.
3. В свитке Creation Method (Метод создания) нажмите кнопку Get Shape (Взять форму) и в окне проекции Front (Спереди) щелкните на эллипсе для построения формы надписи.
4. В области Mapping (Проекционные координаты) свитка Surface Parameters (Свойства поверхности) установите флажок Apply Mapping (Применить проекционные координаты), а в области Output (Вывод) – переключатель в положение Mesh (Сетка) (рис. 8.35).
5. В свитке Skin Parameters (Параметры поверхности) задайте основные параметры отображения поверхности созданного объекта (рис. 8.36).
Рис. 8.35. Свиток Surface Parameters (Свойства поверхности) построенного лофт-объекта
Рис. 8.36. Свиток Skin Parameters (Параметры поверхности) настроек лофт-объекта
Проанализируйте полученную поверхность надписи, особенно в том окне проекции, в котором будет создана анимация.
В общем случае полученный результат является удовлетворительным для анимации среднего плана, но если вы хотите улучшить форму лофт-объекта, то воспользуйтесь трансформацией масштаба (Scale (Масштабирование)) или трансформацией скручивания (Twist (Скручивание)) из свитка Deformations (Деформации) настроек лофт-объекта на вкладке Modify (Изменение) командной панели. То, что получилось у меня после небольшого редактирования формы текста, представлено на рис. 8.37.
Рис. 8.37. Текст, полученный при использовании составных объектов
Создадим материал для шрифта. Как я уже говорил ранее, это будет материал с анимированной прозрачностью, которая позволит создать эффект написания (последовательного появления букв). Для этого сделайте следующее.
1. Откройте окно Material Editor (Редактор материалов), выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов).
2. Выберите свободную ячейку с образцом материала. В свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) для параметра Diffuse (Цвет рассеивания) выберите фиолетовый цвет. Он будет определять цвет чернил. В области Self-Illumination (Самосвечение) задайте параметру Color (Цвет) значение 100, чтобы при визуализации цвет текста на всей его поверхности оставался постоянным (рис. 8.38).
3. Щелкните на кнопке None (Отсутствует) рядом с Opacity (Непрозрачность) в свитке Maps (Карты текстур).
4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Gradient Ramp (Усовершенствованный градиент).
5. Настройте параметры карты Gradient Ramp (Усовершенствованный градиент), как показано на рис. 8.39.
Рис. 8.38. Свиток Blinn Basic Parameters (Базовые параметры раскраски по Блинну) с настройками материала чернил
Рис. 8.39. Настройки карты Gradient Ramp (Усовершенствованный градиент)
Рассмотрим некоторые выполненные настройки. Использование для создания градиентного перехода двух цветов (белого и черного) обусловлено тем, что белый цвет в канале Opacity (Непрозрачность) соответствует непрозрачности объекта, а черный – полной прозрачности. Причем положение флага для черного цвета в настоящее время не имеет принципиального значения. Тип градиента – Linear (Прямой), интерполяция – Solid (Постоянная), таким образом, прозрачность будет изменяться линейно по мере прохождения по объекту от начала до конца. Параметр Blur (Размытие) должен иметь минимальное значение, для того чтобы граница непрозрачности была как можно более четкой.
После того как будут выполнены все настройки, можно анимировать параметр изменения положения маркера цвета. Для этого достаточно включить запись ключей анимации (нажать кнопку Auto Key (Автоключ)) и передвинуть ползунок таймера анимации в крайнее правое положение. После этого в окне Material/Map Browser (Окно выбора материалов и карт) передвиньте средний флаг (черного цвета) в конец шкалы градиента, что вызовет создание для этого параметра ключа анимации. В результате в строке треков появятся два ключа анимации: в начальном и последнем кадрах. Если сейчас передвинуть ползунок таймера анимации вперед или назад, то и шкала градиента в свитке Gradient Ramp Parameters (Параметры усовершенствованного градиента) должна меняться соответственно. Выключите запись кадров (еще раз щелкните на кнопке Auto Key (Автоключ)).
ВНИМАНИЕ
Если при изменении положения ползунка таймера анимации не происходит смещение среднего маркера градиента, то необходимо повторить создание ключей анимации сначала.
Теперь нужно подкорректировать ключи анимации. Для этого откройте окно редактирования кривых, выполнив команду Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых). В левой части окна найдите анимированную текстуру (ей в данном случае соответствует строка Gradient Ramp (Усовершенствованный градиент)) и параметр Position (Граница) для третьего флага градиента (рис. 8.40).
Рис. 8.40. Окно Track View – Curve Editor (Просмотр треков – редактирование кривых)
В правой части окна выделите первый ключ анимации, введите в выделенное поле значение 0 и щелкните на кнопке Set Tangents to Linear (Установить линейное управление для касательных)
Затем выделите второй ключ анимации, задайте для него значение, равное 100, и также установите линейное управление для касательных. Таким образом, положение флага черного цвета будет равномерно изменяться в диапазоне от 0 до 100.
После настроек анимации необходимо присвоить материал тексту, для чего достаточно перетащить мышью материал из окна редактора на объект в окне проекции.
Если сейчас выполнить тестовую визуализацию в 50 кадре анимации, то в результате половина текста окажется невидимой (рис. 8.41).
Рис. 8.41. Результат визуализации текста в 50 кадре анимации
Казалось бы, с анимацией текста можно заканчивать, но осталась еще одна досадная деталь – отображение геометрии между словами. Оказывается, эту неприятность можно легко устранить: достаточно к лофт-объекту применить модификатор редактирования геометрии Edit Mesh (Редактирование поверхности) и, выделив на уровне редактирования полигонов все ненужные участки поверхности, удалить их (рис. 8.42). При этом текстурные координаты объекта сохранятся и, следовательно, анимация нисколько не пострадает.
Рис. 8.42. Текст после редактирования поверхности
После анимации появляющегося текста можно переходить к анимации ручки.
Прежде всего необходимо отобразить спрятанные ранее ручку и сплайн текста. Для этого перейдите на вкладку Display (Отображение) командной панели и в свитке Hide (Спрятать) щелкните на кнопке Unhide by Name (Отобразить по имени). В открывшемся окне выберите нужные объекты и нажмите кнопку Unhide (Отобразить).
В качестве пути, по которому будет двигаться перо, можно было бы использовать созданный ранее сплайн для лофт-объекта (шрифта). Но поскольку я собираюсь немного подкорректировать вершины сплайна в промежутках между словами и для большей реалистичности изменить сплайн так, чтобы получить движение пера по направлению к чернильнице и обратно к тексту, то необходимо создать копию этого сплайна.
ВНИМАНИЕ
Копирование сплайна на данном этапе является важным потому, что ранее созданный сплайн для лофт-объекта (текста) – это образец (Instance) и любые изменения его формы отобразятся на внешнем виде текста, созданного при помощи лофтинга.
Прежде всего необходимо выделить вершины сплайна, находящиеся на концах сегментов между словами, и, щелкнув на выделении правой кнопкой мыши, выбрать из контекстного меню тип Bezier Corner (Безье угловая) (рис. 8.43). Это необходимо для того, чтобы, редактируя промежуточные сегменты, не нарушить форму сплайна, описывающего буквы.
Рис. 8.43. Выделенные вершины сплайна, расположенные на границах между словами, после присвоения им типа Bezier Corner (Безье угловая)
В окне проекции Front (Спереди) переместите манипуляторы выделенных вершин (только с внутренней стороны сегментов, расположенных между словами) вверх так, чтобы впоследствии перо, проходя по сплайну, в этих местах отрывалось от бумаги (рис. 8.44).
Можно улучшить анимацию, дополнительно отредактировав сплайн на отрезке между буквами o и m, чтобы перо ручки окунулось в чернильницу, а затем продолжило писать. Но в этом случае длина сплайна существенно изменится, что повлияет на скорость движения ручки вдоль текста.
Рис. 8.44. Форма сплайна с выделенными управляющими вершинами в окне проекции Perspective (Перспектива) (сверху) и в окне проекции Front (Спереди) (снизу)
ВНИМАНИЕ
В общем случае для того, чтобы движения ручки и появление текста были синхронными, необходимо, чтобы сплайн, по которому строится текст (лофт-объект), и путь, по которому проходит перо ручки, были одинаковой длины. Небольшое изменение высоты сегментов сплайна в местах между словами (при малом расстоянии между ними) критически не влияет на увеличение длины и в данном примере не рассматривается. Однако, если вы хотите, чтобы движение пера и появление текста идеально совпадали, необходимо изменить анимацию прозрачности материала на всех отрезках между словами.
При изменении длины сплайна нужно компенсировать анимацию отображения текста. Для этого необходимо в начале и в конце участка, на котором будет происходить движение ручки к чернильнице и обратно, установить дополнительные ключи анимации. Отследить положение центральной точки воспроизведения анимации будет проще всего после создания вспомогательного объекта и анимации его по сплайну пути. Чтобы создать такую анимацию, сделайте следующее.
1. Постройте вспомогательный объект, выполнив команду Create ► Helpers ► Dummy (Создание ► Вспомогательные объекты ► Пустышка). Задайте этому объекту размер, равный половине толщины текста (так будет легче отследить траекторию движения).
2. Создайте анимацию движения объекта-пустышки (в нашем случае Dummy01) по сплайну пути. Для этого выполните команду Animation ► Constraints ► Path Constraint (Анимация ► Ограничения ► Ограничение по пути) и в любом из окон проекций выберите в качестве пути отредактированный сплайн. В результате этих действий вспомогательный объект переместится в начало сплайна, а при перемещении ползунка таймера анимации будет двигаться вдоль сплайна пути.
3. Активизируйте окно перспективной проекции и запустите воспроизведение анимации, щелкнув на кнопке Play Animation (Воспроизвести анимацию)
Обратите внимание на то, что при воспроизведении анимации вспомогательный объект очень быстро проходит по всему пути. Для написания пером это слишком большая скорость движения – необходимо ее замедлить. Это можно сделать, увеличив время воспроизведения анимации следующим образом.
1. Нажмите кнопку Time Configuration (Конфигурация времени)
или щелкните правой кнопкой мыши на любой из кнопок управления анимацией.
2. В окне Time Configuration (Конфигурация времени) нажмите кнопку Re-scale Time (Сменить масштаб времени).
3. В области New (Новое) открывшегося окна Re-scale Time (Сменить масштаб времени) задайте параметру End Time (Время окончания) значение, равное 600 (рис. 8.45).
Рис. 8.45. Окно Re-scale Time (Сменить масштаб времени)
Запустите воспроизведение анимации в окне проекции Respective (Перспектива) и посмотрите, устроит ли вас время воспроизведения.
ПРИМЕЧАНИЕ
Если вы создавали собственный текст, то, возможно, вам придется изменять время воспроизведения анимации соответственно длине надписи.
После того как результат по времени воспроизведения анимации покажется вам удовлетворительным, передвиньте ползунок таймера анимации так, чтобы вспомогательный объект сместился на начало сегмента между буквами o и m (в моем случае это 399 кадр анимации) (рис. 8.46).
Откройте окно редактирования графов для карты Gradient Ramp (Усовершенствованный градиент), которую мы построили ранее, выполнив команду Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых) главного меню. В левой части окна выберите строку с анимацией положения третьего флага градиента. Затем в окне редактирования кривых в месте положения текущего кадра анимации, обозначенного двумя белыми вертикальными линиями, создайте ключ. Для этого нужно нажать кнопку Add Keys (Добавить ключи)
и щелкнуть кнопкой мыши на кривой в том месте, где должен быть создан ключ (рис. 8.47).
Рис. 8.46. Положение вспомогательного объекта Dummy01 в 399 кадре анимации
Рис. 8.47. Окно Track View – Curve Editor (Просмотр треков – редактирование кривых) с ключом в 399 кадре анимации
Передвиньте ползунок анимации так, чтобы вспомогательный объект переместился к началу буквы m (в моем случае это 428 кадр), и снова создайте ключ анимации для третьего флага карты Gradient Ramp (Усовершенствованный градиент), щелкнув на кривой анимации.
Таким образом, мы создали два ключа анимации для карты Gradient Ramp (Усовершенствованный градиент), которые позволят нам скорректировать синхронное отображение текста и перемещение ручки по этому тексту. Сейчас можно вернуться к редактированию сплайна пути и добавить к сегменту между буквами o и m три новые точки (команда Refine (Уточнить)) с таким расчетом, чтобы перо, проходя по этому сплайну, попадало в чернильницу (рис. 8.48).
Рис. 8.48. Новая форма сегмента между буквами о и m
Если сейчас, передвигая ползунок таймера, обратить внимание на то, каким кадрам анимации соответствует положение вспомогательного объекта Dummy01 в начале и в конце редактируемого сплайна, то можно заметить, что они больше не соотносятся с ключами в 399 и 428 кадрах. Увеличив длину сплайна, мы изменили время прохождения контрольных точек. Исправить это можно, отредактировав созданные ключи анимации для градиента. Но прежде будет не лишним изменить скорость прохождения вспомогательного объекта на отрезке к чернильнице и обратно, так как написание текста занимает больше времени, чем перемещение ручки в пространстве, а движение вспомогательного объекта (соответственно, и ручки) сейчас постоянно.
Создадим два новых ключа анимации для вспомогательного объекта Dummy01.
1. Передвигая ползунок таймера, перейдите в кадр, где Dummy01 становится в начало движения к чернильнице (у меня – 279).
2. Откройте окно редактирования графов и выберите в левой части окна строку с анимацией объекта Dummy01. В области редактирования кривых в месте положения текущего кадра анимации (кадр 279), обозначенного двумя белыми вертикальными линиями, создайте ключ.
3. Передвиньте ползунок таймера анимации к тому месту, где начинается сплайн буквы m (в моем случае это 480 кадр), и повторите процедуру создания ключа (рис. 8.49).
Рис. 8.49. Дополнительные ключи анимации, созданные для объекта Dummy01
4. В строке треков (в нижней части окна 3ds Max) переместите вновь созданные ключи с 279 кадра на 390 и с 480 на 450 кадр. Таким образом мы уменьшим время на прохождение этого участка.
Теперь нужно синхронизировать отображение текста с измененным движением объекта Dummy01 и можно приступать к анимации ручки. Это можно сделать, снова воспользовавшись редактором кривых. На сей раз необходимо передвинуть ключи для третьего флага карты Gradient Ramp (Усовершенствованный градиент) в положение 390 и 450 кадров (рис. 8.50).
Рис. 8.50. Окно Track View – Curve Editor (Просмотр треков – редактирование кривых) после редактирования ключей анимации
ПРИМЕЧАНИЕ
При желании вы можете выполнить аналогичное создание и редактирование ключей анимации для всех участков сплайна, не относящихся к написанию текста (например, начальное положение ручки в чернильнице).
Для создания более реалистичных движений ручки понадобится еще один сплайн, который будет управлять перемещением в пространстве ее второго (верхнего) конца. Сделать такой сплайн совсем не сложно: достаточно зеркально отобразить сплайн, по которому проходит перо, увеличить сплайн в два раза по оси Y и разместить его немного выше ручки (рис. 8.51).
Рис. 8.51. Форма и положение сплайна, предназначенного для управления анимацией верхнего конца ручки
ВНИМАНИЕ
Я не только зеркально отобразил сплайн для придания более естественного движения ручке, но и откорректировал его форму в месте движения по направлению к чернильнице.
Создадим второй вспомогательный объект Dummy02 для верхнего сплайна. Его, как и Dummy01, необходимо анимировать по пути при помощи команды Animation ► Constraints ► Path Constraint (Анимация ► Ограничения ► Ограничение по пути), а в качестве пути выбрать верхний сплайн.
Если сейчас просмотреть анимацию, передвигая ползунок таймера анимации, то можно заметить, что движения по сплайнам первого и второго вспомогательных объектов не совпадают. Это вызвано тем, что для Dummy01 мы ранее устанавливали на пути следования ключи анимации и редактировали их положение. Сейчас то же самое необходимо сделать и для Dummy02 при помощи редактора кривых. Это легко выполнить, если в местах расположения ключей Dummy01 создать ключи для Dummy02 и переместить их в вертикальной плоскости, контролируя изменение положения вспомогательного объекта в окне проекции Top (Cверху).
Продолжим создание анимации. Создайте еще один вспомогательный объект Dummy03 размером в 2-3 раза больше первого (Dummy01) и разместите в пространстве так, чтобы опорные точки его и вспомогательного объекта Dummy01 совпадали (рис. 8.52), для чего можно воспользоваться инструментом Align (Выравнивание)
расположенным на главной панели инструментов.
Рис. 8.52. Взаимное расположение вспомогательных объектов Dummy01 и Dummy03 в окне проекции Pespective (Перспектива)
Привяжите вспомогательный объект Dummy03 к первому вспомогательному объекту Dummy01. Для этого выделите Dummy03, нажмите кнопку Select and Link (Выделить и связать) и укажите в окне проекции на Dummy01. Сразу же после привязки проверьте анимацию, передвинув ползунок таймера. Если все было выполнено правильно, оба вспомогательных объекта будут передвигаться по пути синхронно.
Третий вспомогательный объект мы создали из-за необходимости позиционирования верхней части ручки на объект Dummy02, расположенный на верхнем сплайне. В этом должен помочь контроллер LookAt Constraint (Ограничение по линии взгляда). Для этого выполните следующие действия.
1. Расположите ручку в первом кадре анимации так, чтобы перо ручки находилось в середине вспомогательного объекта Dummy03 (иначе говоря, в начале текста).
2. При помощи Select and Link (Выделить и связать) привяжите ручку к объекту Dummy03.
3. Проверьте анимацию. Ручка должна двигаться по сплайну, находясь в вертикальном положении.
4. Выделите вспомогательный объект Dummy03.
Рис. 8.53. Свиток LookAt Constraint (Ограничение по линии взгляда) вспомогательного объекта Dummy03
5. Выполните команду меню Animation ► Constraints ► LookAt Constraint (Анимация ► Ограничения ► Ограничение по линии взгляда) и укажите в окне проекции объект Dummy02, на который будет направлен взгляд.
6. В свитке LookAt Constraint (Ограничение по линии взгляда) на командной панели установите ось направления взгляда Z (рис. 8.53), в результате чего ручка повернется в направлении верхнего вспомогательного объекта Dummy02.
На этом процесс создания анимации можно считать законченным. Осталось только выполнить визуализацию и сохранить результат в файл.
ПРИМЕЧАНИЕ
Файл урока с настройками ключей анимации и отредактированными сплайнами animated_text_end.max можно найти на прилагаемом DVD в папке Examples\Глава 08\Text. В папке Video\Глава 08 находится готовая анимация animated_text.avi.
Использование модификатора Cloth (Ткань) для симуляции поведения тканей
Рассмотрим работу с модификатором Cloth (Ткань). В отличие от одноименного оператора модуля reactor, этот модификатор в первую очередь призван облегчить создание и анимацию одежды моделируемых персонажей. Данный модификатор имеет достаточно широкие возможности, которые можно довольно долго описывать, я же хочу показать, как при помощи модификатора Cloth (Ткань) можно легко и просто создавать объекты, имитирующие поведение ткани. Мы опишем, как создать два объекта: скатерть и развевающийся флаг.
Для создания модели скатерти нам понадобится простая сцена, состоящая из двух объектов: столешницы и скатерти. Для построения первого объекта воспользуйтесь параметрическим объектом Box (Параллелепипед). В качестве второго будет использован объект формы Rectangle (Прямоугольник). Создайте оба объекта в окне проекции Top (Сверху). Расположите прямоугольник относительно объекта столешницы сверху и центрируйте по осям X и Y (рис. 8.54).
ПРИМЕЧАНИЕ
Для создания ткани можно также воспользоваться параметрическим объектом Plane (Плоскость) с достаточным количеством сегментов по длине и ширине (допустим, 50), однако применение сплайнов позволяет получить дополнительные возможности: создание объектов произвольной формы (например, скатерть с фигурными краями), внутренних швов и разрезов. Особенно это актуально при создании одежды.
Рис. 8.54. Взаимное расположение объектов в сцене
На основе объекта Rectangle (Прямоугольник) необходимо создать поверхность. Самый легкий способ – преобразовать прямоугольник в полигональную поверхность. Однако при этом мы потеряем дополнительные возможности объекта формы. Лучшим выбором в данном случае будет использование модификатора Garment Maker (Моделирование одежды). Чтобы присвоить этот модификатор, выделите в одном из окон проекций прямоугольник и выполните команду главного меню Modifiers ► Cloth ► Garment Maker (Модификаторы ► Ткань ► Моделирование одежды). Обратите внимание, что два из четырех углов стали закругленными. Избавиться от этого можно, выполнив разбиение вершин этих углов, что приведет к созданию самостоятельных сплайнов на уровне подобъектов формы. Для этого перейдите в стеке модификаторов на нижний уровень (то есть выделите в стеке строку Rectangle (Прямоугольник)), щелкните на раскрывающемся списке Modifier List (Список модификаторов) и выберите из списка модификатор Edit Spline (Редактирование сплайна) (рис. 8.55).
Рис. 8.55. Положение модификатора Edit Spline (Редактирование сплайна) в стеке
Для редактирования прямоугольника перейдите на уровень подобъектов Vertex (Вершина), для чего щелкните в настройках модификатора Edit Spline (Редактирование сплайна) на кнопке Vertex (Вершина) в свитке Selection (Выделение) или нажмите горячую клавишу 1. Выделите все четыре вершины прямоугольника, перейдите к свитку Geometry (Геометрия) и щелкните на кнопке Break (Разбить). После этого выйдите из режима редактирования вершин, повторно щелкнув на кнопке Vertex (Вершина), и вернитесь к модификатору Garment Maker (Моделирование одежды).
Для продолжения работы необходимо обновить созданную модификатором поверхность и увеличить ее топологию. Для этого в свитке Main Parameters (Основные параметры) настроек модификатора Garment Maker (Моделирование одежды) щелкните на кнопке Mesh It! (Рассчитать сетку) и увеличьте значение параметра Density (Плотность) до 2.
ВНИМАНИЕ
Увеличение количества треугольников, образующих поверхность объекта, позволит создать более естественное поведение ткани. Однако на компьютерах с низкой производительностью это может вызвать длительные расчеты динамики ткани и даже зависания. По данной причине на таких компьютерах лучше не задавать параметру Density (Плотность) значение больше 1.
В результате все углы станут ровными, а плотность сетки повысится, что позволит получить сглаженные складки поверхности ткани. На рис. 8.56, слева показан фрагмент прямоугольника с примененным модификатором Garment Maker (Моделирование одежды) до редактирования, а на рис. 8.56, справа – после.
Рис. 8.56. Фрагмент прямоугольника до редактирования (слева) и после него (справа)
Применим к прямоугольнику модификатор Cloth (Ткань), выполнив команду главного меню Modifiers ► Cloth ► Cloth (Модификаторы ► Ткань ► Ткань). Для настройки поведения ткани выполните следующие действия.
1. В свитке Object (Объект) настроек модификатора Cloth (Ткань) щелкните на кнопке Object Properties (Свойства объекта).
2. В появившемся окне Object Properties (Свойства объекта) выберите из списка доступных объектов прямоугольник (объект с именем Rectangle01) и установите переключатель в положение Cloth (Ткань).
3. В области Cloth Properties (Свойства ткани) из раскрывающегося списка Presets (Предустановки) выберите строку Default (Исходный) (рис. 8.57).
Рис. 8.57. Настройка свойств объекта Rectangle01
4. Чтобы использовать в расчетах поведения ткани поверхности стола (в нашем случае это построенный ранее параллелепипед), в окне Object Properties (Свойства объекта) щелкните на кнопке Add Objects (Добавить объекты), в появившемся окне Add Objects to Cloth Simulation (Добавить объекты к расчетам динамики ткани) выберите объект Box01 и нажмите кнопку Add (Добавить).
5. Для объекта Box01 установите переключатель в положение Collision Object (Объект столкновения) и оставьте значения, принятые по умолчанию (рис. 8.58).
Рис. 8.58. Настройка свойств объекта Box01
6. Щелкните на кнопке OK для закрытия окна Object Properties (Свойства объекта).
Все готово к расчетам динамики ткани. Чтобы запустить эти расчеты, необходимо в области Simulation (Моделирование) свитка Object (Объект) щелкнуть на кнопке Simulate (Моделирование) или на кнопке Simulate Local (Локальное моделирование) (если не планируете создавать анимацию поведения ткани во времени).
ПРИМЕЧАНИЕ
После запуска расчета динамики вы можете в любое время остановить его и выполнить дополнительную настройку свойств объектов, например изменить плотность сетки модификатора Garment Maker (Моделирование одежды). В этом случае необходимо вернуть ползунок таймера анимации на первый кадр (если вы не использовали локальные расчеты динамики) и щелкнуть на кнопке Erase Simulation (Очистить моделирование) в свитке Object (Объект).
На рис. 8.59 показан результат расчета динамики ткани.
Рис. 8.59. Результат расчетов модификатора Cloth (Ткань)
ПРИМЕЧАНИЕ
В папке Examples\Глава 08\Cloth прилагаемого к книге DVD находится файл tablecloth.max, который можно загрузить для просмотра и анализа выполненной анимации.
Рассмотрим еще один вариант использования модификатора Cloth (Ткань): создадим модель развевающегося флага. В этом нам поможет замечательная особенность данного модификатора, позволяющая взаимодействовать со стандартными объектами категории Force (Сила).
Как всегда, начнем с построения объектов. Для имитации флага нам понадобятся два объекта: Plane (Плоскость), имитирующий полотно флага, и Wind (Ветер), который будет удерживать флаг в горизонтальном положении (по умолчанию на объекты, к которым применен модификатор Cloth (Ткань), действует сила тяжести).
Для построения плоскости переключитесь в окно проекции Front (Спереди) и выполните команду главного меню Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость). В свитке Parameters (Параметры) построенного объекта установите желаемые размеры флага и увеличьте значения параметров Length Segs (Количество сегментов по длине) и Width Segs (Количество сегментов по ширине) до 20-25. Это позволит получить более естественную деформацию ткани.
Для построения объекта, имитирующего ветер, необходимо выполнить команду главного меню Create ► SpaceWarps ► Forces ► Wind (Создание ► Пространственные деформации ► Силы ► Ветер) и в окне проекции Top (Сверху) построить значок ветра, развернув его по направлению к флагу (рис. 8.60).
Рис. 8.60. Взаимное расположение плоскости и значка ветра
Назначьте плоскости модификатор ткани. Для этого в одном из окон проекций выделите плоскость и выполните команду главного меню Modifiers ► Cloth ► Cloth (Модификаторы ► Ткань ► Ткань). Настройте модификатор следующим образом.
1. Перейдите на уровень редактирования подобъектов модификатора Cloth (Ткань), для чего щелкните на плюсике, расположенном слева от имени модификатора в стеке, и выделите строку Group (Группа).
2. Выделите слева верхнюю и нижнюю боковые вершины и щелкните на кнопке Make Group (Создать группу) в свитке Group (Группа). В результате откроется окно Make Group (Создать группу), в котором необходимо указать имя группы. Таким образом мы создадим группу из двух точек, которые будут крепиться к древку флага и не будут участвовать в расчетах динамики.
3. После создания группы щелкните на кнопке Drag (Помеха) в свитке Group (Группа). При этом созданная группа должна быть активной (рис. 8.61).
4. Выйдите из режима редактирования подобъектов, для чего щелкните в стеке модификаторов на строке Cloth (Ткань).
5. В свитке Object (Объект) щелкните на кнопке Cloth Forces (Силы, воздействующие на ткань).
6. В левой части открывшегося окна Forces (Силы) щелкните на строке Wind01 и нажмите кнопку >, в результате чего Wind01 переместится в список Forces in Simulation (Симуляция сил).
7. Вернитесь к свитку Object (Объект) настроек модификатора Cloth (Ткань) и щелкните на кнопке Object Properties (Свойства объекта).
8. В открывшемся окне Object Properties (Свойства объекта) выделите строку Plane01 и установите переключатель в положение Cloth (Ткань).
9. Из раскрывающегося списка в области Cloth Properties (Свойства ткани) выберите строку Silk (Шелк). Таким образом, объекту Plane (Плоскость) будут присвоены свойства шелковой ткани (рис. 8.62).
Рис. 8.61. Свиток Group (Группа) с созданной группой из двух точек
Рис. 8.62. Свойства ткани, настроенные для объекта Plane01
10. Подтвердите выполненные изменения щелчком на кнопке OK.
Все предварительные настройки произведены, осталось только увеличить силу ветра и запустить выполнение расчетов динамики ткани. Для этого выделите в одном из окон проекций значок ветра и в свитке Parameters (Параметры) настроек данного объекта увеличьте значение параметра Strength (Мощность) до 5. Чтобы запустить расчет динамики, вернитесь к модификатору Cloth (Ткань) и в свитке Object (Объект) щелкните на кнопке Simulate (Моделирование).
На рис. 8.63 представлен флаг, полученный при помощи модификатора Cloth (Ткань).
Рис. 8.63. Флаг, полученный при помощи модификатора Cloth (Ткань)
Мы рассмотрели только малую часть того, что можно сделать при помощи модификатора Cloth (Ткань). Симуляция реального поведения ткани требует более детальных настроек с большим количеством экспериментов. В качестве самостоятельного задания вы можете попробовать выполнить расчеты с другими видами ткани и даже составить и сохранить свои собственные настройки для их последующего применения.
ПРИМЕЧАНИЕ
В папке Examples\Глава 08\Cloth прилагаемого DVD находится файл flag.max, который можно загрузить для просмотра и анализа выполненной анимации.
Анимация движения танковой гусеницы
Если вы занимаетесь моделированием и анимацией в программе 3ds Max, вы, скорее всего, уже хотя бы раз создавали колесную и гусеничную технику. Выполняя модели такого уровня сложности, всегда хочется добавить в них какую-нибудь «изюминку». Таким дополнением может послужить анимация движения. В данном разделе рассмотрим один из способов создания и анимации танковой гусеницы.
Для выполнения данного упражнения необходимо загрузить начальную сцену trackstart.max с объектами, которые нам понадобятся в работе (рис. 8.64). Она находится на прилагаемом к книге DVD в папке Examples\Глава 08\Track.
Рис. 8.64. Окно проекции Perspective (Перспектива) после загрузки стартовой сцены
Сначала необходимо построить последовательность гусеничных звеньев. Это можно сделать двумя способами:
■ создать длинную цепочку из повторяющихся элементов, а затем деформировать ее по сплайну;
■ используя сплайн, анимировать одно звено, а затем создать копии этого звена со смещением: один кадр анимации – одно звено.
Воспользуемся вторым способом для создания статической геометрии, а затем создадим и анимируем звенья танковой гусеницы с помощью сценария. Сначала необходимо вычислить количество копий звена, которые нам понадобятся, а затем анимировать звено гусеницы по сплайну пути. Для этого выполните следующее.
1. В окне проекции Top (Сверху) увеличьте масштаб звена гусеницы так, чтобы оно заняло максимально возможную площадь (так будет проще выполнять измерения, и они будут точнее).
2. Измерьте поперечную ширину звена, исключая размер выступающих шипов (реальный размер, который будут иметь звенья, составленные в цепочку). Для этого воспользуйтесь командой главного меню Tools ► Measure Distance (Инструменты ► Измерить расстояние). После выполнения команды щелкните на начальной и конечной точках замеряемого участка и на строке состояния.
В результате в поле ввода макрокоманды появится необходимая цифра. В моем случае это 3,805 (рис. 8.65).
Рис. 8.65. Строка состояния с результатами замера
3. Узнайте длину сплайна, который является формой пути для гусеницы. Для этого достаточно выделить сам сплайн и воспользоваться утилитой Measure (Линейка), находящейся на вкладке Utilities (Утилиты) командной панели. В области Shapes (Формы) будет указана длина сплайна (рис. 8.66).
4. Разделите длину сплайна на ширину звена, и вы получите необходимое количество копий, а также кадров анимации. Я округлил значение, и в результате у меня получилось 90.
5. Измените количество кадров анимации до 90. Для этого нажмите кнопку Time Configuration (Настройка временных интервалов)
в правом нижнем углу окна 3ds Max. В открывшемся окне задайте параметру End Time (Время окончания) области Animation (Анимация) значение 90 (рис. 8.67).
Рис. 8.66. Настройки утилиты Measure (Линейка)
Рис. 8.67. Окно Time Configuration (Настройка временных интервалов) с измененным количеством кадров анимации
Для создания анимации сделайте следующее.
1. В одном из окон проекций выделите звено.
2. Выполните команду Animation ► Constraints ► Path Constraint (Анимация ► Ограничения ► Ограничение по пути) и укажите на сплайн trackpath. В результате он будет использован в качестве формы пути.
3. В свитке Path Parameters (Параметры пути) настроек контроллера на командной панели установите флажок Follow (Следовать), чтобы объект поворачивался вместе с поворотом кривой. Установите также флажок Allow Upside Down (Разрешить переворачиваться) (по умолчанию контроллер придерживается одной локальной оси, а у нас замкнутая кривая), выберите ось Y и установите флажок Flip (Обратить) (рис. 8.68).
4. Выделите звено и создайте его копию. Для этого воспользуйтесь командой главного меню Tools ► Snapshot (Инструменты ► Снимок). В открывшемся одноименном окне установите переключатель в положение Range (Диапазон) и задайте следующие значения параметрам: From (От) – 0, To (До) – 89 и Copies (Копии) – 90. В качестве метода клонирования выберите Instance (Образец) (рис. 8.69).
Рис. 8.68. Свиток Path Parameters (Параметры пути) настроек контроллера
Рис. 8.69. Настройки создаваемых копий в окне Snapshot (Снимок)
ПРИМЕЧАНИЕ
Значение параметра To (До) равно 89, потому что, выполнив полный круг по замкнутой форме, объект вернется в начальное положение.
Результат клонирования одного звена представлен на рис. 8.70. Таким же образом строятся и другие статические последовательности объектов, например элементы ограждения, столбы, кнопки и даже ресницы.
Рис. 8.70. Копии звеньев, созданные с помощью инструмента Snapshot (Снимок)
Итак, приступим к анимации. Выполнить вручную анимацию такого количества объектов достаточно сложно, даже если речь идет о простом повторении нескольких операций. Все было бы просто, если бы нам пришлось настроить анимацию двух или даже десяти звеньев, но у нас их девяносто. Придется обратиться к макросценарию, который позволит автоматизировать этот процесс. Звучит пугающе, но попробуем все сложности свести к минимуму.
Сохраните и закройте выполненную сцену. Затем загрузите с прилагаемого DVD начальный файл данного упражнения trackstart.max из папки Examples\Глава 08\Track.
Программа 3ds Max обладает возможностью отслеживать и записывать почти все команды и действия, выполняемые в процессе работы. Делается это при помощи модуля MAXScript Listener (Интерпретатор MAXScript). Его окно можно открыть, выполнив команду главного меню MAXScript ► MAXScript Listener (MAXScript ► Интерпретатор MAXScript) или нажав клавишу F11. Мы используем его в качестве основного источника списка будущих макрокоманд. Но сначала рассмотрим кратко, что нам надо будет сделать для создания анимированной гусеницы.
В первую очередь нам понадобится анимировать имеющееся звено при помощи контроллера Path Constraint (Ограничение по пути). Затем, используя единственный анимированный параметр этого контроллера (процент пути, пройденный звеном гусеницы в пределах анимированного участка), привяжем к нему созданные копии этого объекта, выполнив их относительное смещение. Таким образом, мы получим один родительский объект, который позволит управлять скоростью движения всей гусеницы путем изменения времени прохождения этим объектом полного цикла. Иными словами, изменяя время, за которое одно звено гусеницы пройдет полный круг.
Начнем с настройки записи макрокоманд. Откройте окно MAXScript Listener (Интерпретатор MAXScript), для чего используйте либо одноименную команду главного меню MAXScript, либо клавишу F11. В появившемся окне выполните команду меню MacroRecoder ► Enable (Запись макроса ► Включить) для включения записи всех производимых команд (рис. 8.71).
Рис. 8.71. Настройки меню MacroRecoder (Запись макроса)
В результате окно интерпретатора разделится на две части: в верхней будут выводиться макрокоманды, соответствующие выполняемым действиям, а в нижней – отладочная информация. Одновременно нижнее окно является и полем для ввода макрокоманд. Посмотрим, как это все работает. Выделите в окне проекции Top (Сверху) сцены звено гусеницы и копируйте его через буфер обмена (или любым доступным способом) с помощью сочетаний клавиш копирования Ctrl+Ñ и вставки Ctrl+V. В результате в верхней части окна появится запись, состоящая из четырех строк. Для исполнения этого кода откройте окно редактора макрокоманд, выполнив команду главного меню MAXScript ► New Script (MAXScript ► Создать макрос). В окне отладчика выделите строки, созданные программой автоматически, и перетащите их в окно редактора. Закомментируйте вторую строку, поставив перед ней два минуса, так как она вызывает окно диалога клонирования объекта и нам не нужна (рис. 8.72). Выполните макрос, воспользовавшись командой меню данного окна Tools ► Evaluate All (Инструменты ► Оценить все) и предварительно удалив построенную ранее копию звена. Проверьте список объектов, вызвав его кнопкой Select by Name (Выделить по имени)
и убедитесь в том, что макрос создал копию объекта track.
Рис. 8.72. Окно редактора макрокоманд
Итак, вы написали свой первый макрос (если, конечно, не делали этого ранее) и проверили его исполнение. Дополним его необходимыми командами и напишем полный цикл создания и редактирования новых звеньев.
В первую очередь нужно анимировать движение звена по пути и получить эту часть макрокоманды для записи в код. Для этого выполните следующее.
1. В одном из окон проекций выделите звено (объект track).
2. Перейдите на вкладку Motion (Движение) командной панели и в свитке Assign Controller (Назначить контроллер) выберите строку Position: Position XYZ (Положение: положение по XYZ) (рис. 8.73).
3. В этом же свитке щелкните на кнопке Assign Controller (Назначить контроллер)
и в появившемся окне Assign Position Controller (Назначить контроллер положения) выберите строку Path Constraint (Ограничение по пути) (рис. 8.74).
4. В свитке Path Parameters (Параметры пути) щелкните на кнопке Add Path (Добавить путь) и в одном из окон проекций укажите на сплайн пути track_path.
5. В этом же свитке в области Path Options (Параметры пути) установите флажки Follow (Следовать) и Allow Upside Down (Разрешить переворачиваться). В области Axis (Оси) выберите ось Y и установите флажок Flip (Обратить). Как вы видите, настройки такие же, как и для построения статических копий звена (см. рис. 8.68).
После выполнения описанных операций откройте окно MAXScript Listener (Интерпретатор MAXScript). Выделите и переместите в окно редактора макрокоманд пять последних строк, относящихся к выбору и настройке контроллера Path Constraint (Ограничение по пути) (рис. 8.75).
Если бы мы сейчас запустили на выполнение этот код, то у нас было бы создано еще одно звено, а копии звена с именем track01 был бы присвоен контроллер Path Constraint (Ограничение по пути). Но обратите внимание на то, что, когда мы выбирали сплайн пути, интерпретатор не внес соответствующую строку в список выполненных операций. В связи с этим в конец кода необходимо дописать в окно редактора следующую строку: $.pos.controller.path=$track path.
Рис. 8.73. Свиток Assign Controller (Назначить контроллер) настроек объекта track
Рис. 8.74. Окно Assign Position Controller (Назначить контроллер положения)
Рис. 8.75. Окно редактора макрокоманд после добавления кода
У контроллера Path Constraint (Ограничение по пути) существует один анимируемый параметр – Percent (Проценты), который определяет проценты пройденного объектом пути. Этому параметру автоматически было задано значение нулевого и последнего кадра анимации. Но нам не нужна анимация, устанавливаемая по умолчанию, мы собираемся привязывать все копируемые объекты к одному звену – track. В связи с этим нам необходимо удалить сгенерированные автоматически ключи анимации. Это можно сделать, добавив в код еще одну строку – deleteKeys $.pos.controller.percent.keys.
ПРИМЕЧАНИЕ
Знак $ указывает на то, что следом за ним должно идти имя объекта, но так как его нет, то подразумевается выделенный объект сцены.
Если сейчас запустить код на исполнение, то мы получим копию объекта track, к которому будет применен контроллер движения вдоль пути track_path, и все ключи анимации будут удалены из контроллера. Далее нужно построить зависимость, при которой созданная копия объекта будет следовать за основным объектом. Для этого необходимо выполнить следующее.
1. Выделите в одном из окон проекций или выберите из списка скопированный объект track01.
2. Перейдите к свитку Assign Controller (Назначить контроллер), щелкните на плюсике, расположенном рядом со строкой Position: Path Constraint (Положение: ограничение по пути), и выберите в открывшемся списке строку Percent: Linear Float (Проценты: линейное значение с плавающей точкой) (рис. 8.76).
3. Щелкните на кнопке Assign Controller (Назначить контроллер)
и в появившемся окне Assign Float Controller (Назначить контроллер с плавающей точкой) выберите строку Float Script (Сценарий, использующий значения с плавающей точкой).
4. Щелкните на кнопке OK – откроется окно для ввода сценария. Закройте это окно.
5. Обратитесь к окну MAXScript Listener (Интерпретатор MAXScript), выделите и переместите в окно редактора макрокоманд последнюю строку кода.
То, что мы сейчас сделали, позволило нам записать в окно редактора макрокоманд строку кода, меняющую контроллер, созданный по умолчанию, на свой, который можно редактировать с использованием сценария. На рис. 8.77 представлен вид редактора со всеми полученными до настоящего момента командами.
Теперь нужно добавить в окно редактора несколько строк, написанных самостоятельно, без помощи окна MAXScript Listener (Интерпретатор MAXScript).
1. Добавьте первой строкой for i = 1 to 90 do(. Таким образом мы создаем цикл, выполняющий выражение, которое находится внутри круглых скобок, начиная от 1 до 90. Число 90 – это количество копий звена танковой гусеницы (если помните, мы рассчитали их ранее).
2. Удалите закомментированную вторую строку.
3. В конце кода допишите: $.pos.controller.percent.controller.script ="at time (currenttime) $track.pos.controller.percent*0.01+ 0.011*"+i as string.
В первой части этого выражения мы обращаемся к контроллеру управления по коду, созданному в предыдущей строке, и присваиваем ему строковое выражение, находящееся в правой части. Это означает следующее. В текущий момент времени (at time (currenttime) ) контроллеру выделенного объекта, управляющему процентами ($.pos.controller.percent.controller.script), присваиваем значение процентов контроллера объекта track ($track.pos. controller.percent), деленное на 100 (так как на самом деле значение процентов считается не от 0 до 100, а от 0 до 1, то есть используем выражение *0.01), и задаем смещение на одно звено (общие проценты пути, деленные на количество звеньев: 1/90=0.011). Затем это выражение умножаем на порядковый номер (он же номер кадра), который в первой строке присваивается переменной i. Но так как код записывается в виде строковой переменной, числовое значение необходимо вынести за кавычки и обозначить как строковую переменную (i as string), оставив в кавычках знак умножения. Умножение на число i позволит каждому новому звену смещаться на соответствующую величину.
Рис. 8.76. Свиток Assign Controller (Назначить контроллер) настроек объекта track01
Рис. 8.77. Окно редактора макрокоманд на данном этапе
4. И наконец, две последние строки кода будут указывать на то, что вся анимация до первого ключевого кадра и после последнего будет повторяться, то есть станет непрерывной, вне зависимости от положения ключевых кадров на шкале анимации. Добавьте эти строки:
• setBeforeORT $.pos.controller.percent.controller #cycle
• setAfterORT $.pos.controller.percent.controller #cycle
5. Завершает код закрывающая круглая скобка (рис. 8.78).
ПРИМЕЧАНИЕ
На DVD в папке Examples\Глава 08\Track находится файл trackScript.ms. Это созданный нами сценарий. Его можно загрузить в окно редактора макрокоманд и выполнить.
Код готов, но прежде, чем запускать его, необходимо выполнить некоторую подготовительную работу. Выделите объект track и переместите правый ключ анимации объекта в 400 кадр анимации или дальше. Чем дальше расположить этот ключ, тем медленнее будет двигаться гусеница танка, причем ее движение можно ускорить, переместив этот же ключ к началу временного диапазона.
Рис. 8.78. Окончательный код в окне редактора макрокоманд
ВНИМАНИЕ
Минимальное значение скорости нужно установить сразу, так как в дальнейшем скорость можно будет увеличить.
Для этого задайте общее количество кадров анимации равным не менее 400. Для этого откройте окно Time Configuration (Настройка временных интервалов) и в поле End Time (Время окончания) введите значение 400. После этого в одном из окон проекций выделите объект track и передвиньте ключевой кадр из 100, созданного по умолчанию, в 400.
СОВЕТ
Чтобы быстро изменить временной диапазон шкалы анимации, можно нажать сочетание клавиш Ctrl+Alt, щелкнуть правой кнопкой мыши на шкале анимации и перемещать указатель влево (для уменьшения количества кадров) или вправо (для увеличения). Нажатие этих же клавиш в сочетании с левой кнопкой мыши позволяет изменять начало временного диапазона, установленное по умолчанию в нулевой кадр.
Теперь необходимо установить зацикливание для анимации главного звена. Для этого выделите объект track и откройте окно редактора кривых командой Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых). В левой части появившегося окна выберите анимированный трек для выделенного объекта (рис. 8.79).
Рис. 8.79. Окно редактора кривых с выделенным треком анимации процентов контроллера Path Constraint (Ограничение по пути)
В окне редактора кривых щелкните на кнопке Parameter Curve Out-of-Range Types (Типы экстраполяции параметрических кривых)
В открывшемся окне Param Curve Out-of-Range Types (Типы экстраполяции параметрических кривых) щелкните на кнопках со стрелками под значком Cycle (Циклический) (рис. 8.80).
Рис. 8.80. Окно Param Curves Out-of-Range Types (Типы экстраполяции параметрических кривых) с установленным параметром циклического повторения анимации
Теперь все готово к выполнению сценария. Очистите сцену от созданных в процессе экспериментов с кодированием объектов и запустите выполнение сценария. В результате будет создано 90 копий звена гусеницы, распределенных по всей длине сплайна. Запустите воспроизведение анимации и убедитесь, что анимация работает и гусеница движется по сплайну.
ПРИМЕЧАНИЕ
Как вы помните, основной объект track имеет два ключа анимации, соответствующих положению 0 и 100% пройденного пути. Если изменять на временной шкале положение ключа, имеющего значение 100 %, то будет изменяться скорость движения. Например, передвинув ключ анимации с 400 на 200, вы увеличите скорость движения гусеницы в два раза.
Сейчас анимируем вращение колес, по которым движется гусеница. Очевидно, что колесо выполнит столько оборотов за один оборот гусеницы, сколько длин окружностей колеса укладывается в длине сплайна. Разберемся в этом на практике. Сначала узнаем диаметр колеса. Для этого выделите большое колесо и на вкладке Utilities (Утилиты) командной панели щелкните на кнопке Measure (Линейка). В области Dimensions (Размеры) посмотрите размер колеса по осям Y и Z. Таким образом, диаметр колеса в нашем случае – 16,693.
Как известно, длина окружности составляет π ■ D, где число π – постоянная величина, а D – диаметр колеса. Таким образом, длина окружности большого колеса равна 3,14 • 16,693 = 52,4066. Разделив длину сплайна пути trackpath на полученную величину, узнаем, сколько оборотов сделает колесо за один оборот гусеницы: 344,721 /52,4066 = 6,578. Теперь нужно привязать вращение колеса к скорости движения гусеницы. Это можно сделать, воспользовавшись анимацией процентов пройденного пути.
ПРИМЕЧАНИЕ
Создав зависимость вращения колеса от пройденного главным звеном (track) пути, мы оставляем за собой возможность изменения скорости не только движения гусеницы, но и вращения колес.
Для этого сделайте следующее.
1. Выделите колесо Wheel01 и перейдите к свитку Assign Controller (Назначить контроллер) вкладки Motion (Движение) командной панели.
2. В свитке Assign Controller (Назначить контроллер) раскройте список контроллеров для осей поворота и выберите строку Y Rotation: Bezier Float (Y-поворот: значение Безье с плавающей точкой) (рис. 8.81).
Рис. 8.81. Свиток Assign Controller (Назначить контроллер) объекта Wheel01
3. Щелкните на кнопке Assign Controller (Назначить контроллер)
и выберите из появившегося списка контроллер Float Expression (Выражение с плавающей точкой). Щелкните на кнопке OK для подтверждения выбора.
4. В области Create Variables (Создать переменную) открывшегося окна Expression Controller (Контроллер выражения) создайте переменную pathPerc. Для этого в поле Name (Имя) введите имя переменной и щелкните на кнопке Create (Создать) (рис. 8.82).
5. В нижней части окна щелкните на кнопке Assign to Controller (Назначить контроллеру) и в появившемся окне Track View Pick (Выбрать трек) выберите объект track. Раскройте списки его параметров и активизируйте строку Percent: Linear Float (Проценты: линейное значение с плавающей точкой) (рис. 8.83).
Рис. 8.82. Переменная pathPerc, созданная в окне Expression Controller (Контроллер выражения)
Рис. 8.83. Окно Track View Pick (Выбрать трек)
6. В области Expression (Выражение) окна Expression Controller (Контроллер выражения) введите следующее выражение: degToRad(6.578*360*pathPerc) и щелкните на кнопке Evaluate (Оценить). Разберем это выражение. Функция degToRad(), как вы уже знаете, переводит градусы, которыми удобно оперировать пользователю, в радианы, с которыми работает 3ds Max. Выражение в скобках определяет угол поворота колеса в градусах: количество оборотов колеса на один оборот гусеницы, рассчитанный нами ранее (6,578), умноженное на 360° (один полный оборот в градусах) и на процент пройденного пути, который мы получаем от объекта track, используя созданную нами переменную pathPerc.
7. Проверьте анимацию, нажав кнопку Play Animation (Воспроизвести анимацию)
Колесо должно вращаться вместе с вращением гусеницы.
Теперь нужно связать анимированное колесо с остальными колесами. Это просто сделать, если воспользоваться окном Parameter Wire Dialog (Окно параметров связей) следующим образом.
1. Выполните команду меню Animation ► Wire Parameters ► Parameter Wire Dialog (Анимация ► Параметры связей ► Окно параметров связей).
2. В левой части открывшегося окна Parameter Wiring (Связываемые параметры) выберите из списка анимированное колесо (Wheel01). Разверните список параметров выбранного объекта, щелкнув на плюсе слева от имени, и выберите из списка строку Y Rotation: Float Expression (Y-поворот: выражение с плавающей точкой).
3. В правой части окна Parameter Wiring (Связываемые параметры) выберите из списка следующее большое колесо – Wheel02. Разверните список его параметров и выберите строку Y Rotation: Bezier Float (Y-поворот: значение Безье с плавающей точкой).
4. Щелкните на кнопке со стрелкой, направленной вправо. В результате выбранный параметр объекта слева будет управлять выбранным параметром объекта справа.
5. Щелкните на кнопке Connect (Соединить) для завершения создания связи (рис. 8.84).
6. Повторите вышеописанные операции назначения связей для двух оставшихся больших колес. В моем случае это колеса Wheel03 и Wheel04.
Для меньших колес, расположенных в верхней части гусеницы, необходимо изменить выражение в поле Expression for Y_Rotation (Функция для поворота по оси Y) на следующее: Y Rotation+degToRad((7.379-6.578)*360) (рис. 8.85). Это выражение означает, что угол поворота по оси Y малого колеса будет равняться углу поворота большого колеса плюс угол, который получился из разницы количества оборотов большого и малого колес, умноженной на 360°. Количество оборотов малого колеса считается по той же формуле, что и для большого, то есть длина пути делится на длину окружности колеса.
Рассмотрим, как повысить реалистичность сцены и внести изменения в анимацию гусеницы для учета неровности дороги. Это можно сделать при помощи управления положением вершин сплайна пути trackpath, привязанным к колесам. Для этого выполните следующее.
1. Нажмите на панели инструментов кнопку Select by Name (Выделить по имени)
и выберите из списка все объекты, в имени которых есть слово track, то есть все звенья танковой гусеницы.
Рис. 8.84. Окно Parameter Wiring (Связываемые параметры) для большого колеса
Рис. 8.85. Окно Parameter Wiring (Связываемые параметры) для малого колеса
2. Щелкните на выделении правой кнопкой мыши и выберите из контекстного меню команду Hide Selection (Спрятать выделенное).
3. В окне проекции Left (Слева) немного выше правого верхнего колеса постройте объект Rectangle (Прямоугольник) небольшого размера (рис. 8.86). Форма и размер этого объекта не имеют принципиального значения, так как он играет роль вспомогательного объекта, к которому будут привязываться вершины сплайна пути.
Рис. 8.86. Прямоугольник, построенный над колесом
4. Выделите созданный прямоугольник, если он не остался выделенным после построения, и перейдите на вкладку Utilities (Утилиты) командной панели. В одноименном свитке щелкните на кнопке Reset XForm (Сбросить преобразования).
ВНИМАНИЕ
Преобразования необходимо сбросить потому, что профиль колеса строился в окне проекции Front (Спереди), а прямоугольник – в окне проекции Left (Слева). Следовательно, эти два объекта имеют разные локальные системы координат, что вызовет изменение положения колеса при его связывании с прямоугольником, если не сбросить преобразования.
5. В окне проекции Left (Слева) выберите сплайн пути (track_path) и перейдите на вкладку Modify (Изменение) командной панели.
6. Перейдите на уровень редактирования вершин и выберите две вершины, расположенные рядом с правым верхним колесом (рис. 8.87).
7. Примените к выбранным вершинам модификатор Linked XForm (Связанное преобразование), выбрав его из списка модификаторов вкладки Modify (Изменение).
8. В свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) щелкните на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций выберите построенный прямоугольник (рис. 8.88).
Рис. 8.87. Вершины, выбранные для редактирования
Рис. 8.88. Свиток Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование)
9. Проверьте сделанную привязку, для чего в окне проекции Left (Слева) выделите и произвольно переместите прямоугольник. Вместе с прямоугольником должны перемещаться вершины сплайна пути.
1 0. Отмените выполненные перемещения, чтобы вершины сплайна пути вернулись в исходное состояние.
1 1. Привяжите к прямоугольнику правое верхнее колесо. Для этого нажмите кнопку Select and Link (Выделить и связать)
на главной панели инструментов, затем щелкните на колесе и, когда указатель примет соответствующий вид, перетащите его на прямоугольник.
1 2. Снова проверьте правильность привязки, перемещая прямоугольник: теперь вместе с вершинами сплайна будет перемещаться колесо.
Далее необходимо выполнить такие же привязки для всех остальных колес. Отличие состоит лишь в том, что для выбора необходимых вершин применяется модификатор SplineSelect (Выбор сплайна) или Edit Spline (Редактирование сплайна). Рассмотрим пример привязки следующего колеса.
1. Скопируйте прямоугольник или постройте новый и разместите его напротив второго колеса (рис. 8.89).
Рис. 8.89. Расположение второго управляющего прямоугольника
2. Если вы построили новый прямоугольник, то сбросьте преобразования, для чего перейдите на вкладку Utilities (Утилиты) командной панели и в одноименном свитке щелкните на кнопке Reset XForm (Сбросить преобразования).
3. Вернитесь к стеку модификаторов сплайна пути, для чего выделите сплайн track_path и перейдите на вкладку Modify (Изменение) командной панели.
4. Выберите из списка модификаторов строку SplineSelect (Выбор сплайна) и перейдите на уровень редактирования вершин.
5. Выделите две вершины, расположенные у основания второго колеса.
6. Примените к выбранным вершинам модификатор Linked XForm (Связанное преобразование), выбрав его из списка модификаторов. В результате стек модификаторов будет выглядеть, как показано на рис. 8.90.
Рис. 8.90. Стек модификаторов объекта track_path после привязки второй группы вершин
7. В свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) щелкните на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций выберите второй прямоугольник.
8. Привяжите ко второму прямоугольнику второе колесо. Для этого нажмите кнопку Select and Link (Выделить и связать)
на главной панели инструментов, затем щелкните на колесе и, когда указатель примет соответствующий вид, перетащите его на прямоугольник.
9. Проверьте анимацию.
После анимирования всех необходимых объектов можно переходить к тонкой настройке анимации, включая скорость движения, положение в пространстве и т. д., а затем визуализировать ее.
ПРИМЕЧАНИЕ
Ознакомиться с выполненной анимацией движения гусеницы танка можно, воспользовавшись файлом track_end.max, расположенным в папке Examples\Глава 08\Track прилагаемого DVD. В папке Video\Глава 08 находится готовая анимация track.avi.
Звук в 3ds Мах
Наверное, любой специалист, занимающийся видеороликами, скажет, что проще всего звук накладывать в программах постобработки, то есть после того, как выполнена вся анимация. И будет прав, однако бывают случаи, когда необходимо настраивать под звуковую дорожку движения персонажей или объектов. При этом не обойтись без звука в самом приложении. В данном разделе мы рассмотрим возможность использования звука в 3ds Max для создания анимации вибрирующих динамиков и анализатора частотного спектра аудиоаппаратуры.
Как обычно, для выполнения упражнения понадобится базовая сцена, которую вы можете загрузить из папки Examples\Глава 08\Sound_wave прилагаемого к книге DVD. Файл называется sound_wave_start.max. Все, что нам необходимо для работы, – это модель акустического динамика и параметрический объект Plane (Плоскость), на основе которого будем строить анализатор частотных характеристик звука. Начнем с анимации динамика. В первую очередь необходимо заставить мембрану динамика двигаться в такт музыке. Это проще всего сделать, анимировав выделенные вершины при помощи модификатора Linked XForm (Связанное преобразование) и контроллера AudioFloat (Звук, использующий значения с плавающей точкой). Для этого сделайте следующее.
1. В окне проекции Top (Сверху) постройте вспомогательный объект-пустышку, выполнив команду Create ► Helpers ► Dummy (Создание ► Вспомогательные объекты ► Пустышка).
2. Используя инструмент Select and Move (Выделить и переместить)
переместите построенный объект Dummy01 так, чтобы он находился прямо перед динамиком (рис. 8.91).
3. В одном из окон проекций выделите динамик (объект speakerR) и в стеке модификаторов вкладки Modify (Изменение) командной панели щелкните на плюсике в строке Editable Poly (Редактируемая полигональная поверхность), а в раскрывшемся списке выберите строку Vertex (Вершина).
4. В окне проекции Front (Спереди) выделите вершины, находящиеся внутри динамика (рис. 8.92) (при необходимости обратитесь к цветной иллюстрации, расположенной на диске в папке Images\Глава 08).
Рис. 8.91. Положение объекта Dummy01 в окне проекции Top (Сверху)
Рис. 8.92. Восемь рядов вершин, выделенных внутри динамика
СОВЕТ
Проще всего выделить вершины, расположенные по кругу, при помощи инструмента выделения Circular Selection Region (Область выделения по окружности)
Можно также выделить одну точку, расположенную в середине динамика, и в свитке Selection (Выделение) щелкнуть восемь раз на кнопке Grow (Увеличить), увеличив выделяемую область до нужного размера.
5. Назначьте выделению модификатор Linked XForm (Связанное преобразование), выполнив команду Modifiers ► Animation ► Linked XForm (Модификаторы ► Анимация ► Связанное преобразование).
6. В свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) щелкните на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций выберите объект Dummy01.
7. На главной панели инструментов активизируйте инструмент Select and Move (Выделить и переместить)
и в окне проекции Left (Слева) переместите вспомогательный объект-пустышку Dummy01 в сторону от динамика. При перемещении пустышки должна двигаться и привязанная к ней часть вершин динамика. Если этого не происходит, повторите привязку вершин к вспомогательному объекту.
8. Верните объект-пустышку в первоначальное положение, выполнив команду Undo (Отменить) или воспользовавшись сочетанием клавиш Ctrl+Z.
Далее необходимо назначить вспомогательному объекту Dummy01 контроллер управления положением по звуку.
ВНИМАНИЕ
Прежде чем назначать любой контроллер, необходимо скорректировать время анимации. Это вызвано тем, что назначенный контроллер использует только тот временной интервал, который использовался при его назначении, и при последующем изменении времени анимации параметры контроллера не изменяются.
Программа 3ds Max поддерживает два формата звуковых файлов: WAV и AVI. В связи с этим необходимо конвертировать имеющуюся звуковую дорожку в один из этих форматов. Для этого можно использовать как специализированные программы редактирования звука (такие как Sound Forge), так и простые проигрыватели (например, Winamp).
Увеличьте время анимации до двух с половиной минут. Именно такое время длится звуковая дорожка, которую мы будем использовать в данном упражнении. Для увеличения времени анимации щелкните на кнопке Time Configuration (Настройка временных интервалов)
и в области Animation (Анимация) открывшегося окна измените значение параметра End Time (Время окончания) на 4500 кадров (из расчета 30 кадров в секунду). Можно также установить отображение единиц времени в минутах, секундах и тиках, соответственно, в таком же формате устанавливается значение счетчика End Time (Время окончания).
Вернемся к анимации. Прежде всего необходимо «заморозить» трансформацию положения вспомогательного объекта Dummy01, чтобы обнулить все значения координат по осям X, Y и Z. Это облегчит работу с контроллером, использующим звуковую дорожку. Кроме того, следует загрузить в программу звуковой файл, чтобы иметь возможность контролировать процесс анимации не только визуально, но и вместе со звуком. Для этого выполните следующие действия.
1. В одном из окон проекций выделите объект-пустышку Dummy01.
2. Удерживая нажатой клавишу Alt, щелкните правой кнопкой мыши в окне проекции. В результате появится контекстное меню.
Рис. 8.93. Контекстное меню с выбором команды, замораживающей все трансформации
3. В группе transform (Трансформации) щелкните на строке Freeze Transform (Заморозить трансформацию) (рис. 8.93), после чего откроется окно с предупреждением о том, что могут быть утеряны ранее выполненные трансформации или анимация. В данном случае это как раз то, что нам нужно. На вопрос о том, желаете ли вы продолжить, ответьте утвердительно.
4. Откройте редактор кривых командой Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых).
5. В левой части редактора кривых выберите строку Sound (Звук) (рис. 8.94) и щелкните на ней правой кнопкой мыши, в результате чего откроется контекстное меню.
Рис. 8.94. Окно редактора кривых
6. В контекстном меню выберите строку Properties (Свойства).
7. В открывшемся окне Sound Option (Свойства звука) щелкните на кнопке Choose Sound (Выбор звука) и укажите путь к звуковому файлу. Вы можете выбрать собственный звуковой файл или воспользоваться файлом Sound.wav, расположенным в папке Examples\Глава 08\Sound_wave прилагаемого к книге DVD.
8. Протестируйте выполненные действия, запустив воспроизведение анимации. Во время проигрывания анимации должен звучать выбранный звуковой файл.
Теперь можно продолжить присвоение объекту Dummy01 контроллера, управляющего перемещением по оси Y (перпендикулярно динамику).
1. Выделите вспомогательный объект Dummy01 (если он не выделен) и перейдите на вкладку Motion (Движение) командной панели.
2. В свитке Assign Controller (Назначить контроллер) щелкните на плюсике, расположенном рядом со строкой Position: Position List (Положение: список положения), для раскрытия списка контроллеров положения.
3. Раскройте строку Zero Pos XYZ: Position XYZ (Нулевое положение по XYZ: положение по XYZ) и выберите строку Y Position (Положение по оси Y).
4. Щелкните на кнопке Assign Controller (Назначить контроллер)
и в раскрывшемся окне Assign Float Controller (Назначить контроллер с плавающей точкой) выберите строку AudioFloat (Звук, использующий значения с плавающей точкой) (рис. 8.95).
5. В появившемся окне Audio Controller (Контроллер звука) щелкните на кнопке Choose Sound (Выбор звука) и укажите путь к звуковому файлу.
6. В области Controller Range (Диапазон контроллера) увеличьте значение параметра Max (Максимум) до 30. В зависимости от уровня записи, которую вы используете, величина максимального значения может быть меньше или больше.
7. В области Channel (Канал) установите переключатель в положение Right (Правый) (рис. 8.96).
Рис. 8.95. Окно Assign Float Controller (Назначить контроллер с плавающей точкой)
Рис. 8.96. Настройки окна Audio Controller (Контроллер звука) для правого динамика
8. Закройте окно Audio Controller (Контроллер звука) и проверьте анимацию. Объект-пустышка и связанный с ним динамик должны колебаться в такт музыке.
Скопируйте динамик вместе с объектом-пустышкой. Для этого в окне проекции Front (Спереди) выделите оба объекта и, удерживая нажатой клавишу Shift, переместите их вправо на 680 единиц (величину смещения можно увидеть в строке информации в нижней части окна 3ds Max). В качестве способа копирования укажите Copy (Независимая копия объекта).
СОВЕТ
Копировать со смещением можно разными способами, например используя инструмент Array (Массив).
После копирования новый динамик унаследует старые связи, что вызовет нежелательную трансформацию. Избавиться от них просто – достаточно на вкладке Modify (Изменение) командной панели переопределить объект контроля. Для этого в свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) необходимо щелкнуть на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций указать на новый вспомогательный объект-пустышку Dummy02.
Последнее, что осталось сделать для анимации динамиков, – изменить для вновь построенного динамика звуковой канал. Для этого выполните следующее.
1. Выделите новый объект-пустышку Dummy02.
2. Перейдите на вкладку Motion (Движение) командной панели и в свитке Assign Controller (Назначить контроллер) выберите строку с именем Y Position (Положение по оси Y), расположенную внутри списка Zero Pos XYZ: Position XYZ (Нулевое положение по XYZ: положение по XYZ).
3. Щелкните на строке Y Position (Положение по оси Y) правой кнопкой мыши и выберите из контекстного меню строку Properties (Свойства).
4. В области Channel (Канал) открывшегося окна Audio Controller (Контроллер звука) установите переключатель в положение Left (Левый) (рис. 8.97).
Рис. 8.97. Окно Audio Controller (Контроллер звука) с установленным каналом для левого динамика
5. Закройте окно и проверьте анимацию. Оба динамика должны вибрировать в такт музыке.
В начале данного раздела мы говорили о том, что будем анимировать не только динамики, но и анализатор частотного спектра аудиоаппаратуры. На самом деле это будет не настоящий анализатор частоты, а только его имитация, так как все, что мы можем получить от звукового файла, – это характеристики каналов и их смешанное значение, которые не имеют никакого отношения к частотным характеристикам звука.
Перейдите на вкладку Display (Дисплей) командной панели и в свитке Hide (Спрятать) щелкните на кнопке Unhide by Name (Отобразить по имени), в результате чего откроется окно со списком спрятанных объектов. Выберите из него объект analyzer_wave и щелкните на кнопке Unhide (Отобразить). Этот объект – будущая панель анализатора спектра, разделенная на десять сегментов по горизонтали (по количеству каналов, которые мы будем анимировать).
Рассмотрим, как будет работать наш анализатор. Есть несколько способов отображения и передачи информации звукового контроллера параметрам объекта. Мы будем использовать анимированный материал. Такой подход позволит получить приемлемый результат, не создавая дополнительной геометрии. Можно построить сложный материал, основанный на серии масок для каждого канала, однако такой способ может оказаться достаточно трудным для начинающих. По этой причине мы создадим многокомпонентный материал, каждый компонент которого будет являться копией одного материала с измененными параметрами звукового контроллера (для получения колебаний различной амплитуды).
1. В одном из окон проекций выделите объект analyzer_wave и перейдите на вкладку Modify (Изменение) командной панели.
2. Выберите из списка модификаторов (или выполните соответствующую команду главного меню) модификатор Edit Mesh (Редактирование поверхности).
3. Перейдите на уровень редактирования полигонов, для чего в свитке Selection (Выделение) щелкните на кнопке Polygon (Полигон)
4. В окне проекции Front (Спереди) выделите первый полигон и присвойте ему первый идентификатор материала, для чего задайте параметру Set ID (Установить идентификатор материала) из свитка Surface Properties (Свойства поверхности) значение 1 (рис. 8.98) и нажмите на клавиатуре Enter для подтверждения внесенных изменений.
5. Выделите второй полигон объекта analyzer_wave и установите идентификатор материала равным 2.
6. Проделайте вышеописанные операции для оставшихся восьми полигонов, присвоив им идентификаторы материала согласно порядку их следования.
Для создания и настройки базовых параметров материала сделайте следующее.
1. Откройте редактор материалов, выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов) или нажав клавишу M.
Рис. 8.98. Установка идентификатора материала для первого полигона анализатора спектра
2. Выберите ячейку со свободным материалом и щелкните на кнопке Standard (Стандартный), расположенной справа от имени материала.
3. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка материал Multi/Sub-Object (Многокомпонентный). На вопрос Keep old material as sub-material? (Оставить старый материал в качестве компонента?) ответьте утвердительно.
4. В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке с именем первого материала. В результате появятся его настройки.
5. В области Self-Illumination (Собственное свечение) свитка Blinn Basic Parameters (Базовые параметры раскраски по Блинну) задайте параметру Color (Цвет) значение 100. Это позволит имитировать яркий светящийся индикатор.
6. В свитке Maps (Карты текстур) нажмите кнопку None (Отсутствует), расположенную справа от Diffuse Color (Цвет рассеивания).
7. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Улучшенный градиент) (рис. 8.99) и щелкните на кнопке OK для подтверждения выбора и закрытия окна.
8. После выбора карты Gradient Ramp (Улучшенный градиент) в окне редактора материалов автоматически отобразятся свитки параметров этой карты. В свитке Gradient Ramp Parameters (Параметры улучшенного градиента) необходимо настроить следующие цвета флагов градиента:
• для первого флага, расположенного в позиции 0, установите зеленый цвет со значениями Red (Красный) – 0, Green (Зеленый) – 255, Blue (Синий) – 0. Для этого дважды щелкните на флаге и в открывшемся окне Color Selector (Выбор цвета) задайте значения цветовых каналов;
Рис. 8.99. Выбор карты улучшенного градиента в окне Material/Map Browser (Окно выбора материалов и карт)
• для флага, расположенного в позиции 100, задайте красный цвет: Red (Красный) – 255, Green (Зеленый) – 0, Blue (Синий) – 0;
• флаг, расположенный посередине (в позиции 50), передвиньте в позицию 70 и установите желтый цвет: Red (Красный) – 255, Green (Зеленый) – 220, Blue (Синий) – 20.
СОВЕТ
Более точно установить позицию флага, изменить имя, установленное по умолчанию, или назначить ему текстуру можно, щелкнув на флаге правой кнопкой мыши и выбрав из контекстного меню строку Edit Properties (Правка свойств).
ПРИМЕЧАНИЕ
Данный градиент влияет на внешний вид анализатора звука. Он настраивается один раз для всех каналов. При желании вы можете использовать другие цвета анализатора звука. Если вы решите в дальнейшем менять цвет, то эту градиентную карту лучше всего настраивать как внешнюю, с последующим копированием в качестве образца (Instance) в многокомпонентный материал. В таком случае при редактировании одной карты будут изменяться цвета сразу во всех 10 каналах.
9. Поверните градиентную карту в вертикальное положение, задав параметру W области Angle (Угол) свитка Coordinates (Координаты) значение -90 (рис. 8.100).
10. Вернитесь к свитку Maps (Карты текстур), щелкнув на панели инструментов редактора материалов на кнопке Go to Parent (Вернуться к исходному)
Перейдем к настройке карты прозрачности, которая будет не только имитировать разбиение полоски анализатора на отдельные сегменты, но и управлять их отображением. Для этого нам понадобится составная карта Mask (Маска), построением которой мы сейчас и займемся.
1. В свитке Maps (Карты текстур) щелкните на кнопке None (Отсутствует), расположенной справа от Opacity (Непрозрачность).
2. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Улучшенный градиент) и щелкните на кнопке OK для подтверждения выбора и закрытия окна.
3. В свитке Coordinates (Координаты) задайте следующие значения параметров:
• для координат по горизонтали (U) установите смещение (Offset (Смещение)) равным 0,05 и количество повторений (Tiling (Повторения)) – 10, по количеству каналов анализатора. Смещение позиционирует маску в середине используемого полигона;
• для координат по вертикали (V) установите смещение (Offset (Смещение)) равным 0,025 и количество повторений (Tiling (Повторения)) – 20, по количеству сегментов одного канала анализатора.
4. В этом же свитке укажите минимальное размытие карты, задав параметру Blur (Размытие) значение 0,01.
5. В свитке Gradient Ramp Parameters (Параметры улучшенного градиента) установите для первого флага белый цвет (карта прозрачности работает с градациями монохромного цвета от белого до черного).
6. Передвиньте второй флаг, который находится в позиции 50, в позицию 80 и установите для него черный цвет.
7. В этом же свитке выберите из списка Gradient Type (Тип градиента) строку Box (Параллелепипед), а из списка Interpolation (Интерполяция) – строку Solid (Сплошной) (рис. 8.101).
8. Перейдем к построению составной карты, для чего справа от имени градиентной карты прозрачности, с которой мы работали, щелкните на кнопке Gradient Ramp (Улучшенный градиент).
9. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Mask (Маска) и щелкните на кнопке OK для подтверждения выбора и закрытия окна. В результате выполненных действий появится окно с вопросом Keep old material as sub-material? (Оставить старый материал в качестве компонента?). Ответьте на него утвердительно.
10. После выбора карты Mask (Маска) в окне редактора материалов автоматически появятся параметры этой карты. В свитке Mask Parameters (Параметры маски) щелкните на кнопке None (Отсутствует) справа от Mask (Маска) и выберите в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) еще одну карту Gradient Ramp (Улучшенный градиент).
Рис. 8.100. Настройки карты Gradient Ramp (Улучшенный градиент) для основного цвета
Рис. 8.101. Настройка параметров градиентной карты для создания сегментов анализатора
11. Как и для предыдущей карты градиента, в свитке Gradient Ramp Parameters (Параметры улучшенного градиента) для первого флага установите белый цвет.
12. Для второго флага задайте черный цвет. Его положение не имеет значения.
13. Щелкните на втором флаге правой кнопкой мыши и выберите из контекстного меню строку Edit Properties (Правка свойств).
1 4. В появившемся окне Flag Properties (Свойства флага) в поле имени наберите новое имя флага, например LevelMask (рис. 8.102). Это позволит при последующей анимации проще находить нужные объекты. Закройте окно Flag Properties (Свойства флага).
15. В свитке Gradient Ramp Parameters (Параметры улучшенного градиента) выберите из списка Interpolation (Интерполяция) строку Solid (Сплошной).
16. В свитке Coordinates (Координаты) задайте параметру W столбца Angle (Угол) значение –90, что позволит развернуть карту в вертикальное положение (рис. 8.103).
17. Вернитесь на верхний уровень к многокомпонентной карте, для чего трижды щелкните на кнопке Go to Parent (Вернуться к исходному), расположенной на панели инструментов редактора материалов.
Итак, мы создали составной материал на основе трех градиентных карт и карты маски. Их хватит для решения наших задач. На рис. 8.104 показано дерево материала на данном этапе редактирования. Чтобы посмотреть дерево материалов, щелкните на кнопке Material/Map Navigator (Путеводитель по материалам/картам текстур)
Если вы все сделали правильно, то у вас должно быть точно такое же изображение.
Рис. 8.102. Окно Flag Properties (Свойства флага)
Рис. 8.103. Настройки градиентной карты маски
Сейчас необходимо анимировать положение флага LevelMask в соответствии с уровнями кривой звукового контроллера. Можно было бы использовать один из контроллеров Audio Controller (Контроллер звука), присвоенных вспомогательным объектам для управления динамиками, но я хочу показать, как можно создавать собственные параметры объекта и использовать их для решения задач анимации.
В одном из окон проекций выделите объект analyzer_wave. Выполните команду Animation ► Parameter Editor (Анимация ► Редактор параметров), в результате откроется окно Parameter Editor (Редактор параметров). В свитке Attribute (Свойства) выберите из раскрывающегося списка Add to Type (Добавить к типу) строку Selected Object’s Material (Материал выделенного объекта). Это позволит добавить создаваемый параметр материалу анализатора звука – объекту analyzer_wave. Введите в поле Name (Имя) значимое имя параметра, например soundwave (рис. 8.105).
В свитке Attribute (Свойства) щелкните на кнопке Add (Добавить), и новый параметр будет добавлен к выделенному объекту analyzer_wave. В результате в редакторе материалов в настройках многокомпонентного материала, присвоенного объекту, появится свиток Custom Attributes (Пользовательские свойства) с соответствующим параметром. Нам нужно присвоить этому значению Audio Controller (Контроллер звука), для этого обратимся к редактору кривых.
Рис. 8.104. Окно Material/Map Navigator (Путеводитель по материалам/картам текстур) на данном этапе редактирования многокомпонентного материала
Рис. 8.105. Окно Parameter Editor (Редактор параметров)
1. Выполните команду Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых).
2. В левой части редактора кривых перейдите по дереву иерархии к многокомпонентному материалу объекта analyzer_wave, выберите строку sound_wave (созданный нами атрибут) (рис. 8.106) и щелкните на ней правой кнопкой мыши.
Рис. 8.106. Окно редактора кривых с выделенным дополнительным параметром
3. В появившемся контекстном меню выберите строку Assign Controller (Назначить контроллер). В открывшемся окне Assign Float Controller (Назначить контроллер с плавающей точкой) выберите из списка строку AudioFloat (Звук, использующий значения с плавающей точкой).
4. В открывшемся окне Audio Controller (Контроллер звука) щелкните на кнопке Choose Sound (Выбор звука) и укажите путь к звуковому файлу.
5. В области Controller Range (Диапазон контроллера) увеличьте значение параметра Max (Максимум) до 5. Данное значение можно впоследствии скорректировать с таким расчетом, чтобы колебания уровней анализатора звука длительное время не превышали максимального значения.
6. Установите переключатель Channel (Канал) в положение Mix (Смешивание). Для строящегося анализатора звука мы возьмем один смешанный канал, хотя можно было бы использовать все три.
7. В области Sample (Выборка) задайте параметру Oversampling (Усреднение) значение 500 (рис. 8.107). Для имитации анализатора частотных характеристик звука мы используем кривую уровня звука, поэтому увеличение значения этого параметра позволит частично сгладить пороговые значения кривой.
Рис. 8.107. Настройки окна Audio Controller (Контроллер звука) для атрибута sound_wave
8. Закройте окно Audio Controller (Контроллер звука).
В окне редактора кривых присвоим флагу LevelMask карты улучшенного градиента, используемого в канале прозрачности, контроллер Float Expression (Выражение с плавающей точкой). Для этого в левой части редактора кривых выберите из иерархического списка объект analyzer_wave и, передвигаясь по его компонентам, перейдите к параметру Position (Положение) флага LevelMask из канала прозрачности первого материала (рис. 8.108).
Рис. 8.108. Окно редактора с активным параметром Position (Положение) флага LevelMask
Щелкните на выбранном параметре Position (Положение) правой кнопкой мыши и выберите строку Assign Controller (Назначить контроллер) в контекстном меню. В появившемся окне Assign Float Controller (Назначить контроллер с плавающей точкой) выберите из списка строку Float Expression (Выражение с плавающей точкой). В области Create Variables (Создать переменную) открывшегося окна Expression Controller (Контроллер управления по алгоритмическому выражению) введите в поле Name (Имя) имя создаваемой переменной (например, wave) и щелкните на кнопке Create (Создать). В результате будет создана пользовательская переменная, которой необходимо присвоить значение контроллера звука. Для этого щелкните на кнопке Assign to Controller (Назначить контроллеру) и укажите в открывшемся окне Track View Pick (Выбрать трек) на трек с именем созданного нами атрибута sound_wave (рис. 8.109).
В поле Expression (Выражение) запишите формулу, которая будет управлять поведением флага LevelMask согласно звуковой волне: floor(wave/0.05)*0.05 (рис. 8.110). Щелкните на кнопке Evaluate (Оценить) для присвоения функции анимируемому параметру.
Разберем записанную формулу. Начнем с параметров. Несмотря на то что в настройках диапазона звукового контроллера мы задали максимальное значение равным 5, позиция флага градиентной карты использует значение от 0 до 1. Кроме того, наш анализатор звука имеет 20 сегментов, и смещение значений положения флага должно происходить с учетом количества этих сегментов. Таким образом, первое, что мы делаем в этой функции, – округляем в меньшую сторону значение звукового контроллера (присвоенное переменной wave), деленное на 20 частей (floor(wave/0.05)). Для округления необходимо, чтобы значение было больше нуля, что мы и делаем, используя для деления значение, уменьшенное в 100 раз, но для возврата к прежнему уровню уже округленного значения нам необходимо умножить полученный результат на 0,05. Таким образом, полностью выражение выглядит как floor(wave/0.05)*0.05. В результате расчетов значение положения флага LevelMask в каждом кадре анимации становится кратным 0,05.
Рис. 8.109. Окно Track View Pick (Выбрать трек)
Рис. 8.110. Окно Expression Controller (Контроллер управления по алгоритмическому выражению) после выполнения всех настроек
Теперь следует в настройках многокомпонентного материала анализатора в окне Material Editor (Редактор материалов) скопировать первый материал и вставить вместо расположенных ниже девяти материалов.
СОВЕТ
Прежде чем копировать созданную анимацию, желательно убедиться в том, что все сделано правильно. Для этого можно воспользоваться одним из двух способов. Первый способ: задать отображение анимации карты улучшенного градиента в окне проекции (для этого перейдите в редакторе материалов к этой карте и щелкните на кнопке Show Map in Viewport (Показать карту в окне проекции)
Второй способ: выполнить эскиз анимации текстуры, используя кнопку редактора материалов Make Preview (Создать эскиз)
Для создания копий настроенного материала перейдите к верхнему уровню многокомпонентного материала. В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке с именем первого материала и, не отпуская кнопку мыши, перетащите ее на кнопку с именем второго материала. После того как вы отпустите кнопку мыши, появится окно, в котором в качестве метода копирования выберите Copy (Независимая копия объекта). Новый материал для второго канала создан. Теперь необходимо изменить настройки этого материала, чтобы анимация уровней каналов отличалась друг от друга. Для этого обратитесь к редактору кривых и выберите из иерархического списка анимированный флаг LevelMask для градиентной карты второго материала (рис. 8.111).
Перейдите к параметру Position (Положение) этого флага и, щелкнув на нем правой кнопкой мыши, выберите из контекстного меню строку Properties (Свойства). В результате откроется окно Expression Controller (Контроллер управления по алгоритмическому выражению). После копирования это окно содержит функцию и параметры анимации первой карты. Изменить значения анимации можно следующим образом:
■ изменить время, задаваемое в поле Tick Offset (Смещение в тиках) области Variable Parameters (Параметры переменной) для созданной нами переменной;
■ изменить значение переменной wave в записанной формуле.
На рис. 8.112 представлен пример измененного контроллера Expression Controller (Контроллер управления по алгоритмическому выражению) с использованием описанных выше способов.
Повторите копирование и настройку анимации для оставшихся восьми материалов. В результате вы получите готовый анализатор частотного спектра, а точнее, его имитацию. На рис. 8.113 представлен кадр из получившейся анимации.
Рис. 8.111. Редактор кривых с выделенным флагом LevelMask второго материала
Рис. 8.112. Окно контроллера Expression Controller (Контроллер управления по алгоритмическому выражению) с измененными параметрами для второго материала
И в завершение несколько советов к данному упражнению.
Кривая звука имеет нерегулярную форму, что вызывает изменения значений в каждом кадре анимации. Контроллер, который мы использовали, округляет значения кривой до цифры, кратной 0,05 (это необходимо для того, чтобы маска всегда открывала полные сегменты анализатора), но не отслеживает частые скачки значений. Частично сгладить кривую и сделать более плавную анимацию можно при помощи контроллера Float Script (Сценарий, использующий значения с плавающей точкой). В этом случае можно получать значения из кадров до и после текущего и усреднять их. Такой код может выглядеть, как на рис. 8.114. Аналогичным способом можно написать более сложный код, который будет не только получать значения кривой звука в определенные промежутки времени, но и строить собственную кривую на основе этих значений.
Рис. 8.113. Визуализация одного из кадров анимации
Рис. 8.114. Окно контроллера Float Script (Сценарий, использующий значения с плавающей точкой)
Более простой способ сглаживания анимации анализатора – при котором визуализируется каждый третий кадр анализатора. Естественно, что в этом случае необходимо использовать раздельную анимацию, при которой анализатор визуализируется с альфа-каналом для последующего совмещения его с остальной композицией в программе постобработки или в модуле Video Post (Видеомонтаж). При добавлении такой анимации в качестве нового слоя необходимо увеличить в три раза отображение каждого кадра. В модуле Video Post (Видеомонтаж) это делается при помощи параметра Multiplier (Усилитель) в окне Image File List Control (Файл контроля списка изображений) при выборе последовательности кадров.
Улучшить эффект анимации анализатора можно, добавив к анимации эффект Glow (Сияние). Проще всего для этого использовать одну из программ постобработки (например, Combustion), предварительно выполнив послойную визуализацию. Можно также применить модуль Video Post (Видеомонтаж), но в данном случае мы используем для анимации один объект и несколько карт прозрачности, что может создать определенные трудности при непосредственной анимации всей сцены. Для создания такого эффекта можно также применить предварительно визуализированные в отдельном слое кадры с анимацией анализатора.
ПРИМЕЧАНИЕ
Если у вас возникли трудности с присвоением и настройкой контроллеров, загрузите для анализа файл с готовой анимацией sound_wave_end.max, который находится на прилагаемом DVD в папке Examples\Глава 08\Sound_wave. В папке Video\l7iaBa 08 имеется готовая анимация sound_wave.avi.
Песочные часы
При создании анимации песочных часов нужно будет анимировать три объекта: песок в верхней части колбы, сыплющийся песок и горку песка внизу. Если с сыплющимся песком все более-менее понятно (это может быть только система частиц), то остальной песок можно создать различными способами. Наиболее сложной, но и самой реалистичной с точки зрения отображения и контроля может быть анимация, созданная при помощи морфинга (Morph) или булевых вычитаний, с анимацией операндов и их подобъектов.
В данном разделе мы рассмотрим более простые, но не менее интересные подходы к анимации песка. Загрузите с DVD, который прилагается к книге, файл sandglass_start.max, находящийся в папке Examples\Глава 08\sandglass (рис. 8.115).
Прежде всего необходимо смоделировать песок в верхней и нижней частях стеклянной колбы. С учетом особенностей анимации создадим их различными способами. Начнем с верхнего. Для его моделирования сделайте следующее.
1. В окне проекции Front (Спереди) выделите стеклянную колбу часов или выберите ее (объект Glass) из списка объектов сцены, воспользовавшись клавишей H.
2. Создайте копию объекта, выполнив команду Tools ► Snapshot (Инструменты ► Снимок). В открывшемся окне Snapshot (Снимок) переключатель в области Snapshot (Снимок) должен быть установлен в положение Single (Единичный), а переключатель Clone Method (Метод клонирования) – в положение Mesh (Сетка). Щелкните на кнопке OK.
3. Используя клавишу H, откройте окно Select From Scene (Выбор из сцены) и выберите в нем созданную копию – объект Glass01.
4. Перейдите в режим изоляции объекта, для чего воспользуйтесь сочетанием клавиш Alt+Q. В результате в окнах проекций останется только выбранный объект, что облегчит режим его редактирования.
5. Перейдите на вкладку Modify (Изменение) командной панели и переключитесь в режим редактирования подобъектов Element (Элемент).
6. В любом из окон проекций щелкните на объекте Glass01, в результате чего выделится внешняя поверхность стекла (стекло имеет толщину).
7. Удалите выделенный элемент, нажав клавишу Delete.
8. Снова щелкните на объекте для выделения внутренней поверхности стекла и в области Normals (Нормали) свитка Surface Properties (Свойства поверхности) нажмите кнопку Flip (Обратить). Таким образом мы установим правильное направление нормалей (у внутренней поверхности стекла они были обращены внутрь).
9. Перейдите на уровень редактирования вершин, выделите нижнюю половину оставшейся внутренней поверхности стекла и удалите ее.
10. Используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать)
масштабируйте три или четыре нижних ряда вершин таким образом, чтобы получилась замкнутая форма (причем нижний ряд необходимо свести в точку), и, используя кнопку Selected (Выделенное) области Weld (Слияние) свитка Edit Geometry (Редактирование геометрии), объедините образующие ее вершины (рис. 8.116).
Рис. 8.115. Визуализация модели песочных часов
11. Выйдите из режима редактирования вершин, повторно щелкнув в свитке Selection (Выделение) на кнопке Vertex (Вершина)
12. Установите режим использования центра трансформаций на середину выделения, для чего щелкните на кнопке Use Selection Center (Использовать центр выделения)
главной панели инструментов.
Рис. 8.116. Нижняя часть отредактированного объекта
13. Используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать)
уменьшите объект на небольшую величину (например, до 99,5 %).
ВНИМАНИЕ
Необходимость масштабирования вызвана тем, что в результате копирования и редактирования поверхности стекла большинство полигонов объекта-источника и объекта-копии стали располагаться в пространстве абсолютно одинаково, что при визуализации стекла неизбежно вызовет артефакты на поверхности.
Для окончания редактирования этого объекта дайте ему более понятное имя, например Sandtop, и присвойте ему материал песка. Используя клавишу M, откройте редактор материалов, выберите материал Sand и перетащите его на объект Sand_top в одном из окон проекций. Затем вернитесь к отображению полной сцены, для чего щелкните на кнопке Exit Isolation Mode (Выйти из режима изолирования).
Анимируем построенный объект следующим образом.
1. Выделите объект Sand_top, если он не остался выделенным.
2. Назначьте ему модификатор Slice (Сечение), выполнив команду Modifiers ► Parametric Deformers ► Slice (Модификаторы ► Параметрические деформации ► Сечение).
3. В свитке Slice Parameters (Параметры сечения) установите переключатель в положение Remove Top (Отсечь верх).
4. Перейдите на уровень редактирования подобъектов модификатора Slice (Сечение), для чего в стеке модификаторов щелкните на плюсике рядом с именем модификатора и выберите строку Slice Plane (Секущая плоскость).
5. Используя инструмент Select and Rotate (Выделить и повернуть), в окне проекции Left (Слева) поверните секущую плоскость на 90° по оси X или Y и передвиньте ее вверх так, чтобы она заняла горизонтальное положение в середине объекта Sand_top (рис. 8.117).
Рис. 8.117. Положение секущей плоскости в пространстве и ее параметры
ПРИМЕЧАНИЕ
Секущую плоскость необходимо повернуть потому, что объект, имитирующий стекло, строился при помощи вращения кривой контура в окне проекции Front (Спереди). В результате скопированный и отредактированный объект Sand_top унаследовал локальную систему координат объекта-предка.
Анимируем секущую плоскость таким образом, чтобы она с течением времени срезала все большую часть объекта Sand_top.
1. Передвиньте ползунок таймера анимации в 280 кадр.
2. Активизируйте запись ключей анимации. Для этого щелкните на кнопке Auto Key (Автоключ), в результате чего кнопка выделится цветом
3. Передвиньте секущую плоскость вниз так, чтобы она оказалась в середине стеклянной колбы, а песок в верхней части часов был полностью отрезан секущей плоскостью. В результате будет создано два ключа анимации: в нулевом и 280 кадре.
4. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
5. Проверьте выполненную анимацию, передвинув ползунок таймера вдоль шкалы. Если все было сделано правильно, то вы увидите, как песок начинает уменьшаться в объеме по мере прохождения кадров.
Два небольших штриха помогут нам получить законченную анимацию. Отредактируйте кривую анимации. Для этого откройте редактор кривых, выполнив команду Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых). В левой части открывшегося окна выберите объект Sand_top и далее строку с именем Y Position (Положение по оси Y). В результате в правой части окна Track View – Curve Editor (Просмотр треков – редактирование кривых) появится кривая. Манипулятор второй точки необходимо опустить вниз, чтобы получилась плавная кривая, постепенно поднимающаяся вверх (рис. 8.118).
Рис. 8.118. Кривая анимации положения секущей плоскости
В результате по мере уменьшения диаметра стекла песок будет быстрее уменьшаться в объеме так же, как это было бы в реальных песочных часах.
И последнее, что необходимо сделать для объекта Sand_top, – применить к нему модификатор Cap Holes (Накрыть отверстия), чтобы закрыть дыру, образованную секущей плоскостью (рис. 8.119).
Теперь можно переходить к моделированию песка внизу. Воспользуемся объектом Top, который создан при помощи вращения профиля кривой. Он до сих пор был спрятан и не показывался в окнах проекций. Для его отображения перейдите на вкладку Display (Отображение)
командной панели и в свитке Hide (Спрятать) щелкните на кнопке Unhide All (Отобразить все).
Рис. 8.119. Стек модификаторов объекта Sand_top
Учитывая форму стекла часов, песок в нижней части проще всего анимировать при помощи булевой операции.
1. Используя горячую клавишу H, откройте окно Select From Scene (Выбор из сцены) и выберите в нем объект Glass.
2. Скопируйте его при помощи команды Snapshot (Снимок) меню Tools (Инструменты) таким же образом, как мы это делали для песка в верхней части часов.
3. Еще раз откройте окно Select From Scene (Выбор из сцены) и выберите в нем объекты Glass01 (скопированный объект) и Top.
4. Перейдите в режим изолированного отображения объектов, нажав сочетание клавиш Alt+Q, и выделите объект Glass01.
5. Откройте вкладку Modify (Изменение) командной панели и перейдите в режим редактирования подобъектов Element (Элемент).
6. В любом из окон проекций щелкните на объекте Glass01, в результате чего выделится внешняя поверхность стекла. Удалите выделенный элемент.
7. Снова щелкните на объекте Glass01 для выделения внутренней поверхности стекла и в области Normals (Нормали) свитка Surface Properties (Свойства поверхности) нажмите кнопку Flip (Обратить).
СОВЕТ
Дальнейшие действия, связанные с выполнением булевых операций над объектами, могут вызвать сбой в работе программы или нежелательный эффект. В связи с этим настоятельно рекомендую сохранить файл перед выполнением данной операции.
8. Выполните команду Create ► Compound ► Boolean (Создание ► Составные объекты ► Булев), в результате чего на командной панели появятся свитки для работы с составным объектом.
9. Щелкните на кнопке Pick Operand B (Указать операнд Б) и в одном из окон проекций выберите объект Top.
10. В свитке Parameters (Параметры) установите переключатель Operation (Операция) в положение Intersection (Пересечение).
11. Уменьшите немного масштаб объекта, воспользовавшись инструментом Select and Uniform Scale (Выделить и равномерно масштабировать)
Как я уже говорил, такое уменьшение предотвратит появление артефактов при визуализации.
1 2. Используя описанные выше действия, примените к построенному объекту материал песка Sand.
13. Переименуйте построенный объект в Sand_bottom и вернитесь к отображению полной сцены, для чего щелкните на кнопке Exit Isolation Mode (Выйти из режима изолирования).
Сцена на данном этапе моделирования и анимации показана на рис. 8.120.
Рис. 8.120. Объекты сцены в нулевом кадре на данном этапе моделирования
Анимируем построенный объект. Это можно сделать, анимировав перемещение одного из операндов в вертикальной плоскости.
1. Перейдите на вкладку Modify (Изменение) командной панели и переключитесь в режим редактирования подобъектов, выделив строку Operands (Операнды).
2. В области Operands (Операнды) свитка Parameters (Параметры) выделите операнд Top (рис. 8.121).
3. Передвиньте ползунок таймера анимации в 20 кадр и включите запись ключей анимации, воспользовавшись кнопкой Auto Key (Автоключ)
4. Используя инструмент Select and Move (Выделить и переместить) главной панели инструментов, переместите операнд To p вниз на такую величину, чтобы он скрылся за нижней кромкой стекла.
5. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
6. Выделите ключ, автоматически созданный в нулевом кадре, и переместите его в последний (300) кадр шкалы анимации.
7. Запустите воспроизведение анимации, воспользовавшись кнопкой Play Animation (Воспроизвести анимацию), и проверьте правильность выполненных действий: верхняя часть песка должна уменьшаться, а нижняя, наоборот, увеличиваться.
Рис. 8.121. Свиток Parameters (Параметры) настроек объекта Sand_bottom
С нулевого по двадцатый кадр песок будет падать, пока не достигнет дна стеклянной колбы. Именно тогда он начнет накапливаться в нижней части часов (это мы сделали, анимировав операнд Top). Аналогичным образом мы создали анимацию и для верхней горки песка, закончив ее анимацию в 280 кадре. Оставшееся время песок находится в полете.
ПРИМЕЧАНИЕ
При желании вы можете воспользоваться редактором кривых и подкорректировать кривую анимации операнда Top с таким расчетом, чтобы с течением времени скорость его отображения постепенно замедлялась. Это делается способом, описанным ранее для анимации секущей плоскости.
Перейдем к третьей фазе анимации часов: созданию системы частиц, изображающих песчинки в полете. Начнем с построения основного и вспомогательных объектов сцены. Нам понадобится система частиц, объект, который будет играть роль излучателя частиц, и два объекта пространственных деформаций.
1. Выполните команду Create ► Particles ► PArray (Создание ► Частицы ► Массив частиц) главного меню и в произвольном месте окна проекции Top (Сверху) постройте значок массива частиц.
2. При помощи команды Create ► SpaceWarps ► Forces ► Gravity (Создание ► Пространственные деформации ► Силы ► Сила тяжести) главного меню в произвольном месте окна проекции Top (Сверху) постройте значок силы тяжести.
3. Выполните команду Create ► SpaceWarps ► Deflectors ► UDeflector (Создание ► Пространственные деформации ► Отражатели ► U-отражатель) главного меню и снова воспользуйтесь окном проекции Top (Сверху) для построения значка отражателя частиц.
4. При помощи команды главного меню Create ► Standard Primitives ► Cylinder (Создание ► Простые примитивы ► Цилиндр) постройте в окне проекции Top (Cверху) цилиндр с высотой, равной 0, и диаметром, соответствующим размеру внутреннего отверстия стекла в самом узком месте. Сразу же расположите построенный цилиндр в месте предполагаемого излучения частиц – немного выше середины стеклянной колбы (объект Glass).
На рис. 8.122 представлены созданные объекты в окне проекции Top (Сверху).
Все готово для выполнения анимации сыплющегося песка. Начнем с настройки системы частиц.
1. В окне проекции Top (Сверху) выделите значок системы частиц (объект PArray01) и перейдите на вкладку Modify (Изменение) командной панели.
Рис. 8.122. Вспомогательные объекты в окне проекции Top (Сверху)
2. В свитке Basic Parameters (Базовые параметры) щелкните на кнопке Pick Object (Указать объект) и выберите в качестве излучателя построенный цилиндр.
СОВЕТ
Для выбора труднодоступных или небольших объектов сцены лучше всего использовать окно Select From Scene (Выбор из сцены), которое можно вызвать, щелкнув на кнопке Select by Name (Выделить по имени) или нажав клавишу H.
3. Привяжите к системе частиц гравитацию, для чего на главной панели инструментов нажмите кнопку Bind to Space Warp (Связать с воздействием)
и в окне проекции Top (Сверху) щелкните кнопкой мыши сначала на значке системы частиц (PArray01), а затем на значке силы тяготения (Gravity01).
4. Аналогичным образом привяжите систему частиц к отражателю (UDeflector01), указав соответствующий значок в одном из окон проекций.
ПРИМЕЧАНИЕ
Необходимость связать на данном этапе систему частиц с воздействием вызвана тем, что настройка поведения частиц во времени зависит от ряда параметров и должна выполняться комплексно, с учетом силы тяготения.
5. Вернитесь к настройкам объекта PArray01 (выделив в стеке модификаторов соответствующую строку) и в свитке Particle Generation (Генерация частиц) задайте параметрам следующие значения:
• параметру Use Rate (Использовать коэффициент) в области Particle Quantity (Количество частиц) – 50;
• всем параметрам в области Particle Motion (Движение частиц) – 0;
• в области Particle Timing (Время частиц) установите такие значения: Emit Start (Начало излучения) – 0, Emit Stop (Конец излучения) – 280, Display Unit (Отображение единиц) – 300, а Life (Время жизни) – 20;
• параметру Size (Размер) в области Particle Size (Размер частиц) – 0,36 мм.
6. Переключатель Standard Particles (Типовые частицы) в свитке Particle Type (Тип частиц) установите в положение Cube (Куб).
ВНИМАНИЕ
Приведенные выше значения могут существенно отличаться от того, что необходимо задать в вашем случае. Это зависит не только от размера объектов сцены, но и от масштаба используемых системных единиц (System Units).
Рассмотрим выполненные настройки. Начиная с нулевого кадра, каждый кадр генерирует по 50 частиц, каждая из которых после 20 кадров исчезнет. Такое излучение частиц будет происходить до 280 кадра, а затем прекратится, но оставшиеся частицы будут продолжать двигаться, пока в 300 кадре не исчезнут полностью.
Для завершения настройки анимации частиц необходимо подкорректировать параметры гравитации и отражения частиц следующим образом.
1. Передвиньте ползунок таймера анимации в 20 кадр. В этом кадре, по нашему замыслу, частицы долетят до дна колбы, и с этого же кадра начнет расти горка песка в нижней части часов.
2. В окне проекции Top (Сверху) выделите значок объекта Gravity01 и перейдите на вкладку Modify (Изменение) командной панели.
3. В области Force (Сила) свитка Parameters (Параметры) задайте параметру Strength (Сопротивление) значение с таким расчетом, чтобы нижние частицы достигали дна колбы (рис. 8.123). В моем случае это значение равно 0,13.
4. В окне проекции Top (Сверху) выделите значок объекта UDeflector01 и перейдите на вкладку Modify (Изменение) командной панели.
5. В свитке настроек Basic Parameters (Базовые параметры) щелкните на кнопке Pick Object (Указать объект) и выберите в качестве отражателя частиц объект Sand_bottom.
6. В области Particle Bounce (Отскоки частиц) свитка Basic Parameters (Основные параметры) установите следующие значения параметров: Bounce (Отскоки) – 0,1, Friction (Сила трения) – 20, оставшиеся значения должны быть равны нулю.
Рис. 8.123. Положение частиц в 20 кадре анимации
Таким образом, частицы, попадая на растущую горку песка, будут отскакивать от нее на небольшую величину, постепенно исчезая (рис. 8.124).
Рис. 8.124. Поведение частиц в 160 кадре анимации
Запустите воспроизведение анимации и проверьте правильность выполненных действий.
Присвойте частицам материал песка. Для этого откройте редактор материалов, нажав клавишу M, выберите материал с именем Sand и перетащите его на значок PArray01 в одном из окон проекций.
Теперь можно визуализировать последовательность кадров с дальнейшей сборкой их в одной из программ постобработки или сразу создать файл анимации. На рис. 8.125 представлен кадр из анимации, выполненной с применением модификатора Noise (Шум) для создания неравномерности в верхней и нижней горках песка.
Рис. 8.125. Визуализация песочных часов, выполненных с применением системы частиц
ПРИМЕЧАНИЕ
При возникновении трудностей с настройкой анимации системы частиц воспользуйтесь файлом sandglass_end.max, находящимся на прилагаемом к книге DVD в папке Examples\Глава 08\Sandglass. В папке Video\Глава 08 имеется готовая анимация урока sandglass.avi.
Текст, уносимый порывами ветра
На примере, описанном в данном разделе, я покажу, как простыми средствами можно получить эффект рассеивания, применяемый при анимации природных или иных явлений. Одним из вариантов такой анимации может служить сигаретный дым.
Для выполнения упражнения нам понадобится простая сцена – какой-нибудь объект, например текст (рис. 8.126).
Для анимации нужно будет создать не только систему частиц, но и силы, действующие на эти частицы. Для построения вспомогательных объектов сделайте следующее.
1. Выполните команду главного меню Create ► SpaceWarps ► Deflectors ► SDeflector (Создание ► Пространственные деформации ► Отражатели ► Сферический отражатель) и в окне проекции Top (Сверху) постройте значок объекта.
2. Используя инструмент Select and Move (Выделить и переместить), расположите значок в середине текста.
3. Активизируйте инструмент Select and Uniform Scale (Выделить и равномерно масштабировать)
и масштабируйте значок SDeflector01 таким образом, чтобы он оказался немного больше объекта Text01 (рис. 8.127).
Рис. 8.126. Текст, подготовленный для выполнения упражнения
Рис. 8.127. Расположение значка отражателя SDeflector01 относительно объекта Text01
4. Создайте три объекта Wind (Ветер). Для этого выполните команду Create ► SpaceWarps ► Forces ► Wind (Создание ► Пространственные деформации ► Силы ► Ветер) и постройте значки в окне проекции Top (Сверху).
5. Выделите один из построенных объектов Wind (Ветер). Используя инструмент Select and Move (Выделить и переместить), переместите его так, чтобы он находился слева от текста. При помощи инструмента Select and Rotate (Выделить и повернуть) поверните значок Wind (Ветер) на 90° таким образом, чтобы направление ветра приходилось на текст (рис. 8.128).
Рис. 8.128. Расположение значков ветра и их ориентация в окне проекции Front (Спереди)
6. Создайте еще один вспомогательный объект – Drag (Помеха). Для этого выполните команду Create ► SpaceWarps ► Forces ► Drag (Создание ► Пространственные деформации ► Силы ► Помеха) и постройте объект в произвольном месте окна проекции Top (Сверху).
Анимируем отражатель следующим образом.
1. Передвиньте ползунок таймера в пятый кадр анимации.
2. Активизируйте запись ключей анимации. Для этого щелкните на кнопке Auto Key (Автоключ), в результате чего кнопка выделится цветом
3. Выделите отражатель (объект SDeflector01) и в окне проекции Front (Спереди) передвиньте его вправо на такое расстояние, чтобы он оказался за пределами текста.
4. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
5. Выделите ключ, созданный автоматически в нулевом кадре, и передвиньте его в последний кадр строки треков (в моем случае это 200 кадр).
6. Проверьте созданную анимацию. В первом кадре отражатель SDeflector01 должен находиться за пределами текста, а начиная с пятого кадра перемещаться на текст, полностью перекрывая его.
Создадим систему частиц и необходимые операторы. Выполним все эти действия при помощи окна Particle View (Окно системы частиц), которое можно открыть, выполнив команду Graph Editors ► Particle View (Графические редакторы ► Окно системы частиц). В окне Particle View (Окно системы частиц) сделайте следующее.
1. Для создания излучателя частиц перетащите из списка операторов, находящегося в нижней части окна, в окно событий объект Empty Flow (Пустой поток) (рис. 8.129).
Рис. 8.129. Окно Particle View (Окно системы частиц) с построенным излучателем частиц PF Source (Источник потока частиц)
2. В окно событий также перетащите оператор Birth (Рождение), который автоматически создаст список событий с оператором отображения частиц.
3. Свяжите список событий с источником частиц, для чего щелкните на выступающем круглом элементе списка событий (в результате вид указателя изменится) и перетащите его на объект PF Source 01. В результате образуется связь между источником частиц и списком событий (рис. 8.130).
4. Таким же образом добавьте к списку событий следующие операторы:
• Position Object (Положение объекта) – позволяет расположить частицы по форме выбранного объекта;
• Shape (Форма) – задает форму отображения частиц при визуализации;
• Collision (Столкновения) – позволяет управлять отражателями частиц.
Рис. 8.130. Список событий, связанный с источником частиц
5. Добавьте к потоку частиц PF Source 01 оператор Material Static (Статический материал) – материал, используемый для отображения частиц при визуализации (рис. 8.131).
6. Последнее, что необходимо добавить в окно событий, – объект Force (Сила), который связывается с оператором Collision (Столкновения) (рис. 8.132).
ПРИМЕЧАНИЕ
Создание второго списка событий вызвано тем, что силы, действующие на частицы, должны инициироваться в области воздействия отражателя SDeflector01, а не на весь объект PF Source 01.
Займемся настройкой параметров системы частиц. Начнем со списка событий Event 01. Выделите оператор Birth 01 (Рождение 01), в результате чего в правой части окна Particle View (Окно системы частиц) появится свиток Birth 01 (Рождение 01). В этом свитке установите значения параметров Emit Start (Начало излучения) и Emit Stop (Конец излучения) равными нулю, а Amount (Величина) – 40 000. Это означает, что сразу все частицы будут генерироваться в нулевом кадре анимации.
Выделите оператор Position Object 01 (Положение объекта 01). В области Emitter Objects (Объекты-источники) свитка его настроек в правой части окна Particle View (Окно системы частиц) щелкните на кнопке By List (Из списка). В открывшемся окне выберите объект Text01. В результате частицы покроют объект Text01, расположившись на его поверхности. Объект Text01 не должен участвовать в визуализации, поэтому его можно спрятать. Для этого выделите его в одном из окон проекций, щелкните правой кнопкой мыши и выберите в контекстном меню команду Hide Selection (Спрятать выделенное).
Рис. 8.131. Окно Particle View (Окно системы частиц) после обновления списка событий
Рис. 8.132. Окончательный вид окна событий после добавления всех операторов
СОВЕТ
Исключить объект из визуализации можно и другим способом – сняв в области Rendering Control (Контроль визуализации) окна свойств объекта флажок Renderable (Визуализируемый).
Следующий оператор, который нужно настроить, – Shape 01 (Форма 01). Выделите его и в свитке Shape 01 (Форма 01) выберите из списка Shape (Форма) строку Cube (Куб), а параметру Size (Размер) задайте значение 0,4.
Еще один оператор в списке событий Event 01 (Событие 01), требующий настройки, – Collision 01 (Столкновение 01). Выделите его, в свитке его параметров щелкните на кнопке By List (Из списка) и выберите объект SDeflector01 из списка появившегося окна. В свитке Collision 01 (Столкновение 01) выберите из раскрывающегося списка Speed (Скорость) строку Continue (Продолжать). Таким образом, частицы при столкновении с отражателем будут продолжать свое движение.
Перейдите ко второму списку событий Event 02 (Событие 02). Выделите в этом списке событие Force 01 (Сила 01). В свитке его настроек в правой части окна Particle View (Окно системы частиц) щелкните на кнопке By List (Из списка) и выберите в раскрывшемся окне все объекты: три объекта, имитирующих ветер, и объект Drag (Помеха).
Остался последний оператор, требующий настройки, – Material Static 01 (Статический материал 01). Для присвоения частицам материала, который будет отображаться в окнах проекций, сделайте следующее.
1. Откройте редактор материалов, для чего воспользуйтесь клавишей M.
2. Выберите любой свободный материал и задайте параметру Diffuse (Цвет рассеивания) цвет, отличный от черного (по умолчанию черным является цвет фона).
3. Задайте параметру в области Self-Illumination (Собственное свечение) значение 100.
4. Присвойте материалу какое-нибудь значимое имя, например particle.
5. Вернитесь к окну Particle View (Окно системы частиц) и выберите оператор Material Static 01 (Статический материал 01).
6. В свитке Material Static 01 (Статический материал 01) в правой части окна Particle View (Окно системы частиц) щелкните на кнопке None (Отсутствует).
7. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) установите переключатель Browse From (Просмотреть из) в положение Mtl Editor (Редактор материалов) и выберите из списка материал с именем particle (рис. 8.133).
Рис. 8.133. Окно Material/Map Browser (Окно выбора материалов и карт) с выбранным материалом
Если сейчас переместить ползунок таймера анимации, то вы увидите, как при наезде значка отражателя на текст начинается рассеивание частиц, находящихся в этом месте. Пока это не совсем то, что нам нужно, так как на частицы действуют слишком большие силы. В связи с этим необходимо подкорректировать параметры объектов Wind (Ветер) и Drag (Помеха). Начнем с параметров ветра. Они должны быть совсем небольшими, чтобы ветер лишь отрывал частицы от генерирующего их объекта и уносил на небольшое расстояние. На рис. 8.134 показаны примерные настройки ветра, причем Wind01 и Wind02 действуют в вертикальной плоскости, и Wind03 – в горизонтальной и направлен в сторону текста.
Для объекта Drag (Помеха) существенными являются характеристики затухания, настройки которого находятся в области Damping Characteristics (Характеристики затухания) свитка Parameters (Параметры). Установите переключатель в этой области в положение Linear Damping (Линейное затухание) и параметрам X Axis (Ось X), Y Axis (Ось Y) и Z Axis (Ось Z) задайте значения 20, 15 и 7 соответственно.
ПРИМЕЧАНИЕ
Как и настройки ветра, характеристики затухания для создания требуемого эффекта подбираются опытным путем. Вы можете попробовать задать другие значения параметров и создать собственное поведение частиц в процессе анимации.
Рис. 8.134. Настройки объектов Wind01 (а), Wind02 (б) и Wind03 (в)
При анимации частиц такого рода очень уместно использовать эффект размытия в движении. Такой эффект появляется при съемке движения реальной камерой или фотоаппаратом, так как за то время, пока шторка аппарата находится в открытом состоянии, движущийся объект проходит некоторое расстояние, и в результате его границы размываются. В 3ds Max такой эффект можно создать несколькими способами, мы рассмотрим самый простой и быстрый с точки зрения визуализации.
1. Откройте окно редактирования системы частиц, выполнив команду меню Graph Editors ► Particle View (Графические редакторы ► Окно системы частиц).
2. В окне событий выделите PF Source 01, щелкнув на нем. В результате цвет контура объекта изменится на белый. Щелкните на нем правой кнопкой мыши и выберите из контекстного меню строку Properties (Свойства) (рис. 8.135).
3. В области Motion Blur (Размытие движения) открывшегося окна Object Properties (Свойства объекта) установите переключатель в положение Image (Изображение), задайте параметру Multiplier (Усилитель) значение 12 и проследите, чтобы флажок Enable (Включить) был установлен.
4. Откройте окно Render Scene (Визуализация сцены), для чего воспользуйтесь клавишей F10, и перейдите на вкладку Renderer (Визуализатор).
5. В области Image Motion Blur (Размытие картинки в движении) установите флажок Apply (Применить).
На рис. 8.136 показан кадр из анимации, создание которой было описано в данном разделе.
Рис. 8.135. Контекстное меню объекта PF Source01
Рис. 8.136. Визуализация 48 кадра анимации
ПРИМЕЧАНИЕ
В папке Examples\Глава 08\Text_dispersion прилагаемого к книге DVD находится файл описанной сцены text_dispersion.max. В папке Video\Глава 08 имеется готовая анимация dispertion.avi.
Глава 9 Практическое моделирование
• Натюрморт
• Моделирование лофт-объектов
• Моделирование штор
• Полигональное моделирование телефонной трубки
• Моделирование микроволновой печи
• Комплексный подход к моделированию: создание крана для ванной
Нет ничего более увлекательного при работе с программами трехмерного моделирования, чем создание объектов сцены. Именно в процессе моделирования обретают форму фантазии и мечты. Нет необходимости говорить о том, что для создания модели, способной удивить зрителя, надо обладать большим терпением и определенным багажом знаний.
В этой главе вы научитесь основным приемам моделирования, начиная с простых упражнений и постепенно переходя к решению более сложных задач. Мы рассмотрим сплайновое, полигональное, Surface– и NURBS-моделирование. Полученные в этой главе знания помогут вам создавать более сложные модели, о которых пойдет речь в следующих главах. Эти базовые знания станут основой для моделирования автомобиля и головы персонажа, о чем будет рассказано в третьей части книги.
Натюрморт
Изучая моделирование трехмерных объектов, мы стремимся создавать большие и сложные работы, но оказывается, что простыми средствами можно добиться вполне приемлемых результатов. Ключ к успеху не только в том, чтобы модель или сцена была сложной, но и в том, как подать эту сцену, как расположить источники света и выполнить текстурирование.
Рассмотрим упражнение по моделированию натюрморта простыми и доступными всем средствами программы 3ds Max. На рис. 9.1 показан результат визуализации сцены, выполненной с использованием инструментов и модификаторов, доступных еще во второй версии программы.
Рис. 9.1. Натюрморт
Если внимательно посмотреть на эту сцену, то можно увидеть, что все объекты выполнены на основе примитивов или при помощи стандартных модификаторов и не представляют большой сложности в исполнении. Центральное место в композиции занимает бронзовая ваза – с нее и начнем моделирование. Вы уже знаете, что проще всего симметричные предметы, имеющие ось вращения, строить с использованием модификатора Lathe (Вращение). Не станет исключением и ваза для фруктов. Начнем моделирование с построения ее профиля при помощи сплайна. Для этого сделайте следующее.
1. Выполните команду Create ► Shapes ► Line (Создать ► Формы ► Линия) и в окне проекции Front (Спереди) начните построение сплайна формы вазы (рис. 9.2).
Рис. 9.2. Профиль будущей вазы
СОВЕТ
Начинайте построение формы профиля для тела вращения с вертикальной линии, определяя таким образом начальную и конечную точку сплайна, постепенно добавляя новые вершины (команда Refine (Уточнить)) и редактируя их положение в пространстве. Кроме того, можно строить профиль, последовательно создавая вершины от начала до конца. В этом случае необходимо следить за тем, чтобы первая и последняя вершины сплайна находились на оси вращения, для чего используйте привязки к сетке.
2. Примените к построенному сплайну модификатор Lathe (Вращение), для чего выполните команду Modifiers ► Patch/Spline Editing ► Lathe (Модификаторы ► Редактирование патчей/сплайнов ► Вращение).
3. В области Align (Выравнивание) свитка Parameters (Параметры) щелкните на кнопке Min (Минимум), чтобы установить ось вращения по левой стороне объекта.
ПРИМЕЧАНИЕ
Вполне возможно, что вам понадобится выбрать другой тип выравнивания, все зависит от того, как построена кривая профиля.
4. Параметру Segments (Количество сегментов) свитка Parameters (Параметры) задайте значение от 30 до 40, чтобы избежать неровностей на краях построенного объекта.
5. При необходимости перейдите в стеке модификаторов на уровень редактирования кривой и, нажав кнопку Show end result on/off toggle (Показать конечный результат вкл/выкл), которая находится под стеком модификаторов, измените форму кривой так, чтобы получить приемлемый результат (рис. 9.3).
Рис. 9.3. Ваза, построенная при помощи модификатора Lathe (Вращение)
Ваза построена, пришло время наполнить ее фруктами.
Вспомните процесс моделирования яблока, рассмотренный во второй главе. В том случае мы строили параметрический объект Sphere (Сфера) и при помощи плавного выделения изменили положение выделенных вершин, чтобы получить форму яблока. После этого для придания модели большей реалистичности применили модификатор Noise (Шум).
Еще одним простым способом построения модели яблока может быть применение модификатора Lathe (Вращение), который мы только что использовали для создания вазы. Для построения модели яблока сделайте следующее.
1. В окне проекции Front (Спереди) постройте сплайн формы яблока уже известным вам способом (рис. 9.4).
Рис. 9.4. Профиль для построения модели яблока
2. Примените к сплайну модификатор Lathe (Вращение). В свитке Parameters (Параметры) настроек модификатора задайте значения параметров, аналогичные тем, которые применялись для построения вазы.
3. При необходимости вернитесь на уровень редактирования вершин сплайна и уточните форму профиля.
4. Примените к объекту модификатор Noise (Шум) для создания неровностей на поверхности модели, для чего из списка модификаторов вкладки Modify (Изменение) командной панели выберите строку Noise (Шум).
5. В свитке Parameters (Параметры) настроек модификатора Noise (Шум) задайте параметру Scale (Масштаб) значение, равное 100, а параметрам X, Y и Z области Strength (Численность) – 175, 140 и 135 соответственно (рис. 9.5).
Осталось добавить яблоку небольшой хвостик.
1. Создайте объект Cylinder (Цилиндр), для чего выполните команду Create ► Standard Primitives ► Cylinder (Создание ► Простые примитивы ► Цилиндр) и в окне проекции Top (Сверху) постройте цилиндр в месте крепления хвостика к яблоку.
2. В окне проекции Front (Спереди) при помощи инструмента Select and Move (Выделить и переместить) переместите построенный объект в вертикальной плоскости так, чтобы он занял свое место в углублении яблока.
3. При необходимости уточните значения радиуса и высоты цилиндра в свитке Parameters (Параметры). Они должны иметь пропорции, соответствующие размеру яблока.
Рис. 9.5. Модель яблока после применения модификатора Noise (Шум)
4. В свитке Parameters (Параметры) настроек цилиндра задайте параметру Height Segments (Количество cегментов по высоте) значение, равное 10. Это позволит в дальнейшем получить равномерный изгиб объекта.
5. Примените к построенному цилиндру модификатор Taper (Заострение).
6. Закончите построение хвостика применением модификатора Bend (Изгиб) (рис. 9.6).
Рис. 9.6. Модель яблока с хвостиком
Таким образом, мы построили модель яблока. Однако для создания натюрморта одной модели будет мало. При помощи модификатора FFD Box (Произвольно деформируемый контейнер (прямоугольный)) можно легко это исправить, создав яблоко другой формы.
1. Скопируйте модель яблока вместе с хвостиком, для чего выделите оба объекта и, удерживая нажатой клавишу Shift, в окне проекции Top (Сверху) переместите объекты в сторону. В появившемся окне Clone Options (Параметры клонирования) укажите Copy (Копия).
2. Выделите модель яблока и примените к ней модификатор FFD Box (Произвольно деформируемый контейнер (прямоугольный)), для чего выполните команду Modifiers ► Free Form Deformers ► FFD Box (Модификаторы ► Произвольные деформации ► Произвольно деформируемый контейнер (прямоугольный)).
3. В области Dimensions (Размеры) свитка FFD Parameters (Параметры произвольно деформируемого контейнера) щелкните на кнопке Set Numbers of Points (Установить количество точек) и в появившемся окне Set FFD Dimensions (Установить размеры произвольно деформируемого контейнера) задайте всем параметрам значение, равное 5.
4. В стеке модификаторов перейдите на уровень редактирования подобъектов Set Volume (Установить объем) и, используя инструмент масштабирования Select and Uniform Scale (Выделить и равномерно масштабировать)
откорректируйте форму произвольно деформируемого контейнера так, чтобы она в общих чертах повторяла форму яблока (рис. 9.7).
Рис. 9.7. Форма произвольно деформируемого контейнера (слева) и окно стека модификатора FFD Box (Произвольно деформируемый контейнер (прямоугольный)) (справа)
5. В стеке модификаторов перейдите на уровень редактирования подобъектов Control Points (Контрольные точки) и выделите в верхнем ряду четыре вершины, равноудаленные от центра, в один ряд.
6. Используя инструмент Select and Move (Выделить и переместить)
переместите выделенные точки немного вверх, формируя модель яблока в области хвостика (рис. 9.8).
Рис. 9.8. Результат формирования верхней части яблока
7. Выделите в нижнем ряду такие же четыре точки произвольно деформируемого контейнера и сместите их немного вниз для получения окончательной формы яблока (рис. 9.9).
Рис. 9.9. Окончательная модель яблока
Сгруппируйте яблоко и хвостик (в первом и втором вариантах), чтобы иметь возможность манипулировать группой и сделать несколько копий для натюрморта.
СОВЕТ
Сделав две-три копии объекта, можно изменить форму этих копий, вернувшись к параметрам модификатора Noise (Шум) или FFD Box (Произвольно деформируемый контейнер (прямоугольный)) в стеке модификаторов и сделав там соответствующие изменения.
Создадим модель груши. Процесс построения этой модели совершенно такой же, как и для яблока: начинаем с построения профиля при помощи сплайна, затем применяем модификатор Lathe (Вращение) и, наконец, уточняем форму модели при помощи модификатора Noise (Шум) или FFD Box (Произвольно деформируемый контейнер (прямоугольный)) (рис. 9.10).
Рис. 9.10. Модель груши
Рассмотрим процесс построения виноградной грозди. На самом деле нам понадобится создать лишь стебель и одну ягоду, скопировав которую, получим целую гроздь.
Для построения модели винограда сделайте следующее.
1. В окне проекции Top (Сверху) постройте объект Sphere (Сфера).
ПРИМЕЧАНИЕ
При построении сплайнов для вазы, яблока и груши мы не учитывали реальные размеры этих объектов, а лишь ориентировались на их пропорции. По этой причине и с виноградом необходимо поступить точно так же. По размеру сфера должна соответствовать размеру ягоды винограда и быть сопоставима с размерами созданных ранее объектов.
2. Используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать)
масштабируйте сферу в вертикальной плоскости так, чтобы она приобрела вытянутую форму (рис. 9.11). При желании ее можно уточнить, используя дополнительно модификаторы поверхности.
Рис. 9.11. Форма ягоды винограда, построенная из сферы
3. В окне проекции Front (Спереди) известным вам способом постройте сплайн, который послужит формой пути лофт-объекта для хвостика, находящегося в верхней части ягоды (рис. 9.12).
Рис. 9.12. Форма сплайна пути для построения лофт-объекта
4. В окне проекции Top (Сверху) постройте окружность, которая будет являться формой поперечного сечения хвостика, для чего выполните команду Create ► Shapes ► Circle (Создание ► Формы ► Окружность).
5. Выделите сплайн пути (если он не выделен) и выполните команду Create ► Compound ► Loft (Создание ► Составные объекты ► Лофтинговые).
6. В свитке Creation Method (Метод создания) нажмите кнопку Get Shape (Взять форму) и в одном из окон проекций щелкните на окружности.
7. Перейдите на вкладку Modify (Изменить) командной панели и в свитке Deformations (Деформации) щелкните на кнопке Scale (Масштаб), в результате чего откроется окно Scale Deformation (Деформация масштаба).
8. Измените форму кривой графика так, чтобы сплайн в окне проекции приобрел нужную форму (рис. 9.13).
Рис. 9.13. Окно Scale Deformation (Деформация масштаба) с уточненной формой хвостика
В результате ягода винограда должна выглядеть, как показано на рис. 9.14.
Более сложным объектом для моделирования может показаться банан. Но и здесь можно обойтись построением лофт-объекта с последующей деформацией масштаба, аналогично тому, что мы делали для винограда. Чтобы построить модель банана, сделайте следующее.
1. В окне проекции Top (Сверху) постройте сплайн пути, который представляет собой немного искривленную линию.
2. В окне проекции Front (Спереди) создайте форму поперечного сечения, для чего выполните команду Create ► Shapes ► NGon (Создать ► Формы ► Многоугольник).
3. Параметру Sides (Количество сторон) свитка Parameters (Параметры) настроек многоугольника задайте значение, равное 6 (рис. 9.15).
4. Постройте лофт-объект, для чего выделите сплайн пути и выполните команду Create ► Compound ► Loft (Создание ► Составные объекты ► Лофтинговые).
Рис. 9.14. Ягода винограда
Рис. 9.15. Сплайны форм пути и поперечного сечения для построения модели банана
5. В свитке Creation Method (Метод создания) настроек лофт-объекта нажмите кнопку Get Shape (Взять форму) и в одном из окон проекций щелкните на многоугольнике.
6. В свитке Deformations (Деформации) настроек лофт-объекта на вкладке Modify (Изменение) командной панели щелкните на кнопке Scale (Масштаб). В результате откроется окно Scale Deformation (Деформация масштаба).
7. При помощи редактирования кривой измените форму сплайна так, чтобы получился банан (рис. 9.16). Редактируя сплайн, контролируйте изменение формы объекта в окнах проекций.
8. Чтобы сгладить резко очерченные грани модели, необходимо применить модификатор Relax (Ослабление), выбрав его из списка модификаторов на вкладке Modify (Изменение).
Рис. 9.16. Окно Scale Deformation (Деформация масштаба) с измененной формой банана
9. В свитке Parameters (Параметры) настроек модификатора Relax (Ослабление) подберите такие значения параметров Relax Value (Величина ослабления) и Iterations (Количество итераций), чтобы получилось небольшое сглаживание на краях (рис. 9.17).
Рис. 9.17. Банан, полученный с использованием составных объектов (слева), и его параметры (справа)
В качестве самостоятельного задания создайте дополнительные объекты сцены. Например, сферу можно использовать для моделирования нескольких объектов: апельсина, мандарина, вишен, клубники и даже половинки лимона и киви. При этом для создания мандарина необходимо применить инструмент Select and Uniform Scale (Выделить и равномерно масштабировать), чтобы сжать сферу в вертикальной плоскости, а половинка киви получается после задания параметру Hemisphere (Полусфера) свитка Parameters (Параметры) настроек сферы значения, равного 0,5. Мандарин, как и некоторые другие объекты, можно построить путем редактирования вершин на уровне подобъектов модификатора Edit Mesh (Редактирование поверхности). В большинстве случаев такой подход дает максимальный контроль над созданием объектов сцены и, как следствие, лучший результат.
На рис. 9.18 представлен натюрморт, который получился после создания дополнительных объектов.
Рис. 9.18. Сцена с расставленными объектами
Подводя итоги, можно заметить, что очень часто использования стандартных параметрических объектов и простых методов редактирования вполне достаточно для создания хорошей сцены.
В следующей главе, посвященной работе с редактором материалов, мы рассмотрим текстурирование созданной в данном упражнении сцены.
ПРИМЕЧАНИЕ
На прилагаемом к книге DVD в папке Examples\Глава 09\Fruits находится файл сцены fruits.max.
Моделирование лофт-объектов
Допустим, необходимо создать объект, напоминающий машиностроительную деталь. Можно моделировать при помощи разбиений, но, как мне кажется, намного легче и проще будет сделать это при помощи лофтинга.
Что же такое лофт-объекты? Представьте корпус корабля, разделенный шпангоутами (поперечными ребрами). Это и есть классический пример лофтинга, где в качестве формы пути выступает киль, а поперечных сечений – шпангоуты. Создание лофт-объектов происходит аналогичным способом. Сначала создается сплайн, являющийся путем, на который нанизывается любое количество поперечных сечений (форм).
При построении лофт-объектов можно использовать практически любую форму для поперечного сечения или пути. Если соблюдать некоторые несложные ограничения, можно добиться впечатляющих результатов. Рассмотрим эти ограничения.
Что касается формы пути, есть лишь одно ограничение – она может состоять только из одного сплайна. Если при попытке использовать сплайн в качестве формы пути 3ds Max отказывается его воспринимать, это первый признак того, что форма содержит более одного сплайна.
Ко всем формам поперечного сечения применяется два ограничения:
■ они должны содержать одинаковое количество сплайнов;
■ должны иметь одинаковый порядок вложения. Если первая форма на пути содержит три сплайна внутри другого сплайна (рис. 9.19), то все последующие формы также должны содержать три сплайна внутри другого сплайна. Впрочем, это ограничение можно обойти, используя разомкнутый внешний сплайн.
Рис. 9.19. Вложенные сплайны
Основной недостаток разомкнутых сплайнов – они не могут иметь крышки на концах объектов. По этой причине, если возникает необходимость закрыть торцы такого объекта, приходится использовать модификатор Edit Mesh (Редактирование поверхности) с последующим редактированием вручную или назначать модификатор Cap Holes (Накрытие отверстий). Можно также применять деформацию масштабирования для лофт-объекта, изменяя параметр деформации до 0 % на концах объекта или любым доступным способом.
Часто форма ведет себя необъяснимо из-за эффектов трансформаций, применяемых к исходным объектам. Они игнорируются впоследствии при создании лофт-объекта. Такие трансформации, как Move (Перемещение), Rotate (Вращение) и Scale (Масштабирование), не передаются с формой в лофт-объект (это концептуально заложено в потоковой схеме объекта). Если вам все-таки необходимо (в чем я очень сомневаюсь) произвести какие-либо трансформации, то выполняйте их после применения модификатора XForm (Преобразование). Кроме того, можно изменять форму лофтинга на уровне подобъектов внутри самого лофт-объекта.
Формы можно строить в любом окне проекции, однако полезно придерживаться следующих правил:
■ форма пути для горизонтальных объектов строится от основания объекта до его верха или от задней части к передней;
■ формы поперечных сечений строятся в тех окнах проекций, которые наиболее согласуются с видом объекта сверху или спереди.
Таким образом, лучше всего строить формы пути и поперечного сечения в разных окнах проекций.
Рассмотрим пример создания простого лофт-объекта – карандаша. Для этого в окне проекции Front (Спереди) создайте четыре сплайна (хотя можно обойтись и тремя) (рис. 9.20).
Четвертый сплайн – копия шестиугольника со сдвинутыми вверх манипуляторами Безье во всех шести точках сплайна. На рис. 9.21 в окне проекции To p (Сверху) изображена форма, которая получилась у меня. В окне проекции To p (Сверху) также следует построить сплайн, который будет формой пути для карандаша.
Рис. 9.20. Сплайны, определяющие профиль модели карандаша
Рис. 9.21. Форма сплайнов в окне проекции Top (Сверху)
После построения всех сплайнов можно приступать к созданию лофт-объекта. Для этого выполните следующие действия.
1. В окне проекции Top (Сверху) выделите сплайн пути (прямую).
2. На вкладке Geometry (Геометрия) командной панели выберите из раскрывающегося списка Compound Objects (Составные объекты).
3. Щелкните на кнопке Loft (Лофтинговые), чтобы активизировать режим построения лофтинговых объектов.
4. В свитке Creation Method (Метод создания) щелкните на кнопке Get Shape (Взять форму), после чего указатель мыши перейдет в режим выбора.
5. Щелкните кнопкой мыши на первой форме поперечного сечения (окружности большего диаметра). В результате лофт-объект примет форму цилиндра.
6. В свитке Path Parameters (Параметры пути) введите значение Path (Путь), равное 5. Так мы определили местоположение второго сечения.
7. Снова нажмите кнопку Get Shape (Взять форму) и выберите вторую форму (плоский шестиугольник, расположенный слева). После этого лофт-объект станет шестигранной формы.
8. Задайте параметру Path (Путь) значение, равное 85 (расстояния по умолчанию вводятся в процентах от всего пути).
9. Щелкните на кнопке Get Shape (Взять форму) и выберите в окне проекции Front (Спереди) правый шестигранник.
1 0. Задайте параметру Path (Путь) значение, равное 100, и выберите последнюю форму – маленькую окружность.
Теперь лофт-объект похож на карандаш (рис. 9.22).
ПРИМЕЧАНИЕ
При необходимости обратитесь к файлу упражнения pencil.max, расположенному в папке Examples\Глава 09\Lofts прилагаемого к книге DVD.
Прежде чем приступить к моделированию следующего объекта более сложной формы, необходимо рассмотреть, как согласовать первые вершины каждой формы поперечного сечения.
Любой сплайн имеет первую вершину, которая обозначается квадратиком в точке ее расположения. Чтобы не происходило скручивание лофт-объекта от формы к форме, необходимо выровнять первые вершины. Делается это одним из двух способов:
■ назначением первой вершины в необходимом месте;
■ вращением сплайна вокруг своей оси в режиме SubObject (Подобъект) модификатора Loft (Лофтинговые), то есть когда он уже принадлежит лофт-объекту (помните, трансформации в лофт-объект не передаются, поэтому нет смысла вращать сам сплайн).
Возьмем для примера два сплайна (допустим, окружность и квадрат) и посмотрим, как выглядят несогласованные и согласованные первые вершины у лофт-объекта. На рис. 9.23, слева изображено расположение первых вершин по умолчанию, а на рис. 9.23, справа – результат такого расположения вершин.
Рис. 9.22. Карандаш, построенный при помощи объекта Loft (Лофтинговые)
Рис. 9.23. Сплайн с несогласованными вершинами (слева) и объект, построенный на основе такого сплайна (справа)
Если согласовать расположение первых вершин, то получится правильная форма (рис. 9.24).
Иначе говоря, если соединить первые вершины, начиная от основания к верху объекта, воображаемыми отрезками, то должна получиться прямая линия.
Перейдем к созданию более сложных форм лофт-объектов. Одним из классических примеров сложного объекта является вилка. В данном случае, кроме того, что сплайн имеет более сложную форму, присутствует большее количество сплайнов внутри формы поперечного сечения. Особенность построения такого лофт-объекта заключается в том, что нужно подогнать количество сплайнов внутри каждого поперечного сечения по максимальному количеству сплайнов в форме. Например, в вилке максимальное количество сплайнов поперечного сечения – три (в зубцах вилки – по одному на каждый зубец). Чтобы получить более сглаженную форму, я использовал четыре сплайна (средний овал разделен на два сплайна). Исходя из этого все остальные формы также должны иметь по четыре сплайна.
ВНИМАНИЕ
Если в процессе построения сложного сплайна появляется перекрученная поверхность, это первый признак того, что расположенные рядом формы имеют различный порядок следования подобъектов. Для лофт-объектов с количеством сплайнов внутри формы больше одного сплайны всех форм должны иметь одинаковый порядок следования сплайнов и вершин. Иначе говоря, лофт-объект строится от первого сплайна: от первой вершины формы к первому сплайну, к первой вершине второй формы и т. д.
На рис. 9.25 показаны формы поперечных сечений в окне проекции Front (Спереди).
Рис. 9.24. Сплайн с согласованными вершинами (слева) и лофт-объект, построенный на основе такого сплайна (справа)
Рис. 9.25. Формы поперечных сечений, подготовленные для моделирования вилки
На окружностях, образующих ручку, в режиме редактирования Vertex (Вершина) необходимо добавить дополнительные точки, а затем разделить сплайн на четыре части (выделить нужные точки и применить к ним команду Break (Разбить)). То же самое необходимо сделать и с прямоугольником. В процессе создания лофтобъекта можно редактировать как расположение поперечных сечений вдоль пути, так и их форму. Вместе с тем вы можете уточнять форму сплайна пути, поэтому совсем не обязательно все тщательно подгонять с самого начала.
ПРИМЕЧАНИЕ
Для более детального ознакомления с формами объекта и расположением сплайнов на форме пути обратитесь к файлу упражнения fork.max, расположенному в папке Examples\Глава 09\Lofts прилагаемого к книге DVD.
На рис. 9.26 показана схема расположения поперечных сечений на сплайне.
Еще одной замечательной особенностью лофт-объектов является то, что при помощи комбинации разомкнутых и замкнутых сплайнов можно строить поверхности с разрезами и разрывами. Если необходимо построить поверхность с множеством отверстий, нужно разделить замкнутые формы на равное количество сплайнов (не забывая о согласовании первых вершин и порядке следования сплайнов внутри формы). На рис. 9.27 показаны сплайны, из которых я смоделировал лофт-объект с разрывом посередине.
Рис. 9.26. Вилка, построенная при помощи лофт-объекта
Рис. 9.27. Сплайны формы, подготовленные для моделирования детали с дырой
Рисунок 9.28 дает представление о взаимном расположении сплайнов формы, нанизанных на сплайн пути, и визуализированном изображении лофт-объекта с дырой.
ПРИМЕЧАНИЕ
В папке Examples\Глава 09\Lofts прилагаемого к книге DVD находится файл сцены hole.max.
Еще одним классическим примером лофт-объекта является ложка. Несмотря на то что на первый взгляд она мало напоминает лофт-объект, ее достаточно просто строить при помощи команды Fit (Подогнать).
Рис. 9.28. Схема расположения сплайнов вдоль пути (слева) и результат визуализации объекта с дырой (справа)
Деформация подгонки имеет несколько ограничений (однако это не мешает ей оставаться быстрым и мощным средством для построения объектов сложной формы):
■ формы подгонки должны быть одиночными замкнутыми сплайнами;
■ искривленные сегменты не должны расширяться за пределы первой и последней вершины формы на оси X;
■ формы подгонки не должны иметь подрезаний, то есть если зрительно провести вертикальную линию, проходящую через сплайн, то она не должна разрезать форму более чем в двух местах;
■ формы вида сверху и вида сбоку должны иметь одинаковую длину.
Последнее требование не является обязательным, так как 3ds Max может автоматически масштабировать вторую форму, подогнав ее под длину первой, однако в результате могут возникнуть непредвиденные искажения.
Для построения модели ложки выполните следующие действия.
1. В окне проекции Тор (Сверху) постройте две формы подгонки – контуры будущей ложки вида сверху и сбоку.
2. В этом же окне проекции постройте прямую – форму пути (рис. 9.29).
3. В окне проекции Left (Слева) постройте три формы поперечного сечения (на самом деле при построении таких объектов их может быть сколько угодно) (рис. 9.30).
Рис. 9.29. Формы подгонки для построения модели ложки
Рис. 9.30. Формы поперечного сечения модели ложки
4. Постройте лофт-объект по классической схеме (как строили карандаш): выделив сплайн пути, нажмите кнопку Get Shape (Взять форму), после чего щелкайте кнопкой мыши на сплайнах поперечных сечений, не забывая при этом смещать положение точки пути.
В результате должна получиться форма, показанная на рис. 9.31.
Рис. 9.31. Начальная форма ложки после применения сплайнов поперечного сечения
Для дальнейшего моделирования ложки сделайте следующее.
1. В свитке Deformations (Деформации) щелкните на кнопке Fit (Подогнать), в результате чего появится окно деформации подгонки.
2. В окне деформации подгонки нажмите кнопку Make Symmetrical (Сделать симметричным)
чтобы запретить симметричное построение для обеих осей.
3. Щелкните на кнопке Display X Axis (Отобразить ось Х)
чтобы загрузить форму подгонки по оси Õ.
4. Нажмите Get Shape (Взять форму)
и в окне проекции Top (Сверху) выберите форму ложки (рис. 9.32).
Рис. 9.32. Форма ложки в окне подгонки деформации по оси X
5. Проделайте вышеописанные действия для формы подгонки по оси Y, выбрав при этом сплайн вида сбоку.
6. При необходимости уточните положение точек на профилях (их также можно добавить или удалить).
На рис. 9.33 показано окончательное изображение визуализированной модели ложки.
ПРИМЕЧАНИЕ
В папке Examples\Глава 09\Lofts прилагаемого к книге DVD находится файл сцены spoon.max.
Вернемся к построению лофт-объектов, имеющих разомкнутый внешний сплайн. На рис. 9.34 представлены две формы поперечного сечения, каждая из которых состоит из трех сплайнов.
Рис. 9.33. Готовая модель ложки
Рис. 9.34. Две формы с разомкнутым сплайном
При построении этих форм использовались скругленные прямоугольники и сплайны окружностей. Прямоугольники имеют разрывы в точках, расположенных на сплайне справа (могут быть в любом месте, но обязательно согласованы). Чтобы выполнить разрыв сплайна, выделите точку на сплайне, затем в свитке Geometry (Геометрия) щелкните на кнопке Break (Разбить). Сам лофт-объект строится обычным способом – при помощи сплайна пути и сплайна формы (рис. 9.35).
Остановимся подробнее на моделировании лофт-объектов с возвратными путями. Данный способ позволяет во многих случаях избежать применения булевых операций и получить предсказуемую и легко настраиваемую модель.
В качестве объекта для моделирования возьмем головку для накидного гаечного ключа. Начнем моделирование с создания сплайнов. Для этого выполните следующие действия.
1. В окне проекции To p (Сверху) постройте две окружности диаметром 70 и 50. Для этого выполните команду Create ► Shapes ► Circle (Создание ► Формы ► Окружность), после чего щелкните в окне проекции Top (Сверху) и переместите указатель в сторону для построения окружности.
2. Для моделирования прямоугольника выполните команду Create ► Shapes ► Rectangle (Создание ► Формы ► Прямоугольник) и постройте в окне проекции To p (Сверху) прямоугольник размером 50 х 50.
3. Чтобы создать внутреннее отверстие, понадобится сплайн Star (Звезда) с параметрами, показанными на рис. 9.36. Он строится аналогично предыдущим объектам.
Рис. 9.35. Деталь, построенная с использованием разомкнутых сплайнов
Рис. 9.36. Настройки сплайна Star (Звезда)
4. Постройте сплайн возвратного пути. Для этого в окне проекции Front (Спереди) поставьте точку, которая будет служить основанием сплайна, затем точку вверху и опять у основания. В итоге внизу получатся две точки (первая и последняя), а вверху – одна (там сплайн меняет направление на противоположное). На предложение объединить вершины ответьте отрицательно.
СОВЕТ
Чтобы легче было строить точки, воспользуйтесь привязкой к сетке. Для этого щелкните на кнопке Snaps Toggle (Переключение привязок)
правой кнопкой мыши и установите в открывшемся окне флажок Grid Points (Точки сетки).
На рис. 9.37 показаны сплайны, построенные для моделирования детали.
Помните, что обязательно нужно согласовывать первые вершины. Желательно, чтобы количество сегментов (вершин) у всех сплайнов формы сечения также совпадало (для получения сглаженной формы). Чтобы количество сегментов было одинаковым во всех сплайнах, выполните следующие действия.
1. Конвертируйте все формы в Editable Spline (Редактируемый сплайн) командой Convert To ► Convert to Editable Spline (Преобразовать ► Преобразовать в редактируемый сплайн) контекстного меню.
2. Выделите сегменты объекта Star (Звезда) (потому что этот сплайн содержит наибольшее количество сегментов) и в свитке Selection (Выделение) посмотрите статистику выделенных сегментов. Их количество – 32. Именно к такому количеству сегментов нужно привести остальные сплайны.
3. Выделите прямоугольник и затем в режиме редактирования подобъектов Segment (Сегмент) – все его сегменты (четыре). После этого в поле рядом с кнопкой Divide (Разделить) свитка Geometry (Геометрия) наберите цифру 7 и щелкните на кнопке Divide (Разделить). В результате в квадрате получится 32 сегмента.
4. Проведите те же операции для двух оставшихся окружностей.
5. Согласуйте все первые вершины, для чего выставьте их у всех сплайнов, например, справа.
Теперь можно приступать к построению лофт-объекта. Схема распределения путей такова:
■ 0 % – большая окружность;
■ 27 % – большая окружность;
■ 27,1 % – меньшая окружность (уменьшается диаметр поверхности детали);
■ 50 % – меньшая окружность;
■ 50,1 % – квадрат (в этом месте путь меняет направление на противоположное и получается внутреннее отверстие);
■ 75 % – квадрат;
■ 75,1 % – звезда (отверстие из квадратного превращается в многогранное);
■ 99,9 % – звезда;
■ 100% – большая окружность (закрываем пустоту между внешним и внутренним отверстиями).
Чтобы закончить построение объекта, внесите следующие изменения. В свитке Skin Parameters (Параметры поверхности) снимите флажки Cap Start (Закрыть начало) и Contour (Контур). Готовый лофт-объект показан на рис. 9.38.
Рис. 9.37. Сплайны для построения ключа
Рис. 9.38. Схема расположения сплайнов вдоль пути (слева) и сам объект (справа)
ПРИМЕЧАНИЕ
Файл упражнения detale.max находится в папке Examples\Глава 09\Lofts прилагаемого к книге DVD.
Подводя итоги, стоит сказать, что при помощи лофт-моделирования можно создавать не только простые, но и достаточно сложные геометрические формы. Кроме того, осталась нерассмотренной такая возможность, как анимация пути, но это тема для отдельного упражнения.
Моделирование штор
Моделирование любого объекта сцены должно начинаться с предварительного анализа. Такой подход позволяет экономить и время, и ресурсы компьютера.
Итак, что же такое шторы с точки зрения трехмерного объекта? Наверное, проще всего представить штору как прямоугольник с вертикальными складками. В связи с этим встает следующий вопрос: а как же проще всего получить такие складки? При ответе на этот вопрос вы должны определиться в том, насколько хорошо вы знаете возможности программы и какие способы моделирования предпочитаете. Например, я знаю как минимум четыре способа моделирования шторы.
■ Моделирование профиля при помощи сплайнов с последующим применением модификатора Extrude (Выдавливание) или объекта Loft (Лофтинговые) и редактирования поверхности при помощи модификатора FFD Box (Произвольно деформируемый контейнер (прямоугольный)) для придания шторе окончательного вида.
■ Создание объекта Plane (Плоскость) со значительным количеством вертикальных полигонов, затем редактирование положения вершин в пространстве и применение модификатора MeshSmooth (Сглаженная поверхность) для сглаживания граней. В данном случае вы можете максимально контролировать итоговую геометрию, но теряете значительное количество времени по сравнению с предыдущим вариантом.
■ Моделирование на основе NURBS-объекта с использованием верхнего и нижнего профиля и последующим применением команды Ruled Surface (Поверхность по краям). Именно использование двух профилей позволяет получить более естественный вид подвешенной к карнизу шторы.
■ Создание Surface-поверхности. В этом случае также используются два сплайна профиля – верхний и нижний – с последующим применением модификаторов CrossSection (Поперечное сечение) и Surface (Поверхность).
Рассмотрим два последних варианта.
Первый вариант
Как я уже говорил выше, для моделирования NURBS-поверхности понадобится создать два профиля. Построение необходимо проводить в окне проекции Top (Cверху), а в качестве кривой должна использоваться CV Curve (CV-кривая), для построения которой выполните команду главного меню Create ► NURBS ► CV Curve (Создать ► NURBS ► CV-кривая).
Я думаю, вы знаете, как выглядят шторы, поэтому не стану рассказывать вам о том, что они собой представляют и каким образом крепятся. Замечу лишь, что в верхней части складки обычно более плотные, что обусловлено способом крепления шторы к карнизу (кольца, зажимы и т. д.). В нижней части штора свободно свисает под воздействием силы гравитации, а те физические законы, которые заставляют ткань распрямляться, в некоторой степени сглаживают неровности, создаваемые в местах крепления. Таким образом, складки нижней части шторы должны в целом соответствовать верхним, но иметь более свободную форму (рис. 9.39).
Рис. 9.39. Форма CV-кривых для верхнего и нижнего края шторы
На самом деле верхняя кривая (на рис. 9.39 она белая) может выглядеть иначе. Я в данном случае предположил, что в качестве шторы у меня используется гладкое полотно (не имеющее декоративной отделки), которое крепится к карнизу зажимами (без создания предварительных складок). В результате, если немного собрать такую штору, как раз получится волна.
СОВЕТ
После создания сплайнов их кривизну можно редактировать при помощи изменения положения вершин в пространстве, для чего на вкладке Modify (Изменить) командной панели необходимо перейти в режим редактирования Curve CV (Управляющие вершины кривой) (рис. 9.40).
При желании можно создать эффект подвешенной ткани. Обычно в области изгиба ткани, максимально удаленной от места крепления, возникает провисание. Такое провисание ткани легко получить путем выделения среднего ряда вершин (в местах крепления к карнизу) и небольшого смещения их вверх (рис. 9.41).
Кривые готовы. Не забывайте о том, что они должны быть расположены в одной плоскости относительно вертикали и расстояние между ними должно составлять высоту шторы.
Рис. 9.40. Уровень подобъектов Curve CV (Управляющие вершины кривой) для редактирования кривой
Рис. 9.41. Результат перемещения среднего ряда управляющих вершин верхнего сплайна
Осталось совсем немного – создать поверхность между двумя кривыми. Для этого как нельзя лучше подойдет инструмент Ruled Surface (Поверхность по краям), но прежде необходимо объединить построенные кривые в один объект. Сделать это можно путем присоединения одной кривой к другой. Для этого выделите одну кривую, нажмите кнопку Attach (Присоединить), расположенную в свитке General (Общие) настроек кривой, и щелкните в окне проекции на второй кривой.
Щелкните на кнопке Create Ruled Surface (Создать поверхность по краям)
расположенной на плавающей палитре инструментов NURBS1, и выберите в окне проекции одну кривую, а затем вторую. В результате вышеописанных операций вы получите готовую поверхность шторы (рис. 9.42).
ПРИМЕЧАНИЕ
После создания поверхности можно продолжить редактировать кривые, поэтому, если вас не удовлетворяет получившийся результат, вы можете изменить форму кривых, контролируя при этом общую форму поверхности шторы.
1 Плавающую палитру NURBS можно вызвать щелчком на кнопке NURBS Creation Toolbox (Панель инструментов создания NURBS-объекта), расположенной в свитке General (Общие) настроек NURBS-кривой на вкладке Modify (Изменение) командной панели.
Рис. 9.42. Штора, построенная по двум кривым
Этим можно было бы ограничиться, но я хотел бы еще в общих чертах описать, как изменить геометрию шторы, если она собрана у основания или в другой части.
Наверное, вы уже успели заметить, что NURBS-поверхность не имеет других контрольных точек, кроме тех, которые расположены на сплайнах в верхней и нижней частях шторы. Этого явно недостаточно для того, чтобы редактировать поверхность в горизонтальной плоскости. В связи с этим первое, что необходимо сделать, – это добавить управляющие вершины в среднюю часть. Для этого выполните следующие действия.
1. В стеке модификаторов перейдите на уровень редактирования подобъектов Surface (Поверхность).
2. Выделите поверхность и в свитке Surface Common (Общие свойства поверхности) щелкните на кнопке Make Point (Создать точку) (рис. 9.43), в результате чего откроется окно Make Point Surface (Создать точки поверхности).
Рис. 9.43. Свиток Surface Common (Общие свойства поверхности) настроек построенной шторы
3. Значение параметра Number In U (Количество по горизонтали) окна Make Point Surface (Создать точки поверхности), который определяет количество точек поверхности по горизонтали, оставьте заданным по умолчанию. Параметру Number in V (Количество по вертикали) задайте значение в пределах от 10 до 20, в зависимости от стоящей перед вами задачи. Я задал значение, равное 14. Этого вполне достаточно, чтобы собрать штору в нижней ее части.
После того как будут добавлены точки поверхности, их можно редактировать, для чего необходимо перейти на уровень подобъектов Point (Точка) и воспользоваться инструментами перемещения, масштабирования и поворота.
На рис. 9.44 представлена штора, которую я получил при помощи перемещения точек и использования параметра Soft Selection (Плавное выделение).
Рис. 9.44. Модель шторы после редактирования вершин
Второй вариант
Второй вариант моделирования шторы в общих чертах напоминает описанный выше, но имеет свои особенности. Как и в первом варианте, необходимо построить кривую, которая будет являться профилем модели шторы. Чтобы ее создать, необходимо воспользоваться командой главного меню Create ► Shapes ► Line (Создать ► Формы ► Линия) и построить кривую в окне проекции Top (Сверху). Скопируйте построенную кривую со смещением по вертикали и отредактируйте ее форму так, чтобы получить геометрию нижнего края.
ВНИМАНИЕ
Копирование используется для того, чтобы сохранить одинаковое количество вершин обоих сплайнов – это важно! Если вы решите вместо копирования строить вторую кривую, то позаботьтесь о том, чтобы количество вершин обоих сплайнов было одинаковым.
Для продолжения моделирования нужно, как и в предыдущем случае, чтобы оба сплайна принадлежали одному объекту. Сделать это просто: достаточно выделить один из сплайнов, затем в свитке Geometry (Геометрия) его настроек нажать кнопку Attach (Присоединить) и в окне проекции щелкнуть на втором сплайне. После этого можно перейти к созданию поверхности, которая строится при помощи двух модификаторов: CrossSection (Поперечное сечение) и Surface (Поверхность) (рис. 9.45).
Рис. 9.45. Стек модификаторов шторы
В результате применения модификаторов вы получите поверхность шторы, а после небольшого редактирования вершин сплайнов – оригинальную форму. Как и в предыдущем варианте, вы можете редактировать не только вершины верхнего и нижнего рядов, но и всю поверхность. Необходимо лишь применить к объекту соответствующий модификатор, например Edit Patch (Редактирование кусков) или Edit Poly (Редактирование полигонов).
ПРИМЕЧАНИЕ
В зависимости от того, каким образом были построены сплайны (положение первой вершины), возможно, вам понадобится обратить поверхность объекта к виду из камеры или окна проекции. Для этого просто установите флажок Flip Normals (Обратить нормали) свитка Parameters (Параметры).
На рис. 9.46 представлен второй вариант модели шторы.
Рис. 9.46. Второй вариант модели шторы
ПРИМЕЧАНИЕ
cuteДля ознакомления с первым и вторым вариантами модели шторы вы можете обратиться к файлам curtain v1.max и curtain v2.max, расположенным в папке Examples\Глава 09\Curtain прилагаемого к книге DVD.
Полигональное моделирование телефонной трубки
В этом упражнении рассмотрим создание модели телефонной трубки при помощи полигонального моделирования (рис. 9.47).
Рис. 9.47. Модель телефонной трубки
Начнем моделирование с построения примитива Box (Параллелепипед). В свитке Parameters (Параметры) его настроек укажите габариты объекта и количество его сегментов по длине, ширине и высоте (рис. 9.48).
Телефонная трубка имеет изгиб. Чтобы создать его, примените модификатор Bend (Изгиб), выполнив команду Modifiers ► Parametric Deformers ► Bend (Модификаторы ► Параметрические деформации ► Изгиб). В результате в стеке модификаторов появится требуемый элемент. Задайте его параметры согласно изображенным на рис. 9.49.
Рис. 9.48. Параметры примитива Box (Параллелепипед) для построения трубки телефона
Рис. 9.49. Параметры модификатора Bend (Изгиб)
Больше свойства параметрического объекта вам не понадобятся. Дальнейшая работа будет проходить на уровне редактирования подобъектов – вершин, ребер, полигонов и т. д. Чтобы преобразовать объект в редактируемую поверхность, щелкните на параллелепипеде правой кнопкой мыши. Появится контекстное меню, в котором выполните команду Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
ПРИМЕЧАНИЕ
Если вы работаете в более ранних версиях программы, где еще нет Editable Poly (Редактируемая полигональная поверхность), то используйте для тех же целей Editable Mesh (Редактируемая поверхность). Однако при этом некоторые функции будут недоступны.
Перейдите на уровень редактирования вершин, для чего щелкните на кнопке Vertex (Вершина)
в свитке Selection (Выделение). После этого в окне проекции Left (Слева) отредактируйте три верхних ряда вершин так, чтобы получился изгиб трубки в поперечном сечении (рис. 9.50).
Далее создайте таким же способом изгибы формы на торцах трубки, с той лишь разницей, что основание, которым трубка ставится на базу, должно быть выгнуто меньше, нежели верх (рис. 9.51).
Рис. 9.50. Редактирование изгиба верхней части трубки
Рис. 9.51. Редактирование вершин в окне проекции Top (Сверху)
Чтобы скруглить объект, перейдите на уровень редактирования граней. Для этого нажмите кнопку Edge (Ребро)
в свитке Selection (Выделение). Перед тем как начать выделение граней, установите флажок Ignore Backfacing (Без обратной ориентации), что позволит избежать случайного выбора граней, лежащих на противоположных сторонах геометрии. Для выделения необходимых ребер, удерживая клавишу Ctrl, щелкайте поочередно на одном из ребер каждой стороны. Таким образом вы добавите их к выделению. После этого в свитке Selection (Выделение) нажмите кнопку Loop (Петля), чтобы автоматически выбрать остальные ребра (рис. 9.52).
Помните, что в процессе выбора ребер нужно контролировать область выделения во всех окнах проекций.
После выделения необходимых ребер можно применить к ним команду Chamfer (Фаска). Для этого разверните свиток Edit Edges (Редактирование ребер) настроек объекта и щелкните на кнопке Settings (Настройки) рядом с кнопкой Chamfer (Фаска). В появившемся окне Chamfer Edges (Фаска ребер) задайте параметру Chamfer Amount (Величина фаски) значение, равное 4. Щелкните на кнопке OK.
В результате на краях появятся закругления. Их можно увидеть, установив для объекта сглаживание. Для этого в свитке Subdivision Surface (Поверхности с разбиением) установите флажок Use NURMS Subdivision (Использовать NURMS-разбиения), а в области Display (Отображение) задайте параметру Iterations (Количество итераций) значение, равное 2. Поверхность станет сглаженной (рис. 9.53).
Рис. 9.52. Выделенные ребра верхних и боковых граней для формирования фаски
Рис. 9.53. Поверхность после применения фаски и сглаживания
Повторим те же действия для нижних ребер.
1. Выберите ребра, расположенные по периметру нижней плоскости.
2. Вызовите окно Chamfer Edges (Фаска ребер).
3. Задайте параметру Chamfer Amount (Величина фаски) значение, равное 2.
4. Подтвердите внесенные изменения, щелкнув на кнопке OK.
В результате вы получите скругления на нижней части трубки, но с меньшим радиусом (рис. 9.54).
Мы сделали приблизительную форму трубки телефона. Теперь нужно добавить вершины для редактирования. Это можно сделать разными способами, но мы воспользуемся самым простым и удобным в данном случае – секущей плоскостью. Для выполнения сечения поверхности плоскостью сделайте следующее.
1. Вернитесь на уровень редактирования вершин, щелкнув на кнопке Vertex (Вершина)
в свитке Selection (Выделение).
2. В свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке Slice Plane (Секущая плоскость). В результате кнопка подсветится цветом, а в горизонтальной плоскости объекта появится секущая плоскость.
3. На панели инструментов щелкните на кнопке Angle Snap Toggle (Переключатель угловых привязок)
что позволит проще поворачивать на заданные углы.
4. Щелкните на кнопке Select and Rotate (Выделить и повернуть)
и поверните секущую плоскость на 90° (рис. 9.55).
5. Нажмите кнопку Slice (Срез) в свитке Edit Geometry (Редактирование геометрии).
6. Щелкните на кнопке Slice Plane (Секущая плоскость) в свитке Edit Geometry (Редактирование геометрии), чтобы отключить создание сечений.
Рис. 9.54. Фаска на нижних гранях трубки относительно объекта-трубки
Рис. 9.55. Положение секущей плоскости
Прежде чем наращивать плотность сетки полигонов, необходимо отредактировать положение вершин в пространстве с учетом добавленных. Для этого в окне проекции Front (Спереди) переместите группы вершин, сформировав таким образом область расположения динамика. Перед этим не забудьте снять флажок Ignore Backfacing (Без обратной ориентации), чтобы можно было выбирать группы вершин по всему сечению (рис. 9.56).
Для формирования мест для кнопок вам понадобится сделать еще пять сечений плоскостью в окне проекции Front (Спереди).
СОВЕТ
Как видите, я не стал делать эти сечения вместе с первым. Это усложнило бы редактирование положения вершин, которых было бы намного больше. Если есть возможность, всегда старайтесь максимально сформировать форму объекта при минимальном количестве полигонов. Это не только упрощает работу, но и позволяет получить более сглаженные формы.
Как делать сечения, вы уже знаете. На рис. 9.57 показана та часть трубки, на которой нужно их сделать. Расстояния между ними должны быть приблизительно одинаковыми.
Рис. 9.56. Отредактированная поверхность после разреза секущей плоскостью
Рис. 9.57. Дополнительные сечения для формирования мест для кнопок
Перейдем к формированию углубления, в которое обычно встраивается дисплей. У меня трубка старого образца, поэтому на этом месте находится всего лишь логотип фирмы Panasonic и индикатор разрядки батареи. Чтобы сформировать углубление, выполните следующие действия.
1. Перейдите на уровень редактирования вершин и установите флажок Ignore Backfacing (Без обратной ориентации), чтобы случайно не выбрать лишние вершины.
2. В окне проекции Bottom (Снизу) передвиньте три средние вершины вправо так, чтобы сформировать изгиб нижней части углубления (рис. 9.58).
3. Перейдите на уровень редактирования полигонов, щелкнув на кнопке Polygon (Полигон)
в свитке Selection (Выделение).
4. Выделите четыре полигона, расположенных левее места изгиба.
5. В свитке Edit Polygons (Редактирование полигонов) щелкните на кнопке Settings (Настройки) рядом с кнопкой Inset (Смещение внутрь).
6. В появившемся окне Inset Polygons (Сместить полигоны внутрь) задайте параметру Inset Amount (Величина смещения) значение, равное 1,5, и подтвердите внесенные изменения, щелкнув на кнопке OK.
В результате будут построены новые полигоны, смещенные внутрь (рис. 9.59).
Чтобы закончить формирование углубления, выполните следующие действия.
1. Не снимая выделение с полигонов, щелкните на кнопке Settings (Настройки) рядом с кнопкой Extrude (Выдавливание).
2. В открывшемся окне Extrude Polygons (Выдавить полигоны) задайте параметру Extrude Height (Высота выдавливания) значение -7.
Рис. 9.58. Начало формирования углубления
Рис. 9.59. Полигоны для формирования углубления
3. Подтвердите внесенные изменения, щелкнув на кнопке OK.
4. Перейдите на уровень редактирования вершин, нажав кнопку Vertex (Вершина)
в свитке Selection (Выделение).
5. В окне проекции Front (Спереди) отредактируйте положение вершин, как показано на рис. 9.60.
Если сейчас посмотреть на созданное углубление, то можно увидеть, как его внутренние грани формируют скругления большого радиуса. В нашем случае, наоборот, внутренние грани по периметру должны образовывать четкую границу плоскостей. Чтобы это сделать, нужно увеличить плотность сетки в местах изгибов. Повысить плотность полигонов можно несколькими способами, но я воспользуюсь уже знакомым вам методом формирования фаски на уровне ребер.
Для построения такой фаски выделите внутренние грани по периметру углубления, исключая сторону изгиба, и примените к ним Chamfer Edges (Фаска ребер). Введите значение Chamfer Amount (Величина фаски), равное 0,5. В результате углубление примет более реалистичный вид (рис. 9.61).
Рис. 9.60. Положение вершин, формирующих углубление
Рис. 9.61. Формирование фаски внутри отверстия
Впечатление о проделанной работе портят внешние углы, которые имеют слишком большой радиус закругления. Чтобы избавиться от этого, примените к ребрам, формирующим эти углы, Chamfer Edges (Фаска ребер) с величиной смещения, равной 0,5 (рис. 9.62).
Теперь можно переходить к формированию углубления в месте нахождения динамика. Легче всего его создать при помощи булевой операции Cut (Вычитание), но, как правило, это искажает полигональную сетку модели, превращая ее в «месиво» из вершин, ребер и полигонов и затрудняя дальнейшее редактирование. Данную операцию можно было бы применить в конце моделирования, но нужно еще сделать отверстия для кнопок, отделку и т. д., поэтому выполним углубление, сформировав его в существующей сетке.
Чтобы облегчить построение окружности, создайте в окне проекции Bottom (Снизу) сплайн Circle (Окружность) с радиусом, равным 17. Для этого выполните команду Create ► Shapes ► Circle (Создание ► Формы ► Окружность), затем в окне проекции Bottom (Снизу) щелкните кнопкой мыши на месте расположения будущего углубления и переместите указатель в сторону, формируя окружность (рис. 9.63). В настройках окружности задайте параметру Radius (Радиус) значение, равное 17.
Рис. 9.62. Обработка угла
Рис. 9.63. Положение шаблона-окружности для формирования углубления в трубке телефона
После появления шаблона, по которому можно выверять форму углубления, нужно увеличить плотность сетки полигонов в этом месте. Для этого воспользуйтесь инструментом Cut (Вычитание). Его можно активизировать в свитке Edit Geometry (Редактирование геометрии) на любом из уровней подобъектов, щелкнув на кнопке Cut (Вычитание). В результате кнопка изменит свой цвет, указывая, что она находится в активном режиме. После этого щелкните на ребре или вершине объекта и, не отпуская кнопку мыши, переместите указатель к другому ребру или вершине. Пунктирная линия вслед за указателем определит место, где будет создано новое ребро. Для выключения режима вычитания щелкните правой кнопкой мыши.
Чтобы получить отверстие, нужно выполнить разрезы в несколько приемов, промежуточно редактируя вершины. Первые разрезы показаны на рис. 9.64.
К диагональным разрезам добавьте разрезы по периметру отверстия. Отредактируйте положение вершин, но не старайтесь делать это максимально точно, так как после очередных разрезов положение вершин придется уточнять снова (рис. 9.65).
Рис. 9.64. Разрезы, сделанные для формирования углубления
Рис. 9.65. Добавлены новые разрезы по периметру окружности
Чтобы получить максимально ровный и сглаженный круг, нужно выполнить еще по одному разрезу внутри сформированных лучей, исходящих из центра окружности. После этого можно переходить к окончательному редактированию вершин. Сейчас их положение должно быть определено шаблоном-окружностью, на котором они находятся, а расстояния между соседними вершинами по возможности должны быть одинаковыми.
После того как будут расставлены вершины, можно сформировать внутреннее кольцо ребер. Для этого выделите внутренние полигоны и примените команду Inset (Смещение внутрь) описанным выше способом, но только с величиной сдвига, равной половине радиуса круга (рис. 9.66).
Перед тем как перейти к формированию мест для кнопок, выполните сдвиг вершин, расположенных внутри окружности, так, чтобы сформировалась небольшая выемка. К внешнему кольцу из ребер примените Chamfer Edges (Фаска ребер) с очень маленькой величиной среза, чтобы по периметру углубления образовалась фаска (рис. 9.67).
Рис. 9.66. Формирование внутренних полигонов углубления
Рис. 9.67. Окончательный вид углубления в телефонной трубке
Теперь займемся углублениями для кнопок. Прежде чем выдавливать рельеф, нужно построить форму кнопок. Кнопки пульта мы сделаем как отдельные объекты, например с помощью примитива ChamferBox (Параллелепипед с фаской).
Из шести построенных ранее сечений для формирования кнопок выделите четыре внутренних поперечных ряда ребер и примените к ним Chamfer Edges (Фаска ребер) с величиной среза, равной 4,5, что задаст ширину посадочного места (рис. 9.68).
Выполните те же действия по отношению к продольным ребрам в области построения кнопок. Для этого примените к ним Chamfer Edges (Фаска ребер), но только с величиной среза, равной 6,5. В результате данных операций будет сформирована область выдавливания (рис. 9.69).
Рис. 9.68. Применение Chamfer Edges (Фаска ребер) в начале формирования мест для кнопок
Рис. 9.69. Применение Chamfer Edges (Фаска ребер) для продольных ребер
Таким образом, мы создали общую форму отверстий для кнопок. Размер отверстий по длине примерно в полтора раза превышает ширину, что может сказаться на последующем сглаживании, если не разделить широкие стороны пополам. Воспользуйтесь командой Cut (Вычитание) и сделайте продольные разрезы, соединив противоположные вершины полей, где будут кнопки (рис. 9.70).
Кнопки имеют скругленные грани, что относится и к отверстиям, в которых они будут находиться. Их можно сделать, сначала выдавив отверстия, затем выделив внутренние вертикальные грани и применив Chamfer Edges (Фаска ребер). Но можно поступить по-другому – применив к угловым вершинам Chamfer Vertices (Фаска вершин)1 перед выдавливанием. Можете попробовать оба метода, я опишу первый вариант.
Чтобы сделать отверстия для кнопок телефонной трубки, выполните следующее.
1. Выделите все полигоны, относящиеся к будущим отверстиям.
2. В свитке Edit Polygons (Редактирование полигонов) щелкните на кнопке Settings (Настройки) рядом с кнопкой Extrude (Выдавливание).
3. В появившемся окне Extrude Polygons (Выдавить полигоны) выставьте величину выдавливания –4 и подтвердите внесенные изменения, щелкнув на кнопке OK.
1 Чтобы вызвать окно Chamfer Vertices (Фаска вершин), следует щелкнуть на кнопке, расположенной рядом с кнопкой Chamfer (Фаска) в свитке Edit Vertices (Редактирование вершин).
Теперь необходимо сформировать скругления внутренних углов. Для этого выполните следующие действия.
1. Перейдите на уровень редактирования Edge (Ребро)
2. Выделите все внутренние вертикальные ребра сформированных отверстий.
3. Примените к ним Chamfer Edges (Фаска ребер) и задайте параметру Chamfer Amount (Величина фаски) значение 1.
СОВЕТ
Чтобы было удобнее выделять грани, воспользуйтесь окном проекции Perspective (Перспектива), развернув его во весь экран при помощи сочетания клавиш Alt+W.
Продолжим формирование фасок отверстий. Выделите по одному верхнему ребру в каждом отверстии и щелкните на кнопке Loop (Петля), находящейся в свитке Selection (Выделение). В результате должны выделиться все ребра, очерчивающие верхний край отверстия. Примените к ним Chamfer Edges (Фаска ребер) со значением параметра Chamfer Amount (Величина фаски) 0,1.
После того как будет сделана фаска для верхних ребер, перейдите на уровень редактирования полигонов, щелкнув на кнопке Polygon (Полигон)
Внутренние полигоны все еще должны быть выделены, если это не так, выделите их снова. После этого в свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке Detach (Отделить) и в появившемся окне выберите метод отделения Detach To Element (Отделить в элемент). То, что должно получиться после редактирования полигонов, показано на рис. 9.71.
Рис. 9.70. Дополнительные разрезы в области расположения кнопок
Рис. 9.71. Окончательно сформированные углубления для кнопок
Теперь нужно сделать сами кнопки. Для этого используйте примитив ChamferBox (Параллелепипед с фаской) с параметрами, показанными на рис. 9.72.
Можно не изменять созданную кнопку, а преобразовать ее в Editable Mesh (Редактируемая поверхность) и немного изменить положение вершин, чтобы получить небольшое закругление верха кнопки. После того как будет сформирована одна кнопка, сделайте ее копии для всех имеющихся углублений (рис. 9.73).
Рис. 9.72. Параметры объекта ChamferBox (Параллелепипед с фаской), использованного для формирования кнопок
Рис. 9.73. Окончательный вид кнопок
Функциональные кнопки (меньшие по размеру) создаются таким же способом. Теперь пора переходить к антенне, формированию мест для функциональных кнопок, отделке и фирменной надписи Panasonic.
Начнем с антенны. Для ее моделирования создайте примитив Box и настройте его параметры, как показано на рис. 9.74.
Для дальнейшей работы построенный параллелепипед необходимо преобразовать в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните на нем правой кнопкой мыши и в открывшемся контекстном меню выполните команду Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
Перейдите на уровень редактирования граней, щелкнув в свитке Selection (Выделение) на кнопке Edge (Ребро)
После этого выделите все боковые грани и примените к ним Chamfer Edges (Фаска ребер) со значением параметра Chamfer Amount (Величина фаски), равным 2. Затем выделите верхние грани и постройте еще одну фаску, указав величину среза 0,1.
На уровне редактирования полигонов при помощи команды Inset (Смещение внутрь) сформируйте внутренний ряд ребер для дальнейшего их выдавливания. Для этого выполните следующие действия.
1. Перейдите на уровень редактирования Polygon (Полигон) I ■ и выделите наружный торцевой полигон.
2. Щелкните на кнопке Settings (Настройки) рядом с кнопкой Inset (Смещение внутрь), находящейся в свитке Edit Polygons (Редактирование полигонов).
3. В появившемся окне Inset Polygons (Сместить полигоны внутрь) задайте параметру Inset Amount (Величина смещения) значение 1,2 (рис. 9.75).
Рис. 9.74. Параметры примитива Box (Параллелепипед), предназначенного для моделирования антенны
Рис. 9.75. Формирование внутреннего ряда граней при помощи Inset (Смещение внутрь)
При помощи секущей плоскости или вручную разделите моделируемый объект на две части по широкой стороне. Это облегчит процесс дальнейшего формирования закруглений на антенне. Затем при выделенном торцевом полигоне примените к нему команду Bevel (Выдавливание со скосом). Для этого вызовите окно Bevel Polygons (Выдавливание со скосом полигонов), щелкнув на кнопке Settings (Настройки) рядом с кнопкой Bevel (Выдавливание) в свитке Edit Polygons (Редактирование полигонов). Задайте параметрам Height (Высота) и Outline Amount (Величина смещения) значения, показанные на рис. 9.76.
После того как будет сформирована внешняя часть антенны, отредактируйте ее окончание, сделав на торцевых ребрах фаску и передвинув вдоль оси антенны наружу центральные вершины для формирования скругления (рис. 9.77).
Рис. 9.76. Параметры выдавливания верхней части антенны
Рис. 9.77. Окончательный вид антенны
Сделаем небольшое декоративное расширение в середине трубки. Для этого выделите средние ребра на боках трубки и примените к ним Chamfer Edges (Фаска ребер) со значением Chamfer Amount (Величина фаски), равным 2 (рис. 9.78).
Выделите серединный шов по всему периметру модели и примените к нему Extrude Edges (Выдавить ребра), щелкнув на кнопке Settings (Настройки) рядом с кнопкой Extrude (Выдавливание). В появившемся окне Extrude Edges (Выдавить ребра) следует ввести значения, показанные на рис. 9.79.
Рис. 9.78. Применение Chamfer Edges (Фаска ребер) для формирования продольного шва
Рис. 9.79. Окно Extrude Edges (Выдавить ребра) с параметрами первого выдавливания
Щелкните на кнопке Apply (Применить), чтобы выполнить первое выдавливание. Затем, не меняя выделения и не закрывая диалоговое окно Extrude Edges (Выдавить ребра), введите в поля новые значения высоты и ширины выдавливания (рис. 9.80).
Щелкните на кнопке OK для применения изменений. При кажущейся сложности задачи для построения профиля стыка понадобилось всего две операции. Сделайте тестовую визуализацию трубки (рис. 9.81).
Рис. 9.80. Окно Extrude Edges (Выдавить ребра) с параметрами второго выдавливания
Рис. 9.81. Трубка с боковым швом
В трубке есть еще некоторые детали, которые необходимо смоделировать (например, функциональные кнопки, кнопку включения-выключения и т. д.), но я не стану описывать процесс их создания, так как он ничем не отличается от того, который мы рассмотрели, – для основных кнопок трубки.
Смоделируем место для функциональных кнопок, выполнив следующие действия.
1. Добавьте еще один поперечный разрез у основания трубки.
2. В продольной плоскости разрежьте полигоны, лежащие по бокам. В результате должен получиться прямоугольник, сформированный ребрами (рис. 9.82).
3. Примените к этим ребрам команду Extrude Edges (Выдавить ребра) так же, как для бокового шва.
В результате у вас получится такой же шов, как и боковой, с той лишь разницей, что окажутся сильно сглаженными внутренние углы прямоугольника. Чтобы избавиться от этого эффекта, добавьте угловым ребрам Chamfer Edges (Фаска ребер) (рис. 9.83).
Рис. 9.82. Ребра, формирующие площадку для функциональных кнопок
Рис. 9.83. Окончательный вид места для функциональных кнопок
Последний штрих – создание надписи на корпусе трубки. Ее нужно делать в последнюю очередь, так как после создания объекта ShapeMerge (Объединенные с формой) стек разрушится, и вы не сможете больше редактировать простую форму.
Для создания текста сделайте следующее.
1. Выполните команду Create ► Shapes ► Text (Создание ► Формы ► Текст).
2. В области Text (Текст) свитка Parameters (Параметры) наберите, например, Panasonic.
3. Задайте параметру Size (Размер), определяющему величину шрифта, значение, равное 25, и выберите гарнитуру Arial Black.
4. Щелкните кнопкой мыши в окне проекции To p (Сверху) для завершения создания текста (рис. 9.84).
Чтобы отобразить текст на поверхности трубки, выполните следующие действия.
1. Выделите модель телефонной трубки.
2. Перейдите на вкладку Create (Создание) командной панели, нажмите кнопку Geometry (Геометрия), в раскрывающемся списке выберите строку Compound Objects (Составные объекты) и щелкните на кнопке ShapeMerge (Объединенные с формой).
3. В свитке Pick Operand (Указать булев) нажмите кнопку Pick Shape (Указать форму), после чего щелкните на надписи Panasonic.
В результате надпись спроецируется на поверхность трубки (рис. 9.85).
Рис. 9.84. Расположение объекта Text (Текст) над корпусом трубки
Рис. 9.85. Надпись, спроецированная на поверхность телефонной трубки
Далее выполните команду Modifiers ► Mesh Editing ► Edit Mesh (Модификаторы ► Редактирование поверхности ► Редактирование поверхности). Затем перейдите на уровень подобъектов редактирования полигонов, щелкнув в свитке Selection (Выделение) на кнопке Polygon (Полигон) ■ . Сейчас нужно выдавить надпись. По умолчанию она должна быть выделена, поэтому просто щелкните на кнопке Extrude (Выдавливание) и укажите величину выдавливания равной -0,5 (рис. 9.86).
Рис. 9.86. Надпись на трубке, сделанная при помощи команды Extrude (Выдавливание)
На этом моделирование трубки телефона можно считать законченным.
СОВЕТ
Если у вас возникли трудности с моделированием, обратитесь к файлу phone.max, расположенному в папке Examples\Глава 09\Phone прилагаемого к книге DVD.
Моделирование микроволновой печи
Рассматривая процесс создания освещения в разд. «Использование базовых источников света в интерьере» гл. 7, мы использовали в сцене модели мебели и бытовой техники. Одним из таких объектов была микроволновая печь, о моделировании которой пойдет речь в данном разделе. Модель, которую мы будем строить, имеет средний уровень детализации и позволяет углубить знания по технике моделирования полигональных объектов, описывавшейся в предыдущих уроках.
На рис. 9.87 показан результат визуализации микроволновой печи, которую нам предстоит моделировать.
Минимум, который нам необходимо знать, прежде чем приступать к моделированию, – это габаритные размеры микроволновой печи. В нашем случае они составляют 325 х 280 х 455 мм. Начнем с моделирования корпуса. Для этого нужно построить примитив Box (Параллелепипед). Параметрами ширины, длины и высоты параллелепипеда будут габариты микроволновой печи (рис. 9.88).
Рис. 9.87. Результат визуализации микроволновой печи
Рис. 9.88. Свиток Parameters (Параметры) настроек примитива Box (Параллелепипед)
Расположите этот параллелепипед в начале координат.
СОВЕТ
Согласно хорошему тону в моделировании считается, что построение самостоятельных объектов должно вестись в нулевой отметке системы координат. Такое расположение модели бывает полезным для создания симметричных копий объекта или просто привязки к координатной сетке.
Построенный объект можно переместить в начало координат достаточно простым способом. Для этого нужно выделить объект и, активизировав инструмент Select and Move (Выделить и переместить)
на главной панели инструментов, щелкнуть правой кнопкой мыши на стрелках, расположенных справа от полей X, Y и Z в нижнем поле экрана (рис. 9.89). В результате этих действий все значения параметров станут равны 0.
Рис. 9.89. Строка состояния с координатами положения объекта в пространстве
Дальнейшее редактирование параллелепипеда рассмотрим ниже, а пока продолжим моделирование. Построим улучшенный примитив Chamfer Box (Параллелепипед с фаской), который будет выступать в качестве базовой формы для лицевой панели микроволновой печи. Чтобы его создать, воспользуемся командой главного меню Create ► Extended Primitives ► Chamfer Box (Создание ► Улучшенные примитивы ► Параллелепипед с фаской). Его размеры должны быть меньше габаритов корпуса, а его грани – немного закруглены. На рис. 9.90 представлен сам объект и его размеры.
Рис. 9.90. Объект ChamferBox (Параллелепипед с фаской) (слева) и его параметры (справа)
Обратите внимание на то, что параметр Width Segs (Сегментов по ширине) стал равен 3, а Fillet Segs (Сегментов закругления) – 10. Это объясняется необходимостью увеличения количества полигонов для дальнейшего редактирования объекта.
Параметрические свойства обоих объектов нам больше не понадобятся, и их можно конвертировать в Editable Poly (Редактируемая полигональная поверхность). Это проще всего сделать, щелкнув на объекте правой кнопкой мыши и выбрав в контекстном меню строку Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
Для дальнейшей работы нам понадобится только объект с именем ChamferBox01, который мы продолжим редактировать на уровне подобъектов. Следовательно, корпус микроволновой печи, построенный ранее (то есть объект Box01), необходимо спрятать. Для этого достаточно выделить его, щелкнуть на нем правой кнопкой мыши и выбрать пункт контекстного меню Hide Selection (Спрятать выделенное).
Продолжим моделирование. Выделите ChamferBox01 и перейдите на уровень редактирования полигонов. В окне проекции Left (Слева) выделите закругление, расположенное со стороны корпуса (рис. 9.91), и удалите его.
Таким образом, мы уменьшим общее количество полигонов в сцене и немного упростим работу с объектом.
Закруглим верхнюю и нижнюю части лицевой панели для придания ей нужной формы. Для изменения формы объекта перейдите на уровень редактирования вершин и выделите в окне проекции Left (Слева) два внутренних горизонтальных ряда вершин (рис. 9.92).
Рис. 9.91. Полигоны, выделенные для удаления
Рис. 9.92. Внутренние вершины, выделенные для редактирования
Раскройте свиток Soft Selection (Плавное выделение) и установите флажок Use Soft Selection (Использовать плавное выделение). Параметрам Falloff (Спад) и Pinch (Сужение) задайте значения, равные 13 и 1 соответственно (рис. 9.93).
ПРИМЕЧАНИЕ
Если вы использовали иные размеры микроволновой печи, то вам придется задать другие значения параметров плавного выделения. Обратите внимание на то, чтобы самые крайние вершины остались синего цвета – это означает, что они не будут задействованы в трансформациях.
Щелкните на кнопке Select and Uniform Scale (Выделить и равномерно масштабировать)
главной панели инструментов и маштабируйте выделенные вершины по оси Y (по вертикали) до 93 % (увидеть процент масштабирования можно в поле, расположенном рядом с параметром Y в строке состояния) (рис. 9.94).
Рис. 9.93. Настройки свитка Soft Selection (Плавное выделение) и отображение выделенных вершин в окне проекции
Рис. 9.94. Скругление, полученное при помощи масштабирования вершин
Теперь необходимо разделить лицевую панель на две части: дверцу и панель управления. Именно для этого при построении объекта Chamfer Box (Параллелепипед с фаской) мы задали два разбиения по ширине. Воспользуемся ими.
Перейдите на уровень редактирования вершин. В окне проекции Front (Спереди) выделите и переместите левый вертикальный внутренний ряд вершин так, чтобы он оказался на расстоянии 3-4 мм от правого. Это и будет то расстояние, которое образуется между дверцей и панелью управления. Выделите оба вертикальных ряда и переместите их немного вправо, так, чтобы они находились на расстоянии 1/4 от правого края (рис. 9.95).
Рис. 9.95. Положение внутренних рядов вершин
Чтобы завершить создание шва, необходимо выполнить еще несколько простых операций.
1. Перейдите на уровень редактирования полигонов и выделите полигоны между двумя вертикальными рядами вершин, которые только что редактировались.
2. В свитке Edit Polygons (Редактирование полигонов) щелкните на кнопке рядом с Extrude (Выдавливание).
3. Параметру Extrusion Height (Высота выдавливания) открывшегося окна Extrude Polygons (Выдавливание полигонов) задайте значение, равное -17, после чего нажмите OK (рис. 9.96).
Не снимая выделения с полигонов, активизируйте окно проекции Front (Спереди), щелкнув на нем правой кнопкой мыши. В свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке View Align (Выровнять по окну), в результате чего полигоны выровняются в плоскости проекции (рис. 9.97).
СОВЕТ
Еще одним способом выравнивания полигонов в одной плоскости является команда Make Planar (Привести к плоскости) из свитка Edit Geometry (Редактирование геометрии).
Рис. 9.96. Полигоны, выдавленные при помощи команды Extrude (Выдавливание)
Рис. 9.97. Выровненные в плоскости полигоны
Дальнейшее редактирование объекта будет относиться к его левой части, то есть к дверце, поэтому можно спрятать все лишние элементы. Для этого на уровне редактирования полигонов выделите часть объекта, относящуюся к панели управления, и только что построенный шов, а затем щелкните на кнопке Hide Selected (Спрятать выделенное) в свитке Edit Geometry (Редактирование геометрии).
Продолжим моделирование. Дверца имеет прямоугольное окошко с закругленными углами – его нам сейчас и предстоит строить. Однако сначала необходимо создать шаблон, по которому будет выполняться построение. Это достаточно просто выполнить: в окне проекции Front (Спереди) постройте прямоугольник при помощи команды Create ► Shapes ► Rectangle (Создание ► Формы ► Прямоугольник) и в свитке Parameters (Параметры) задайте значения параметров, показанные на рис. 9.98.
Рис. 9.98. Расположение прямоугольника относительно дверки микроволновой печи (слева) и его параметры (справа)
Сейчас, имея шаблон формы окна дверцы, можно сделать соответствующие разрезы на фронтальной плоскости панели. Для этого перейдите на уровень редактирования полигонов и выделите большой внутренний полигон (позади прямоугольника), а затем щелкните на кнопке Slice Plane (Секущая плоскость) в свитке Edit Geometry (Редактирование геометрии). В результате кнопка выделится цветом, а в окнах проекций появится секущая плоскость. При помощи инструментов поворота и перемещения расположите секущую плоскость в вертикальной плоскости напротив правой стороны прямоугольника (рис. 9.99), после чего щелкните на кнопке Slice (Сечение).
Переместите секущую плоскость к левой стороне прямоугольника и выполните аналогичный разрез. Поверните секущую плоскость в горизонтальном направлении и проделайте эти же операции над верхней и нижней сторонами прямоугольника. В результате центральный полигон будет иметь четыре новых разреза (рис. 9.100).
Для скругления углов необходимо перейти на уровень редактирования вершин и выделить четыре угловые вершины, образованные новыми разрезами. После этого в свитке Edit Vertices (Редактирование вершин) следует щелкнуть на кнопке, расположенной рядом с Chamfer (Фаска). Параметру Chamfer Amount (Величина фаски) открывшегося окна Chamfer Vertices (Фаска вершин) задайте такое значение, чтобы линия, образованная новыми вершинами, касалась закругления сплайнового прямоугольника (рис. 9.101).
Рис. 9.99. Положение секущей плоскости относительно прямоугольника
Рис. 9.100. Разрезы, выполненные в средней части дверцы
Рис. 9.101. Новые вершины, образованные при помощи инструмента Chamfer (Фаска)
Щелкните на кнопке Apply (Применить) и задайте такое новое значение параметру Chamfer Amount (Величина фаски), чтобы новые образованные отрезки вновь касались кривой шаблона (рис. 9.102).
Рис. 9.102. Новые точки, образующие угол
При желании на данном этапе моделирования можно не изменять количество вершин. Однако если вы хотите получить более сглаженное закругление угла, то необходимо увеличить количество разбиений.
Построив закругления, можно сохранить полученное расположение вершин. Однако я предпочитаю иметь более упорядоченную и оптимизированную геометрию, поэтому, используя команду Target Weld (Объединить целевую) из свитка Edit Vertices (Редактирование вершин), я соединил все свободные вершины в угловой точке (рис. 9.103).
Рис. 9.103. Угол после редактирования вершин
ВНИМАНИЕ
Хочу напомнить, что все это время мы работали с точками одновременно в четырех углах лицевой панели двери.
Для продолжения формирования окна в дверце микроволновой печи необходимо выдавить построенный полигон. Для этого перейдите на уровень редактирования полигонов и выделите большой центральный полигон с закругленными углами, после чего примените к нему команду Extrude (Выдавливание) из свитка Edit Polygons (Редактирование полигонов) с величиной выдавливания 10-20 мм (рис. 9.104). После выдавливания выделенный полигон можно удалить, создав таким образом сквозное отверстие, которое впоследствии закроем плоскостью с текстурой решетки и стекла.
Создавая модели окружающих нас предметов, мы стараемся сделать их максимально похожими на оригиналы, но часто забываем о мелочах, которые усиливают такое сходство при визуализации. В жизни почти нет предметов с абсолютно ровными и острыми углами. То же самое касается окна в дверце микроволновой печи. Если не оставлять края ровными, а сделать фаску, то при визуализации такая форма значительно выиграет. В этом месте получатся блики, которые подчеркнут геометрию.
Рис. 9.104. Формирование углубления для окна
Для получения фаски необходимо перейти на уровень редактирования ребер и выделить все ребра, образующие внешний край отверстия.
СОВЕТ
Чтобы быстро выделить все ребра по кругу, можно выделить одно ребро, а затем в свитке Selection (Выделение) щелкнуть на кнопке Loop (Петля). В результате выделятся сразу все ребра, расположенные по периметру углубления.
В свитке Edit Edges (Редактирование ребер) щелкните на кнопке рядом с Chamfer (Фаска) и задайте параметру Chamfer Amount (Величина фаски) появившегося окна значение, равное 1,5. Щелкните на кнопке Apply (Применить), а затем повторите создание фаски, выбрав значение, равное 0,5. Таким образом, вместо одного ребра, формирующего угол, вы получите четыре (рис. 9.105).
Сформировав фаску, можно считать работу над дверцей законченной. Теперь следует перейти к моделированию панели управления, расположенной в правой части фасада микроволновой печи. Для этого необходимо открыть спрятанную ранее часть объекта и описанным выше способом спрятать отредактированную дверцу.
ПРИМЕЧАНИЕ
Напомню, что спрятать выделенные объекты можно при помощи кнопок Hide Selected (Спрятать выделенное) из свитка Edit Geometry (Редактирование геометрии), а отобразить все спрятанные объекты – используя кнопку Unhide All (Отобразить все).
Рис. 9.105. Фаска, сформированная при помощи инструмента Chamfer (Фаска)
На панели управления микроволновой печи находятся ручки управления таймером и мощностью, а также кнопка для открывания двери. Смоделируем их.
Как и в случае с окном дверцы, предварительно построим шаблоны из стандартных форм, по которым будем проводить моделирование. Для этого нам понадобятся два сплайна Circle (Окружность) радиусом 27 мм и один сплайн Rectangle (Прямоугольник) c закругленными углами (рис. 9.106).
Рис. 9.106. Расположение сплайнов на панели управления (слева) и параметры прямоугольника (справа)
Моделирование углублений для ручек управления и кнопки открывания дверцы начнем с построения разрезов секущей плоскостью.
ПРИМЕЧАНИЕ
Мы не собираемся анимировать создаваемый объект, поэтому можно упростить моделирование и не строить отдельные объекты (например, кнопку открывания дверцы), а лишь имитировать их.
Прежде чем выполнять разрезы секущей плоскостью, перейдите на уровень редактирования полигонов и выделите центральный полигон, а в свитке Edit Geometry (Редактирование геометрии) нажмите кнопку Slice Plane (Секущая плоскость). В окне проекции Front (Спереди) разместите секущую плоскость так, чтобы она совпадала с одной из сторон прямоугольника, затем щелкните на кнопке Slice (Сечение) для создания разреза. Повторите аналогичные действия для оставшихся сторон прямоугольника (рис. 9.107).
После этого сделайте еще три горизонтальных разреза по обе стороны от окружностей и между ними (рис. 9.108).
Рис. 9.107. Центральный полигон, разрезанный для построения кнопки открывания двери
Рис. 9.108. Расположение горизонтальных разрезов
ВНИМАНИЕ
Первым делается разрез между окружностями для того, чтобы определить расстояние от разреза до края окружности. Именно на такое расстояние необходимо сместиться от внешнего края окружности при втором и третьем разрезах.
Закругления вокруг кнопки открывания двери строятся аналогично тому, что мы уже делали на дверце, поэтому лишь напомню последовательность выполнения операций.
1. Перейдите на уровень редактирование вершин.
2. Выделите четыре угловые вершины и дважды (можно и больше, если хотите получить более сглаженное закругление) выполните команду Chamfer (Фаска).
3. При желании отредактируйте положение образованных вершин так, чтобы они сходились в одной или двух точках угла (рис. 9.109).
Рис. 9.109. Расположение граней, формирующих кнопку открывания двери
Кнопка, которую мы создаем, имеет небольшое декоративное углубление в середине. Для его моделирования нам нужно построить ребра во внутренней части кнопки. Горизонтальные ребра выполним при помощи команды Connect (Соединенные) из свитка Edit Vertices (Редактирование вершин). Для этого необходимо выделить две горизонтальные точки (рис. 9.110) и щелкнуть на кнопке Connect (Соединенные). Проделайте такую же операцию и с двумя другими горизонтальными точками во внутренней части кнопки.
В вертикальной плоскости нам не удастся применить команду Connect (Соединенные), потому что между точками проходят ребра. По этой причине воспользуемся инструментом Cut (Вычитание) из свитка Edit Geometry (Редактирование геометрии) и дважды разрежем внутреннее пространство по вертикали (рис. 9.111).
Для формирования углубления понадобится еще некоторое количество ребер. Сделаем это в три приема.
1. Выделите внутренний полигон, образованный разрезами, и в свитке Edit Polygons (Редактирование полигонов) щелкните на кнопке рядом с Inset (Смещение внутрь). В появившемся окне задайте параметру Inset Amount (Величина смещения) значение 3.
Рис. 9.110. Внутренние вершины, соединенные при помощи команды Connect (Соединенные)
Рис. 9.111. Разрезы, выполненные в вертикальной плоскости
2. Не снимая выделения с построенного полигона, щелкните на кнопке, расположенной рядом с Tessellate (Разбиение) в свитке Edit Geometry (Редактирование геометрии). В открывшемся окне установите переключатель в положение Face (Грани) и щелкните на кнопке OK (рис. 9.112).
Рис. 9.112. Дополнительные ребра внутри клавиши
3. Сдвиньте выделенные полигоны на маленькое расстояние внутрь, чтобы образовалось небольшое прямоугольное выдавливание.
При выделенных полигонах щелкните дважды на кнопке Grow (Увеличить) в свитке Selection (Выделение) для увеличения выделения до границ контура кнопки. После этого щелкните правой кнопкой на объекте и выберите в контекстном меню строку Convert to Edge (Преобразовать в ребра). Чтобы активными остались только внешние границы выделения, удерживая нажатой клавишу Alt, снимите выделение с внутреннего пространства. Далее примените к выделенным ребрам команду Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 0,8 (рис. 9.113).
Далее необходимо сделать углубление по периметру кнопки – создать шов между клавишей и корпусом. Выполнить это совсем просто: достаточно выделить внутренние полигоны, образованные построенными ребрами, и применить к ним команду Extrude (Выдавливание) из свитка Edit Polygons (Редактирование полигонов) с высотой выдавливания, равной –5 мм (рис. 9.114).
После выдавливания вернитесь на уровень редактирования ребер (у вас должны остаться выделенными ребра по обе стороны шва) и создайте для выделенных ребер закругление, используя все тот же инструмент Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 0,15. Это позволит получить закругления на краях, а следовательно, и более реалистичный вид модели после визуализации (рис. 9.115).
Рис. 9.113. Применение команды Chamfer (Фаска) к выделенным ребрам
Рис. 9.114. Полигоны, выдавленные в области шва
СОВЕТ
Время от времени выполняйте тестовую визуализацию моделируемого объекта – это поможет оперативно выявить возможные ошибки.
Рис. 9.115. Визуализированная модель передней панели микроволновой печи на данном этапе моделирования
Займемся отверстиями, в которых будут находиться ручки управления. Несмотря на то что создание окружностей может показаться сложным, сделать их достаточно легко. Для этого в очередной раз обратимся к инструменту Chamfer (Фаска), но прежде нам необходимо провести небольшую подготовительную работу – разделить полигоны внутри будущих отверстий.
Для создания дополнительных ребер внутри полигонов выполните следующие действия.
1. Перейдите на уровень редактирования полигонов и выделите два полигона, расположенных позади сплайнов.
2. В свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке, находящейся рядом с Tessellate (Разбиение).
3. В открывшемся окне Tessellate Selection (Разбиение выделения) установите переключатель в положение Face (Грани) и щелкните на кнопке OK.
В результате этих операций каждый полигон будет разделен на четыре части (рис. 9.116).
Перейдите на уровень редактирования вершин и выделите две вершины, находящиеся в середине окружностей. После этого примените к ним инструмент Chamfer (Фаска) с такой величиной параметра Chamfer Amount (Величина фаски), чтобы образовавшиеся ребра по меньшей стороне (в нашем случае боковые) касались сплайнов окружности (рис. 9.117).
Рис. 9.116. Разбиение полигонов командой Tessellate (Разбиение)
Рис. 9.117. Положение вершин после применения инструмента Chamfer (Фаска)
Для продолжения деления ребер при помощи инструмента Chamfer (Фаска) необходимо привести положение сторон внутренних полигонов к такому состоянию, при котором все четыре ребра внутренних полигонов будут соприкасаться со сторонами сплайна окружности. Боковые стороны объекта удовлетворяют такому требованию, поэтому остается скорректировать положение вершин по вертикали. Для этого выделите четыре вершины, относящиеся к одной из окружностей, и при помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать)
масштабируйте их по вертикали. После этого выполните те же операции и для второй окружности (рис. 9.118).
Рис. 9.118. Положение скорректированных вершин
Перейдите снова на уровень редактирования вершин и, выделив все восемь вершин, которые образовались после применения инструмента Chamfer (Фаска), повторите создание фаски от трех до четырех раз (в зависимости от того, какая детализация вам необходима) (рис. 9.119).
Рис. 9.119. Окружность, образованная при помощи инструмента Chamfer (Фаска)
СОВЕТ
Чтобы строящаяся окружность была правильной формы, необходимо при делении вершин с помощью инструмента Chamfer (Фаска) придерживаться двух правил: ребра, образованные делением вершин, должны касаться шаблона окружности, а вершины – по возможности находиться на одинаковом расстоянии друг от друга.
На рис. 9.120 показан фрагмент панели управления после объединения вершин при помощи команды Target Weld (Объединить целевую) из свитка Edit Vertices (Редактирование вершин).
Рис. 9.120. Положение вершин после оптимизации
ПРИМЕЧАНИЕ
Напоминаю, что это необязательные действия, но я предпочитаю по возможности оптимизировать геометрию и упорядочивать расположение вершин.
В дальнейшем нам понадобится cкруглить границы окружности, поэтому позаботимся о выделении необходимых ребер заранее следующим образом.
1. Перейдите на уровень редактирования полигонов и в окне проекции Front (Спереди) выделите два полигона в центре окружностей.
2. Щелкните на выделении правой кнопкой мыши и в контекстном меню выберите строку Convert to Edge (Преобразовать в ребра). В результате этих операций выделятся ребра по границам выделенных ранее полигонов.
3. Сохраните выделение, чтобы можно было работать с ним в будущем, и объедините выделенные ребра в именованную группу. Для этого укажите любое имя (лучше значимое, то есть такое, которое в будущем позволит быстро вспомнить, что вы выделяли) в поле Named Selection Sets (Название выделенной области) главной панели инструментов (рис. 9.121), после чего подтвердите сделанные изменения нажатием клавиши Enter.
Рис. 9.121. Раскрывающийся список Named Selection Sets (Название выделенной области)
Сейчас можно вернуться к выделенным полигонам и продолжить их редактирование. Нам необходимо выдавить окружности с целью получения углубления под ручками регулировки уровня мощности и таймером. Чтобы это сделать, достаточно воспользоваться инструментом Extrude (Выдавливание) из свитка Edit Polygons (Редактирование полигонов) с величиной выдавливания, равной –5 (рис. 9.122).
Рис. 9.122. Выдавливание внутренних полигонов окружностей при помощи команды Extrude (Выдавливание)
Как и в предыдущих случаях, на краях образованных углублений необходимо создать фаску. Для этого перейдите на уровень редактирования ребер. Если у вас снялось выделение с ребер, образующих верхний край углублений, то воспользуйтесь именованным списком, а затем примените к выделению инструмент Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 0,6 (рис. 9.123).
Приступим к моделированию ручек управления, например при помощи примитива Cylinder (Цилиндр). Он должен иметь размеры, позволяющие расположить его внутри образованного углубления, и количество сторон, близкое к тому количеству ребер, которое получилось на границе образованных углублений (рис. 9.124).
Рис. 9.123. Визуализация выполненных углублений для ручек управления
Рис. 9.124. Положение цилиндра и его параметры
Дальнейшая работа предполагает редактирование объекта на уровне подобъектов, поэтому необходимо конвертировать цилиндр в Editable Poly (Редактируемая полигональная поверхность). Кроме того способа конвертации, который мы применяли ранее (использование контекстного меню объекта), эту же операцию можно выполнить при помощи стека модификаторов. Для этого щелкните правой кнопкой мыши на типе объекта в стеке модификаторов и в появившемся списке выберите Editable Poly (Редактируемая полигональная поверхность).
Перейдите на уровень редактирования вершин и в свитке Selection (Выделение) установите флажок Ignore Backfacing (Без обратной ориентации). Это позволит выбирать только вершины, находящиеся в лицевой части объекта.
Чтобы построить ручку необходимой формы, нам понадобится добавить новые ребра цилиндру в его фронтальной части. Для этого будем выделять попарно противоположные вершины, расположенные в вертикальной плоскости, и соединять их при помощи команды Connect (Соединенные) из свитка Edit Vertices (Редактирование вершин). Нам понадобится соединить все вершины в вертикальной плоскости, кроме двух пар, расположенных по краям (рис. 9.125).
Рис. 9.125. Ребра, добавленные командой Connect (Соединенные)
Для дальнейшего редактирования объекта нужны еще три горизонтальных разреза в середине цилиндра (рис. 9.126), которые необходимо выполнить при помощи инструмента Cut (Вычитание) из свитка Edit Geometry (Редактирование геометрии).
Разрезав объект по горизонтали, перейдите на уровень редактирования полигонов. В окне проекции Front (Спереди) выделите два средних ряда полигонов, начиная со второго и заканчивая предпоследним, а затем примените к выделенным полигонам команду Extrude (Выдавливание) из свитка Edit Polygons (Редактирование полигонов) на величину выдавливания, равную 1,5 мм (рис. 9.127).
Теперь изменим положение вершин в пространстве. Нам необходимо расположить передний ряд только что построенных полигонов так, чтобы он образовывал полукруг (рис. 9.128). Легче всего это сделать в окне проекции To p (Сверху), выделяя попарно вершины и двигаясь от края к центру.
Рис. 9.126. Горизонтальные разрезы объекта
Рис. 9.127. Полигоны, выдавленные в средней части ручки
СОВЕТ
Если у вас недостаточно опыта, вы можете воспользоваться шаблоном, по которому можно выравнивать вершины. В данном случае необходимо построить шаблон окружности в окне проекции Тор (Сверху).
Рис. 9.128. Расположение вершин в окне проекции Top (Сверху)
Немного отредактируем вершины, находящиеся в средней части образованного выступа ручки. Для этого выполните следующие действия.
1. В окне проекции Front (Спереди) выделите средний ряд вершин выступающих вперед полигонов.
2. В окне проекции To p (Сверху) сместите их по координате Y на -2.
3. Вернитесь в окно проекции Front (Спереди) и выделите два внешних ряда вершин выступающих вперед полигонов.
4. При помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать) выполните масштабирование по оси X на величину 95 % (рис. 9.129). Это необходимо сделать для того, чтобы выступающая часть ручки получила требуемое закругление.
Осталось только сделать фаску по краю ручки и разбить геометрию. Чтобы сделать первое, перейдите на уровень редактирования ребер и выделите одно из ребер, лежащих на внешней окружности ручки управления, а затем щелкните на кнопке Loop (Петля) из свитка Selection (Выделение). В результате выделятся все ребра, лежащие на окружности. Примените инструмент Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 0,6.
Чтобы разбить геометрию и получить сглаженный результат, необходимо в свитке Subdivision Surface (Поверхности с разбиением) установить флажок Use NURMS Subdivision (Использовать NURMS-разбиение) и задать количество разбиений равным 2 (рис. 9.130).
Копируйте созданную ручку, используя команду главного меню Edit ► Clone (Правка ► Клонировать), и разместите ее во втором отверстии панели управления. Таким образом, мы закончили моделирование лицевой панели микроволновой печи.
Рис. 9.129. Форма ручки управления после редактирования вершин
Рис. 9.130. Готовая ручка панели управления
Вернемся к самому началу. Еще нужно создать модель корпуса. Параллелепипед для него уже построен. Командой Unhide All (Отобразить все) контекстного меню откройте все ранее спрятанные объекты. Выделите параллелепипед, построенный для корпуса, и преобразуйте его в Editable Poly (Редактируемая полигональная поверхность). Перейдите на уровень редактирования ребер и в окне проекции Top (Сверху) выделите два ребра, расположенных по бокам объекта в верхней его части. Дважды примените к выделенным ребрам фаску со значением параметра Chamfer Amount (Величина фаски), равным 8 и 2,5 (рис. 9.131).
Рис. 9.131. Фаска в верхней части корпуса
Если бы дверца была непрозрачной, то моделирование корпуса на этом можно было бы считать законченным, но в данном случае необходимо выдавить фронтальный полигон, чтобы в корпусе образовалось внутреннее пространство. Для этого перейдите на уровень редактирования полигонов и в окне проекции Front (Спереди) выделите большой полигон лицевой части корпуса, после чего выполните команду Inset (Смещение внутрь) с величиной смещения 3,5 мм (рис. 9.132).
Используя инструмент Extrude (Выдавливание) из свитка Edit Polygons (Редактирование полигонов) с величиной выдавливания, равной -320 мм, сформируйте внутреннее пространство корпуса микроволновой печи.
Чтобы закончить моделирование, постройте плоскость, закрывающую окно двери. Для этого выполните команду Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость).
На рис. 9.133 представлена окончательная модель микроволновой печи.
ПРИМЕЧАНИЕ
Для анализа готовой модели микроволновой печи вы можете загрузить файл сцены из папки Examples\Глава 09\Microwave прилагаемого к книге DVD. Файл называется microwave.max.
Рис. 9.132. Создание смещения
Рис. 9.133. Результат визуализации готовой модели микроволновой печи
В следующей главе мы рассмотрим принципы текстурирования микроволновой печи с использованием процедурных карт и идентификаторов материала.
Комплексный подход к моделированию: создание крана для ванной
Я уже неоднократно говорил, что любое моделирование должно начинаться с анализа будущей модели. Самым простым (и, наверное, самым правильным) способом анализа является попытка мысленно разделить сложную модель на части, для каждой из которых можно применить свой способ моделирования. Именно такой подход к моделированию я называю комплексным.
Рассмотрим простой пример – нам необходимо создать модель магнитофона. Выполнив предварительный анализ, можно предположить, что большинство частей являются стандартными (Standard) или улучшенными (Extended) примитивами. Некоторые детали магнитофона могут потребовать более сложного подхода к моделированию, например создания составных объектов (Compound Objects). И лишь в редких случаях, допустим, когда нужно иметь полный контроль над геометрией, моделирование идет за счет наращивания полигонов или уточнения формы на уровне подобъектов по пути «от простого к сложному».
Если обобщить вышесказанное, то можно сделать вывод, что комплексный подход к моделированию – это такой подход, при котором сложная модель мысленно разбивается на более простые геометрические формы, для моделирования которых применяются различные средства (использование примитивов, полигональное моделирование, NURBS-моделирование, лофт-моделирование и т. д.).
В данном разделе рассмотрим комплексный подход к моделированию на примере крана для ванной (рис. 9.134).
Рис. 9.134. Визуализация модели крана для ванной
Первое, что я сделал, прежде чем начать моделирование, – пошел в ванную комнату и произвел необходимые замеры.
СОВЕТ
Если у вас есть возможность получить точные размеры объекта, который вы собираетесь моделировать, никогда не пренебрегайте такой возможностью – это поможет не только получить более реалистичную модель, но и сократить время моделирования.
Замеры получены, с чего начинать? Начинать можно с любой детали (если у вас есть размеры, то вам нет необходимости привязываться к базовой геометрии). Я предпочитаю начинать моделирование с основных форм, постепенно «наращивая» детали. Воспользуемся именно этим способом.
Начнем с корпуса крана. Он имеет довольно сложную форму. Казалось бы, здесь не обойтись без NURBS– или Surface-моделирования либо без использования составного объекта. Однако, как показала практика, самым простым способом моделирования в данном случае является полигональное с последующим разделением полигонов.
ПРИМЕЧАНИЕ
В процессе написания данного раздела я пробовал создавать корпус при помощи полигонального, NURBS– и Surface-моделирования. В результате этих экспериментов сделал вывод: если вам не нужны точные размеры и идеальная форма, то быстрее и проще всего работать с полигональной моделью.
Построим объект Box (Параллелепипед) с параметрами, представленными на рис. 9.135.
Рис. 9.135. Параллелепипед (слева) и его параметры (справа)
Обратите внимание на то, что количество сегментов по длине параллелепипеда установлено равным 7, что обусловлено количеством точек, в которых объект меняет свою форму.
Построение параллелепипеда и создание нужного количества сегментов – это все, что нам нужно от стандартного примитива. Далее необходимо конвертировать объект в Editable Poly (Редактируемая полигональная поверхность), для чего щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выполните команду Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
Перейдите на уровень редактирования подобъектов Polygon (Полигон)
выделите четыре полигона – крайние фронтальные и соответствующие им полигоны с противоположной стороны объекта (рис. 9.136).
Рис. 9.136. Выделенные полигоны
После выделения полигонов перейдите на вкладку Modify (Изменить) командной панели и в свитке Edit Polygons (Редактирование полигонов) щелкните на кнопке, расположенной рядом с кнопкой Inset (Смещение внутрь). В результате появится окно Inset Polygons (Сместить полигоны внутрь), в котором задайте параметру Inset Amount (Величина смещения) значение, равное 0,5 (рис. 9.137). Подтвердите внесенные изменения, щелкнув на кнопке OK.
Сейчас можно включить NURMS-сглаживание и посмотреть результат выполненного редактирования. Напомню, что сделать это можно, установив в свитке Subdivision Surface (Поверхности с разбиением) флажок Use NURMS Subdivision (Использовать NURMS-разбиения). В области Display (Отображение) задайте параметру Iteration (Количество итераций) значение, равное 2 (рис. 9.138).
Рис. 9.137. Окно Inset Polygons (Сместить полигоны внутрь)
Рис. 9.138. Деталь крана после применения NURMS-разбиения
Далее необходимо добавить заготовке небольшую «бочковатость» по краям. Именно в этих местах будут крепиться вентили кранов горячей и холодной воды. Сделать это довольно просто: достаточно разрезать три торцевых полигона с двух сторон. Чтобы выполнить такие разрезы, сделайте следующее.
1. На уровне редактирования полигонов выделите шесть полигонов (по три с каждой стороны), образующих торцы детали.
2. В свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке Slice Plane (Секущая плоскость) и в окнах проекций разместите секущую плоскость так, чтобы она, располагаясь вертикально, проходила через середину детали (рис. 9.139).
Рис. 9.139. Положение секущей плоскости
3. Нажмите кнопку Slice (Сечение) для создания новых граней, после чего щелкните на кнопке Slice Plane (Секущая плоскость), чтобы выключить режим секущей плоскости.
4. Перейдите на уровень редактирования вершин и сдвиньте наружу на расстояние 3 мм по две построенные вершины торцевых полигонов.
На рис. 9.134 видно, что корпус крана имеет заметное утолщение в середине и некоторое сужение ближе к краям. Изменить форму таким образом довольно просто: достаточно передвинуть и масштабировать группы вершин.
ВНИМАНИЕ
Проводить трансформации необходимо, именно выделяя группу и масштабируя ее относительно центра, а не перемещая отдельные вершины (в противном случае будет сложно сохранить симметрию).
На рис. 9.140 показана модель после того, как вершины в средней части были масштабированы и перемещены.
Рис. 9.140. Модель после выполненных трансформаций
Обратите внимание, что в местах будущего крепления кранов геометрия полученного объекта не представляет собой правильную окружность. Это как раз тот случай, о котором я говорил в самом начале раздела, имея в виду то, что метод полигонального моделирования имеет относительную точность форм.
Немного улучшить форму позволит еще одно смещение ребер внутрь четырех полигонов, с которыми мы работали в начале раздела. Выделите их снова и еще раз примените к ним Inset (Смещение внутрь), но уже с большим значением параметра Inset Amount (Величина смещения), например равным 5 (рис. 9.141).
Рис. 9.141. Окружности, полученные после второго смещения граней
Переходим к моделированию средней части корпуса крана. В этом месте к корпусу крепятся ручка переключения душа, кран и стойка для размещения душа. Нам необходимо создать утолщения в месте крепления этих элементов. Два из них (вертикальные) имеют один размер, а фронтальное (для крепления ручки) немного меньший. Логично сначала построить их одинаковыми, а потом один из них уменьшить.
Для придания детали нужной формы выделите три средних полигона (два вертикальных и один фронтальный) и примените к ним Bevel (Скос) из свитка Edit Polygons (Редактирование полигонов), как показано на рис. 9.142.
Рис. 9.142. Начало формирования средней части
Сразу же, не снимая выделения с выдавленных полигонов, еще раз примените Bevel (Скос) с небольшим значением параметра Height (Высота), завершив таким образом построение средней части корпуса крана (рис. 9.143).
Рис. 9.143. Создание еще одного скоса для выступающих частей корпуса крана
Осталось масштабировать часть корпуса крана, к которой будет крепиться ручка переключения на душ/кран. Воспользуйтесь для этого инструментом Select and Uniform Scale (Выделить и равномерно масштабировать).
На этом построение корпуса крана можно считать законченным (рис. 9.144).
Рис. 9.144. Окончательный вид корпуса крана
Перейдем к моделированию кранов. Сначала создадим крепление. Внешне оно напоминает гайку, у которой вытянута одна сторона. Думаю, что в данном случае самым простым способом моделирования будет использование Surface-поверхности.
Начнем с построения сплайнов. Для формы гайки лучше всего подойдет сплайн формы NGon (Многоугольник).
1. Выполните команду главного меню Create ► Shapes ► NGon (Создание ► Формы ► Многоугольник) и постройте в окне проекции Front (Спереди) многоугольник с шестью сторонами и радиусом 16 мм.
2. Создайте еще один шестиугольник радиусом 13 мм, в настройках которого установите флажок Circular (Окружность).
3. Выделите один из построенных многоугольников и преобразуйте его в Editable Spline (Редактируемый сплайн), а затем присоедините к нему второй многоугольник при помощи команды Attach (Присоединить).
4. Перейдите на уровень редактирования Segment (Сегмент), выделите все сегменты обоих сплайнов и разбейте их. Для этого задайте параметру, расположенному возле кнопки Divide (Разделить) в свитке Geometry (Геометрия), значение 1. Затем щелкните на кнопке Divide (Разделить) (рис. 9.145).
Рис. 9.145. Многоугольники с разделенными сегментами
Сплайны необходимо разбить для того, чтобы иметь возможность имитировать на гайке скос.
ВНИМАНИЕ
Первые вершины обоих сплайнов должны находиться на одной стороне (это важно для дальнейших построений, иначе произойдет скручивание поверхности объекта).
Скопируйте созданные сплайны, для чего перейдите на уровень подобъектов Spline (Сплайн) и в окне проекции To p (Cверху), удерживая нажатой клавишу Shift, переместите оба сплайна по координате Y на 10 мм. Кроме того, нам понадобится еще одна окружность меньшего диаметра, для построения копии которой выделите сплайн окружности и переместите его еще на 20 мм относительно предыдущих. Не снимая выделение, уменьшите его при помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать).
Теперь необходимо изменить форму двух шестигранников для соответствия их строящемуся объекту. Для этого выделите вершины, находящиеся в серединах сегментов (те, которые были построены путем разделения сегментов), и немного сместите их в противоположные стороны (рис. 9.146).
Рис. 9.146. Положение и форма сплайнов, подготовленных для создания модели гайки
После редактирования положения вершин шестигранников и размера окружностей можно переходить к построению поперечных сечений. В ранних версиях 3ds Max Cross Section (Поперечное сечение) существовала лишь в виде отдельного модификатора, но в последних версиях программы она стала частью редактора сплайнов. Воспользуемся ею для построения поперечных сечений и поверхности.
1. Выделите объект, состоящий из сплайнов, и перейдите к свитку Geometry (Геометрия) настроек объекта на командной панели. В области New Vertex Type (Тип новых вершин) установите переключатель в положение Smooth (Сглаживание).
ВНИМАНИЕ
Все построенные сплайны должны принадлежать одному объекту.
2. В свитке Geometry (Геометрия) нажмите кнопку Cross Section (Поперечное сечение), в результате чего она выделится цветом.
3. В окне проекции Left (Слева) щелкните на сплайне меньшего радиуса, затем на втором сплайне и на следующем за ним шестиграннике (рис. 9.147). Щелкните правой кнопкой мыши для завершения построения поперечных сечений.
Рис. 9.147. Поперечные сплайны для правой части гайки
4. В области New Vertex Type (Тип новых вершин) установите переключатель в положение Linear (Линейная) и продолжите построение поперечных сплайнов для оставшейся части объекта.
5. Создайте поверхность, для чего примените к объекту модификатор Surface (Поверхность), выполнив команду главного меню Modifiers ► Patch/Spline Editing ► Surface (Модификаторы ► Редактирование патчей/сплайнов ► Поверхность).
6. При необходимости в свитке Parameters (Параметры) настроек модификатора установите флажок Flip Normals (Обратить нормали).
После этого получится почти готовая гайка. Ей лишь недостает четкости граней. Это легко исправить, установив для этой части модели отдельную группу сглаживания. Для этого примените к объекту модификатор Edit Mesh (Редактирование поверхности), перейдите на уровень редактирования полигонов и выберите полигоны, расположенные между двумя шестиугольниками. В области Smoothing Groups (Сглаживание) свитка Surface Properties (Свойства поверхности) щелкните на кнопке Clear All (Очистить все).
СОВЕТ
При желании можно применить к объекту модификатор Shell (Раковина) для придания толщины.
В результате этих действий гайка примет окончательный вид (рис. 9.148).
Рис. 9.148. Готовая модель гайки
Теперь построим четыре гайки: три одинаковые, стандартные гайки и одну cо скосом, находящуюся у основания крана.
Их следует моделировать описанным выше способом (кроме того, вы можете немного изменить копию созданной гайки). По этой причине не стану повторяться, а лишь покажу, как должны выглядеть сплайны и готовая поверхность новых гаек (рис. 9.149).
Как видно из рис. 9.149, для этого типа гаек нужны пять сплайнов: четыре из них попарно зеркально отраженные и один (окружность меньшего диаметра) дублирован с масштабированием для придания утолщения на гайке (можно вместо этого использовать модификатор Shell (Раковина)). Две такие гайки будут располагаться с противоположной стороны корпуса крана для крепления к стене, а одна – в верхней части для крепления стойки (рис. 9.150).
Для нижней гайки характерно небольшое заужение геометрии к низу. Его можно получить, просто переместив последний сплайн на некоторое расстояние вниз и немного уменьшив его размер (рис. 9.151). Между нижней гайкой и корпусом должна располагаться втулка, роль которой в данном случае играет параметрический объект Cylinder (Цилиндр).
Рис. 9.149. Форма сплайнов малой гайки
Рис. 9.150. Корпус крана с гайками
Рис. 9.151. Модифицированная гайка нижней части крана
Прежде чем приступить к более сложному моделированию, построим два декоративных элемента, закрывающих места крепления крана к стене. В нашем случае это может быть либо объект, выполненный методом вращения (при помощи модификатора Lathe (Вращение)), либо просто немного деформированная половина сферы. Я решил воспользоваться вторым способом, как более простым. Согласно моим измерениям диаметр окружности «чашки» составляет 70 мм, соответственно, необходимо построить половину сферы (в настройках объекта Sphere (Сфера) установить флажок Hemisphere (Полусфера)) радиусом 35 мм и масштабировать ее по оси вращения (ось Z) (рис. 9.152).
Дальнейшее моделирование может показаться вам более сложным. Это объясняется тем, что моделировать придется при помощи NURBS. В 3ds Max это непростая процедура, так как есть некоторые ограничения, которые необходимо учитывать при моделировании. Возможно, у вас появится закономерный вопрос: «А зачем тогда пользоваться этой технологией, если все можно сделать при помощи полигонального моделирования?» Ответ прост: потому, что при правильном использовании форм, которые описываются неоднородными рациональными В-сплайнами (NURBS), результат окажется лучше (более сглаженные формы), к тому же его быстрее можно достичь.
Перейдем к моделированию кранов. По сути, это будут поверхности, созданные при помощи вращения кривых, с построения которых мы и начнем.
В окне проекции Top (Сверху) постройте NURBS-кривую размером 20 х 17 мм (рис. 9.153). Для этого воспользуйтесь командой Create ► NURBS ► CV Curve (Создание ► NURBS ► CV-кривая).
Рис. 9.152. Корпус крана с гайками и декоративными элементами
Рис. 9.153. CV-кривая, построенная в окне проекции Top (Cверху)
Перейдите на вкладку Modify (Изменение). Чтобы создать поверхность, примените к построенной кривой инструмент Create Lathe Surface (Создать поверхность вращением), расположенный на плавающей панели NURBS. В результате должен получиться объект, напоминающий по форме бочонок (рис. 9.154).
Теперь нужно создать еще один объект таким же способом, то есть вращением кривой профиля. На сей раз это будет кривая каплевидной формы, построенная при помощи CV Curve (CV-кривая) (рис. 9.155).
Рис. 9.154. Основание ручки (слева) и кнопка Create Lathe Surface (Создать поверхность вращением) на панели NURBS (справа)
Рис. 9.155. Форма кривой части ручки
После создания кривой примените к ней инструмент Create Lathe Surface (Создать поверхность вращением), расположенный на плавающей панели NURBS.
ПРИМЕЧАНИЕ
Неискушенному пользователю может показаться, что легче и привычнее сделать такой объект, используя стандартные способы построения сплайнов и применяя модификатор Lathe (Вращение), в настройках которого переключатель Output (Результат) установлен в положение NURBS. Такой подход вполне годится для объектов, которые не будут редактироваться как NURBS-поверхность. В противном случае могут возникнуть проблемы, способные при дальнейшем редактировании поверхности вызвать значительные затруднения или сбой в работе программы.
Продолжим моделирование. Теперь следует сделать три копии только что построенного объекта. Эти копии нужно будет расположить по периметру корпуса ручки при помощи инструмента Array (Массив), поэтому сначала необходимо установить опорную точку (Pivot Point) в середину построенного ранее корпуса. Чтобы это сделать, нужно перейти на вкладку Hierarchy (Иерархия) командной панели и нажать кнопку Pivot (Опора). В свитке Adjust Pivot (Настройка опоры) следует щелкнуть на кнопке Affect Pivot Only (Только опора) и переместить в окне проекции Front (Спереди) опорную точку в середину корпуса ручки (рис. 9.156).
Рис. 9.156. Опорная точка, размещенная в середине корпуса ручки
Теперь можно создать массив из построенной детали. Для этого выполните команду главного меню Tools ► Array (Инструменты ► Массив), в результате чего откроется окно, в котором необходимо установить параметры, как показано на рис. 9.157.
В результате у вас должны получиться три копии объекта, расположенные по периметру корпуса. Остается только добавить фаску, чтобы поверхности объектов, составляющих ручку крана, выглядели более естественно, плавно перетекая одна в другую. Но прежде, чем это делать, необходимо повернуть среднюю часть (корпус) на 45° (рис. 9.158). Это делается для того, чтобы шов, образованный кривой вращения (белая линия, идущая от центра), не попадал в места пересечения объектов, в противном случае возникнут проблемы с созданием фаски.
Сделайте копию средней части ручки и одной из пристыкованных деталей, чтобы впоследствии создать ручку переключения на душ/кран.
Переходим к созданию фаски. Прежде всего необходимо объединить все детали, относящиеся к ручке, в один объект. Для этого нужно выделить корпус (или любую другую деталь ручки) и, нажав в свитке General (Общие) кнопку Attach (При– соединить), выбрать в окне проекции все необходимые детали, относящиеся к ручке. Только после этого можно воспользоваться инструментом Create Fillet Surface (Создать поверхность-фаску)
плавающей палитры NURBS. Выделив инструмент создания фаски, щелкните на одном из внешних объектов ручки (в результате он изменит цвет), а затем на корпусе. В итоге получим фаску, параметры которой необходимо уточнить в свитке Fillet Surface (Поверхность-фаска). Задайте значения величины фаски при помощи параметров Start Radius (Начало радиуса) и End Radius (Конец радиуса) (у меня они равны 3,5). В областях Trim First Surface (Обрезать первую поверхность) и Trim Second Surface (Обрезать вторую поверхность) установите флажки Trim Surface (Обрезать поверхность) (рис. 9.159).
Рис. 9.157. Настройки, выполненные в окне Array (Массив)
Рис. 9.158. Взаимное расположение объектов, составляющих ручку
Рис. 9.159. Параметры фаски (справа) и сопряжение двух деталей, полученных с ее помощью (слева)
Возможно, при обрезании поверхности (Trim Surface) вам понадобится установить флажки Flip Trim (Обратить обрезание) или Flip Normals (Обратить нормали) – все будет зависеть от того, как вы построили поверхность и как ее рассчитывает программа.
Создание фаски необходимо повторить для всех деталей рукоятки крана. Чтобы закончить с этой деталью, добавим к фронтальной части улучшенный примитив OilTank (Цистерна) с небольшой фаской, выполненной при помощи выдавливания ребер. Для этого используем модификатор Edit Mesh (Редактирование поверхности) (рис. 9.160).
Ручка переключения на душ/кран делается из созданной ранее копии двух объектов. Это всего лишь немного модифицированная форма рычага переключения.
ПРИМЕЧАНИЕ
Напоминаю, что вы можете в любой момент перейти на уровень редактирования вершин и изменить форму кривой, использованной для тела вращения. Это можно сделать даже после создания фаски и обрезания поверхности.
Сейчас можно посмотреть на полученную модель крана в целом (рис. 9.161).
Прежде чем начинать моделирование стойки, которая представляет собой, пожалуй, самую сложную с точки зрения формы деталь крана, создадим трубку в его нижней части. Самый простой способ построения в данном случае – использование лофтинга с небольшим редактированием формы профиля.
Рис. 9.160. Готовая модель рукоятки крана
Рис. 9.161. Результат визуализации части крана
В окне проекции Left (Слева) постройте сплайн Line (Линия) длиной 360 мм и загибами на концах по 80 мм (это будет сплайн пути), а в окне проекции To p (Cверху) – окружность диаметром 18 мм для формы поперечного сечения (рис. 9.162).
Рис. 9.162. Форма сплайна пути
Чтобы получить лофт-объект, необходимо выделить сплайн пути и выполнить команду главного меню Create ► Compound ► Loft (Создание ► Составные объекты ► Лофтинговые). В результате на командной панели появятся настройки лофт-объекта. В свитке Creation Method (Метод создания) нажмите кнопку Get Shape (Взять форму) и в окне проекции To p (Сверху) щелкните на построенной ранее окружности. В результате у вас должен получиться объект в виде изогнутой трубки.
СОВЕТ
При необходимости можно скорректировать форму лофт-объекта редактированием вершин сплайна пути или радиуса окружности.
Но это еще не все. Нам нужно создать утолщение на конце трубки (в том месте, где крепится сетка фильтра). Это проще всего сделать при помощи редактирования деформации масштаба. Чтобы получить доступ к этим параметрам, щелкните на кнопке Scale (Масштаб) в свитке Deformations (Деформации) настроек лофт-объекта. В результате откроется окно Scale Deformation (Деформация масштаба). В нем необходимо добавить в самом конце шкалы (а соответственно, и на самом лофт-объекте) несколько точек и отредактировать их положение так, чтобы профиль кривой повторял форму наконечника трубки (рис. 9.163).
ПРИМЕЧАНИЕ
Более подробно о том, как работать с лофт-объектами, рассказано в разд. «Моделирование лофт-объектов» данной главы.
Рис. 9.163. Окно Scale Deformation (Деформация масштаба)
После всех вышеописанных операций должен получиться объект, показанный на рис. 9.164.
Рис. 9.164. Результат визуализации созданной части крана
Моделирование держателя для душа может вызвать определенные затруднения, поэтому рекомендую очень внимательно отнестись к этой части раздела.
Начнем с того, что уберем из сцены все объекты, кроме верхней гайки (она нам понадобится для того, чтобы иметь возможность привязаться к размеру ее внутреннего отверстия). В окне проекции To p (Сверху) постройте окружность с диаметром, соответствующим внутреннему диаметру гайки. После создания сплайна конвертируйте его в NURBS, для чего щелкните на нем правой кнопкой мыши и выполните команду Convert To ► Convert to NURBS (Преобразовать ► Преобразовать в NURBS) контекстного меню. Используя плавающую палитру инструментов NURBS, примените к окружности инструмент Create Extrude Surface (Создать поверхность выдавливанием)
на высоту (значение параметра Amount (Величина) настроек кривой на командной панели) 65 мм.
После выдавливания скопируйте созданный объект и поверните его на 90°. Таким образом получим ответвление в стойке для присоединения гибкого шланга (рис. 9.165).
Чтобы получить сглаженное соединение двух поверхностей, присоедините командой Attach (Присоединить) одну поверхность к другой и создайте между ними фаску, как это было описано выше для ручек. В результате у вас должно получиться основание держателя (рис. 9.166).
Рис. 9.165. Начало моделирования стойки
Рис. 9.166. Держатель после создания фаски
Перейдем к построению верхней части держателя. Ее форма является относительно сложной с точки зрения моделирования стандартными средствами, но можно воспользоваться небольшой хитростью – создать этот объект методом лофтинга.
В окне проекции Front (Спереди) постройте сплайн пути, а в окне Left (Cлева) – два сплайна поперечного сечения (рис. 9.167).
Создайте лофт-объект, для чего выделите сплайн пути и выполните команду Create ► Compound ► Loft (Создание ► Составные объекты ► Лофтинговые). В результате этих операций на командной панели появятся настройки лофт-объекта. В свитке Creation Method (Метод создания) нажмите кнопку Get Shape (Взять форму) и выберите в одном из окон проекций прямоугольник в качестве начальной формы поперечного сечения. После этого в свитке Path Parameters (Параметры пути) задайте параметру Path (Путь) значение, равное 5, затем, щелкнув на кнопке Get Shape (Взять форму), выберите прямоугольник еще раз. Продолжите формирование объекта, задав параметру Path (Путь) значение, равное 15, и выбрав модифицированный прямоугольник (с изогнутыми сторонами). Повторите эту же операцию для пути со значением 85 %. И наконец, последнее значение пути равно 95 % и в качестве формы пути используется правильный прямоугольник (рис. 9.168).
Рис. 9.167. Форма сплайнов пути и профиля в окне проекции фронтального вида (а) и вида слева (б)
Рис. 9.168. Лофт-объект, построенный в верхней части держателя душа
ПРИМЕЧАНИЕ
Возможно, при построении лофт-объекта у вас окажутся перевернутыми сплайны поперечных сечений. Чтобы это исправить, можно выделить форму поперечного сечения на уровне подобъектов Shape (Форма) лофт-объекта и поворачивать ее до правильного положения в пространстве.
Теперь необходимо изменить контуры объекта так, чтобы он стал больше похож на реальный держатель. Для этого воспользуемся деформацией масштабирования из свитка Deformations (Деформации). Щелкните на кнопке Scale (Масштаб), в результате чего откроется окно Scale Deformation (Деформация масштаба), в котором нажмите кнопку Display Y Axis (Показать ось Y) и отожмите Make Symmetrical (Сделать симметричным), чтобы деформация происходила только по оси Y. Добавьте кривой, расположенной в окне Scale Deformation (Деформация масштаба), по четыре точки, симметрично расположенные относительно центра, и одну в середине. После этого скорректируйте их положение так, как показано на рис. 9.169.
Рис. 9.169. Окно Scale Deformation (Деформация масштаба)
В результате этих действий у вас должен получиться почти готовый элемент верхней части опоры (рис. 9.170).
Рис. 9.170. Держатель после применения деформации масштаба
Далее необходимо сделать углубления в верхней части держателя. Обычно я выполняю подобную работу при помощи редактирования полигональной поверхности на уровне подобъектов. Но есть более простой, хотя и не самый лучший путь – булева операция вычитания.
СОВЕТ
Я настоятельно не рекомендую злоупотреблять булевыми операциями, так как геометрия, получаемая после таких вырезаний, становится почти непригодной для дальнейшего редактирования. Кроме того, такая операция иногда приводит к аварийному завершению программы. В связи с этим перед применением булевых операций необходимо сохранить файл и проверить объекты на наличие ошибок (можно воспользоваться модификатором STL Check (STL-тест)). Применять булевы операции лучше всего на завершающей стадии моделирования объекта.
Постройте цилиндр с радиусом 12,5 мм и расположите его в верхней части держателя так, чтобы ось цилиндра совпадала с его верхней кромкой (рис. 9.171).
Рис. 9.171. Объекты, подготовленные для булевой операции вычитания
Выделите держатель и выполните команду Create ► Compound ► Boolean (Создание ► Составные объекты ► Булев). В свитке Pick Boolean (Указать булев) щелкните на кнопке Pick Operand B (Указать операнд Б) и в одном из окон проекций выберите построенный цилиндр в качестве второго операнда. В результате у вас должна получиться геометрия верхней части держателя, как показано на рис. 9.172.
Займемся моделированием ручки душа. Здесь форма объектов сама подсказывает способы моделирования: наконечник с сеткой необходимо выполнять при помощи NURBS, среднюю часть как Surface-поверхность, а конечную – вращением сплайна.
Рис. 9.172. Модель на данном этапе
СОВЕТ
Большая часть построенных объектов не нужна для продолжения моделирования, поэтому имеет смысл спрятать их при помощи команды Hide (Спрятать), оставив лишь верхнюю часть стойки.
Перейдем к построению NURBS-кривых. Основная форма, завершающаяся сеткой, напоминает колокольчик размером 50 x 55 мм. Ее мы сейчас и построим (рис. 9.173).
Рис. 9.173. Форма CV-кривой
Постройте NURBS-кривую и примените к ней инструмент Create Lathe Surface (Создать поверхность вращением) плавающей палитры инструментов NURBS так же, как это описано выше для ручек кранов. В результате у вас должен получиться объект, подобный показанному на рис. 9.174.
Рис. 9.174. Поверхность, построенная вращением
Построение второй CV-кривой у вас не должно вызвать проблем, так как мы уже не раз выполняли такое построение, кроме того, данная кривая имеет простую форму (рис. 9.175).
Рис. 9.175. CV-кривая для формы вращения
СОВЕТ
При работе с CV Curve (CV-кривая) бывает сложно создавать прямые углы или небольшие закругления, потому что NURBS старается сгладить кривую, расположенную между точками. Чтобы этого избежать, можно располагать соседние точки ближе, а также применять к ним весовой коэффициент (параметр Weight (Вес) в свитке CV уровня подобъектов Curve CV (Управляющие вершины кривой)), что я в данном случае и сделал для угловой точки.
Как и в предыдущих случаях, необходимо выполнить сглаженное объединение двух построенных объектов. Как вы уже знаете, чтобы построить фаску между двумя объектами, необходимо в первую очередь присоединить одну поверхность к другой (воспрользовавшись иструментом Attach (Присоединить)), а затем применить инструмент Create Fillet Surface (Создать поверхность-фаску)
плавающей палитры NURBS. В результате должна получиться законченная верхняя часть ручки душа (рис. 9.176).
Для построения средней, пластмассовой, части ручки снова обратимся к Surface-поверхности. В данном случае это будет оптимальный и самый быстрый способ решения проблемы, связанной с нестандартной формой объекта.
Начните с того, что в окне проекции Left (Слева) постройте окружность, используя сплайн NGon (Многоугольник) радиусом 10 мм. При этом для получения окружности необходимо в свитке Parameters (Параметры) настроек многоугольника установить флажок Circular (Окружность) (рис. 9.177).
ВНИМАНИЕ
Сплайн Circle (Окружность) имеет четыре сегмента, а нам для построения поперечного сечения ручки душа необходимо шесть. В связи с этим окружность должна быть создана именно при помощи сплайна NGon (Многоугольник), который позволяет задавать произвольное количество сегментов сплайна.
Скопируйте данную или постройте новую окружность, но с радиусом 14 мм. Дальнейшая модификация окружностей не представляет сложности, но будьте внимательны при ее выполнении.
1. Выделите большую окружность (если она еще не выделена).
2. Щелкните на ней правой кнопкой мыши и преобразуйте ее в Editable Spline (Редактируемый сплайн).
3. Перейдите на уровень редактирования вершин и выделите все вершины, относящиеся к сплайну (должно быть шесть).
4. Примените к ним Fillet (Закругление), для чего в свитке Geometry (Геометрия) введите в поле рядом с кнопкой Fillet (Закругление) значение 1 (на рис. 9.178 это внешние парные вершины).
5. Перейдите на уровень редактирования сегментов и выделите шесть больших сегментов сплайна, принадлежащих окружности.
Рис. 9.176. Построенная часть ручки душа
Рис. 9.177. Окружность, построенная при помощи сплайна NGon (Многоугольник)
6. В поле рядом с кнопкой Divide (Разделить) свитка Geometry (Геометрия) установите значение 1 и щелкните на кнопке Divide (Разделить). В результате большие сегменты разделятся посередине на две части.
7. Перейдите на уровень редактирования вершин и выделите те шесть вершин, которые образовались в результате выполнения предыдущей операции.
8. Используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать), масштабируйте все выделенные вершины к центру так, чтобы они расположились на линии меньшего сплайна (см. рис. 9.178).
Рис. 9.178. Внешняя окружность после редактирования вершин
Выполните описанные операции для меньшего сплайна, за исключением того, что для выполнения команды Divide (Разделить) необходимо выделять не большие сегменты, а маленькие, а также того, что смещение вершин не требуется (рис. 9.179).
Рис. 9.179. Расположение вершин на меньшей окружности
Для построения формы ручки нам потребуется всего пять сплайнов, поэтому после того как будет скорректирована их форма, необходимо копировать сплайны меньшего диаметра для получения еще трех таких же окружностей. Расположите их в окне проекции Top (Сверху) так, чтобы большой сплайн с криволинейной формой находился в середине построенного ранее держателя, а по краям располагались по два меньших сплайна окружности. Причем размеры второго и четвертого сплайнов необходимо немного увеличить. Это нужно для того, чтобы ручка слегка изгибалась по всей длине (рис. 9.180).
Рис. 9.180. Расположение сплайнов в окне проекции Top (Сверху)
Прежде чем перейти к созданию поверхности, необходимо построить поперечные сплайны, соединяющие только что построенные формы поперечного сечения. Аналогичные действия мы производили уже не раз, поэтому я лишь вкратце напомню последовательность их выполнения и укажу особенности моделирования.
1. Используя команду Attach (Присоединить), объедините все сплайны в один объект.
2. В два этапа постройте поперечные сечения при помощи команды Cross Section (Поперечное сечение) из свитка Geometry (Геометрия):
1) установите переключатель области New Vertex Type (Тип новых вершин) в положение Smooth (Сглаживание) и создайте поперечные сечения для средней части между вторым, третьим и четвертым сплайнами;
2) измените тип строящихся вершин на Linear (Линейная) и закончите построение на краях.
ПРИМЕЧАНИЕ
Построение поперечных сечений в два этапа позволяет избежать искривления поверхности на краях и в то же время сглаживает кривые в середине (рис. 9.181).
После применения модификатора Surface (Поверхность) к построенным сплайнам должна получиться поверхность средней части ручки, как показано на рис. 9.182.
Рис. 9.181. Форма сплайнов поперечного сечения
Рис. 9.182. Результат визуализации средней части ручки душа
Создадим небольшую деталь, расположенную в месте крепления гибкого шланга. Ее можно сделать при помощи формы вращения. Можно также воспользоваться примитивом Cylinder (Цилиндр), для которого следует немного подкорректировать положение вершин, предварительно применив к нему модификатор Edit Mesh (Редактирование поверхности). Я решил воспользоваться вторым вариантом и построил цилиндр с тремя сегментами по высоте и диаметром немного большим, чем у ручки в месте их соединения. Затем, используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать), придал нужную форму (рис. 9.183).
Мы построили модель почти всего крана, осталось создать шланг для душа.
Начнем с моделирования наконечников, которые крепятся к корпусу стойки и ручке душа при помощи резьбы. В данном случае, как и в предыдущем, можно воспользоваться примитивом Cylinder (Цилиндр) с последующей модификацией на уровне подобъектов или построить объект методом вращения профиля (рис. 9.184).
Рис. 9.183. Форма детали у основания ручки
Рис. 9.184. Форма наконечника шланга
СОВЕТ
Вы вполне можете обойтись построением трех цилиндров различного диаметра без последующего их редактирования.
Точно такой же наконечник шланга должен крепиться и к стойке держателя. Нам достаточно просто скопировать уже построенный и поместить в нужное место (рис. 9.185).
Рис. 9.185. Держатель и ручка вместе с наконечниками
Задача построения металлического шланга кажется сложной, однако решается весьма простым способом – созданием лофт-объекта на основе сплайна Helix (Спираль) и небольшого профиля (рис. 9.186). Высота спирали, ее радиусы и количество оборотов должны быть такими, как показано на рис. 9.186.
ПРИМЕЧАНИЕ
Не забывайте, что создание сплайнов форм пути и профиля проводится в двух различных окнах проекций. В данном случае спираль строится в окне проекции Top (Сверху), а форма профиля – в окне проекции Front (Спереди).
На рис. 9.187 показаны основные параметры получившегося объекта и то, как он должен выглядеть.
Построив объект при помощи лофтинга, мы получили шланг нужного профиля, однако совершенно прямой, следовательно, его нужно изогнуть. На самом деле это не такая сложная задача, как кажется. Для ее решения необходимо построить сплайн, который бы соответствовал нужной форме и являлся кривой, по которой впоследствии будет деформироваться шланг. Кривая должна начинаться и заканчиваться в середине построенных ранее наконечников (рис. 9.188).
Для дальнейшего построения формы сделайте следующее.
1. Выделите построенный лофт-объект и примените к нему модификатор деформации по пути, выполнив команду Modifiers ► Animation ► Path Deform (WSM) (Модификаторы ► Анимация ► Деформация по траектории).
Рис. 9.186. Форма сплайна (слева) и параметры спирали, подготовленные для построения лофт-объекта (справа)
Рис. 9.187. Внешний вид полученного лофт-объекта (слева) и его параметры (справа)
2. В свитке Parameters (Параметры) настроек модификатора щелкните на кнопке Pick Path (Указать путь) и выберите в окне проекции сплайн, соответствующий форме, по которой будет деформироваться шланг.
3. В этом же свитке щелкните на кнопке Move to Path (Передвинуть на путь), чтобы лофт-объект принял форму сплайна (рис. 9.189).
Это все, что требовалось сделать для построения модели крана для ванной комнаты. Осталось только открыть все спрятанные ранее объекты и визуализировать модель целиком (рис. 9.190).
Рис. 9.188. Форма кривой для деформации шланга
Рис. 9.189. Построенный объект (слева) и его стек модификаторов (справа)
После того как модель выполнена, можно заняться оптимизацией геометрии, созданием материалов и наложением текстур.
В завершение раздела хотелось бы подвести итоги и дать несколько советов. Начнем с того, что целью раздела было показать преимущество комплексного подхода к моделированию объектов сложной формы, в чем, я надеюсь, вы убедились сами на данном примере. В процессе моделирования крана мы применяли полигональное, NURBS– и Surface-моделирование, использовали параметрические объекты и формы, работали с объектами, полученными методом вращения формы и выдавливания, и, наконец, закончили назначением модификатора анимации формы по пути. Все это в целом помогло нам в работе над сложной моделью, выполнение которой при помощи какой-либо одной техники потребовало бы значительно больших усилий.
Рис. 9.190. Результат визуализации построенного крана
В процессе моделирования крана не стояла задача оптимизации геометрии, поэтому конечный объект получился со значительным количеством полигонов. Если вам нужно создать самостоятельный объект (без окружения), то количество полигонов не является критическим, но если он является частью какой-то сцены, то его необходимо оптимизировать. Чтобы сделать это, в первую очередь убедитесь в том, что вам не понадобится редактировать объект (еще лучше, если вы сделаете резервную копию файла), затем сверните стек всех объектов до состояния Editable Mesh (Редактируемая сетка). Для NURBS-объектов можно предварительно настроить аппроксимацию поверхности и затем привести к редактируемой сетке. Кроме того, создание объектов с использованием методов разбиения сетки ведет к избыточному созданию полигонов по всей поверхности, даже там, где они не нужны для передачи формы (например, на ровных плоских участках). В таком случае для уменьшения количества полигонов можно использовать модификатор Optimize (Оптимизация).
ПРИМЕЧАНИЕ
Для анализа готовой модели крана вы можете загрузить файл сцены shower.max из папки Examples\Глава 09\Shower прилагаемого к книге DVD.
Глава 10 Текстурирование
• Материал, имитирующий хром
• Текстурирование натюрморта
• Текстурирование микроволновой печи
• Сложное текстурирование
Можно сделать замечательную модель, потратив много времени на создание деталей. Можно безукоризненно выставить свет и сделать многое другое, чтобы улучшить работу, но без хороших текстур вы не сможете добиться реалистичности.
Создание материала – как правило, долгий и кропотливый процесс с множеством экспериментов. Иногда приходится потратить не один час на то, чтобы сделать приемлемую текстуру. Редактор материалов в 3ds Max настолько хорош, что позволяет получить практически любую текстуру – все зависит только от ваших знаний и воображения.
Работа по созданию материалов не ограничивается возможностями программы 3ds Max, вам не обойтись без приложений растровой графики. Кроме того, существуют программы, позволяющие рисовать непосредственно на трехмерных объектах.
В этой главе вы познакомитесь с тем, как создавать реалистичные материалы и текстуры средствами программы 3ds Max.
Материал, имитирующий хром
В этом разделе рассмотрим, как при помощи небольшого трюка можно создать вполне приемлемый материал хрома. Хромированные детали очень эффектно смотрятся, поэтому их часто применяют в трехмерной сцене.
Прежде чем говорить о создании материала, необходимо определиться с понятием хрома. Что такое хром? Это материал с высокой отражающей способностью и контрастностью, поэтому первое правило, которое нужно помнить при его использовании: для хромированного объекта важно окружение, то есть те предметы, которые будут отражаться в хроме. В данном случае возможно два варианта: смоделировать окружение (если его нет) или создать иллюзию присутствия рядом других предметов при помощи соответствующих текстурных карт.
Второе правило реалистичного хрома заключается в том, что объект, которому присваивается хромированный материал, должен иметь сглаженные формы. Например, на примитиве Box (Параллелепипед) значительно сложнее создать реалистичный хром, нежели на ChamferBox (Параллелепипед с фаской).
Рассмотрим создание материала хрома при помощи процедурной карты, то есть исключительно средствами программы 3ds Max.
Первое, что для этого понадобится, – объекты, с которыми вы будете работать. Для их создания сделайте следующее.
1. Выполните команду Create ► Extended Primitives ► Torus Knot (Создание ► Сложные примитивы ► Тороидальный узел).
2. Щелкните в окне проекции Top (Cверху) и создайте примитив Torus Knot (Тороидальный узел).
3. На небольшом расстоянии от первого постройте еще один примитив Torus Knot (Тороидальный узел). Два объекта нужны, чтобы они отражались друг в друге.
4. Для создания плоскости, на которой будут располагаться эти объекты, выполните команду Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость).
5. Щелкните в левом верхнем углу окна проекции Top (Cверху) и переместите указатель мыши в нижний правый угол так, чтобы построенные ранее примитивы оказались на плоскости (рис. 10.1).
Теперь можно переходить к непосредственному созданию материала.
Идея использования карты Gradient Ramp (Усовершенствованный градиент) основывается на простом наблюдении. В хромированном предмете, лежащем на плоскости, отражаются три пространства:
■ снизу отражается плоскость, на которой лежит предмет;
■ сверху – потолок, небо, то есть что-нибудь светлое;
■ стороны отражают окружающие предметы и пространство, уходящее вдаль (эти отражения по большей части темные благодаря «жестким» отражениям).
Для построения материала хрома нужна бело-черно-белая текстура, которую легко создать и контролировать при помощи карты Gradient Ramp (Усовершенствованный градиент). Чтобы ее создать, выполните следующие действия.
1. Откройте Material Editor (Редактор материалов), щелкнув на кнопке
находящейся на панели инструментов, или выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов).
2. Выберите ячейку со свободным материалом.
3. Разверните свиток Maps (Карты текстуры), щелкните на кнопке None (Отсутствует) рядом с картой Reflection (Отражение).
4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Gradient Ramp (Усовершенствованный градиент).
5. Настройте параметры материала, как показано на рис. 10.2.
Разберем подробнее настройки этой карты. Прежде всего нужно в раскрывающемся списке Gradient Type (Тип градиента) выбрать значение Linear (Прямой), а в Interpolation (Интерполяция) – строку Solid (Постоянная). После этого назначьте два цвета: белый и черный (или близкий к черному). Для этого дважды щелкните на ползунке под шкалой градиентного перехода и в открывшемся окне Color Selector (Выбор цвета) выберите нужный цвет. Соотношение цветов должно быть близким к 1:2, то есть белый цвет должен занимать в два раза больше места, чем черный. Затем нужно повернуть карту на 90°, задав значение W для Angle (Угол) равным 90, и установить флажок Mirror (Зеркальное отображение) для координаты U. Чтобы избежать резкого перехода на стыке цветов, можно увеличить значение параметра Blur (Размытие). Можно также использовать карту Noise (Шум), чтобы еще больше сгладить резкий переход. В свитке Coordinates (Координаты) необходимо задать способ использования карты, установив переключатель в положение Environment (Окружающая среда), а из списка Mapping (Проекция), который определяет способ наложения координат, выбрать Spherical Environment (Сферическая фоновая), так как вы создаете карту для окружения. На этом с основными настройками можно закончить. В результате вышеописанных операций у вас должна получиться процедурная карта, подобная показанной на рис. 10.3.
Рис. 10.1. Два примитива Torus Knot (Тороидальный узел) и примитив Plane (Плоскость)
Рис. 10.2. Настройки карты Gradient Ramp (Усовершенствованный градиент)
Следующим шагом разработки материала хрома является создание материала Raytrace (Трассировка), который в качестве карты окружения будет использовать созданную вами градиентную карту. Для этого выполните следующие действия.
1. Щелкните на кнопке выбора материала – Gradient Ramp (Усовершенствованный градиент).
2. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт текстур) выберите из списка карту Raytrace (Трассировка).
3. Ответьте утвердительно на предложение оставить созданную карту Gradient Ramp (Усовершенствованный градиент) в качестве подматериала.
В результате в свитке Maps (Карты текстур) стандартного материала в качестве карты Reflection (Отражение) будет загружена карта Raytrace (Трассировка).
Можно ограничиться этим, но мы создадим еще материал Raytrace (Трассировка). Отличие карты Raytrace (Трассировка) от материала Raytrace (Трассировка) заключается в том, что материал имеет больше параметров и позволяет получить лучшее качество при визуализации. Для создания материала Raytrace (Трассировка) выполните следующие действия.
1. Выберите в окне Material Editor (Редактор материалов) ячейку со свободным материалом.
2. Щелкните на кнопке Standard (Стандартный) для выбора материала.
3. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт текстур) выберите из списка материал Raytrace (Трассировка).
4. Скопируйте карту Gradient Ramp (Улучшенный градиент), щелкнув правой кнопкой мыши на кнопке Gradient Ramp (Улучшенный градиент), созданной ранее, и из появившегося списка выберите способ копирования Copy (Независимая копия объекта).
5. В свитке Raytrañe Basic Parameters (Базовые параметры трассируемого материала) материала Raytrañe (Трассируемый) щелкните правой кнопкой мыши на кнопке Environment (Окружающая среда) и из появившегося списка выберите Paste (Copy) (Вставить (копию)).
6. Измените параметры материала Raytrace (Трассировка) так, как показано на рис. 10.4.
Рис. 10.3. Процедурная карта Gradient Ramp (Усовершенствованный градиент) после выполнения всех настроек
Рис. 10.4. Настройки параметров материала Raytrace (Трассировка) для хрома
При желании можно увеличить значение параметра Index Of Refr (Коэффициент преломления). В качестве типа затенения из списка Shading (Затенение) выбран Metal (Металл) – это также не обязательно, но создает более жесткие цветовые переходы, характерные для хрома.
Более важным в настройках является параметр Reflect (Отражение), который управляет отражательной способностью материала. В данном случае нужно выбрать светло-серый или серо-голубой цвет (для придания этого оттенка хрому). Назначьте материал объектам (рис. 10.5).
Немного усложним объекты и добавим надпись, сделанную при помощи карты Bump (Рельефность) и объекта Text (Текст). Результат показан на рис. 10.6.
Рис. 10.5. Объекты сцены после применения материала хрома
Рис. 10.6. Результат просчета при помощи стандартного визуализатора с применением параметра Area Shadow (Область тени)
Добавлю, что визуализация проводилась стандартным визуализатором программы 3ds Max 9 без применения глобального освещения, каустики и других специальных эффектов, придающих изображению более реалистичный вид. В данной сцене использовалось только трехточечное освещение с применением Area Shadow (Область тени).
Еще один способ создания материала хрома – с помощью специальных растровых карт, имитирующих хромированный материал. Как правило, материал на основе таких карт имеет не очень реалистичный вид. Однако у этого способа есть и свои плюсы – минимальное время на настройку и визуализацию. Его использование оправданно для объектов на заднем плане.
Неплохого качества визуализации можно достичь, используя HDRI (High Dynamic Range Images – изображение с большим динамическим диапазоном) в качестве карты для материала хрома.
Улучшить конечное изображение можно также, применив подключаемый модуль визуализации – V-Ray. На рис. 10.7 показана та же сцена, визуализированная при помощи V-Ray без источников света, но с использованием глобального освещения.
Разница заметна, но если для вас имеет значение время визуализации, вы работаете на компьютере со слабым процессором или в сцене большое количество полигонов, то применение стандартного визуализатора вполне приемлемо. При использовании стандартного визуализатора сцена просчитывается быстрее примерно в полтора раза.
На рис. 10.8 представлен фрагмент примитива Torus Knot (Тороидальный узел) с надписью.
Рис. 10.7. Сцена, визуализированная при помощи подключаемого модуля V-Ray
Рис. 10.8. Фрагмент примитива Torus Knot (Тороидальный узел) с надписью
Вы можете также попробовать сделать хром на основе карты Swirl (Завихрение) или Noise (Шум). Более сложных эффектов можно достичь, используя различные комбинации процедурных карт.
ПРИМЕЧАНИЕ
В папке Examples\Глава 10\Chrom прилагаемого к книге DVD находится файл сцены chrom.max.
Текстурирование натюрморта
В разд. «Натюрморт» предыдущей главы мы простыми средствами моделирования создали сцену, представляющую собой натюрморт из фруктов и ягод. Рассмотрим некоторые способы текстурирования объектов этой сцены стандартными средствами 3ds Max 9.
Для выполнения упражнения вам понадобится продолжить работу с созданной в предыдущей главе сценой натюрморта. Вы также можете загрузить сцену fruits_start.max, которая расположена на прилагаемом к книге DVD в папке Examples\Глава 10\Fruits.
Прежде чем мы приступим к непосредственному текстурированию объектов сцены, мне бы хотелось напомнить вам о том, что для правильного отображения материалов, содержащих текстурные карты, все моделируемые объекты нуждаются в проекционных координатах. Исключение составляют параметрические объекты, в свойствах которых есть предустановленные проекционные координаты (в свитке Parameters (Параметры) настроек объекта установлен флажок Generate Mapping Coords. (Генерировать координаты проецирования)), объекты, созданные при помощи некоторых модификаторов (например, Loft (Лофтинговые)), или в том случае, когда материал использует процедурные карты (то есть карты текстур, генерируемые программно).
Начнем текстурирование с простого объекта – апельсина. Фактура этого объекта не требует обязательного применения текстурной карты, ее можно создать при помощи процедурной карты Noise (Шум). Для текстурирования апельсина сделайте следующее.
1. Откройте Material Editor (Редактор материалов) и выберите ячейку со свободным материалом.
2. В свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) щелкните на образце цвета рядом с Diffuse (Цвет рассеивания) для выбора базового цвета апельсина.
3. В открывшемся окне Color Selector: Diffuse Color (Выбор цвета: цвет рассеивания) установите значения составляющих цвета RGB: Red (Красный) – 230, Green (Зеленый) – 130 и Blue (Синий) – 50.
4. В области Specular Highlights (Зеркальные блики) свитка Blinn Basic Parameters (Базовые параметры раскраски по Блинну) задайте значение Specular Level (Уровень блеска) равным 30, а Glossiness (Глянец) – 10 (рис. 10.9).
5. В свитке Maps (Карты текстур) щелкните на кнопке None (Отсутствует) рядом с картой Bump (Рельефность).
6. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Noise (Шум).
7. В свитке Noise Parameters (Параметры шума) карты Noise (Шум) установите значение параметра Size (Размер) равным 2.
8. Нажмите кнопку Go to Parent (Вернуться к исходному) и в свитке Maps (Карты текстур) настраиваемого материала установите значение величины рельефности равным -50 (рис. 10.10).
Рис. 10.9. Свиток Blinn Basic Parameters (Базовые параметры раскраски по Блинну) настроек материала апельсина
Рис. 10.10. Свиток Maps (Карты текстур) настроек материала апельсина
Для присвоения материала объектам сцены сделайте следующее.
1. Щелкните на кнопке Select by Name (Выделить по имени)
главной панели инструментов и в появившемся окне Select From Scene (Выбор из сцены) выберите из списка объекты Orange_00 и Orange_01.
2. В редакторе материалов щелкните на кнопке Assign Material to Selection (Назначить материал выделенным объектам)
После присвоения объектам материала необходимо выполнить тестовую визуализацию и при необходимости подкорректировать параметры материала. При желании можно улучшить отображение апельсина, создав на основе выполненного материала составной материал Blend (Смешанный). Для этого сделайте следующее.
1. Щелкните в окне редактора материалов на кнопке Standard (Стандартный) и в появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Blend (Смешанный). В открывшемся окне установите переключатель в положение Keep old material as sub-material? (Оставить старый материал в качестве компонента?).
2. В свитке Blend Basic Parameters (Базовые параметры смешанного материала) щелкните на кнопке первого материала и перетащите его на второй, а в качестве метода копирования укажите Copy (Независимая копия объекта).
3. Выберите темно-оранжевый цвет диффузного рассеивания второго материала – это создаст на поверхности апельсина цветовые переходы.
4. В качестве маски используйте карту Noise (Шум).
На рис. 10.11 представлена схема материала Blend (Смешанный) для текстурирования апельсина.
Рис. 10.11. Схема материала Blend (Смешанный), назначенного апельсину
ПРИМЕЧАНИЕ
При необходимости вы можете открыть файл с именем fruits_end.max, расположенный на прилагаемом к книге DVD в папке Examples\Глава 10\Fruits, и проанализировать параметры составного материала.
Аналогичным образом создается материал для модели мандарина, с той лишь разницей, что цвет диффузного рассеивания должен имеет оттенок ближе к оранжевому, а карта рельефности меньшее значение, так как поверхность мандарина имеет менее выраженную рельефность.
Рассмотрим текстурирование яблока с применением текстурной карты. Речь идет об использовании растрового изображения в качестве карты диффузного рассеивания, значит, объекту потребуются проекционные координаты. С этого и начнем.
1. Используя кнопку главной панели инструментов Select by Name (Выделить по имени)
выберите из списка три объекта AppleYellow.
2. Перейдите в режим Isolation Mode (Режим изолирования), для чего нажмите сочетание клавиш Alt+Q, что позволяет спрятать все объекты сцены, за исключением выделенного.
3. Выполните команду Group ► Open (Группа ► Открыть), чтобы получить доступ к объектам группы.
4. В одном из окон проекций выделите яблоко и примените к нему модификатор UVW-проекции, для чего выполните команду Modifiers ► UV Coordinates ► UVW Map (Модификаторы ► UV-координаты ► UVW-проекция).
5. В области Mapping (Проекционные координаты) свитка Parameters (Параметры) установите переключатель в положение Spherical (Сферические).
Таким образом, объекту были присвоены сферические проекционные координаты. Сейчас можно переходить к непосредственному созданию материала с текстурной картой яблока и назначению его объекту.
1. В окне Material Editor (Редактор материалов) выберите свободный материал.
2. Щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) в свитке Maps (Карты текстур).
3. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Bitmap (Растровое изображение).
4. В открывшемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу с изображением текстуры яблока. На прилагаемом DVD это AppleYellТех.jpg в папке Examples\Глава 10\Fruits.
5. Присвойте материал модели яблока, перетащив его мышью из окна редактора материалов на объект в окне проекции либо при выделенном объекте щелкнув на кнопке Assign Material to Selection (Назначить материал выделенным объектам)
находящейся на панели инструментов окна Material Editor (Редактор материалов).
Хвостик яблока – небольшого размера и находится в сцене на значительном расстоянии от камеры, поэтому для его текстурирования можно было бы использовать материал с коричневым цветом диффузного рассеивания. Однако я хочу показать возможность применения для такого рода текстурирования процедурной карты Gradient Ramp (Улучшенный градиент). Создадим материал с такой картой и присвоим его хвостику.
1. В одном из окон проекций выделите хвостик яблока и примените к нему модификатор UVW-проекции, для чего выполните команду Modifiers ► UV Coordinates ► UVW Map (Модификаторы ► UV-координаты ► UVW-проекция).
2. В области Mapping (Проекционные координаты) свитка Parameters (Параметры) настроек модификатора установите переключатель в положение Cylindrical (Цилиндрические) как наиболее подходящее для данной формы объекта.
3. В области Alignment (Выравнивание) установите переключатель в положение X и щелкните на кнопке Fit (Подогнать) для выравнивания габаритного контейнера вдоль хвостика.
4. В окне Material Editor (Редактор материалов) выберите свободный материал.
5. Щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) в свитке Maps (Карты текстур).
6. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Gradient Ramp (Улучшенный градиент).
7. В свитке Coordinates (Координаты) настроек градиента задайте значение W для Angle (Угол) равным –90.
8. В свитке Gradient Ramp Parameters (Параметры улучшенного градиента) настройте отображение цветов градиента на цветовой шкале. Для этого дважды щелкните на левом ползунке, чтобы вызвать окно Color Selector (Выбор цвета).
9. Выберите цвет со следующими значениям: Red (Красный) – 112, Green (Зеленый) – 122 и Blue (Синий) – 0.
10. Для правого ползунка установите такие значения составляющих цвета RGB: Red (Красный) – 79, Green (Зеленый) – 35 и Blue (Синий) – 0.
11. В раскрывающемся списке Interpolation (Интерполяция) выберите строку Ease In (Усилить) для задания способа перетекания цвета между соседними ползунками цветовой шкалы (рис. 10.12).
Рис. 10.12. Свиток Gradient Ramp Parameters (Параметры улучшенного градиента) настроек материала хвостика яблока
12. Присвойте полученный материал хвостику яблока, перетащив его из окна редактора материалов на объект в окне проекции.
Теперь можно закрыть группу и выполнить тестовую визуализацию. Если вас удовлетворяет результат, можно переходить к текстурированию других яблок и груш, которые выполняются аналогичным образом (рис. 10.13).
Перейдем к настройке материала вазы, имитирующего бронзу. Создание этого материала будет полностью основано на применении процедурных карт.
1. В редакторе материалов выберите ячейку со свободным материалом.
2. В свитке Shader Basic Parameters (Базовые параметры раскраски) выберите из раскрывающегося списка строку Metal (Металл).
3. В области Specular Highlight (Зеркальные блики) свитка Metal Basic Parameters (Базовые параметры раскраски металла) задайте параметру Specular Level (Уровень блеска) значение, равное 80, а Glossiness (Глянец) – 70.
4. Щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) в свитке Maps (Карты текстур).
5. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Noise (Шум).
Рис. 10.13. Тестовая визуализация с материалами для яблок и груш
6. В свитке Noise Parameters (Параметры шума) карты Noise (Шум) установите переключатель Noise Type (Тип шума) в положение Fractal (Фрактальный).
7. В этом же свитке задайте параметру Size (Размер) значение, равное 15; в области Noise Threshold (Порог уровня шума) параметру High (Высокое) задайте значение, равное 0,8, а Low (Низкое) – 0,4 (рис. 10.14).
8. Щелкните на образце цвета Color #1 (Цвет 1) и в появившемся окне Color Selector (Выбор цвета) установите значения составляющих цвета RGB: Red (Красный) – 85, Green (Зеленый) – 57 и Blue (Синий) – 44. Цвет образца Color #2 (Цвет 2) должен быть черным.
9. Перейдите от компонентного уровня на более высокий, используя кнопку Go to Parent (Вернуться к исходному)
10. В свитке Maps (Карты текстур) настраиваемого материала щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) и, не отпуская кнопку мыши, перетащите карту Noise (Шум) на кнопку рядом с Bump (Рельефность), а в качестве способа копирования выберите Instance (Образец).
11. Здесь же, в свитке Maps (Карты текстур) настраиваемого материала, установите значение величины рельефности равным 15.
1 2. Щелкните на кнопке рядом с Reflection (Отражение) и в появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient (Градиент).
1 3. В свитке Coordinates (Координаты) карты Gradient (Градиент) установите переключатель в положение Environ (Фон) и выберите из списка строку Shrink-wrap Environment (Обтягивающая фоновая).
14. В свитке Gradient Parameters (Параметры градиента) щелкните на кнопке, расположенной справа от Color #1 (Цвет 1), и в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Noise (Шум).
15. Установите такие же параметры карты зашумления, как мы задали для цвета диффузного рассеивания (см. п. 8). Щелкните на кнопке Go to Parent (Вернуться к исходному)
16. Скопируйте карту зашумления для параметра Color #1 (Цвет 1) в Color #3 (Цвет 3) (рис. 10.15).
Рис. 10.14. Настройки свитка Noise Parameters (Параметры шума)
Рис. 10.15. Параметры карты Gradient (Градиент) для карты отражения
17. Нажмите кнопку Go to Parent (Вернуться к исходному) и установите значение величины карты Reflection (Отражение) равным 50.
18. Примените созданный материал к объекту Vase.
Осталось рассмотреть материалы для листиков и винограда, остальные материалы настраиваются аналогично рассмотренным выше.
Лист винограда, лежащий на столе, выполнен на основе параметрического объекта Plane (Плоскость) с одной лишь целью – упростить процесс моделирования и текстурирования. Рассмотрим процесс создания материала листа на основе текстур диффузного рассеивания и прозрачности.
1. В окне Material Editor (Редактор материалов) выберите свободный материал.
2. Щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) в свитке Maps (Карты текстур).
3. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Bitmap (Растровое изображение).
4. В открывшемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу с изображением текстуры листа. На прилагаемом DVD это Grapes.jpg в папке Examples\Глава 10\Fruits.
5. В свитке Maps (Карты текстур) щелкните на кнопке рядом с Opacity (Непрозрачность) и в появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Bitmap (Растровое изображение).
6. В открывшемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу с изображением маски прозрачности листа. На прилагаемом DVD это GrapesMask.jpg в папке Examples\Глава 10\Fruits.
7. В свитке Shader Basic Parameters (Базовые параметры раскраски) установите флажок 2-Sided (Двусторонний), чтобы лист, который изгибается, при визуализации был виден с обеих сторон.
8. Примените материал листа к объекту Grape_Leaf.
Выполните тестовую визуализацию и проверьте, все ли правильно было настроено в материале листа (рис. 10.16).
Рис. 10.16. Визуализация натюрморта на данном этапе текстурирования
Перейдем к созданию материала для винограда. Ягода винограда состоит из двух объектов: хвостика и непосредственно ягоды. Как текстурировать хвостик, мы уже рассматривали на примере яблока, поэтому сразу перейдем к созданию материала для ягоды.
1. В окне Material Editor (Редактор материалов) выберите свободный материал.
2. Щелкните на кнопке Standard (Стандартный) для вызова окна Material/Map Browser (Окно выбора материалов и карт).
3. Выберите из списка материал Raytrace (Трассируемый).
4. В свитке Raytrace Basic Parameters (Базовые параметры трассируемого материала) установите флажок 2-Sided (Двусторонний).
5. Щелкните на образце цвета рядом с Diffuse (Цвет рассеивания) для выбора базового цвета ягоды винограда.
6. В открывшемся окне Color Selector: Diffuse (Выбор цвета: цвет рассеивания) укажите значения составляющих цвета: Red (Красный) – 108, Green (Зеленый) – 107 и Blue (Синий) – 10.
7. Щелкните на образце цвета рядом с Reflect (Отражение) для установки отражательной способности материала.
8. В открывшемся окне Color Selector: Reflect (Выбор цвета: отражение) задайте значения составляющих цвета: Red (Красный) – 42, Green (Зеленый) – 42 и Blue (Синий) – 42.
ПРИМЕЧАНИЕ
Настраивая цвет отражающей способности материала, имейте в виду, что чем ярче цвет, тем более отражающим будет материал, и наоборот. Если образец цвета будет черным, то материал не будет отражать.
9. Щелкните на образце цвета рядом с Transparency (Прозрачность) для настройки прозрачности материала.
1 0. В открывшемся окне Color Selector: Transparency (Выбор цвета: прозрачность) установите значения составляющих цвета: Red (Красный) – 60, Green (Зеленый) – 60 и Blue (Синий) – 60.
11. В области Specular Highlight (Зеркальные блики) свитка Raytrace Basic Parameters (Базовые параметры трассируемого материала) задайте параметру Specular Level (Уровень блеска) значение, равное 78, а Glossiness (Глянец) – 52.
1 2. Щелкните на кнопке рядом с Environment (Внешняя среда) и в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Bitmap (Растровое изображение).
13. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу Lake mt.jpg из папки Examples\Глава 10\Fruits.
14. Нажмите кнопку Go to Parent (Вернуться к исходному)
15. В свитке Extended Parameters (Дополнительные параметры) установите значения составляющих образца цвета RGB для Translucency (Просвечивание) и Fluorescence (Флуоресценция): Red (Красный) – 140, Green (Зеленый) – 140 и Blue (Синий) – 35.
В результате параметры материала Ray-trace (Трассируемый) должны быть такими, как показано на рис. 10.17.
Рис. 10.17. Параметры материала Raytrace (Трассируемый)
Примените материал к соответствующим объектам сцены и выполните тестовую визуализацию. Для оставшихся объектов сцены создайте материалы самостоятельно.
ПРИМЕЧАНИЕ
Для того чтобы проанализировать параметры материалов сцены, вы можете использовать файл fruits_end.max, который расположен в папке Examples\Глава 10\Fruits прилагаемого к книге DVD.
Окончательная визуализация натюрморта представлена на рис. 10.18.
Рис. 10.18. Визуализация натюрморта
Текстурирование микроволновой печи
Опишем текстурирование еще одного объекта, создание которого рассмотрено в предыдущей главе, – микроволновой печи. На этом примере покажем принципы создания сложной процедурной карты, применения архитектурных материалов, а также способ наложения материала на часть объекта.
ПРИМЕЧАНИЕ
Для выполнения урока загрузите построенную вами в предыдущей главе модель микроволновой печи или используйте файл урока microwave_start.max, расположенный на прилагаемом к книге DVD в папке Examples\Глава 10\Microwave_texturing.
Начнем с простых материалов: стекла и материала корпуса микроволновой печи. Материал стекла можно создать как минимум двумя способами:
■ при помощи стандартного материала с картами отражения и преломления;
■ использовать материал Raytrañe (Трассируемый); это более ресурсоемко, однако в таком случае доступно большее количество настроек и получается более качественный результат при визуализации.
Воспользуемся вторым способом, для чего выполните следующие действия.
1. Откройте Material Editor (Редактор материалов) и выберите ячейку со свободным материалом.
2. Щелкните на кнопке Standard (Стандартный) в окне Material Editor (Редактор материалов) для вызова окна Material/Map Browser (Окно выбора материалов и карт).
3. Выберите из списка материал Raytrace (Трассируемый).
4. Снимите флажок Reflect (Отражение) и в появившемся поле укажите значение отражения, равное 20.
5. Снимите флажок Transparency (Прозрачность) и в появившемся поле укажите значение прозрачности, равное 90 (рис. 10.19).
6. Назначьте материал объекту glass, выбрав его из списка, предварительно щелкнув на кнопке главной панели инструментов Select by Name (Выделить по имени).
Выполните тестовую визуализацию, а чтобы определить отражательную способность стекла, создайте перед дверцей любой примитив, который мог бы отражаться в стекле. При необходимости откорректируйте значения параметров Specular Level (Уровень блеска) и Glossiness (Глянец).
Для материала корпуса я использовал архитектурный пластик.
ВНИМАНИЕ
В более ранних версиях 3ds Max архитектурных материалов не было.
Во многих случаях архитектурные материалы с параметрами по умолчанию дают весьма неплохой результат. Применим такой материал к корпусу и лицевой панели нашей модели.
1. Выберите ячейку со свободным материалом.
2. Щелкните на кнопке Standard (Стандартный) в окне Material Editor (Редактор материалов) для вызова окна Material/Map Browser (Окно выбора материалов и карт).
3. Выберите из списка материал Architectural (Архитектурный).
4. В свитке Templates (Образцы) выберите из раскрывающегося списка строку Plastic (Пластик).
5. В свитке Physical Qualities (Физические характеристики) щелкните на образце цвета рядом с Diffuse Color (Цвет рассеивания) для выбора базового цвета корпуса.
6. В открывшемся окне Color Selector: Diffuse (Выбор цвета: цвет рассеивания) выберите белый цвет (рис. 10.20).
7. Примените полученный материал ко всем объектам, которые должны иметь белый цвет.
Рис. 10.19. Настройки материала стекла
Рис. 10.20. Параметры материала пластика
Аналогичным образом можно создать материал для поверхности стола, на котором стоит микроволновая печь.
Выполните тестовую визуализацию. На данном этапе изображение должно выглядеть, как показано на рис. 10.21.
Рис. 10.21. Результат визуализации микроволновой печи на данном этапе текстурирования
Если вы могли заметить, в оригинальном изображении (см. цветной рис. 9.87 на прилагаемом DVD) микроволновой печи есть индикаторы. Создадим их.
1. В окне проекции выделите лицевую панель микроволновой печи.
2. Перейдите на уровень редактирования полигонов и выделите все полигоны, расположенные в непосредственной близости от углублений под ручками управления (рис. 10.22).
Рис. 10.22. Выделенные полигоны для последующего текстурирования
3. В области Material (Материал) свитка Polygon: Materials IDs (Полигон: идентификатор материалов) задайте параметру Set ID (Установить идентификатор материала) значение 2 и нажмите Enter.
4. Примените к выделенным полигонам модификатор UVW-проекции, выполнив команду Modifiers ► UV Coordinates ► UVW Map (Модификаторы ► UV-координаты ► UVW-проекция).
5. В области Mapping (Проекционные координаты) свитка Parameters (Параметры) установите переключатель в положение Planar (Плоские).
Таким образом, мы выделили область панели управления микроволновой печи в отдельный идентификатор материала, чтобы, независимо от остальной поверхности панели, применить к нему маску на основе черно-белой текстуры. По этой же причине нам понадобилось использовать модификатор, накладывающий проекционные координаты. В связи с этим необходимо отредактировать материал корпуса.
1. В редакторе материалов выберите архитектурный материал, созданный ранее для корпуса, ручек и лицевой панели.
2. В окне Material Editor (Редактор материалов) щелкните на кнопке Architectural (Архитектурный) для вызова окна Material/Map Browser (Окно выбора материалов и карт).
3. Выберите из списка материал Multi/Sub-Object (Многокомпонентный). В открывшемся окне установите переключатель в положение Keep old material as sub-material? (Оставить старый материал в качестве компонента?), в результате чего старый материал займет верхнюю кнопку материалов в свитке Multi/ Sub-Object Basiñ Parameters (Основные параметры многокомпонентного материала).
4. Щелкните на первой кнопке с именем архитектурного материала (у меня – Body (Architertural)) и, не отпуская кнопку мыши, перетащите его на вторую кнопку, а в качестве метода копирования укажите Copy (Копия). Таким образом, мы создали материал для второго идентификатора со свойствами первого материала. Если вам в дальнейшем понадобится изменять параметры архитектурного материала для корпуса, то менять их необходимо сразу у двух материалов.
5. Щелкните на кнопке с именем второго материала для перехода к его настройкам.
6. В окне Material Editor (Редактор материалов) нажмите кнопку типа материала и в появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Blend (Смешанный). В открывшемся окне установите переключатель в положение Keep old material as sub-material? (Оставить старый материал в качестве компонента?).
7. В свитке Blend Basic Parameters (Базовые параметры смешанного материала) щелкните на кнопке второго материала и установите черный цвет диффузного отражения (это будет цвет надписи на панели управления).
8. Нажмите кнопку Go to Parent (Вернуться к исходному)
9. Щелкните на кнопке Mask (Маска) и в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите Bitmap (Растровое изображение).
10. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу face_mask.jpg из папки Examples\Глава 10\Microwave texturing.
1 1. Примените полученный материал к лицевой панели микроволновой печи и выполните тестовую визуализацию.
Таким образом, мы создали на основе архитектурного материала многокомпонентный материал, структура которого представлена на рис. 10.23.
Более сложным с точки зрения настроек можно считать материал сетки, расположенной за стеклом двери. Для материала сетки можно было бы нарисовать текстурную карту, но я предпочитаю пользоваться процедурными картами – это позволяет получить максимально четкое и качественное изображение, ведь такие карты генерируются программно. Вот и в данном случае карта прозрачности материала сетки построена на основе карт Gradient Ramp (Улучшенный градиент).
1. В окне редактора материалов выберите ячейку со свободным материалом.
2. В свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) щелкните на образце цвета рядом с Diffuse (Цвет рассеивания) и в открывшемся окне установите цвет, близкий к черному. Это будет основной цвет решетки.
3. Перейдите к свитку Maps (Карты текстур) и щелкните на кнопке рядом с Opacity (Непрозрачность).
4. В окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Mix (Смешивание). У нас будет две карты смешивания, поэтому стоит дать им значимые имена. Назовите эту карту Base level.
5. В свитке Mix Parameters (Параметры смешивания) настроек карты Base level щелкните на кнопке с именем None (Отсутствует), расположенной рядом с Color #1 (Цвет 1).
6. В окне Material/Map Browser (Окно выбора материалов и карт) снова выберите из списка карту Mix (Смешивание). Назовите эту карту Net.
7. В свитке Mix Parameters (Параметры смешивания) карты Net щелкните на кнопке с именем None (Отсутствует), расположенной рядом с Color #1 (Цвет 1). В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Улучшенный градиент).
8. Установите параметры этой карты согласно рис. 10.24. Обратите внимание, что в поле Gradient Type (Тип градиента) выбран тип Radial (Радиальный), что позволяет создавать круги черного цвета, повторяющиеся 70 раз по горизонтали и 60 по вертикали (это определяет параметр Tiling (Повтор)).
9. Перейдите от карты Gradient Ramp (Улучшенный градиент) к карте Mix (Смешивание) с именем Net, используя кнопку Go to Parent (Вернуться к исходному)
Рис. 10.23. Структура материала для корпуса и лицевой панели микроволновой печи
Рис. 10.24. Параметры первой карты Gradient Ramp (Улучшенный градиент)
10. В свитке Mix Parameters (Параметры смешивания) карты Net щелкните на кнопке, расположенной рядом с Color #1 (Цвет 1), и, не отпуская кнопку мыши, перетащите ее на кнопку, расположенную рядом с Color #2 (Цвет 2), а в качестве метода копирования выберите Copy (Копия).
11. Щелкните на вновь созданной копии карты Gradient Ramp (Улучшенный градиент) и в ее свитке Coordinates (Координаты) установите смещение (Offset (Смещение)) по горизонтали (U), равное 0,009 (рис. 10.25).
Таким образом, мы имеем две карты Gradient Ramp (Улучшенный градиент), создающие сетку из кругов черного цвета, с той лишь разницей, что вторая карта имеет смещение по горизонтали на величину половины круга. Выполним еще одну карту Gradient Ramp (Улучшенный градиент), которая будет играть роль маски, смешивающей окружности двух предыдущих карт таким образом, что у первой карты будут видны четные горизонтальные ряды, а у второй – нечетные.
1. Вернитесь к карте Mix (Смешивание) с именем Net, используя кнопку Go to Parent (Вернуться к исходному)
2. В свитке Mix Parameters (Параметры смешивания) карты Net щелкните на кнопке, расположенной рядом с Mix Amount (Доля в смеси), и в окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Улучшенный градиент).
3. Установите параметры этой карты согласно рис. 10.26.
Рис. 10.25. Параметры второй карты Gradient Ramp (Улучшенный градиент)
Рис. 10.26. Параметры карты Gradient Ramp (Улучшенный градиент), играющей роль маски
Обратите внимание, что Gradient Type (Тип градиента) этой карты – Linear (Линейный). Кроме того, карта повернута на 90°, чтобы создаваемые черно-белые полосы располагались горизонтально, а их повторяемость (Tiling (Повтор)) установлена в соответствии с количеством рядов окружностей.
Если применить созданную карту к объекту Reshetka, то при визуализации должно получиться изображение, показанное на рис. 10.27.
Рис. 10.27. Результат визуализации материала сетки
Сейчас полученная карта заполняет все пространство объекта, но решетка окна должна быть лишь частью, ограниченной прямоугольником. Сделать такое ограничение можно, снова используя карту Gradient Ramp (Улучшенный градиент) в качестве маски для первой карты смешивания с именем Base level.
1. Используя кнопку Go to Parent (Вернуться к исходному)
перейдите к карте Mix (Смешивание) с именем Base level
2. В свитке Mix Parameters (Параметры смешивания) карты Base level щелкните на кнопке с именем None (Отсутствует), расположенной рядом с Color #2 (Цвет 2). В окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Улучшенный градиент).
3. Установите белый цвет шкалы градиента по всей длине. Таким образом, мы создадим карту, которая будет выступать в качестве фонового цвета.
4. Нажмите кнопку Go to Parent (Вернуться к исходному).
5. В свитке Mix Parameters (Параметры смешивания) щелкните на кнопке, расположенной рядом с Mix Amount (Доля в смеси), и в окне Material/Map Browser (Окно выбора материалов и карт) еще раз выберите из списка карту Gradient Ramp (Улучшенный градиент).
6. Установите параметры этой карты согласно рис. 10.28.
Рис. 10.28. Параметры карты Gradient Ramp (Улучшенный градиент)
Обратите внимание, что Gradient Type (Тип градиента) этой карты – Box (Параллелепипед). Это позволяет получить маску прямоугольной формы.
На этом создание материала для решетки можно считать завершенным. На рис. 10.29 показана схема этого материала.
ПРИМЕЧАНИЕ
Для того чтобы проанализировать параметры материалов сцены, вы можете использовать файл microwave_end.max, расположенный на прилагаемом к книге DVD в папке ExamplesГлава 10\Microwave_texturing.
И наконец, на рис. 10.30 представлен фрагмент модели микроволновой печи вместе с текстурами.
Рис. 10.29. Схема материала решетки
Рис. 10.30. Фрагмент модели микроволновой печи вместе с текстурами
Сложное текстурирование
Не стоит пугаться названия упражнения. Оно подразумевает, что мы будем говорить о текстурировании сложных объектов, а не то, насколько сложно это сделать. В понятие «сложные объекты» я включаю такие объекты, к которым невозможно применить один из типов стандартного проецирования (планарный, цилиндрический, кубический) и ограничиться этим. Обычно такие объекты требуют совместного использования нескольких типов проецирования и (или) коррекции наложения текстурных координат вручную при помощи модификатора Unwrap UVW (Расправить UVW-проекцию) или дополнительных подключаемых модулей (например, Deep Paint).
На примере данного упражнения рассмотрим возможность текстурирования сложных объектов только средствами 3ds Max без использования сторонних программ.
На рис. 10.31 представлена модель резиновой детской игрушки, с которой вам предстоит работать.
Рис. 10.31. Модель игрушки
Прежде чем переходить к текстурированию, нужно провести предварительный анализ модели. Это необходимо по двум причинам:
■ для правильного текстурирования модели нужно понять, на какое минимальное количество элементов (групп выделения) необходимо разделить объект, чтобы применить к этим группам стандартные типы проецирования;
■ нужно определиться с количеством материалов, которые будут использоваться в данном объекте.
Поясню подробнее. Любой сложный предмет можно разложить на более простые. Например, у вас есть модель деревянной стремянки (лестницы). Если ни один из известных вам типов проецирования текстурных координат, таких как планарное, прямоугольное, цилиндрическое или любое другое, не может дать желаемого результата, то стоит разделить ее на две вертикальные жерди и некоторое количество поперечных ступенек. Тогда сразу становится очевидной возможность применения прямоугольного проецирования текстурных координат. Оно как нельзя лучше будет отвечать форме составляющих лестницу деталей.
Для объяснения второй причины возьмем модель персонажа, одетого в шорты и майку. Очевидно, что в данном случае необходимы как минимум три текстурные карты (голова, майка и шорты), а учитывая обувь, текстуру рук, ног и деталей головы, – может быть, и больше трех. Существует два подхода к созданию материала для такой модели.
■ Модель может иметь один материал с одной текстурой, на которой расположены сразу все текстурируемые элементы (голова, майка, шорты и т. д.), что очень часто используется для визуализации в реальном времени (например, в компьютерных играх).
■ Использование составного материала типа Multi/Sub-Object (Многокомпонентный), позволяющего применить к объекту сразу несколько материалов. При этом объект разделяется на несколько Material ID (Идентификатор материала), что позволяет работать с отдельным материалом (например, при замене текстуры майки не придется менять всю текстуру модели).
Второй подход, в отличие от первого, позволяет более гибко работать с отдельными материалами и применять процедурные карты (то есть карты текстур, генерируемые программно).
Модель игрушки, представленной на рис. 10.31, можно разделить на шесть составляющих ее частей по форме, близкой к стандартным для проецирования:
■ основание модели – планарное проецирование;
■ тело – цилиндрическое;
■ грива – сферическое;
■ лапы – цилиндрическое;
■ голова – сферическое;
■ уши – планарное.
Далее можно действовать одним из следующих способов.
■ Для выделенных частей модели последовательно добавлять в стек модификатор Mesh Select (Выделение поверхности) и UVW Map (UVW-проекция) в зависимости от типа наложения соответствующей выделенной геометрии.
■ Сразу применить модификатор Unwrap UVW (Расправить UVW-проекцию) и все действия по наложению проекционных координат проводить только с его помощью.
В данном разделе рассмотрим смешанный способ наложения проекционных координат: когда работа ведется попеременно с настройками то одного, то другого модификатора.
ПРИМЕЧАНИЕ
C выходом 3ds Max 8 практически всю работу по наложению проекционных координат, за исключением назначения выделенным подобъектам идентификаторов материала, стало можно выполнять при помощи модификатора Unwrap UVW (Расправить UVW-проекцию). В данном разделе будет рассмотрен способ, при котором это упражнение можно выполнить и в предыдущих версиях программы, начиная с пятой. Такой метод наложения проекционных координат является основополагающим и может пригодиться для текстурирования объектов практически любой сложности.
Загрузите файл donkey_start.max, который находится в папке Examples\Глава 10\Donkey прилагаемого к книге DVD.
ПРИМЕЧАНИЕ
Если вы решите использовать в работе собственную модель, не забудьте преобразовать ее в Editable Mesh (Редактируемая поверхность) или Editable Poly (Редактируемая полигональная поверхность). Это необходимо, если у вас до сих пор была модель типа Patch (Патч-поверхность) или Surface (Поверхность). После этого у вас будет полигональная модель, и вы сможете работать в режиме редактирования полигонов (именно они нужны для создания выделений).
Выделите основание модели. Для этого выполните следующие действия.
1. Выделите модель ослика, щелкнув на ней в любом из окон проекций, и перейдите в режим редактирования Polygon (Полигон).
СОВЕТ
Для быстрого перехода в режим редактирования подобъектов существуют «горячие» клавиши: Vertex (Вершина) – 1, Edge (Ребро) – 2, Face (Грань) – 3, Polygon (Полигон) – 4, Element (Элемент) – 5.
2. В свитке Selection (Выделение) установите флажок Ignore Backfacing (Без обратной ориентации), чтобы случайно не выделить лишние полигоны.
3. Переключитесь в окно проекции Bottom (Cнизу), щелкнув на названии окна проекции правой кнопкой мыши и в появившемся контекстном меню выполнив команду Vews ► Bottom (Вид ► Снизу). Выделите основание модели (рис. 10.32).
Разверните свиток Surface Properties (Свойства поверхности) настроек объекта на командной панели и посмотрите, какой идентификатор материала присвоен выделенным полигонам. Если отличный от заданного по умолчанию (то есть не равен 1), то наберите в поле Set ID (Установить идентификатор материала) цифру 1 и нажмите Enter. Чтобы упростить дальнейшее выделение полигонов, присвойте выделению значимое имя. Для этого введите его в поле Named Selection Set (Название выделенной области) на панели инструментов, после чего подтвердите сделанные изменения нажатием клавиши Enter.
Примените к выделению планарное проецирование. Для этого используйте модификатор UVW Map (UVW-проекция) (рис. 10.33).
Рис. 10.32. Модель ослика с выделенным основанием
Рис. 10.33. Стек модификаторов с примененным модификатором UVW Map (UVW-проекция)
Обратите внимание, в какой плоскости расположен Gizmo (Габаритный контейнер) модификатора. У меня указано выравнивание по оси Y.
Прежде чем перейти к наложению проекционных координат на другие элементы модели, нужно разрушить стек модификаторов, щелкнув правой кнопкой мыши и выбрав команду Collapse All (Разрушить все) (это необязательное действие, но если периодически не разрушать стек, то это приведет к дополнительному расходованию ресурсов компьютера), и скрыть выделение, выполнив следующее.
1. В любом окне проекции щелкните на модели правой кнопкой мыши.
2. В появившемся контекстном меню выполните команду Convert To ► Convert to Editable Mesh (Преобразовать ► Преобразовать в редактируемую поверхность).
3. Не снимая выделение с основания модели, щелкните на кнопке Hide (Спрятать) в свитке Selection (Выделение), чтобы спрятать выделенные полигоны (они в ближайшее время не понадобятся, но могут мешать выделению других).
В результате в стеке модификаторов останется только строка Editable Mesh (Редактируемая поверхность). Текстурные координаты, которые были присвоены основанию модели, сохранятся вместе с геометрией.
Перейдем к туловищу модели. Для этого выполните следующие действия.
1. Выделите полигоны, необходимые для наложения проекционных координат.
СОВЕТ
Контролируйте процесс выделения полигонов во всех окнах проекций. Это поможет избежать выделения лишних полигонов и увидеть невыделенные.
2. Присвойте выделению идентификатор материала 2.
3. Присвойте выделению значимое имя, например body.
4. Примените к объекту модификатор UVW Map (UVW-проекция) с цилиндрическим типом проецирования.
5. Установите выравнивание Gizmo (Габаритный контейнер) модификатора по оси X при помощи переключателя в области Alignment (Выравнивание).
6. В области Alignment (Выравнивание) щелкните на кнопке Fit (Подогнать), чтобы Gizmo (Габаритный контейнер) трансформировался по форме выделения.
7. В стеке модификаторов щелкните на плюсике рядом с именем модификатора, затем выберите строку Gizmo (Габаритный контейнер), так вы перейдете в режим редактирования габаритного контейнера.
8. Вращайте габаритный контейнер так, чтобы зеленая вертикальная линия, указывающая на место стыка текстуры, находилась сзади (рис. 10.34).
Теперь нужно посмотреть на то, как выглядят получившиеся развертки текстурных координат. Для этого разрушьте стек модификаторов и добавьте в него модификатор Unwrap UVW (Расправить UVW-проекцию).
В свитке Parameters (Параметры) модификатора Unwrap UVW (Расправить UVW-проекцию) щелкните на кнопке Edit (Правка), после чего откроется окно Edit UVWs (Редактирование UVW) для редактирования текстурных координат. На данном этапе окно Edit UVWs (Редактирование UVW) нужно лишь для контроля правильности наложения текстурных координат.
На рис. 10.35 показан фрагмент окна Edit UVWs (Редактирование UVW) с выбранным для показа вторым идентификатором материала.
Рис. 10.34. Модель ослика с примененным к туловищу цилиндрическим проецированием
Рис. 10.35. Развертка цилиндрического проецирования для туловища ослика
На данном этапе не стоит выполнять какие-либо действия в редакторе текстурных координат. Это лучше сделать после присвоения координат проецирования всем элементам.
Удалите модификатор Unwrap UVW (Расправить UVW-проекцию) из стека модификаторов (он применялся только для того, чтобы можно было убедиться в правильности присвоения проекционных координат). После этого снова перейдите к выделению полигонов (на сей раз гривы ослика), предварительно спрятав выделенные полигоны туловища. После выделения нужных полигонов примените к выделению модификатор UVW Map (UVW-проекция) со сферическим типом проецирования (рис. 10.36).
На этот раз задача усложняется. Нужно не просто применить сферическое проецирование, но и правильно расположить его на выделении. Для этого выполните следующие действия.
1. Выберите режим редактирования габаритного контейнера, щелкнув на плюсике рядом с названием модификатора и далее на строке Gizmo (Габаритный контейнер).
2. Вращайте габаритный контейнер так, чтобы зеленая вертикальная линия, указывающая на место стыка текстуры, оказалась в передней части выделения, а наклон центральной оси габаритного контейнера соответствовал наклону выделения.
3. Передвиньте габаритный контейнер так, чтобы его ось оказалась впереди выделения.
После этого проверьте правильность наложения проекционных координат, присвоив модификатор Unwrap UVW (Расправить UVW-проекцию), как вы уже это делали для туловища ослика. Развертка гривы ослика должна выглядеть так, как показано на рис. 10.37.
Рис. 10.36. Модель ослика с примененным к гриве сферическим проецированием
Рис. 10.37. Развертка сферического проецирования для гривы ослика
Если у вас нет опыта работы с такого рода наложением проекционных координат, то требуемый результат может сразу не получиться, но нужно стремиться к тому, чтобы форма развертки не была «рваной» и соответствовала форме выделения.
Выделите поочередно правые и левые ноги. Для них применим цилиндрическое проецирование с крышками на торцах. Последовательность выполнения действий та же, что и в предыдущих случаях. Не забудьте назначить выделению идентификатор материала и контролировать выделение в окнах проекций (рис. 10.38).
Развертку для ног ослика делать значительно сложнее, чем в предыдущих случаях, поэтому наберитесь терпения и выполните все действия тщательно. От наложения проекционных координат будет зависеть внешний вид модели.
Перейдем к наложению текстурных координат для головы. Надеюсь, к этому времени вы уже поняли принцип работы с модификаторами и развертками, поэтому не стану вновь повторяться, а лишь представлю вашему вниманию положение Gizmo (Габаритный контейнер) модификатора UVW Map (UVW-проекция) со сферическим типом проецирования (рис. 10.39).
Обратите внимание, что зеленая линия (см. цветной рис. 10.39 на прилагаемом к книге DVD), означающая место стыка текстурной карты, обращена в противоположную от лицевой части сторону и ее ось повернута так, чтобы максимально широко развернуть текстуру. На рис. 10.40 представлена развертка текстурных координат для головы ослика.
Рис. 10.38. Развертка цилиндрического проецирования для ног ослика
Рис. 10.39. Модель ослика с примененным к голове сферическим проецированием
С ушами модели проделайте описанные выше действия следующим образом.
1. Выделите полигоны, составляющие одно ухо.
2. Присвойте выделению идентификатор материала.
3. Примените модификатор UVW Map (UVW-проекция) с планарным типом проецирования.
4. Применив модификатор Unwrap UVW (Расправить UVW-проекцию), проверьте правильность наложения текстурных координат.
5. При необходимости сделайте соответствующие правки, вернувшись к редактированию Gizmo (Габаритный контейнер) модификатора UVW Map (UVW-проекция).
После выполненных операций развертка для ушей ослика должна выглядеть так, как показано на рис. 10.41 (в данном случае имеется в виду форма развертки, а не масштаб и положение в пространстве).
Рис. 10.40. Развертка сферического проецирования для головы ослика
Рис. 10.41. Развертка планарного проецирования для ушей ослика
Когда модели назначены все проекционные координаты, нужно разложить созданные развертки в пределах одной текстурной карты. Сделать это можно двумя способами: автоматически и вручную.
Чтобы закончить создание проекционных координат для модели ослика, выполните следующие действия.
1. Откройте все ранее спрятанные полигоны, для чего щелкните на кнопке Unhide All (Показать все) в свитке Selection (Выделение) настроек объекта Editable Mesh (Редактируемая поверхность).
2. Примените к модели ослика модификатор Unwrap UVW (Расправить UVW-проекцию).
3. В свитке Parameters (Параметры) настроек модификатора Unwrap UVW (Расправить UVW-проекцию) щелкните на кнопке Edit (Редактировать).
4. Выполните в появившемся окне правки текстурных координат команду Tools ► Pack UVs (Инструменты ► Разместить UV-проекции) и в открывшемся окне диалога Pack (Упаковать) щелкните по кнопке OK. В результате этих действий развертки заполнят свободное пространство в пределах текстурной карты (рис. 10.42). Передвигать и масштабировать придется вручную.
Теперь создадим текстуру для модели. Обычно я делаю это в программе Adobe Photoshop, но можно использовать любое другое приложение редактирования графики.
Прежде всего необходимо создать визуализацию текстурных координат и сохранить ее в виде растрового изображения. Для этого выполните команду Tools ► Render UVW Template (Инструменты ► Визуализация образца UVW) из меню окна Edit UVWs (Редактирование UVW) и, не изменяя настроек окна Render UVs (Визуализация UVs), щелкните на кнопке Render UV Template (Визуализация образца UV), а затем сохраните выполненную визуализацию. Откройте сохраненное изображение в программе растровой графики (например, Adobe Photoshop).
ПРИМЕЧАНИЕ
Можно воспользоваться и более простым способом – нужно максимально увеличить окно редактирования текстурных координат и сделать копию экрана, нажав на клавиатуре Print Screen. После этого создать в Adobe Photoshop новый документ с размерами не менее 512 х 512 пикселов (я обычно использую размер 1000 х 1000 или 1024 х 1024) и вставить изображение, нажав сочетание клавиш Ctrl+V (стандартное сочетание клавиш для вставки содержимого буфера обмена).
Выполните в Adobe Photoshop команду Select ► Color Range (Выделение ► Цветовой диапазон) и выделите черный цвет фона, после чего удалите его, нажав клавишу Delete (Удалить). Это позволит лучше видеть слой, который лежит ниже и на котором вы будете рисовать текстуру для модели (рис. 10.43).
Нарисуйте на нижнем слое текстуру для модели ослика. Добавляйте слои, цвета, используйте выдавливание и т. д. – и вы сможете получить великолепную модель.
Я всего лишь немного растушевал изображение, чтобы слегка оживить модель (рис. 10.44).
Рис. 10.42. Окончательный вид развертки текстуры для модели ослика
Рис. 10.43. Заготовка текстуры
Последнее, что осталось сделать, – создать материал и назначить ему в качестве карты цвета созданное растровое изображение. Для этого в 3ds Max 9 выполните следующие действия.
1. Откройте окно Material Editor (Редактор материалов) и выберите ячейку со свободным материалом.
2. В свитке Maps (Карты текстур) щелкните на кнопке None (Отсутствует) рядом с кнопкой Diffuse Color (Цвет рассеивания).
3. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Bitmap (Растровое изображение).
4. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) выберите сохраненную ранее текстурную карту для канала цвета.
5. Присвойте материал модели ослика, перетащив его мышью из окна редактора материалов на объект в окне проекции либо при выделенном объекте щелкнув на кнопке Assign Material to Selection (Назначить материал выделенным объектам)
находящейся на панели инструментов окна Material Editor (Редактор материалов).
Чтобы модель выглядела более реалистично, сделайте текстурные карты для выдавливания и глянца ее поверхности. То, что получилось у меня, показано на рис. 10.45.
Конечно, чтобы создать красивую реалистичную модель, требуется достаточно много времени для рисования текстур. Порой это занимает не меньше времени, чем само моделирование объекта.
Рис. 10.44. Текстурная карта цвета для модели ослика
Рис. 10.45. Результат финальной визуализации модели ослика с картой цвета
ПРИМЕЧАНИЕ
Законченная модель ослика с присвоенными проекционными координатами находится на DVD, прилагаемом к книге, в папке Examples\Глава 10\Donkey. Файл сцены называется donkey_end.max.
Глава 11 Визуализация
• Интеграция трехмерной графики и фотографии
• Маскирование объектов
• Объекты в фокусе камеры
• Работаем с Video Post (Видеомонтаж)
Существует много вариантов, позволяющих получить хорошее изображение при визуализации, но при этом всегда найдется способ, чтобы улучшить его. В данной главе мы поговорим о том, как это сделать. Для этого мы рассмотрим методы работы с фотографиями, исследуем возможность улучшения визуализации за счет создания глубины резкости изображения.
Интеграция трехмерной графики и фотографии
Когда я работал в рекламном агентстве, специализирующемся на наружной рекламе, мне часто приходилось иметь дело с проектами, требующими размещения рекламных конструкций на фотографии. В этом упражнении мы поговорим о рекламной конструкции и способе ее подачи в программе 3ds Max. На примере создания стелы для банка я объясню процесс построения целостного изображения на основе трехмерной графики и фотографии.
Предположим, у вас есть идея для проекта, ее конструктивное решение. Но заказчику мало просто описать проект, он хочет видеть его таким, каким он будет в жизни. Попробуем выполнить пожелания заказчика.
Все начинается с фотографии. Прежде всего нужно определить, какого качества необходимо распечатать проект для заказчика. Это служит отправной точкой для задания разрешения при сканировании (если, конечно, вы не пользуетесь цифровым фотоаппаратом). Если фотография имеет размер 9 x 12 см, а вывести на печать нужно формат А4, я сканирую с разрешением 300 dpi и предпочитаю работать с форматом TIFF. Получив цифровое изображение, можно считать подготовительную часть законченной (рис. 11.1).
Рис. 11.1. Отсканированное изображение, которое будет использоваться в качестве фона
Теперь надо разместить фотографию в качестве фонового изображения в окне проекции Perspective (Перспектива), а также в качестве карты окружающей среды, что позволит не только видеть фотографию в окне проекции, но и визуализировать ее. Для этого сделайте следующее.
1. Выполните команду Rendering ► Environment (Визуализация ► Окружающая среда).
2. В свитке Common Parameters (Общие параметры) открывшегося окна Environment and Effects (Окружающая среда и эффекты) щелкните на кнопке None (Отсутствует).
3. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Bitmap (Растровое изображение). Откроется окно Select Bitmap Image File (Выбор растрового изображения).
4. Укажите путь к файлу фонового изображения и щелкните на кнопке Open (Открыть) (рис. 11.2), после чего закройте окно Environment and Effects (Окружающая среда и эффекты).
Рис. 11.2. Свиток Common Parameters (Общие параметры) после добавления файла фонового изображения
СОВЕТ
В окне Select Bitmap Image File (Выбор растрового изображения) не спешите, выбрав файл, щелкать на кнопке Open (Открыть). Обратите внимание на строку статистики внизу окна. Вам понадобится указанное там разрешение изображения в пикселах. Именно этот размер лучше всего выставлять для визуализации проекта как оптимальный с точки зрения качества.
Иногда в процессе работы требуется небольшая коррекция растрового изображения, которую можно выполнить, не выходя из 3ds Max и не загружая его в программы редактирования растровых изображений. Для этого достаточно скопировать карту фонового изображения из свитка Common Parameters (Общие параметры) окна Environment and Effects (Окружающая среда и эффекты) в Material Editor (Редактор материалов). Для копирования сделайте следующее. Откройте редактор материалов, выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов) или нажав клавишу M. Щелкните на кнопке с названием файла фонового изображения в окне Environment and Effects (Окружающая среда и эффекты) и, не отпуская кнопку мыши, перетащите ее в любую свободную ячейку образца материала окна Material Editor (Редактор материалов), а в качестве метода копирования установите Instance (Привязка).
При необходимости редактирования изображения откройте свиток Bitmap Parameters (Параметры растрового изображения) или Output (Результат) в окне Material Editor (Редактор материалов). При помощи этих свитков можно подкорректировать размер выходного изображения, провести цветокоррекцию, изменить яркость, насыщенность и другие параметры растрового изображения.
Теперь нужно разместить это же растровое изображение в окне проекции и изменить параметры визуализации. Для этого сделайте следующее.
1. Выполните команду Views ► Viewport Background (Вид ► Фон окна проекции).
2. В появившемся окне Viewport Background (Фон окна проекции) установите флажки Use Environment Background (Использовать фон окружающей среды) и Display Background (Показать фон).
3. В качестве окна проекции, в котором должен отображаться фон, выберите из раскрывающегося списка Viewport (Окно проекции) строку Perspective (Перспектива) (рис. 11.3).
Рис. 11.3. Окно Viewport Background (Фон окна проекции) с настройками для фонового изображения
4. Закончив настройку, щелкните на кнопке OK.
5. Выполните команду Rendering ► Render (Визуализация ► Визуализировать), в результате чего откроется окно Render Scene (Визуализация сцены).
6. В области Output Size (Выходной размер) свитка Common Parameters (Общие параметры) укажите значение ширины и высоты в пикселах в соответствии с размером фонового изображения (помните, я советовал при открытии файла обратить внимание на размер изображения).
После выполнения данных действий в окне проекции Perspective (Перспектива) появится фотография в качестве фонового изображения.
Проанализируем фоновое изображение. Первое, что нужно сделать, – определить точку в пространстве, с которой производилась съемка (это необходимо для правильной постановки камеры в сцене), а также сделать анализ света и тени (пригодится для выставления источников света).
Начнем с камеры. Фотоаппарат находился на уровне глаз фотографа, значит, и камеру в сцене надо разместить на высоте 1600-1700 мм (за нулевую отметку земли возьмем начало координат по оси Z). Чтобы проще было согласовывать объекты сцены с фоновым изображением, лучше использовать Target Camera (Направленная камера). Target (Цель) камеры будет находиться несколько выше самой камеры, так как фотография предположительно была сделана под небольшим углом. Идеальный вариант – знать реальные размеры объектов на фотографии, например столбов, и расстояние от них до точки съемки, чтобы максимально верно выставить камеру и объекты сцены.
Что же касается освещения на фотографии, то, судя по теням от машины и столба, можно предположить, что солнце находилось слева и немного впереди.
СОВЕТ
Особую роль в работе такого рода играет последовательность действий. В данном примере можно было сначала построить всю геометрию (плоскость земли и саму стелу) согласно реальным размерам, и только потом начинать работу с фотографией. Но гораздо чаще приходится строить объекты, применяя фотографию, то есть заниматься непосредственной подгонкой изображения (например, добавить несколько мелких деталей в интерьер комнаты).
Допустим, что у вас уже есть модель стелы и сейчас нужно только экспортировать ее в сцену.
ПРИМЕЧАНИЕ
Вы можете загрузить объекты сцены из файла stela_start.max, расположенного в папке Examples\Глава 11\Stela прилагаемого к книге DVD.
Чтобы показать тень, падающую от стелы на землю, необходимо построить плоскость. Для этого выполните команду Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость). В окне проекции To p (Сверху) щелкните кнопкой мыши в верхнем левом углу и, удерживая ее нажатой, переместите указатель в правый нижний угол, построив таким образом плоскость (рис. 11.4).
Плоскость нужна для того, чтобы отобразить на ней тень от стелы, поэтому она должна находиться на уровне земли и быть не меньше, чем предполагаемая тень. Кроме того, я использую грани плоскости для выравнивания ее относительно точек схода.
Рис. 11.4. Взаимное расположение объектов сцены
Построив плоскость и установив на нее стелу, можно считать работу с геометрией законченной. Теперь перейдем к построению камеры, для чего сделайте следующее.
1. Выполните команду Create ► Cameras ► Target Camera (Создание ► Камеры ► Направленная камера) главного меню.
2. В окне проекции To p (Сверху) щелкните немного левее стелы и переместите указатель мыши в направлении, противоположном фронтальной стороне стелы. После того как вы отпустите кнопку мыши, камера будет построена.
3. Не снимая выделения с камеры, щелкните правой кнопкой мыши на кнопке Select and Move (Выделить и переместить)
расположенной на панели инструментов.
4. В открывшемся окне Move Transform Type-In (Ввод значений перемещения) задайте абсолютное значение по оси Z равным 1700 (расстояние от земли до камеры). Камера займет свое положение в пространстве по оси Z, и двигать ее в этой плоскости больше не следует (рис. 11.5).
Рис. 11.5. Окно Move Transform Type-In (Ввод значений перемещения) со значением высоты камеры над землей
Теперь окно проекции Perspective (Перспектива) можно заменить окном вида из камеры. Для этого щелкните правой кнопкой мыши на названии окна (в левом верхнем углу) и в появившемся контекстном меню выберите Views ► Camera (Вид ► Камера).
Продолжим настройку положения камеры в пространстве. Для согласования линии горизонта камеры с горизонтом на фотографии надо включить показ горизонта камеры в окне вида из камеры. Для этого выполните следующие действия.
1. Выделите камеру в окне проекции Top (Сверху).
2. Щелкните на вкладке Modify (Изменение)
командной панели, в результате чего появится доступ к настройкам параметров камеры.
3. В свитке Parameters (Параметры) установите флажок Show Horizon (Показать горизонт). В окне проекции появится черная горизонтальная линия, указывающая на положение линии горизонта в пространстве.
На рис. 11.6 показаны составляющие правильной настройки камеры и освещения для фонового изображения.
Рис. 11.6. Схема положения объектов сцены относительно изображения фона
Для наглядности (это не обязательно) я провел две линии: параллельно бордюрному камню и по краю газона (они обычно параллельны). На пересечении мы получили точку схода, а следовательно, и линию горизонта фотографии.
Используя инструмент Select and Move (Выделить и переместить)
передвиньте Target (Цель) камеры по оси Z так, чтобы черная горизонтальная линия (горизонт камеры) совпала с точкой схода. Затем переместите камеру по осям X и Y, чтобы стела заняла то место, которое для нее предназначено, то есть справа от дороги, на газоне. Стелу предполагается расположить перпендикулярно дороге, следовательно, стелу можно установить по левой грани плоскости. Кроме того, она размещена в пространстве так, что ее боковая грань расположена параллельно дороге. На рис. 11.7 показано окончательное расположение камеры и источников света в окне проекции Top (Сверху).
Рис. 11.7. Расположение объектов сцены в окне проекции Top (Сверху)
В сцене будет три источника света: два Omni (Всенаправленный) и Target Direct (Нацеленный направленный). В качестве источника света, который будет генерировать тени, я выбрал Target Direct (Нацеленный направленный), как наиболее близкий по теням к солнцу (у солнца лучи почти параллельны, как и у этого источника света). Он размещен в сцене согласно ранее проведенному анализу фотографии, то есть слева и немного впереди. Для этого источника света сделайте следующее.
1. Выделите Target Direct (Нацеленный направленный) в окне проекции Top (Сверху).
2. Щелкните на вкладке Modify (Изменение)
командной панели, в результате чего появится доступ к настройкам параметров источника света.
3. В области Shadows (Тени) свитка General Parameters (Общие параметры) установите флажок On (Включить).
4. В свитке Shadow Map Params (Параметры карты тени) задайте параметру Size (Размер) значение, равное 1000, что позволит генерировать тень с более ровными краями.
Теперь нужно назначить плоскости материал Matte/Shadow (Матовое покрытие/ тень). Он позволяет объектам принимать тени, при этом оставаясь невидимым. Чтобы присвоить плоскости данный материал и настроить его параметры, выполните следующие действия.
1. Откройте окно Material Editor (Редактор материалов) и выберите любую свободную ячейку образца.
2. Щелкните на кнопке Standard (Стандартный).
3. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Matte/Shadow (Матовое покрытие/тень).
4. В свитке Matte/Shadow Basic Parameters (Основные параметры матового покрытия/тени) настройте параметры материала, как показано на рис. 11.8.
Рис. 11.8. Свиток Matte/Shadow Basic Parameters (Основные параметры матового покрытия/тени) с настройками для плоскости
5. Для присвоения материала плоскости перетащите материал из окна Material Editor (Редактор материалов) на плоскость в окне проекции.
Визуализируйте сцену (рис. 11.9).
Рис. 11.9. Результат визуализации стелы на фоне растрового изображения
В данном случае тень от стелы падала на ровную поверхность земли, а что если тень падает на стену здания с колоннами, окнами и пилястрами? При решении такой задачи нужно имитировать выступы и впадины (можно сделать это приблизительно), и на достаточном расстоянии от камеры вы не заметите неточности в форме тени. Сложнее, если объект показан крупным планом. Чтобы он не казался инородным телом, необходимо подобрать параметр сглаживания при визуализации. Это же относится и к подбору цвета для источников света (надо постараться попасть в цветовую гамму фотографии).
ПРИМЕЧАНИЕ
В папке Examples\Глава 11\Stela прилагаемого к книге DVD находится итоговый файл сцены stеla_end.max.
Маскирование объектов
Техника использования маскированных объектов позволяет создавать визуализацию с помощью фонового изображения и объектов сцены. Простым примером может служить создание анимации, при которой объект сцены – самолет – вылетает из-за скалы, расположенной на фотографии, использованной в качестве фонового изображения.
Рассмотрим похожий пример с использованием автомобиля. Нам понадобится фотография для фонового изображения (рис. 11.10) и модель автомобиля.
Рис. 11.10. Растровое изображение, взятое для использования в качестве фона
Как установить растровое изображение в качестве фона в любое окно проекции и подключить его для последующей визуализации, было подробно рассмотрено в предыдущем разделе. По этой причине я напомню только последовательность работы.
1. Выполнив команду Rendering ► Environment (Визуализация ► Окружающая среда), загрузите растровое изображение фона для использования его при визуализации.
2. Для показа фона в окне проекции Perspective (Перспектива) или вида из камеры выполните команду Views ► Viewport Background (Вид ► Фон окна проекции).
3. Задайте разрешение для визуализации соответственно размерам фонового изображения (как минимум должно соответствовать отношение высоты к ширине, в противном случае будут искажения).
4. Экспортируйте в сцену объекты для работы (в данном случае автомобиль), для чего выполните команду File ► Merge (Файл ► Присоединить) и выберите в окне диалога Merge File (Присоединить файл) файл с моделью автомобиля (рис. 11.11).
Рис. 11.11. Окно вида из камеры с фоновым изображением и моделью автомобиля
ПРИМЕЧАНИЕ
Все необходимое для выполнения задания можно найти на прилагаемом к книге DVD в папке Examples\Глава 11\Mask. Файл сцены называется mask_start.max.
На рис. 11.11 уменьшенная копия модели автомобиля висит над террасой. Такое впечатление создается из-за того, что ограждение террасы оказалось за автомобилем, а также из-за отсутствия тени, которая помогает ориентироваться в трехмерном пространстве.
Чтобы исправить положение, вам понадобится построить плоскость и согласовать ее положение в пространстве с положением автомобиля. Плоскость нужна для того, чтобы автомобиль отбрасывал на нее тень. Для ее построения выполните команду Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость) и расположите плоскость в окне проекции To p (Сверху) под моделью автомобиля. Назначьте плоскости материал Matte/Shadow (Матовое покрытие/тень) с установленным флажком Receive Shadows (Принимать тень) (рис. 11.12).
Рис. 11.12. Модель автомобиля с плоскостью на фоне растрового изображения
Теперь необходимо построить геометрический объект, соответствующий по форме тем участкам растрового изображения, которые надо открыть на фото (пока они скрыты моделью автомобиля).
ВНИМАНИЕ
Если в качестве фона вы планируете использовать анимацию, то объекты, играющие роль масок, должны быть объемными копиями объектов на фотографии. В противном случае маскирование не будет использовано при повороте или движении камеры.
Все, о чем я буду говорить дальше, подходит только для статичных (неподвижных) сцен.
Дальнейшее построение можно вести тремя способами.
■ Если форма маскирующего объекта, которую надо создать, несложная, ее можно строить прямо в окне вида из камеры.
■ Если форма сложная, то необходимо вставить растровое изображение в качестве фона в окно проекции и, используя масштабирование, приблизить его настолько, чтобы было удобно работать с мелкими деталями. После создания такого объекта нужно уточнить его положение в пространстве относительно вида визуализации.
■ Можно создать сплайны в программах векторной графики (например, Adobe Illustrator или CorelDRAW) и импортировать их в 3ds Max.
Воспользуемся первым способом. В качестве объекта, маскирующего автомобиль, я использовал сплайны, к которым затем применил модификатор Edit Mesh (Редактирование поверхности).
Чтобы ничто не мешало в работе, можно скрыть все ненужные в данное время объекты (автомобиль, плоскость, камеру и источники света). Для этого выделите все объекты сцены, щелкнув на кнопке Select by Name (Выделить по имени)
В появившемся окне Select From Scene (Выбор из сцены) нажмите кнопку Select All (Выделить все), а затем – OK. В свитке Hide (Спрятать) вкладки Display (Отображение)
щелкните на кнопке Hide Selected (Спрятать выделенное).
Прежде чем приступить к построению сплайнов, очерчивающих форму деталей растрового изображения (в данном случае это ограждение террасы), нужно выполнить подготовительные действия.
1. В окне проекции Front (Спереди) постройте объект сетки, выполнив команду Create ► Helpers ► Grid (Создание ► Вспомогательные объекты ► Координатная сетка).
2. Выделите созданный объект сетки в окне проекции вида из камеры и выполните команду Tools ► Align to View (Инструменты ► Выровнять по окну проекции).
3. В открывшемся окне Align to View (Выровнять по окну проекции) установите переключатель в положение Align Z (Выровнять по оси Z) (рис. 11.13) и щелкните на кнопке OK для подтверждения принятых изменений.
4. Для увеличения рабочей области при выделенном окне проекции вида из камеры щелкните на кнопке Maximize Viewport Toggle (Увеличение окна проекции до размеров экрана)
в правом нижнем углу окна программы.
5. Сделайте активной плоскость сетки. Для этого выделите объект сетки и выполните команду главного меню Views ► Grid ► Activate Grid Object (Вид ► Координатная сетка ► Активизировать объект сетки).
После выполнения этих действий можно приступать к построению сплайнов. Я использовал объекты Rectangle (Прямоугольник), которые затем присоединил к одному объекту и к которым применил булевы операции для создания цельного сплайна.
ВНИМАНИЕ
Объект, который мы строим, должен находиться перед автомобилем, то есть в окне проекции вида из камеры он должен перекрывать автомобиль.
После редактирования сплайна необходимо применить к нему модификатор Edit Mesh (Редактирование поверхности), выполнив команду Modifiers ► Mesh Editing ► Edit Mesh (Модификаторы ► Редактирование поверхности ► Редактирование поверхности).
В результате должен получиться полигональный объект, закрывающий ограждение террасы (рис. 11.14).
Рис. 11.14. Окно вида из камеры с полигональным объектом, построенным на объекте сетки
Теперь можно приступать к созданию и наложению на построенный объект материала Matte/Shadow (Матовое покрытие/тень).
1. Откройте окно Material Editor (Редактор материалов) и выберите ячейку со свободным материалом.
2. Щелкните на кнопке Standard (Стандартный).
3. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Matte/Shadow (Матовое покрытие/тень).
4. В свитке Matte/Shadow Basic Parameters (Основные параметры матового покрытия/тени) настройте параметры материала, как показано на рис. 11.15.
Осталось только открыть спрятанные ранее объекты и визуализировать вид из камеры. Для этого в свитке Hide (Спрятать) вкладки Display (Отображение) командной панели щелкните на кнопке Unhide All (Показать все), а затем – на кнопке панели инструментов Quick Render (Production) (Быстрая визуализация (итоговая))
В результате должно получиться изображение, показанное на рис. 11.16.
Рис. 11.15. Свиток Matte/Shadow Basic Parameters (Основные параметры матового покрытия/тени) с настройками для объекта маскирования
Рис. 11.16. Окончательная визуализация автомобиля с использованием фонового изображения
ПРИМЕЧАНИЕ
Для просмотра и анализа выполненной работы вы можете загрузить готовую сцену mask_end.max из папки Examples\Глава 11\Mask прилагаемого к книге DVD.
Объекты в фокусе камеры
Вы когда-нибудь задумывались над тем, почему иногда сцены, созданные в программах трехмерного моделирования, выглядят неестественными? Объяснить это можно несколькими причинами – начиная от неверно выставленного освещения и заканчивая неправильным наложением текстур.
В данном разделе я хочу затронуть такую тему, как глубина резкости и фокусное расстояние. Ни для кого не секрет, что, глядя на фотографию, экран телевизора или просто какие-либо предметы на улице или дома, мы не видим все одинаково четким. Это связано с особенностью строения глаза, устройством фотоаппарата и камеры. Однако, невзирая на такой очевидный факт, многие пренебрегают глубиной резкости в своих работах. Разберемся, что такое глубина резкости и фокусное расстояние применительно к сценам в программе 3ds Max.
На примере данного упражнения мы рассмотрим четыре подхода к решению этой задачи.
■ Использование размытия при помощи Video Post (Видеомонтаж).
■ Применение фильтра Depth of Field (Глубина резкости), который относится к Rendering Effects (Эффекты визуализации).
■ Альтернативный метод, который я однажды использовал для выполнения одного из рекламных проектов, связанных с оптикой. Его суть состоит в том, чтобы визуализировать последовательность кадров, изменяя положение камеры в пространстве (Target (Цель) камеры при этом должна оставаться на месте), а затем собрать все кадры вместе, накладывая их друг на друга.
■ Применение возможностей настройки объекта камеры.
Сначала необходимо создать какую-нибудь сцену для последующей работы.
Постройте на плоскости колоннаду из 15 колонн (рис. 11.17).
Установите в сцене Target Camera (Направленная камера). Для этого выполните команду Create ► Cameras ► Target Camera (Создание ► Камеры ► Направленная камера) и в окне проекции Top (Сверху) постройте камеру, направленную на середину колоннады.
ПРИМЕЧАНИЕ
Сцену, подготовленную для данного задания, можно загрузить из файла focus_start.max, расположенного в папке Examples\Глава 11\ Focus прилагаемого к книге DVD.
По поводу создания камеры в сцене хотелось бы сделать небольшое отступление. Некоторые дизайнеры в 80 % случаев работают с перспективой, отодвигая роль камеры на задний план. Я абсолютно не согласен с таким мнением. Кроме того, что камера позволяет более гибко настраивать сцену, вид из камеры получается более естественным, не говоря уже о многих других положительных сторонах применения камеры.
Рис. 11.17. Окно проекции Perspective (Перспектива) со сценой урока
Итак, у нас есть сцена и камера. Обратите внимание, что я установил Target (Цель) камеры на колонну, находящуюся в центре (выделенную цветом), чтобы при настройках глубины резкости, где используются параметры камеры, эта колонна всегда оставалась в фокусе. Я буду настраивать глубину резкости именно по этой колонне – так проще сравнить результаты всех методов.
Чтобы размыть объекты сцены при визуализации, используя Video Post (Видеомонтаж), сделайте следующее.
1. Выполните команду Rendering ► Video Post (Визуализация ► Видеомонтаж).
2. В открывшемся окне Video Post (Видеомонтаж) щелкните на кнопке Add Scene Event (Добавить событие-сцену)
3. В появившемся окне Add Scene Event (Добавить событие-сцену) из раскрывающегося списка выберите вашу камеру и щелкните на кнопке OK.
4. Щелкните на кнопке Add Image Filter Event (Добавить событие фильтрации изображения)
5. В области Filter Plug-In (Модули фильтров) появившегося окна Add Image Filter Event (Добавить событие фильтрации изображения) выберите строку Lens Effects Focus (Эффекты линзы, фокусировка) и щелкните на кнопке OK.
В результате левая часть окна Video Post (Видеомонтаж) примет вид, показанный на рис. 11.18.
Рис. 11.18. Фрагмент окна Video Post (Видеомонтаж)
Дальнейшие действия заключаются в настройке параметров фильтра Lens Effects Focus (Эффекты линзы, фокусировка).
1. В левой части окна Video Post (Видеомонтаж) щелкните дважды на строке Lens Effects Focus (Эффекты линзы, фокусировка).
2. В открывшемся окне Edit Filter Event (Редактирование события фильтрации) щелкните на кнопке Setup (Настройка), чтобы открыть окно настроек фильтра Lens Effects Focus (Эффекты линзы, фокусировка).
3. Чтобы увидеть в окне настроек фильтра Lens Effects Focus (Эффекты линзы, фокусировка) вашу сцену, щелкните на кнопке VP Queue (Очередь видеомонтажа), в результате чего она изменит цвет, а затем нажмите кнопку Preview (Просмотр). При этом в окно предварительного просмотра загрузится вид окна из камеры.
4. Установите переключатель в левой части окна настроек фильтра Lens Effects Focus (Эффекты линзы, фокусировка) в положение Focal Node (Центр фокусировки), что позволит выбрать объект, который будет являться центром фокусировки. При установке переключателя в положение Scene Blur (Размытие сцены) эффект размытия применяется ко всей сцене в целом, а в положение Radial Blur (Радиальное размытие) – размытие сцены происходит радиально, от центра к ее краям.
5. Чтобы указать объект, который будет все время оставаться в фокусе, щелкните на кнопке Select (Выбор) и в появившемся окне Select Focal Object (Выбор объекта фокусировки) выберите из списка колонну, находящуюся в центре (выделенную цветом) (Column22).
6. Измените настройки следующих параметров (в окне просмотра, которое обновляется автоматически, вы увидите сделанные изменения):
• Affect Alfa (Воздействовать на альфа-канал) – воздействие размытия на альфа-канал изображения при 32-битной глубине цвета;
• Horiz/Vert Focal Loss (Расфокусировка по горизонтали/по вертикали) – величина размытия сцены по горизонтали и вертикали в диапазоне от 0 до 100;
• Focal Range (Диапазон фокусировки) – определяет, на каком расстоянии от центра (объекта) начинается размытие;
• Focal Limit (Предел расфокусировки) – расстояние, на котором происходит максимальное размытие сцены.
7. Щелкните на кнопке OK для подтверждения сделанных изменений.
Для визуализации сцены щелкните на кнопке Execute Sequence (Выполнить цепочку)
В открывшемся окне Execute Video Post (Выполнить видеомонтаж) настройте параметры выходного изображения и щелкните на кнопке Render (Визуализировать).
На рис. 11.19 показана сцена с размытием, полученным с использованием модуля Video Post (Видеомонтаж).
Рис. 11.19. Размытие сцены, выполненное в Video Post (Видеомонтаж)
ПРИМЕЧАНИЕ
Сцену, выполненную при помощи модуля Video Post (Видеомонтаж), можно загрузить из файла focus_v1.max, который находится в папке Examples\Глава 11\Focus прилагаемого к книге DVD.
Продолжим разбираться с глубиной резкости и фокусным расстоянием на примере второго способа. Для размытия сцены сделайте следующее.
1. Выполните команду Rendering ► Effects (Визуализация ► Эффекты).
2. В открывшемся окне Environment and Effects (Окружающая среда и эффекты) щелкните на кнопке Add (Добавить).
3. В появившемся окне Add Effect (Добавить эффект) выберите из списка Depth of Field (Глубина резкости) и щелкните на кнопке OK для подтверждения выбора.
После активизации фильтра станет доступным свиток Depth of Field Parameters (Параметры глубины резкости), который позволяет настраивать глубину резкости в сцене. Параметры фильтра Depth of Field (Эффект глубины резкости) во многом повторяют настройки Lens Effects Focus (Эффекты линзы, фокусировка), поэтому я остановлюсь только на некоторых из них.
■ Pick Cam. (Указать камеру) области Cameras (Камеры) позволяет выбрать одну или несколько камер непосредственно в окне проекции.
■ Если в области Focal Point (Точка фокусировки) переключатель установлен в положение Focal Node (Центр фокусировки), то можно выбрать объект для центра фокусировки. Для этого необходимо нажать кнопку Pick Node (Указать центр фокусировки), а затем щелкнуть на объекте в любом из окон проекций. Если в области Focal Point (Точка фокусировки) переключатель установлен в положение Use Camera (Использовать камеру), то можно воспользоваться фокусным расстоянием камеры.
■ В области Focal Parameters (Параметры фокусировки) можно установить переключатель в положение Use Camera (Использовать камеру), тогда характеристики глубины резкости (диапазон и пределы) будут определяться параметрами выбранной камеры.
Измените настройки и выполните визуализацию для просмотра результатов. В области Focal Parameters (Параметры фокусировки) я установил переключатель в положение Use Camera (Использовать камеру) и увеличил значения параметров Horiz Focal Loss (Расфокусировка по горизонтали) и Vert Focal Loss (Расфокусировка по вертикали) до 20. На рис. 11.20 представлено изображение, получившееся у меня при визуализации.
Рис. 11.20. Сцена с использованными эффектами визуализации
ПРИМЕЧАНИЕ
Сцену, выполненную при помощи Environment and Effects (Окружающая среда и эффекты), можно загрузить из файла focus_v2.max, находящегося в папке Examples\Глава 11\Focus прилагаемого к книге DVD.
Перейдем к описанию более сложного, но более правильного с физической точки зрения способа создания размытия.
Два предыдущих способа хороши своей простотой, но они не совсем верно передают эффект глубины резкости. В итоге размытие появляется там, где его не должно быть. По этой причине, когда мне понадобилось делать рекламный плакат, я стал искать альтернативу этим двум методам. Надо заметить, это было время, когда работа велась во второй версии программы 3ds Max и еще не было глубины резкости в настройках камеры, которая появилась только с выходом четвертой версии и решала аналогичные задачи на приемлемом уровне.
Решение проблемы, как оказалось, лежало на поверхности: достаточно было подумать о физических свойствах и принципе работы фотоаппарата. Оно заключается в том, чтобы визуализировать последовательность кадров, изменяя положение камеры в пространстве (цель камеры при этом должна оставаться на месте), а затем собрать все кадры вместе, накладывая их друг на друга.
Используя ту же сцену с камерой, построим дополнительный объект – окружность. Для этого выполните команду Create ► Shapes ► Circle (Создание ► Формы ► Окружность). Радиус окружности должен быть небольшим (у меня он равен 5), хотя сейчас это неважно – позже все равно нужно будет подбирать его под величину размытия. После создания сплайна расположите его так, чтобы камера оказалась внутри окружности, а сам сплайн стал перпендикулярен линии от камеры к ее цели. Выстраивать с абсолютной точностью, применяя дополнительные средства выравнивания, не нужно, достаточно воспользоваться инструментами трансформации Select and Move (Выделить и переместить) и Select and Rotate (Выделить и повернуть). В итоге должно получиться изображение, подобное показанному на рис. 11.21.
Рис. 11.21. Окружность, выровненная относительно камеры
Следующим шагом будет привязка камеры к сплайну. Для этого выделите камеру и выполните команду Animation ► Constraints ► Path Constraint (Анимация ► Ограничения ► Ограничение по пути). В окне проекции Front (Спереди) щелкните на окружности, выбрав ее в качестве сплайна пути. После этого камера сместится в начало сплайна.
Щелкните в правом нижнем углу программы на кнопке Play Animation (Воспроизведение анимации)
для просмотра анимации движения камеры. В окне вида из камеры вы можете проанализировать максимальное размытие, которое получится при применении этого способа. Я, просмотрев анимацию, уменьшил радиус круга до 2,5 для получения более естественного размытия. Здесь наблюдается прямая зависимость: чем больше смещение объектов в процессе выполнения анимации, тем сильнее будет их размытие в итоговой сцене.
После того как вы определитесь с величиной размытия, можно приступать к визуализации. Для этого сделайте следующее.
1. Выполните команду Rendering ► Render (Визуализация ► Визуализировать).
2. В появившемся окне Render Scene (Визуализация сцены) установите переключатель в положение Active Time Segment (Текущий промежуток времени), чтобы задействовать всю шкалу анимации.
3. Для создания эффекта размытия достаточно 10 кадров, поэтому, если у вас шкала 100 кадров, задайте параметру Every Nth Frame (Каждый кадр под номером) значение, равное 10.
СОВЕТ
Если вам необходимо улучшить качество выходного изображения, увеличьте количество визуализируемых кадров.
4. В области Rånder Output (Результат визуализации) щелкните на кнопке Files (Файлы).
5. В открывшемся окне Render Output File (Результирующий файл визуализации) укажите директорию на диске, где будут сохраняться кадры, а также тип файла.
6. Щелкните на кнопке Render (Визуализировать) для начала визуализации и сохранения последовательности кадров.
Для этого способа создания размытия вся работа в программе 3ds Max закончена. Осталось только собрать все визуализированные кадры. Для этого я воспользовался программой Adobe Photoshop (вы же можете применить любое другое приложение для редактирования растровых изображений).
После загрузки всех 10 кадров в Adobe Photoshop надо выбрать любой кадр (файл) и перенести на него изображения с девяти оставшихся. Для этого активизируйте инструмент Move (Перемещение) на панели инструментов и, удерживая нажатой клавишу Shift (что обеспечит полное совпадение слоев), перетаскивайте изображения на выбранный файл. В результате получится изображение, состоящее из 10 слоев. После этого каждому слою, исключая нижний, задайте значение параметра Opacity (Непрозрачность) равным 35 % (подбирается опытным путем). Затем сохраните все как один файл (рис. 11.22).
ПРИМЕЧАНИЕ
Сцену, созданную при помощи альтернативного способа, можно загрузить из файла focus_v3.max, который находится в папке Examples\Глава 11\Focus прилагаемого к книге DVD.
Если сравнить данный способ с предыдущими, то можно отметить несравненно лучший результат. В последних версиях программы 3ds Max добиться такого же результата можно значительно более простым способом. Все то, что с таким трудом мы проделывали в предыдущем методе, нашло свое отражение в свитке Depth of Field Parameters (Параметры глубины резкости) настроек камеры. Рассмотрим подробнее эти возможности.
Рис. 11.22. Эффект глубины резкости, выполненный альтернативным способом
Обратимся к области Multi-Pass Åffect (Многопроходный эффект) свитка Parameters (Параметры) настроек камеры. Здесь нужно установить флажок Enable (Использовать) и выбрать в раскрывающемся списке строку Depth of Field (Глубина резкости) или Motion Blur (Размытие движения), чтобы активизировать соответствующий процесс. Если в этой области щелкнуть на кнопке Preview (Просмотр), то можно увидеть результат размытия в окне проекции.
В области Focal Depth (Глубина фокусировки) свитка Depth of Field Parameters (Параметры глубины резкости) настроек камеры можно установить флажок Use Target Distance (Использовать фокусное расстояние). В таком случае цель камеры будет использоваться как точка, вокруг которой происходит размытие сцены. Если снять флажок, то станет доступным для редактирования параметр Focal Depth (Глубина фокусировки).
Область Sampling (Экземпляры) содержит следующие настройки:
■ Display Passes (Показать проходы) – позволяет показать проходы1 в окне проекции;
■ Use Original Location (Использование первичного положения) – определяет, что проходы будут начинаться с первоначального положения камеры;
1 Чтобы визуализировать один кадр, визуализатор выполняет серию проходов, то есть промежуточных визуализаций со сдвигом камеры по кругу, «складывая» их в одном кадре (полупрозрачные изображения наслаиваются друг на друга, и там, где изображения не совпадают, появляется размытие).
■ Total Passes (Общее количество проходов) – указывает количество проходов для генерации эффекта;
■ Sample Radius (Радиус выборки) – сдвигает сцену на указанное значение при создании размытия (увеличение этого значения ведет к усилению эффекта);
■ Sample Bias (Смещение выборки) – смещает действие эффекта (размытия) к началу или к концу проходов (по умолчанию находится посередине).
В области Pass Blending (Смешивание проходов) можно управлять параметрами сглаживания мультипроходной визуализации (в окне проекции результата сглаживания не видно):
■ Normalize Weights (Нормализовать удельный вес) – уменьшает артефакты при визуализации, увеличивая тем самым степень размытия;
■ Dither Strength (Сила вибрации) – управляет количеством полутонов в мультипроходах;
■ Tile Size (Повторяемость размера) – задает размер перекрытия слоев, используемых в передаче полутонов.
Я подробно остановился на параметрах свитка Depth of Field Parameters (Параметры глубины резкости), чтобы вы могли осознанно настраивать размытие сцены, используя возможности программы.
Свиток Motion Blur Parameters (Параметры размытия движения) почти полностью повторяет вышеперечисленные настройки.
На рис. 11.23 представлен результат визуализации, выполненной при помощи настроек в свитке Depth of Field Parameters (Параметры глубины резкости) для присутствующей в сцене камеры.
Рис. 11.23. Сцена, визуализированная при использовании параметров камеры Depth of Field (Глубина резкости)
ПРИМЕЧАНИЕ
Сцену, использующую настройки свитка Depth of Field Parameters (Параметры глубины резкости) направленной камеры, можно загрузить из файла focus_v4.max, расположенного в папке Examples\Глава 11\Focus прилагаемого к книге DVD.
Таким образом, улучшить визуализированное изображение сцены можно многими способами, но не забывайте про глубину резкости, особенно если вы моделируете большие пространства или нужно сконцентрировать внимание зрителя на одном предмете в сцене.
Работаем с Video Post (Видеомонтаж)
Словосочетание Video Post является производным от термина Post-production – завершающий этап создания фильма, когда происходит окончательная сборка и доводка отснятого материала, наложение спецэффектов, создание переходов. Модуль Video Post (Видеомонтаж) программы 3ds Max не претендует на лидерство среди таких программ постобработки, как Adobe After Effect или Combustion производства Autodesk. Задачи Video Post (Видеомонтаж) значительно скромнее. Тем не менее с его помощью можно быстро и эффективно создавать переходы, эффекты линзы, звездные поля, собирать послойную анимацию, а также решать другие задачи.
Рассмотрим простой пример создания анимации с использованием переходов для трех камер (их количество может быть любым).
Для работы вам понадобится несложная сцена – например примитив Teapot (Чайник), размещенный на Plane (Плоскость) (рис. 11.24), а также три направленные камеры. Их расположение в сцене может быть произвольным.
Рис. 11.24. Сцена, состоящая из примитивов Teapot (Чайник) и Plane (Плоскость)
После построения объектов в сцене необходимо анимировать положение камер в пространстве. Это нужно для последующего построения переходов между анимированными камерами в модуле Video Post (Видеомонтаж). Для анимации камер выполните следующие действия.
1. В окне проекции To p (Сверху) выделите одну из трех камер.
2. Передвиньте ползунок таймера анимации в конец шкалы.
3. Щелкните на кнопке Auto Key (Автоключ) для активизации автоматического создания ключевых кадров.
4. При помощи инструмента Select and Move (Выделить и переместить) передвиньте камеру в пределах видимости чайника.
5. Выделите последовательно вторую и третью камеры и сделайте то же самое по отношению к ним.
6. Щелкните на кнопке Auto Key (Автоключ) для остановки создания ключевых кадров анимации.
Дальнейшие действия будут проводиться в окне Video Post (Видеомонтаж), для вызова которого выполните команду Rendering ► Video Post (Визуализация ► Видеомонтаж).
Окно Video Post (Видеомонтаж) разделено на две части: слева – область Queue (Очередь), справа – область Edit (Редактирование). В области очереди событий видеомонтажа (Queue (Очередь)) формируется список элементов анимации. Форматирование может происходить двумя способами.
■ Последовательно, когда события выполняются по очереди сверху вниз. Обычно это: событие-сцена, событие-фильтр и событие вывода изображения.
■ Иерархически. При таком способе последовательность выполнения задается иерархией событий очереди – от дочерних к родительским.
Окно редактирования позволяет управлять шкалой времени для каждого события. Любая шкала имеет на концах маркеры, передвигая которые, можно изменять диапазон времени.
В верхней части окна расположена панель инструментов.
Перейдем к выполнению задания. Добавьте в очередь события-сцены. Для этого сделайте следующее.
1. Щелкните на кнопке Add Scene Event (Добавить событие-сцену)
расположенной на панели инструментов.
2. В появившемся окне Add Scene Event (Добавить событие-сцену) выберите из раскрывающегося списка в области View (Проекция) окно проекции вида из первой камеры.
3. Щелкните на кнопке OK для подтверждения выбора.
4. Повторите те же действия для двух других камер (рис. 11.25).
Рис. 11.25. Окно Video Post (Видеомонтаж) после добавления событий-сцен
После добавления в очередь видов из трех камер они будут занимать временной интервал, определенный по умолчанию (обычно 100 кадров), от начала и до конца. Нам необходимо указать временные диапазоны для визуализации видов из камеры. В зависимости от того, как изменяется положение камер в пространстве, выделите последовательность воспроизведения анимации для каждой камеры с таким расчетом, что две соседние в последовательности камеры должны иметь по 10-15 общих кадров. Для изменения временного диапазона камеры щелкните на ее концевом маркере и перетащите в нужный кадр, контролируя положение маркера в строке состояния в нижней части окна. Проанализировав сцену, я пришел к выводу, что наилучшего композиционного эффекта можно достигнуть, используя анимацию первой камеры начиная с 0 по 40 кадр, второй – с 25 по 80 и третьей – с 65 по 100 (рис. 11.26).
Рис. 11.26. Окно Video Post (Видеомонтаж) после редактирования временных диапазонов событий сцены
Осталось добавить в окно очереди событий переходы между камерами и событие вывода изображения, и на этом подготовка к визуализации будет закончена. Для этого выполните следующее.
1. Если в очереди есть выделенные события, щелкните на пустом месте поля окна очереди событий для снятия выделения (иначе событие вывода изображения установится только на выделенное событие сцены).
2. Нажмите кнопку Add Image Output Event (Добавить событие вывода изображения)
3. В появившемся окне Add Image Output Event (Добавить событие вывода изображения) щелкните на кнопке Files (Файлы) для открытия окна выбора типа файла и директории для сохранения.
4. Укажите в качестве выходного расширения файла – AVI (видеофайл), выберите директорию для сохранения и щелкните на кнопке OK для подтверждения выбора.
5. Удерживая клавишу Ctrl, щелкните в окне очереди событий на первой и второй камерах для их выделения.
6. Щелкните на кнопке Add Image Layer Event (Добавить событие композиции изображений).
7. В появившемся окне Add Image Layer Event (Добавить событие композиции изображений) выберите из раскрывающегося списка событий строку Cross Fade Transition (Микширование наплывом).
8. Щелкните на кнопке OK для подтверждения выбора.
9. В области Queue (Очередь) выделите Cross Fade Transition (Микширование наплывом) и третью камеру.
10. Повторите вышеописанные действия по добавлению перехода Add Image Layer Event (Добавить событие композиции изображений) для второй и третьей камер.
11 . Отредактируйте временной диапазон для двух событий композиции изображений так, чтобы переход между первой и второй камерой происходил с 25 по 40 кадр, а для второй и третьей – с 65 по 80 (рис. 11.27).
Рис. 11.27. Окончательный вид окна Video Post (Видеомонтаж)
После этого можно запустить процесс визуализации, для чего щелкните на кнопке Execute Sequence (Выполнить цепочку)
расположенной на панели инструментов окна Video Post (Видеомонтаж). В появившемся окне Execute Video Post (Выполнить видеомонтаж) установите желаемый диапазон визуализации и размер выходного изображения, после чего щелкните на кнопке Render (Визуализировать) для начала визуализации.
ПРИМЕЧАНИЕ
На прилагаемом к книге DVD в папке Examples\Глава 11\Videopost находится готовая сцена videopost.max. В папке Video\Глава 11 располагается видеоролик videopost.avi.
В данном разделе мы рассмотрели лишь малую часть возможностей модуля Video Post (Видеомонтаж). С его помощью можно создавать великолепные эффекты и переходы, готовить образы к анимации и т. д. Умелое применение возможностей модуля Video Post (Видеомонтаж) в значительной мере облегчит ваш труд и улучшит качество создаваемых сцен.
Часть 3 Усложненное моделирование
Глава 12. Моделирование автомобиля
Глава 13. Текстурирование автомобиля
Глава 14. Моделирование головы
Для выполнения заданий, содержащихся в данной части книги, вам необходимо обладать запасом знаний начального уровня, которые вы приобрели, изучая разделы предыдущих частей. Задания глав третьей части книги сложны для изучения, но вместе с тем наиболее интересны, например с точки зрения моделирования и конечного результата.
В разделах этой части рассмотрены разработка и текстурирование модели автомобиля, а также два способа моделирования головы со средним уровнем детализации.
Глава 12 Моделирование автомобиля
• Виртуальная студия – начало всех начал
• Создание автомобильного диска при помощи NURBS-моделирования
• Моделирование колеса автомобиля при помощи полигонов
• Моделируем BMW
Моделирование автомобиля является одной из самых интересных задач, которые могут стоять перед пользователем программы 3ds Max. В то же время эта задача достаточно сложна для неискушенных в моделировании людей, поэтому к изучению упражнений этой главы рекомендуется приступать, предварительно ознакомившись с главой, посвященной моделированию более простых объектов. Моделирование автомобиля описано максимально подробно и сведено к выполнению несложных операций, однако конечный результат зависит от того, насколько развито у пользователя чувство объема и пространства. Ему можно научиться, лишь выполняя реальные работы.
Упражнения этой главы построены так, что в результате их последовательного выполнения вы смоделируете автомобиль BMW пятой серии.
Виртуальная студия – начало всех начал
Без преувеличения можно сказать, что с виртуальной студии начинаются многие глобальные проекты, а уж о моделировании техники и персонажей говорить не приходится.
Мне известны как минимум три способа создания виртуальной студии для последующего моделирования объектов сложной геометрической формы. Попробуем разобраться в достоинствах и недостатках каждого из этих способов.
Все начинается с подготовки рисунков для виртуальной студии. Их можно найти как в Интернете, так и в печатных изданиях. Я использовал каталог баварской фирмы BMW. Такой способ имеет преимущество перед поиском изображения в Интернете: можно отсканировать рисунок с достаточно высоким разрешением. Перед использованием в редакторе трехмерной графики изображение необходимо отредактировать. Этот процесс одинаков для всех изображений, независимо от того, каким образом в дальнейшем они будут применяться.
Для моделирования автомобиля нам понадобится как минимум три вида: сбоку, спереди и сзади. Конечно, желательно также иметь и вид сверху, но в крайнем случае можно обойтись и без него. В рассмотренном далее примере использованы материалы, которые я собрал для моделирования автомобиля марки BMW, вы можете работать с любым другим изображением, главное – принцип его подготовки.
Для редактирования сканированных изображений нам понадобится любая программа для работы с растровой графикой, например Adobe Photoshop. На рис. 12.1 представлено изображение автомобиля марки BMW пятой серии, с которым я буду работать.
Первое, что нужно сделать, – выровнять изображения (обычно в одном файле представлено несколько видов машины) по горизонтали и вертикали. Затем следует сделать фон изображения светло-серым. Это нужно для того, чтобы при последующей работе в 3ds Max с подобъектами белого цвета они не сливались с фоном изображения. После этого нужно расставить направляющие так, чтобы они прошли по габаритам автомобиля – это в дальнейшем поможет разрезать изображение на нужные части. Чтобы затемнить фон изображения и расставить направляющие, сделайте следующее.
Рис. 12.1. Исходное изображение автомобиля BMW в нескольких видах
1. Выполните команду Image ► Adjustments ► Brightness/Contrast (Изображение ► Корректировка ► Яркость/контрастность), в результате чего откроется окно диалога Brightness/Contrast (Яркость/контрастность).
2. Параметру Brightness (Яркость) задайте значение -40 (рис. 12.2).
Рис. 12.2. Окно Brightness/Contrast (Яркость/контрастность) программы Adobe Photoshop
3. Если в окне программы Adobe Photoshop отсутствуют линейки в верхней и левой частях окна, то откройте их с помощью сочетания клавиш Ctrl+R.
4. Для создания горизонтальной направляющей щелкните кнопкой мыши на верхней линейке и, удерживая кнопку нажатой, перетащите направляющую на место изображения, обозначающее габариты автомобиля.
5. Для создания вертикальной направляющей нужно щелкнуть на линейке в левой части окна и перетащить указатель на изображение.
Положение направляющих показано на рис. 12.3.
Теперь нужно проверить размеры видов спереди и сзади – они должны быть равны по ширине и высоте. Сделать это довольно просто: достаточно с помощью инструмента выделения
расположенного на палитре инструментов, обвести прямоугольник, образованный направляющими, ограничивающими вид автомобиля спереди, и посмотреть размеры в окне Info (Информация) (рис. 12.4), затем то же сделать с видом машины сзади.
Рис. 12.3. Положение направляющих на изображении
Если размеры различаются, то нужно их подкорректировать. То же самое делается по отношению к видам сбоку и сверху (такого рода сравнение и корректировку можно сделать, используя прозрачные слои).
Далее все очень просто: изображение необходимо разрезать на части и сохранить на диске. Для этой цели вы можете воспользоваться инструментом Crop (Обрезка). На рис. 12.5 показан результат выполнения описанных выше операций.
Конечно, эту работу можно проделать в других программах другим способом. Главное, чтобы в итоге вы получили отдельные изображения проекций автомобиля, сопоставимых по размерам.
ПРИМЕЧАНИЕ
Почти все, изложенное выше, можно выполнить и в окне Material Editor (Редактор материалов) программы 3ds Max: загрузить изображение в качестве карты Diffuse Color (Цвет рассеивания), затем, используя область Cropping/Placement (Обрезка/размещение) настроек карты, вырезать только ту часть изображения, которая нужна для наложения на плоскость в качестве текстуры.
Не забывайте, что при сохранении изображений предпочтительно давать им значимые имена, чтобы потом не путаться. Изображения такого рода я сохраняю в формате PNG, так как он обеспечивает максимальное качество при минимальном размере.
Рис. 12.4. Окно Info (Информация) с размерами выделенного фрагмента
Рис. 12.5. Проекции автомобиля, отредактированные в программе Adobe Photoshop
На этом работу с программой редактирования растровой графики можно считать законченной. Переходим к 3ds Max.
ПРИМЕЧАНИЕ
При желании вы можете воспользоваться материалами, находящимися на прилагаемом DVD в папке Examples\Глава 12\Car blueprint.
Первый способ построения студии
Первая и самая простая виртуальная студия – это когда в качестве фонового изображения в окнах проекций соответствующие проекции автомобиля используются следующим образом.
1. Выполните команду Views ► Viewport Background (Вид ► Фон окна проекции), в результате чего откроется окно диалога Viewport Background (Фон окна проекции).
2. В области Background Source (Источник фона) щелкните на кнопке Files (Файлы), появится окно Select Background Image (Выбор изображения фона).
3. Укажите путь к файлу, который будет служить изображением фона (например, вид автомобиля сверху).
4. Установите переключатель Aspect Ratio (Пропорции) в положение Match Bitmap (По изображению).
5. Установите флажки Display Background (Показать фон) и Lock Zoom/Pan (Согласовать масштаб/прокрутку).
6. В качестве окна проекции, в котором должен отображаться фон, выберите из раскрывающегося списка Viewport (Окно проекции) значение Top (Сверху), то есть окно вида сверху.
7. Закончив настройку, щелкните на кнопке OK.
8. Повторите вышеописанные действия для окна проекции фронтального и бокового видов (рис. 12.6).
Рис. 12.6. Виртуальная студия, размещенная в окнах проекций
Чтобы выровнять изображения в окнах проекций относительно друг друга, необходимо снять флажок Lock Zoom/Pan (Согласовать масштаб/прокрутку) в окне Viewport Background (Фон окна проекции) для окна проекции Front (Спереди) (в нашем случае там оно больше, чем нужно) и изменить масштаб изображения.
СОВЕТ
Управлять привязкой объекта к фоновому изображению проще всего, используя сочетания клавиш (по умолчанию Ctrl+Alt+B).
Достоинством этого способа является то, что в сцене нет дополнительной геометрии, а также то, что такую студию относительно легко создать. Пожалуй, на этом все достоинства заканчиваются. Недостатков больше. Кроме того, что изображения после их загрузки необходимо приводить к общим размерам, в процессе работы они деформируются или смещаются. К тому же в окна можно загрузить только три изображения (окно перспективы не считается – оно необходимо для работы с геометрией и общего контроля), а изображений, которые могут быть использованы, – шесть.
Таким образом, это не самый лучший метод, поэтому не рекомендую его для серьезной работы.
Второй способ построения студии
Второй способ создания виртуальной студии – это построение пересекающихся (крестообразный способ) (рис. 12.7, сверху) или примыкающих друг к другу (Г-образный способ) (рис. 12.7, снизу) объектов Plane (Плоскость). Эти два способа очень похожи, поэтому я выделил их в одну категорию.
Как видите, здесь присутствуют примитивы Plane (Плоскость), размеры которых соответствуют изображениям (или реальным размерам объекта). Создадим реальную студию на основе подготовленных изображений для нашего автомобиля.
Сначала обратимся к размерам автомобиля: они присутствуют на чертеже. Это поможет нам при моделировании (всегда проще оперировать реальными размерами). Итак, высота машины – 1435 мм, ширина – 1981 мм, а длина – 4775 мм. Исходя из этих размеров построим три примитива Plane (Плоскость) следующим образом.
1. Щелкните в окне проекции Front (Спереди) для активизации окна.
2. Выполните команду Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость), в результате чего в правой части окна программы откроется вкладка Create (Создание) с активной панелью создания плоскости.
3. В свитке Keyboard Entry (Ввод с клавиатуры) задайте параметру Length (Длина) значение, равное 1435, а Width (Ширина) – 1981 (рис. 12.8).
4. Щелкните на кнопке Create (Создать) для завершения построения плоскости.
Рис. 12.7. Два варианта виртуальной студии с использованием плоскостей: крестообразный (сверху) и Г-образный (снизу)
Рис. 12.8. Свиток Keyboard Entry (Ввод с клавиатуры) с размерами плоскости для фронтального вида
5. Чтобы построить вторую плоскость, щелкните в окне проекции To p (Сверху) для его активизации.
6. В свитке Keyboard Entry (Ввод с клавиатуры) параметру Length (Длина) задайте значение, равное 4775, а Width (Ширина) – 1981.
7. Щелкните на кнопке Create (Создать) для завершения построения второй плоскости.
8. Выделив окно проекции Left (Cлева), в свитке Keyboard Entry (Ввод с клавиатуры) параметру Length (Длина) задайте значение, равное 1435, а Width (Ширина) – 4775.
9. Щелкните на кнопке Create (Создать) для завершения построения третьей плоскости.
В результате вы получите пересекающиеся в начале координат плоскости, составляющие геометрию виртуальной студии (см. рис. 12.7, сверху).
СОВЕТ
Построение плоскостей в начале координат в дальнейшем облегчит вам создание зеркального отображения деталей автомобиля.
Сейчас, когда построена геометрия, можно приступить к присвоению плоскостям текстур. Выполните следующие действия.
1. Откройте окно Material Editor (Редактор материалов) и выберите любую свободную ячейку образца.
2. Щелкните на кнопке None (Отсутствует) рядом с Diffuse Color (Цвет рассеивания) в свитке Maps (Карты текстур).
3. В открывшемся окне диалога Material/Map Browser (Окно выбора материалов и карт) выберите из списка Bitmap (Растровое изображение).
4. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу изображения автомобиля сверху и щелкните на кнопке Открыть для завершения выбора файла.
5. Нажмите кнопку Go to Parent (Вернуться к исходному).
6. В поле области Self-Illumination (Собственное свечение) свитка материала Blinn Basic Parameters (Базовые параметры раскраски по Блинну) укажите значение, равное 100, что позволит более четко отобразить текстуру на плоскости (рис. 12.9).
Рис. 12.9. Свиток материала Blinn Basic Parameters (Базовые параметры раскраски по Блинну) с настройками для материала виртуальной студии
7. Щелкните на материале кнопкой мыши и, удерживая ее нажатой, перетащите на плоскость в окне проекции, предназначенную для текстуры вида автомобиля сверху. После того как вы отпустите кнопку, плоскости будет присвоен ранее созданный материал.
8. На панели инструментов окна Material Editor (Редактор материалов) щелкните на кнопке Show Map in Viewport (Показать карту текстуры в окне проекции)
чтобы увидеть текстуру, присвоенную плоскости.
Вполне возможно, что после присвоения плоскости созданного вами материала текстура окажется повернутой относительно оси плоскости (рис. 12.10).
Рис. 12.10. Плоскость с развернутым изображением автомобиля на виде сверху
Чтобы исправить положение текстуры на плоскости, в свитке Maps (Карты текстур) окна Material Editor (Редактор материалов) щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) – откроются поля настроек карты цвета рассеивания. В свитке Coordinates (Координаты) введите значение Angle (Угол) поля поворота по оси W, равное 90 (у вас это может быть ось V или U) (рис. 12.11).
Рис. 12.11. Свиток Coordinates (Координаты) со значением угла поворота по оси W, равным 90
Для присвоения материала двум другим плоскостям выполните аналогичные действия с той разницей, что для каждой плоскости должна выбираться своя растровая текстура и размещение ее – контролироваться сообразно положению остальных. На видах сбоку и сверху передняя часть автомобиля должна быть направлена в одну сторону. Для построения плоскости вида автомобиля сзади выполните следующие действия.
1. Удерживая нажатой клавишу Shift, щелкните на плоскости с текстурной картой автомобиля вида спереди и сдвиньте ее на небольшое расстояние по оси X. В результате откроется окно Clone Options (Параметры клонирования).
2. Выберите в качестве способа копирования Copy (Независимая копия объекта) и щелкните на кнопке OK.
3. Создайте новый материал с текстурной картой автомобиля вида сзади и присвойте его вновь созданной плоскости (рис. 12.12).
Рис. 12.12. Виртуальная студия, построенная из пересекающихся плоскостей
Для окончания работы с виртуальной студией выполните следующие действия.
1. Щелкните правой кнопкой мыши на имени окна проекции Perspective (Перспектива). Появится меню окна проекции. Щелкните в нем на пункте Configure (Конфигурировать) – появится окно Viewport Configuration (Конфигурирование окна проекции).
2. В области Rendering Options (Параметры визуализации) установите флажок Force 2-Sided (Изображать обе стороны) и щелкните на кнопке OK.
3. Выделите все три плоскости. В окне проекции щелкните вне объектов сцены и, удерживая нажатой кнопку мыши, перетащите указатель по диагонали через объекты, создавая таким образом область выделения.
4. Щелкните на выделении правой кнопкой мыши. Появится контекстное меню, в котором выберите пункт Object Properties (Свойства объекта).
5. В области Interactivity (Интерактивность) открывшегося окна Object Properties (Свойства объекта) установите флажок Freeze (Фиксировать), а в области Display Properties (Свойства отображения) снимите флажок Show Frozen in Gray (Показывать зафиксированное серым).
6. Щелкните на кнопке OK для подтверждения сделанных изменений.
Что дают эти действия? Во-первых, вы установили возможность отображения двух сторон для плоскости. В противном случае при повороте плоскости в окне проекции вы не увидите обратной стороны, которая по умолчанию не отображается. Во-вторых, вы заблокировали виртуальную студию от случайного смещения во время работы.
ПРИМЕЧАНИЕ
Если у вас возникли вопросы по созданию студии, обратитесь к файлу упражнения studio_v2, расположенному в папке Examples\Глава 12\Studio прилагаемого к книге DVD.
Такая виртуальная студия, несомненно, лучше предыдущей. С ней проще работать, ее легко создать. Хотя с крестообразной постановкой плоскостей работать сложнее, чем с Г-образной, так как плоскости пересекаются в середине моделируемого объекта и зачастую закрывают половину подобъектов (вершины, ребра и т. д.). В свою очередь, Г-образное расположение не позволяет работать сразу со всеми видами. В данном случае и приходит на помощь третий способ построения студии. Сначала этот способ появился у меня как модификация второго, но потом, в процессе работы, он сформировался в самостоятельный и, на мой взгляд, является оптимальным для такого рода моделирования. Рассмотрим его подробнее.
Для разработки студии создайте примитив Box (Параллелепипед), длина, ширина и высота которого будут соответствовать размерам вашего объекта.
1. Выполните команду Create ► Standard Primitives ► Box (Создание ► Простые примитивы ► Параллелепипед), в результате чего в правой части окна программы откроется вкладка Create (Создание) с активной панелью создания параллелепипеда.
2. В свитке Keyboard Entry (Ввод с клавиатуры) задайте параметрам следующие значения: Length (Длина) – 4775, Width (Ширина) – 1981, Height (Высота) – 1435.
3. Щелкните на кнопке Create (Создание) для завершения построения параллелепипеда.
4. Добавьте в стек модификатор Normal (Нормаль), для чего выполните команду Modifiers ► Mesh Editing ► Normal Modifer (Модификаторы ► Редактирование поверхности ► Нормаль). Установите в его настройках флажок Flip Normals (Обратить нормали), в результате чего будет построена геометрия студии (рис. 12.13).
Рис. 12.13. Параметрический объект – параллелепипед с перевернутыми нормалями
ПРИМЕЧАНИЕ___________________________________________________________
Если при установке флажка Flip Normals (Обратить нормали) вы не видите внутренних полигонов параллелепипеда, выполните следующие действия: в свитке Display Properties (Свойства отображения) вкладки Display (Отображение)
командной панели установите флажок Backface Cull (Выбрать невидимую поверхность).
Не лишним будет после построения параллелепипеда заблокировать его от случайного смещения (как это делается, рассмотрено выше на примере второго варианта студии).
Теперь можно переходить к наложению текстур на плоскости параллелепипеда. Для этого сделайте следующее.
1. Откройте окно Material Editor (Редактор материалов) и выберите любую свободную ячейку образца.
2. Щелкните на кнопке Standard (Стандартный). В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Multi/Sub-Object (Многокомпонентный). Щелкните на кнопке OK для подтверждения выбора.
3. В свитке Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала) нажмите кнопку Set Number (Установить количество) и задайте количество материалов равным количеству плоскостей параллелепипеда, то есть шести.
4. Назначьте материалам различные цвета, чтобы увидеть, какой плоскости будет соответствовать тот или иной материал (рис. 12.14).
5. Для присвоения материала параллелепипеду перетащите образец материала из ячейки на объект в окне проекции.
Рис. 12.14. Свиток Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала)
В окне проекции стороны параллелепипеда окрасятся в цвета, соответствующие ранее созданному материалу. Все это делалось только с одной целью – идентифицировать стороны параллелепипеда, чтобы знать, какой стороне какой материал соответствует.
Далее мы будем работать с окном диалога Asset Browser (Окно просмотра ресурсов), для вызова которого перейдите на вкладку Utilities (Утилиты) командной панели и щелкните на кнопке Asset Browser (Окно просмотра ресурсов).
В левой части окна Asset Browser (Окно просмотра ресурсов) укажите путь к файлам видов автомобиля. В правой части появятся значки с изображением этих видов (рис. 12.15).
Рис. 12.15. Окно Asset Browser (Окно просмотра ресурсов)
Сейчас вам пригодятся разноцветные материалы, которые создавались ранее, чтобы знать, какую текстуру на какую сторону параллелепипеда накладывать. Делается это просто: нужно мышью перетащить текстуру из окна Asset Browser (Окно просмотра ресурсов) на соответствующую кнопку материала Multi/Sub-Object (Многокомпонентный) в свитке Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала) окна Material Editor (Редактор материалов).
Например, если у вас нижняя часть параллелепипеда зеленого цвета, то и текстура вида сверху предназначается для материала с зеленым цветом.
Конечно, есть возможность накладывать текстуры и традиционным способом – непосредственно из окна Material Editor (Редактор материалов), но мне кажется, так проще.
Если после присвоения материалу текстур вы не видите их на параллелепипеде в окнах проекций, то щелкните на кнопке Show Map in Viewport (Отобразить карту в окне проекции)
После этого внимательно оцените расположение текстур на параллелепипеде – скорее всего, не все текстурные карты будут размещены на плоскостях так, как нам необходимо. У меня некорректно отобразился вид сверху и одна сторона (рис. 12.16).
Рис. 12.16. Виртуальная студия с присвоенными текстурными картами по умолчанию
Это легко исправить – достаточно изменить координаты наложения текстуры. Как это сделать, рассматривалось выше на примере второго способа построения студии. Напомню лишь, что это делается в свитке Coordinates (Координаты) с помощью параметра Angle (Угол). У меня для текстуры вида сбоку понадобилось изменить величину угла V на 180, а для вида сверху – W на 90 (рис. 12.17).
Этот вариант, на мой взгляд, лучший из тех, которые мы рассмотрели. У него нет явных недостатков, с ним легко работать, и такая студия максимально удобна для моделирования.
Наконец, последняя деталь в создании студии, но далеко не последняя по значимости. Чтобы текстурные карты в окнах проекций выглядели с максимальным качеством, нужно изменить настройки отображения в окнах проекций. Для этого сделайте следующее.
Рис. 12.17. Окончательный вид виртуальной студии
1. Выполните команду Customize ► Preferences (Настройка ► Параметры).
2. В открывшемся окне Preference Settings (Параметры установок) перейдите на вкладку Viewports (Окна проекций), щелкните на кнопке Configure Driver (Настроить драйвер) (в моем случае это OpenGL), после чего откроется окно диалога Configure (Конфигурировать).
3. Установите флажки Match Bitmap Size as Closely as Possible (По изображению насколько возможно точно) (рис. 12.18).
Рис. 12.18. Параметры настройки драйвера отображения
На этом упражнение по созданию виртуальной студии можно считать законченным.
ПРИМЕЧАНИЕ
На прилагаемом DVD в папке Examples\Глава 12\Studio находится описанный вариант виртуальной студии studio_v3.max.
Создание автомобильного диска при помощи NURBS-моделирования
Работать в 3ds Max, используя технологию NURBS, непросто. Не потому, что это сложная для освоения часть программы, – просто не без основания считается, что 3ds Max не совсем корректно работает с данной технологией. Должен заметить, что некоторые объекты все же легче и быстрее смоделировать именно так, нежели при помощи сплайнов, сеток или полигонов, причем выглядеть при визуализации они будут ничуть не хуже, а порой даже лучше.
Как обычно, для работы вам понадобится фотография, карандашный набросок или воображаемая модель объекта, который предстоит моделировать. Прежде чем начинать моделирование, вы должны представлять себе то, что должно получиться в конце работы. В настоящем задании мы будем моделировать диск автомобиля Koenigsegg CC (рис. 12.19).
Моделировать данный диск при помощи сплайнов или полигонов достаточно затруднительно, а используя NURBS, можно построить его без особого труда.
Форма диска сама подсказывает путь, по которому лучше идти. В основу можно положить объект, сделанный при помощи модификатора вращения, а затем прорезать в нем отверстия. Пользователям, знакомым с основами моделирования, покажется логичным построить кривую формы вращения традиционным способом при помощи сплайна, а затем преобразовать его в NURBS-кривую. Не торопитесь так поступать. За этим, казалось бы, правильным решением могут скрываться «подводные камни», которые нужно научиться обходить для успешной работы.
На рис. 12.20 представлены три NURBS-кривые, выполненные различными способами и имеющие в основе построения шесть точек с одинаковыми координатами.
Рис. 12.19. Фотография автомобильного диска, предназначенного для моделирования
Рис. 12.20. Три NURBS-кривые, выполненные различными способами
Первая кривая была создана при помощи стандартного метода построения сплайнов. Чтобы сделать такую кривую, выполните команду Create ► Shapes ► Line (Создание ► Формы ► Линия), а затем преобразуйте ее в NURBS-кривую, щелкнув правой кнопкой мыши на сплайне и выбрав в контекстном меню Convert To ► Convert to NURBS (Преобразовать ► Преобразовать в NURBS). В результате вы получите NURBS-кривую, имеющую избыточное количество контрольных точек. Кроме того, кривая состоит из отдельных, ограниченных фиолетовыми точками, отрезков. Они образовались в местах расположения угловых вершин (типа Corner (Угол)). Если вы сейчас попробуете применить к этой кривой команду Create Lathe Surfañe (Создать поверхность вращением) из области Surfaces (Поверхности) плавающей панели NURBS, то не сможете этого сделать, так как вращение будет применяться к отдельным отрезкам, а не к кривой в целом. Отсюда вытекает первое правило: если сплайн строится для последующего преобразования в NURBS, он не должен содержать угловых точек.
Вторая и третья кривые были созданы при помощи команд Create ► NURBS ► Point Curve (Создать ►NURBS ► Точечная кривая) и Create ► NURBS ► CV Curve (Создать ► NURBS ► CV-кривая) соответственно. В этом случае получаются две кривые, в основу которых положены разные способы интерполяции. Предпочтительнее строить команду CV Curve (CV-кривая), так как кривая получается более сглаженной. Можно использовать любой способ, только не забывайте, что не стоит применять угловые точки.
Кроме использования NURBS-кривых для создания объекта методом вращения, можно строить его обычным способом, применяя модификатор Lathe (Вращение вокруг оси) с последующим преобразованием в NURBS. Именно этим способом начните строить диск. Для этого сделайте следующее.
1. Выполните команду Create ► Shapes ► Line (Создание ► Формы ► Линия).
2. В окне проекции To p (Сверху) постройте кривую, которая будет являться формой вращения (рис. 12.21).
3. Примените к построенному сплайну модификатор создания формы вращением: в любом окне проекции выделите кривую и выполните команду Modifiers ► Patch/Spline Editing ► Lathe (Модификаторы ► Редактирование патчей/ сплайнов ► Вращение).
4. В области Align (Выравнивание) свитка Parameters (Параметры) настроек модификатора щелкните на кнопке Min (Минимум).
5. Переключатель Output (Результат) установите в положение NURBS.
6. При необходимости установите флажок Flip Normals (Обратить нормали).
У вас получится объект общей формы диска (рис. 12.22).
При необходимости подкорректируйте геометрию. Выберите в стеке модификаторов строку Line (Линия) и уточните местоположение точек или сегментов кривой в пространстве.
После того как основная геометрия выверена, можно приступать к построению окружности, которая в дальнейшем послужит формой для вырезания отверстий в диске. Для этого сделайте следующее.
1. Выполните команду Create ► Shapes ► Circle (Создание ► Формы ► Окружность) и постройте окружность в окне проекции Front (Спереди) перед диском (проконтролируйте результат в окне проекции To p (Сверху)).
Рис. 12.21. Кривая формы вращения для построения автомобильного диска
Рис. 12.22. Заготовка для автомобильного диска, полученная методом вращения сплайна формы
2. Преобразуйте окружность в Editable Spline (Редактируемый сплайн), для чего щелкните на ней правой кнопкой мыши и в появившемся контекстном меню выберите Convert To ► Convert to Editable Spline (Преобразовать ► Преобразовать в редактируемый сплайн).
3. Выделите нижнюю вершину окружности, а затем передвиньте ее немного вниз (рис. 12.23).
Дальнейшее построение будет связано с созданием копий окружности. Чтобы сделать копии окружности и расположить их внутри диска по кругу, необходимо переместить в его центр точку вращения сплайна. Для этого выполните следующее.
1. Выделите окружность и перейдите на вкладку Hierarchy (Иерархия)
командной панели.
2. В свитке Adjust Pivot (Настройка опоры) щелкните на кнопке Affect Pivot Only (Только опора), в результате чего появится возможность редактировать положение опорной точки в пространстве.
3. Переместите опорную точку так, чтобы она заняла положение в центре диска (рис. 12.24).
Рис. 12.23. Положение и форма окружности относительно диска
Рис. 12.24. Положение опорной точки окружности в пространстве
4. Еще раз щелкните на кнопке Affect Pivot Only (Только опора) для отмены режима редактирования опорной точки.
Теперь все готово для копирования окружностей. Лучше и проще воспользоваться для этих целей инструментом Array (Массив). Для этого сделайте следующее.
1. Выделите окружность в окне проекции Front (Спереди).
2. Выполните команду Tools ► Array (Инструменты ► Массив).
3. В открывшемся окне Array (Массив) задайте угол поворота, количество объектов копирования и способ копирования, как показано на рис. 12.25.
Рис. 12.25. Окно Array (Массив) с настройками копирования окружности
4. Щелкните на кнопке OK для подтверждения выполненных изменений.
В результате вы получите пять окружностей, расположенных по кругу. Теперь нужно сделать небольшую, но очень важную операцию с группой окружностей. Выделите все окружности и поверните их вокруг точки вращения так, чтобы ни одна из окружностей не пересекала сплайн, который является контуром для объекта вращения диска. В вашем случае он расположен горизонтально справа от центра в месте построения формы вращения.
ПРИМЕЧАНИЕ
В этом месте диск имеет шов (фактически мы его не видим). При проецировании сплайнов на поверхность диска шов разделит проекцию попавшей на него окружности на два независимых сплайна. Это в дальнейшем может не только затруднить работу, но в некоторых случаях сделать ее невозможной.
На рис. 12.26 показано окно проекции Front (Спереди) после поворота сплайнов.
ПРИМЕЧАНИЕ
При желании вы можете загрузить из папки Examples\Глава 12\NURBS_disk прилагаемого DVD сцену disk_start.max с построенными окружностями и диском и начать работу с этого места.
Рис. 12.26. Окончательное положение окружностей относительно диска
Для дальнейшей работы необходимо преобразовать диск в объект NURBS-поверхность. Для этого щелкните на диске правой кнопкой мыши и в появившемся контекстном меню выберите Convert To ► Convert to NURBS (Преобразовать ► Преобразовать в NURBS). Далее необходимо сделать то же самое по отношению к пяти окружностям, для чего можно выделить сразу все сплайны и ко всем одновременно применить Convert To ► Convert to NURBS (Преобразовать ► Преобразовать в NURBS). Следующим шагом будет присоединение сплайнов к NURBS-объекту и проецирование их на поверхность.
1. Выделите диск (если он не выделен).
2. В свитке General (Общие) командной панели щелкните на кнопке Attach (Присоединить) и в окне проекции Front (Спереди) последовательно выберите все пять окружностей. Теперь окружности принадлежат диску и их можно спроецировать на поверхность.
3. В свитке General (Общие) щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов)
для вызова плавающей палитры NURBS с инструментами создания кривых и поверхностей.
4. На палитре NURBS нажмите кнопку Create Vector Projected Curve (Создать проекцию кривой по вектору)
в результате чего кнопка изменит цвет.
5. В окне проекции Front (Спереди) выберите окружность и щелкните на поверхности диска рядом с ней. На плоскости диска появится кривая, лежащая на поверхности.
ВНИМАНИЕ
Проецировать кривую на поверхность необходимо только в окне проекции Front (Спереди), в противном случае проекции будут иметь искажения.
6. В свитке Vector Projected Curve (Проекция кривой по вектору) вкладки Modify (Изменение) командной панели установите флажок Trim (Обрезать) и при необходимости – Flip Trim (Обратить обрезанное). В результате на поверхности диска появится отверстие (рис. 12.27).
7. Повторите действия по выделению, проецированию и вырезанию отверстия для оставшихся четырех окружностей (рис. 12.28).
Рис. 12.27. Диск с прорезанным отверстием
Рис. 12.28. Диск со всеми прорезанными отверстиями
В дальнейшем для создания объемности диска вам понадобятся еще пять окружностей. Конечно, можно сделать еще одну поверхность внутри диска, таким образом сформировав внутреннюю сторону, но там она никогда не будет видна, и поэтому достаточно придать отверстиям толщину.
Для упрощения дальнейшей работы необходимо временно отключить отображение поверхности: в области Display (Отображение) свитка General (Общие) снимите флажок Surfaces (Поверхности). Можно также удалить сплайны окружностей, если вы не собираетесь редактировать форму отверстий. Кроме того, желательно оптимизировать сплайны, формирующие отверстия, так как после построения они имеют избыточное количество вершин. Для этого выполните следующие действия.
1. Перейдите на уровень подобъектов Curve (Кривая), для чего щелкните на соответствующей строке на вкладке Modify (Изменение) командной панели (рис. 12.29).
Рис. 12.29. Переход в режим редактирования подобъектов Curve (Кривая) для объекта Disk
2. Выделите кривую, очерчивающую отверстие.
3. В свитке CV Curve (CV-кривая) щелкните на кнопке Rebuild (Перестроить).
4. В открывшемся окне Rebuild CV Curve (Перестроить CV-кривую) установите переключатель в положение Tolerance (Отклонение), задайте данному параметру значение, равное 0,1, и щелкните на кнопке OK (рис. 12.30).
Рис. 12.30. Окно Rebuild CV Curve (Перестроить CV-кривую)
5. Выполните аналогичные действия для оставшихся кривых.
Продолжим моделирование и построим новые сплайны окружностей. Все делается аналогично, с той разницей, что сейчас они не будут проецироваться на поверхность, а сами будут являться контуром будущей поверхности. Напомню последовательность действий.
1. В окне проекции Front (Спереди) постройте окружность, по положению и размерам равную одному из отверстий.
2. Преобразуйте ее в Editable Spline (Редактируемый сплайн).
3. Отредактируйте положение сплайна и его вершин так, чтобы он находился позади передней поверхности диска, а в окне проекции To p (Сверху) был изогнут внутрь (рис. 12.31).
Рис. 12.31. Положение и форма отредактированной окружности для построения глубины отверстий диска
После построения и редактирования положения внутренней окружности в пространстве копируйте ее при помощи команды Array (Массив), предварительно выставив ось вращения в середину диска. Как это делается, было рассмотрено выше на примере внешних окружностей.
Сейчас вновь созданные окружности необходимо присоединить к диску при помощи команды Attach (Присоединить). Подобная операция уже была описана, поэтому не буду повторяться. После того как вы присоедините построенные окружности к диску, можно придать толщину отверстиям следующим образом.
1. В свитке General (Общие) щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов)
для вызова плавающей палитры NURBS с инструментами создания кривых и поверхностей.
2. На палитре NURBS нажмите кнопку Create U Loft Surface (Создать поверхность методом U-лофтинга)
в результате чего кнопка изменит цвет.
3. В окне проекции Front (Спереди) щелкните на одной из пяти окружностей, описывающей границу отверстия, а затем на сплайне позади этого отверстия. В результате между отверстием и сплайном будет построена новая поверхность.
4. Щелкните правой кнопкой мыши для завершения выбора сплайнов.
5. В свитке U Loft Surface (Поверхность U-лофтинга) установите флажок Auto Align Curve Starts (Автоматически выравнивать начала кривых) и при необходимости – Flip Normals (Обратить нормали) (рис. 12.32).
6. Повторите вышеописанные действия для оставшихся четырех отверстий.
На данном этапе еще можно подкорректировать кривые окружностей и их положение в пространстве, если в этом есть необходимость. Я отодвинул кривые окружностей немного вглубь диска, чтобы увеличить толщину стенок отверстий (рис. 12.33).
Рис. 12.32. Свиток с настройками отображения построенной поверхности
Рис. 12.33. Диск с построенными стенками отверстий
Чтобы края отверстий выглядели как на реальном диске, им нужно придать некоторую округлость. Для этого выполните следующие действия.
1. В свитке General (Общие) щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов)
для вызова плавающей палитры NURBS с инструментами создания кривых и поверхностей.
2. Щелкните на кнопке Create Fillet Surface (Создать поверхность-фаску)
плавающей палитры NURBS, в результате чего кнопка изменит цвет.
3. В окне проекции Front (Спереди) щелкните на поверхности диска, а затем на плоскости толщины отверстия. В результате на границе двух плоскостей будет построена фаска.
4. В свитке Fillet Surface (Поверхность-фаска) задайте значения величины фаски в Start Radius (Начало радиуса) и End Radius (Конец радиуса) (у меня они равны 7). В областях Trim First Surface (Обрезать первую поверхность) и Trim Second Surface (Обрезать вторую поверхность) установите флажки Trim Surface (Обрезать поверхность) (рис. 12.34).
5. Повторите вышеописанные действия для оставшихся четырех отверстий.
На рис. 12.35 показано, как выглядит диск после добавления фасок ко всем отверстиям.
Рис. 12.34. Свиток Fillet Surface (Поверхность-фаска) с настройками, заданными для фаски отверстия диска
Рис. 12.35. Вид диска с фасками
Осталось добавить диску прокладку, гайку для крепления, и на этом работу можно считать завершенной. Гайка – деталь несложная, но все-таки опишу в общих чертах принцип ее моделирования. За основу я взял шестигранник с закругленными краями (Create ► Shapes ► NGon (Создание ► Формы ► Многоугольник)), к которому применил модификатор выдавливания (Modifiers ► Mesh Editing ► Extrude (Модификаторы ► Редактирование поверхности ► Выдавливание)). Отверстия были оставлены открытыми, а в качестве типа результирующей поверхности выбрана NURBS-поверхность. После этого я создал форму вращения (Create ► NURBS ► CV Curve (Создание ► NURBS ► CV-кривая)) и применил к ней команду Create Lathe Surface (Создать поверхность вращением) плавающей панели NURBS. В результате получилась поверхность, закрывающая гайку сверху (рис. 12.36).
Далее я спроецировал сплайн NGon (Шестиугольник) на поверхность крышки и обрезал лишние части. Затем, применив команду Attach (Присоединить), объединил две поверхности в одну и добавил фаску, щелкнув на кнопке Create Fillet Surface (Создать поверхность-фаску). Прокладка под гайкой – простой примитив (цилиндр).
То, что получилось после финальной визуализации диска, показано на рис. 12.37.
Рис. 12.36. Объекты, выполненные для моделирования гайки
Рис. 12.37. Финальная визуализация автомобильного диска, выполненного при помощи NURBS-моделирования
ПРИМЕЧАНИЕ
Если у вас возникли вопросы по созданию модели автомобильного диска, обратитесь к файлу упражнения disk_end.max, расположенному в папке Examples\Глава 12\NURBS_disk прилагаемого DVD.
Моделирование колеса автомобиля при помощи полигонов
В этом разделе описано моделирование при помощи полигонов автомобильного колеса с диском более сложной формы, а также шины с геометрическим протектором.
Прежде чем приступить к моделированию, нужно иметь представление о том, что вы должны получить в итоге. Форму будущей модели диска и протектора я увидел в рекламном проспекте (рис. 12.38).
Начните моделирование с построения в окне проекции Front (Спереди) примитива Tube (Труба). Для этого сделайте следующее.
1. Выполните команду Create ► Standard Primitives ► Tube (Создание ► Простые примитивы ► Труба). В результате откроется доступ к настройкам примитива на вкладке Create (Создание) командной панели.
2. В свитке Keyboard Entry (Ввод с клавиатуры) введите значения: Inner Radius (Внутренний радиус) – 196, Outer Radius (Внешний радиус) – 220, Height (Высота) – 140.
Рис. 12.38. Фотография автомобильного диска, взятого в качестве образца для моделирования
3. Щелкните на кнопке Create (Создание) для построения объекта в окнах проекций.
4. В свитке Parameters (Параметры) задайте параметру Height Segments (Количество сегментов по высоте) значение 5, а Sides (Количество сторон) – 20 (по 4 на группу спиц).
Построенная геометрия находится в начале координат, что имеет важное значение для последующего моделирования. Теперь нужно заблокировать ее от случайного смещения или поворота. Для этого выполните следующие действия.
1. Перейдите на вкладку Hierarchy (Иерархия)
командной панели, в результате чего появится доступ к выбору иерархий.
2. Щелкните на кнопке Link Info (Данные о связях), чтобы получить доступ к свитку Locks (Блокировки).
3. В свитке Locks (Блокировки) установите флажки Move (Перемещение) и Rotate (Вращение).
Продолжим моделирование. Вам понадобится преобразовать параметрический объект Tube (Труба) в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выполните команду Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
Дальнейшие преобразования будут проходить на уровне подобъектов. Начните с уточнения положения внутренних рядов вершин. Для этого выполните следующие действия.
1. Перейдите на уровень редактирования вершин, для чего при выделенном объекте щелкните на кнопке Vertex (Вершина)
свитка Selection (Выделение) или нажмите 1 на клавиатуре.
2. В окне проекции Left (Слева) выделите четыре внутренних ряда вершин и примените к ним команду Select and Uniform Scale (Выделить и равномерно масштабировать), для чего щелкните на одноименной кнопке
на панели инструментов.
3. Масштабируйте вершины по оси X так, как показано на рис. 12.39.
Затем необходимо выдавить полигоны внутри диска, чтобы получить дополнительную геометрию. Для этого сделайте следующее.
1. Перейдите на уровень редактирования полигонов, щелкнув при выделенном объекте на кнопке Polygon (Полигон)
в свитке Selection (Выделение) или нажав на клавиатуре 4.
2. Щелкните на кнопке выделения на панели инструментов и активизируйте Circular Selection Region (Круглая область выделения)
В окне проекции Front (Спереди), начиная с середины объекта, выделите внутренние полигоны.
3. Активизируйте прямоугольное выделение, щелкнув на кнопке Rectangular Selection Region (Прямоугольная область выделения)
В окне проекции Left (Слева), удерживая нажатой кнопку Alt, снимите выделение с крайних рядов (рис. 12.40).
4. В свитке Edit Polygons (Редактирование полигонов) щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание).
5. В открывшемся окне Extrude Polygons (Выдавливание полигонов) задайте значение величины выдавливания 20, а тип выдавливания – Local Normal (Локальные нормали).
6. Щелкните на кнопке OK для завершения выдавливания.
Рис. 12.39. Положение вершин в пространстве окна проекции Left (Слева)
Рис. 12.40. Объект с выделенными полигонами внутренней области
Далее сделайте углубление по внешнему периметру диска (операция скорее номинальная: после того как на диск «наденется» шина, его не будет видно). Для этого выделите полигоны внешнего радиуса, находящиеся в середине, и масштабируйте их внутрь объекта (рис. 12.41).
Следующим шагом будет построение фаски на гранях диска: двух величиной поменьше и одной – побольше, чтобы получить закругление на краю диска. Для этого сделайте следующее.
1. Щелкните на кнопке Edge (Ребро)
в свитке Selection (Выделение) или нажмите на клавиатуре 2.
2. Выделите по одному ребру во втором и третьем от края внутренних рядах, затем щелкните на кнопке Loop (Петля) для выделения всех ребер по окружности (рис. 12.42).
3. Щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска).
4. В открывшемся окне диалога Chamfer Edges (Фаска ребер) выставьте значение величины фаски 2.
5. Щелкните на кнопке OK для завершения операции создания фаски.
6. Способом, описанным выше, выделите внешний ряд ребер и примените к нему инструмент создания фаски с величиной 4 (рис. 12.43).
Рис. 12.41. Сформированное посадочное место для шины
Рис. 12.42. Ребра, подготовленные для создания фаски
На этом все операции, связанные с геометрией, можно считать законченными. Исходя из того что диск симметричен, оставьте для моделирования только одну половину. В окне проекции Front (Спереди) выделите полигоны правой стороны диска и удалите их, а чтобы видеть, как проходит моделирование в целом, сделайте зеркальную копию оставшейся половины. Для этого выполните команду Tools ► Mirror (Инструменты ► Зеркальное отображение), в результате чего откроется окно Mirror (Зеркальное отображение). В нем выставьте в качестве оси зеркального отображения X, а в качестве метода копирования выберите Instance (Привязка). Сейчас все действия в левой части диска будут отображаться в образце справа.
Приступим к моделированию спиц. Если присмотреться к форме диска на фотографии, можно заметить, что в ней много симметричных деталей, поэтому моделировать нужно только одну часть, а затем скопировать ее. Начните строить только одну спицу. Для этого в верхней части диска разрежьте три полигона, расположенных рядом, для начала формирования спицы. Чтобы сделать разрезы, щелкните на кнопке Cut (Вычитание) в свитке Edit Geometry (Редактирование геометрии) и затем в окне проекции Front (Спереди) или Perspective (Перспектива) выполните разрезание (рис. 12.44).
Рис. 12.43. Фаски, примененные к внутренним ребрам для закругления геометрии диска
Рис. 12.44. Полигоны, разрезанные для начала формирования спицы
Выделите два вновь созданных полигона (расположенный на боковой поверхности и на фаске) и сделайте выдавливание с уменьшением, для чего щелкните на кнопке Settings (Установки) рядом с кнопкой Bevel (Выдавливание со скосом). В результате откроется окно Bevel Polygons (Выдавливание со скосом полигонов). В нем для высоты выставьте значение 4, а для величины смещения – 1,5 и щелкните на кнопке OK для создания скоса. Результат данных действий показан на рис. 12.45.
Далее выделите два нижних полигона для формирования спицы по направлению к центру диска. Выделенные полигоны необходимо выдавить. Для этого щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание). В результате откроется окно Extrude Polygons (Выдавливание полигонов). В нем выставьте значение высоты выдавливания 40, а тип выдавливания – Local Normal (Локальные нормали) и щелкните на кнопке Apply (Применить) три раза для создания трех групп выдавливания. После создания новых полигонов перейдите на уровень редактирования вершин (нажмите на клавиатуре 1) и уточните их положение в пространстве согласно фотографии (см. рис. 12.38). Геометрия созданной спицы должна быть такой, как показано на рис. 12.46.
Выполните еще одно выдавливание на высоту 30. После этого сформируйте закругление в месте соединения двух соседних спиц. Для этого выделите три полигона, расположенных у основания спицы с внутренней стороны (рис. 12.47), и выдавите их на высоту 15.
Не снимая выделения с полигонов, нажмите клавишу Delete для их удаления. Это необходимо сделать, чтобы иметь возможность впоследствии соединить две соседние спицы в один объект и объединить вершины. Далее перейдите на уровень редактирования вершин и, выделив конечные вершины, уточните их положение в пространстве. Они должны быть расположены так, чтобы сформировалось закругление между соседними спицами с понижением плоскости, а конечные вершины находились на границе объекта, то есть значение координаты по оси X должно быть равно 0 (рис. 12.48).
Рис. 12.45. Полигоны, сформированные при помощи команды Bevel (Выдавливание со скосом)
Рис. 12.46. Средняя часть спицы, сформированная выдавливанием
Рис. 12.47. Полигоны, выделенные у основания спицы, для последующего выдавливания
Рис. 12.48. Полигоны, формирующие закругление между двумя спицами
На этапе моделирования спицы осталось сделать фаску на краях ребер с внешней стороны, чтобы после применения сглаживания сохранить форму изгиба поверхности. Для этого выполните следующие действия.
1. Перейдите на уровень подобъектов Edge (Ребро), щелкнув на значке
свитка Selection (Выделение) настроек объекта на командной панели или нажав на клавиатуре 2.
2. Выделите все внешние ребра и щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска).
3. В открывшемся окне диалога Chamfer Edges (Фаска ребер) параметру величины фаски задайте значение, равное 0,5.
4. Щелкните на кнопке OK для завершения операции создания фаски.
Теперь присоедините вторую половину диска к первой, чтобы продолжить моделирование двух спиц как одного объекта. Для этого щелкните на кнопке Make unique (Сделать уникальным)
на вкладке Modify (Изменение) командной панели, а затем на кнопке Attach (Присоединить) в свитке Edit Geometry (Редактирование геометрии) и в любом окне проекции на правой половине диска. Сейчас две половины диска принадлежат одному объекту, но все еще являются двумя отдельными элементами. Чтобы соединить их полностью, нужно объединить вершины в месте стыка этих элементов. Для выполнения этой операции перейдите в режим редактирования Vertex (Вершина) и выделите все вершины, находящиеся в месте соединения двух половин диска, после чего щелкните на кнопке Weld (Объединить) в свитке Edit Vertices (Редактирование вершин).
После соединения двух половинок можно визуализировать объект, но прежде нужно выполнить сглаживание. Для этого в свитке Subdivision Surface (Поверхности с разбиением) установите флажок Use NURMS Subdivision (Использовать NURMS-разбиение), а в области Display (Отображение) задайте параметру Iterations (Количество итераций) значение 2. Затем можно визуализировать изображение в окне проекции Front (Спереди) (рис. 12.49).
Теперь смоделируем отверстия для крепежа. Для этого активизируйте инструмент Cut (Вычитание) в свитке Edit Geometry (Редактирование геометрии) и разрежьте полигон, находящийся между спицами (рис. 12.50).
Рис. 12.49. Визуализированный фрагмент диска со сглаживанием
Рис. 12.50. Разрезы, определяющие форму отверстия
Чтобы завершить формирование отверстия, выделите его внутренние полигоны и примените операцию Extrude (Выдавливание) со значением, равным -15. Для получения сглаженных краев примените к ребрам на границе окружности Chamfer Edges (Фаска ребер).
После выполнения этих операций должен получиться один элемент диска. Всего их пять, следовательно, нужно снова делать копии. Оставьте для работы необходимую вам часть объекта, а все остальное удалите (рис. 12.51).
Перед копированием нужно снять блокировку объекта от поворота (в самом начале задания мы заблокировали диск от случайного перемещения). Для этого выполните следующие действия.
1. Перейдите на вкладку Hierarchy (Иерархия)
командной панели, после чего у вас будет возможность выбора иерархий.
Рис. 12.51. Пятая часть диска, подготовленная для копирования
2. Щелкните на кнопке Link Info (Данные о связях), в результате чего появится доступ к свитку Locks (Блокировки).
3. В свитке Locks (Блокировки) снимите флажки в области Rotate (Вращение).
После этого выделите элемент диска и выполните команду Tools ► Array (Инструменты ► Массив), в результате чего появится окно Array (Массив). Задайте в нем угол поворота, количество копий и метод копирования, как показано на рис. 12.52.
Рис. 12.52. Окно Array (Массив) с настройками копирования элемента диска
В результате при помощи вращения получился диск, состоящий из пяти самостоятельных элементов, наследующих трансформации друг друга. Сейчас нужно уточнить положение вершин в средней части диска. Для этого достаточно настроить положение вершин в пространстве для одного элемента, а все остальные унаследуют эти трансформации. Необходимо также удалить нижние боковые полигоны, чтобы объединить вершины соседних элементов. То, что получилось после редактирования вершин у меня, представлено на рис. 12.53.
Постройте сопряжение между элементами, для которых необходимо выполнить выдавливание боковых полигонов в месте их соединения. После этого снова уточните положение вершин в пространстве, используя фотографию автомобильного диска (см. рис. 12.38). Когда будут сформированы переходы между элементами, можно их объединить в один объект. Для этого щелкните на кнопке Make unique (Сделать уникальным)
вкладки Modify (Изменение) и на кнопке Attach (Присоединить) свитка Edit Geometry (Редактирование геометрии). Затем в любом окне проекции последовательно щелкните на всех копиях начального объекта для их присоединения (рис. 12.54).
Рис. 12.53. Объект, полученный при копировании одного элемента диска
Рис. 12.54. Фрагмент диска после объединения элементов
После объединения элементов в один объект в центре образовалось отверстие, которое необходимо закрыть и выполнить выдавливание для формирования углубления с фаской. Для этого сделайте следующее.
1. В свитке Selection (Выделение) настроек объекта на командной панели щелкните на значке Border (Граница)
2. В окне проекции Front (Спереди) щелкните на границе отверстия для выделения ребер, окаймляющих отверстие.
3. В свитке Edit Borders (Редактирование границ) щелкните на кнопке Cap (Накрыть), в результате чего отверстие будет закрыто полигонами.
4. Выделите средний полигон и сделайте выдавливание внутрь на небольшое расстояние.
5. Выполните фаску для верхних ребер отверстия.
Результат описанных действий представлен на рис. 12.55.
Осталось совсем немного – добавить мелкие детали, и диск будет готов. Для болтов крепления диска я использовал примитив Cylinder (Цилиндр) с шестью гранями без сглаживания. В центр поместил полусферу, трансформированную по оси Z. Эта полусфера будет служить основой для размещения логотипа. Для гаек, расположенных по периметру, был также использован примитив Cylinder (Цилиндр). Он подошел и для прокладок под гайки. Окончательный вид диска представлен на рис. 12.56.
Для завершения моделирования автомобильного колеса не хватает только шины. Надеюсь, что после построения диска ее моделирование не покажется вам сложным.
Рис. 12.55. Средняя часть диска
Рис. 12.56. Окончательная визуализация диска
Спрячьте построенный диск, чтобы ничто не мешало работе. Для этого выделите его со всеми дополнительными элементами и щелкните правой кнопкой мыши. В появившемся контекстном меню выберите пункт Hide Selection (Спрятать выделенное).
Как обычно, для объектов, которые имеют повторяющиеся или симметричные детали, моделировать будем только уникальную для них часть. В данном случае это небольшая часть протектора. Начнем его моделирование с построения плоскости. Для этого выполните команду Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость). В окне проекции To p (Сверху) постройте произвольную плоскость и в свитке Parameters (Параметры) задайте ее параметрам значения, как показано на рис. 12.57.
Дальнейшее моделирование будет происходить на уровне подобъектов, для чего необходимо преобразовать плоскость в объект Editable Poly (Редактируемая полигональная поверхность), щелкнув правой кнопкой мыши на объекте и выбрав в появившемся контекстном меню Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность). После этого нажмите кнопку Vertex (Вершина)
в свитке Selection (Выделение) настроек плоскости на командной панели и в окне проекции To p (Сверху) измените положение вершин, как показано на рис. 12.58.
Перейдите на уровень редактирования Polygon (Полигон) ■ . Выделите те полигоны, которые должны будут формировать выступающие части протектора шины. После этого примените к выделенным полигонам выдавливание с заданным значением. Для этого щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание). В открывшемся окне Extrude Polygons (Выдавливание полигонов) параметру высоты выдавливания задайте значение, равное 4, а тип выдавливания – Local Normal (Локальные нормали) и щелкните на кнопке OK (рис. 12.59).
После выполнения стандартных операций необходимо подкорректировать положения вершин в пространстве. В данном случае нужно понизить протектор по направлению к внешнему краю (рис. 12.60).
Рис. 12.57. Свиток Parameters (Параметры) настроек плоскости, с которой начинается моделирование шины
Рис. 12.58. Редактирование вершин объекта в вертикальной (слева) и горизонтальной (справа) плоскостях
Рис. 12.59. Фрагмент шины с выдавленными полигонами
Рис. 12.60. Элемент шины после корректировки высоты протектора
Как только вы скорректируете положение вершин в пространстве, изогните боковую часть элемента шины, чтобы придать ей нужную форму. Для этого проще всего воспользоваться модификатором изгиба. Выполните команду Modifiers ► Parametric Deformers ► Bend (Модификаторы ► Параметрические деформации ► Изгиб). В свитке Parameters (Параметры) настроек модификатора Bend (Изгиб) задайте параметрам значения, как показано на рис. 12.61.
На этом моделирование одиночного элемента можно считать законченным. Теперь необходимо выполнить его зеркальную копию с последующим присоединением ее к основному объекту. Перед тем как что-либо делать, нужно снова преобразовать объект в Editable Poly (Редактируемая полигональная поверхность). Затем в окне проекции Top (Сверху) выделите объект и щелкните на кнопке Mirror (Зеркальное отображение)
В появившемся окне в качестве оси для зеркального отображения выберите XY, а в качестве способа копирования – Copy (Независимая копия объекта). После зеркального отображения объекта выполните подгонку положения копии так, чтобы она встала в место соединения двух половинок протектора (рис. 12.62).
Рис. 12.61. Параметры модификатора Bend (Изгиб) для элемента шины
Рис. 12.62. Элемент шины с зеркальной копией
Создав копию и уточнив положение относительно оригинала, необходимо присоединить ее к оригиналу. Для выполнения этих действий щелкните на кнопке Attach (Присоединить) в свитке Edit Geometry (Редактирование геометрии) основного объекта, а затем на копии в любом из окон проекций.
Но это еще не все. Нужно объединить и вершины, лежащие на стыке двух элементов. Для этого, находясь на уровне редактирования вершин, выделите средний ряд вершин и щелкните на кнопке Weld (Объединить), находящейся в свитке Edit Vertices (Редактирование вершин).
В результате вы получите один полный элемент шины, который сейчас необходимо размножить. Выполните эту операцию при помощи инструмента Array (Массив). Для этого выделите объект в окне проекции. Выполните команду Tools ► Array (Инструменты ► Массив) и в открывшемся окне Array (Массив) укажите смещение по оси X, равное 40 (это ширина элемента, заданная при его построении), а количество копий – 50. Затем щелкните на кнопке OK для подтверждения сделанных изменений.
Вы получите 50 последовательно расположенных элементов, которые нужно объединить в один объект. Снова обратитесь к команде Attach (Присоединить), но сейчас щелкните на кнопке Attach List (Присоединение по списку), находящейся рядом с кнопкой Attach (Присоединить) в свитке Edit Geometry (Редактирование геометрии). Откроется окно Attach List (Присоединение по списку), в котором щелкните на кнопке Select All (Выделить все) для выбора всех копий элемента шины.
Как и прежде, соседние вершины присоединенных объектов необходимо объединить, для чего в режиме редактирования Vertex (Вершина) выделите все вершины объекта и щелкните на кнопке Weld (Объединить) в свитке Edit Vertices (Редактирование вершин).
После присоединения отдельных элементов и объединения вершин в местах стыков примените модификатор Bend (Изгиб), чтобы завернуть объект в кольцо. В параметрах модификатора задайте параметру Angle (Угол) значение 360, а ось – X. Вы получите почти готовую шину, останется только нарастить боковые грани (рис. 12.63).
Перед наращиванием боковых граней нужно снова преобразовать объект в Editable Poly (Редактируемая полигональная поверхность) и объединить вершины в месте стыка.
Далее щелкните на значке Border (Граница)
в свитке Selection (Выделение). В окне проекции Front (Спереди) щелкните в стороне от объекта и протащите указатель мыши на противоположную сторону окна по диагонали, выделяя все открытые ребра (в данном случае это внутренние ребра шины с обеих сторон). Щелкните на кнопке Select and Uniform Scale (Выделить и равномерно масштабировать) панели инструментов
и, удерживая нажатой клавишу Shift, дважды скопируйте ребра, чтобы нарастить стороны шины. У вас получится законченная модель шины.
Сейчас можно открыть ранее спрятанный диск и привести при необходимости шину к общему с ним масштабу. На рис. 12.64 показано то, что получилось у меня.
Рис. 12.63. Автомобильная шина после применения модификатора Bend (Изгиб)
Рис. 12.64. Результат окончательной визуализации автомобильного колеса
ПРИМЕЧАНИЕ
Если у вас возникли вопросы по созданию модели автомобильного колеса, обратитесь к файлу сцены poly_disk.max, расположенному в папке Examples\Глава 12\Poly_disk прилагаемого к книге DVD.
Моделируем BMW
Моделирование автомобиля – пожалуй, самое сложное задание из представленных в этой книге. Если у вас недостаточно опыта работы в программе 3ds Max, начинать его желательно после освоения упражнений по моделированию полигонами.
Моделировать автомобиль можно разными способами. Все они имеют свои плюсы и минусы. Я не стану подробно останавливаться на каждом, а только в общих чертах опишу их.
■ NURBS-моделирование. В примерах по моделированию в 3ds Max встречается крайне редко. Моделировать сложно, хотя модель в конечном итоге получается достаточно сглаженная.
■ Патч-моделирование. При достаточных навыках в работе таким образом можно выполнять моделирование автомобилей любой сложности. Патчи имеют некоторые особенности, знание которых необходимо для нормальной работы. Кроме того, построение кривизны поверхности сводится к редактированию не только положения вершин в пространстве, но и манипуляторов, что дополнительно усложняет задачу.
■ Моделирование сплайнами с последующим применением модификатора Surface (Поверхность). Этот способ напоминает патч-моделирование. Я применяю его для моделирования автомобилей со сложной и сглаженной геометрией. Метод очень удачен, но требует подготовки и хорошего пространственного мышления: нужно размещать в пространстве большое количество вершин кривой и уметь работать с манипуляторами.
■ Низкополигональное моделирование. При таком моделировании за основу берется объект Box (Параллелепипед) с достаточным количеством разбиений и при помощи модификатора Edit Mesh (Редактирование поверхности) изменяется положение вершин, они подгоняются под форму автомобиля. Моделирование ведется по принципу «от простого к сложному» (добавляются грани, полигоны, уточняется геометрия и т. д.). После создания общей формы к объекту применяется модификатор MeshSmooth (Сглаживание).
■ Полигональное моделирование. Это скорее разновидность низкополигонального моделирования, с той разницей, что применяется метод наращивания полигонов по форме модели с использованием Editable Poly (Редактируемая полигональная поверхность). На сегодняшний день это самый удобный способ создания полигональной модели.
В этом разделе рассмотрим применение последнего способа моделирования как самого распространенного и простого. Преимущество этого метода заключается в том, что мы строим полигоны лишь там, где они необходимы, имея в своем арсенале максимальный набор инструментов для работы с полигональной моделью.
В разделах, посвященных моделированию телефонной трубки и колеса, мы уже использовали этот способ, и вы должны были приобрести начальные навыки работы с Editable Poly (Редактируемая полигональная поверхность). Из-за этого материал будет подан в сжатом виде, лишь с описанием техники моделирования.
Как обычно, моделирование начинается с создания виртуальной студии. Способы ее построения были рассмотрены в начале главы, поэтому будем считать, что студия у вас уже есть.
Вернемся еще раз к теме построения виртуальной студии и дадим несколько рекомендаций.
■ Виртуальная студия должна находиться в начале координат, то есть значения ее координат по осям X, Y и Z должны быть равны 0. Это значительно упростит зеркальное отображение объектов моделирования (фары, зеркала, колеса и т. д.), а также половины кузова автомобиля.
■ Студия должна быть заблокирована от случайного смещения. Для этого щелкните на объекте-студии правой кнопкой мыши и в появившемся контекстном меню выберите строку Object Properties (Свойства объекта). Откроется одноименное окно, в котором установите флажок Freeze (Фиксировать), и снимите Show Frozen in Gray (Показывать замороженное серым).
Каким бы методом вы ни моделировали автомобиль исходя из того, что он симметричен, достаточно смоделировать лишь половину объекта, а потом сделать зеркальную копию.
Моделировать автомобиль начните с построения объекта Plane (Плоскость) в районе переднего крыла автомобиля. Для этого выполните команду Create ► Standard Primitives ► Plane (Создание ► Простые примитивы ► Плоскость) и в окне проекции Front (Спереди) постройте небольшую плоскость, которая будет отправной точкой всего моделирования (рис. 12.65).
Рис. 12.65. Плоскость, с которой начинается построение модели автомобиля
Для удобства работы измените способ отображения объекта. Для этого щелкните на плоскости правой кнопкой мыши и в появившемся контекстном меню выберите строку Object Properties (Свойства объекта). В области Display Properties (Свойства отображения) открывшегося окна Object Properties (Свойства объекта) установите флажок See-Through (Видеть сквозь). После этого вы сможете видеть ту часть виртуальной студии, которая скрывается за моделируемым объектом.
Больше свойства параметрического объекта Plane (Плоскость) вам не понадобятся. Дальнейшее моделирование будет проводиться на уровне редактирования подобъектов (вершин, граней, полигонов). Для доступа к этому уровню необходимо преобразовать объект в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните на нем правой кнопкой мыши, в появившемся контекстном меню выполните команду Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
ВНИМАНИЕ
Почти все команды моделирования, которые будут использоваться в данном упражнении, находятся на вкладке Modify (Изменение) настроек объекта Editable Poly (Редактируемая полигональная поверхность) командной панели. По этой причине уточнения будут даваться только по свиткам, к которым будем обращаться. Во всех остальных случаях будет приводиться полное описание доступа к инструментам, модификаторам или свойствам объекта.
После преобразования плоскости в Editable Poly (Редактируемая полигональная поверхность) перейдите на уровень редактирования Vertex (Вершина) (при выделенном объекте нажмите на клавиатуре 1) и уточните положение вершин в пространстве, используя для контроля окно проекции Front (Спереди) (рис. 12.66, а) и Left (Слева) (рис. 12.66, б).
Рис. 12.66. Положение начального полигона в окнах проекций Front (Спереди) (а) и Left (Слева) (б)
Очень важно контролировать положение вершин во всех окнах проекций. Это поможет избежать формирования искривлений, которые могут быть не видны при использовании одного или двух окон проекций.
Далее при помощи выдавливания боковых ребер продолжаем строить крыло машины. Для этого можно применить команду Extrude (Выдавливание), но более простой метод построения дополнительных ребер (а следовательно, и полигонов) – копирование их с клавишей Shift. Делается это следующим образом.
1. Перейдите на уровень редактирования Edge (Ребро) (нажмите на клавиатуре 2).
2. Нажмите и удерживайте клавишу Shift.
3. Выделите ребро со стороны, в которую собираетесь наращивать рельеф.
4. Удерживая нажатой кнопку мыши, перетащите ребро в сторону на расстояние, необходимое для построения новых контрольных точек.
5. Отпустите кнопку мыши, в результате чего будет построен новый полигон.
6. При необходимости уточните положение вершин в пространстве.
Используя вышеописанный способ копирования ребер, нарастите геометрию крыла автомобиля (рис. 12.67).
Рис. 12.67. Положение полигонов, огибающих арку от бампера до порога, в окнах проекций Front (Спереди) (а) и Left (Слева) (б)
СОВЕТ
При моделировании автомобиля я предпочитаю придерживаться того правила, что отдельные детали кузова должны моделироваться как самостоятельные элементы. Это, на мой взгляд, упрощает моделирование и дальнейшее текстурирование автомобиля. Обычно это элементы, которые и у реального автомобиля являются самостоятельными (крылья, капот, двери, багажник, бамперы и т. д.).
Продолжите строить полигоны. Дойдя до бампера с левой стороны и порога с правой, нарастите ребра в стороны, не забывая контролировать положение полигонов во всех окнах проекций (рис. 12.68).
Рис. 12.68. Положение полигонов в окне проекции Front (Спереди) (а) и Top (Cверху) (б) после их наращивания в стороны
Сейчас самое время посмотреть на то, что у нас получается. Для этого я пользуюсь нехитрым приемом: делается визуализированная копия моделируемого объекта и к ней добавляется модификатор MeshSmooth (Сглаживание). Рассмотрим подробнее, как это сделать.
1. Удерживая нажатой клавишу Shift (как при копировании ребер), щелкните на моделируемом объекте и перетащите его на значительное расстояние в сторону.
2. После того как вы отпустите кнопку мыши, появится окно Clone Options (Параметры клонирования), в котором в качестве способа копирования выберите Reference (Подчинение).
3. В стек модификаторов копии добавьте модификатор MeshSmooth (Сглаживание), выполнив команду Modifiers ► Subdivision Surfaces ► MeshSmooth (Модификаторы ► Поверхности с разбиением ► Сглаживание).
4. Из списка Subdivision Method (Метод разбиения) одноименного свитка настроек модификатора MeshSmooth (Сглаживание) выберите NURMS, а в свитке Subdivision Amount (Величина поверхности с разбиением) задайте параметру Iteration (Количество разбиений) значение 2.
5. Щелкните на объекте правой кнопкой мыши и выберите строку Object Properties (Свойства объекта). В области Display Properties (Свойства отображения) появившегося одноименного окна снимите флажок See-Through (Видеть сквозь).
После создания экземпляра и выполнения вышеописанных действий поместите его в окно проекции Perspective (Перспектива). Сейчас вы сможете, работая с полигонами на низком уровне (то есть до сглаживания), видеть сглаженную модель и лучше контролировать процесс построения геометрии (рис. 12.69).
Рис. 12.69. Копия моделируемого объекта со сглаживанием
СОВЕТ
К сожалению, удобство, связанное с возможностью просмотра сглаженного изображения одновременно с моделированием, занимает дополнительные компьютерные ресурсы (в оперативной памяти хранится информация о выполненных операциях не только для основного объекта, но и для экземпляра). В связи с этим, как только вы почувствуете, что компьютер стал работать медленнее, удалите копию. Вместо этого при необходимости можно контролировать форму объекта, установив в свитке Subdivision Surface (Поверхности с разбиением) настроек объекта флажок Use NURMS Subdivision (Использовать NURMS-разбиение) с теми же параметрами, что у модификатора MeshSmooth (Сглаживание).
Продолжите дальнейшее наращивание геометрии. Сделайте ряд полигонов по верху объекта до излома крыла и ряд по краю арки.
ВНИМАНИЕ
Когда необходимо наращивать более одного полигона, обязательным условием является выделение для копирования сразу всех ребер. Это связано с тем, что раздельное копирование не только замедлит процесс построения геометрии, но и построит разделенные полигоны. В таком случае необходимо объединить (команда Weld (Объединить)) совпадающие вершины соседних полигонов (если, конечно, раздельное построение не предусмотрено характером моделирования).
При моделировании нужно обходиться минимальным количеством полигонов, но при этом достаточным для правильной передачи формы модели. Вершины полигонов старайтесь располагать в местах изменения формы и не забывайте контролировать их положение в пространстве (рис. 12.70).
Обратите внимание, что ребра, находящиеся на стыках полигонов, располагаются с учетом изменения геометрии автомобиля. Кроме того, между аркой и дверью необходимо разделить полигоны на две части, так как большие полигоны не способны передать изгиб крыла по длине. Выполните это деление при помощи инструмента Cut (Вычитание), расположенного в свитке Edit Geometry (Редактирование геометрии).
Чем больше расстояние между ребрами соседних полигонов, тем более плавную кривую построит программа при сглаживании внутреннего угла. Верно и обратное. По этой причине, если вы хотите сделать излом в каком-то месте поверхности, нужно построить близко лежащие грани. Это мы сейчас и проделаем для геометрии крыла. Прежде всего необходимо выделить грань, по которой будет уточняться геометрия. Перейдите на уровень редактирования ребер (нажмите на клавиатуре цифру 2). Выделите одно из ребер по линии будущего излома геометрии. В свитке Selection (Выделение) нажмите кнопку Loop (Петля), в результате чего выделятся все ребра, находящиеся на одной линии с выделенным.
Для придания изгибу более заметного излома примените к выделенным ребрам Chamfer (Фаска), разделив таким образом выделенные ребра на две части. Для этого в свитке Edit Edges (Редактирование ребер) щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска). В открывшемся окне Chamfer Edges (Фаска ребер) задайте параметру величины фаски значение, равное 3. Затем щелкните на кнопке OK для завершения операции создания фаски. Теперь изгиб крыла над аркой имеет более естественные очертания (рис. 12.71).
Рис. 12.70. Полигоны, достроенные над аркой и по верху крыла
Рис. 12.71. Ребра, сформированные фаской в окнах проекций User (Пользовательская) (справа) и Perspective (Перспектива) (слева)
Напомню, что в окне проекции Perspective (Перспектива) представлен экземпляр объекта, с которым вы работаете, но только со сглаживанием.
Продолжите наращивание полигонов вправо, сначала до места соединения передней и задней двери, затем до места соединения задней двери и крыла.
Обратите внимание, что в окне проекции To p (Сверху) боковая линия геометрии автомобиля в местах расположения дверей почти ровная, поэтому, чтобы передать форму кузова, вам достаточно построить вертикальные ребра в местах стыковки дверей (рис. 12.72).
Принципы построения заднего крыла такие же, как и переднего: ребра строящегося объекта должны пройти по характерным изломам крыла, огибая арку заднего колеса. Затем продолжите построение полигонов вплоть до дверей багажника, огибая заднюю фару. Высота строящихся полигонов должна быть ограничена сверху линией излома геометрии кузова, а снизу – бампером.
СОВЕТ
При построении такой сложной модели, как автомобиль, вы вряд ли дважды столкнетесь с одинаковой геометрией кузова. При этом существует простое правило: построение ребер должно вестись с учетом элементов кузова и его формы. На практике это выглядит примерно так: все, что в автомобиле открывается, может быть выполнено отдельными элементами и, соответственно, должно иметь ребра на краях. Ребра также обязательны там, где необходимо сделать излом геометрии.
Рис. 12.72. Достроены два ряда полигонов, описывающих форму дверей
При построении изгиба заднего крыла в районе фары обратите внимание на форму закругления. Кроме работы в окне проекции Front (Спереди) (рис. 12.73, а), важно контролировать положение вершин в пространстве, используя окна проекции To p (Сверху) и Right (Справа) (рис. 12.73, б).
Рис. 12.73. Построение полигонов продолжается в окнах проекций Front (Спереди) (а) и Right (Справа) (б)
Далее достройте полигоны до боковых окон. Принцип построения все тот же: выделите грани по всей длине и, удерживая нажатой клавишу Shift, скопируйте их, а затем уточните положение вершин в пространстве.
Чтобы закончить общую форму боковой геометрии кузова, сделайте продольный излом на крыльях и дверках автомобиля. Эта операция выполняется аналогично созданию излома над арками крыльев автомобиля, описанному ранее. Отличие состоит в том, что сначала при помощи инструмента Chamfer (Фаска) из свитка Edit Edges (Редактирование ребер) строятся разделенные ребра с параметром Chamfer Amount (Величина фаски), равным 10 (имейте в виду, что если размеры вашей модели отличаются от моей, то и величина будет другой). После этого выделяется верхний ряд ребер из только что полученных после применения фаски и еще раз применяется Chamfer (Фаска), но со значением параметра Chamfer Amount (Величина фаски), равным 3.
После построения двух дополнительных рядов ребер необходимо уточнить положение в пространстве нижнего ряда, чтобы создать криволинейную поверхность боковой стороны автомобиля. Для этого можно воспользоваться редактированием на уровне вершин (для переключения нажмите на клавиатуре 1), для чего выделите точки нижнего ряда (из построенных с помощью Chamfer (Фаска)) и в окне проекции Left (Слева) сместите их немного внутрь автомобиля (рис. 12.74).
В процессе построения новых ребер методом создания фаски на границе примыкания горизонтальных ребер к арке переднего крыла появятся артефакты. Это связано с тем, что в данных точках сходятся по пять ребер и в результате применения инструмента Chamfer (Фаска) из свитка Edit Edges (Редактирование ребер) появляется избыточное количество вершин. Решить возникшую проблему можно с помощью команды Weld (Объединить) следующим образом.
Перейдите на уровень редактирования Vertex (Вершина) и выделите две вершины, подлежащие объединению. В свитке Edit Vertices (Редактирование вершин) щелкните на кнопке Settings (Установки) рядом с кнопкой Weld (Объединить). В открывшемся окне Weld Vertices (Объединить вершины) задайте значение величины приращения с учетом того, чтобы в окне проекции две выделенные вершины объединились в одну. Затем щелкните на кнопке OK для завершения объединения и повторите те же действия для двух других точек (рис. 12.75).
Рис. 12.74. Положение и форма излома геометрии кузова, проходящего по боковой поверхности
Рис. 12.75. Вершины на стыке шести ребер до (справа) и после (слева) их слияния
На рис. 12.76 показан вид боковой поверхности экземпляра моделируемого объекта со сглаживанием.
СОВЕТ
Часто в процессе моделирования по той или иной причине необходимо вернуться к предыдущему состоянию моделирования, и не всегда в этом может помочь команда Undo (Отменить). Поэтому возьмите за правило сохранять рабочий файл после выполнения ключевых задач или через определенные промежутки времени. Лучше всего, если для сохранения будет использоваться команда Save As (Сохранить как) с увеличением имени файла (достаточно в окне Save File As (Сохранить файл как) щелкнуть на кнопке со знаком +).
Дальнейшее построение кузова автомобиля связано с моделированием рамки над дверями, затем можно будет перейти от нее к крыше. Построение начинается сразу с двух сторон путем наращивания полигонов.
Думаю, двух рядов полигонов вполне хватит, чтобы передать форму рамки. В ее построении нет особых сложностей, лишь необходимо отметить, что от заднего крыла отходит больше чем два полигона. Их нужно привести в соответствие (по количеству) с теми, которые расположены спереди. Это делается путем объединения вершин. Кроме того, добавьте еще одно горизонтальное ребро в место стыковки рамки с задним крылом – туда, где виден небольшой излом формы (рис. 12.77).
Рис. 12.76. Боковая поверхность кузова автомобиля со сглаживанием
Дальнейшее построение крыши автомобиля не должно вызвать затруднения, поэтому вернемся к нему позже, а пока на примере создания порога я хочу показать, как можно строить сочленения отдельных элементов кузова. Когда-то, в самом начале работы в программе 3ds Max, я строил швы и сочленения элементов кузова автомобиля путем применения команды Bevel (Выдавливание со скосом) из свитка Edit Polygons (Редактирование полигонов) к полигонам, проходящим по линии шва. После применения модификатора MeshSmooth (Сглаживание) к таким швам углы закруглялись даже там, где они должны быть прямыми. Чтобы избавиться от этого эффекта, я добавлял ребра, увеличивал вес вершин и т. п. Но все эти меры ведут к увеличению количества полигонов и деформируют форму, поэтому со временем я нашел другое решение.
Итак, мы продолжаем строить кузов, а точнее, порог. Выделите нижний ряд ребер и скопируйте его три раза (именно столько рядов полигонов необходимо, чтобы передать небольшое углубление в пороге).
После построения новых полигонов уточните положение вершин в окнах проекций Left (Слева) и Top (Сверху) (рис. 12.78).
Рис. 12.77. Положение и форма полигонов, формирующих рамку кузова, в окнах проекций Front (Спереди) (а) и Right (Cправа) (б)
То, о чем я буду говорить далее, важно понять и научиться делать правильно, так как от этого будет зависеть, насколько хорошо станут смотреться швы автомобиля.
Начнем с выделения трех нижних рядов полигонов, чтобы сформировать из них отдельный элемент. Выделите три нижних ряда полигонов и щелкните на кнопке Detach (Отделить), расположенной в свитке Edit Geometry (Редактирование геометрии). В появившемся окне Detach (Отделить) установите флажок Detach To Element (Отделить в элемент). Это позволит выделить полигоны в отдельный элемент, принадлежащий моделируемому объекту. Щелкните на кнопке OK для подтверждения выбора и закрытия окна.
СОВЕТ
Есть несколько способов упростить навигацию по увеличивающемуся в процессе моделирования количеству вершин, ребер и полигонов. Можно прятать неиспользуемые в работе объекты, применять плоскости отсечения, Isolation Mode (Режим изолирования) и скрывать неиспользуемые элементы на уровне редактирования подобъектов.
После выделения порога в отдельный элемент (с ним предстоит работать) спрячьте все лишнее. Для этого перейдите на уровень редактирования подобъектов Element (Элемент), используя горячую клавишу 5. Выделите порог автомобиля и в свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке Hide Unselected (Спрятать невыделенное). После выполнения этих операций на экране останется только порог.
В окне проекции Front (Спереди) выделите вершины, принадлежащие верхнему ряду, и немного (на 3–5 мм) сместите их вниз. Это необходимо, чтобы между порогом и дверями образовалась небольшая щель. После этого нужно придать порогу толщину. Выделите открытые грани, для чего на уровне подобъектов Border (Граница) щелкните на любом месте по краю порога. В результате выделятся все ребра по периметру. После этого выполните уже знакомую вам операцию копирования граней на величину около 20 мм со смещением внутрь автомобиля.
ПРИМЕЧАНИЕ
Значение, на которое изменяется смещение при копировании, можно проследить в строке состояния, расположенной в нижней части окна программы.
Для формирования углубления в средней части порога выделите два больших продольных ребра и переместите их немного внутрь. Осталось еще одно копирование ребер для формирования порога – нужно выделить верхний внутренний ряд (из тех, которые были построены последними) и скопировать его по оси Y примерно на 20 мм вверх. Это необходимо, чтобы закрыть изнутри образовавшееся продольное отверстие между порогом и дверью (при помощи смещения вершин вниз). Последнее, что нужно сделать перед тем как закончить моделировать порог, – выделить передние грани, образующие внешний край, добавить к выделению ребра в углах и ко всему выделению применить Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 1 (рис. 12.79).
Рис. 12.78. Дополнительные полигоны, построенные для формирования порога
Рис. 12.79. Каркасный вид порога автомобиля после добавления полигонов и создания фаски
Если то, что получилось у вас, отличается от изображения на рис. 12.79, вернитесь назад при помощи команды Undo (Отменить) и проверьте, правильно ли были выделены грани. Это, как правило, самая распространенная ошибка при построении сглаженных углов. На самом деле операции с гранями не так сложны, как кажется, главное – понять принцип, по которому делаются фаски. На рис. 12.80 показан результат визуализации боковой стороны автомобиля.
На примере моделирования порога мы рассмотрели один из способов создания элементов кузова автомобиля. Опишу еще один способ моделирования автомобильных швов на примере создания двери.
ВНИМАНИЕ
При построении закруглений на краях нужно всегда учитывать особенности механизма сглаживания, который в расчетах использует расстояние между соседними рядами ребер (минимум – три ряда на угол). На практике это выглядит так: чем ближе расположены ребра, образующие угол, тем меньше радиус закругления получится при сглаживании. Наилучший результат получается, если ребра, образующие закругление, расположены на одном расстоянии от угла.
Учитывая особенности сглаживания, описанные выше, необходимо на боковой поверхности автомобиля добавить вертикальные разрезы так, чтобы по обе стороны от границ дверей получилось по вертикальному ряду ребер. Сделать это можно разными способами, но самый простой – разрезать поверхность при помощи инструмента Cut (Вычитание), расположенного в свитке Edit Geometry (Редактирование геометрии) (рис. 12.81).
Рис. 12.80. Результат визуализации боковой стороны автомобиля вместе с построенным порогом
Рис. 12.81. Расположение вертикальных ребер в местах соединения дверей
Начнем построение швов с выделения по одному ребру в трех вертикальных рядах, ограничивающих две двери: между передним крылом и передней дверью, между передней и задней дверью и между задней дверью и задним крылом. После этого щелкните на кнопке Loop (Петля), расположенной в свитке Selection (Выделение), чтобы выделить все ребра, составляющие вертикальные ряды. Проверьте, действительно ли все ребра, относящиеся к одному ряду, выделились. Возможно, при моделировании создались смежные ребра и, соответственно, сдвоенные вершины. В этом случае выделение в таком месте прервется, и продолжить его можно будет, добавив оставшиеся ребра вручную, а вершины придется объединить при помощи команды Weld (Объединить), чтобы избежать искажения геометрии.
Если вы выделили все необходимые для работы ребра, нажмите на клавиатуре Пробел, чтобы заблокировать выделенные ребра от случайного изменения. После этого примените команду Extrude (Выдавить) из свитка Edit Edges (Редактирование ребер) с высотой выдавливания, равной 0, и шириной 10 (рис. 12.82).
Высота, указываемая в окне Extrude Edges (Выдавить ребра), в данном случае должна всегда быть нулевой, а ширина у вас может быть и другой – все зависит от масштаба модели и ширины требуемого шва. Обычная технология построения шва подразумевает применение не Extrude Edges (Выдавить ребра), а Chamfer Edges (Фаска ребер). Однако в результате вместо трех получается всего два ребра, что усложняет дальнейшую работу. То, что предлагаю я, позволит вам с минимальными затратами построить достаточно удачный шов. Не спешите щелкать на кнопке OK после введения нужных значений. В данном случае вам понадобится продолжить работу в окне Extrude Edges (Выдавить ребра), поэтому нажмите кнопку Apply (Применить), после чего можно ввести новые значения для следующей пары ребер. В этот раз задействуйте отрицательную высоту выдавливания (у меня это значение равно –5) и меньшее значение для ширины (3). В результате вы сделали шов, используя всего две операции выдавливания (рис. 12.83).
Рис. 12.82. Начало построения дверного шва
Рис. 12.83. Автомобильный шов, полученный при помощи двух операций выдавливания, в каркасном виде (слева) и после визуализации (справа)
При желании, добавив еще две операции, вы можете улучшить внешний вид шва. У меня никогда не возникало необходимости в таком улучшении, так как в своих работах я не использую визуализацию с большим приближением, а на расстоянии они практически не отличаются друг от друга. Однако вам это, возможно, понадобится, поэтому я расскажу, как сделать такой шов.
Сейчас дверной шов представлен минимально возможным количеством полигонов (имейте это в виду, если для вас критично общее количество полигонов). Если к этому добавить еще одно выдавливание, а затем применить фаску, то получится более правильный с точки зрения геометрии шов (внутри он будет прямоугольным). Для построения такого шва выполните следующие действия.
1. Не меняя выделения (у вас до сих пор должны быть выделены три средних ряда ребер), щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание).
2. В открывшемся окне Extrude Edges (Выдавить ребра) задайте параметру величины выдавливания значение, равное -10 (это значение определяет общую глубину шва), а ширины – 4.
3. Щелкните на кнопке OK для завершения операции выдавливания.
4. В свитке Edit Edges (Редактирование ребер) щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска).
5. В появившемся окне Chamfer Edges (Фаска ребер) задайте параметру Chamfer Amount (Величина фаски) значение, равное 10.
6. Щелкните на кнопке OK для завершения создания фаски (рис. 12.84).
Перед тем как приступить к следующей фазе моделирования, не забудьте снять блокировку с выделения, для чего еще раз нажмите на клавиатуре Пробел.
ПРИМЕЧАНИЕ
При моделировании автомобиля совсем не обязательно вести построение в той последовательности, в которой это делаю я. Главное, чтобы ваша последовательность действий была логически оправдана (например, нелогично делать ручки дверей, не имея самих дверей).
После того как вы закончили с построением дверных швов, можно переходить к моделированию капота. Для этого необходимо нарастить полигоны при помощи копирования ребер, придерживаясь геометрии автомобиля. Через весь капот проходит характерный излом, и для правильной передачи формы нужно его повторить, используя фаску. В местах расположения фары и решетки радиатора оставьте открытые проемы (позже их будем строить отдельными элементами). На рис. 12.85 показаны линии построения.
Рис. 12.84. Каркасный вид улучшенного шва (слева) и результат его визуализации (справа)
Рис. 12.85. Линии построения геометрии капота в окне проекции вида слева
Теперь, когда вы научились делать закругления на гранях элементов автомобиля, закруглите грани капота и элемента кузова, расположенного ниже фары (рис. 12.86).
Рис. 12.86. Результат визуализации фрагмента капота с фасками
Следующий шаг – построение решетки радиатора. Для этого выполните следующие действия.
1. Выделите ребра, расположенные по периметру отверстия, для чего используйте уровень подобъектов Border (Граница), и щелкните кнопкой мыши на границе отверстия.
2. Примените к выделенным ребрам команду Cap (Накрыть), щелкнув на одноименной кнопке в свитке Edit Borders (Редактирование границ). Это создаст полигон, закрывающий отверстие.
3. Сделайте закрытое отверстие как отдельный элемент, для чего в свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке Detach (Отделить).
Дальнейшее редактирование будет проходить на уровне подобъектов Polygon (Полигон). Выделите вновь созданный полигон и примените к нему последовательно четыре операции Bevel (Выдавливание со скосом) со следующими значениями параметров, заданными в окне Bevel Polygons (Выдавливание со скосом полигонов):
■ Height (Высота): 3, Outliner Amount (Величина смещения): -3;
■ Height (Высота): 0, Outliner Amount (Величина смещения): -15;
■ Height (Высота): -3, Outliner Amount (Величина смещения): -3;
■ Height (Высота): -15, Outliner Amount (Величина смещения): -0.
После этого уточните положение точек в правом верхнем углу (там обводка немного расширяется). Если вы все сделали правильно, результат должен соответствовать изображению, показанному на рис. 12.87, а. После добавления боксов в качестве вертикальных перегородок решетки получим окончательный вид (рис. 12.87, б).
Рис. 12.87. Решетка автомобиля, представленная каркасом в окне проекции Left (Слева) (а) и визуализированная после добавления вертикальных перегородок (б)
Займемся построением двери багажника. После того как вы выполнили боковую сторону автомобиля, капот и научились делать толщину элементов и швы, ее создание не должно вызвать затруднений. Здесь все просто: построение ведется путем наращивания полигонов от крыла до середины автомобиля (рис. 12.88).
Далее постройте швы двери. Для этого создайте шов либо как описано на примере построения боковых дверей, либо сделав дверь как отдельный элемент (при помощи команды Detach (Отделить)) и достроив толщину двери (как описано выше на примере порога).
Рис. 12.88. Геометрия багажника в окнах проекций Right (Справа) (а) и Front (Спереди) (б)
Создайте небольшой элемент над углублением для регистрационного номера автомобиля (можно сделать его как отдельный объект из параллелепипеда).
Все построения при визуализации должны выглядеть примерно так, как показано на рис. 12.89.
Перейдем к созданию крыши, лобового стекла и стекла двери багажника. В данном случае также не должно возникнуть проблем. Построения ведутся от краев элементов до середины автомобиля (напомню, что виртуальная студия расположена в начале координат и граница строящихся элементов должна проходить по оси Y с координатой 0). При создании лобового стекла заведите передние нижние полигоны под капот, опустив их на небольшое расстояние относительно капота.
Еще раз напомню: контролируйте построения во всех окнах проекций. Крыша, стекла и часть крыши, примыкающая к двери багажника, строятся как отдельные элементы (рис. 12.90).
Рис. 12.89. Результат визуализации багажника после создания толщины
Рис. 12.90. Расположение полигонов крыши, лобового стекла и стекла двери багажника в окне проекции Top (Сверху)
После построения крыши задача немного усложнится – нужно создать хромированную окантовку верха дверей. Для моделирования окантовки выполните следующие действия.
1. Перейдите в режим редактирования Edge (Ребро).
2. Выделите ребра по периметру примыкания окантовки к крыше.
3. В свитке Edit Edges (Редактирование ребер) щелкните на кнопке Create Shape From Selection (Создать форму из выделенного) для преобразования выделенных ребер в сплайны (это будет самостоятельный объект). В появившемся окне нажмите кнопку OK.
4. Выделите построенный сплайн (например, с помощью окна Select From Scene (Выбор из сцены)), перейдите на уровень редактирования Spline (Сплайн) и в свитке Geometry (Геометрия) настроек сплайна рядом с кнопкой Outline (Контур) укажите величину контура, равную 25.
5. Нажмите на клавиатуре Enter для создания контура (рис. 12.91).
После построения сплайна преобразуйте его в Editable Poly (Редактируемая полигональная поверхность), для чего щелкните на сплайне правой кнопкой мыши и в появившемся контекстном меню выберите из списка Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность). Далее сделайте разрывы геометрии в местах стыковки дверей, чтобы там впоследствии сформировались швы. После выполнения подготовительной части можно придать окантовке толщину (не буду повторяться, так как эта операция делалась не раз и должна быть вам знакома).
В качестве стоек я использовал параллелепипеды – просто придал им нужную форму, немного передвинув вершины. То, что должно получиться, показано на рис. 12.92.
Рис. 12.91. Сплайны обводки, построенные из выделенных ребер
Рис. 12.92. Результат визуализации стоек и окантовки двери
Достройте стекла боковых дверей. Для этого используйте примитив Plane (Плоскость) (если вы планируете делать открывающиеся двери, постройте для каждой из них отдельную плоскость), а затем уточните положение вершин в пространстве.
Перейдем к построению бокового зеркала. Трудности при его создании связаны с тем, что зеркало имеет сложную форму, которую нужно моделировать, а информации о ней (я имею в виду чертежи) недостаточно.
При построении зеркала я использовал примитив Box (Параллелепипед) с двумя дополнительными гранями по вертикали, одной вдоль и одной по горизонтали.
После построения параллелепипеда я преобразовал его в Editable Poly (Редактируемая полигональная поверхность) и все дальнейшие построения вел путем применения инструмента Bevel (Выдавливание со скосом) и перемещения вершин в пространстве. Там, где было необходимо, я добавлял ребра. Углы закруглял с помощью фасок. Само зеркало я сделал как отдельный элемент, что позволило получить ровную отражающую поверхность. Элемент, к которому крепится зеркало, был сделан из отдельного параллелепипеда с последующим присоединением при помощи команды Attach (Присоединить) его к зеркальному отображению (рис. 12.93).
Рис. 12.93. Каркасный вид зеркала в окнах проекций
Теперь построим заднюю фару и стекло фары. Эти элементы создаются аналогично, поэтому я опишу только построение задней фары. Я делаю это одним из двух следующих способов.
■ Строю новый объект Plane (Плоскость) с количеством разбиений, соответствующих примыкающей геометрии. Это делается, чтобы выставить вершины в местах расположения вершин примыкающей геометрии (в частности, крыла и багажника).
■ Выделяю ребра на крыле и багажнике, чтобы в дальнейшем построить на их основе самостоятельный сплайн (как в случае с обрамлением двери), а уже из сплайна – геометрию. Этот способ хорош, если геометрия вокруг строящегося объекта достаточно сложна и может вызвать затруднения с расположением вершин.
Используя один из описанных выше способов, постройте заднюю фару, состоящую из двух элементов (один элемент относится к заднему крылу, другой – к двери багажника). После создания геометрии придайте ей толщину. Для этого выделите ребра по периметру и скопируйте их вглубь автомобиля на 20 мм. Для закругления граней примените Chamfer (Фаска) (рис. 12.94).
Рис. 12.94. Расположение ребер на модели задней фары в окнах проекций Perspective (Перспектива) (а) и Front (Спереди) (б)
Затененные полигоны по периметру фары – не что иное, как геометрия, построенная для закрытия щели, образованной между фарой и кузовом (при моделировании фары как отдельного элемента).
Теперь можно перейти к выполнению переднего и заднего бамперов. Для создания переднего бампера я использовал наращивание рельефа путем построения новых полигонов (копирование ребер с нажатой клавишей Shift), начиная от арки. Сначала построение велось путем создания общей формы (рис. 12.95, сверху) с последующим уточнением элементов бампера и разбиением его на отдельные части (рис. 12.95, снизу).
Решетку, расположенную внутри бампера, постройте из отдельных параллелепипедов с последующим преобразованием в Editable Poly (Редактируемая полигональная поверхность) и уточнением положения вершин относительно всей геометрии бампера. Плашка для номера – это немного модифицированный параллелепипед (рис. 12.96).
Рис. 12.95. Начало построения бампера (сверху) с последующим уточнением геометрии (снизу)
Задний бампер строится аналогично переднему. В нем меньше деталей, и его гораздо легче моделировать. На рис. 12.97 показана схема расположения полигонов, из которых состоит бампер.
Прежде чем приступить к построению мелких деталей автомобиля, нужно выполнить моделирование арок и днища кузова.
Рис. 12.96. Визуализация бампера с дополнительными элементами
Днище и арки автомобиля строились как отдельные элементы. Для построения арок переднего и заднего колеса выделите открытые ребра, находящиеся по краям крыла, и скопируйте их внутрь на 1/5 от общей ширины автомобиля. После этого постройте ту часть днища автомобиля, которая расположена между арками и кузовом. Построение ведется, как и прежде, методом копирования ребер. Затем заполните внутренние стороны арок полигонами (я строил треугольные полигоны вручную, хотя можно просто «закрыть» их, применив Cap (Накрыть) из свитка Edit Borders (Редактирование границ)). Конечно, при визуализации днища никогда не видно, а геометрия арок не критична, так как закрыта колесом, но аккуратность в работе еще никому не мешала. Как выглядит сетка полигонов на днище и в арках автомобиля, представлено на рис. 12.98.
Перейдем к построению дверных ручек.
Рис. 12.97. Задний бампер в каркасном виде (сверху) и результат его визуализации (снизу)
Рис. 12.98. Схема расположения полигонов днища и арок в окне проекции User (Пользовательская)
Такие детали автомобиля, как дверные ручки и крышка бензобака, можно моделировать двумя следующими способами.
■ При первом способе в окне проекции вида, перпендикулярного поверхности, на которой нужно построить элемент кузова, строится сплайн по форме, соответствующей этому элементу (например, для крышки бака – прямоугольник с закругленными углами). Затем при помощи построения объекта типа ShapeMerge (Объединенные с формой) этот сплайн проецируется на поверхность. Геометрия становится «разрезанной» по форме сплайна и готова для дальнейшей модификации. Данный способ подходит, когда поверхность, которую нужно «разрезать», не имеет большого количества разбиений, иначе появляется избыточное количество вершин, которые усложняют моделирование.
■ Второй способ моделирования подразумевает построение всех контуров элемента за счет разрезания полигонов и манипуляции вершинами. Он более трудоемкий, но позволяет получить контроль над всей геометрией строящегося элемента.
В данном случае наиболее подходящим будет второй способ – из-за большого количества горизонтальных ребер в области построения.
Начните с построения сплайна по форме будущей ручки двери. Конечно, это делать не обязательно, но, создав сплайн, что не отнимет много времени, можно визуально контролировать форму строящегося элемента. Затем, используя сплайн в качестве шаблона, сделайте разрезы полигонов, напротив которых расположен сплайн (рис. 12.99).
После этого достройте минимально необходимое количество ребер и вершин для получения закругленных краев. Для этого воспользуйтесь инструментами Cut (Вычитание), Chamfer (Фаска) и Weld (Объединить) из свитков Edit Geometry (Редактирование геометрии) и Edit Vertices (Редактирование вершин). На рис. 12.100 представлено расположение ребер, которое получилось у меня.
Рис. 12.99. Четыре разреза, выполненные по габаритам сплайна
Рис. 12.100. Схема расположения ребер, формирующих элемент ручки двери
После корректировки формы дверной ручки сплайн, по которому она строилась, можно спрятать или удалить. Можно также спрятать внутренние полигоны ручки, выделив их в отдельный элемент.
Далее все как обычно: выделите ребра по периметру образовавшегося отверстия и скопируйте их внутрь. После этого выделите ребра, расположенные на гранях отверстия, и примените к ним инструмент Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 1. После создания отверстия для ручки можно перейти к моделированию самой ручки двери. Для этого откройте ранее спрятанную внутреннюю часть и воспользуйтесь тем же методом копирования полигонов с последующим построением фаски по ребрам, образующим прямой угол. Но прежде разделите внутреннюю часть ручки на два элемента (как это есть в реальном автомобиле) и добавьте посередине нижнего углубление, построив ряд полигонов, смещенных относительно края (рис. 12.101).
Ручку второй двери моделировать значительно проще. Достаточно скопировать внутреннюю часть уже построенной, уточнить ее положение в пространстве относительно второй двери и затем в окне проекции Front (Спереди) при помощи инструмента Cut (Вычитание) построить по сплайну разрезы в поверхности двери, как это уже делалось для задней двери. После уточнения положения вершин в пространстве выделите внутреннюю часть и удалите. В результате образуется отверстие для ручки. Далее выделите ребра по периметру отверстия и, скопировав их внутрь, придайте объем. Как и раньше, к ребрам, образующим грань, примените Chamfer (Фаска) для их закругления. Расположите внутреннюю часть ручки относительно отверстия и сделайте последние уточнения геометрии, при необходимости подкорректировав положение вершин. Если все выполнено правильно, у вас должна получиться ручка двери, показанная на рис. 12.102.
Рис. 12.101. Дверная ручка, представленная в каркасном виде в окнах проекций Front (Спереди) (сверху) и Perspective (Перспектива) (снизу)
Рис. 12.102. Результат визуализации ручки двери
Когда речь идет о моделировании автомобиля с высокой степенью детализации, многие мелкие детали, представленные в низкополигональной модели текстурами, необходимо строить при помощи геометрии. Займемся моделированием таких незначительных деталей, присутствие которых сделает модель более интересной и реалистичной, – сделаем противотуманные и основные фары, указатели поворота, молдинги и ограждение.
Для построения противотуманной фары нужно предварительно смоделировать посадочное место. Для этого выделите элемент решетки переднего бампера и, спрятав все остальное, разрежьте плоскость так, как показано на рис. 12.103, слева. Затем, выделив внутренние полигоны, примените к ним команду Extrude (Выдавливание) с величиной –100 (рис. 12.103, справа).
После этого выделите наружные грани и сделайте фаску для придания им закругления.
Постройте фару, используя примитив Sphere (Сфера) со значением параметра Radius (Радиус), равным 40, а количеством сегментов – 19. Преобразуйте сферу в Editable Poly (Редактируемая полигональная поверхность). На уровне полигонов выделите до середины левую сторону сферы и, используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать), сожмите ее по оси Õ примерно в четыре раза. Затем снимите выделение с внешнего ряда полигонов (в окне проекции Front (Спереди) или To p (Сверху), удерживая нажатой клавишу Alt, обведите те полигоны, с которых нужно снять выделение) так, чтобы остались только те, которые в дальнейшем будут образовывать стекло. Примените к выделенным полигонам команду Bevel (Выдавливание со скосом) размером –1,5 и высотой –1 и выделите построенный скос в отдельный объект, используя команду Detach (Отделить). Увеличив количество разбиений полигонов для обводки вокруг стекла, получим окончательную форму противотуманной фары (рис. 12.104).
Рис. 12.103. Место для противотуманной фары до выдавливания полигонов (слева) и после (справа)
Рис. 12.104. Внешний вид противотуманной фары в окне проекции Perspective (Перспектива)
Перейдем к моделированию передних фар. Чтобы не повторять сделанную работу, скопируйте противотуманную фару и масштабируйте ее в окне проекции Left (Слева). Блок-фара имеет три самостоятельных рефлектора со стеклами-рассеивателями, значит, копий должно быть три. Расположены они уступами, повторяя форму изгиба стекла, закрывающего блок-фару. Блок-фаре необходимо сделать корпус. Смоделируйте самую примитивную форму, напоминающую корпус фары (рис. 12.105), и на этом можно закончить.
Вдоль боковых сторон автомобиля расположены декоративные элементы – молдинги. Для их построения нужно создать дополнительные ребра. Сделайте разрез через две двери с заходом на переднее крыло. После этого выделите полигоны, составляющие молдинг, и разделите выделение на отдельные элементы (два на дверях и один на крыле). Далее выполните операции по созданию фасок. Аналогичным образом сделайте сигнал поворота, расположенный на переднем крыле (рис. 12.106).
Рис. 12.105. Внешний вид блок-фары в окне проекции Perspective (Перспектива)
Рис. 12.106. Результат визуализации фрагмента автомобиля с элементами боковой отделки
Элементы ограждения на крыше автомобиля можно не моделировать, но, если вы хотите это сделать, самым простым способом будет построение этих элементов при помощи примитива Box (Параллелепипед). Параллелепипед должен иметь 10 сегментов по длине, чтобы можно было сделать закругления на краях и небольшой изгиб по длине. Параллелепипед необходимо конвертировать в Editable Poly (Редактируемая полигональная поверхность) и дальнейшее построение вести на уровне подобъектов. Методом выдавливания полигонов строятся опоры. Там, где необходимо, строится фаска для придания формы (рис. 12.107).
Рис. 12.107. Элемент ограждения на крыше автомобиля
Дополнительно нужно смоделировать заднюю и передние щетки, номерные знаки, эмблемы и большую часть внутреннего наполнения машины. Все это необходимо, чтобы автомобиль имел законченный вид. Однако это выходит за рамки данного упражнения. Если вы прошли все вышеописанные стадии моделирования, для вас не должно составить труда выполнение этих деталей самостоятельно.
После создания всех необходимых элементов автомобиля нужно собрать их воедино. Для построения цельного кузова автомобиля примените к построенной половине модификатор Symmetry (Симметрия) или сделайте копию при помощи Mirror (Зеркальное отображение). Таким же образом скопируйте все симметричные элементы автомобиля, сделанные как отдельные объекты моделирования.
После добавления к автомобилю колес, текстурирования и добавления фона модели вы можете получить изображение, похожее на рис. 12.108.
Рис. 12.108. Результат окончательной визуализации автомобиля стандартными средствами с использованием фотографии заднего плана
ПРИМЕЧАНИЕ
Если у вас возникли вопросы по созданию модели автомобиля, обратитесь к файлу упражнения car.max, расположенному в папке Examples\Глава 12\Car прилагаемого к книге DVD, и проанализируйте готовую модель или ее отдельные элементы.
Глава 13 Текстурирование автомобиля
• Основы текстурирования автомобиля
• Текстурирование деталей автомобиля
После построения модели автомобиля необходимо ее текстурировать. Именно удачные текстуры придают модели вид, который может претендовать на реалистичность.
Текстурирование – не менее сложная и увлекательная задача, чем моделирование. В данной главе я хочу высказать свою точку зрения на текстурирование модели, в частности такой сложной, как автомобиль.
Глава разделена на два упражнения. В первом рассматриваются общие вопросы и текстурирование кузова. Второе описывает текстурирование отдельных элементов.
Текстурирование неразрывно связано с визуализацией, поэтому речь пойдет и о визуализации, и о текстурировании. Почему именно с визуализацией? Вы когда-нибудь обращали внимание, что на современных компьютерах даже сложная геометрия без текстур визуализируется достаточно быстро? Но стоит ввести в сцену материалы с трассируемыми отражениями, глобальное освещение или мягкие тени, и время визуализации увеличивается в несколько или даже десятки раз.
Основы текстурирования автомобиля
Прежде чем начинать текстурировать, необходимо определиться, для каких целей нужна модель. Если для игр или Интернета, то лучше всего подойдет низкополигональная модель с качественными текстурами, скрывающими недочеты подобного моделирования (кроме того, модели для визуализации в реальном времени (Real Time[3]) чаще всего имеют одну текстуру на весь объект). Если размер (я имею в виду количество полигонов) и время визуализации не принципиальны, то больше внимания стоит уделить качеству модели, материалам и текстурам.
При текстурировании модели я придерживаюсь той точки зрения, что все, что можно сгенерировать при помощи процедурных карт и окрасить при помощи материалов, должно быть сделано именно так. Такие материалы дают максимальное качество, возможность быстро менять параметры и не занимают дисковое пространство. Естественно, все должно быть в разумных пределах. Например, я не стал бы делать регистрационный номер на автомобиле методом моделирования с последующим наложением материалов, если он не будет основной деталью изображения. Не следует уделять слишком пристальное внимание и материалам, находящимся в салоне автомобиля, которые будут едва видны через стекла. Очень часто при попытке сделать реалистичные материалы процессор нагружается настолько, что тестовая визуализация длится часами. Хочу предостеречь вас от этого. Всегда существует возможность оптимизировать сцену. Например, исключить из визуализации колеса, которые расположены с противоположной стороны автомобиля, но у которых протектор на шине состоит из большого количества полигонов, а для диска используется такой материал, как Raytrace (Трассировка), и т. д.
Прежде чем приступить к непосредственному выполнению практической задачи, обратимся к теории.
Что делает модель автомобиля реалистичной? Прежде всего материалы и отражения, затем свет и тени, которые помогают ощутить объем, и, конечно, окружение.
Возьмем две фотографии автомобилей. На рис. 13.1 (смотрите также цветное изображение CH13_01.jpg на прилагаемом к книге DVD в папке Images\Глава 13) представлена фотография автомобиля с «жесткими» отражениями, что, с одной стороны, привносит некоторый хаос, а с другой – позволяет лучше ощутить пространство.
Рис. 13.1. Фотография автомобиля с «жесткими» отражениями
На фотографии видно, как отражаются в капоте деревья, небо, а на крыле и пороге – трава. Такие отражения могут появиться, только если краска покрыта слоем лака и отполирована. Создавая их на вашей модели, нужно иметь в виду, что вся геометрия должна быть построена безукоризненно, иначе в отражениях проявятся все неровности кузова.
На второй фотографии (рис. 13.2) у автомобиля более «мягкое» распределение цвета по поверхности.
Отражения не такие «жесткие» и почти незаметны, но вместе с тем видна глубина цвета, а выглядит автомобиль ничуть не хуже предыдущего. Судя по тени, падающей от автомобиля, фотография сделана в солнечный день, а отсутствие ярко выраженных отражений говорит о том, что поверхность имеет матовую основу. Равномерное распределение цвета по поверхности создает целостное восприятие автомобиля, от чего он только выигрывает.
Рис. 13.2. Фотография автомобиля с «мягким» распределением отражений
В качестве исходной модели для текстурирования я буду использовать модель BMW пятой серии (рис. 13.3), вы же можете применить другую модель или BMW из предыдущего упражнения по моделированию автомобиля.
Рис. 13.3. Модель автомобиля без текстур
Начните с расстановки освещения. Это первое, на что нужно обратить внимание при текстурировании. В данном случае вполне подойдет трехточечное освещение с ключевым тенеобразующим источником света. Сразу же настройте свет так, чтобы он не требовал значительной коррекции в процессе работы. Изменения настроек освещения, которые могут потребоваться в дальнейшем, должны быть незначительными, так как свет влияет на восприятие материалов и текстур, что, в свою очередь, может потребовать повторной настройки этих компонентов.
Прежде чем заняться материалом для кузова автомобиля, присвойте какую-нибудь текстуру плоскости, на которой он стоит. Это может быть земля, асфальт или дорожная плитка, как в моем случае.
ПРИМЕЧАНИЕ
Создание плоскости, на которой стоит автомобиль, имеет важное значение для текстурирования. Это связано с тем, что полированная поверхность автомобиля должна отражать окружающие предметы. Часть окружения можно создать при помощи текстурных карт, но поверхность, на которой стоит автомобиль, лучше делать при помощи редактирования на уровне подобъектов, так как, кроме участия в отражениях, она принимает тени от объектов, создавая глубину пространства.
Напомню, как присваиваются текстуры объектам.
1. Откройте окно Material Editor (Редактор материалов), щелкнув на кнопке
находящейся на панели инструментов, либо выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов), либо нажав клавишу M.
2. В окне Material Editor (Редактор материалов) щелкните на любой незадействованной ячейке с образцом материала.
3. В свитке Maps (Карты текстур) нажмите кнопку None (Отсутствует) рядом с картой Diffuse Color (Цвет рассеивания).
4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Bitmap (Растровое изображение). В результате откроется окно диалога Select Bitmap Image File (Выбор растрового изображения).
5. Выберите текстурную карту с изображением плитки.
В данном разделе речь идет о создании материала для кузова и лобового стекла автомобиля, поэтому все остальные объекты можно убрать со сцены, чтобы исключить их визуализацию. На рис. 13.4 представлены объекты сцены, с которыми мы будем работать.
Теперь создайте простой материал. Для этого откройте окно Material Editor (Редактор материалов) и щелкните на любой незадействованной ячейке с образцом материала. В качестве тонированной раскраски стандартного материала выберите в раскрывающемся списке свитка Shader Basic Parameters (Основные параметры затенения) строку Multi-Layer (Многослойная раскраска).
ПРИМЕЧАНИЕ
Можно воспользоваться и другой тонированной раскраской, например Phong (По Фонгу), но в таком случае придется в качестве цвета рассеивания использовать карту Falloff (Спад), а у Multi-Layer (Многослойная раскраска) данная возможность заложена в базовых параметрах. Именно эта тонированная раскраска лучше всего позволяет управлять двумя независимыми подсветками и создавать вид окрашенной поверхности, покрытой воском или лаком.
В свитке Multi-Layer Basic Parameters (Основные параметры многослойной раскраски) задайте значения параметров раскраски, показанные на рис. 13.5.
Рис. 13.4. Кузов автомобиля, подготовленный для текстурирования
Рис. 13.5. Свиток Multi-Layer Basic Parameters (Основные параметры затенения) со значениями параметров раскраски
Задайте для параметров цвета свитка Multi-Layer Basic Parameters (Основные параметры затенения) следующие значения:
■ Ambient (Цвет подсветки): Red (Красный) – 17, Green (Зеленый) – 36, Blue (Синий) – 54;
■ Diffuse (Цвет рассеивания): Red (Красный) – 3, Green (Зеленый) – 59, Blue (Синий) – 129;
■ Color (Цвет) в области First Specular Level (Первый слой отражения): Red (Красный) – 200, Green (Зеленый) – 191, Blue (Синий) – 237;
■ Color (Цвет) в области Second Specular Level (Второй слой отражения): Red (Красный) – 82, Green (Зеленый) – 116, Blue (Синий) – 227.
Обратите внимание, что вряд ли вид визуализированного вами автомобиля будет в точности соответствовать тому, что получится у меня. Я никогда не копирую старых настроек материалов, так как в другой сцене они обычно выглядят иначе. В связи с этим попробуем разобраться с настройками этого материала, чтобы понять, как он работает, и уметь создавать такие материалы самостоятельно.
Цвет диффузного рассеивания Diffuse (Цвет рассеивания) – основной цвет, определяющий цвет материала. От него зависит то, какого цвета будет кузов вашего автомобиля. Подбирается из возможных цветов заводской раскраски. Цвет окружающей среды Ambient (Цвет подсветки) – это обычно цвет, совпадающий с цветом диффузного рассеивания, но я предпочитаю использовать более темные тона (чаще всего черный). Параметры этого цвета не критичны.
Параметр Color (Цвет) в области First Specular Leyer (Первый слой отражения) определяет глянец поверхности автомобиля. Он создает впечатление окрашенной поверхности, находящейся под слоем лака. По тону он должен быть близким к цвету, но значительно ярче его.
Параметр Color (Цвет) в области Second Specular Layer (Второй слой отражения) задает цвет в местах бликов. Он должен содержать в себе цвет диффузного рассеивания, но стремиться к белому.
Остальные параметры – Level (Уровень), Glossiness (Глянец), Anisotropy (Анизотропия) и Orientation (Ориентация) – могут различаться в зависимости от геометрии и источников света. В основном они контролируют положение и размер бликов на поверхности объекта. Счетчик Diffuse Level (Уровень рассеивания), который расположен под параметром цвета диффузного рассеивания, позволяет дополнительно контролировать уровень яркости основного цвета.
Кроме того, вы можете применить в качестве карты Reflection (Отражение) карту Falloff (Спад) (рис. 13.6), использующую в качестве подматериала карту Raytrañe (Трассировка).
Рис. 13.6. Фрагмент свитка Maps (Карты текстур) с картой Falloff (Спад) в качестве карты Reflection (Отражение)
Материал усложняется картой Falloff (Спад) в качестве карты Reflection (Отражение), но с ее помощью можно получить контроль над интенсивностью отражений на поверхности. Настройки этой карты представлены на рис. 13.7.
Цвета Front : Side (Перед : сторона) – градации серого, такие же, как и на рис. 13.7. График Mix Curve (Кривая смешивания) определяет степень участия обеих карт в отражении по мере удаления от середины объекта к его сторонам.
Настройки карты Raytrañe (Трассировка), являющейся составной частью карты Falloff (Спад), представлены на рис. 13.8. Они не имеют почти никаких изменений относительно установок по умолчанию, кроме цвета окружающей среды в области Background (Фон), который я сделал светло-голубым.
После создания и настройки материала можно применить его к элементам кузова автомобиля. Для этого щелкните в окне Material Editor (Редактор материалов) на ячейке образца материала кузова и перетащите его в окно проекции на объект, который надо текстурировать. Затем можно провести тестовую визуализацию. Для этого выполните команду Rendering ► Render (Визуализация ► Визуализировать). В появившемся окне Render Scene (Визуализация сцены) выберите окно проекции и щелкните на кнопке Render (Визуализировать). В результате получится визуализированное изображение кузова автомобиля с материалом (рис. 13.9).
Вполне возможно, вы обратили внимание, что в изображении отсутствуют блики. Пусть это вас не смущает – просто я отключил их в настройках источников света. В своей работе я предпочитаю выставлять блики позже при помощи специально созданных для этого источников света, когда можно управлять их местоположением на поверхности объекта и интенсивностью вне зависимости от основных источников света.
Рис. 13.7. Свиток Falloff Parameters (Параметры спада) настроек карты Falloff (Спад)
Рис. 13.8. Свиток Raytracer Parameters (Параметры трассировки) настроек карты Raytrace (Трассировка)
Проанализируем то, что получилось при визуализации. Цвет покрытия кузова соответствует тому, который предполагался для этого материала, но отражений по-прежнему не хватает. Появились отражения на боковых дверках, бампере и немного на капоте, но этого мало для реалистичной модели. Чтобы усилить ощущение пространства, нужно добавить отражения к кузову автомобиля.
В настройках визуализатора или карты Raytrace (Трассировка) можно использовать текстурную карту в качестве карты Environment (Окружающая среда). Это, пожалуй, самый простой способ, но не лучший. Такое качество отражений удовлетворяет требованиям скорее второстепенных деталей, чем основных (рис. 13.10).
Можно создать окружение, то есть построить дополнительно геометрию (деревья, здания, людей и т. д.), которые будут отражаться в кузове и стеклах автомобиля. Метод хороший, но чреват долгой визуализацией (ведь процессору придется дополнительно просчитывать все эти объекты). Кроме того, вам придется создавать все эти объекты, если нет готовых (рис. 13.11).
Рис. 13.9. Визуализированное изображение с примененным материалом для кузова
Рис. 13.10. Отражения, полученные при помощи карты окружения
Можно построить полусферу, накрывающую автомобиль на значительном расстоянии (чтобы внутрь поместилась не только машина, но и камеры с источниками света). Затем к внутренней стороне этой полусферы применить текстуру с панорамным изображением того, что должно отражаться в автомобиле (рис. 13.12). Кстати, после того как будет построена такая полусфера, не забудьте повернуть ее нормали внутрь. Такой метод получения отражений, пожалуй, проще, но требует дополнительной работы с панорамной текстурой и ее местоположением на сфере.
Рис. 13.11. Отражения на капоте, полученные от объектов сцены
Рис. 13.12. Взаимное расположение объектов сцены при построении отражений от поверхности полусферы
Последний способ – организовать в сцене присутствие дополнительных плоскостей с текстурами, которые будут отражаться в кузове автомобиля. Он допускает относительную свободу в распределении отражений по поверхности кузова автомобиля и их контроль.
Именно четвертый метод будет рассмотрен немного позже как самый подходящий для этой задачи. Сейчас создадим еще один материал – стекло. Это позволит настраивать отражения не только на кузове, но и на стеклах автомобиля, которые также являются отражающей поверхностью и занимают значительное место в восприятии целостного изображения.
Можно использовать прозрачное стекло, но я предпочитаю немного тонированное, чтобы скрыть объекты салона, сделанные с малым количеством полигонов и не перегружающие сцену. И лобовое, и заднее стекла имеют темную обводку по периметру, поэтому начните работу с присвоения этим объектам текстурных координат. Рассмотрим данный процесс для лобового стекла (для заднего он аналогичен). Для этого выполните следующие действия.
1. В любом окне проекции выделите лобовое стекло (должно быть отдельным объектом или как минимум самостоятельным элементом с уникальным значением параметра ID (Идентификатор материала)).
2. Добавьте модификатор Unwrap UVW (Расправить UVW-проекцию), выполнив команду Modifiers ► UV Coordinates ► Unwrap UVW (Модификаторы ► UV-координаты ► Расправить UVW-проекцию).
3. Щелкните на кнопке Edit (Редактирование), в результате чего откроется окно редактирования текстурных координат.
4. В меню окна редактирования текстурных координат выполните команду Mapping ► Flatten Mapping (Проекционные координаты ► Плоские проекционные координаты) и, не меняя настроек в появившемся окне, нажмите OK.
В результате этих операций в окне редактирования должна появиться развертка лобового стекла, показанная на рис. 13.13.
Полученную развертку необходимо скопировать в любую программу для работы с растровыми изображениями, где вы сможете сделать карту маски (например, Adobe Photoshop).
СОВЕТ
Если вы не пользуетесь программами захвата изображения с экрана, то копирование можно провести через буфер обмена, нажав клавишу Print Screen (расположена справа от ряда функциональных клавиш) и затем вставив экранную копию в файл при помощи сочетания клавиш Ctrl+V (стандартная операция вставки из буфера обмена).
Используйте скопированное изображение в качестве слоя фона в приложении растровой графики и сделайте маску для лобового стекла. Если помните, по периметру стекла идет темная, почти черная, тонировка – именно ее необходимо сделать, выполнив отступы на небольшое расстояние от краев контура стекла (рис. 13.14).
Сохраните полученное изображение в цветовом режиме Grayscale в любом доступном формате.
В качестве материала для лобового стекла я использую Blend (Смешиваемый), где первый материал – тонированная окантовка стекла, второй – стекло, а маска (созданный в программе Adobe Photoshop файл GlassFront.jpg) управляет долей каждого материала в результирующем (рис. 13.15).
Рис. 13.13. Развертка проекционных координат лобового стекла автомобиля
Рис. 13.14. Текстурная маска для материала лобового стекла
Рассмотрим материал стекла подробнее. Параметр Material 1 (Материал 1) – окантовка лобового стекла. Здесь используется материал Standard (Стандартный) с прозрачностью, равной 80, и цветом, соответствующим тому, который вы хотите видеть на краях стекла. У меня это серо-коричневый цвет для Diffuse (Цвет рассеивания) и для Ambient (Цвет подсветки) с настройками Red (Красный) – 107, Green (Зеленый) – 103, Blue (Синий) – 99. В качестве карты Reflection (Отражение) я использовал карту Falloff (Спад), настройки которой идентичны установкам такой же карты, использованной при создании материала кузова, с той разницей, что величина параметра Reflection (Отражение) в данном случае составляет 45 (рис. 13.16).
Рис. 13.15. Настройки материала Blend (Смешиваемый) для лобового стекла
Рис. 13.16. Настройки первого материала стекла
Параметр Material 2 (Материал 2) – средняя часть лобового стекла (его заполнение). Материал сделан по тому же принципу, что и окантовка, с той разницей, что я использовал немного другой цвет и величина прозрачности здесь составляет уже 35, а отражений – 80. Для Diffuse (Цвет рассеивания) и Ambient (Цвет подсветки) заданы следующие значения: Red (Красный) – 83, Green (Зеленый) – 72, Blue (Синий) – 49. Кроме того, я применяю двусторонний материал, а в качестве тонированной раскраски стандартного материала – Phong (По Фонгу), и хотя большой разницы нет, раскраска по Фонгу позволяет получить более мягкое сглаживание.
Если вы внимательно посмотрите на свиток Maps (Карты текстур), то заметите, что отсутствует карта преломления в строке Refraction (Преломления). Хотя стекло и является материалом, преломляющим свет, проходящий через него, но из-за его незначительной толщины и с учетом расстояния, с которого автомобиль будет визуализироваться, я не считаю нужным использовать в данном случае преломления. Эффект от их применения почти незаметен, а процессор получает ощутимую дополнительную нагрузку. При желании вы можете поэкспериментировать, используя карту Raytrace (Трассировка) или Reflect/Refract (Отражение/ преломление). На рис. 13.17 показаны использованные мною настройки второго материала для лобового стекла автомобиля.
Продолжим разговор об организации сцены и вернемся к отражениям. Дальнейшую работу продолжите, используя четвертый способ получения отражений при помощи дополнительных плоскостей. Для этого поместите в сцену несколько примитивов Plane (Плоскость): один должен быть расположен сверху (имитировать небо), оставшиеся (от четырех до восьми) располагаются по сторонам автомобиля. Все плоскости должны находиться на небольшом расстоянии от автомобиля (рис. 13.18).
Рис. 13.17. Настройки второго материала стекла
При создании плоскостей не забудьте проследить, чтобы их нормали были обращены к автомобилю. После этого присвойте плоскостям текстуры с изображениями, которые будут отражаться в автомобиле. Для всех плоскостей, кроме плоскости неба, я использовал одну фотографию, хотя можно и разные – дело вкуса.
Перед выполнением визуализации необходимо изменить параметры всех плоскостей. Для этого выполните следующие действия.
1. В любом окне проекции выделите все плоскости, построенные для генерации отражений.
2. Щелкните правой кнопкой мыши на выделении, в результате чего откроется контекстное меню.
Рис. 13.18. Расположение плоскостей с текстурами отражения в окнах проекций программы 3ds Max
3. Выберите пункт Object Properties (Свойства объекта).
4. В области Rendering Control (Управление визуализацией) появившегося окна Object Properties (Свойства объекта) задайте параметрам объекта значения, показанные на рис. 13.19.
Теперь можно провести тестовую визуализацию. Если использовались темные фотографии, то вам, возможно, понадобится скорректировать положение текстур и изменить значение параметра Self-Illumination (Собственное свечение). Иногда приходится менять положение плоскости, имитирующей небо, чтобы найти оптимальные отражения.
После добавления плоскостей я поместил в сцену один источник света, который создает блики на бампере и передней части капота, а также дополнил автомобиль некоторыми деталями и провел тестовую визуализацию. На рис. 13.20 показано получившееся у меня изображение.
На данном рисунке изображена только первая тестовая визуализация. Чтобы получить хорошие реалистичные отражения, нужно не только подобрать соответствующие текстуры, но и правильно их разместить относительно поверхности автомобиля. Желательно, чтобы текстуры и их отражения соответствовали окружающей среде вашей сцены.
Рис. 13.19. Настройка плоскостей отражения в области Rendering Control (Управление визуализацией)
Рис. 13.20. Визуализация кузова и стекол автомобиля с отражениями
ПРИМЕЧАНИЕ
На прилагаемом DVD в папке Examples\Глава 13 находится файл Car_materials.mat, содержащий материалы кузова и стекла.
Текстурирование деталей автомобиля
В предыдущем разделе мы рассмотрели создание основных материалов для текстурирования модели автомобиля. Сейчас займемся созданием материалов для более мелких, но не менее важных деталей. Начнем с хромированных деталей кузова.
Материал хрома хорошо получается тогда, когда он не просто имеет карту текстуры в качестве отражений, а действительно отражает окружающие предметы. Как вариант можно использовать плоскости с текстурами для создания отражений, о чем говорилось в предыдущем разделе.
Для создания хрома откройте окно Material Editor (Редактор материалов) и щелкните на любой незадействованной ячейке с образцом материала. В качестве тонированной раскраски стандартного материала выберите в раскрывающемся списке свитка Shader Basic Parameters (Основные параметры затенения) строку Strauss (По Штраусу) и задайте значения, показанные на рис. 13.21.
Выбранный метод раскраски по Штраусу предназначен для имитации полированных металлических поверхностей с блеском. Особенность данного метода заключается в том, что в местах, где нет отражений, поверхность выглядит черной (это необходимо для передачи материала хрома).
Для параметра Color (Цвет) этого материала я использовал светло-серый цвет, который, на мой взгляд, лучше всего подходит для правильной передачи хромированных деталей автомобиля.
Отражения генерируются картой Raytrace (Трассировка) с настройками по умолчанию. Имеет значение только величина параметра Reflection (Отражение). У меня это значение равно 60, у вас оно может быть другим (зависит от источников света и текстур, использованных для генерации отражений).
После применения материала к хромированным объектам автомобиля можно сделать тестовую визуализацию фрагмента кузова с решеткой радиатора (рис. 13.22).
Рис. 13.21. Настройки материала хрома
Рис. 13.22. Визуализация хромированной решетки радиатора
Теперь поговорим о картах выдавливания. На капоте и багажнике автомобиля находятся две эмблемы BMW, которые расположены в небольших углублениях кузова. Моделировать такие углубления при помощи геометрии нецелесообразно, а при помощи карты Bump (Рельефность) это можно сделать просто и быстро.
Чтобы создать текстуру с картой выдавливания, выполните следующие действия.
1. Щелкните в окне Material Editor (Редактор материалов) на образце материала кузова и, удерживая нажатой кнопку мыши, перетащите его в свободную ячейку.
2. Присвойте этот материал капоту, перетащив его из Material Editor (Редактор материалов) на капот автомобиля в любом из окон проекций. Если сейчас выполнить визуализацию, ничего не изменится, так как на капоте будет тот же материал, что и раньше.
3. В строке Bump (Рельефность) свитка Maps (Карты текстур) настроек материала капота щелкните на кнопке None (Отсутствует).
4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Усовершенствованный градиент).
5. Настройте параметры карты, как показано на рис. 13.23.
6. Установите значение величины выдавливания, равное 6.
Разберемся с настройками этой карты. Значение Radial (Радиальный) в списке Gradient Type (Тип градиента) необходимо, чтобы градиентная карта получилась в виде круга.
Это карта выдавливания, поэтому используются градации серого цвета. Положение ползунков зависит от размера круга и текстурных координат, присвоенных капоту.
Для сглаживания краев применяется размытие. Отключите повторение текстуры, так как у вас только один круг с выдавливанием (снимите флажки Tile (Повторить) в свитке Coordinates (Координаты)).
Что касается текстурных координат, то нужно применить к капоту модификатор UVW Mapping (UVW-проекция), после чего сдвинуть и масштабировать Gizmo (Габаритный контейнер Гизмо) (на уровне подобъектов модификатора) так, чтобы текстура легла на капоте под значком логотипа (рис. 13.24).
Рис. 13.23. Настройки карты Gradient Ramp (Усовершенствованный градиент) для получения круглого выдавливания на капоте автомобиля
Рис. 13.24. Положение текстуры на капоте автомобиля (слева) и его визуализация (справа)
Этот способ можно использовать и для других целей, например обозначить крышку бака или сделать на бампере элементы крепления. Таким образом вы сможете улучшить внешний вид модели, не прибегая к дополнительной геометрии.
Рассмотрим вариант изготовления материала для фар и задних фар.
СОВЕТ
Если в сцене фары не будут видны слишком близко, то вполне достаточно будет просто наложить текстуру. Однако если вы хотите иметь по-настоящему хорошее изображение, то придется моделировать почти все элементы реальной фары.
Начнем со стекла, закрывающего блок-фару (у вас может быть другая модель автомобиля, без такого стекла) – прозрачного и гладкого по всей поверхности. Исходя из этого создадим простой прозрачный материал с высокой отражающей способностью для получения на поверхности бликов. В качестве тонированной раскраски стандартного материала из раскрывающегося списка свитка Shader Basic Parameters (Основные параметры затенения) выберите строку Anisotropic (Анизотропный). Я использовал анизотропную раскраску благодаря ее возможности управлять положением и формой блика. Настройки материала стекла представлены на рис. 13.25.
В качестве Diffuse (Цвет рассеивания) и окружающей среды Ambient (Цвет подсветки) использован светло-коричневый цвет с настройками Red (Красный) – 101, Green (Зеленый) – 92, Blue (Синий) – 77. На этом можно было закончить настройку материала, но я решил немного улучшить его, добавив в качестве цветового фильтра карту Falloff (Спад). Даже со стандартными настройками эта карта позволяет получить затемнения на краях, что придает стеклу более естественный вид. При помощи карты Raytrace (Трассировка) можно создать на поверхности отражения окружающих предметов. В этой карте настройки также не менялись. На рис. 13.26 показана визуализация фрагмента автомобиля со стеклом фар.
Рис. 13.25. Настройки материала наружного стекла блок-фары
Рис. 13.26. Визуализация стекла фар
Займемся внутренним пространством фары. Начните с указателей поворота. Воспользуйтесь стандартным материалом, для чего щелкните в окне Material Editor (Редактор материалов) на ячейке со свободным образцом. В свитке Maps (Карты текстур) выбранного материала примените две одинаковые карты Gradient Ramp (Усовершенствованный градиент) в качестве карты Diffuse Color (Цвет рассеивания) и в качестве карты Bump (Рельефность). Параметры карты, которую я использовал для этих целей, показаны на рис. 13.27.
Величина выдавливания этой карты в свитке Maps (Карты текстур) в моем случае получилась 190. Параметры для использованных в градиенте цветов: светло-коричневый: R – 220, G – 124, B – 0; темно-коричневый: R – 126, G – 59, B – 0.
Обычно этих настроек более чем достаточно (рис. 13.28), но, если вы хотите визуализировать отдельные элементы автомобиля, вам, возможно, придется улучшить карту выдавливания, сделав более сложный градиент.
Рис. 13.27. Параметры настройки улучшенного градиента для карт Diffuse Color (Цвет рассеивания) и Bump (Рельефность)
Рис. 13.28. Фрагмент фары с указателем поворота
Чтобы получить реалистичное изображение фары, нужно иметь рифленое стекло, хромированный корпус и нечто вроде лампочки (вместо нее может быть использован хромированный шар). Материал хрома у вас уже есть, поэтому повторяться не буду. Если вы выполняли упражнение по моделированию автомобиля, то должны помнить, что модель фары состояла из корпуса, стекла и хромированной окантовки. Стекло – это полусфера, у которой в параметрах отключена возможность принимать и отбрасывать тени. Чтобы выставить данные настройки, щелкните правой кнопкой мыши на объекте стекла фары и в появившемся контекстном меню выберите пункт Object Properties (Свойства объекта). В области Rendering Control (Управление визуализацией) открывшегося окна снимите флажки Receive Shadows (Принимать тени) и Cast Shadows (Отбрасывать тени). На рис. 13.29 представлены настройки материала рифленого стекла для автомобильной фары.
Для Diffuse (Цвета рассеивания) и Ambient (Цвет подсветки) использован светлосерый цвет. Коэффициент преломления оставлен заданным по умолчанию, но при желании его можно увеличить до 2. Величина параметра Opacity (Непрозрачность) равна 50. Здесь тоже могут быть варианты, но разница значений должна быть небольшой. Чтобы получить на стекле рифленую поверхность, необходимо использовать в качестве карты Bump (Рельефность) карту Checker (Шахматная текстура). Параметры этой карты представлены на рис. 13.30.
Рис. 13.29. Настройки материала стекла автомобильной фары
Рис. 13.30. Параметры карты рельефности для стекла фары
В свитке Checker Parameters (Параметры шахматной текстуры) цвет Color #1 – черный, а Color #2 – белый.
ПРИМЕЧАНИЕ
Для карты Bump (Рельефность) обычно используется монохромное изображение (хотя может быть применена цветная карта). При этом 100% черный цвет не влияет на величину выдавливания, в то время как белый создает максимальный эффект. Градации серого находятся между максимальным и минимальным выдавливанием, в зависимости от интенсивности цвета. Величина эффекта рельефности при использовании карты Bump (Рельефность) ограничена, в связи с чем при необходимости большего выдавливания применяйте модификатор Displace (Смещение) или моделирование неровностей.
Количество повторений шахматного поля по вертикали и горизонтали (заданное, например, в полях Tiling (Повтор)) вы можете ставить свое, так же, как и любое графическое изображение рельефа в качестве текстуры.
Эта же карта (карта рельефности) должна быть использована как составляющая карты Raytrace (Трассировка) для преломлений (рис. 13.31).
При текстурировании фары я пытался приблизиться к внешнему виду фар автомобиля BMW. Вам, возможно, понадобится делать другие форму и текстуры, если вы работаете с другой моделью или автомобилем иной марки.
СОВЕТ
Более сложный рисунок неровностей можно получить, используя рисованные карты выдавливания.
На рис. 13.32 показана визуализация фар после применения к ним материала стекла и хрома.
Рис. 13.31. Параметры трассировки для карты Refraction (Преломление)
Рис. 13.32. Результат визуализации фар
Теперь можно визуализировать всю блок-фару вместе с геометрией кузова. Возможно, вам придется скорректировать интенсивность освещения или немного изменить параметры материала фары. Окончательная настройка материала проводится в процессе визуализации всех элементов автомобиля в целом.
На рис. 13.33 представлен результат визуализации фрагмента передней части текстурируемого автомобиля.
Теперь займемся задними фарами. Из-за того, что форма рельефа этих фар значительно сложнее, чем передних, придется рисовать текстуру выдавливания. Но прежде нужно присвоить элементам текстурные координаты. Обычно я использую модификатор Unwrap UVW (Расправить UVW-проекцию). О том, как это делается, говорилось в предыдущем упражнении на примере лобового стекла, поэтому я лишь напомню последовательность работы.
1. Выделите заднюю фару (достаточно одной, затем можно будет сделать зеркальную копию относительно оси автомобиля).
2. Примените к выделению модификатор Unwrap UVW (Расправить UVW-проекцию).
3. Выполните развертку текстурных координат.
4. Сделайте снимок окна с разверткой при помощи клавиши Print Screen или любой программой захвата изображения экрана.
5. Вставьте изображение в нижний слой приложения редактирования растровой графики (например, Adobe Photoshop) и создайте карту выдавливания.
6. Сохраните монохромное изображение в формате, доступном программе 3ds Max, например PNG (рис. 13.34).
Рис. 13.33. Визуализация блок-фары вместе с передней частью автомобиля
Рис. 13.34. Карта выдавливания для задней фары автомобиля
Форма и рисунок карты рельефа должны соответствовать задней фаре настоящего автомобиля.
Кроме карты рельефа, для материала стекла задней фары вам понадобятся две маски. Они необходимы, чтобы разделить цвета, присутствующие в фаре. Одну маску сделайте при помощи карты Gradient Ramp (Усовершенствованный градиент), а вторую выполните в виде черно-белого изображения в программе Adobe Photoshop. Первая будет разделять цвета по горизонтали, а вторая выделит белый (рис. 13.35).
Данный материал будет немного сложнее предыдущих, но принцип его создания такой же. Как и в случае с передней фарой, нужно позаботиться, чтобы задняя фара имела корпус с хромированным материалом, а стекло не отбрасывало тени. Обычно внутреннее пространство корпуса фары разделено на части перегородками, и если смоделировать их, то можно улучшить вид будущей модели. Если вы не планируете визуализацию крупных планов, то моделировать внутреннее пространство не обязательно. На рис. 13.36 представлено изображение фрагмента окна Material Editor (Редактор материалов) с материалом стекла задней фары.
Рис. 13.35. Маска для разделения цвета, созданная в программе Adobe Photoshop
Рис. 13.36. Параметры материала стекла задней фары
Рассмотрим подробнее, из чего состоит этот материал, и его основные настройки.
■ Значение параметра Index of Refraction (Коэффициент преломления) равно 2,5. Обычно для стекла это много, но с таким коэффициентом оно смотрится лучше.
■ Параметр Filter (Цвет фильтра) свитка Extended Parameters (Дополнительные параметры) имеет карту Filter Color (Цвет фильтра) и определяет цвет всего объекта. Цвет фары состоит из двух основных: красного и оранжевого, поэтому для их взаимного расположения на объекте использована карта Mix (Смешивание).
■ Карта Bump (Рельефность) создает на поверхности рельеф. Это монохромное изображение, созданное вами в программе Adobe Photoshop.
■ Карта Refraction (Преломление) делает стекло прозрачным.
Рассмотрим каждую карту. В качестве цвета фильтра я решил использовать составную карту, хотя проще сделать трехцветную растровую карту. Проще, но не лучше, так как в процессе настройки материала такую карту приходится несколько раз переделывать: в зависимости от настроек материала и освещения меняется цвет объекта при визуализации. Параметры карты цветового фильтра Mix (Смешивание) показаны на рис. 13.37.
Эта карта разделяет геометрию на две части при помощи Gradient Ramp (Усовершенствованный градиент) (рис. 13.38). В верхней части – оранжевый цвет (параметр Color #1) с настройками Red (Красный) – 244, Green (Зеленый) – 147, Blue (Синий) – 42. Нижняя часть задней фары темно-красного цвета. В ней присутствует белый параллелепипед, поэтому придется еще раз воспользоваться картой Mix (Смешивание). В данном случае образец цвета Color #2 не имеет значения, так как он определяется второй картой смешивания.
Рис. 13.37. Параметры первой карты смешивания
Рис. 13.38. Параметры карты Gradient Ramp (Усовершенствованный градиент)
Карта Gradient Ramp (Усовершенствованный градиент) содержит два цвета: черный и белый, которые задают область смешивания. Положение ползунков подбирается опытным путем так, чтобы линия соединения цветов оказалась в нужном месте. Кроме того, необходимо повернуть отображение карты на 90° по оси W.
В карте Mix (Смешивание) должны быть определены два цвета. Маска регулирует, как они будут между собой взаимодействовать (рис. 13.39).
Если помните, это составной цвет нижней части задней фары. Здесь Color #1 (Цвет 1) имеет параметры Red (Красный) – 185, Green (Зеленый) – 24, Blue (Синий) – 0. Второй цвет (Color #2 (Цвет 2)) – белый.
Карта Refraction (Преломление) почти не требует настроек. Вам только необходимо использовать в области Background (Фон) в качестве карты окружающей среды карту, подготовленную для выдавливания (рис. 13.40).
Рис. 13.39. Параметры карты смешивания для второго цвета стекла
Рис. 13.40. Настройки карты преломления
На рис. 13.41 представлена иерархия материалов, иллюстрирующая, как материалы взаимодействуют между собой и в какой последовательности накладываются.
Визуализируем изображение. Нужный результат получился не сразу, но при помощи карты Mix (Смешивание) я быстро подобрал необходимые цвета.
Рис. 13.41. Иерархия материала стекла задней фары
Рис. 13.42. Результат визуализации задней фары в составе кузова автомобиля
Последнее, о чем я хочу рассказать в этом упражнении, – текстурирование автомобильного колеса.
Начнем с резины. На рис. 13.43 представлены настройки материала.
Тонкость создания хорошего материала шины заключается в карте Falloff (Спад) для Diffuse Color (Цвет рассеивания). Не менее важно использовать карту Bump (Рельефность) для протектора (если вы не сделали его путем редактирования на уровне подобъектов) или для надписей на боковой стороне шины, но только карта Falloff (Спад) делает реалистичным материал резины. При помощи этой карты (рис. 13.44) можно получить на краях покрышки дымку, которая существует на реальных колесах.
Первый цвет определяет основной цвет шины. У меня это темно-серый цвет с параметрами Red (Красный) – 72, Green (Зеленый) – 72, Blue (Синий) – 72. Второй цвет – цвет дымки. Его параметры: Red (Красный) – 173, Green (Зеленый) – 180, Blue (Синий) – 182. Возможно, вам понадобится немного другой оттенок (все зависит от освещения), но принцип текстурирования от этого не меняется.
Рис. 13.43. Настройки материала шины
Рис. 13.44. Параметры карты Falloff (Спад) для шины
Карту рельефа можно нарисовать в любой программе растровой графики или получить из фотографии шины. В любом случае это должно быть монохромное изображение, где градации цвета, отличного от черного, будут создавать на объекте рельеф (рис 13.45).
На рис. 13.46 представлен результат визуализации шины с примененным к ней материалом.
Рис. 13.45. Карта рельефа для шины
Рис. 13.46. Результат визуализации шины
Материал диска – хром, который вы создавали в начале раздела.
Если колесо не будет видно вблизи, я использую текстурную карту в качестве отражений. Это экономит время визуализации, так как для просчетов карты Raytrace (Трассировка) требуются дополнительные компьютерные ресурсы.
Иногда для дисков приходится применять логотипы и карты Bump (Рельефность). Я пользуюсь для этих целей материалом Blend (Смешиваемый). Этот материал по своим настройкам похож на рассмотренную выше карту Mix (Смешивание). В качестве примера я представляю вашему вниманию настройки этого материала (рис. 13.47) для логотипа, выполненного на диске колеса.
Вторым материалом в данном случае является стандартный материал черного цвета, хотя может быть применена любая другая карта текстуры или материал. Mask (Маска) – это черно-белое растровое изображение логотипа (рис. 13.48). Именно она определяет взаимное смешивание двух материалов.
Рис. 13.47. Параметры материала Blend (Смешиваемый)
Рис. 13.48. Маска для смешивания двух материалов
На рис. 13.49 представлен фрагмент модели колеса с примененным материалом Blend (Смешиваемый).
Рис. 13.49. Фрагмент визуализации диска
ПРИМЕЧАНИЕ
На прилагаемом к книге DVD в папке Examples\Глава 13 находится файл Car_details.mat с материалами деталей автомобиля и Wheel.mat с материалом шины и диска.
На этом упражнение по визуализации автомобиля можно считать законченным. Иногда я оставляю на несколько дней настройку визуализации, а затем возвращаюсь к ней, пытаясь по-новому осмыслить сделанную работу. Это помогает увидеть ошибки. Часто полезно показать работу посторонним людям и выслушать их замечания.
Глава 14 Моделирование головы
• Моделирование головы при помощи модуля Surfacetools
• Моделирование головы при помощи полигонов
• Моделирование ресниц
• Использование UV-проецирования для полигональной модели головы
• Текстурирование головы человека
• Создание волос
Моделирование головы – не только интересное, но и сложное занятие, которое по плечу только опытным пользователям программ трехмерной графики. Все описанные в этой главе операции требуют предварительной подготовки.
В двух первых разделах рассмотрено моделирование при помощи модуля Surfacetools и полигонального моделирования. Они описывают принципы моделирования головы со средним уровнем детализации, достаточным для создания реалистичного образа. В следующих разделах рассказано, как создаются текстуры лица человека. Кроме того, рассмотрено, как создать волосы для модели.
Моделирование головы при помощи модуля Surfacetools
Разработанный Питером Ватье (Peter Watje) для компании Digimation модуль Surfacetools стал незаменимым средством для моделирования объектов органического происхождения. При работе с ним вы размещаете сплайны в соответствии с контурами модели, после чего применяете один из двух инструментов Surfacetools – модификатор поверхности Surface (Поверхность) – и превращаете сплайны в готовую модель. Как только вы начнете работать с этим модулем, вы поймете, насколько просто можно создавать сложные модели.
Прежде чем перейти к моделированию головы, вам необходимо обладать двумя фотографиями головы: в фас и профиль.
ПРИМЕЧАНИЕ
При желании вы можете воспользоваться фотографиями Front.jpg и Side.jpg, подготовленными для работы с данной главой, которые находятся в папке Examples\Глава 14 прилагаемого к книге DVD.
На рис. 14.1 представлены фотографии, с которыми буду работать я.
Рис. 14.1. Фотографии головы в фас (слева) и профиль (справа), подготовленные для моделирования
Обратите внимание, что оба вида должны иметь одинаковый размер и пропорции (не забывайте о том, что мы моделируем в трехмерном пространстве). Кроме того, размер изображений должен быть достаточно большой, чтобы были хорошо видны детали (я использовал 1000 x 1100 пикселов). Только после того, как будут выполнены все приготовления в программе редактирования растровых изображений, можно переходить к работе в 3ds Max.
Практически любое моделирование такого рода начинается с создания виртуальной студии. Для данного случая подойдет самое примитивное пересечение двух плоскостей (рис. 14.2).
Рис. 14.2. Виртуальная студия
Моделирование головы при помощи сплайнов можно вести несколькими способами. Они похожи друг на друга и отличаются только последовательностью моделирования и расположением кривых на поверхности объекта. Я постараюсь как можно доступнее описать весь процесс моделирования так, как выполняю его сам. Подход к моделированию достаточно прост: сначала создадим все необходимые сплайны в окне проекции Front (Спереди), а затем скорректируем их положение в окнах проекций Left (Слева) и To p (Сверху), после чего применим модификатор создания поверхности Surface (Поверхность).
Приступим к моделированию. Во-первых, так как мы имеем дело с симметричной моделью, достаточно построить только одну ее половину. Во-вторых, можно создать отдельные части головы и затем соединить их в единое целое. Я предпочитаю отдельно строить только ухо и волосы (если они делаются геометрией).
Прежде всего выполните следующие действия.
1. Для активизации инструмента построения сплайна выполните команду Create ► Shapes ► Line (Создание ► Формы ► Линия).
2. Установите в свитке Creation Method (Метод создания) настроек объекта Line (Линия) переключатели Initial Type (Начальный тип) и Drag Type (Вершина при перетаскивании) в положения Smooth (Сглаживание) для построения сглаженных вершин в процессе создания сплайна (рис. 14.3).
3. Чтобы видеть вершины сплайна не только при построении, в свитке Display Properties (Свойства отображения) вкладки Display (Отображение)
командной панели установите флажок Vertex Ticks (Метки вершин) (рис. 14.4).
Рис. 14.3. Настройки для создания сплайна
Рис. 14.4. Настройки отображения вершин в свитке Display Properties (Свойства отображения)
ПРИМЕЧАНИЕ
Задать отображение вершин сплайна можно также в свитке Display Properties (Свойства отображения) окна Object Properties (Свойства объекта) для объекта Line (Линия).
Начнем с построения контура глаза (хотя можно начинать создание модели с любой ее части). Для этого при активном инструменте построения линии щелкните в окне проекции Front (Спереди) на левой части глаза и постройте восемь точек по периметру разреза глаза (рис. 14.5).
СОВЕТ
Выполняя упражнение по моделированию головы, не ставьте перед собой задачу сделать модель, похожую на изображение на фотографии, – на данном этапе значительно важнее научиться правильно моделировать, поэтому просто постарайтесь довести работу до конца, что само по себе нелегко. На начальном этапе будет достаточно, если общие формы модели будут соответствовать действительности.
Далее нужно построить новые сплайны вокруг уже существующего, но прежде необходимо сделать так, чтобы новый сплайн принадлежал той форме, которая была уже создана. Для этого надо снять флажок Start New Shape (Начать новую форму) в свитке Object Type (Тип объекта) (рис. 14.6).
Рис. 14.5. Начало построения сплайнов в окне проекции Front (Спереди)
Рис. 14.6. Свиток Object Type (Тип объекта)
Можно построить еще один сплайн вокруг существующего. Для этого в окне проекции Front (Спереди), удерживая нажатой клавишу Shift, воспользуйтесь командой Scale (Масштабирование) контекстного меню и увеличьте копию сплайна. После этого на уровне редактирования вершин немного скорректируйте положение вновь созданных вершин. Новый сплайн можно также построить обычным способом (рис. 14.7).
В процессе построения сплайна не забывайте о том, что для поверхности такого типа предпочтительно использовать по четыре вершины для образования патча, поэтому старайтесь их строить осознанно и в тех местах, которые обеспечивают именно такое построение. Кроме того, как уже говорилось выше, сплайны должны повторять характерные линии строящейся модели.
После того как вы построите два сплайна по форме разреза глаза, создайте еще один вокруг глаза, но уже от середины переносицы, далее по линии брови до окончания глазной впадины и обратно (рис. 14.8).
Рис. 14.7. Второй сплайн, построенный методом копирования
Рис. 14.8. Третий сплайн, построенный вокруг глаза
Для выполнения дальнейших операций построения сплайнов необходимо настроить привязки к вершинам. Для этого щелкните правой кнопкой мыши на кнопке Snaps Toggle (Переключение привязок)
в результате чего откроется окно Grid and Snap Settings (Настройки сетки и привязок). Установите в нем флажки, как показано на рис. 14.9.
После этого можно соединить построенные вершины поперечными сплайнами (рис. 14.10). Для этого в области New Vertex Type (Тип новых вершин) свитка Geometry (Геометрия) настроек сплайна установите переключатель в положение Smooth (Сглаживание), а затем щелкните на кнопке Create Line (Создать линию), после чего начните построение сплайнов.
Рис. 14.9. Окно Grid and Snap Settings (Настройки сетки и привязок) с настройками привязок
Рис. 14.10. Созданные поперечные сплайны
Продолжаем строить сплайны. На этот раз спуститесь немного вниз и постройте горизонтальный сплайн, проходящий по верхней части крыльев носа до середины уха, и сплайн по лобной кости вокруг глаза до пересечения с нижним сплайном. Не забывайте при этом выдерживать соответствие уже построенному количеству вершин (рис. 14.11).
Продолжите построение сплайнов и соедините вершины двух вновь построенных с вершинами созданных ранее (рис. 14.12).
Рис. 14.11. Добавлены два новых сплайна
Рис. 14.12. Построены поперечные сплайны
Напомню, что пока все построения ведутся только в окне проекции Front (Спереди).
Создайте еще два сплайна в районе лобной кости. Количество вершин можно сократить до трех в верхнем и до четырех в нижнем сплайнах (рис. 14.13), так как в этом месте геометрия не имеет ярко выраженных изменений.
Хочу напомнить, что мы строим модель одной половины головы, следовательно, крайние левые вершины сплайнов должны проходить по осевой линии, то есть через середину лба, носа, губ и подбородка.
Далее создайте сплайн по контуру верхней части головы и соедините его с уже существующими (рис. 14.14).
Рис. 14.13. Два сплайна, построенные в области лобной кости
Рис. 14.14. Сплайны, построенные по контуру головы
Продолжите создание сплайнов в нижней части лица. Старайтесь строить вершины так, чтобы сплайны проходили по характерным линиям, образованным основанием и крыльями носа, а также губами и разрезом рта (рис. 14.15).
Если бы мы стремились к большей детализации лица, для формирования геометрии носа и губ пришлось бы значительно увеличить количество вершин, но в данном задании постараемся обойтись минимальным.
Постройте еще некоторое количество кривых, чтобы закончить формирование каркаса из сплайнов для нижней части лица (рис. 14.16).
До сих пор вы создавали сплайны, опираясь лишь на их местоположение в двумерном пространстве (в окне проекции Front (Спереди)), не обращая внимания на то, как они связаны друг с другом и где находится начало и конец сплайна. Корректировка этих параметров важна для правильного построения поверхности.
Обратите внимание, как выделенный сплайн в верхней части головы (у вас это может быть в другом месте) описывает форму лица (рис. 14.17).
Сплайн начинается в области верхней части уха, доходит до середины нижней части глаза, далее пересекает его и поднимается к верхней точке осевой линии, а затем снова спускается к височной кости. Если применить модификатор Surface (Поверхность) к таким сплайнам, на выходе получится много искажений поверхности, с трудом поддающихся корректировке. Следовательно, необходимо внести изменения в структуру сплайнов. Правильнее будет сделать так, чтобы сплайны разделялись на горизонтальные и вертикальные, проходя через все лицо. Чтобы скорректировать геометрию сплайнов, выполните следующие действия.
Рис. 14.15. Построение сплайнов в нижней части лица
Рис. 14.16. Форма и расположение сплайнов в нижней части лица
1. Выделите вершины там, где, по вашему мнению, должен заканчиваться сплайн (обычно на границах общей формы).
2. В свитке Geometry (Геометрия) щелкните на кнопке Break (Разбить), в результате чего сплайн будет разбит в этом месте на две части.
3. В режиме редактирования подобъектов Segment (Сегмент) выделите те сегменты сплайнов, которые должны будут сформировать новый сплайн и подлежат объединению.
4. Инвертируйте выделение, нажав Ctrl+I.
5. В свитке Geometry (Геометрия) щелкните на кнопке Hide (Спрятать). В результате у вас останутся только выделенные сплайны (у меня это сплайны, описывающие контур лица) (рис. 14.18).
Рис. 14.17. Сплайн, описывающий форму лица
Рис. 14.18. Сплайны, выделенные для объединения
6. После того как будут спрятаны все лишние кривые, выделите вершины в местах соединения отдельных сплайнов и объедините их, щелкнув на кнопке Weld (Объединить) в свитке Geometry (Геометрия). В результате получится один непрерывный сплайн.
7. Откройте ранее спрятанные сплайны, щелкнув в свитке Geometry (Геометрия) на кнопке Unhide All (Показать все).
8. Повторите те же операции разбиения и слияния для других сплайнов.
На рис. 14.19 показано, как должны выглядеть некоторые из построенных и отредактированных сплайнов.
Прежде чем перейти к расположению сплайнов в пространстве, произведем некоторые настройки, облегчающие процесс моделирования.
1. Задайте локальную систему координат, для чего в раскрывающемся списке Reference Coordinate System (Система координат) на главной панели инструментов выберите Local (Локальная).
2. На панели инструментов щелкните на кнопке Select and Move (Выделить и переместить), а затем активизируйте перемещение по оси Z, для чего нажмите клавишу F7.
3. В свитке Selection (Выделение) установите флажок Area Selection (Область выделения) (рис. 14.20), что поможет выбирать сразу две вершины в местах пересечения сплайнов.
Рис. 14.19. Форма и расположение отредактированных сплайнов
Рис. 14.20. Настройки свитка Selection (Выделение)
После выполнения дополнительных настроек можно передвигать вершины в окне проекции бокового вида по оси Z в направлении линии профиля.
Передвинуть в новое положение необходимо все вершины, кроме тех, которые расположены на вертикальном сплайне, очерчивающем контур головы в окне проекции Front (Спереди) (это не относится к серединной линии). На рис. 14.21 показано начало данного процесса.
Рис. 14.21. Начало работы по корректировке положения вершин в окне проекции бокового вида
На данном этапе моделирования не стоит пытаться точно найти положение вершин в пространстве, для этого немного позже сделаем соответствующие уточнения. Продолжайте перемещать вершины в окне проекции вида сбоку до тех пор, пока не получится каркас из сплайнов, охватывающий лицевую часть (рис. 14.22).
Рис. 14.22. Положение сплайнов в пространстве на лицевой части головы
Продолжите наращивание сплайнов. На сей раз основные построения нужно вести в окне проекции вида сбоку. Включите привязку к вершинам и достройте сплайны на затылочной части головы. Здесь не требуется построения большого количества вершин – достаточно двух-трех дополнительных вершин на сплайн (рис. 14.23).
Продолжите построение, соединив вновь созданные точки вертикальными сплайнами (рис. 14.24).
Рис. 14.23. Сплайны, построенные в окне проекции вида сбоку
Рис. 14.24. Соединенные вертикальные сплайны в окне проекции вида сбоку
Теперь нужно скорректировать положение вновь построенных точек в пространстве и проанализировать состояние сплайнов. Сплайны, которые имеют начало или конец в середине сетки, нужно объединить со сплайнами, к которым они примыкают (так же, как для лицевой части головы).
После этого получится почти законченный каркас из сплайнов. На этом этапе моделирования можно посмотреть, какой будет поверхность разрабатываемой модели. Для этого выполните следующие действия.
1. Выделите в любом окне проекции каркас из сплайнов (это должен быть один объект).
2. Сделайте его копию, для чего выполните команду Edit ► Clone (Правка ► Клонировать) и в появившемся окне Clone Options (Параметры клонирования) выберите тип создаваемых при клонировании объектов Reference (Подчинение).
3. Присвойте копии модификатор Surface (Поверхность), выполнив команду Modifiers ► Patch/Spline Editing ► Surface (Модификаторы ► Редактирование патчей/сплайнов ► Поверхность).
4. При необходимости в свитке Parameters (Параметры) установите флажок Flip Normals (Обратить нормали).
Выполненные действия приведут к тому, что в окнах проекций, кроме студии, будут присутствовать еще два объекта: каркас из сплайнов и его копия с поверхностью. Если позволяет производительность вашего компьютера, сделайте еще один, симметрично отображенный, экземпляр объекта с поверхностью, чтобы видеть всю геометрию головы (рис. 14.25).
После этого необходимо уточнить положение вершин в пространстве. Именно сейчас, когда видна вся поверхность, можно передвигать вершины каркасного объекта, чтобы привести геометрию головы к желаемому виду.
После коррекции положения вершин в пространстве можно переходить к построению отверстия в носу. Для этого в нижнюю часть носа добавьте сплайны, как показано на рис. 14.26. Внутренний сплайн, образующий отверстие, скопируйте вверх (внутрь носа), чтобы впоследствии создать верхнюю часть отверстия.
Рис. 14.25. Модель головы с каркасом из сплайнов и поверхностью
Рис. 14.26. Форма сплайнов, формирующих отверстие в носу
Соедините все точки при помощи дополнительных сплайнов. В нижней части носа при помощи команды Refine (Уточнить) свитка Geometry (Геометрия) создайте две дополнительные вершины, после чего соедините их сплайнами (рис. 14.27).
Перед тем как перейти к моделированию уха, необходимо проанализировать всю поверхность и при необходимости внести изменения. Обратите внимание на характерные линии головы. Не забывайте контролировать весь процесс изменения положения вершин во всех окнах проекций. В районе серединной линии могут оставаться погрешности геометрии, связанные с тем, что обе половинки модели являются самостоятельными объектами. В остальном поверхность должна иметь законченный вид (рис. 14.28).
Моделирование уха – завершающий и, пожалуй, самый сложный этап. Сложность построения заключается в том, что в этой относительно маленькой форме сосредоточено большое количество сплайнов и без соответствующего опыта моделирования трудно в них разобраться.
На начальном этапе построения уха модель головы не понадобится и ее лучше спрятать. Чтобы сделать это, щелкните на модели правой кнопкой мыши и в появившемся контекстном меню выберите пункт Hide Selection (Спрятать выделенное). После этого в окне проекции вида сбоку создайте начальный сплайн для уха (рис. 14.29).
Рис. 14.27. Фрагмент носа с поверхностью
Рис. 14.28. Вид модели головы перед началом моделирования уха
Размер сплайна произвольный – на данном этапе это неважно, впоследствии вы сможете масштабировать так, как вам будет нужно.
Рис. 14.29. Начальный сплайн для построения модели уха
Рис. 14.30. Взаимное положение сплайнов уха в окнах проекций Right (Справа) (а) и Front (Спереди) (б)
Добавьте внутрь первого еще один сплайн и, сдвинув его немного относительно первого (в окне проекции Front (Спереди)), соедините с первым (рис. 14.30).
Постройте еще один сплайн, но уже не замкнутый, а от точек, лежащих на внутреннем сплайне. Снова соедините созданный сплайн отрезками с теми, которые были построены ранее. После этого скорректируйте положение всех точек в пространстве (рис. 14.31).
Продолжите формирование ушной раковины. В окне проекции To p (Сверху), удерживая нажатой клавишу Shift, скопируйте последний сплайн, немного сдвинув его вправо. После этих операций снова соедините отрезками новый сплайн с предыдущими (рис. 14.32).
По тому же принципу постройте еще один сплайн. На этот раз он должен находиться с внутренней стороны ушной раковины. Проще всего сделать такой сплайн при помощи копирования с масштабированием. И, конечно, снова соедините вершины соседних сплайнов отрезками (рис. 14.33).
Постройте последний сплайн внутри уха для формирования противозавитка.
Рис. 14.31. Начало формирования ушной раковины
Рис. 14.32. Сплайны, описывающие внешний контур ушной раковины
Рис. 14.33. Каркас из сплайнов, формирующий завиток ушной раковины
Теперь можно скопировать объект Reference (Подчинение), аналогично тому, как это делали для головы, и применить модификатор Surface (Поверхность). Выполненные действия помогут вам увидеть все изменения, вносимые в модель уха, продолжая при этом работать со сплайнами (рис. 14.34).
При создании сплайнов обращайте внимание на то, как они расположены в пространстве, для чего контролируйте построения во всех окнах проекций. Кроме того, время от времени поворачивайте модель в окне проекции Perspective (Перспектива) или User (Пользовательская), чтобы рассмотреть ее со всех сторон. При выполнении поперечных сплайнов не забывайте соединять вершины и объединять их при помощи команды Weld (Объединить).
После того как соединятся все вершины, должно получиться изображение, похожее на рис. 14.35.
Дальнейшее моделирование заключается в том, что нужно скорректировать положение построенных вершин. При необходимости преобразуйте вершины в тип Bezier Corner (Угол Безье), чтобы с помощью манипуляторов Безье было удобнее изменять форму сплайна. Для этого выделите необходимые для преобразования вершины и щелкните на них правой кнопкой мыши. В появившемся контекстном меню щелкните на строке Bezier Corner (Угол Безье).
Не вдаваясь в детали, постарайтесь передать общую форму ушной раковины (рис. 14.36).
Рис. 14.34. Модель уха после применения модификатора Surface (Поверхность)
Рис. 14.35. Поверхность модели уха после построения всех сплайнов
Теперь можно присоединить ухо к голове. Откройте модель головы и сопоставьте ухо с ее размером и положением.
Используя команды Move (Перемещение), Rotate (Вращение) и Scale (Масштабирование) контекстного меню, установите ухо на место (рис. 14.37).
Рис. 14.36. Готовая модель уха относительно головы
Рис. 14.37. Положение модели уха
СОВЕТ
Вы можете воспользоваться виртуальной студией в качестве заднего фона для установки положения модели уха относительно головы.
Чтобы присоединить сплайны уха к модели головы, необходимо прежде всего сделать отверстие. Для этого выделите сплайны головы в том месте, где будет крепиться ухо, и удалите их (рис. 14.38). Затем в свитке Geometry (Геометрия) щелкните на кнопке Attach (Присоединить) и в любом окне проекции – на сплайнах уха для их присоединения.
После присоединения уха к голове объедините вершины (где нет возможности сделать это напрямую, добавьте сплайны).
СОВЕТ
Объединяя вершины, старайтесь двигать вершины уха к вершинам головы. Таким образом вы сохраните геометрию головы, которая должна быть выверенной к этому времени.
На рис. 14.39 показана схема расположения сплайнов головы и уха после того как были объединены их вершины.
Рис. 14.38. Сплайны головы, которые необходимо удалить
Рис. 14.39. Расположение сплайнов в области уха
После того как модель уха будет присоединена к голове, можно удалить все копии с поверхностью (если вы не сделали этого раньше), в результате чего у вас должна остаться только сплайновая модель половины головы.
Сделайте симметричную копию сплайнов. Для этого на панели инструментов щелкните на значке Mirror (Зеркальное отображение)
и выберите тип Copy (Независимая копия объекта) создаваемых при дублировании объектов. Для присоединения копии щелкните в свитке Geometry (Геометрия) на кнопке Attach (Присоединить) и в окне проекции – на созданной копии.
ВНИМАНИЕ
После присоединения одной половины объекта к другой в районе серединной линии окажутся два сплайна, один из которых нужно удалить.
Объедините вершины в районе серединной линии, для чего последовательно выделяйте вершины и в свитке Geometry (Геометрия) щелкайте на кнопке Weld (Объединить). После того как все вершины в районе серединной линии будут объединены, можно применить модификатор Surface (Поверхность). На рис. 14.40 показан окончательный вид визуализированной модели головы.
В заключение хочется напомнить о том, что мы делали модель головы со средним уровнем детализации. Если вам нужна более точная копия, необходимо увеличить количество сплайнов, используя тот же подход к построению модели.
Рис. 14.40. Визуализация законченной модели головы
ПРИМЕЧАНИЕ
Для ознакомления с моделью головы и ее анализа можно загрузить файл сцены surface_head.max, который находится в папке Examples\Глава 14 прилагаемого к книге DVD.
Моделирование головы при помощи полигонов
В предыдущем упражнении вы познакомились с моделированием головы при помощи сплайнов. Продолжим эту тему и рассмотрим моделирование головы при помощи полигонов.
Прежде всего я хочу познакомить вас с пластической анатомией, то есть с тем, что образует внешние формы головы.
Правильнее было бы начать с изучения черепа, затем мышц лица и т. д., но задание подразумевает лишь практическое моделирование, поэтому я оставляю эти материалы для самостоятельного освоения.
У каждого человека голова по своему строению и пропорциям индивидуальна, тем не менее можно вывести усредненную схему человеческого лица. Осевая линия (вертикальная) делит голову пополам. Линия, проходящая через ось глаз, делит общую высоту головы пополам. Зрительно нижняя часть нам кажется большей, это происходит из-за значительного количества «деталей» в этой части лица. Если принять ширину глаза за единицу измерения а, то можно заметить, что высота головы укладывается в семь таких единиц, а высота носа равна высоте уха, расстоянию от носа до подбородка и высоте лба до волосяного покрова (каждый отрезок в отдельности равен двойной величине глаза). Расстояние между глазами, так же, как и расстояние от глаз до крайних точек висков, равно величине глаза. Расстояние между крайними точками крыльев носа также равно этой величине. Расстояние от подбородка до линии рта в два раза больше, чем расстояние от линии рта до носа (b). Все приведенные выше измерения, конечно, являются схематичными – в жизни у каждого человека свои пропорции. Тем не менее можно использовать эту схему как отправную точку для создания модели, внося изменения по мере построения индивидуальной головы (рис. 14.41).
Рис. 14.41. Пропорции головы человека
Перейдем к моделированию. В данном упражнении мы не будем применять виртуальную студию, а только используем вышеописанные пропорции и воображение. К тому же задача не заключается в том, чтобы сделать модель, похожую на кого-то.
Прежде чем начать построение, поговорим немного о полигональном моделировании. Как понятно из названия, это моделирование при помощи полигонов. Сами по себе полигоны создают грубую, ломаную форму, поэтому неотъемлемой частью моделирования форм органического происхождения является сглаживание. Достигается оно как минимум двумя способами: применением к объекту модификатора MeshSmooth (Сглаживание) или моделированием посредством Editable Poly (Редактируемая полигональная поверхность). Это почти одно и то же, за исключением незначительных нюансов. Существенная разница заключается в требованиях к ресурсам компьютера – использование Editable Poly (Редактируемая полигональная поверхность) примерно в полтора раза больше нагружает компьютер. Если это для вас существенно, я рекомендую моделировать посредством Editable Mesh (Редактируемая поверхность) с последующим сглаживанием. В данном задании я опишу моделирование при помощи Editable Poly (Редактируемая полигональная поверхность) как обладающее большими возможностями, но прежде расскажу о некоторых приемах работы с Editable Mesh (Редактируемая поверхность).
Постройте Box (Параллелепипед). Его габариты должны приблизительно соответствовать пропорциям головы, а количество сегментов по длине, ширине и высоте задайте такое, как показано на рис. 14.42.
Настоятельно рекомендую строить параллелепипед так, чтобы его ось совпадала с началом координат. Это облегчит работу с зеркальными копиями объектов. В результате создания примитива начальная геометрия для моделирования головы должна выглядеть так, как изображено на рис. 14.43.
Рис. 14.42. Параметры объекта Box (Параллелепипед)
Рис. 14.43. Параллелепипед, с которого начинается моделирование головы
На этом операции с параметрическим объектом закончены. Преобразуйте параллелепипед в объект Editable Mesh (Редактируемая поверхность). Для этого щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выполните команду Convert To ► Convert to Editable Mesh (Преобразовать ► Преобразовать в редактируемую поверхность). После того как объект стал редактируемой поверхностью, вы сможете переключаться в режим редактирования подобъектов (вершин, ребер, полигонов).
Начните редактирование с того, что на уровне подобъектов Vertex (Вершина) передвиньте внутренние ряды вершин так, как показано на рис. 14.44.
Чтобы начать формирование шеи, переключитесь в режим редактирования Polygon (Полигон) и выделите четыре нижних полигона. Воспользуйтесь инструментом Extrude (Выдавливание) из свитка Edit Geometry (Редактирование геометрии) командной панели и дважды выполните выдавливание (рис. 14.45). Таким образом вы подготовите объект для формирования шеи.
Прежде чем продолжать моделирование, необходимо учесть некоторые моменты:
■ голова симметрична, следовательно, можно моделировать только ее половину;
■ иметь в окнах проекций при моделировании только половину объекта неудобно, поэтому необходимо воспользоваться копией, чтобы видеть модель головы целиком;
■ для удобства работы с каркасом модели используйте параметр текстуры Wire (Каркас).
Рис. 14.44. Положение вершин после того, как внутренние ряды были передвинуты вперед
Рис. 14.45. Выдавленные полигоны для начала формирования шеи
Выделите в режиме редактирования Polygon (Полигон) левую сторону параллелепипеда и удалите ее. Для оставшейся части сделайте копию. Для этого выполните команду Edit ► Clone (Правка ► Клонирование) и в появившемся окне Clone Options (Параметры клонирования) выберите тип создаваемых при клонировании объектов Reference (Подчинение). Присвойте копии какое-нибудь значимое имя, например Surface, после чего примените к ней модификатор MeshSmooth (Сглаживание). Для этого выполните команду Modifiers ► Subdivision Surfaces ► MeshSmooth (Модификаторы ► Поверхности с разбиением ► Сглаживание). В настройках модификатора из списка Subdivision Method (Метод разбиения) выберите NURMS, а параметру Iterations (Количество итераций), определяющему количество разбиений, задайте значение, равное 2 (рис. 14.46).
После того как экземпляру будет назначен модификатор сглаживания, можно сделать его зеркальную копию. Для этого щелкните на кнопке Mirror (Зеркальное отображение)
находящейся на панели инструментов. В открывшемся окне в качестве типа объекта, создаваемого при дублировании, выберите Instance (Привязка). В результате получатся две сглаженные зеркально расположенные половинки модели головы и еще одна без сглаживания (рис. 14.47).
Создайте и примените к параллелепипеду материал с настройками, позволяющими отображать объект в каркасном виде (рис. 14.48).
Используйте в качестве цвета диффузного отражения контрастные по отношению к объектам цвета (я, например, применил желтый на сером фоне).
После назначения материала параллелепипеду объекты должны выглядеть так, как показано на рис. 14.49.
Чтобы убедиться в правильности настроек, выделите любую вершину объекта, представленного сеткой (у меня это Box01), и попробуйте переместить ее в стороны. Если вслед за вершиной начинают зеркально двигаться обе внутренние половинки, значит, все выполнено удачно, в противном случае проверьте, правильно ли сделаны копии основного объекта.
Рис. 14.46. Параметры модификатора сглаживания поверхности
Рис. 14.47. Взаимное расположение трех половинок одного объекта
Рис. 14.48. Настройки материала для отображения в каркасном виде
Рис. 14.49. Отображение объектов в окне проекции Perspective (Перспектива) после применения материала
ПРИМЕЧАНИЕ
Можно было обойтись и без третьего объекта, просто опустившись в стеке на уровень Editable Mesh (Редактируемая поверхность) и нажав в стеке модификаторов кнопку Show end result on/off toggle (Показать конечный результат вкл/выкл). Но лично я на начальном этапе моделирования предпочитаю работать так, как описано выше.
Все, о чем говорилось выше, относится к построению модели в Editable Mesh (Редактируемая поверхность). Если вы решите моделировать так же, как и я, в Editable Poly (Редактируемая полигональная поверхность), необходимо вернуться к состоянию параллелепипеда до того, как он был преобразован в редактируемую поверхность, и конвертировать его в Editable Poly (Редактируемая полигональная поверхность). Напомню, что это можно сделать, щелкнув на объекте правой кнопкой мыши и выполнив в контекстном меню команду Convert To ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность). После преобразования сделайте зеркальную копию половинки объекта и в окне в качестве типа объекта, создаваемого при копировании, выберите Instance (Привязка).
В свитке Subdivision Surface (Поверхности с разбиением) настроек основного объекта установите флажок Use NURMS Subdivision (Использовать NURMS-разбиение), а в области Display (Отображение) параметру Iterations (Количество итераций) задайте значение 2 (рис. 14.50).
Дальнейшая работа состоит в том, чтобы строить форму от общего к частному. Она напоминает работу скульптора, когда из глыбы мрамора постепенно вырисовывается форма будущей скульптуры. Только вместо инструментов скульптора мы будем использовать инструменты для работы с полигонами, ребрами и вершинами.
Переместите вершины так, чтобы придать объекту грубую форму головы (рис. 14.51).
Рис. 14.50. Свиток Subdivision Surfac (Поверхности с разбиением) настроек основного объекта моделирования
Рис. 14.51. Моделирование начинается с придания объекту общей формы головы
Обратите внимание, что не следует передвигать в вертикальной плоскости те вершины, которые находятся на линии глаз, – это положение серединной линии головы, и с помощью этих вершин мы будем формировать глазные впадины и веки.
Далее при помощи Slice Plane (Секущая плоскость) из свитка Edit Geometry (Редактирование геометрии) разделите половину объекта, с которым работаете, по вертикали на две части. Плоскость сечения должна проходить в области расположения носа (рис. 14.52).
Применяя все тот же инструмент Slice Plane (Секущая плоскость), сделайте еще один разрез в области бровей.
СОВЕТ
Работая с секущей плоскостью, удобно использовать при поворотах Angle Snap Toggle (Переключатель угловых привязок), который активизируется нажатием клавиши A.
Этот разрез поможет вам сформировать надбровные дуги и теменную часть затылка (рис. 14.53).
Рис. 14.52. Дополнительные ребра в области носа, полученные при помощи секущей плоскости
Рис. 14.53. Разрез, выполненный в области надбровных дуг
Работая с секущей плоскостью, не забывайте после каждого разреза уточнять положение вновь созданных вершин в пространстве. В противном случае после некоторого количества разрезов выставить положение вершин станет значительно сложнее.
Следующий шаг – разрез полигонов на фронтальной части модели, немного ниже серединной линии, для формирования скуловой части лица. Для этого воспользуйтесь инструментом Cut (Вычитание), расположенным в свитке Edit Geometry (Редактирование геометрии) командной панели. Как именно должен проходить разрез, показано на рис. 14.54.
Теперь все готово, и можно заняться формированием глаза. Для этого вам понадобится сделать еще несколько разрезов, формирующих области вокруг глаза. Начните с диагональных разрезов, а затем используйте их для построения прямоугольника внутри. После выполнения разрезов скорректируйте положение вершин в окне проекции Front (Спереди) (рис. 14.55).
Рис. 14.54. Разрез в области скуловой части лица
Для придания глазу нужной формы вам понадобится сделать еще два вертикальных разреза, один из которых будет проходить через середину глаза (рис. 14.56), а другой – правее его.
Рис. 14.55. Разрезы, выполненные в области глаза
Рис. 14.56. Вертикальный разрез, проходящий через середину глаза
Прежде чем продолжить дальнейшее построение формы глаза и делать новые разрезы, необходимо уточнить уже существующую геометрию. Как и в предыдущем задании по моделированию головы при помощи сплайнов, нужно строить ребра в местах изменения поверхности. Таким образом будет легче получить желаемую форму с минимальным количеством полигонов.
При построении разрезов в области надбровной дуги образовался треугольник, который в данном случае является лишним из-за того, что в этом месте будет проходить еще один горизонтальный разрез и появится избыточное количество ребер. Поэтому одно из ребер необходимо удалить. Выделите ребро левой стороны треугольника (рис. 14.57, слева) и удалите его, щелкнув на кнопке Remove (Удалить) в свитке Edit Edges (Редактирование ребер). После удаления ребра образуется прямоугольник с пятью вершинами. В отличие от сплайнового моделирования, вы можете оставить пятую вершину как есть, но лучше придерживаться построения полигонов с четырьмя (реже – с тремя) вершинами. Поэтому при помощи инструмента Target Weld (Объединить целевую), находящегося в свитке Edit Edges (Редактирование ребер), объедините отдельно стоящую вершину с той, которая расположена слева от нее (рис. 14.57, справа).
Продолжим формирование надбровной дуги и глаза. Для этого сделайте вертикальный разрез в правой части глаза, идущий до подбородка, и горизонтальный по надбровной дуге. После этого можно удалить внутренние полигоны, расположенные внутри ребер, формирующих глаз, и уточнить положение вершин в пространстве (рис. 14.58).
Рис. 14.57. Ребро, подлежащее удалению (слева), и ребро, вершину которого необходимо объединить с находящейся слева (справа)
Рис. 14.58. Расположение ребер вокруг глаза
Чтобы продолжить формирование глаза, выделите открытые ребра и, удерживая нажатой клавишу Shift, при помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать), находящегося на панели инструментов, дублируйте ребра внутрь отверстия два раза. Во второй раз сдвиньте ребра на незначительное расстояние и, не снимая выделения, переместите их внутрь модели для формирования века (рис. 14.59).
Чтобы построить правильную с геометрической точки зрения поверхность модели в области глаза, необходимо увеличить сетку полигонов. В связи с этим продолжите наращивать в данном месте полигоны. Это можно сделать при помощи дополнительных разрезов вокруг глаза. Для придания более острой формы в местах крепления ресниц воспользуйтесь параметром Crease (Складка) для соответствующих ребер или примените инструмент для создания фаски (Chamfer (Фаска)) (рис. 14.60).
Рис. 14.59. Сглаженная форма модели в области глаза
Дальнейшее уточнение формы глаза необходимо проводить по сфере, имитирующей форму глазного яблока (само глазное яблоко вы можете смоделировать позже). Задача заключается в том, чтобы после уточнения положения вершин в пространстве нижнее и верхнее веки расположились по поверхности сферы (рис. 14.61).
Рис. 14.60. Дополнительные ребра в области глаза
Рис. 14.61. Форма глаза, уточненная по сфере
В процессе моделирования вам, возможно, придется еще не раз возвращаться к уточнению формы головы в области глаза, но на данном этапе той детализации, которую вы уже сделали, будет достаточно.
Перейдем к формированию носа и губ. Для их построения вам понадобится сделать два разреза секущей плоскостью у основания носа и через середину губ. Напоминаю, что согласно ранее описанным пропорциям высота нижней части лица составляет 2/7 от размера головы и равна расстоянию от подбородка до основания носа (рис. 14.62).
Прежде чем приступить к моделированию губ, вам нужно сделать разрезы полигонов вокруг них. Для этого воспользуйтесь инструментом Cut (Вычитание) свитка Edit Geometry (Редактирование геометрии). В верхней части разрез берет начало немного ниже основания носа, а заканчивается во впадине, формирующей подбородок, проходя через крайние точки губ (рис. 14.63).
Рис. 14.62. Состояние модели после выполнения разрезов в области основания носа и середины губ
Рис. 14.63. Начало формирования рта
Если вы в дальнейшем собираетесь анимировать лицо, обязательным условием для этого будет моделирование полости рта, что повлечет раздельное моделирование верхней и нижней губы. Чтобы создать разрез в области рта, выделите ребра, проходящие в середине губ, и щелкните в свитке Edit Edges (Редактирование ребер) на кнопке Split (Разделить). В результате ребра разделятся и образуется по две пары вершин. Разведите соседние вершины в стороны так, чтобы образовалось отверстие, после чего отредактируйте их положения в пространстве (рис. 14.64).
Чтобы правильно построить модель губ, необходимо добавить вертикальные полигоны в уголках рта. Это можно сделать, разделив ребра, проходящие от уголка рта и до затылка. Для этого выполните следующие действия.
1. Выделите одно ребро, следующее за уголком губ, и щелкните на кнопке Loop (Петля), находящейся в свитке Selection (Выделение). В результате выделится весь ряд ребер, вплоть до серединной линии.
2. Щелкните на кнопке Chamfer (Фаска) в свитке Edit Edges (Редактирование ребер) и в окне проекции Front (Спереди) или Perspective (Перспектива) постройте фаску для выделенных ребер (рис. 14.65).
После этого вершины, относящиеся к разрезу губ, нужно объединить с вновь образованными снаружи, чтобы получилось прямоугольное отверстие в уголках губ (рис. 14.66). Уточните также положение вновь созданных вершин в пространстве (как минимум необходимо раздвинуть их по высоте).
Рис. 14.64. Ребра, определяющие разрез рта
Рис. 14.65. Фаска, построенная на ребрах, идущих от уголков губ
Сделайте еще несколько разрезов, формирующих область губ. Первый вертикальный разрез должен пройти от глаза через крайнюю точку крыла носа и до разреза верхней губы (рис. 14.67, слева). Второй – по линии формирования губ с таким расчетом, чтобы в уголках губ образовалось по одному дополнительному полигону (рис. 14.67, справа).
Рис. 14.66. Положение ребер в уголках губ после слияния вершин
Рис. 14.67. Вспомогательные разрезы для формирования области губ (слева) и расположение ребер в уголках губ (справа)
Не забывайте уточнять положение вновь сформированных вершин в пространстве, контролируя их во всех окнах проекций.
Чтобы сделать линию губ более четкой, необходимо выделить ребра по периметру и построить Chamfer (Фаска) с небольшой величиной смещения.
Для завершения моделирования губ на данном этапе нужно правильно расположить в пространстве вершины, формирующие их. Особое внимание уделите вершинам, размещенным в уголках губ. Возможно, вам придется потратить больше времени, чем вы предполагали, но не стоит продолжать моделирование, не получив удовлетворительного результата, в противном случае ошибки начнут накапливаться, и в итоге вид модели окажется далек от желаемого.
СОВЕТ
Если у вас недостаточно знаний в пластической анатомии и опыта персонажного моделирования, можно воспользоваться зеркалом для подробного изучения отдельных частей лица в процессе моделирования.
Результат работы на данном этапе представлен на рис. 14.68.
Теперь сформируем подбородок, для чего нужно сделать еще один дополнительный разрез. Он должен пройти от ребра, расположенного на уровне губ, до серединной линии, которая находится в выступающей части подбородка (рис. 14.69). Ребро, образовавшееся в процессе разреза и проходящее по диагонали через полигон, лежащий справа от губ, удалите при помощи кнопки Remove (Удалить).
Рис. 14.68. Размещение ребер, формирующих губы
Рис. 14.69. Ребра, формирующие подбородок
Построим полость рта. Для этого выделите ребра, окаймляющие разрез губ, и, удерживая нажатой клавишу Shift, сделайте три копии ребер внутрь. После этого объедините крайние вершины, чтобы образовалось замкнутое пространство, а промежуточные немного раздвиньте по вертикали для увеличения внутреннего пространства полости рта (рис. 14.70).
Рис. 14.70. Полость рта, сформированная при помощи копирования ребер
Перейдем к построению носа. Прежде всего сделайте дополнительный вертикальный разрез от надбровной дуги до верхней губы (рис. 14.71). Затем так же, как и в случае с подбородком, удалите ребро, ставшее лишним после выполнения разреза.
Для формирования крыльев носа сделайте еще один разрез (рис. 14.72).
После выполнения этих разрезов необходимо выделить полигоны, образующие спинку и крылья носа, чтобы применить к ним инструмент Extrude (Выдавливание). Результат показан на рис. 14.73.
Рис. 14.71. Вспомогательный вертикальный разрез для моделирования носа
Рис. 14.72. Разрез, определяющий форму крыльев носа
Рис. 14.73. Положение полигонов, формирующих нос, после выдавливания
Получившееся после выдавливания еще мало похоже на будущий нос. Удалите полигоны, сформировавшиеся в процессе выдавливания с внутренней стороны носа по осевой линии. После сместите вновь созданные вершины. В области переносицы и в верхней части носа (со стороны глаза и щеки) вершины нужно объединить, чтобы создать плавный переход от лобной кости к переносице. Затем расположите оставшиеся вершины в пространстве для придания поверхности объекта формы носа (рис. 14.74). Помните, что контролировать построения нужно во всех окнах проекций и время от времени поворачивать модель в окне проекции Perspective (Перспектива) или User (Пользовательская), чтобы рассмотреть ее в деталях.
Продолжая моделирование формы носа, сделайте дополнительные разрезы для увеличения плотности полигонов в нижней части (в области крыльев носа). Линия разреза пройдет по верхнему краю отверстия в носу и внешней части крыла носа. Чтобы получить округление носа в месте излома геометрии, необходим еще один разрез (рис. 14.75).
Рис. 14.74. Форма носа после предварительной корректировки вершин у основания носа
Рис. 14.75. Два разреза, выполненные для увеличения количества полигонов
После создания разрезов уточните геометрию носа при помощи перемещения вершин, формирующих его.
Перейдем к моделированию отверстия в носу. Для его построения нужно выделить полигон в нижней части и дважды применить выдавливание. Первый раз на небольшую величину с уменьшением, чтобы сформировать край, а затем на высоту четверти носа (рис. 14.76).
Сделайте еще несколько сечений, чтобы построить складку, идущую от носа к уголкам губ (рис. 14.77).
Рис. 14.76. Отверстия в носу, выполненные при помощи выдавливания полигонов
Рис. 14.77. Разрезы для формирования складки
После этого удалите лишнее ребро, образованное в результате сечения.
СОВЕТ
Не забывайте, что лучшего результата сглаживания можно достичь, имея минимальное количество полигонов с тремя сторонами. Таким образом, во всех местах, где можно использовать полигоны с четырьмя сторонами вместо полигонов с тремя, нужно сделать соответствующие изменения.
После выполнения всех уточнений можно перейти к построению уха. Но прежде проверьте еще раз модель во всех окнах проекций, поверните ее в окне проекции Perspective (Перспектива) и рассмотрите со всех сторон. Очень важно это делать постоянно, в противном случае можно пропустить ошибки, которые чем дальше, тем сложнее будет исправить. Важно все рассматривать в целом, но не забывать уделять внимание и деталям.
На рис. 14.78 показана модель на той стадии, когда начинается построение уха.
Создание уха, как и предыдущих деталей модели головы, начинается с разрезов. Сначала необходимо сформировать место, в котором ухо будет крепиться к голове. Для этого выполните разрезы полигонов, как показано на рис. 14.79.
Рис. 14.78. Результат визуализации модели головы перед началом построения уха
Рис. 14.79. Разрезы, выполненные в местах крепления уха к голове
По форме разрезы, расположенные внутри, должны напоминать немного наклоненный эллипс. Пока можно не обращать внимания на трехсторонние полигоны – позже их нужно будет модифицировать.
В окне проекции Right (Справа) выделите полигоны, находящиеся внутри разрезов, и, щелкнув на кнопке Extrude (Выдавливание) в свитке Edit Polygons (Редактирование полигонов), выдавите выделенные полигоны на небольшую величину (рис. 14.80, слева). Не снимая выделения, разверните их немного в сторону лица (рис. 14.80, справа), используя инструмент Select and Rotate (Выделить и повернуть), находящийся на панели инструментов.
Почти весь процесс создания ушной раковины заключается в построении при помощи выдавливания новых полигонов и редактировании положения вершин в пространстве. По этой причине желательно удалить (обязательно при помощи кнопки Remove (Удалить)) ребро, проходящее внутри полигонов, образующих ухо.
Того количества вершин, которое образовалось в процессе разрезания, вполне хватит для основания уха, но недостаточно для формирования ушной раковины. В связи с этим, прежде чем выполнять дальнейшие выдавливания рельефа и наращивать полигоны, необходимо немного увеличить количество вершин, определяющих форму уха. Для этого выделите три вершины, находящиеся со стороны лица в последнем ряду, и примените к ним Chamfer (Фаска) из свитка Edit Vertices (Редактирование вершин). В результате на верхней грани добавятся три вершины (рис. 14.81).
Рис. 14.80. Полигоны уха, выдавленные при помощи команды Extrude (Выдавливание) (слева) и повернутые в окне проекции Top (Сверху) (справа)
Рис. 14.81. Новые вершины, образованные инструментом Chamfer (Фаска)
Продолжим выдавливание. На этот раз лучше всего воспользоваться инструментом Bevel (Выдавливание со скосом), чтобы не просто выдавить полигоны, но и раздвинуть их в стороны на небольшое расстояние, начав формирование завитка уха.
СОВЕТ
Того же результата можно достичь, выдавив полигоны при помощи инструмента Extrude (Выдавливание) с последующим масштабированием выдавленных полигонов с помощью инструмента Select and Uniform Scale (Выделить и равномерно масштабировать), находящегося на панели инструментов.
После выдавливания полигонов необходимо сдвинуть вершины переднего края уха. Это позволит начать формирование козелка (выступающей части уха, за которой находится ушное отверстие) (рис. 14.82).
Выполните еще два выдавливания внутренних полигонов для формирования завитка ушной раковины. Чтобы получить скругленную форму в середине завитка, можно воспользоваться вместо инструмента Extrude (Выдавливание) инструментом Bevel (Выдавливание со скосом), находящимся в свитке Edit Polygons (Редактирование полигонов) командной панели. При формировании новых полигонов необходимо немного увеличить средний ряд ребер (рис. 14.83).
Рис. 14.82. Расположение ребер после выполнения корректировки положения вершин в окнах проекций Right (Справа) (а) и Front (Спереди) (б)
Теперь можно перейти от формирования внешней части ушной раковины к созданию полигонов ее внутренней части. Для этого постройте ряд полигонов со смещением внутрь, например при помощи инструмента Bevel (Выдавливание со скосом).
Не снимая выделения с полигонов в средней части уха, сделайте скос с нулевым значением по высоте и отрицательным значением величины смещения контура. Это позволит сделать ряд внутренних ребер завитка (рис. 14.84).
Рис. 14.83. Полигоны, формирующие внешнюю геометрию завитка уха
Рис. 14.84. Размещение полигонов ушной раковины в окне проекции User (Пользовательская)
Сделайте два разреза для формирования закругления козелка в его верхней части и объедините вершины у его основания, чтобы уменьшить плотность сетки полигонов. Внимательно осмотрите со всех сторон выдавленные полигоны и уточните положение вершин. На данном этапе моделирования уточнения должны носить общий характер, то есть нужно обратить внимание только на большие формы, не вникая в детали (рис. 14.85).
Выполните еще одно выдавливание центрального полигона, но с отрицательным значением. Эта операция позволит выполнить закругление завитка ушной раковины и положит начало построению полигонов внутренней части (рис. 14.86).
Рис. 14.85. Положение и форма ребер козелка после их редактирования
Рис. 14.86. Начало формирования внутренней части уха
Моделирование внутренней части ушной раковины требует дополнительных разрезов по линии излома. На рис. 14.87 показаны ребра, построенные при помощи инструмента Cut (Вычитание).
Выделите еще раз внутренний полигон и сделайте последнее выдавливание на небольшую величину (рис. 14.88).
Рис. 14.87. Разрезы, выполненные во внутренней части ушной раковины
Рис. 14.88. Положение полигона внутренней части ушной раковины в окнах проекций Top (Сверху) (слева) и User (Пользовательская) (справа)
Осталось самое сложное в моделировании ушной раковины – окончательное уточнение положения вершин в пространстве. Вы можете использовать для этого фотографии уха крупным планом, которые можно найти в Интернете.
При уточнении формы ушной раковины необходимо сделать предварительное редактирование вершин на модели без сглаживания и только после этого включить сглаживание полигонов и окончательно отредактировать. Еще раз напоминаю: все операции, связанные с перемещением вершин в пространстве, нужно контролировать во всех окнах проекций.
Модель уха, которая получилась у меня, представлена на рис. 14.89.
Напомню, что модель головы делается со средним уровнем детализации. Для получения большего контроля над формой уха (как и всей модели) необходимо увеличить количество контрольных вершин. Это позволит более точно передать форму, но вместе с тем для человека, не имеющего достаточного опыта в моделировании, может представлять дополнительные трудности.
На рис. 14.90 показан результат визуализации модели головы после объединения двух половинок при помощи модификатора Symmetry (Симметрия).
Рис. 14.89. Модель уха в окне проекции Right (Cправа)
Рис. 14.90. Результат визуализации модели головы после применения модификатора Symmetry (Симметрия)
ПРИМЕЧАНИЕ
Для ознакомления с моделью головы, выполненной при помощи полигонов, и ее анализа можно загрузить файл poly_head.max, который находится в папке Examples\Глава 14 прилагаемого DVD.
Моделирование ресниц
Существует несколько способов создания ресниц для модели головы человека: начиная c использования текстурных карт и заканчивая моделированием каждой ресницы в отдельности. В данном разделе рассмотрим, как автоматизировать процесс создания ресниц для модели головы среднего и высокого уровня детализации.
Для работы вам понадобится модель головы или фрагмент (рис. 14.91).
ПРИМЕЧАНИЕ
В данном случае я буду использовать фрагмент полигональной модели головы, хотя метод моделирования, описанный в данном упражнении, можно с таким же успехом применить для Surface– или NURBS-поверхности.
Рис. 14.91. Фрагмент модели головы, предназначенный для моделирования ресниц
Для дальнейшей работы понадобится сплайн, который следует разместить на поверхности модели в местах естественного роста ресниц. Проще всего получить такой сплайн, используя ребра, формирующие поверхность модели лица. Для этого выделите объект Face и перейдите на уровень редактирования ребер. Выделите ребро, расположенное на границе разреза глаза, и щелкните на кнопке Loop (Петля) в свитке Selection (Выделение). В результате этих действий должны выделиться все ребра вокруг глаза (рис. 14.92).
Рис. 14.92. Ребра, выделенные вокруг глаза после применения инструмента Loop (Петля)
Щелкните на кнопке Create Shape From Selection (Создать форму из выделения) в свитке Edit Edges (Редактировать ребра). В открывшемся окне Create Shape (Создать форму) необходимо установить переключатель типа создаваемого сплайна в положение Smooth (Сглаженный) (рис. 14.93).
Выделите созданный сплайн и перейдите на уровень редактирования сегментов, щелкнув для этого на кнопке Segment (Сегмент)
в свитке Selection (Выделение). Выделите сегменты сплайна, расположенные в углах созданной кривой, и удалите их. Таким образом, у вас останется сплайн только в тех местах, где должны находиться ресницы (рис. 14.94).
Рис. 14.94. Форма сплайна после удаления угловых сегментов
СОВЕТ
Чтобы было удобнее работать со сплайнами и геометрией ресниц, можно при помощи команды Hide (Скрыть) спрятать все ненужные на данном этапе объекты.
Верхние и нижние ресницы различаются по форме и расположению на поверхности века, поэтому построенный сплайн необходимо разделить на два самостоятельных сплайна – один для верхних ресниц, второй для нижних. Для этого перейдите на уровень редактирования подобъектов Spline (Сплайн)
выделите нижнюю часть общего сплайна и щелкните на кнопке Detach (Отделить) из свитка Geometry (Геометрия). Таким образом, у вас окажется два самостоятельных сплайна (рис. 14.95).
Рис. 14.93. Окно Create Shape (Создать форму)
ПРИМЕЧАНИЕ
Для Surface-модели можно использовать сплайны поверхности. Для NURBS – кривые поверхности. Можно также построить самостоятельные сплайны, которые находятся на поверхности объекта в местах расположения ресниц. Каким образом это будет сделано, не имеет значения.
Рис. 14.95. Объект, разделенный на два самостоятельных сплайна
Перейдем к построению ресниц. Начнем с создания цилиндра. Расположите его недалеко от сплайнов, чтобы иметь возможность сопоставить размеры и положение в пространстве. В моем случае радиус цилиндра равен 0,005, а высота – 0,36 (если вы будете использовать собственную модель головы или ее фрагмент, то размеры строящегося цилиндра, скорее всего, будут другими). При построении цилиндра необходимо обратить внимание на значение параметра Height Segments (Количество сегментов по высоте) – он должен быть равен не менее 4, а Sides (Количество сторон) иметь значение от 3 до 5. Кроме того, должен быть установлен флажок Smooth (Сглаживание) (рис. 14.96).
Рис. 14.96. Относительный размер и свиток параметров строящегося цилиндра
Заострите цилиндр, применив к нему модификатор Taper (Заострение) (рис. 14.97).
Рис. 14.97. Полученный цилиндр (слева) и настройки модификатора Taper (Заострение) (справа)
Далее воспользуйтесь модификатором Bend (Изгиб) и изогните объект так, чтобы он стал похож на ресницу, расположенную на верхнем веке (рис. 14.98).
Рис. 14.98. Полученная ресница (слева) и настройки модификатора Bend (Изгиб) (справа)
Расположим созданную ресницу на построенном ранее сплайне, а затем размножим ее.
Начнем с того, что выполним привязку ресницы к сплайну, затем анимируем ее масштаб по мере продвижения к наружной части века. Для этого в одном из окон проекций выделите построенную ресницу и выполните команду Animation ► Constraints ► Path Constraint (Анимация ► Ограничения ► Ограничение по пути). В качестве пути следования ресницы укажите в одном из окон проекций верхний сплайн.
В результате на командной панели откроется свиток с настройками параметров контроллера анимации. В свитке Path Parameters (Параметры пути) (рис. 14.99) установите флажок Follow (Следовать), благодаря чему модель ресницы все время будет располагаться перпендикулярно сплайну.
Рис. 14.99. Свиток Path Parameters (Параметры пути)
Если вы сейчас передвинете ползунок таймера в правую сторону шкалы кадров, то увидите, что модель ресницы начнет движение по кривой от начала сплайна (его первой точки) до его конца.
Сделаем так, чтобы ресницы по мере удаления от начала сплайна становились длиннее и гуще. Для этого выполните следующие действия.
1. Щелкните на кнопке Auto Key (Автоключ), расположенной в правой нижней части окна программы, для автоматической записи ключей анимации. В результате кнопка станет красной, что указывает на ее активное состояние.
2. Выделите ресницу и перейдите в последний кадр анимации (у меня – сотый).
3. Выполните одно из двух действий: либо увеличьте высоту цилиндра в 1,3-1,5 раза в его свойствах, либо на столько же масштабируйте объект при помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать).
4. Еще раз щелкните на кнопке Auto Key (Автоключ), чтобы выключить запись ключей.
Проверьте анимацию, щелкнув на кнопке Play Animation (Воспроизвести анимацию)
расположенной справа от кнопки записи ключей анимации. При воспроизведении анимации ресница должна не только двигаться по сплайну, но и увеличиваться в размере.
Далее можно сделать так, чтобы ресницы ближе к внешнему краю века становились гуще.
ПРИМЕЧАНИЕ
Для верхних ресниц это менее актуально, нежели для нижних, которых меньше, чем верхних, но по мере их расположения ближе к внешнему краю века они обычно становятся гуще. Выполнение этих действий совсем не обязательно, однако может подчеркнуть форму глаза, особенно для женского лица.
Для изменения густоты ресниц необходимо изменить скорость продвижения объекта по сплайну так, чтобы по мере удаления от начала происходило ускорение.
Проще всего это сделать, откорректировав кривую в окне редактора кривых, которое можно вызвать кнопкой главной панели инструментов Curve Editor (Open) (Редактор кривых (открыть))
В левой части окна Track View – Curve Editor (Просмотр треков – редактор кривых) выделите строку с именем Percent (Проценты), относящуюся к анимации ограничения по пути, после чего в правой части окна добавьте к кривой 3-4 новых ключа и определите их положение так, чтобы получилась изогнутая кривая (рис. 14.100).
Рис. 14.100. Окно редактора кривых
Если бы мы сейчас выполнили построение копий ресницы, то получили бы ряд объектов, расположенных вдоль сплайна, ровно обрезанных и направленных перпендикулярно к сплайну пути. Такое положение не является естественным для ресниц, поэтому необходимо внести некоторое разнообразие, можно даже сказать, некоторый хаос. Это можно сделать при помощи двух контроллеров – поворота и масштаба – следующим образом.
1. Переместите ползунок анимации на первый кадр и выделите в одном из окон проекций ресницу.
2. Выполните команду Animation ► Rotation Controllers ► Noise (Анимация ► Контроллер поворота ► Шум). Таким образом, от кадра к кадру будет хаотически изменяться положение ресниц в пространстве.
3. Выполните команду Animation ► Scale Controllers ► Noise (Анимация ► Контроллер масштаба ► Шум). Кроме изменения положения, произвольным образом будет изменяться и масштаб ресниц.
ПРИМЕЧАНИЕ
При желании вы можете изменить параметры контроллера шума для достижения максимально правдоподобного размещения и размера ресниц. Сделать это можно, например, двумя способами. Во-первых, при помощи изменения веса контроллера (значения параметра Weight (Вес) в свитке Scale List (Список масштаба) вкладки Motion (Движение) командной панели). Во-вторых, в окне с настройками свойств контроллера (рис. 14.101), которое вызывается из контекстного меню при щелчке правой кнопкой мыши на имени контроллера (в списке свитка Assign Controller (Назначить контроллер) вкладки Motion (Движение) командной панели).
Теперь нужно скопировать объекты. Для этих целей воспользуемся командой главного меню Tools ► Snapshot (Сервис ► Снимок), предварительно выделив модель ресницы. В результате выполнения этой команды откроется окно Snapshot (Снимок), в котором необходимо установить переключатель в положение Range (Диапазон) и задать диапазон с нулевого по сотый кадр со значением параметра Copies (Количество копий), равным 100. Переключатель Clone Method (Метод клонирования) необходимо установить в положение Mesh (Сетка) (рис. 14.102).
Рис. 14.101. Параметры контроллера масштаба
Рис. 14.102. Окно Snapshot (Снимок)
ВНИМАНИЕ
Переключатель Clone Method (Метод клонирования) должен быть обязательно установлен в положение Mesh (Сетка), в противном случае строящиеся объекты станут наследовать свойства клонируемого объекта и не будут уникальными. Иначе говоря, вы не получите того разнообразия форм и положения ресниц, к которому мы стремимся.
Щелкните на кнопке OK, и вы увидите, как построятся 100 копий ресницы, расположенных по всему сплайну (рис. 14.103).
Создание нижних ресниц выполняется аналогичным образом, с той лишь разницей, что их количество должно быть меньшим, например равным 70.
Рис. 14.103. Результат визуализации построенных ресниц
СОВЕТ
В самом начале упражнения мы разделили сплайн на две части. В результате первая вершина нижнего сплайна оказалась справа. Для удобства в настройке и построении клонированных ресниц можно назначить первой левую вершину сплайна. Для этого выделите ее на уровне подобъектов и щелкните на кнопке Make First (Сделать первой) из свитка Geometry (Геометрия).
На рис. 14.104 представлен окончательный вид фрагмента модели лица с ресницами.
Рис. 14.104. Результат визуализации фрагмента лица с построенными ресницами
ПРИМЕЧАНИЕ
Если у вас возникли трудности с созданием ресниц, вы можете загрузить файл сцены eyelashes_end.max, который находится в папке Examples\Глава 14 прилагаемого к книге DVD.
ПРИМЕЧАНИЕ
Если у вас возникли трудности с созданием ресниц, вы можете загрузить файл сцены eyelashes_end.max, который находится в папке Examples\Глава 14 прилагаемого к книге DVD.
Использование UV-проецирования для полигональной модели головы
Вы потратили массу драгоценного времени, вложили огромное количество труда и терпения в эту работу, и наконец вот он, результат – готовая модель полигональной головы. Что же дальше? А дальше – присвоение объекту проекционных (текстурных) координат, их редактирование (обычно без этого не обходится) и создание самой текстуры или нескольких текстур для различных каналов. Существуют программы, облегчающие эту задачу: Deep Paint 3D фирмы Right Hemisphere, BodyPaint 3D от MAXON (разработчика Cinema 4D), небольшая программа, специализирующаяся на присвоении проекционных координат объектам, – UVMapper Pro и др.
О проекционных координатах мы уже говорили в разделах, посвященных простому и сложному текстурированию, в упражнении по текстурированию ослика. Изучение этих уроков поможет вам понять, что такое проекционные координаты и для чего они применяются, а также научиться основам наложения проекционных координат применительно к объектам простой и сложной формы.
В данном разделе я хочу рассказать о том, как присвоить проекционные координаты полигональной модели головы человека, используя собственные возможности программы 3ds Max.
Итак, обратимся к модели. Если вы, как и я, моделировали голову при помощи полигонов, причем создавали только половину модели с последующим применением модификатора Symmetry (Симметрия), то используйте эту половинку для текстурирования (рис. 14.105).
Если вы, моделируя голову, успели соединить обе половинки модели, то выполните одно из следующих действий.
■ Выделите и удалите одну из половинок симметричной модели. После присвоения проекционных координат вы снова сможете создать симметричную копию и присоединить ее.
■ Если модель в результате редактирования приобрела асимметрию, то есть одна половинка стала непохожа на другую (например, вы изменили форму подбородка или одного уха), то можно скопировать готовую модель головы и удалить половину копии. При этом главное и единственное требование – обе половинки должны иметь одинаковое количество полигонов (вершин). В результате после назначения проекционных координат копии модели можно будет сохранить созданные координаты в файле (такая возможность есть у модификатора Unwrap UVW (Расправить UVW-проекцию)), а затем подгрузить их в основную модель.
Рис. 14.105. Половинка модели головы, предназначенная для наложения текстурных координат
ПРИМЕЧАНИЕ
Вы можете воспользоваться моделью, которая находится на прилагаемом к книге DVD в папке Examples\Глава 14. Файл сцены называется UV_map_start.max.
Обратите внимание, что модель должна иметь максимально упрощенный вид. Для этого в свитке Subdivision Surface (Поверхности с разбиением) отключите использование NURMS-разбиения модели, для чего снимите флажок Use NURMS Subdivision (Использовать NURMS-разбиение). Для упрощения последующих трансформаций необходимо поместить модель в начало координат, причем в нулевой координате должен находиться осевой срез половинки модели (рис. 14.106).
Желательно до начала проецирования определить проблемные зоны и назначить им собственные идентификаторы материала. Для головы это обычно полость рта (если вы ее моделировали), углубления в носу и уши – иначе говоря, это те части геометрии модели, где полигоны перекрывают друг друга. Чтобы назначить идентификатор материала, выполните следующие действия.
1. Выделите модель и перейдите на уровень редактирования полигонов.
2. Выделите всю модель и присвойте ей идентификатор материала, соответствующий 1, для чего задайте параметру Set ID (Установить идентификатор) свитка Polygon: Materials IDs (Полигон: идентификатор материалов) значение, равное 1 (рис. 14.107), и нажмите Enter для подтверждения.
3. Любым доступным способом выделите необходимые полигоны внутри полости рта и присвойте им значение идентификатора материала, равное 2.
4. Выделите полигоны, составляющие отверстие в носу, и присвойте им значение 3.
5. Выделите все ухо или только ту его часть, которая расположена со стороны головы. Назначьте уху идентификатор материала, равный 4.
Рис. 14.106. Расположение половины модели относительно оси координат
Рис. 14.107. Свиток Polygon: Materials IDs (Полигон: идентификатор материалов) с назначенным идентификатором материала
ПРИМЕЧАНИЕ
Назначение идентификаторов материала не является обязательным при работе с проецированием, однако таким образом можно облегчить выбор вершин при редактировании проекционных координат.
После этого можно переходить к присвоению проекционных координат. Лучше всего сделать это следующим способом.
1. Назначить модификатор Unwrap UVW (Расправить UVW-проекцию).
2. Применить цилиндрическое или сферическое проецирование.
3. Подкорректировать проблемные места.
Начнем с первого. Проследите за тем, чтобы у вас не было выделено подобъектов (полигонов, вершин и т. д.), в противном случае модификатор будет применен только к выделению. После этого выполните команду Modifiers ► UV Coordinates ► Unwrap UVW (Модификаторы ► UV-координаты ► Расправить UVW-проекцию) и перейдите на уровень редактирования подобъектов модификатора Face (Грань). Выделите все грани модели и назначьте им сферическую систему проецирования, щелкнув на кнопке Spherical (Сферическая) в свитке Map Parameters (Параметры проецирования) (рис. 14.108).
Находясь на уровне редактирования подобъектов Face (Грань), при помощи инструмента Select and Move (Выделить и переместить) передвиньте в окне проекции To p (Сверху) габаритный контейнер модификатора так, чтобы его ось выровнялась по срезу модели. После этого разверните контейнер таким образом, чтобы зеленая линия, указывающая на шов карты текстурных координат, оказалась со стороны затылка. Затем при помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать) масштабируйте контейнер по оси X так, чтобы он охватил весь объект (рис. 14.109).
Рис. 14.108. Настройки модификатора Unwrap UVW (Расправить UVW-проекцию) в режиме редактирования Face (Грань)
Рис. 14.109. Габаритный контейнер модификатора Unwrap UVW (Расправить UVW-проекцию), выровненный по оси симметрии модели
СОВЕТ
Чтобы быстро выполнить выравнивание относительно нулевой точки системы координат, необходимо на главной панели инструментов щелкнуть правой кнопкой мыши на Select and Move (Выделить и переместить), а затем ввести 0 в поле для ввода значения по координате Х появившегося окна.
В свитке Parameters (Параметры) модификатора Unwrap UVW (Расправить UVW-проекцию) щелкните на кнопке Edit (Правка), в результате чего откроется окно редактирования проекционных координат Edit UVWs (Редактирование UVW), где будет представлена развертка половинки модели головы (рис. 14.110), созданная в результате выполненных выше действий.
Рис. 14.110. Окно Edit UVWs (Редактирование UVW) с разверткой модели
На этом предварительная работа заканчивается, теперь можно приступить к редактированию проекционных координат модели.
СОВЕТ
Если вы собираетесь привязывать проекционные координаты к существующей текстуре (например, выполненной на основе фотографии), то самое время загрузить ее в окно редактирования Edit UVWs (Редактирование UVW), используя раскрывающийся список в верхней части и выбрав в нем строку Pick Texture (Указать текстуру).
Далее будет полезным внести некоторые изменения в окне Unwrap Options (Параметры проекции) (рис. 14.111), вызываемого командой меню Options ► Preferences (Свойства ► Параметры), а именно:
■ в области Colors (Цвета) снимите флажок Show Grid (Показывать сетку);
■ если вы используете выполненную ранее текстуру, то обязательно следует задать ее размеры в области Display Preferences (Параметры отображения), указав в полях Render Width (Ширина визуализации) и Render Height (Высота визуализации) ширину и высоту текстуры.
Прежде чем редактировать вершины, необходимо выделить в отдельные группы проблемные полигоны (помните, мы ранее назначили им идентификаторы материала, отличные от 1). Для этого выполните следующее.
1. В нижней части окна Edit UVWs (Редактирование UVW) щелкните на треугольнике справа от раскрывающегося списка и выберите цифру 2 (второй идентификатор материала соответствует полости рта).
2. Выделите все полигоны, оставшиеся в окне редактирования, и выполните команду меню Tools ► Break (Сервис ► Разбить). Таким образом, полигоны будут выделены в отдельную группу (рис. 14.112).
3. Выполните операции выделения и отделения в самостоятельные группы полигонов для оставшихся идентификаторов материала (нос, ухо).
4. В раскрывающемся свитке идентификаторов выберите строку All IDs (Все идентификаторы материалов) для отображения всей проекции модели.
5. Используя инструмент Move (Переместить), выполните перемещение группы проблемных полигонов на свободное место в нижней части окна (рис. 14.113).
Рис. 14.111. Окно Unwrap Options (Параметры проекции) с настройками отображения
СОВЕТ
Чтобы облегчить процесс выделения групп полигонов, установите флажок Select Element (Выделить элемент) в области Selection Modes (Способы выделения) в нижней части окна Edit UVWs (Редактирование UVW).
Остается сделать совсем немного – откорректировать положение вершин в местах, где они пересекаются (обычно это рот, нос и ухо). Кроме того, не помешает изменить положение вершин в правом верхнем углу развертки (этого можно и не делать, но я предпочитаю уменьшить эффект растягивания текстуры). Переместить вершины можно очень просто: выделите вершину и при помощи инструмента Move (Переместить) переместите ее в нужное место. На рис. 14.114 представлена развертка с измененной границей контуров.
Рис. 14.112. Команда меню Break (Разбить), позволяющая отделить выделенные полигоны
Рис. 14.113. Элементы проекции, размещенные в окне Edit UVWs (Редактирование UVW)
Рис. 14.114. Развертка после редактирования контуров
Далее необходимо переместить вершины внутри проекции, чтобы исключить пересечения сетки проекционных координат. Это делается также при помощи инструмента Move (Переместить).
Прежде чем редактировать отдельные вершины, можно распределить их в пределах контуров проекции. Для этого выполните в окне редактирования команду Tools ► Relax (Сервис ► Ослабить), в результате чего откроется окно Relax Tool (Инструмент ослабления). В этом окне задайте параметру Iterations (Количество итераций) значение, равное 3 (рис. 14.115).
Сейчас можно закончить корректировку положения вершин проекционных координат, вручную изменив положение вершин в перекрывающихся местах.
ПРИМЕЧАНИЕ
Как вы уже знаете, для получения наилучшего эффекта при текстурировании в окне редактирования проекционных координат необходимо избавиться от перекрывающихся полигонов. Для головы это обычно нос, губы, глаза и уши.
На рис. 14.116 представлен фрагмент отредактированной проекции текстурных координат модели головы.
Рис. 14.115. Окно Relax Tool (Инструмент ослабления)
Рис. 14.116. Фрагмент расправленной проекции координат модели головы
Для дальнейшего уточнения положения вершин в окне Edit UVWs (Редактирование UVW) необходимо создать и присвоить объекту какую-нибудь повторяющуюся текстуру, например Checker (Шахматная текстура). Такая текстура помогает увидеть места, в которых происходят растяжения или сжатия и от которых по возможности необходимо избавиться. Корректируя положение вершин в окне Edit UVWs (Редактирование UVW), следите за тем, как изменяется геометрия текстуры на объекте в окне проекции. При этом необходимо стремиться к тому, чтобы квадраты шахматного поля были максимально правильной формы (рис. 14.117).
Рис. 14.117. Модель головы с присвоенной текстурой Checker (Шахматная текстура)
Теперь следует окончательно упаковать проекцию текстурных координат в пределах поля будущей текстуры.
ПРИМЕЧАНИЕ
Если будущая текстура головы будет полностью симметричной, то нет необходимости выполнять дополнительные действия с проекцией текстурных координат. Однако если обе половинки лица будут различаться (например, из-за шрама или морщин), то необходимо выполнить действия, описанные ниже.
Сейчас пришло время вернуться к модели. После того как половине модели были присвоены и отредактированы проекционные координаты, можно свернуть стек модификаторов (выполнить команду Collapse (Свернуть)) или, не сворачивая, добавить в стек модификатор Symmetry (Симметрия), а затем – модификатор Unwrap UVW (Расправить UVW-проекцию) (рис. 14.118).
Рис. 14.118. Стек модификаторов модели головы на данном этапе редактирования
В настройках Unwrap UVW (Расправить UVW-проекцию) снова щелкните на кнопке Edit (Правка) свитка Parameters (Параметры). Теперь необходимо выделить часть сетки, принадлежащей левой половине модели (в настоящее время обе проекции находятся в одном месте), и отобразить ее зеркально, используя инструмент Mirror Horizontal (Отобразить по горизонтали)
После этого следует переместить проекцию в левую часть поля текстуры до совпадения серединных линий (рис. 14.119).
Выполнив описанные операции, можно снова свернуть стек модификаторов или добавить новый модификатор, на сей раз MeshSmooth (Сглаженная поверхность) (рис. 14.120). Этот модификатор позволит дополнительно разделить полигоны для получения более сглаженной поверхности модели.
Рис. 14.119. Окончательный вид проекции текстурных координат
Рис. 14.120. Окончательный вид стека модификаторов модели головы
Если вы свернули стек и вернулись к Editable Poly (Редактируемая полигональная поверхность), то объект сохранит все выполненные вами изменения, связанные с наложением и редактированием проекционных координат.
После этого можно повысить уровень сглаживания модели, применив NURMS Subdivision (NURMS-разбиение), можно перемещать подобъекты и даже редактировать их – проецирование сохранится. Однако я не советую этого делать. Лучше, чтобы все изменения были внесены в модель перед наложением и редактированием проекционных координат.
На рис. 14.121 представлен окончательный вид модели головы со сглаживанием и присвоенными проекционными координатами.
Рис. 14.121. Модель головы с присвоенными ей проекционными координатами
ПРИМЕЧАНИЕ
Для анализа присвоения проекционных координат модели головы вы можете загрузить файл UV_map_end.max, который находится в папке Examples\Глава 14 прилагаемого к книге DVD.
Текстурирование головы человека
В предыдущем разделе мы рассмотрели один из способов присвоения текстурных координат полигональной модели головы человека. Создание такой проекции является неотъемлемой частью процесса текстурирования, о котором пойдет речь в данном разделе.
Текстурировать голову человека можно двумя способами:
■ с использованием фотографий в фас и профиль;
■ на основе одной или нескольких текстурных карт, выполненных в программе редактирования растровой графики.
Рассмотрим второй вариант как более сложный, но позволяющий получить максимальную свободу творчества. Кроме программы 3ds Max, для работы нам понадобится Adobe Photoshop или любая аналогичная программа редактирования растровой графики, работающая со слоями.
Вы можете воспользоваться моделью головы с проекционными координатами, присвоенными в предыдущем разделе, или загрузить файл texturing_start.max, который расположен в папке Examples\Глава 14 прилагаемого к книге DVD. На рис. 14.122 представлена модель женской головы, с которой мы будем работать.
Рис. 14.122. Модель женской головы без текстур
Прежде чем перейти к непосредственному созданию текстурных карт для модели головы, необходимо получить сетку, образованную проекционными координатами модели. Она нужна в качестве шаблона, по которому мы будем выполнять текстурирование. Получить ее можно следующим образом.
1. Выберите в одном из окон проекций модель головы (объект Head).
2. В свитке Parameters (Параметры) настроек модификатора Unwrap UVW (Расправить UVW-проекцию) щелкните на кнопке Edit (Правка).
3. Выполните в открывшемся окне Edit UVWs (Редактирование UVW) команду меню Tools ► Render UVW Template (Инструменты ► Визуализация образца UVW).
4. В открывшемся окне Render UVs (Визуализация UV) (рис. 14.123) установите желаемые размеры высоты и ширины (обычно не менее 1000 х 1000 пикселов) и щелкните на кнопке Render UV Template (Визуализация образца UV). В результате откроется окно Render Map (Визуализация карты) (рис. 14.124) с изображением развертки текстурных координат.
5. Нажмите кнопку Save Bitmap (Сохранить растровый файл). Сохраните изображение, полученное при визуализации, на диске в любом доступном формате, желательно в том, который позволяет использовать альфа-канал (например, TIFF).
ПРИМЕЧАНИЕ
Существуют специальные модификаторы, подключаемые модули и сценарии, позволяющие не только получить сетку проекционных координат, но и работать с текстурами. Вы можете воспользоваться одним из таких модулей, например Texporter или PSD Path Unwrapper.
Рис. 14.123. Окно Render UVs (Визуализация UV)
Рис. 14.124. Окно Render Map (Визуализация карты) с изображением развертки текстурных координат
Откройте программу редактирования растровой графики. Все дальнейшие действия описаны для приложения Adobe Photoshop, но можно воспользоваться любой программой, позволяющей работать со слоями.
1. Откройте сохраненный файл с изображением развертки текстурных координат.
2. На вкладке Layers (Слои) дважды щелкните на слое с именем Background (Фон) и в появившемся окне New Layer (Новый слой) измените название слоя (поле Name (Имя)) на что-нибудь более понятное, например Сетка, а затем щелкните на кнопке OK, заменив таким образом фоновый слой на слой с возможностью редактирования.
3. Выполните команду Select ► Color Range (Выделить ► Цветовой диапазон) и в открывшемся окне Color Range (Цветовой диапазон) задайте параметру величины Fuzziness (Размытость) значение, равное 100.
4. Щелкните на черном цвете фона кнопкой мыши (ее указатель при этом примет вид пипетки) и нажмите OK.
5. Нажмите на клавиатуре Delete для удаления области текстуры с выделенным цветом.
ПРИМЕЧАНИЕ
После удаления фонового цвета изображение сетки будет недостаточно хорошо видно на прозрачном слое. Если нужно проверить, правильно ли все сделано, добавьте ниже сетки новый слой и измените его цвет на любой, отличный от белого.
6. Выполните команду меню Image ► Trim (Изображение ► Обрезать) и в открывшемся окне Trim (Обрезать) (рис. 14.125) установите переключатель Based On (Основанный на) в положение Transparent Pixels (Прозрачные пикселы).
Рис. 14.125. Окно Trim (Обрезать)
Таким образом, вы получили слой с сеткой проекционных координат, который будет выступать в качестве шаблона для последующего рисования текстуры. Все создаваемые в дальнейшем слои должны находиться ниже текущего, чтобы вы смогли все время видеть границы рисования.
ПРИМЕЧАНИЕ
Для изображения, сохраненного с альфа-каналом, необходимо на вкладке Channels (Каналы) выделить альфа-канал (удерживая нажатой клавишу Ctrl, щелкнуть кнопкой мыши на слое канала), инвертировать выделение (Shift+Ctrl+I) и удалить фон (Delete).
Создайте новый слой, назовите его Color и разместите ниже слоя с сеткой. Залейте его цветом фона – базовым цветом для лица. Я использовал цветовую палитру RGB со следующими значениями: R – 253, G – 191 и B – 154.
При помощи рисования с применением различных оттенков цвета кожи создайте базовое изображение карты цвета.
СОВЕТ
Можно создать два слоя цвета для лица. Нижний цвет должен быть по тону темнее цвета лица, а верхний – светлее. Используя прозрачность верхнего слоя, можно подобрать необходимый цвет. Кроме того, цифровые фотографии лица могут значительно облегчить выбор цвета при рисовании.
Обратите внимание на то, что в области щек цвет должен быть светлее, в то время как глазные впадины существенно темнее основного цвета. Цвет в области ушей имеет красноватый оттенок. На этой же текстуре можно нарисовать брови и ресницы, если вы не делали их при помощи геометрии. Когда все будет готово, отключите слой с сеткой и сохраните текстурную карту с именем Head_Color в любом доступном формате, например TIFF.
На рис. 14.126 представлена текстурная карта цвета, выполненная в программе Photoshop.
Рис. 14.126. Текстурная карта цвета
После создания карты цвета можно переходить к карте рельефа. Разберемся сначала, как работает такая карта. Прежде всего, вы должны знать, что для карты рельефа используется монохромное изображение с градациями цвета от белого до черного. Причем белый цвет позволяет получить на поверхности объекта возвышенности, а черный – понижения, при этом среднее значение (50%-й серый цвет) не оказывает никакого эффекта на поверхность, к которой эта карта применяется. Таким образом, если нам необходимо получить на поверхности выпуклость, ее следует рисовать цветом, светлее 50%-го серого. Для вмятин цвет должен быть темнее этого значения.
Продолжим рисование в Photoshop. Создайте новый слой и назовите его Bump. Используя инструмент Paint Bucket (Заливка), залейте созданный слой серым цветом (R – 128, G – 128, B – 128). Кожа человека имеет поры, создадим их при помощи фильтра Noise (Шум). Для этого выполните команду меню Filter ► Noise ► Add Noise (Фильтр ► Шум ► Добавить шум). В открывшемся окне диалога Add Noise (Добавить шум) (рис. 14.127) установите флажок Monochromatic (Одноцветный) и задайте параметру Amount (Величина) значение в диапазоне от 4 до 8.
Рис. 14.127. Окно Add Noise (Добавить шум)
Таким образом, мы сделали заготовку для карты рельефа. Используя инструмент Brush (Кисть), нарисуйте морщины в области глаз и лба (если они есть у модели). Особое внимание уделите поверхности губ и бровей, если вы не использовали геометрию, причем для бровей необходимо применять светлые тона кисти.
Работая над картой рельефа, не забывайте, что поры не одинаковые на всей поверхности головы. Например, на кончике носа и щеках поры крупнее, чем в области подбородка и лба, а уши могут иметь едва различимые неровности.
СОВЕТ
Работая над текстурой, лучше всего создавать дополнительные слои для отдельных элементов. Это позволит при необходимости быстро редактировать их содержимое. Кроме того, может быть полезным использование прозрачности слоя или режима перекрытия.
На рис. 14.128 представлена карта рельефа, выполненная описанным выше способом.
Рис. 14.128. Текстурная карта рельефа, выполненная для модели головы
Сохраните полученную карту рельефа в отдельном файле HeadBump.
При текстурировании объектов органического происхождения необходимым является создание как минимум двух текстурных карт: цвета диффузного отражения и рельефа. Однако совсем не лишним будет создание еще одной карты – уровня блеска. Эта карта очень похожа на только что выполненную карту рельефа. Для нее используется тот же принцип построения монохромного изображения, где светлые места будут отражать свет, а темные – поглощать его. Причем чем ярче текстура, тем ярче будет блеск в этом месте.
За основу для этой текстуры можно взять слой с картой рельефа. Создание такой карты не представляет сложности, особенно после того, как вы выполнили две предыдущие. Если вы обращали внимание, то должны были заметить, что самые яркие места на голове человека – это нос и лоб, в меньшей степени – щеки, уши и шея. Это связано с тем, что подкожный жир, выступая на поверхность кожи, вызывает ее блеск. Блестеть также может не только жирная, но и влажная кожа. Например, губы имеют высокий уровень блеска благодаря тому, что они почти всегда являются влажными. Кроме того, работая с текстурой женской головы, нужно обратить внимание на то, что если на губы «наносится» помада, то она станет источником дополнительного блеска.
Исходя из вышесказанного создайте текстуру бликов с таким расчетом, чтобы по тону она была близкой к черному цвету, лишь места расположения предполагаемых бликов должны быть ярче (рис. 14.129).
Рис. 14.129. Текстурная карта уровня блеска
Сохраните полученную текстуру с именем Head_Specular.
Текстуры выполнены, осталось только создать материал и применить его к модели головы.
Перейдите в окно программы 3ds Max и загрузите модель головы, с которой вы делали шаблон сетки проекционных координат. Откройте редактор материалов и выберите свободный материал. Дальнейшие действия можно выполнять несколькими способами с использованием следующих материалов: Standard (Стандартный), Raytrace (Трассируемый) или Composite (Составной). Я опишу простой, но вполне приемлемый с точки зрения конечного результата способ на основе стандартного материала с применением карты Falloff (Спад).
ПРИМЕЧАНИЕ
Для реалистичного материала кожи требуется создание достаточно сложных многослойных карт, имеющих, в свою очередь, собственные карты смешивания или спада.
Чтобы создать материал для модели головы, выполните следующие действия.
1. В свитке Shader Basic Parameters (Базовые параметры раскраски) стандартного материала выберите из раскрывающегося списка строку Oren-Nayar-Blinn (По Оурену – Найару – Блинну). Данный вариант позволит получить большую свободу в настройках материала.
2. Разверните свиток Maps (Карты текстур) и щелкните на кнопке с надписью None (Отсутствует) рядом с картой Diffuse Color (Цвет рассеивания).
3. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Bitmap (Растровое изображение).
4. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) выберите сохраненную ранее текстурную карту HeadColor.
Перейдем к выбору карты рельефа.
1. Нажмите кнопку Go to Parent (Вернуться к исходному) на панели инструментов редактора материалов.
2. Щелкните в свитке Maps (Карты текстур) на кнопке None (Отсутствует) рядом с картой Bump (Рельефность).
3. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Bitmap (Растровое изображение).
4. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) выберите сохраненную ранее текстурную карту HeadBump.
И, наконец, загрузите карту блеска.
1. Нажмите кнопку Go to Parent (Вернуться к исходному) на панели инструментов редактора материалов.
2. Щелкните на кнопке None (Отсутствует) рядом с картой Specular Level (Уровень блеска).
3. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Bitmap (Растровое изображение).
4. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) выберите сохраненную ранее текстурную карту HeadSpecular (рис. 14.130).
Примените созданный материал к модели головы и выполните тестовую визуализацию. Если вы воспользовались файлом texturingstart.max с прилагаемого к книге DVD, то вам не нужно устанавливать и настраивать источники света – они присутствуют в сцене и настроены для работы с объектом. Если же вы решили применить собственную модель для текстурирования, то начните с того, что установите в сцене не менее двух источников света и настройте их положение, интенсивность, способность генерировать тени и цвет (если используется). Это необходимо сделать до начала корректировки созданного материала потому, что источники света значительно влияют на отображение модели при визуализации. В этом случае предварительно настроенный материал после изменения освещенности сцены может потребовать полного изменения настроек.
Рис. 14.130. Свиток Maps (Карты текстур) с загруженными текстурными картами
На рис. 14.131 представлена тестовая визуализация с настройками по умолчанию.
Рис. 14.131. Визуализация модели головы с настройками материала по умолчанию
Изображение, полученное при визуализации, благодаря созданным ранее текстурным картам уже сейчас имеет неплохой вид. Улучшить его, не прибегая к сложным настройкам текстурных карт, применению фотометрических светильников и визуализации путем трассировки лучей, можно, создав карту спада для цветового канала материала модели головы и повысив уровень рельефности (сейчас она почти незаметна). Для этого выполните следующие действия.
1. В редакторе материалов разверните свиток Maps (Карты текстур) для материала модели головы.
2. Щелкните на кнопке с именем карты цвета (HeadColor.jpg), в результате чего откроются настройки этой карты.
3. Щелкните на кнопке Bitmap (Растровое изображение).
4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Falloff (Спад) и на вопрос Keep old map as sub-map? (Оставить старую карту в качестве компонента?) ответьте утвердительно.
5. В появившемся свитке Falloff Parameters (Параметры спада) выберите из списка Falloff Type (Тип спада) строку Shadow/Light (Тень/свет).
6. В этом же свитке щелкните на образце белого цвета и в появившемся окне Color Selector (Выбор цвета) установите «холодный» цвет в диапазоне от темно-зеленого до темно-коричневого. В моем случае это цвет с такими значениями: Red (Красный) – 86, Green (Зеленый) – 85 и Blue (Синий) – 50.
Выполните тестовую визуализацию и обратите внимание на то, как изменился цвет в затененных участках объекта (рис. 14.132). Применение карты Falloff (Спад) позволило получить более естественный и глубокий цвет в области собственной тени.
Рис. 14.132. Визуализация модели головы после применения карты Falloff (Спад)
Улучшить конечное изображение и повысить его реалистичность можно, не только создавая сложные составные материалы, используя трассировку лучей и другие стандартные возможности программы 3ds Max, но и при помощи подключаемых модулей. Например, для визуализации изображения, представленного на рис. 14.133, был использован визуализатор V-Ray.
ПРИМЕЧАНИЕ
Для анализа созданного материала модели головы загрузите файл texturing_end.max, который находится в папке Examples\Глава 14 прилагаемого DVD.
Рис. 14.133. Изображение, полученное при помощи модуля V-Ray
Создание волос
Выполняя предыдущие упражнения данной главы, вы научились моделировать и текстурировать голову человека. Остался последний шаг на пути к целостному портрету – волосы. Рассмотрим, как делаются волосы при помощи стандартного модификатора Hair and Fur (Волосы и мех).
Для выполнения упражнения откройте построенную и текстурированную ранее модель головы, которую можно найти на прилагаемом к книге DVD в папке Examples\Глава 14. Файл называется texturing end.max.
Прежде чем применить модификатор построения волос, необходимо выполнить некоторые подготовительные операции. В первую очередь следует оставить для работы только один объект – модель головы. Для этого в любом из окон проекций выделите объект Head и, щелкнув на нем правой кнопкой мыши, выберите из списка контекстного меню строку Hide Unselected (Спрятать невыделенное). Далее необходимо определить область модели, на которой эти волосы будут расти. Для этого можно воспользоваться модификатором Mesh Select (Выделение сетки), с помощью которого следует выделить область, соответствующую естественному росту волос. Можно также построить сплайны, которые будут определять длину, направление и форму прически. Второй способ предполагает большую свободу в моделировании прически, поэтому им и воспользуемся.
Прежде чем строить сплайны для формы волос, рассмотрим некоторые моменты, связанные с таким построением:
■ все сплайны должны принадлежать одному объекту;
■ начало сплайнов (первая точка) должно находиться в начале роста волос (волосы строятся от корней);
■ при построении волос модификатор Hair and Fur (Волосы и мех) производит линейную интерполяцию между соседними сплайнами, в связи с чем необходимо иметь достаточное количество сплайнов для создания прически нужной формы;
■ интерполяция ведется с учетом порядковых номеров сплайнов, поэтому сплайны необходимо либо строить в строгой последовательности, либо после построения изменить порядок их следования.
Начните построение сплайнов, для чего выполните команду меню Create ► Shapes ► Line (Создание ► Формы ► Линия). Начните строить сплайн с лобной части головы и продлите его вниз вдоль правой стороны лица (рис. 14.134).
Рис. 14.134. Первый сплайн, определяющий форму волос
Проверьте положение сплайна во всех окнах проекций – он должен иметь форму первого локона волос и не должен пересекаться с поверхностью модели головы.
СОВЕТ
При создании сплайнов можно использовать минимальное количество вершин для построения базовой формы локона волос с последующим наращиванием вершин до необходимого количества.
Постройте новый сплайн на затылочной части головы или копируйте и подредактируйте созданный.
Продолжите построение сплайнов с таким расчетом, чтобы по периметру головы расположилось от 10 до 15 сплайнов (рис. 14.135).
Рис. 14.135. Форма и расположение сплайнов относительно модели головы
После построения сплайнов убедитесь, что они принадлежат одному объекту и располагаются по номерам в порядке следования. Если этого не произошло в процессе построения (я при построении новых кривых копировал сплайны на уровне подобъектов), то выполните следующие действия.
1. Выделите первый сплайн, расположенный справа от лицевой части модели головы.
2. В свитке Geometry (Геометрия) щелкните на кнопке Attach (Присоединить), в результате она выделится цветом.
3. В окне проекции Top (Сверху) последовательно выберите все построенные сплайны, продвигаясь по кругу вправо.
Теперь можно применить модификатор для создания волос на основе сплайнов. Для этого выделите построенные сплайны и на командной панели выберите из списка модификаторов строку Hair and Fur (WSM) (Волосы и мех (WSM)).
Прежде чем настраивать отображение, установим источник света, который будет генерировать тень от волос.
ВНИМАНИЕ
Для генерации теней модификатором Hair and Fur (Волосы и мех) используются только направленные источники света типа Target Spot (Направленный с целью) или Free Spot (Направленный без цели), к настройкам которых добавляется свиток с параметрами тени для волос.
Чтобы получить на модели головы тени от волос, выполните следующие действия.
1. В свитке Tools (Сервис) настроек модификатора Hair and Fur (Волосы и мех) щелкните на кнопке Render Settings (Параметры визуализации), в результате откроется окно Environment and Effects (Окружающая среда и эффекты).
2. В одном из окон проекций выделите направленный источник света с именем hair_shadow (в вашем случае это может быть любой другой источник света данного типа).
3. В свитке Hair and Fur (Волосы и мех) окна Environment and Effects (Окружающая среда и эффекты) щелкните на кнопке Add hair properties (Добавить свойства волос), в результате чего к настройкам выбранного источника света добавится свиток Hair Light Attr (Свойства источника света для волос).
4. Проследите за тем, чтобы в области Shadows (Тени) свитка General Parameters (Общие параметры) настроек источника света был установлен флажок On (Включить), а в свитке Hair Light Attr (Свойства источника света для волос) – флажок Light Hair (Освещать волосы). В данном свитке можно увеличить значение параметра Resolution (Разрешение), чтобы получить более качественные тени (рис. 14.136).
Вернитесь к настройкам модификатора Hair and Fur (WSM) (Волосы и мех (WSM)). Определите общие параметры модификатора в свитке General Parameters (Общие параметры), установив количество волос (Hair Count (Количество волос)), количество сегментов по длине волоса (Hair Segments (Количество сегментов)), толщину волоса (Root Thick (Толщина волоса) и Tip Thick (Толщина концов)) и т. д. Флажок Interpolate (Интерполяция) должен оставаться установленным, чтобы поверхность волос строилась с учетом интерполяции между сплайнами (рис. 14.137).
Рис. 14.136. Свиток Hair Light Attr (Свойства источника света для волос)
Рис. 14.137. Свиток General Parameters (Общие параметры) настроек модификатора Hair and Fur (WSM) (Волосы и мех (WSM))
В свитке Material Parameters (Параметры материала) укажите параметры, которые будут влиять на отображение волос при визуализации. Образцы цвета Tip Color (Цвет концов) и Root Color (Цвет у корней) определяют соответственно цвет волос на концах и у корней. Параметр Hue Variation (Оттенки цвета) влияет на то, в какой степени цвет волос будет отличаться от указанного в образцах цвета. Параметры Specular (Цвет зеркального отражения) и Glossiness (Глянец) отвечают за блеск волос. Настройте также параметр Self Shadow (Собственная тень) и другие параметры свитка Material Parameters (Параметры материала) (рис. 14.138).
Параметры свитков Frizz Parameters (Параметры вьющихся волос) и Kink Parameters (Параметры курчавости) можно использовать для получения вьющихся волос.
Более важным с точки зрения общих настроек является свиток Multi Strand Parameters (Параметры локонов), позволяющий настраивать вид локонов, создавая пышность и хаотичность прядей волос. Здесь можно задать параметры плотности (Count (Количество)), расширения волос у основания (Root Splay (Расширение у основания)) и на концах (Tip Splay (Расширение на конце)), а также случайное распределение (Randomize (Случайное распределение)) (рис. 14.139).
Рис. 14.138. Свиток с настройками параметров материала волос
Рис. 14.139. Свиток Multi Strand Parameters (Параметры локонов)
ПРИМЕЧАНИЕ
Все вышеописанные настройки формы и отображения волос в значительной степени зависят от формы, длины и расположения сплайнов относительно друг друга. В связи с этим тонкая настройка параметров возможна только в процессе тестовой визуализации. При этом можно редактировать не только параметры модификатора, но и сами кривые на уровне подобъектов.
Кроме построения сплайнов по периметру модели, можно создать единичные сплайны для отдельных локонов (например, челки). В этом случае необходимо снять флажок Interpolate (Интерполяция) в свитке General Parameters (Общие параметры) и настроить отображение локона, используя свиток Multi Strand Parameters (Параметры локонов).
На рис. 14.140 представлена модель головы с созданными волосами.
Рис. 14.140. Результат визуализации модели головы вместе с волосами
В качестве самостоятельного задания попробуйте создать прическу, используя выделенные полигоны на уровне редактирования подобъектов модификатора Hair and Fur (Волосы и мех) и инструменты свитка Styling (Стиль). Кроме того, нажав кнопку Load (Загрузить) в области Presets (Предустановки) свитка Tools (Сервис), можно загрузить предварительно сохраненные стили причесок, а щелкнув на кнопке Save (Сохранить) – сохранить созданную прическу. Эта возможность является хорошим способом создания базовых параметров для последующего их редактирования и точной настройки с учетом особенностей модели.
Заключение
Позади 14 глав, проделана огромная работа по моделированию, текстурированию и анимации объектов. Сейчас вы сами можете оценить, насколько путь, ведущий к созданию правдоподобной трехмерной модели, длинный и трудный. Но результат, которого вы достигнете в конце этого пути, с лихвой компенсирует все ваши усилия. После изучения простого и сложного моделирования вы будете готовы создавать собственные великолепные трехмерные сцены.
Не торопитесь браться за работу над сложными заданиями, для выполнения которых у вас недостаточно знаний и опыта. Следствием этого будет разочарование и нежелание продолжать. Постепенное выполнение несложных работ, напротив, поможет вам приобрести практический опыт и почувствовать уверенность в своих силах. Только работая над конкретными заданиями, с каждым разом все более сложными, вы будете совершенствовать свое мастерство.
Творческий рост происходит постепенно. На каждом этапе дизайнеру нужен небольшой толчок, чтобы перейти на новый, более высокий уровень. Надеюсь, в этой книге вы нашли те новые идеи, которые будут двигателем вашего творческого и профессионального роста.
Пришло ваше время! Найдите достойное применение знаниям, приобретенным с помощью этой книги.
Приложение 1. 70 советов пользователям 3ds Max
В то время, когда я начинал заниматься трехмерным моделированием, книг на эту тему практически не было, и приходилось во многом разбираться самостоятельно, собирая информацию в Интернете. Теперь, накопив достаточно опыта, я могу дать пользователям программы 3ds Max советы.
Первое, что можно посоветовать начинающим пользователям, – тщательно изучить интерфейс программы (также пригодятся знания об освещении, композиции, фотографии и т. п.). Без базовых знаний осваивать редактор трехмерной графики достаточно сложно.
После знакомства с интерфейсом приложения и его возможностями можно приступать к выполнению первых работ. Здесь нужно руководствоваться простой, но проверенной временем истиной: работа должна вестись по принципу «от простого к сложному». Не следует начинать моделирование сложной сцены, если вы с трудом справляетесь с простыми объектами. Лучше полностью смоделировать и визуализировать стул, чем пытаться создать модель персонажа и столкнуться с непреодолимыми (ввиду недостаточности знаний) трудностями, потеряв веру в собственные силы.
После первой публикации в Интернете моего упражнения по моделированию автомобиля ко мне пришло много писем с благодарностью, но были и такие, в которых задавалось большое количество вопросов по данной теме. При этом у меня ни разу не возникло ощущение того, что я что-то упустил или дал ложное пояснение. Чаще всего это вопросы либо невнимательно читающих урок и, как следствие, упустивших в тексте ответ на свой вопрос, либо людей, которые не знакомы даже с интерфейсом программы и спрашивают о том, где найти ту или иную кнопку, модификатор и т. п. Я понимаю желание начинающих изучать приложение сразу же выполнить сложную работу, но все должно развиваться последовательно: нельзя стать гонщиком, не научившись ездить на машине.
Итак, приведу некоторые советы по работе с 3ds Max.
Интерфейс и окна проекций
Совет 1. Изучайте интерфейс программы и ее возможности – это поможет сэкономить массу времени. Не забывайте о сочетаниях клавиш. Когда речь идет о часто повторяющихся операциях, лучше всего использовать именно клавиатурные комбинации (основные клавиатурные комбинации приведены в приложении 2). Кроме того, можно присваивать свои собственные сочетания клавиш тем операциям, которые вы часто выполняете, но которые не имеют стандартных клавиатурных аналогов.
Совет 2. Выполняя специальные задачи, создавайте собственные панели инструментов, пункты меню или квадратичные меню. Примером может служить панель инструментов для работы с полигональными моделями или специальными эффектами.
Совет 3. Существует быстрый способ центрирования объектов в окне проекции. Для этого достаточно навести указатель мыши на требуемый объект и нажать клавишу I.
Совет 4. Если нажать клавишу Ctrl, Alt или Shift, а затем щелкнуть правой кнопкой мыши в окне проекции, то можно вызвать меню, в котором представлены команды для работы с выделенными объектами или подобъектами.
Совет 5. Один из способов ускорения работы в окне проекции – использование средней кнопки мыши. Для масштабирования изображения применяется прокручивание колеса, а для панорамирования – нажатие. Применение клавиш Ctrl, Alt или Shift в сочетании со средней кнопкой мыши повышает ее функциональность (например, удерживая нажатой клавишу Shift, можно перемещаться только горизонтально).
Совет 6. При работе над большими проектами ощущается постоянная нехватка рабочего пространства. Один из способов расширения площади, отводимой под окна проекций, – использование режима Expert Mode (Экспертный режим), который вызывается сочетанием клавиш Ctrl+X. В этом случае не лишним будет хорошее знание сочетаний клавиш.
Совет 7. Когда в сцене появляется большое количество объектов, удобным и быстрым инструментом для навигации, доступа к свойствам этих объектов и создания связей является небольшая утилита Schematic View (Редактор структуры) (рис. П1.1), для вызова которой следует нажать кнопку Schematic View (Open) (Редактор структуры (открыть)) на панели инструментов.
Рис. П1.1. Окно Schematic View (Редактор структуры)
Работа с файлами
Совет 8. Устанавливая 3ds Max 2008, позаботьтесь, чтобы в разделе жесткого диска, в который инсталлируется программа, было достаточно свободного места. Во время работы будут добавляться библиотеки текстур, подключаемые модули, пакеты обновлений, наборы моделей и т. д., в результате чего может возникнуть нехватка дискового пространства.
Совет 9. Можно ускорить процесс создания новых сцен с помощью предварительной настройки атрибутов сцены. Если создать пустую сцену и поместить в нее камеру и источники света (либо что-то еще, что вам требуется постоянно), а затем сохранить с именем maxstart.max и поместить файл в каталог scenes в корневой директории 3ds Max, то при загрузке или выполнении команды Reset (Сбросить) произойдет загрузка этого файла.
Совет 10. Устанавливая дополнительные модули, не забывайте, что при загрузке приложения они находятся в оперативной памяти даже в том случае, если вы их не используете. В связи с этим никогда не оставляйте те модули, которые подключались для тестирования или которыми вы больше не пользуетесь. Можно создать несколько файлов инициализации (plugin.ini) для загрузки программы с необходимой конфигурацией (указаны пути только к необходимым наборам модулей, собранных в отдельные папки). На практике это могут быть несколько пунктов в меню Пуск или ярлыки на Рабочем столе, например, с такими параметрами загрузки: 3dsmax -p <имя копии файла plugin.ini> (рис. П1.2).
Рис. П1.2. Настройка свойств ярлыка для вызова 3ds Max 9 с дополнительными модулями для работы со сплайнами
Совет 11. Как можно чаще сохраняйте файл, особенно при выполнении операций, способных вызвать аварийное завершение программы (например, булевых операций). Удобно использовать Incremental Save (Приращения при сохранении), чтобы всегда можно было вернуться к промежуточным файлам. Кроме того, не забывайте о существовании режима Auto Backup (Автоматическое сохранение) (по умолчанию включено), что позволит восстановить большую часть работы, потерянной при аварийном завершении программы (рис. П1.3).
Совет 12. Если вы собираетесь продолжить свой проект на другом компьютере или сохранить его в архиве, то лучшим способом будет создание архива средствами самой программы 3ds Max (File ► Archive (Файл ► Архивировать)). Это позволит упаковать не только сцену с материалами, но и все сопутствующие текстурные карты с прописанными к ним путями.
Рис. П1.3. Окно Preference Settings (Параметры установок) с настройками сохранения файлов
Совет 13. Установите флажок Save Viewport Thumbnail Image (Сохранить пиктограмму окна проекции) в окне Preference Settings (Параметры установок) (см. рис. П1.3). Это позволит вам при навигации по файлам видеть то, что в них находится.
Совет 14. Для получения информации о сцене служит пункт Summary Info (Сводка) меню File (Файл). При помощи открывшегося окна вы можете получить информацию о количестве полигонов, присвоенных материалах, подключаемых модулях и т. д. Вы также можете сохранить эту информацию в текстовом файле для последующего анализа.
Совет 15. Возможное решение для открытия проблемных файлов – загрузка их содержимого при помощи команды Merge (Присоединить) или XRef Objects (Ссылки на объекты) меню File (Файл) в новую сцену.
Совет 16. Одним из быстрых способов открытия файлов сцен, присвоения материалов и т. д. является Asset Browser (Окно просмотра ресурсов) (рис. П1.4). В нем можно перетаскивать в окно проекции при помощи мыши как отдельные объекты, так и целые сцены, присваивать материалы или текстуры объектам сцены, просматривать пиктограммы сцен, выполнять операции с файлами и многое другое.
Рис. П1.4. Окно Asset Browser (Окно просмотра ресурсов)
Совет 17. Не забывайте сохранять файл или выполнять команду Edit ► Hold (Правка ► Зафиксировать) перед теми операциями, для которых недоступна команда Undo (Отменить) (например, перед Collapse (Свернуть)).
Моделирование
Совет 18. Если необходимо изменить какую-либо величину для параметрического объекта, достаточно в поле параметра набрать r и число, на которое нужно изменить значение. Например, если набрать r50, то общее значение изменится на 50 (было 20 – станет 70).
Совет 19. Если установить курсор в поле счетчика и нажать сочетание клавиш Ctrl+N, то откроется окно со своеобразным калькулятором, в котором можно выполнять простые математические вычисления, а результат автоматически заносить в поле параметра.
Совет 20. Щелчок правой кнопкой мыши на стрелках счетчика позволяет обнулить его. Эта функция удобна, если вам необходимо задать нулевые значения (например, в окне трансформаций или поворота).
Совет 21. Если во время построения сплайна вам понадобится удалить последнюю вершину или несколько вершин, то сделать это можно, не выходя из режима построения, воспользовавшись клавишей Backspañe.
Совет 22. Использование привязок (Snaps) может значительно упростить работу, когда выравниваются или передвигаются объекты или подобъекты.
Совет 23. Иногда во время трансформации или поворота возникает необходимость изменения параметров привязок. Это можно сделать, не прерывая операции, нажав клавишу Shift и правую кнопку мыши, в результате чего появится контекстное меню, в котором можно выбрать новые параметры привязок.
Совет 24. При работе в режиме редактирования иногда возникает необходимость относительного поворота или перемещения объектов. Чтобы выполнить такой поворот, необходимо выделить объект и заблокировать его, используя клавишу Пробел. После этого следует установить в настройках привязок (окно вызывается щелчком правой кнопкой мыши на кнопке Snaps Toggle (Переключение привязок)) флажок Use Axis Constraints (Использовать осевые привязки) (рис. П1.5).
Рис. П1.5. Вкладка Options (Параметры) окна Grid and Snap Settings (Настройки сетки и привязок)
На панели инструментов выберите Use Transform Coordinate Center (Использовать начало координат) и перейдите в окно проекции для редактирования.
В результате выполненных действий поворот объекта будет осуществляться вокруг точки привязки (например, вершины или опорной точки другого объекта).
Совет 25. Иногда необходимо выделить ряд ребер, которые проходят по горизонтали или вертикали, не затрагивая другие, перпендикулярные им ребра. Такое выделение можно выполнить с использованием направления движения указателя мыши, для чего предварительно должен быть установлен соответствующий флажок в настройках программы (рис. П1.6).
Перемещение указателя слева направо приводит к выделению только тех ребер, которые попадают в область выделения. Если же выделять указателем в обратном направлении, то выделятся все ребра, которые затрагивает область выделения. Это же справедливо и по отношению к полигонам.
Совет 26. В режиме редактирования подобъектов (вершины, ребра, полигоны и т. д.) полезно установить флажок Ignore Backfacing (Без обратной ориентации). Это позволит избежать случайного выделения подобъектов на противоположной стороне модели. Естественно, не забывайте снимать данный флажок, если вам необходимо выделить весь объект.
Совет 27. Если у полигональной модели на уровне редактирования вершин выделить группу вершин и, удерживая нажатой клавишу Ctrl, перейти на уровень редактирования полигонов (в свитке Selection (Выделение) щелкнуть на кнопке Polygon (Полигон)), то автоматически выделятся все полигоны, которым принадлежат ранее выделенные вершины. Это же правило справедливо и для других типов подобъектов.
Совет 28. Чтобы, редактируя полигональную модель, иметь возможность передвигать вершины вдоль какого-либо ребра или в плоскости полигона, необходимо установить переключатель Constraints (Привязки) свитка Edit Geometry (Редактирование геометрии) настроек полигональной модели в положение Edge (Ребро) либо Face (Грани) соответственно.
Рис. П1.6. Окно Preference Settings (Параметры установок) с активизированным выделением по направлению
Совет 29. В процессе редактирования подобъектов можно быстро вернуться к первоначальному положению выделенных элементов, для чего достаточно, удерживая нажатой левую кнопку мыши, щелкнуть правой.
Совет 30. Если вы хорошо знакомы с возможностями программы, то всегда найдете 2–3 решения для моделирования одного и того же объекта. Ваша задача – выбрать тот вариант моделирования, который в данном случае будет оптимальным по скорости и качеству. Например, сложный объект, на моделирование которого при помощи полигонов понадобилось бы не меньше часа, можно смоделировать при помощи лофтинга за 10–15 минут.
Совет 31. Если вам необходимо редактировать примитивы на уровне подобъектов, сохранив при этом параметрические свойства объекта, то применяйте модификаторы Edit Spline (Редактирование сплайна) или Edit Mesh (Редактирование поверхности). В противном случае следует преобразовать объект в Editable Spline (Редактируемый сплайн) и Editable Mesh (Редактируемая поверхность). Это поможет высвободить ресурсы компьютера.
Совет 32. По возможности всегда заменяйте геометрию модели текстурными картами. Например, для создания участка леса на втором плане вполне подойдет использование перекрещивающихся плоскостей с нанесенной на них текстурой деревьев в каналах основного цвета (Diffuse) и непрозрачности (Opacity).
Совет 33. При создании объектов форм по возможности используйте Renderable Spline (Визуализируемый сплайн) вместо операций лофтинга. Такие объекты требуют меньше системных ресурсов и легче редактируются. Чтобы сплайн был виден в результате визуализации, необходимо произвести настройки в свитке Rendering (Визуализация) (рис. П1.7), например установить флажок Enable In Renderer (Показывать при визуализации) и определить значение параметра Thickness (Толщина).
Рис. П1.7. Свиток Rendering (Визуализация) настроек сплайна
Совет 34. Не забывайте давать объектам сцены значимые имена, тогда при их большом количестве вам не придется гадать, что же скрывается за именем Box25.
Совет 35. Возьмите за правило вне зависимости от наполнения сцены моделировать объекты с минимальным, но достаточным количеством полигонов. Что это означает на практике? Все очень просто. Если, например, для ваших задач сфере достаточно 24 сегментов (и она будет выглядеть сглаженно), а не 32, которые установлены по умолчанию, то именно 24 и нужно использовать. От количества полигонов в сцене напрямую зависит время визуализации, особенно если речь идет о трассируемых материалах и тенях. Кроме того, это упростит процесс визуализации анимации.
Совет 36. Если сцена статична и вы не планируете делать анимацию, облеты камерой и т. п., то можно не моделировать заднюю (скрытую от взгляда) часть объекта. То же относится и к тем частям объектов, которые перекрывают друг друга.
Совет 37. По возможности избегайте булевых операций, так как, кроме усложнения топологии модели, они создают проблемы с ее дальнейшим редактированием. Всегда можно найти альтернативу булевым операциям, и, хотя я не противник их использования в работе, у меня сложился такой стиль моделирования, при котором я вообще их не применяю. Если вам не обойтись без них, не забудьте перед назначением булевой операции свернуть стек модификаторов, выполнив команду Collapse (Свернуть) контекстного меню, и проверить объект на наличие ошибок при помощи модификатора STL Check (STL-тест). После этого сохраните или выполните команду Edit ► Hold (Правка ► Зафиксировать) и только тогда приступайте к булевым операциям.
Совет 38. В 3ds Max создание NURBS-объектов не поставлено на должный уровень, как, например, в программах Rhino или Avid Studio Tools, но, если это возможно, предпочтительнее использовать именно NURBS-технологию для получения более сглаженных поверхностей (например, при использовании модификатора Lathe (Вращение)).
Совет 39. Если вам по какой-либо причине нужно изменить масштаб объекта, это делается на уровне подобъектов при помощи Gizmo (Габаритный контейнер) модификатора XForm (Преобразование). Особенно это актуально для объектов формы, которые используются в качестве сплайна пути или поперечного сечения в лофт-объектах.
Совет 40. Если вы делаете симметричную модель, то нет необходимости моделировать ее всю. Достаточно сделать только половину, а затем применить модификатор Symmetry (Симметрия). В ранних версиях программы 3ds Max необходимо сделать копию при помощи инструмента Mirror (Зеркальное отображение), присоединить ее (щелкнуть на кнопке Attach (Присоединить)), а затем объединить вершины в месте стыка двух половин.
Совет 41. Если нужно сделать несколько копий одного и того же объекта, полезно выбирать варианты Instance (Привязка) или Reference (Подчинение). При последующем редактировании одного из объектов изменения будут происходить сразу во всех дубликатах.
Совет 42. Когда в сцене присутствует большое количество объектов, гораздо проще продолжить моделирование или вносить исправления в объекты, используя Isolation Mode (Режим изоляции) (включается при помощи сочетания клавиш Alt+Q). Иногда также очень помогает при моделировании использование прозрачности объектов (сочетание клавиш Alt+X).
Совет 43. Если в сцене присутствует некоторое количество объектов, то полезно прятать (при помощи команды Hide Selected (Спрятать выделенное) вкладки Display (Отображение)) те объекты, которые в данный момент не нужны. Так будет проще разбираться с оставшимися объектами и ускорится прорисовка окон проекций.
Совет 44. Если вы используете NURMS Subdivision (NURMS-разбиения) для модификатора MeshSmooth (Сглаженная поверхность) или Editable Poly (Редактируемая полигональная поверхность), то задавайте нужное количество итераций для визуализации, при этом выключая или оставляя их минимальное количество для окон проекций (рис. П1.8). Это поможет не только уменьшить размер файла, но и ускорит прорисовку окон проекций.
Рис. П1.8. Свиток Subdivision Surface (Поверхности с разбиением) с настройками отображения и визуализации разбиений
Анимация
Совет 45. Если вы анимируете объект при помощи модификаторов, а производительность компьютера оставляет желать лучшего, то можно немного исправить создавшееся положение путем применения модификатора Point Cache (Точка кэша). Он позволяет сохранять анимацию вершин объекта вместо всех использовавшихся модификаторов. Таким образом, компьютер будет нагружаться гораздо меньше.
Совет 46. Если щелкнуть правой кнопкой мыши на ползунке шкалы анимации, то появится окно Create Key (Создать ключ), при помощи которого можно скопировать трансформации выделенного объекта из одного кадра в другой.
Совет 47. Если, удерживая нажатой клавишу Shift, щелкнуть правой кнопкой мыши на стрелках, расположенных справа от счетчика анимируемого параметра, то в строке треков будет автоматически создан ключ анимации этого параметра.
Совет 48. Активизировав переключатель Key Mode Toggle (Переключение режима ключей) в правом нижнем углу окна программы, можно быстро перемещаться по ключевым кадрам при помощи ползунка таймера или соответствующих кнопок навигации.
Совет 49. Если вы используете анимацию материала, то щелчок на кнопке Make Preview (Создать просмотр) в окне Material Editor (Редактор материалов) позволит создать и просмотреть эскиз анимации материала в ячейке образца в реальном времени. Таким же образом можно выполнить и просмотреть анимацию отдельной текстурной карты.
Совет 50. Для анализа анимации объектов полезно включать режим отображения двойников (Views ► Show Ghostings (Вид ► Показать двойников)). Двойники отображаются в каркасном виде до и после текущего кадра (рис. П1.9).
Рис. П1.9. Показ двойников в окне проекции Front (Спереди)
Совет 51. Включая воспроизведение анимации в окне проекции, не забывайте закрывать окно редактора материалов, в противном случае программа будет пытаться обновлять образцы материалов с каждым кадром анимации.
Совет 52. Для просмотра тестовой анимации используйте команду Make Preview (Создать просмотр) из пункта главного меню Animation (Анимация). Эта операция позволит вам проанализировать анимацию объектов в реальном времени.
Материалы и текстуры
Совет 53. Используйте текстуры и карты выдавливания вместо сложной геометрии, если обратное не продиктовано самой задачей моделирования. Например, при моделировании стены с кирпичной кладкой логичнее наложить текстуру кирпичей, а швы между ними сделать при помощи текстуры выдавливания, а не моделировать кирпичики по отдельности. Менее очевидным является использование этих же приемов, например, для создания кильватерной волны вслед за яхтой.
Совет 54. При использовании растровых изображений в качестве карт выдавливания задавайте параметру Blur (Размытие) значение 0,01, а в качестве размытия применяйте небольшое значение параметра Blur offset (Сдвиг размытия) (рис. П1.10).
Рис. П1.10. Настройка параметров размытия для карты выдавливания
Совет 55. Во время текстурирования объектов старайтесь как можно чаще использовать процедурные карты (иначе говоря, текстуры, которые создаются программно). Кроме получения максимально возможного качества, вы избавитесь от необходимости держать на диске вместе с проектом лишние текстуры.
Совет 56. Если вы применяете текстуры для заднего фона, то их размер должен соответствовать выходному размеру изображения при визуализации (большее изображение качества не улучшит, но место на диске и в памяти будет занимать, а при меньшем произойдет потеря качества).
Совет 57. При необходимости использования больших текстур, которые нельзя загрузить стандартным способом, установите в настройках программы (Customize ► Preferences (Настройки ► Параметры), вкладка Rendering (Визуализация)) в области Bitmap Pager (Пейджер растрового изображения) флажок On (Включить).
Совет 58. Если по каким-либо причинам вам понадобилось вернуться к материалу, присвоенному объекту по умолчанию, это можно сделать при помощи утилиты UVW Remove (Удалить UVW).
Источники света и камеры
Совет 59. Не используйте тени Area Shadows (Область тени) и Ray Traced Shadows (Трассированные тени) при промежуточных визуализациях, так как это значительно увеличивает время просчетов. Проводите тестовую визуализацию с минимальными размерами изображения, но достаточными для контроля над вводимыми изменениями. Для этих же целей применяйте при возможности визуализацию фрагмента или выделенных объектов.
Совет 60. Используйте область Clipping Planes (Секущие плоскости) настроек камер для исключения ненужных объектов из визуализации. Очень часто такой прием применяется для визуализации интерьеров, когда необходимо исключить из визуализации передние стены. Принцип секущих плоскостей также применяется для отдельно взятых объектов и в окнах проекций во время моделирования.
Совет 61. При желании вы можете быстро добавить в сцену освещение, используемое по умолчанию, с целью создания базового освещения и последующего его редактирования. Для этого необходимо в настройках окна проекции установить использование двух источников света (рис. П1.11) и выполнить команду Views ► Add Default Lights to Scene (Вид ► Добавить в сцену встроенные источники света).
Рис. П1.11. Установка использования двух источников света в окне Viewport Configuration (Конфигурирование окна проекции)
Совет 62. Повысить качество тени Shadow Map (Тип отбрасываемой тени) можно за счет увеличения значения параметра Size (Размер) свитка Shadow Map Params (Параметры карты теней). Однако увеличение значения этого параметра вызывает создание более четких границ тени, что не всегда приемлемо. Для решения задачи необходимо также увеличить значение параметра Sample Range (Диапазон усреднения) данного свитка.
Визуализация
Совет 63. Если в сцене используются Raytrace-просчеты, обычно для простых материалов и теней хватает глубины в два просчета (значение параметра Maximum Depth (Максимальная глубина) в свитке Raytracer Global Parameters (Глобальные параметры трассировки) окна Render Scene (Визуализация сцены)), хотя по умолчанию задано 9. Если же в сцене присутствуют прозрачные объекты, то глубина лучей просчитывается в зависимости от количества проходов луча через преломляющие среды. Например, для стакана это четыре (ближняя стенка стакана – внешняя и внутренняя ее поверхности, а также задняя стенка – внутренняя и внешняя поверхности).
Совет 64. Если необходимо сделать размер выходного изображения больше, чем 32 768 х 32 768 пикселов (предел в настройках визуализатора 3ds Max 2008), то следует использовать окно Video Post (Видеомонтаж), с его помощью можно получить до 99 999 х 99 999 пикселов. Существуют также способы визуализации изображения частями с последующей их «склейкой».
Совет 65. Часто при работе с большими проектами время визуализации может растянуться на часы и даже дни. Чтобы иметь возможность продолжить работу над текущим или другим проектом, необходимо использовать сетевую визуализацию. В этом случае визуализация будет проходить в фоновом режиме при помощи модуля Backburner, а вы сможете работать с 3ds Max в обычном режиме.
Совет 66. Если вам необходимо последовательно визуализировать несколько видов из камеры, это можно выполнить одним из следующих способов.
■ При помощи подключаемых модулей (например, RPManager).
■ Анимировав камеру так, чтобы в ключевых кадрах были необходимые виды, а затем установив параметры визуализации каждого ключевого кадра с сохранением последовательности кадров в файле.
■ При помощи модуля Video Post (Видеомонтаж). При этом для каждой камеры создается событие Add Scene Event (Добавить событие-сцену) и Add Image Output Event (Добавить событие вывода изображения), где выбирается камера для визуализации и файл для записи визуализированного изображения (рис. П1.12).
Рис. П1.12. Окно модуля Video Post (Видеомонтаж) с настройками последовательной визуализации вида четырех камер
Разное
Совет 67. При использовании чертежей для моделирования объектов возникает проблема, связанная с отрисовкой их в окнах проекций. Стандартными способами можно повысить качество до определенных пределов. Как вариант можно использовать чертеж, выполненный в программах векторной графики и импортированный в 3ds Max как набор кривых.
Совет 68. Одним из способов борьбы с аварийным завершением программы является переход на современную операционную систему (Windows 2000/XP). Именно старые операционные системы Windows 95/98 вызывают наибольшее количество сбоев.
Совет 69. Рассмотрите возможность улучшения конфигурации компьютера. Безусловно, такие решения связаны с материальными затратами, но работать комфортно с 3ds Max 2008 можно только на компьютерах с современной конфигурацией.
Совет 70. Для решения возникающих вопросов обращайтесь к файлу справки – это самое полное собрание ответов на них.
В заключение хочу отметить, что это только часть тех полезных мелочей, которые необходимо знать при работе с 3ds Max, чтобы облегчить процесс создания своих проектов.
Приложение 2. Основные сочетания клавиш 3ds Max 2008
Работа в программе станет значительно быстрее и эффективнее, если вы будете пользоваться сочетаниями клавиш для выполнения операций.
Для быстрого ознакомления с основными клавиатурными комбинациями интерфейса программы выполните команду Help ► HotKey Map (Справка ► Карта сочетаний клавиш). В результате откроется интерактивное окно (рис. П2.1).
Рис. П2.1. Интерактивное окно карты клавиатурных комбинаций 3ds Max 2008
Если передвигать указатель по клавиатуре, расположенной в правом нижнем углу, то автоматически будет меняться отображение сочетаний клавиш. Для просмотра данного окна вам понадобится установленный Flash-проигрыватель.
Ниже приведены основные сочетания клавиш, которые могут понадобиться при выполнении упражнений данной книги.
ПРИМЕЧАНИЕ
Полный список сочетаний клавиш можно получить, выполнив команду Customize ► Customize User Interface (Настройка ► Настройка пользовательского интерфейса) и перейдя в открывшемся окне на вкладку Keyboard (Клавиатура). В данном окне можно также переопределить сочетания клавиш.
Интерфейс программы
Сочетания клавиш для работы с Editable Mesh (Редактируемая поверхность)
Сочетания клавиш для работы с Editable Poly (Редактируемая полигональная поверхность)
Сочетания клавиш для работы с NURBS-объектами
Приложение 3. Содержимое DVD, прилагаемого к книге
Для более полного восприятия книги к ней прилагается DVD. На нем находятся следующие папки.
■ Examples – файлы сцен упражнений, описываемых в книге. Вы можете обращаться к данным файлам, если что-то непонятно из описания в издании. Обратите внимание, что файлы сцен могут быть открыты только в программе 3ds Max не ниже версии 2008. Кроме того, в данной папке располагаются некоторые файлы, необходимые для выполнения упражнений.
■ Images – цветные иллюстрации в формате JPG с номерами, соответствующими номерам иллюстраций в книге. Они помогут вам более полно представить то, что должно происходить в процессе выполнения упражнений.
■ Video – анимационные ролики, иллюстрирующие результат выполнения некоторых упражнений, описанных в издании. Все они закодированы при помощи кодека Windows Media Video (WMV), и для их просмотра вам достаточно иметь стандартный Проигрыватель Windows Media, обновленный до девятой версии. В случае использования других проигрывателей видеофайлов обратитесь на сайт фирмы Microsoft для загрузки бесплатного декодера.
В данные папки вложены папки с номерами, соответствующими номерам глав книги.
Кроме того, в папке Programs вы найдете пробные 32– и 64-битные версии программы 3ds Max 2008, с которыми можете работать в течение 30 дней без ограничений.
Примечания
1
NURBS – Non Uniform Rational B-Splines, неоднородные рациональные B-сплайны.
(обратно)2
HSDS – Hierarchical SubDivision Surfaces, поверхности с иерархическими подразделениями.
(обратно)3
Визуализация в реальном времени применяется в играх и программах, позволяющих интерактивное управление. Суть ее состоит в том, что объекты визуализируются почти мгновенно (без больших затрат времени на просчеты). При этом используются низкополигональные модели, а текстуры не могут быть составными и иметь небольшой объем, на них сразу присутствуют тени, отражения и т. д.
(обратно)
Комментарии к книге «3ds Max 2008. Секреты мастерства», Владимир Верстак
Всего 0 комментариев