Книга
Книга
Глава 1
Введение в трехмерную графику
Области использования трехмерной графики
Основные понятия трехмерной графики
Установка 3ds Мах 8
Несколько советов перед началом работы
Области использования трехмерной графики
Трехмерная графика настолько прочно вошла в нашу жизнь, что мы, сталкиваясь с ней, порой даже не замечаем ее. Разглядывая интерьер комнаты на огромном рекламном щите, янтарный блеск льющегося пивав рекламном ролике, наблюдая, как взрывается самолет в остросюжетном боевике, многие не догадываются, что перед ними не реальные съемки, а результат работы мастера трехмерной графики. Область применения трехмерной графики необычайно широка: от рекламы и киноиндустрии до дизайна интерьера и производства компьютерных игр.
При создании рекламы трехмерная графика помогает представить продвигаемый товар в наиболее выгодном свете, например, с ее помощью можно создать иллюзию идеально белых рубашек, кристально чистой минеральной воды, аппетитно разломленного шоколадного батончика, хорошо пенящегося моющего средства и т. д. В реальной жизни рекламируемый объект может иметь какие-нибудь недостатки, которые легко скрыть, используя в рекламе трехмерных «двойников». Вы наверняка замечали, что после применения моющего средства посуда блестит гораздо более тускло, чем в рекламе, а волосы после использования шампуня не выглядят так красиво, как на экране телевизора. Причина этого проста: слишком чистая посуда — всего лишь просчитанное компьютером изображение, такие тарелки в реальности не существуют.
Использование компьютерных технологий при проектировании и разработке дизайна интерьера помогает увидеть конечный вариант задолго до того, как обстановка будет воссоздана. Трехмерная графика позволяет создавать трехмерные макеты различных объектов (кресел, диванов, стульев и т, д.), повторяя их геометрическую форму и имитируя материал, из которого они созданы. Чтобы получить полное представление об определенном объекте, необходимо осмотреть его со всех сторон, с разных точек, при различном освещении. Трехмерная графика позволяет создать демонстрационный ролик, в котором будет запечатлена виртуальная прогулка по этажам будущего коттеджа, который только начинает строиться.
Что же касается киноиндустрии, то в этой отрасли компьютерная графика сегодня незаменима. Трудно поверить в то, что для одного из первых фильмов серии «Звездные войны» сцену падающего водопада создавали при помощи обыкновенной соли. Специально ехать, чтобы снимать настоящий водопад, было слишком дорого, трехмерной графики тогда еще не было, поэтому создатели картины решили «обмануть» зрителя и изобразить водопад самостоятельно. Вместо воды они сыпали соль на черном фоне, а затем при помощи видеомонтажа совмещали отснятое видео реальных гор с «водопадом» из падающей соли. Сегодня для создания подобных сцен не обязательно заказывать килограммы соли. При помощи редактора трехмерной графики можно без труда смоделировать любой водопад, который зритель не отличит от настоящего.
Основные понятия трехмерной графики
Для создания трехмерной графики используются специальные программы, которые называются редакторы трехмерной графики, или 3D-редакторы. 3ds Мах 8 является одной из таких программ.
Результатом работы в любом редакторе трехмерной графики, в том числе и в приложении 3ds Мах 8, является анимационный ролик или статическое изображение, просчитанное программой. Чтобы получить изображение трехмерного объекта, необходимо создать в программе его объемную модель.
Модель объекта в 3ds Мах 8 отображается в четырех окнах проекций. Такое отображение трехмерной модели используется во многих редакторах трехмерной графики и дает наиболее полное представление о геометрии объекта. Если вы видели чертежи деталей, то могли заметить, что на чертеже объект представлен сверху, сбоку и слева. Интерфейс 3ds Мах 8 напоминает такой чертеж. Однако, в отличие от чертежа на бумаге, вид объекта в каждом окне проекции можно изменять и наблюдать, как выглядит объект снизу, справа и т. д. Кроме этого, можно вращать все виртуальное пространство в окнах проекций вместе с созданными в нем объектами. Работа в 3ds Мах 8 напоминает компьютерную игру, в которой пользователь передвигается между трехмерными объектами, изменяет их форму, поворачивает, приближает и т. д.
Виртуальное пространство, в котором работает пользователь 3ds Мах 8, называется трехмерной сценой. То, что вы видите в окнах проекций, — это отображение рабочей сцены.
Работа с трехмерной графикой очень похожа на съемку фильма, при этом разработчик выступает в роли режиссера. Ему приходится расставлять декорации сцены (то есть создавать трехмерные модели и выбирать положение для них), устанавливать освещение, управлять движением трехмерных тел, выбирать точку, с которой будет производиться съемка фильма, и т. д.
Любые трехмерные объекты в программе создаются на основе имеющихся простейших примитивов — куба, сферы, тора и др. Создание трехмерных объектов в программе 3ds Мах 8 называется моделированием. Для отображения простых и сложных объектов 3ds Мах 8 использует так называемую полигональную сетку, которая состоит из мельчайших элементов — полигонов. Чем сложнее геометрическая форма объекта, тем больше в нем полигонов и тем больше времени требуется компьютеру для просчета изображения. Если присмотреться к полигональной сетке, то в местах соприкосновения полигонов можно заметить острые ребра, поэтому чем больше полигонов содержится в оболочке объекта, тем более сглаженной выглядит геометрия тела. Сетку любого объекта можно редактировать, перемещая, удаляя и добавляя ее грани, ребра и вершины. Такой способ создания трехмерных объектов называется моделированием на уровне подобъектов.
В реальной жизни все предметы, окружающие нас, имеют характерный рисунок поверхности и фактуру — шершавость, прозрачность, зеркальность и др. В окнах проекций 3ds Мах 8 видны лишь оболочки объектов без учета всех этих свойств, поэтому изображение в окне проекции далеко от реалистичного. Для каждого объекта в программе можно создать свой материал — набор параметров, которые характеризуют некоторые физические свойства объекта.
Чтобы получить просчитанное изображение в 3ds Мах 8, трехмерную сцену необходимо визуализировать. При этом будут учтены освещенность и физические свойства объектов.
Созданная в окне проекции трехмерная сцена визуализируется либо непосредственно из окна проекции, либо через объектив виртуальной камеры. Виртуальная камера представляет собой вспомогательный объект, который обозначает в сцене точку, из которой можно произвести визуализацию проекта. Для чего нужна виртуальная камера? Визуализируя изображение через объектив виртуальной камеры, можно изменять положение точки съемки. Подобного эффекта невозможно добиться, визуализируя сцену из окна проекции. Кроме этого, виртуальная камера позволяет использовать в сценах специфические эффекты, похожие на те, которые можно получить с помощью настоящей камеры (например, эффект глубины резкости).
Качество полученного в результате визуализации изображения во многом зависит от освещения сцены. Когда происходят съемки настоящего фильма, стараются подобрать наиболее удачное положение осветительных приборов таким образом, чтобы главный объект был равномерно освещен со всех сторон и при этом освещение съемочной площадки выглядело естественно.
Программа 3ds Мах 8 позволяет устанавливать освещение трехмерной сцены, используя виртуальные источники света — направленные и всенаправленные. Источники света являются такими же вспомогательными объектами, как виртуальные камеры. Их можно анимировать, изменять их положение в пространстве, управлять цветом и яркостью света. Еще одна важная деталь, благодаря которой источники света придают сцене большую реалистичность, — отбрасываемые объектами тени.
Работать с источниками света бывает порой очень сложно, поскольку не всегда удается правильно осветить трехмерную сцену. Например, слишком яркие источники света создают сильные и неправдоподобные блики на трехмерных объектах, а большое количество теней, направленных в разные стороны, выглядит неестественно.
Установка 3ds Мах 8
Перед тем как начать работу с любой программой, ее обязательно нужно установить. В процессе установки (инсталляции) на компьютер копируются файлы, необходимые для запуска и корректной работы программы, вносятся изменения в системный реестр. Если сравнить компьютер с домом, то можно сказать, что установка — это заселение в него нового жильца. Обычно для установки новой программы требуется компакт-диск.
Некоторые компании продают компьютеры с уже установленным программным обеспечением, поэтому, возможно, вы никогда раньше не сталкивались с необходимостью инсталляции приложений.
ПРИМЕЧАНИЕ
Существуют программы, которые не требуют установки, однако это в основном небольшие утилиты, а не такие мощные пакеты, как 3ds Мах 8.
Установка 3ds Мах 8, как и многих других программ, начинается с запуска файла Setup. ехе. Расширение EXE указывает на то, что файл является исполняемым, то есть содержит в себе программу (в данном случае — программу установки). Название файла (Setup) переводится с английского как «установка».
ВНИМАНИЕ
Перед началом установки убедитесь в том, что на вашем жестком диске достаточно свободного места. Для инсталляции программы вам понадобится не менее 500 Мбайт.
Ниже будет описан процесс установки демонстрационной версии 3ds Мах 8, которую вы можете взять с прилагаемого к книге компакт-диска. Она содержит лишь установочные файлы 3ds Мах, поэтому при инсталляции программы вам не будет предложено выбрать компоненты, как это происходит при установке полной версии приложения.
Прилагаемая версия не содержит дополнительные материалы и приложения, необходимые для успешной работы 3ds Мах. В случае необходимости вам придется их найти и установить самостоятельно. Дополнительные файлы можно найти на сайте производителя 3ds Мах — компании Autodesk (http://www.autodesk.com).
Если программа установки обнаружит, что на компьютере отсутствует одно из приложений, необходимых для работы 3ds Мах (например, Internet Explorer 6 и DirectX 9.0с), то она сообщит вам об этом и инсталляция будет прекращена. В этом случае вам необходимо установить недостающие приложения, после чего запустить программу инсталляции 3ds Мах заново.
Для успешной установки программы следует согласиться с лицензионным соглашением, ввести серийный номер - код компакт-диска (рис. 1.1). Если у вас нет серийного номера и вы намереваетесь использовать пробную (trial) версию 3ds Мах, то введите код 000-00000000. После установки советуем перезагрузить компьютер.
При запуске программы появится окно (рис. 1.2).
При первой загрузке 3ds Мах 8 появится диалоговое окно Autodesk 3ds Max 8 Product Activation (Активизация Autodesk 3ds Max 8) (рис. 1.3), Установите в нем переключатель в положение Activate the product (Активизировать продукт) и нажмите кнопку Next (Далее).
ПРИМЕЧАНИЕ
Если вы используете демонстрационную версию программы и не располагаете кодом активизации, установите переключатель в положение Run the product (Запустить программу). В этом случае вам придется устанавливать переключатель в данное положение при каждом запуске 3ds Мах. Демонстрационная версия программы работает 30 дней, после чего вам будет необходимо зарегистрировать программу, так как ее дальнейшее использование будет невозможно.
H®HH®HAutodesk*Autodesk*I iy Autodesk 3ds Max В SetupI iy Autodesk 3ds Max В SetupEnter the tallowing information to personalize your mstaBatlonEnter the tallowing information to personalize your mstaBatlonРис, 1.1. Окно, в котором необходимо ввести серийный номер программыРис, 1.1. Окно, в котором необходимо ввести серийный номер программыAUTODESK 3DSMAX © 8AUTODESK 3DSMAX © 8w (Uw (Ul^i^sng 3d$ maxl^i^sng 3d$ max
H®H
H®H
Autodesk*
Autodesk*
I iy Autodesk 3ds Max В Setup
I iy Autodesk 3ds Max В Setup
Enter the tallowing information to personalize your mstaBatlon
Enter the tallowing information to personalize your mstaBatlon
Рис, 1.1. Окно, в котором необходимо ввести серийный номер программы
Рис, 1.1. Окно, в котором необходимо ввести серийный номер программы
AUTODESK 3DSMAX © 8
AUTODESK 3DSMAX © 8
w (U
w (U
l^i^sng 3d$ max
l^i^sng 3d$ max
Рис. 1.2. Запуск программы 3ds Мах 8
В следующем диалоговом окне Register Today (Зарегистрируйтесь сегодня) установите переключатель в положение Enter an activation code (Ввести код активизации) (рис. 1.4).
ПРИМЕЧАНИЕ
Если у вас нет кода активизации, установите переключатель в положение Get ап activation code (Ввести код активизации), чтобы получить код.
Рис. 1.3. Диалоговое окно 3ds Мах 8 Product Activation (Активизация 3ds Max 8)
Рис. 1.4. Диалоговое окно Register Today (Зарегистрируйтесь сегодня)
Во втором диалоговом окне, которое также называется Register Today (Зарегистрируйтесь сегодня), введите серийный номер программы и код активизации (рис. 1.5), после чего установку можно считать завершенной. При успешной регистрации вы увидите диалоговое окно с сообщением от Autodesk (рис. 1.6). После нажатия кнопки Finish (Завершить) начнется первая загрузка 3ds Мах 8.
Рис. 1.5. Окно для ввода кода активизации
При первой загрузке 3ds Мах 8 появится диалоговое окно Graphics Driver Setup (Выбор графического драйвера) (рис. 1.7). С его помощью можно выбрать видеодрайвер, который будет использовать видеокарта: Software (Программный), OpenGL или DirectSD. Для обеспечения стабильной работы в большинстве случаев лучше выбирать вариант Software (Программный).
СОВЕТ
В дальнейшем для изменения драйвера, используемого 3ds Мах, следует выполнить команду Customize ► Preferences (Настройка к Параметры), перейти на вкладку Viewports (Окно проекций) и нажать кнопку Choose Driver (Выбор драйвера). Чтобы изменения вступили а силу и был задействован новый драйвер, необходимо перезапустить 3ds Мах.
Рис. 1.6. Сообщение об успешной регистрации программы 3ds Мах 8
Рис. 1.7. Диалоговое окно выбора видеодрайвера
Может случиться, что 3ds Мах 8 не будет работать по неизвестной вам причине. В этом случае попробуйте выполнить восстановление 3ds Мах 8, запустив инсталляцию и выбрав команду Repair (Восстановление) (рис. 1.8).
Рис. 1.8. Выбор пункта Repair (Восстановление) в окне установки 3ds Мах 8
Несколько советов перед началом работы
Изучение трехмерной компьютерной графики — это очень интересное и увлекательное занятие. Прежде чем вы приступ ите к разработке первой сцены в 3ds Мах 8 и начнете создавать трехмерные фантастические миры, очень важно учесть некоторые моменты, которые помогут нам использовать программу максимально эффективно.
В первую очередь, необходимо обратить внимание на системные требования к программе. Практически для любого редактора трехмерной графики мощность рабочей станции играет очень важную роль. Трехмерная графика использует все свободные системные ресурсы, поэтому, каким бы мощным пн был компьютер, его производительности всегда будет не хватать, тем более что на рынке программного обеспечения для работы с трехмерной графикой постоянно появляются новые продукты со все более высокими системными требованиями.
Изучать основы трехмерного моделирования можно, даже имея не очень мощный компьютер уровня Pentium III с объемом оперативной памяти не менее 512 Мбайт. Однако, чтобы вы не испытывали неудобств в работе, лучше все же иметь оперативную память объемом не менее 1 Гбайт. Заметно облегчит работу со сложными сценами, содержащими большое количество полигонов, мощная видеокарта с объемом памяти не менее 256 Мбайт.
Программа 3ds Мах 8 поддерживает несколько типов графических драйверов для отображения трехмерной сцены. Если компьютер имеет графический акселератор высокой производительности, то в программе можно задать использование аппаратного драйвера, что позволит снизить нагрузку на главный процессор рабочей станции. Однако для работы с 3ds Мах 8 можно использовать и менее мощный графический акселератор с объемом видеопамяти 64 Мбайт.
Программа 3ds Мах 8 требовательна и к программному обеспечению. Работать с ней можно в операционной системе Windows 2000 с установленным четвертым пакетом обновлений (Service Pack 4) или в системе Windows ХР с установленным первым пакетом обновлений (Service Pack 1). Кроме этого, необходимо наличие браузера Internet Explorer не ниже шестой версии с установленным первым пакетом обновлений (Service Pack 1) и DirectX не ниже версии 9,0с.
Помимо системных требований важна стабильность операционной системы, в которой работает программа3ds Мах 8. При неустойчивости операционной системы резко возрастает вероятность возникновения ошибок в программе и ее беспричинного закрытия. По этой причине, прежде чем вы приступите к работе, убедитесь, что операционная система работает стабильно, и при необходимости переустановите ее. Советуем вам также выполнить следующие рекомендации.
Удалите все ненужные программы, которые автоматически загружаются вместе с системой при ее запуске.
Отключиге все эффекты плавного открытия/закрытия окон, программы, изме! 1Я- ющие и «украшающие» интерфейс системы. Например, настроить Windows ХР на максимальное быстродействие можно следующим образом:
выполните команду Пуск ► Настройка ► Панель управления > Система;
перейдите на вкладку Дополнительно (рис. 1.9);
Рис. 1.9. Диалоговое окно Свойства системы, вкладка Дополнительно
в области Быстродействие нажмите кнопку Параметры — на экране появится окно Параметры быстродействия (рис, 1,10);
Рис. 1.10. Окно Параметры быстродействия
на вкладке Визуальные эффекты установите переключатель в положение Обеспечить наилучшее быстродействие. После этого будут отключены эффекты анимации, сопровождающие открытие/закрытие окон, отбрасывание теней значками на Рабочем столе, эффекты затухания или скольжения и т. д.
■ Установите разрешение экрана не менее 1024 х 768 пикселов. При более низком разрешении некоторые пункты меню могут выходить за края экрана.
Обратите также внимание, что в процессе работы 3ds Мах 8 лучше не запускать приложения, которые используют тот же графический драйвер, что и 3ds Мах 8, а именно; трехмерные игры с OpenGL или Direct 3D, приложения для работы с ТВ- тюнером и т. д.
Глава 2
Знакомство с 3ds Мах 8
• Элементы интерфейса 3ds Мах 8
ре Ь<М look йгемр ***-5 fcrww Мойбее» Character «wctor ftrenaten GraohE^srs ВепсЫч Сц^ияв OAXScnpt tjabре Ь<М look йгемр ***-5 fcrww Мойбее» Character «wctor ftrenaten GraohE^srs ВепсЫч Сц^ияв OAXScnpt tjab^У;1 ^J®|^У;1 ^J®|........' ^Z^eiOTl' ^Z^eiOTl111я■л111я■л^Й*«^*«И«НИ^Й*«^*«И«НИToy*Toy*ИНИН■■■ИНИН■■■
ре Ь<М look йгемр ***-5 fcrww Мойбее» Character «wctor ftrenaten GraohE^srs ВепсЫч Сц^ияв OAXScnpt tjab
ре Ь<М look йгемр ***-5 fcrww Мойбее» Character «wctor ftrenaten GraohE^srs ВепсЫч Сц^ияв OAXScnpt tjab
^У;1 ^J®|
^У;1 ^J®|
....
....
' ^Z^eiOTl
' ^Z^eiOTl
111я
■л
111я
■л
^Й*«^*«И«
НИ
^Й*«^*«И«
НИ
Toy*
Toy*
ИНИН
■■■
ИНИН
■■■
Элементы интерфейса 3ds Max 8
Окно 3ds Max 8 (рис. 2.1) содержит три окна проекций, в каждом из которых показана трехмерная сцена со своей точки. Окно проекции, в котором на данный момент ведется работа, подсвечивается желтым цветом и называется активным. Активное окно можно развернуть во весь экран при помощи кнопки Maximize Viewport Toggle (Увеличение окна проекции до размеров экрана) в правом нижнем углу окна 3ds Мах 8.
|S4«na»7pnmevei *L"
Р . Sphw I
,Ш чпушнг-Ягчт ? иг Ш-мг г ш-in пгиto Ж 40&« Л)а 3 4x53 ^ y{ ^5? Йэч ^o»i»0,Ш чпушнг-Ягчт ? иг Ш-мг г ш-in пгиto Ж 40&« Л)а 3 4x53 ^ y{ ^5? Йэч ^o»i»0Addie* fag ,Addie* fag ,< A*t»rvjs*ecwlJ ^.Й^ .^< A*t»rvjs*ecwlJ ^.Й^ .^' J w,*®» ~ м, Д Д 6'-1" "=Ю&'' J w,*®» ~ м, Д Д 6'-1" "=Ю&'
,Ш чпушнг-Ягчт ? иг Ш-мг г ш-in пгиto Ж 40&« Л)
а 3 4x53 ^ y{ ^5? Йэч ^o»i»0
,Ш чпушнг-Ягчт ? иг Ш-мг г ш-in пгиto Ж 40&« Л)
а 3 4x53 ^ y{ ^5? Йэч ^o»i»0
Addie* fag ,
Addie* fag ,
< A*t»rvjs*ecwl
J ^.Й^ .^
< A*t»rvjs*ecwl
J ^.Й^ .^
' J w,*®» ~ м, Д Д 6'
-1" "=Ю&'
' J w,*®» ~ м, Д Д 6'
-1" "=Ю&'
$Ш$
Я88ВаВн60й81йнВиВЙН81
Рис. 2.1. Окно программы 3ds Мах 8
Соотношение размеров окон проекций можно изменять аналогично изменению размера диалоговых окоп Windows: подведите указатель мыши к границе между окнами (при этом указатель примет вид двунаправленной стрелки), нажмите левую кнопку мыши и, удерживая ее, переместите указатель на нужное расстояние (рис. 2.2). Для выполнения обратной операции подведите указатель мыши к границе между окнами проекций, щелкните правой кнопкой мыши и в появившемся контекстном меню выберите команду Reset Layout (Сбросить положение).
В верхней части окна программы расположено главное меню, а под ним — панель инструментов Main Toolbar (Основная панель инструментов). Пункты главного меню частично повторяют инструменты и команды основной панели инструментов, а также панели Command Panel (Командная панель) (см. ниже).
Рис. 2.2. Перемещение границы окна проекции
В левой части окна находится вертикальная панель инструментов (рис. 2.3), которая содержит настройки модуля reactor, предназначенного для просчета динамических характеристик в сценах.
Рис. 2.3. Панель reactor
В правой части окна расположена Command Panel (Командная панель) (рис. 2.4), которая содержит настройки всех объектов сцены, а также параметры многих операций, используемых в работе. При помощи командной панели можно создавать объекты и управлять ими.
Рис. 2.4. Command Panel (Командная панель)
ВНИМАНИЕ
Очень часто все параметры, расположенные на командной панели, не помещаются на экран. В таком случае необходимо прокручивать окно командной панели. Не забывайте об этом.
Главное меню
В верхней части окна 3ds Мах расположено главное меню. Если щелкнуть мышью на пункте главного меню, то появится подменю. Из него можно выбрать нужную команду, щелкнув на строке с ее названием один раз. Такая система меню является очень удобной и используется почти во всех программах Windows.
Нужно заметить, что, как и при работе с другими программами, большинство команд главного меню опытные пользователи применяют достаточно редко. Понятно, что гораздо быстрее для выполнения той или иной команды нажать кнопку на основной панели инструментов или воспользоваться сочетанием клавиш. Однако в главном меню есть и уникальные команды, которые нельзя выполнить при помощи панелей инструментов и для которых не назначены сочетания клавиш.
С главным меню удобно работать начинающим пользователям. Открывая пункты меню, вы обратите внимание, что напротив многих команд даются соответствующие им сочетания клавиш. Таким образом, используя пункты главного меню для выполнения различных действий, вы постепенно запомните сочетания клавиш и в дальнейшем сможете работать быстрее.
Рассмотрим основные команды пунктов главного меню.
File (Файл)
Некоторые команды этого меню должны быть знакомы всем пользователям, работающим с программами Windows. Как и во многих других приложениях, здесь
содержатся команды создания (New (Создать)), открытия (Open (Открыть)), сохранения текущего проекта (Save (Сохранить)), сохранения сцены под другим названием (Save As (Сохранить как)) и выхода из программы (Exit (Выход)).
Команда Reset (Сброс) позволяет отказаться от всех произведенных в программе действий и открывает новый проект с параметрами по умолчанию. При использовании этой команды все несохраненные данные будут утеряны. В 3ds Мах отсутствует возможность закрытия файла без выхода из программы, и команда Reset (Сброс) служит аналогом такой команды. В большинстве случаев на загрузку 3ds Мах требуется какое-то время, а используя Reset (Сброс), можно начать работу над новым проектом, не закрывая программу и не ожидая, пока она загрузится снова.
Команда Open Recent (Открыть последние) позволяет быстро открыть файлы, с которыми вы работали последними. Вы можете установить количество названий файлов и путей к ним, которые будет помнить программа. Для этого выполните команду Customize ► Preferences (Настройка > Параметры), перейдите на вкладку Files (Файлы) и установите значение в поле Recent Files in File Menu (Последние файлы меню Файл) (рис. 2.5).
Рис. 2.5. Параметр Recent Files in File Menu (Последние файлы меню Файл) а окне Preference Settings (Настройки)
Команды XRef Objects (Связанные объекты) и XRef Scene (Связанная сцена) предназначены для управления связанными объектами. Такие объекты отображаются в сценах 3ds Мах как обычные модели, однако на самом деле хранятся в других файлах сцен.
Команда Merge (Объединить) дает возможность объединить несколько сцен в одну.
Команды Import (Импортировать) и Export (Экспортировать) обеспечивают взаимодействие 3ds Мах с другими приложениями для работы с трехмерной, двухмерной графикой, CAD-системами и пр. Программа поддерживает достаточно большое количество форматов импорта и экспорта.
Используя команду Import (Импортировать), можно импортировать в 3ds Мах, например, файлы следующих форматов: 3DS, PRJ. AI, DEM, XML, DDF, DWG, DXF, FBX, IGE, IGS, IGES, IPT, AIM, LS. VW, LP, MIL, OBJ, SHP, STL, WRL, WRZ.
Используя команду Export (Экспортировать), можно экспортировать текущую сцену в один из следующих форматов: 3DS, AI, ASE, ATR, BLK, DF, DWF, DWG, DXF, FBX, IGS, LAY, LP, MIL, M3G, OBJ, STL, VW, W3D, WRL. Используя команду Export Selected (Экспортировать выделение), можно экспортировать лишь выделенные объекты сцены.
Команда File Properties (Свойства файла) предоставляет доступ к таким сведениям о текущей сцене, как название, автор, компания, категория, ключевые слова. Эти сведения обычно заполняет автор проекта. На вкладке Contents (Содержимое) можно также посмотреть информацию об объектах разного типа, присутствующих в сцене, об общем количестве вершин и поверхностей, об используемых материалах и модулях (рис. 2.6).
Рис. 2.6. Окно File Properties (Свойства файла)
Используя команду Summary Info (Общая информация), можно узнать более подробную статистическую информацию о сцене. Здесь для каждого объекта сцены
расписано количество вершин и поверхностей, показано, какие материалы для каждого из них используются, а также есть ли в сцене скрытые и зафиксированные объекты (рис. 2.7).
Stimnidry hila (at Frame 0)Stimnidry hila (at Frame 0)Scene Tot ahScene Tot ah- MeshToteh- MeshTotehMemory Utaje — —Memory Utaje — —ObjectsShopesLight*ObjectsShopesLight*30300000C^merateC^merateQQHajpertSpace WarprTotalHajpertSpace WarprTotal22003232■ Summary int^ (at Freme 0)■ Summary int^ (at Freme 0)ObjectsObjectsTotuttiSВохОЗ 0oxO4Cone02Tau$04 TosusOG T orudJ? Tau$08 ГонлОЭTotuttiSВохОЗ 0oxO4Cone02Tau$04 TosusOG T orudJ? Tau$08 ГонлОЭSave to Fie..Save to Fie..ПЕНПЕНYesYesYetYes Yet Yes Yes Yet YesYetYes Yet Yes Yes Yet YesVertic*. 261583Vertic*. 261583Facts' 517044Facts' 517044PMicat 363,0M/383,5M^tuat Б25.5М? 922,1 MPMicat 363,0M/383,5M^tuat Б25.5М? 922,1 M- Rendering—■Last Frame Time- 000:00 test Animation Теле: Q.O&OO LeUYkHo Рой Time 60000- Rendering—■Last Frame Time- 000:00 test Animation Теле: Q.O&OO LeUYkHo Рой Time 600001>pe1>peVerttVerttCast ReceiveShadows ShadowsCast ReceiveShadows ShadowsMoton BitsMoton BitsHiddenHiddenGenerateCausticsGenerateCausticsReceive GenerateCaustics GloWHuniReceive GenerateCaustics GloWHuniВокBo* ConeВокBo* Cone29956564822992992992992992995656482299299299299299594108108960594594594594534594108108960594594594594534Ye* Yes Yes Yes Yes Yes Yes YesYe* Yes Yes Yes Yes Yes Yes YesVeeYesYesVeeYesYesYetYetYe=YesYesYetYetYe=YesYesNo No No No No No No No NoNo No No No No No No No NoYes Yes Yes No No No ЙоYes Yes Yes No No No ЙоNoNoNo No No No No No No No NoNo No No No No No No No NoNo No No No No No No No NoNo No No No No No No No NoYesYesYetYeiYesYetYeiYesYetYetYesYetYetYesPlug-In Into..Plug-In Into..Cwt) J | QffTljCwt) J | QffTlj
Stimnidry hila (at Frame 0)
Stimnidry hila (at Frame 0)
Scene Tot ah
Scene Tot ah
- MeshToteh
- MeshToteh
Memory Utaje — —
Memory Utaje — —
Objects
Shopes
Light*
Objects
Shopes
Light*
30
30
0
0
0
0
C^merate
C^merate
Q
Q
Hajpert
Space Warpr
Total
Hajpert
Space Warpr
Total
2
2
0
0
32
32
■ Summary int^ (at Freme 0)
■ Summary int^ (at Freme 0)
Objects
Objects
TotuttiS
ВохОЗ 0oxO4
Cone02
Tau$04 TosusOG T orudJ? Tau$08 ГонлОЭ
TotuttiS
ВохОЗ 0oxO4
Cone02
Tau$04 TosusOG T orudJ? Tau$08 ГонлОЭ
Save to Fie..
Save to Fie..
ПЕН
ПЕН
Yes
Yes
Yet
Yes Yet Yes Yes Yet Yes
Yet
Yes Yet Yes Yes Yet Yes
Vertic*. 261583
Vertic*. 261583
Facts' 517044
Facts' 517044
PMicat 363,0M/383,5M
^tuat Б25.5М? 922,1 M
PMicat 363,0M/383,5M
^tuat Б25.5М? 922,1 M
- Rendering—■
Last Frame Time- 000:00 test Animation Теле: Q.O&OO LeUYkHo Рой Time 60000
- Rendering—■
Last Frame Time- 000:00 test Animation Теле: Q.O&OO LeUYkHo Рой Time 60000
1>pe
1>pe
Vertt
Vertt
Cast Receive
Shadows Shadows
Cast Receive
Shadows Shadows
Moton Bits
Moton Bits
Hidden
Hidden
Generate
Caustics
Generate
Caustics
Receive Generate
Caustics GloWHuni
Receive Generate
Caustics GloWHuni
Вок
Bo* Cone
Вок
Bo* Cone
299
56
56
482
299
299
299
299
299
299
56
56
482
299
299
299
299
299
594
108
108
960
594
594
594
594
534
594
108
108
960
594
594
594
594
534
Ye* Yes Yes Yes Yes Yes Yes Yes
Ye* Yes Yes Yes Yes Yes Yes Yes
Vee
Yes
Yes
Vee
Yes
Yes
Yet
Yet
Ye=
Yes
Yes
Yet
Yet
Ye=
Yes
Yes
No No No No No No No No No
No No No No No No No No No
Yes Yes Yes No No No Йо
Yes Yes Yes No No No Йо
No
No
No No No No No No No No No
No No No No No No No No No
No No No No No No No No No
No No No No No No No No No
Yes
Yes
Yet
Yei
Yes
Yet
Yei
Yes
Yet
Yet
Yes
Yet
Yet
Yes
Plug-In Into..
Plug-In Into..
Cwt) J | QffTlj
Cwt) J | QffTlj
Рис. 2.7. Окно Summary Info (Общая информация)
При помощи команды File Link Manager (Менеджер связей файлов) вы можете связать с 3ds Мах файл, созданный в программе AutoCAD или Autodesk Architectural Desktop. Эта возможность во многих случаях является гораздо более удобной, чем простой импорт данных, так как в этом случае вы можете работать с файлом в его «родном» формате и сохранять в нем внесенные изменения.
Команда Asset Tracking (Учет версий) открывает окно для работы с Autodesk Vault - средой управления данными внутри рабочих групп. Autodesk Vault обеспечивает синхронизацию между всеми рабочими станциями. Художники, технические директоры и специалисты в области визуальных эффектов могут открывать, просматривать и изменять файлы, над которыми работают другие участники проекта. Гибкие настройки Autodesk Vault позволяют определить для каждого сотрудника права чтения и изменения файлов. Программа может автоматически вести учет всех создаваемых версий файлов. Для использования команды Asset Tracking (Учет версий) необходимо дополнительно установить сервер Autodesk Vault.
Edit (Правка)
В этом меню находятся команды, которые используются для редактирования объектов трехмерной сцены. Используя команды меню Edit (Правка), вы сможете отменять предыдущее действие (Undo (Откат)) и возвращаться к произведенным
Элементы интерфейса 3ds Max 6 35 изменениям (Redo (Возврат)). Команду Hold (Удержать) можно использовать в тех случаях, когда вы собираетесь выполнить в 3ds Мах операцию, которая сделает невозможным возврат к предыдущим параметрам сцены. Это может быть, например, преобразование объекта в редактируемую поверхность. В этом случае, чтобы застраховаться от возможной неудачи, вы можете сохранить текущее состояние сцены. При использовании команды Hold (Удержать) все сведения о сцене сохраняются во временном буфере и могут быть восстановлены при помощи команды Fetch (Извлечь).
Меню Edit (Правка) содержит некоторые команды, которые касаются выделения объектов сцены. Так, вы можете использовать команду Select All (Выделить все) для выделения всех объектов сцены, Select None (Снять выделение) — для снятия выделения, Select Invert (Инвертировать выделение) — для выделения объектов, которые до выполнения команды были невыделенными, и одновременного снятия выделения с объектов, которые были выделены.
Команда Select By (Выделить по) открывает подменю с расширенными командами выделения. Вы можете выделять объекты следующим образом; Color (По цвету). Name (По имени) (рис. 2.8), а также использовать различные режимы выделения в окне проекции (о них будет рассказано в гл. 3). Возможность выделить объекты таким образом особенно важна, когда сцена содержит большое количество объектов.
Рис. 2.8. Окно Select Objects (Выбор объектов), которое открывается при выполнении команды Select By > Name (Выделить ► По имени)
Команда Clone (Клонирование) предназначена для создания копий объектов. Подробнее о ней будет рассказано в гл. 3.
Команда Edit Named Selection Sets (Редактирование наборов выделенных объектов) позволяет создавать наборы объектов для более удобного управления ими.
При помощи команды Object Properties (Свойства объекта) можно просмотреть свойства выделенного объекта (рис. 2.9). В окне Object Properties (Свойства объекта) отображаются координаты объекта, наличие материала, параметры поведения при визуализации и пр.
Рис. 2.9. Окно Object Properties (Свойства объекта)
Tools (Инструменты)
Команды меню Tools (Инструменты) позволяют управлять количеством и положением объектов, а также выполнять множество разнообразных действий с объектами.
Команда Align (Выравнивание) служит для определения положения объектов относительно друг друга, Array (Массив) — для создания массива объектов на основе имеющихся, Rename objects (Переименовать объекты) — для переименования объектов в автоматическом режиме. Переименование объектов происходит по заданной маске: указывается наличие знаков перед именем объектов и после него, количество знаков текущего имени, которые нужно удалить в конце и в начале слова (рис. 2.10).
Рис. 2.10. Окно Rename Objects (Переименовать объекты)
Используя команду Mirror (Зеркало), можно зеркально отобразить выделенные объекты сцены. Команда Clone and Align (Клонирование и выравнивание) позволяет одновременно клонировать объект и выровнять его по заданному типу.
Команда Align Camera (Выравнивание камеры) предназначена для выравнивания положения камеры по направлению к нормали на выбранной поверхности. Направление нормали обозначается в окне проекции небольшой синей стрелкой, расположенной в области наведения указателя на объект, после щелчка на нем.
Команда Align to View (Выровнять относительно вида) позволяет выровнять положение локальных координат объекта относительно текущего окна проекции.
Если в редактируемой трехмерной сцене расположено большое количество объектов и требуется отредактировать форму одного из них, то сделать это часто бывает удобно в режиме Isolate Selection (Отделить выделение). После включения этого режима на экране остается только тот объект, который был выделен.
С помощью команды Transform Type-In (Параметры преобразования) можно вызвать одноименное окно, в котором задаются точные координаты ориентации объекта в трехмерном пространстве (рис. 2.11). Управлять положением объекта в пространстве и pro масштабом можно также, используя команды Move (Перемещение), Rotate (Вращение) и Scale (Масштабирование) контекстного меню, однако их использование не всегда позволяет добиться желаемой точности.
Рис. 2.11. Окно Transform Туре-!п (Параметры преобразования)
Команда Selection Floater (Всплывающее окно выбора объектов) вызывает одноименное окно, которое содержит список объектов, используемых в сцене. С его помощью вы можете быстро выделять объекты в сцене. Используя переключатель Sort (Сортировать), список объектов можно упорядочивать по разным критериям: Alphabetical (По алфавиту), 8у Туре (По типу), By Color (По цвету) и By Size (По размеру). В отличие от окна, появляющегося при выполнении одной из команд выделения, Selection Floater (Всплывающее окно выбора объектов) не закрывается после того, как объект выбран в списке.
В процессе работы над трехмерной сценой, особенно в тех случаях, когда вы работаете с частицами или объектами, которые динамически изменяют свою форму (например, с тканью, созданной с помощью модуля Cloth или reactor), бывает необходимо зафиксировать положение одного или нескольких объектов и сделать из них трехмерный слепок, неанимированную копию. В этом случае можно воспользоваться командой Snapshot (Снимок). В одноименном окне (рис. 2.12) можно выбрать вариант создания снимка: Single (Одноразовый) или Range (Многократный). Во втором случае нужно указать количество копий создаваемых объектов, а также первый (From (От)) и последний (То (До)) кадр анимации, между которыми будут создаваться снимки.
Рис. 2.12. Окно Snapshot (Снимок)
Команда Place Highlight (Установить подсветку) дает возможность подсветить объект с указанной стороны. Чтобы определить положение источника света относительно объекта, необходимо, удерживая нажатой левую кнопку, определить положение точки на объекте при помощи указателя мыши. В этой точке свет будет падать на объект по нормали к поверхности.
Команда Grab Viewport (Захват окна проекции) позволяет делать копии экрана активного окна проекции, который затем можно сохранить в растровый файл.
Group (Группировать)
Меню Group (Группировать) содержит настройки группировки объектов. О возможностях группировки, как и о других действиях, производимых с объектами, мы поговорим подробнее в следующей главе.
С помощью команд меню Group (Группировать) можно сгруппировать выделенные объекты (Group (Группировка)), разгруппировать их (Ungroup (Разгруппировка)), присоединить к группе дополнительный элемент (Attach (Присоединить)) или же исключить отдельный объект из ее состава (Detach (Отделить)),
Views (Вид)
Команды меню Views (Вид) позволяют управлять отображением сцены в окнах проекций. С их помощью можно сохранить текущий вид, а также вернуться к предыдущему.
Команда Undo View Change (Отмена изменения вида) служит для возврата к предыдущему виду в окне проекции. Ее удобно использовать, если положение вида в окне проекции было изменено случайно.
При помощи команды Viewport Background (Фон окна проекции) можно установить в окне проекции фоновое изображение. Это удобно, например, когда требуется создать модель по эскизу.
При помощи команды Expert Mode (Режим эксперта) можно переключиться в режим отображения, при котором будут скрыты панель инструментов, командная панель и другие элементы интерфейса. В этом режиме практически все пространство экрана будет отдано окнам проекций (рис. 2.13). Для работы в таком режиме необходимо знать сочетания клавиш, используемые в 3ds Мах, так как именно с их помощью и придется выполнять практически все операции.
Рис. 2.13. Вид окна 3ds Мах в режиме Expert Mode (Режим эксперта)
Создавая трехмерную сцену, 3D-аниматор может выбрать удачный ракурс окна проекции, который желательно получить в объективе виртуальной камеры. Для этого используется команда Create Camera From View (Создать камеру из вида). В результате выполнения этой команды камера создается автоматически, и пользователю не приходится создавать ее в сцене вручную.
Create (Создание)
Команды меню Create (Создание) служат для создания объектов разных типов — Standard Primitives (Простые примитивы), Extended Primitives (Сложные примитивы), AEG Objects (Объекты для АИК) (дополнительные объекты для архитектурных, инженерных и конструкторских работ), Compound (Составные объекты), Particles (Частицы), Shapes (Трехмерные кривые), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты), SpaceWarps (Объемные деформации) и т. д. С этими и другими типами объектов вы познакомитесь в других главах книги.
Modifiers (Модификаторы)
Меню Modifiers (Модификаторы) позволяет назначить объектам сцены различные модификаторы — действия, изменяющие объект разными способами. В большинстве случаев для применения модификаторов используется вкладка Modify (Изменение) командной панели (см. ниже), однако использование команд меню Modifiers (Модификаторы) имеет свои преимущества: все доступные модификаторы здесь разделены на группы, что позволяет подобрать необходимый инструмент не по его названию (как в списке модификаторов на командной панели), а по производимому им действию. Так, доступны группы модификаторов Mesh Editing (Редактирование оболочки), Free Form Deformers (Модификаторы свободных деформаций), Parametric Deformers (Параметрические модификаторы) и пр.
Character (Персонаж)
Команды этого меню позволяют создавать персонажные сборки — группы объектов, связанные между собой. Команда Bone Tools (Инструменты для работы с костями) позволяет получить доступ к инструментам редактирования систем костей, которые используются в 3ds Мах для создания трехмерных персонажей.
Reactor
Это меню является аналогом одноименной панели инструментов, о которой шла речь выше. Меню reactor содержит команды создания вспомогательных объектов модуля reactor. Это объекты Wind (Ветер), Fracture (Разрушение) и др. При помощи команд данного меню можно также создать анимацию с использованием модуля reactor. Работа с модулем reactor, предназначенным для моделирования динамики, подробно рассмотрена в гл. 10,
Animation (Анимация)
В меню Animation (Анимация) есть команды для управления анимацией в проекте.
С помошыо команд Parameter Editor (Редактор параметров) и Parameter Collector (Коллектор параметров) можно создавать собственные элементы управления и добавлять дополнительные параметры для объектов.
Команды подменю Wire Parameters (Связать параметры) позволяет связать один или несколько параметров объектов таким образом, что при изменении параметра одного объекта автоматически будет изменяться параметр другого. Например, при изменении радиуса сферы будет увеличиваться высота цилиндра.
В сложных анимационных сценах, которые содержат большое количество моделей, источников света и т. д., иногда бывает удобно просматривать созданную анимацию нс в окне проекции, а в окне Проигрывателя Windows Media. Для создания такой анимации используется команда Make Preview (Предварительный просмотр). При создании предварительного просмотра анимации в окне Make Preview (Предварительный просмотр) (рис. 2.14) можно указать, какие типы объектов будут отображаться на просчитанном видео и как они будут представлены: Smooth + Highlights (Сглаженный), Wireframe (Сетчатая оболочка), Bounding Box (Рамка редактирования) и др. В окне Make Preview (Предварительный просмотр) также можно указать временной интервал и разрешение изображения. Последняя настройка устанавливается в процентах от величины разрешения, заданного в настройках визуализации. В качестве алгоритма сжатия выходного видео можно использовать один из кодеков, установленных в системе.
Рис. 2.14. Окно Make Preview (Предварительный просмотр)
Для просмотра созданной ранее анимации используется команда View Preview (Просмотреть файл предварительного просмотра). Для переименования видеофайла можно использовать команду Rename Preview (Переименовать файл предварительного просмотра).
Graph Editors (Графические редакторы)
При помощи команд меню Graph Editors (Графические редакторы) можно вызвать окно Track View (Просмотр путей). Оно позволяет осуществлять общее управление сценой, отображает параметры всех объектов, позволяет создавать заметки относительно сцены и т. д.
При выборе команды New Schematic View (Создать схематическое представление) появляется окно, с помощью которого можно проследить иерархию связей между объектами сцены 3ds Мах (рис. 2.15). Чаще всего эта функция используется при создании персонажной анимации.
Рис. 2.15. Окно Schematic View 1 (Схематическое представление 1)
Команда Particle View (Представление частиц) открывает одноименное окно, которое позволяет работать с встроен 11 ы м в 3ds Мах модулем для создания систем частиц Particle Flow. Подробнее о нем написано в гл. 9.
При помощи команды Motion Mixer (Смешивание движения) можно получить доступ к одноименному редактору, предназначенному для работы с анимацией персонажей. Motion Mixer (Смешивание движения) — это очень удобный инструмент, который позволяет задать каждой части тела свое движение и сохранить это в виде единого проекта.
Rendering (Визуализация)
При помощи этого меню можно получить доступ к настройкам визуализации (команда Render (Визуализировать)), создания атмосферных эффектов (Environment (Окружение)) и эффектов постобработки (Effects (Эффекты)), к редактору материалов (Material Editor (Редактор материалов)) и окну выбора материалов и карт (Material/Map Browser (Окно выбора материалов и карт)). При помощи команд этого
меню можно также вызвать окно Video Post (Постобработка), предназначенное для работы с одноименным модулем.
При помощи команды Show Last Rendering (Отобразить последнюю визуализацию) можно просмотреть последнюю визуализацию, выполненную в программе.
Команда Print Size Wizard (Мастер настройки печати) предназначена для тех, кто использует 3ds Мах для полиграфического дизайна (рис. 2.16). При ее выполнении запускается мастер, который помогает определить разрешение выходного файла (Image Width (Ширина изображения) и Image Height (Высота изображения)), задать стандартные форматы бумаги, на которой будет происходить печать (Paper Width (Ширина бумаги) и Paper Height (Высота бумаги)), установить количество точек на дюйм (DPI).
Рис. 2.16. Окно Print Size Wizard (Мастер настройки печати}
Поскольку создание трехмерной графики — процесс очень трудоемкий и требует большого количества системных ресурсов, ЗВ-аниматоры часто используют всевозможные приемы, чтобы добиться хорошего результата с меньшими затратами времени. Существует огромное множество таких ухищрений. Самое простое —■ моделировать только ту часть объекта, которая видна зрителю.
Customize (Настройка)
При помощи команд этого меню вы можете получить доступ к разнообразным параметрам настройки 3ds Мах. Используя команду Customize User Interface (Настроить пользовательский интерфейс), вы можете установить сочетания клавиш для выполнения разных операций, настроить цветовую палитру, используемую в 3ds Мах, добавить новые пункты в меню и инструменты на панели, удалить ненужные команды (рис. 2.17).
При помощи меню Customize (Настройка) вы также можете управлять подключаемыми к 3ds Мах модулями (команда Plug-in Manager (Менеджер подключаемых модулей)), редактировать заданные по умолчанию пути к сценам, материалам, изображениям, шрифтам (команда Configure Paths (Конфигурация путей)).
Рис. 2.17. Окно Customize User Interface (Настроить пользовательский интерфейс)
Используя команду Viewport Configuration (Настройка окон проекций), вы можете изменить внешний вид окон проекций, выбрать их положение (рис. 2.18).
Рис. 2.18. Окно Viewport Configuration (Настройка окон проекций)
Команда Preferences (Параметры) предоставляет доступ к уже знакомому вам окну (см. рис. 2.5), в котором можно задать общие параметры программы, например количество запоминаемых шагов возврата, которые позволят вернуться к предыдущим настройкам сцены, необходимость создания резервных копий во время работы и пр.
MAXScript
Пользователи 3ds Мах имеют возможность работать со специальным языком сценариев — MAXScript. С его помощью можно создавать свои сценарии и загружать их. Сценарии нужны для упрощения выполнения сложных заданий и автоматизации работы в 3ds Мах. Меню MAXScript дает возможность выполнять все основные операции со сценариями — создавать их (команда New Script (Новый сценарий)), открывать (Open Script (Открыть сценарий)), запускать (Run Script (Запустить сценарий)).
Help (Справка)
Это меню содержит команды, предназначенные для получения справочной информации, к которой относятся файл справки (User Reference (Справочник пользователя)), описание нововведений последней версии (New Features Guide (Справочник новых возможностей)), файлы примеров (Tutorials (Уроки)). Данное меню также содержит команду HotKey Мар (Карта ^горячих» клавиш), которая открывает окно с перечислением основных сочетаний клавиш, используемых в 3ds Мах. Перемешал указатель мыши но схематически отображенной клавиатуре в нижней части окна, вы сможете увидеть все используемые в программе сочетания клавиш и узнать их предназначение (рис. 2.19).
Рис. 2.19. Окно Hotkey Мар (Карта «горячих» клавиш)
Командная панель
Командная панель содержит шесть вкладок: Create (Создание), Modify (Изменение), Hierarchy (Иерархия), Motion (Движение), Display (Отображение) и Utilities
(Утилиты). Наиболее часто используются вкладки Create (Создание) и Modify (Изменение).
Вкладка Create (Создание) служит для создания основных (примитивы, кривые и др.) и вспомогательных (источники света, виртуальные камеры, объемные деформации и др.) объектов сцепы. Эта вкладка содержит семь категорий, каждая из которых отвечает за создание объектов определенного типа.
Geometry (Геометрия) — позволяет создавать простые и усложненные примитивы, составные объекты, системы частиц, объекты для архитектурных, инженерных и конструкторских работ, окна, двери и пр. Создание объектов на основе примитивов будет подробно рассмотрено в следующей главе.
Shapes (Формы) — дает возможность создавать трехмерные кривые разной формы: линии, прямоугольники, круги, трехмерный текст и пр. Моделирование на основе трехмерных кривых рассмотрено в гл. 4.
Lights (Источники света) — позволяет добавлять в сцену направленные и всенаправленные источники света. Подробнее об освещении в трехмерных сценах читайте в гл. 13.
Cameras (Камеры) — дает возможность добавлять в сцену виртуальные камеры. При помощи камер можно снимать сцену. Они являются очень важным объектом, если сцену планируется анимировать. Подробнее о камерах читайте в гл. 13.
Helpers (Вспомогательные объекты) — позволяет добавлять в сцену вспомогательные объекты. Такие объекты не видны при визуализации сцены, но они помогают добиться того, чтобы трехмерные объекты вели себя нужным образом. Например, габаритный контейнер Gizmo (Гиамо) может ограничить пространство распространения эффекта огня. Подробнее о вспомогательных объектах читайте в гл. 3.
Space Warps (Объемные деформации) — дает возможность добавлять в сцену объемные деформации. Подробнее о них читайте в гл. 3.
■ Systems (Дополнительные инструменты) — позволяет добавлять в сцену системы костей, скелет и другие дополнительные объекты.
Вкладка Modify (Изменение) позволяет изменять параметры любого выделенного объекта сцены. С ее помощью выделенному объекту можно также назначить модификаторы, настройки которых изменяются непосредственно на вкладке Modify (Изменение).
ПРИМЕЧАНИЕ
Работа с модификаторами подробно рассмотрена в гл. 6.
В нижней части окна 3ds Мах 8 расположена шкала анимации, под ней — координаты преобразований, строка состояния, а также кнопки управления анимацией и положением объектов в окнах проекций (рис. 2.20), При помощи кнопки Open
Mini Curve Editor (Открыть мини-редактор кривых), которая находится слева от шкалы анимации, можно вызвать окно Trackbar (Панель путей). Чтобы узнать предназначение кнопки на любой панели инструментов, достаточно подвести к ней указатель мыши. При этом возле кнопки появится всплывающая подсказка, содержимое которой также отобразится в строке состояния.
Рис. 2.20. Нижняя часть окна 3ds Мах 8Рис. 2.20. Нижняя часть окна 3ds Мах 8ЗйМ V. ... *У*Я.ЗйМ V. ... *У*Я.Е- «1Ч@Д» :.»1>:«.>^Е- «1Ч@Д» :.»1>:«.>^
Рис. 2.20. Нижняя часть окна 3ds Мах 8
Рис. 2.20. Нижняя часть окна 3ds Мах 8
ЗйМ V. ... *У*Я.
ЗйМ V. ... *У*Я.
Е- «1Ч@Д» :.»1>:«.>^
Е- «1Ч@Д» :.»1>:«.>^
СОВЕТ
Если вы случайно измените начальные настройки 3ds Мах 8 (например, нечаянно уберете командную панель), а затем не будете знать, как вернуть программе первоначальный вид, удалите файл 3dsmax.ini из папки, в которую установлена 3ds Мах 8. После этого следующий запуск программы будет таким же, как первый запуск после установки: все элементы меню вернутся в первоначальное положение, и вам нужно будет снова указать графический драйвер для работы с программой.
В процессе работы можно изменять отображение объектов в окне проекции, положение объектов в трехмерном пространстве, выравнивать их относительно друг друга вручную или при помощи точного указания координат. Для управления отображением объектов в окне проекции используются кнопки, которые находятся в правом нижнем углу окна программы (рис. 2.21).
Ч @й.№. > е ^. щ
Рис. 2.21. Кнопки управления положением вида в окнах проекций
Рассмотрим эти кнопки.
Zoom (Масштаб) — приближение/удаление сцены.
СОВЕТ
Для приближения/удаления сцены влекущем окне проекции можно также использовать колесико мыши. Щелкните на нужном окне проекции и повращайте колесико. Движение по направлению от вас приблизит сцену, к вам — отдалит. В 3ds Мах 8 появилась возможность настроить чувствительность колесика мыши. Для его настройки выполните команду Customize ► Preferences (Настройка к Параметры), перейдите на вкладку Viewports (Окна проекций) и подберите значение параметра Wheel Zoom Increment (Увеличение масштаба при прокрутке колесиком мыши).
Zoom All (Масштаб всего) — приближение/удаление сразу всех объектов во всех окнах проекций.
Zoom Extents/Zoom Extents Selected (Масштаб границ/Масштаб выделенного) — приближение/удаление выбранного объекта/всех объектов в пределах видимости всех окон проекций.
Zoom Extents АЦ/Zoom Extents All Selected (Масштаб выбранного объекта/Мас- штаб всех объектов) — приближение/удаление выбранного объекта/всех объектов сцены в пределах видимости текущего окна проекции. Эту кнопку удобно использовать, когда требуется посмотреть на сцену с такой точки, чтобы в окне проекций отображались все объекты.
Field-of-View/Zoom Region (Видовое поле/Масштаб области) — изменение всего поля зрения/выделенного при помощи мыши.
Pan/Walk Through (Прокрутка/Перейти) — перемещение изображения на экране вручную/навигация камеры и перспективы, аналогична виду от первого лица в видеоиграх.
Arc Rotate/Arc Rotate Selected/Arc Rotate SubObject (Вращение по дуге/Вращение выбранного по дуге/Вращение вокруг подобъекта по дуге) — вращение сцены вокруг центра поля зрения/вокруг выделенных объектов/вокруг подобъекта.
Maximize Viewport Toggle (Увеличение окна проекции до размеров экрана) — увеличение активного окна проекции до размеров экрана.
СОВЕТ
Чтобы работать в 3ds Мах 8 наиболее эффективно, обязательно нужно уметь ориентироваться в окнах проекций. Часто начинающие пользователи теряют из вида объекты, направляют камеры не в ту сторону и т. д. Если вы попали в такую ситуацию, не отчаивайтесь: в 3ds Мах 8 можно вернуть прежний вид в окне проекции. Для этого необходимо щелкнуть правой кнопкой мыши на названии окна проекции в его левом верхнем углу и в появившемся контекстном меню выбрать строку Undo View (Вернуть вид). Эта команда также очень удобна, если вы случайно задели рукой мышь и нарушили вид в окне проекции.
В 3ds Мах 8 есть возможность изменения размеров диалоговых окон: открытия, сохранения трехмерных сцен, выбора объектов сцены и т. д. Это очень удобно, если нужно держать в поле зрения большое количество файлов, элементов сцены и др.
Глава 3
Создание объектов и работа с ними
Типы объектов
Создание объектов
Выделение объектов
Настройка объектов
Простейшие операции с объектами
Создание интерьера кухни с помощью примитивов 3ds Мах
Начиная изучать 3ds Мах 8, прежде всего нужно освоить основные приемы работы с объектами сцены: создание простейших примитивов, выделение объектов, выравнивание их относительно друг друга, изменение их размещения и положения отображения в окне проекции, масштабирование, перемещение, вращение и пр. Эти простейшие операции служат основой последующей деятельности в 3ds Мах 8.
Очень многие объекты в реальной жизни представляют собой комбинации простейших трехмерных примитивов. Так, например, стол состоит из параллелепипедов, настольная лампа — из цилиндров и полусферы, а автомобильная покрышка — это не что иное, как тор. В трехмерном виртуальном пространстве практически все сцены в большей или меньшей степени используют имеющиеся в программе примитивы. Стандартные объекты 3ds Мах 8 представляют собой «строительный материала, с помощью которого легко создавать модели.
Типы объектов
Объекты в 3ds Мах 8 можно разделить на несколько категорий:
Geometry (Геометрия);
Shapes (Формы);
Lights (Источники света);
Cameras (Камеры);
Helpers (Вспомогательные объекты);
S р а се Wa гр s (О бъемны е де формации);
Systems (Дополнительные инструменты),
ПРИМЕЧАНИЕ
8 данной главе не будут рассмотрены категории объектов Shapes (Формы), Lights (Источники света) и Cameras (Камеры). Подробнее об объектах категории Shapes (Формы) см. в гл. 4, а об объектах Lights (Источники света) и Cameras (Камеры) — в гл. 13.
Объекты категории Geometry (Геометрия)
Первая группа объектов, с которой обычно знакомятся начинающие разработчики трехмерной анимации, — это Geometry (Геометрия). Объекты этой группы представляют собой простейшие трехмерные геометрические фигуры: Box (Параллелепипед), Sphere (Сфера), Cylinder (Цилиндр), Torus (Top), Cone (Конус), Plane (Плоскость) и др. Основные две группы — это Standard Primitives (Простые примитивы) и Extended Primitives (Сложные примитивы). К группе Extended Primitives (Сложные примитивы) относятся, например, Hedra (Многогранник), Torus Knot (Тороидальный узел), ChamferCyl (Цилиндр с фаской), Hose (Шланг) и т. д.
Очевидно, создатели 3ds Мах обладают некоторой долей юмора, поскольку в число Standard Primitives (Простые примитивы) они включили не совсем простой
объект — Teapot (Чайник) (рис. 3.1). Этот примитив любят многие разработчики трехмерной графики и часто используют для различных целей. Например, с его помощью очень удобно изучать действие различных модификаторов, так как Teapot (Чайник) имеет неправильную форму и любые деформации очень хорошо на нем видны. Объект Teapot (Чайник) можно также применять для того, чтобы посмотреть, как будет выглядеть на объекте созданный материал.
Рис. 3.1. Объект Teapot (Чайник) а окнах проекций
В 3ds Мах имеются группы объектов, предназначенных специально для архитектурной визуализации. Это Stairs (Лестницы), АЕС Extended (Дополнительные объекты для АИК), Doors (Двери). Windows (Окна).
Группа объектов Doors (Двери) (рис. 3.2) позволяет создать три типа дверей — Pivot (Закрепленные на оси), Bi Fold (Складывающиеся) и Sliding (Раздвигающиеся). Первые напоминают обычные входные двери, вторые — двери автобуса, а третьи — двери купе. Можно создавать одинарные или парные (при помощи параметра Double Doors (Двойные дверцы)) двери, регулировать размер дверной коробки (параметры Width (Ширина) и Depth (Глубина) в области Frame (Рама)), определять параметры самих объектов — Height (Высота), Width (Ширина), Depth (Глубина) — и даже толщину стекол — Glass Thickness (Толщина стекла). Параметр Open (Открытие) позволяет указать, насколько двери открыты.
Рис. 3.2. Объекты Doors (Двери) в окне проекции
Группа объектов Windows (Окна) (рис, 3.3) позволяет добавлять в сцену шесть типов окон. Их основное отличие — в способе открытия:
Рис. 3.3. Объекты Windows (Окна) в окне проекции
Awning (Навесные) — поднимаются вверх;
Fixed (Закрепленные) — не открываются;
Projected (Проектируемые) — состоят из нескольких частей, открывающихся в разные стороны;
Casement (Створчатые) — открываются подобно двери, самый распространенный тип окна;
Pivoted (Закрепленные на оси) — открываются таким образом, что оконная рама вращается вокруг своей горизонтальной оси;
Sliding (Раздвигающиеся) — отъезжают в сторону, подобно раздвижным стеклам па книжной полке.
Следующая группа объектов — Stairs (Лестницы) — также является необходимым инструментом для проектирования архитектурных сооружений (рис. 3.4). В 3ds Мах 8 можно создавать четыре типа лестниц: Нуре (L-образная), Straight (Прямая), Spiral (Винтовая) и UType (U-образная).
Рис. 3.4. Объекты Stairs (Лестницы) в окне проекции
Объекты Stairs (Лестницы) могут быть Open (Открытые), Closed (Закрытые) и Box (С основанием). Отдельно регулируется наличие перил с правой и левой сторон при помощи параметра Handrail (Перила), расположение относительно ступенек — Rail Path (Путь перил) и их высота — Height (Высота перил) в свитке Railings (Перила). В области Steps (Ступени) свитка Parameters (Параметры) задается высота
ступеней — Thickness (Толщина) и их ширина — Depth (Глубина). Для спиральной лестницы дополнительно указывается Radius (Радиус), наличие опоры — Center Pole (Центральная опора) и направление — по часовой стрелке или против нее (положение переключателя CCW (Против часовой стрелки) и CW (По часовой стрелке) в области Layout (Расположение)).
В группу AEC Extended (Дополнительные объекты для АИ К) входят объекты Foliage (Растительность), Wall (Стена) и Railing (Ограждение). Объекты Railing (Ограда, перила) и Wall (Стена), как и описанные выше объекты Doors (Двери) и Windows (Окна), применяются в архитектурном моделировании.
Объект Foliage (Растительность) (рис. 3.5) служит для моделирования трехмерной растительности. Трехмерное моделирование флоры обычно сопряжено с большими трудностями. Например, чтобы созданное дерево выглядело реалистично, необходимо не только подобрать качественную текстуру, но и смоделировать сложную геометрическую модель. Таких моделей долгое время в стандартном инструментарии 3ds Мах не было. Для создания растительности использовались разнообразные дополнительные модули — ONYX ТreeStorm, TreeShop, Druid и др.
Рис. 3.5. Объекты Foliage (Растительность) в окне проекции
ПРИМЕЧАНИЕ
Дополнительные модули — это небольшие подключаемые к 3ds Мах приложения, которые расширяют ее возможности. Подробнее о дополнительных модулях читайте в гл. 15.
При помощи объекта Foliage (Растительность) можно создавать растительные объекты, которые загружаются из библиотеки Plant Library (Библиотека растений). Создаваемому объекту автоматически назначается свой материал. Чтобы деревья и кусты не были похожи один на другой, используется параметр Seed (Случайная выборка), который определяет случайное расположение веток и листьев объекта.
Еще один тип объектов, который доступен пользователям 3ds Мах 8 — BlobMesh (Блоб-поверхность). Он открывает возможность создания трехмерных тел при помощи метасфср. Этот объект расположен на командной панели в группе Compound Objects (Составные объекты). Работать с метасферами можно двумя способами. Первый заключается в том, что поверхность составляется из отдельных объектов. Второй состоит в том, что любой объект можно преобразовать в метаболический. При этом каждая вершина преобразованного объекта будет обладать свойствами метасферы. Объекты типа BlobMesh (Блоб-поверхность) удобно использовать вместе с модулем для работы с частицами Particle Flow (см. гл. 9).
ПРИМЕЧАНИЕ
Некоторые типы составных объектов будут рассмотрены далее в этой книге, так как для понимания их предназначения необходимы знания о способах моделирования объектов. Так, в гл. 7 вы найдете информацию об объекте Boolean (Булева операция).
В 3ds Мах 8 также можно создавать такой тип объектов, как частицы Particle Systems (Системы частиц). Частицы очень удобно использовать в сценах, в которых требуется смоделировать множество объектов одного типа, например снежинок, осколков от взрыва и т. д.
Объекты категории Helpers (Вспомогательные объекты)
В 3ds Мах присутствует группа объектов Helpers (Вспомогательные объекты). Объекты этого типа являются вспомогательными и не имеют геометрии, поэтому на финальном просчете их не видно. Объекты категории Helpers (Вспомогательные объекты) часто используются для настройки анимации, ориентирования объектов, определения расстояния между точками трехмерной сцены и т. д.
Объекты категории Helpers (Вспомогательные объекты) разделены на несколько групп в зависимости от своего предназначения.
Объекты группы Standard (Стандартные) выполняют функции ориентирования в виртуальном пространстве трехмерной сцены. Например, с помощью объекта Таре (Рулетка) вы можете быстро определить расстояние между двумя точками (рис. 3.6).
Объект Protractor (Угломер) напоминает рулетку, однако он изменяет не расстояние, а угол между линиями, соединяющими исходную точку и два объекта (рис. 3.7). Значение угла между образовавшимися прямыми будет отображаться в настройках объекта Protractor (Угломер) в поле Angle (Угол). Причем при перемещении этих объектов угол будет соответствующим образом изменяться.
| Tapedg
ЕЖ$5532|^^2^3
-Я ~ I " ^ В
|* / Рагот^ви ' I
Length j .и
Г Specify Length
" World Space Angies ——q
ТоХАхл Й 7.297
ToYAxia 27,2975
| ToZAsr 90
To^ Plane 0
Ty- YZPlacieL 27,2975
To2XPI«* 62.7025
Рис. 3.6. Настройки объекта Tape (Рулетка)
Рис. 3.7. Измерение угла при помощи объекта Protractor (Угломер)
Объекты категории Helpers (Вспомогательные объекты) имеют минимальное количество настроек, а у некоторых, как, например, у Dummy ([ Тустышка), их совсем нет. Этот объект представляет собой параллелепипед, который играет роль ориентира и может служить, например, для связки нескольких объектов при создании анимации.
На Dummy (Пустышка) похож вспомогательный объект Point (Точка), выполняющий те же функции. Поскольку этот объект не имеет геометрической формы, а соответственно и размеров, то, чтобы его можно было наблюдать в окне проекции, используется несколько вариантов схематического отображения. Point (Точка) может отображаться в виде трех перпендикулярных пересекающихся отрезков, расположенных вдоль осей локальной системы координат объекта (Cross ( Пересечение)), в виде трех направляющих осей (Axis Tripod (Три направляющие осп)), в виде маркера (Center Marker (Центральный маркер)) или в форме габаритного контейнера (Box (Габаритный контейнер)). В последнем случае этот объект будет напоминать по виду объект Dummy (Пустышка).
Еще один инструмент для ориентирования в трехмерном пространстве — объект Compass (Компас). Он может отображаться в окне как простая точка или в виде розы ветров (рис. 3.8). Этот объект поможет определить направление координатных осей глобальной системы координат пространства. Он очень удобен, если вы плохо ориентируетесь в трехмерном пространстве, например, из-за большого количества одинаковых объектов.
Рис. 3.8, Объект Compass (Компас) е окне проекции
Объекты группы Atmospheric Apparatus (Габаритный контейнер атмосферного эффекта) представляют собой габаритные контейнеры Gizmo (Гизмо).
В терминологии, используемой для работы с 3ds Мах 8, часто можно встретить понятие Gizmo (Габаритный контейнер Гизмо). Он Ограничивает геометрические размеры объекта и имеет вид квадратных скобок.
В данном случае контейнеры используются для ограничения пространства, в котором необходимо разместить тот или иной атмосферный эффект, например огонь. Габаритные контейнеры группы Atmospheric Apparatus (Габаритный контейнер атмосферного эффекта) могут быть трех типов, различающихся по форме: BoxGizmo (Параллелепипед Гизмо), CylGizmo (Цилиндр Гизмо) и SphereGizmo (Сфера Гизмо). Кроме настроек, определяющих геометрические размеры, для описания объектов используется параметр Seed (Выборка). Он влияет на случайное протекание эффекта в объеме габаритного контейнера, иными словами, при разных значениях параметра Seed (Выборка) картина атмосферного эффекта будет различаться.
Группа Camera Match (Соответствие камеры) представлена одним вспомогательным объектом CamPoint (Точка камеры), который предназначен для работы с утилитой Camera Match (Соответствие камеры). Данная утилита создана для работы с фоновыми изображениями и подбора положения камеры таким образом, чтобы оно соответствовало положению и направлению камеры, которое было при съемке фоновой картинки. Объект CamPoint (Точка камеры) помогает установить точки, по которым будет восстановлено положение камеры.
Вспомогательные объекты группы Manipulators (Манипуляторы), к которым относятся Cone Angle (Конический угол), Slider (Ползунок) и Plane Angle (Угол плоскости), помогают управлять другими объектами сцены, используя возможность 3ds Мах связывать параметры объектов.
СОВЕТ
Для связывания параметров объектов используется команда Wire Parameters (Связать параметры) контекстного меню.
Вспомогательные объекты группы Manipulators (Манипуляторы) помогают разработчику трехмерной анимации управлять объектами. Например, вспомогательный объект Slider (Ползунок) можно использовать для анимации мимики персонажа. Связав несколько подобных объектов с разными мускулами на лице трехмерного героя, можно изменять ползунки Slider (Ползунок) и тем самым изменять выражение лица персонажа. Объекты группы Manipulators (Манипуляторы) используются в основном для анимации.
Вспомогательные объекты группы reactor дублируют кнопки одноименной панели инструментов. Они служат для создания эффектов, связанных с динамикой в сценах. Подробнее модуль reactor будет рассмотрен в гл. 10.
Объекты категории Space Warps (Объемные деформации)
Один из инструментов 3ds Мах, который часто используют разработчики трехмерной графики, — объемная деформация (Space Warp). Ее часто используют при создании трехмерной анимации, а также в сценах с разнообразными эффектами частиц. Объемная деформация может воздействовать на объекты, изменяя их форму или наделяя новыми свойствами (например, может заставить объект двигаться под действием силы гравитации).
В окне проекции объемная деформация отображается в виде значков с рисунком, характерным для каждого ее типа. Для многих объемных деформаций этот значок обозначает центр ее воздействия на объект. На финальном изображен ин эти объекты, как и объекты категории Helpers (Вспомогательные объекты), не отображаются, так как выполняют вспомогательную функцию.
Чтобы увидеть действие объемной деформации на объект, необходимо связать созданную деформацию с ним. Для этого используется кнопка Bind to Space Warp (Связать с объемной деформацией) на основной панели инструментов. Чтобы привязать объемную деформацию к объекту, сделайте следующее.
Нажмите кнопку Bind to Space Warp (Связать с объемной деформацией).
Щелкните на объемной деформации.
Не отпуская кнопку мыши, переместите указатель мыши на объект.
В зависимости от типа воздействия на объект, объемные деформации условно разделяются на несколько групп.
Группа Forces (Силы)
Объемные деформации, которые относятся к группе Forces (Силы), воздействуют на объект или частицы определенной силой. Например, используя Vortex (Водоворот), можно изобразить водоворот с помощью частиц (рис. 3.9), а при помощи Path Follow (Следование вдоль) — направить поток частиц вдоль созданного сплайнового объекта (рис. 3.10).
Ни один из современных динамичных фильмов не обходится без эффектов взрыва. В большинстве случаев самые захватывающие и впечатляющие взрывы являются результатом работы специалистов по визуальным эффектам, а не настоящими взрывами, снятыми на камеру. Поскольку этот эффект сопровождается большим количеством разлетающихся мелких частиц, осколков и пр., для его имитации в трехмерной графике часто используются источники частиц. Объемная деформация РВотЬ (Взрыв частиц) предназначена для создания эффекта разлетающихся частиц в результате воздействия на них взрывной волны. Взрывная волна может обладать одним из трех видов симметрии:
Spherical (Сферическая) — воздействие на частицы исходит из одной точки;
Cylindrical (Цилиндрическая) — взрывная волна исходит от определенной оси во всех направлениях;
Planar (Плоская) — взрыв происходит в двух направлениях от плоскости.
Рис, 3.9. Использование объемной деформации Vortex (Водоворот) по отношению к потоку частиц
Рис. 3.10. Использование объемной деформации Path Follow (Следование вдоль) по отношению к потоку частиц
Во время сильного взрыва, например атомной бомбы, в эпицентре образуется дымовая завеса в форме гриба. Это объясняется тем, что скорость потоков взрывных частиц в верхних слоях ниже, чем внизу. Для моделирования такой сцены удобно применять объемную деформацию Drag (Торможение) (рис. 3.11). Она может воздействовать на поток частиц, замедляя их движение. При этом торможение частиц может происходить линейно (Linear Damping (Линейное торможение)), сферически (Spherical Damping (Сферическое торможение)) и цилиндрически (Cylindrical Damping (Цилиндрическое торможение)),
Рис. 3.11. Использование объемной деформации Drag (Торможение) по отношению к потоку частиц
Объемная деформация типа Displace (Смещение) может применяться как к источникам частиц, так и к обычным объектам. Воздействие этой объемной деформации искажает форму объекта пли потока частиц. Смещение точек пространства, на которые воздействует эта объемная деформация, определяется картой Displace (Смещение) или растровым изображением. При этом темные участки изображения будут смещаться относителыю светлых.
В отличие от одной мег того модификатора (см. гл. 6), объемная деформация Displace (Смещение) может воздействовать сразу на несколько объектов. Кроме этого, при перемещении объектов в трехмерном пространстве будет изменяться воздействие объемной деформации на них так, как если бы этот объект с назначенным модификатором Displace (Смещение) изменял положение габаритного контейнера Gizmo (Гизмо).
П РИМ ЕЧ АН И Е
Большинство объемных деформаций, схожих по своему действию с модификаторами, отличаются от последних только тем, что при изменении положения объекта центр воздействия на него остается неизменным. Если изменить положение объекта с назначенным ему модификатором, то положение габаритного контейнера Gizmo (Гизмо) изменится одновременно с объектом.
Используя объемные деформации группы Forces (Силы), объектам можно также придавать вращение (объемная деформация Motor (Мотор)), вызывать их движение вследствие силы ветра (объемная деформация Wind (Ветер)), оказывать на них давление (объемная деформация Push (Давление)) и назначать воздействия гравитации (объемная деформация Gravity (Гравитация)).
Группа Deflectors (Отражатели)
Реалистичность анимационных трехмерных сцен во многом зависит от того, насколько правильно с точки зрения зрителя в кадре двигаются объекты. Если анимация содержит сцепу, в которой мяч с некоторой высоты падает на землю, то очевидно, что после соударения этот объект подпрыгнет вверх. Точно так же при ударе одного бильярдного шара о другой один объект должен отскочить от другого.
По законам физики, движение объекта после соударения должно определяться формой поверхности, с которой произошло соударение. Сложные взаимодействия твердых тел в 3ds Мах просчитываются с помощью специального модуля reactor, однако в более простых случаях разработчикам трехмерной анимации выгоднее использовать упрощенную модель столкновения двух объектов. Например, при ударе мячика для игры в настольный теннис о поверхность стола неровностями стола можно пренебречь и предположить, что угол падения мячика на стол будет равен углу отражения. При этом использование объемных деформаций группы Deflectors (Отражатели) позволит вам указать направление отражения объектов или частиц.
Программа 3ds Мах содержит большое количество разных видов отражателей. Наиболее простым является Deflector (Отражатель). Он создает плоский отражатель, от которого будет отскакивать объект при столкновении (рис. 3.12). Такую объемную деформацию можно использовать, например, в приведенном выше примере с мячиком для настольного тенниса.
Во многих случаях удобно использовать тип отражателя UDeflector (Универсальный отражатель). Его отличие от объемной деформации Deflector (Отражатель) — возможность использования в качестве отражателя не только плоскости, но и любой другой геометрии объекта.
Отражатели дают возможность тонко управлять поведением потоков частиц и других объектов в сцене.
Рис. 3.12. Использование объемной деформации Deflector (Отражатель) по отношению к потоку частиц
Группа Geometric/Deformable (Геометрические/ деформируемые)
Объемные деформации FFD (Box) (FFD-контейнер (прямоугольный)) и FFD (Cyl) (FFD- контейнер (цилиндрический)), которые относятся к группе Geometric/Deformable (Геометрические/деформируемые), по своему действию аналогичны одноименным модификаторам свободных деформаций, a Wave (Волна), Displace (Смещение) и Ripple (Рябь) — соответствующим деформирующим модификаторам. Подробнее о них см. в гл. 6.
Еще одна объемная деформация, с помощью которой можно моделировать эффекты взрыва, — Bomb (Бомба). В результате использования этого инструмента оболочка исходного объекта разделяется на отдельные фрагменты, которые начинают движение под действием силы взрывной волны. В настройках этой деформации можно указать максимальный и минимальный размер отдельного фрагмента оболочки (область параметров Fragment Size (Размер фрагмента)). При этом самым маленьким образовавшимся фрагментом может быть грань объекта. Разлетающимся частям можно придавать вращение и направление движения осколков иод действием силы гравитации. Чтобы полученный эффект выглядел более реалистично, необходимо использовать находящийся в области General (Общие) параметр Chaos (Хаотичность), который может принимать значения от нуля (отсутствие хаотичности) до десяти (случайный разброс фрагментов). Если нужно, чтобы разлетающиеся в сцене части «взорванного» объекта по мере удаления от эпицентра взрыва замедляли свое движение, то установите флажок Falloff On (Спад) в области Explosion (Взрыв), Границы спада будут схематически отображаться в окне проекции (рис. 3.13).
Рис. 3.13. Использование объемной деформации Bomb (Бомба) по отношению к потоку частиц
Объемная деформация Conform (Согласование) выполняет те же функции, что и одноименный тип объектов в 3ds Мах, который находится в группе Compound Objects (Составные объекты). Используя ее, можно деформировать поверхность одного объекта оболочкой другого (рис. 3.14). Направление применения объемной деформации к искажаемому объекту в окне проекции показывается стрелкой на значке объемной деформации. Чтобы увидеть результат, необходимо связать объемную деформацию с той поверхностью, которую необходимо деформировать, а затем в настройках объемной деформации Conform (Согласование) с помощью кнопки в области Wrap to Object (Изменить форму по объекту) указать в сцене объект, который должен вызывать деформацию. При этом значок деформации Conform (Согласование) должен быть направлен от одного объекта к другому.
ВНИМАНИЕ
Использование объемной деформации Conform (Согласование) требует значительных системных ресурсов, поэтому будьте готовы к тому, что после того, как вы укажете деформируемый объект, компьютеру потребуется некоторое время на выполнение вычислений.
Рис. 3.14. Деформация параллелепипеда оболочкой чайника
ПРИМЕЧАНИЕ
Пример использования объемной деформации Conform (Согласование) см. а примере «Объемный текст на камне» в гл. 4.
Группа reactor
Группа reactor представлена объемной деформацией Water (Вода). Создать ее также можно, используя кнопку Create Water (Создать воду) на панели инструментов reactor. Подробнее модуль reactor будет рассмотрен в гл. 10, там же приведен пример использования объемной деформации Water (Вода).
Объекты категории Systems (Дополнительные инструменты)
Объекты категории Systems (Дополнительные инструменты) позволяют создавать системы дневного освещения, а также управлять персонажами. Объект Biped (Двуногий) применяется для работы с модулем Character Studio, предназначенным для создания персонажной анимации. Подробнее о нем см. в гл. 8.
В 3ds Мах предусмотрено два типа систем дневного освещения — Daylight (Дневное освещение) и Sunlight (Солнечное освещение). Они пригодятся, в первую очередь, при создании архитектурной визуализации, экстерьеров и интерьеров. Эти системы позволяют принимать при визуализации во внимание такие характеристики освещения, как географическое расположение объекта (страна и город), точную дату и время суток. Учитывая эти данные, программа использует схему освещения, соответствующую положению солнца в заданное время. Такие данные помогут определить, как лучше расположить дом по отношению к сторонам света, для того чтобы его освещение в разное время суток устраивало заказчика.
При планировке дома и прилегающих территорий очень важно также учитывать, куда будет падать тень от здания и других крупных объектов в разное время дня. Это позволит выбрать наиболее подходящее место, например, для посадки цветочной клумбы или для постройки беседки.
В связке с системами дневного освещения Daylight (Дневное освещение) и Sunlight (Солнечное освещение) используется объект Compass (Компас). При создании этих систем освещения объект Compass (Компас) создается автоматически. Отличие между Daylight (Дневное освещение) и Sunlight (Солнечное освещение) состоит в том, что в первом случае учитывается освещение с учетом света неба, а во втором — только солнца.
Создание объектов
Объекты в 3ds Мах 8 создаются при помощи команд пункта главного меню Create (Создание) или одноименной вкладки командной панели. Чаще используется второй способ, так как он является более удобным.
Чтобы создать объект, сделайте следующее.
Перейдите на вкладку Create (Создание) командной панели.
Выберите категорию, в которой находится нужный объект, для примитивов это категория Geometry (Геометрия).
Из раскрывающегося списка выберите группу, в которой находится нужный объект. Для простых примитивов — это группа Standard Primitives (Простые примитивы).
Нажмите кнопку с названием объекта.
Щелкните в любом месте окна проекции и, не отпуская кнопку, передвигайте указатель мыши до тех пор, пока не измените размер объекта до нужного.
СОВЕТ
Объекты можно создавать и путем ввода параметров объекта в свитке Keyboard Entry (Ввод с клавиатуры) (рис. 3.15). Для этого после нажатия кнопки с названием примитива перейдите в появившийся ниже свиток, введите параметры объекта, координаты точки расположения и нажмите кнопку Create (Создать).
Рис. 3.15. Свиток Keyboard Entry (Ввод с клавиатуры)
Объект в окне проекции может быть представлен по-разному: сглаженно — режим просмотра Smooth + Highlights (Сглаженный), в виде сетчатой оболочки — Wireframe (Каркас), в виде рамки редактирования — Bounding Box (Ограничивающий прямоугольник) и др. Упрощенное отображение объектов в окнах проекций нужно для того, чтобы пользователю было легче управлять сложными сценами с большим количеством объектов и полигонов.
Чтобы изменить вариант отображения объекта в окнах проекций, щелкните правой кнопкой мыши на названии окна проекции и в контекстном меню выберите нужный режим (рис. 3.16).
Рис. 3.16. Выбор режима отображения объектов
Выделение объектов
В 3ds Мах 8 существует несколько способов выделения объектов. Самый простой — щелчок на объекте инструментом Select Object (Выделение объекта), который
расположен на основной панели инструментов. Если вы находитесь в режиме ото
бражения объектов Wireframe (Каркас), объект станет белым (рис. 3.17).
Рис. 3.17. Выделенный объект в режиме Wireframe (Каркас)
СОВЕТ
При работе в режиме Wireframe (Каркас) лучше не выбирать для отображения объектов белый цвет, так как не будет заметна разница между выделенным и невыделенным объектами,
В режиме Smooth + Highlights (Сглаженный) вокруг выделенного объекта появятся квадратные скобки белого цвета (рис. 3.18).
Для выделения более чем одного объекта можно использовать клавишу Ctrl Удерживая ее, щелкайте на объектах, которые вы желаете выделить. Чтобы убрать объект из числа выделенных, удерживая клавишу Alt, щелкните на объекте, с которого вы желаете снять выделение.
Другой способ одновременного выбора НесКольКйХ объектов — выделение области. Есть несколько вариантов выделения объектов в этом режиме. По умолчанию используется Rectangular Selection Region (Прямоугольная область выделения). Для выделения объектов в этом режиме необходимо щелкнуть левой кнопкой мыши и, удерживая ее, провести в окне проекции прямоугольник. Объекты, находящиеся внутри данного прямоугольника, будут выделены (рис. 3.19).
Рис. 3.18. Выделенный объект в режиме Smooth + Highlights (Сглаженный)
Рис. 3.19. Выделение объектов в режиме Rectangular Selection Region (Прямоугольная область выделения)
Можно также выделять объекты, заключенные в разные фигуры (например, в окружность). Для переключения между режимами выделения области нужно использовать кнопку на основной панели инструментов. Доступны пять вариантов выделения (рис. 3.20). Кроме уже знакомого Rectangular Selection Region (Прямоугольная область выделения), это следующие:
Circular Selection Region (Круглая область выделения) (рис. 3.21);
Fence Selection Region (Произвольная область выделения) (рис. 3.22);
Lasso Selection Region (Выделение лассо) (рис. 3.23);
Paint Selection Region (Выделение кистью) (рис. 3.24).
Рис. 3.20. Кнопки выделения области
Рис. 3.21. Выделение объектов в режиме Circular Selection Region (Круглая область выделения)
Рис. 3.22. Выделение объектов в режиме Fence Selection Region (Произвольная область выделения)
Рис. 3.23. Выделение объектов в режиме Lasso Selection Region (Выделение лассо)
Рис. 3.24. Выделение объектов в режиме Paint Selection Region (Выделение кистью)
При выделении области с помощью описанных кнопок можно также пользоваться расположенной рядом кнопкой Window/Crossing (Окно/Пересечение). Когда при выделении области включен режим Crossing (Пересечение), выделенными станут все объекты, которые полностью или частично попадут в эту область. Если включить режим Window (Окно), то выделенными будут только те объекты, которые полностью попали в область выделения.
Чтобы выделить какой-либо объект сцены, можно также использовать команду меню Edit ► Select By ► Name (Правка > Выделить по ► По имени). После этого на экране появится окно Select Objects (Выбор объектов) со списком всех объектов сцены (рис. 3.25).
В области List Types (Типы списка) этого окна можно выбрать категории отображаемых объектов, а при помощи переключателя Sort (Сортировка) определить способ отображения — Alphabetical (В алфавитном порядке), By Туре (По типу), By Color (По цвету), By Size (По размеру). Окно выбора объектов удобно использовать в том случае, если сцена содержит много объектов. В сложных сценах часто бывает трудно при помощи мыши выделить нужные объекты.
СОВЕТ
Для вызова окна Select Objects (Выбор объектов) можно использовать клавишу Н или кнопку Select by Name (Выбор по имени) на основной панели инструментов.
Рис. 3.25. Окно Select Objects (Выбор объектов)
Еще один способ выделения объектов — по цвету. В некоторых случаях этот способ выделения очень удобен. Для выделения этим способом выполните команду Edit > Select By ► Color (Правка > Выделить по ► По цвету). При этом указатель изменит форму. Подведите его к объекту, который обладает таким же цветом, что и остальные объекты, которые необходимо выделить в сцене, и щелкните на нем. Все объекты такого же цвета будут выделены.
При работе со сценами, содержащими большое количество небольших объектов, существует вероятность случайного выделения объекта или снятия выделения с объекта. Чтобы нечаянно не снять выделение с объекта, над которым вы работаете, можно использовать команду Selection Lock Toggle (Блокирование выделения). Выделите нужный объект и нажмите кнопку с изображением замка, расположенную под шкалой анимации, или клавишу Пробел.
Настройка объектов
Любой примитив, созданный в 3ds Мах, характеризуется набором параметров, которые определяют его геометрическую форму. Изменяя настройки объекта, вы тем самым изменяете его форму. Каждый из примитивов имеет свой уникальный набор параметров. Например, для примитива 8ох (Параллелепипед) такими настройками являются Length (Длина), Width (Ширина) и Height (Высота).
ПРИМЕЧАНИЕ
Мы не будем подробно рассматривать настройки всех примитивов, поскольку в книге будет приведено достаточно примеров, в которых поясняется предназначение настроек объектов.
Одна из характеристик, присущих любому примитиву, — Segments (Количество сегментов). Этот параметр определяет количество полигонов в структуре объекта. Чем большее значение принимает параметр Segments (Количество сегментов), тем точнее отображается поверхность трехмерной модели. Количество сегментов может определяться не одним, а несколькими настройками. Например, объект Box (Параллелепипед) имеет три таких параметра — Length Segs (Количество сегментов по длине). Width Segs (Количество сегментов по ширине) и Height Segs (Количество сегментов по высоте).
В настройках большинства примитивов также присутствует параметр Generate Mapping Coords. (Создавать систему проекционных координат). Установка данного флажка обеспечивает создание системы проекционных координат, что необходимо в том случае, если вы собираетесь текстурировать объект. В большинстве случаев необходимо, чтобы данный флажок был снят.
Чтобы изменить объект, необходимо указать новые значения его параметров следующим образом.
Выделите требуемый примитив в окне проекции.
Перейдите на вкладку Modify (Изменение) командной панели.
Введите новое значение параметра и поле рядом с его названием и нажмите клавишу Enter.
П РИМ ЕЧ АН И Е
Настройки только что созданного объекта располагаются на вкладке Create (Создание) командной панели. Однако при повторном выделении объекта в сцене его настройки переместятся на вкладку Modify (Изменение).
Простейшие операции с объектами
Основные действия, производимые с объектами, — это перемещение, масштабирование, вращение, выравнивание и клонирование.
В центре выделенного объекта появляются три координатные оси — X, У и 2, которые определяют систему координат, привязанную к объекту. Эти координатные оси составляют так называемую локальную систему координат объекта. Точка, из которой исходят оси локальной системы координат, называется опорной (Pivot Point).
ВНИМАНИЕ
Опорную точку часто путают с центром объекта, однако они могут не совпадать. Например, по умолчанию в сфере опорная точка совпадет с центром, но если в настройках этого объекта изменить значение параметра Hemisphere (Полусфера), то опорная точка будет расположена ниже центра объекта.
Чтобы выполнить любое простейшее действие с объектом, при котором его положение в трехмерном пространстве изменится, необходимо вызвать контекстное меню, щелкнув правой кнопкой мыши на объекте. В появившемся контекстном меню (рис. 3.26) следует выбрать одну из операций — Move (Перемещение), Rotate (Вращение) или Scale (Масштабирование).
Isolate Selection
Unfreeze All
Freeze Selection
Unhide by Name
Unhide A6
Hide Unsetecled
Huie Selection
Save Scene State.
Manage Scene States .
Clone
Eroperties..
Curve Editor . pope Sheet .
VAe Parameters Convert To:>
Рис. 3.26. Контекстное меню
Перемещение
Выберите в контекстном меню команду Move (Перемещение), подведите указатель мыши к одной из координатных осей системы координат объекта. При этом перемещение будет вестись в направлении той плоскости, координатные оси которой подсвечиваются желтым цветом (рис. 3.27). Таким образом, перемещать объект можно вдоль оси X, Y, Z или в плоскостях XY, YZ, XZ.
Координаты перемещения можно указать вручную в окне Move Transform Type-In (Ввод значений перемещения) (рис. 3.28), которое открывается при нажатии клавиши F12 или щелчке на значке прямоугольника возле строки Move (Перемещение) контекстного меню.
Рис. 3.27. Перемещение объекта в плоскости YZ
Рис. 3.28. Окно Move Transform Type-In (Ввод значений перемещения)
СОВЕТ
Для перемещения выделенного объекта также можно использовать клавишу W.
Вращение
При выборе в контекстном меню команды Rotate (Вращение) на месте осей системы координат объекта появится схематическое отображение возможных направлений поворота (рис. 3.29). Если подвести указатель мыши к каждому из направлений, то схематическая линия подсветится желтым цветом, то есть поворот будет произведен в данном направлении.
В процессе поворота в окне проекции появляются цифры, определяющие угол поворота вдоль каждой из осей.
Рис. 3.29. Поворот объекта
СОВЕТ
Для вращения выделенного объекта также можно использовать клавишу Е.
Масштабирование
Выберите в контекстном меню команду Scale (Масштабирование), подведите указатель мыши к одной из координатных осей системы координат объекта. При этом изменение масштаба будет вестись в направлении тех плоскостей или координатных осей, которые подсвечиваются желтым цветом (рис. 3.30). Таким образом, масштабировать объект можно вдоль оси X. Y, Z, в плоскостях XY, YZ, XZ или одновременно во всех направлениях.
Обратите внимание, что при масштабировании объекта его геометрические размеры не изменяются, несмотря на то, что на экране объект изменяет свои пропорции. Поэтому использовать масштабирование без особой необходимости не стоит, поскольку после выполнения данной операции вы не будете видеть реальных размеров объекта и можете запутаться.
СОВЕТ
Для масштабирования выделенного объекта также можно использовать клавишу А.
Рис. 3.30. Масштабирование объекта
Выравнивание объектов
В процессе работы часто приходится передвигать объекты, выравнивая их положение относительно друг друга. Например, при создании сложной модели, детали которой моделируются отдельно, на заключительном этапе необходимо совместить элементы.
Чтобы выровнять один объект относительно другого, нужно выделить первый объект, выполнить команду Tools ► Align (Инструменты ► Выравнивание) и щелкнуть на втором объекте. На экране появится окно (рис. 3.31), в котором необходимо указать принцип выравнивания, например, можно задать координатную ось или точки на объектах, вдоль которых будет происходить выравнивание. Допустим, если необходимо выровнять объект меньшего размера относительно объекта большего размера так, чтобы первый находился в центре второго, то в окне Align Selection (Выравнивание выделенных объектов) установите следующее:
флажки X Position (Х-позпция), Y Position (Y-позиция) и Z Position (Z-позиция);
переключатель Current Object (Объект, который выравнивается) в положение Center (По центру);
переключатель Target Object (Объект, относительно которого выравнивается) в положение Center (По центру).
Нажмите кнопку ОК или Apply (Применить).
Рис. 3.31. Окно Align Selection (Выравнивание выделенных объектов)
Объекты изменят свое положение в сцене сразу же после того, как вы зададите необходимые настройки в окне Align Selection (Выравнивание выделенных объектов). Однако если выйти из этого окна, не нажав кнопку ОК или Apply (Применить), то объекты вернутся в исходное положение.
СОВЕТ
Для выравнивания объектов также можно использовать сочетание клавиш Alt+A.
Пользователям 3ds Мах 8 доступна возможность выравнивания объектов, которая называется Quick Align (Быстрое выравнивание). С помощью этой команды можно выровнять объекты, не вызывая окно Align Selection (Выравнивание выделенных объектов). Выравнивание производится по опорным точкам объектов.
Клонирование объектов
Чтобы создать копию выделенного объекта в окне проекции, нужно выполнить команду Edit ► Clone (Правка ► Клонирование). На экране появится окно Clone Options (Клонирование объектов) (рис. 3.32). В этом окне можно выбрать один из трех вариантов клонирования.
Сору (Независимая копия объекта) — созданная копия не будет связана с оригиналом.
Instance (Привязка) — копия будет связана с исходным объектом. При изменении параметров одного из объектов автоматически будут изменены параметры другого.
Reference (Подчинение) — копия будет связана с исходным объектом. При изменении параметров исходного объекта автоматически будут изменены параметры клонированного объекта, однако при изменении параметров клонированного объекта исходный объект не будет изменен.
Рис. 3.32. Окно Clone Options (Клонирование объектов)
СОВЕТ
Для вызова окна Clone Options (Клонирование объектов) также можно использовать сочетание клавиш Ctrl+V.
Еще один способ клонирования объектов — при помощи клавиши Shift. Выделите объект сцены и, удерживая нажатой клавишу Shift, переместите, масштабируйте или поверните клонированный объект.
Клонирование и выравнивание
В 3ds Мах 8 есть команда, позволяющая одновременно и клонировать, и выравнивать объекты. С ее помощью можно одним щелчком кнопки мыши создать несколько копий выделенного объекта и при этом указать, относительно каких объектов в сцене они будут выровнены.
Данная команда может пригодиться, например, при создании изображения улицы с горящими фонарями. Допустим, у вас есть модель самого фонаря, который необходимо многократно клонировать. При этом каждую созданную копию нужно выравнивать относительно верхнего края столбов. Другой пример — сцена с сервированным столом и тарелками, на каждую из которых нужно положить по яблоку.
Чтобы клонировать и выровнять объект, выделите его и выполните команду Tools ► Clone and Align (Инструменты ► Клонирование и выравнивание). В диалоговом окне Clone and Align (Клонирование и выравнивание) (рис, 3.33) при помощи кнопки Pick (Выбрать) необходимо выделить объекты, относительно которых будут выравниваться созданные копии. При помощи данного окна можно также установить параметры смещения, определяющие положение копий относительно выровненной точки.
Рис. 3.33. Диалоговое окно Clone and Align (Клонирование и выравнивание)
Создание массива объектов
Если приходится клонировать большое количество объектов, удобно использовать инструмент для создания массива объектов — Array (Массив). Он может пригодиться в тех случаях, когда требуется смоделировать, например, стайку рыб, книги на полках, свечи в именинном торте и т. д.
Чтобы воспользоваться инструментом Array (Массив), выполните команду Tools ► Array (Инструменты ► Массив), после чего появится окно с настройками массива (рис. 3.34).
Массив может быть трех типов:
10 (Одномерный) — после клонирования объекты будут расположены в ряд;
2D (Двухмерный) — после клонирования объекты будут расположены в несколько рядов;
3D (Трехмерный) — после клонирования объекты будут расположены в несколько рядов и в несколько этажей.
Рис. 3.34. Окно Array (Массив)
Тип массива устанавливается при помощи соответствующего переключателя в области Array Dimensions (Измерения массива), а количество объектов, составляющих массив, — в поле Count (Количество). Следует иметь в виду, что двухмерный массив включает в себя одномерный, а трехмерный — и одномерный, и двухмерный. По этой причине при использовании массива 2D (Двухмерный) вы можете также управлять настройками одномерного массива (при этом будет изменяться количество объектов в рядах двухмерного массива). При работе с массивом 3D (Трехмерный) будут доступны настройки одномерного и двухмерного массивов, то есть можно будет управлять количеством объектов в рядах и количеством этих рядов.
После использования инструмента Array (Массив) все объекты, составляющие массив, будут иметь те же координаты, что и исходный объект, поэтому видны не будут. По этой причине для них необходимо установить смещение. Смещение созданных рядов по осям X, Y, 1 устанавливается в области Incremental Row Offsets (Смещения инкрементных рядов). В столбцах Incremental (Приращение) области Array Transformation: World Coordinates (Use Pivot Point Center) (Преобразование массива: глобальная система координат (использовать центр опорной точки)) устанавливаются координаты смещения (Move (Смещение)), вращения (Rotate (Вращение)) и масштабирования (Scale (Масштабирование)) объектов относительно друг друга по осям X, Y, Z.
Созданные при помощи инструмента Array (Массив) копии исходного объекта, как и обычные копии, могут быть трех типов: Сору (Независимая копия объекта), Instance (Привязка) или Reference (Подчинение). Отличия между ними рассмотрены выше.
Чтобы иметь возможность наблюдать за изменением положения массива объектов в окне проекции, нажмите кнопку Preview (Предварительный просмотр).
Группировка объектов
Трехмерные объекты, имеющие сложную геометрию, могут включать в себя большое количество мелких элементов. Например, автомобиль состоит из колес, фар, лобового стекла, дверей, кузова и т. Д. Чтобы работать с таким набором элементов было удобнее, в программе 3ds Мах 8 предусмотрена возможность группировки объектов. При необходимости работать с трехмерными объектами как с единым целым их можно объединить в группу, которая будет иметь свое название. Таким образом, вместо большого количества объектов мы получим один. Работать с объектом после группировки можно точно так же, как и с любым обычным трехмерным объектом, — вращать его. передвигать, масштабировать и т. д. Например, если вам нужно изменить положение трехмерного автомобиля в пространстве, то придется по очереди передвигать все объекты, из которых он состоит. Если же их сгруппировать, то переместить нужно будет лишь один раз.
Для группировки объектов сделайте следующее.
Выделите в сцене объекты, которые нужно сгруппировать (о выделении объектов читайте выше).
Выполните команду Group ► Group (Группировать > Группировка).
В диалоговом окне Group (Группировка) (рис. 3,35) укажите название группы в поле Group name (Название группы).
Рис. 3.35. Диалоговое окно Group (Группировка)
После группировки вы увидите, что вокруг созданной группы появился единый габаритный контейнер вместо нескольких.
СОВЕТ
При моделировании сложных трехмерных объектов часто необходимо группировать мелкие элементы. В результате этого не всегда бывает удобно управлять сложным объектом в пространстве. Проблема состоит в том, что после группировки элементов центр системы локальных координат составного объекта может располагаться не в центре, а в произвольном месте, даже за пределами оболочки модели. Чтобы управлять положением центра локальной системы координат, необходимо выделить объект, перейти на вкладку Hierarchy (Иерархия) командной панели, нажать кнопку Pivot (Опорная точка). Затем в свитке настроек Adjust Pivot (Установить опорную точку) нажать кнопку Affect Pivot Only (Влиять только на опорную точку) и задать параметры выравнивания в области Alignment (Выравнивание).
Создание интерьера кухни с помощью примитивов 3ds Мах
Как мы уже говорили выше, очень многие объекты, окружающие нас в реальной жизни, состоят из отдельных примитивов. Сложную, на первый взгляд, трехмерную сцену можно создать, используя только примитивы 3ds Мах. Например, все объекты сцены на рис. 3.36 — холодильник, электрическая плита, вытяжка, кафельная плитка — состоят из примитивов.
Рис. 3.36. Сцена, созданная исключительно из примитивов 3ds Мах
Смоделировав подобную сцену, вы научитесь создавать объекты и производить с ними основные операции: выравнивание, перемещение, вращение, клонирование. Конечно, сцену, созданную таким образом, трудно назвать реалистичной, однако она хорошо показывает, что, даже используя только стандартные примитивы 3ds Мах, можно создать содержательный проект.
СОВЕТ
Если вы начинающий пользователь 3ds Мах, обязательно выполните этот урок. В процессе создания этой сцены вы многократно будете выполнять простейшие операции с объектами, что даст вам основные навыки работы в 3ds Мах. В дальнейшем мы не будем останавливаться на выполнении элементарных операций так подробно, как в этом уроке.
Холодильник
Современный холодильник состоит из двух частей: морозильной камеры и основного отсека для хранения продуктов питания. И морозильная камера, и основной отсек создадим с помощью объекта ChamferBox (Параллелепипед с фаской). Почему лучше использовать именно этот объект, а не обычный Box (Параллелепипед)?
Во-первых, холодильник, созданный при помощи объектов ChamferBox (Параллелепипед с фаской), будет иметь сглаженные края и потому будет больше похож па настоящий.
Во-вторых, благодаря скошенным углам между двумя объектами ChamferBox (Параллелепипед с фаской), которые вы установите один над другим, будет видна щель. При использовании же объектов типа Box (Параллелепипед) они визуально сольются в один.
Для создания первого объекта ChamferBox (Параллелепипед с фаской), который будет играть роль морозильной камеры, сделайте следующее.
Перейдите на вкладку Create (Создание) командной панели.
Выберите категорию Geometry (Геометрия).
Из раскрывающегося списка выберите строку Extended Primitives (Сложные примитивы).
Нажмите кнопку с названием примитива ChamferBox (Параллелепипед с фаской) (рис. 3.37).
|Э "А Г 6. щ. '- ^|Э "А Г 6. щ. '- ^I * Keyt>>^idEr^yII * Keyt>>^idEr^yIбб
|Э "А Г 6. щ. '- ^
|Э "А Г 6. щ. '- ^
I * Keyt>>^idEr^yI
I * Keyt>>^idEr^yI
б
б
Рис. 3.37. Кнопка ChamferBox (Параллелепипед с фаской) на командной панели: а — верхняя часть, б — нижняя
Щелкните в любом месте окна проекции и, не отпуская кнопку, изменяйте положение указателя мыши до тех пор, пока объект в окне не «вырастет» до нужного размера (рис. 3.38).
Рис. 3.38. Объект ChamferBox (Параллелепипед с фаской) в окне проекции
Форма этого объекта устанавливается четырьмя параметрами. Посмотрите на вкладку Create (Создание) командной панели, и вы увидите их.
ПРИМЕЧАНИЕ
Если вы случайно сняли выделение с объекта, выделите его повторно и перейдите на вкладку Modify (Изменение) командной панели.
Установите для объекта следующие значения параметров: length (Длина) — 45, Width (Ширина) — 45, Height (Высота) — 45, Fillet (Закругление) — 0,5. Значения параметров Length Segs (Количество сегментов подлине), Height Segs (Количество сегментов по высоте), Width Segs (Количество сегментов по ширине) и Fillet Segs (Количество сегментов на закруглении) увеличьте до 10 (рис. 3.39).
Над морозильной камерой должен располагаться основной отсек для хранения продуктов. Аналогично тому, как был создан первый объект, добавьте в сцену еще один примитив ChamferBox (Параллелепипед с фаской). Поскольку этот объект в два раза выше морозилки, все значения его параметров, за исключением Height (Высота), идентичны значениям, установленным для первого объекта. Значение параметра Height (Высота) выберите равным 90 (рис. 3.40).
г ^&t$l® TI
| Ch^JMrJerB о>^91
| Modrf>ei Listjrj
ичЪгй;:.
*11 И ' s
Рис. 3.39. Параметры объекта ChamferBox (Параллелепипед с фаской)
Рис. 3.40. Объекты ChamferBox (Параллелепипед с фаской) в окне проекции
Теперь необходимо поставить второй объект на первый. Для этого используйте операцию выравнивания.
Выделите высокий объект ChamferBox (Параллелепипед с фаской), щелкнув на нем кнопкой мыши.
Выполните команду Tools ► Align (Инструменты ► Выравнивание) или воспользуйтесь сочетанием клавиш Alt+A. При этом указатель изменит форму.
Щелкните па втором объекте ChamferBox (Параллелепипед с фаской).
На экране появится окно Align Selection (Выравнивание выделенных объектов), в котором необходимо указать, по какому принципу будет происходить выравнивание.
Установите флажки У Position (Y-позиция) и X Position (X-позиция).
Установите переключатель Current Object (Объект, который выравнивается) в положение Center (По центру).
Установите переключатель Target Object (Объект, относительно которого выравнивается) в положение Center (По центру) (рис. 3.41).
Рис. 3.41. Настройки выравнивания объектов по осям X и Y
Нажмите кнопку Apply (Применить).
Теперь необходимо выровнять объекты по оси Z. Установите флажок Z Position (Z-позиция).
Установите переключатель Current Object (Объект, который выравнивается) в положение Minimum (По минимальной координате выбранной оси).
Установите переключатель Target Object (Объект, относительно которого выравнивается) в положение Maximum (По максимальной координате выбранной оси) (рис. 3.42).
Рис. 3.42. Настройки выравнивания объектов по оси Z
Нажмите кнопку Apply (Применить) или ОК. Высокий объект ChamferBox (Параллелепипед с фаской) изменит свое положение относительно второго объекта ChamferBox (Параллелепипеде фаской) по оси 2 таким образом, что нижний край отсека для хранения продуктов совпадет с верхним краем морозильной камеры (рис. 3.43).
Рис. 3.43. Объекты выровнены по всем трем осям
ВНИМАНИЕ
Объекты изменят свое положение в сцене сразу после того, как вы зададите необходимые настройки в окне Align Selection (Выравнивание выделенных объектов). Однако помните, что если выйти из этого окна, не нажав кнопку ОК или Apply (Применить), то объекты вернутся в исходное положение.
Теперь нужно создать ручки, с помощью которых будут открываться дверцы холодильника. Для этого используйте примитив Torus (Тор).
Перейдите на вкладку Create (Создание) командной панели.
Щелкните на кнопке Geometry (Геометрия).
Из раскрывающегося списка выберите группу Standard Primitives (Простые примитивы).
Нажмите кнопку с названием примитива Torus (Тор).
Щелкните в любом месте окна проекции и, не отпуская кнопку мыши, изменяйте положение ее указателя до тех пор, пока объект в окне не «вырастет» до нужного размера.
После того как объект достигнет необходимого размера, отпустите кнопку мыши.
Перейдите на вкладку Modify (Изменение) командной панели (или на вкладку Create (Создание), если вы не снимали выделение с объекта) и установите для объекта следующие значения параметров: Radius 1 (Радиус 1) — 13, Radius 2 (Радиус 2) — 1,5, Rotation (Вращение) — 0, Twist (Скручивание) — 0, Segments (Количество сегментов) — 4, Sides (Количество сторон) - 21. Чтобы объект принял сглаженную форму, установите переключатель Smooth (Сглаживание) в положение АН (Все).
Щелкните на торе правой кнопкой мыши и выберите в контекстном меню команду Rotate (Вращение). При этом на месте координатных осей локальной системы координат появится схематическое отображение возможных направлений поворота объекта. Если подвести указатель к каждому из направлений, то схематическая линия подсветится желтым цветом. Это означает, что поворот будет произведен н данном направлении. Поверните объект по осн Z на 90° (рис. 3.44). Затем поверните объект на 90* по оси ¥.
Выберите в контекстном меню команду Move (Перемещение) и подведите указатель к одной из осей. Переместите объект вдоль выбранной оси и добейтесь того, чтобы объект был расположен, как показано на рис. 3.45. Если это необходимо, то измените ось, вдоль которой происходит перемещение.
Удерживая нажатой клавишу Shift, переместите тор в направлении морозильной камеры и установите ручку на нужной высоте. При этом будет создана копия объекта, а на экране появится окно Clone Options (Параметры клонирования). В данном случае вариант клонирования не имеет значения, так как в дальнейшем ручки редактировать не будем. По этой причине просто нажмите кнопку ОК. Холодильник готов (рис. 3.46).
Рис. 3.45. Объект после перемещения — ручка заняла место на дверце холодильника
Рис. 3.46. Модель холодильника
Сгруппируем созданные объекты, которые составляют холодильник, чтобы в дальней тем можно было легко работать с ними. Для этого сделайте следующее.
Выделите все объекты. Для этого нажмите клавишу Ctrl и, удерживая ее, поочередно щелкните на объектах.
Выполните команду Group ► Group (Группировать ► Группировка).
В диалоговом окне Group (Группировка) укажите название группы в поле Group name (Название группы), например Холодильник (рис. 3.47).
Рис. 3.47. Создание группы объектов Холодильник
Электрическая плита
Теперь перейдем к созданию электрической плиты. Этот объект более сложен, так как состоит из большего количества элементов.
Создайте примитив Box (Параллелепипед). Для этого перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Standard Primitives (Простые примитивы), нажмите кнопку Box (Параллелепипед) и нарисуйте его в окне проекции.
Теперь необходимо задать параметры объекта. Для этого перейдите на вкладку Modify (Изменение) командной панели. Установите для объекта следующие значения параметров: Length (Длина) — 60, Width (Ширина) — 60, Height (Высота) — 68. Это — основа нашей плиты (рис. 3.48).
Рис. 3.48. Примитив Box (Параллелепипед) в окне проекции
Создайте еще один примитив Box (Параллелепипед) с параметрами Length (Длина) — 60, Width (Ширина) - 2,4, Height (Высота) - 50. Этот объект будет имитировать дверцу духовки. Расположите его относительно первого объекта так, как показано па рис. 3.49.
Для этого в окне Align Selection (Выравнивание выделенных объектов) выполните следующие действия.
Установите флажок Z Position (Z-позиция).
Установите переключатели Current Object (Объект, который выравнивается) и Target Object (Объект, относительно которого выравнивается) в положение Minimum (По минимальным координатам выбранных осей).
Нажмите кнопку Apply (Применить).
Рис. 3.49. Выравнивание объектов
Установите флажок Y Position (¥-позиция).
Установите переключатели Current Object (Объект, который выравнивается) и Target Object (Объект, относительно которого выравнивается) в положение Center (По центру).
Нажмите кнопку Apply (Применить).
Установите флажок X Position (Х-позиция).
Установите переключатель Current Object (Объект, который выравнивается) в положение Maximum (По максимальным координатам выбранных осей).
Установите переключатель Target Object (Объект, относительно которого выравнивается) в положение Minimum (По минимальным координатам выбранных осей).
Нажмите кнопку Apply (Применить) или ОК.
Теперь сделаем ручку для духовки. Поскольку этот объект напоминает созданные ранее ручки для холодильника, можно скопировать одну из них. Но так как после группировки холодильник представляет единый объект, предварительно необходимо разгруппировать объекты, выполнив команду Group > Ungroup (Группировать ► Разгруппировка). После этого выделите одну из ручек, щелкнув на ней кнопкой мыши, и выполните команду Edit ► Clone (Правка > Клонировать). Выберите в контекстном меню команду Move (Перемещение) и передвиньте объект
в нужном направлении. Выберите в контекстном меню команду Rotate (Вращение) и поверите клонированный объект на 90° по оси X, так как ручка духовки, в отличие от ручек холодильника, расположена горизонтально.
Перейдите на вкладку Modify (Изменение) командной панели и измените некоторые параметры объекта: Radius 1 (Радиус 1) — 27, Rotation (Вращение) — 45, Sides (Количество сторон) — 4. Чтобы объект не был сглаженным, установите переключатель Smooth (Сглаживание) в положение None (Нет). Результат показан на рис. 3.50. Теперь не забудьте опять сгруппировать объекты, составляющие холодильник.
Рис. 3.50. Плита с духовкой и ручкой
Моделирование дверцы духовки завершим созданием стекла. Конечно, это будет не настоящее стекло, а объект, лишь похожий на него. Поскольку он имеет квадратную форму, для его моделирования можно использовать параллелепипед. Создайте уже знакомый вам объект ChamferBox (Параллелепипед с фаской). В данном случае этому объекту лучше отдать предпочтение перед обычным Box (Параллелепипед), чтобы края стекла не были острыми. Установите для объекта следующие значения параметров: Length (Длина) —36, Width (Ширина) — 1, Height (Высота) — 29, Fillet (Закругление) — 0,5.
Теперь выровняйте его относительно дверцы духовки. Для этого в уже знакомом вам окне Align Selection (Выравнивание выделенных объектов) выполните следующие действия.
Установите флажки Z Position (Z-позиция) и Y Position (Y-поэиция).
Установите переключатели Current Object (Объект, который выравнивается) и Target Object (Объект, относительно которого выравнивается) в положение Center (По центру).
Нажмите кнопку Apply (Применить).
Установите флажок X Position (Х-позиция).
Установите переключатель Current Object (Объект, который выравнивается) в положение Center (По центру).
Установите переключатель Target Object (Объект, относительно которого выравнивается) в положение Minimum (По минимальным координатам выбранных осей). После этого первая половина объекта будет утоплена в дверце, а вторая будет выступать, что создаст иллюзию выпуклого стекла (рис. 3.51).
Рис. 3.51. Объекты после выравнивания — дверца духовки готова
Нажмите кнопку Apply (Применить) или ОК.
Теперь необходимо создать конфорки на плите. Поскольку все четыре объекта одинаковые, их удобно создать при помощи инструмента Array (Массив). Сначала создайте примитив Cylinder (Цилиндр). Для этого перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Standard Primitives (Простые примитивы), нажмите кнопку Cylinder (Цилиндр) и нарисуйте объект в окне проекции.
Перейдите на вкладку Modify (Изменение) командной панели. Установите следующие значения параметров объекта: Radius (Радиус) —10, Height (Высота) — 1,5, Sides (Количество сторон) — 30. Чтобы объект принял сглаженную форму, установите флажок Smooth (Сглаживание) (рис. 3.52).
^CyiiriderOI^CyiiriderOIМ odif ier UttМ odif ier Utt^^№eSTi
^CyiiriderOI
^CyiiriderOI
М odif ier Utt
М odif ier Utt
Radius: 110.0
Height: [T5 :J
Height Segmert tQ Cap Segment!: p "^
P Smooth
Г Skce On
Slice From: fCLOij
Slice To. fUT
P Generate Mapping Coords
Г Real-World Map Size
Рис. 3.52, Настройки объекта Cylinder (Цилиндр)
Выполните команду Tools ► Array (Инструменты ► Массив), после чего появится окно с настройками массива. В области Array Dimensions (Измерения массива) установите переключатель в положение 2D (Двухмерный) и в поле Count (Количество) напротив переключателя введите число 2. Оно будет определять количество рядов. В поле Count (Количество) напротив переключателя 1D (Одномерный) введите число 2. Оно будет определять количество цилиндров в ряду.
Чтобы задать положение цилиндров, установите значение параметра Incremental Row Offsets (Смещения инкрементных рядов) по оси Y равным 27. Такое же значение задайте параметру, находящемуся на пересечении столбца X и строки Move (Перемещение) в столбце Incremental (Приращение) области Array Transformation: World Coordinates (Use Pivot Point Center) (Преобразование массива: глобальная система координат (использовать центр опорной точки)) (рис. 3.53).
СОВЕТ
Чтобы иметь возможность наблюдать за изменением положения массива объектов в окне проекции, нажмите кнопку Preview (Предварительный просмотр).
Рис. 3.53. Окно Array (Массив)
После использования инструмента Array (Массив) в окне проекции будут созданы четыре цилиндра, которые необходимо симметрично расположить в центре плиты. Для этого, удерживая клавишу Ctrl, выделите объекты и сгруппируйте их командой Group > Group (Группировать ► Группировка). Теперь вы сможете выровнять все четыре цилиндра так, как если бы это был один объект. Вызовите окно Align Selection (Выравнивание выделенных объектов) и выровняйте по осям X и Y центры объектов. После этого выровняйте объекты по оси Z, совместив центр сгруппированного объекта с максимальной координатой второго объекта (плиты) (рис. 3.54).
Наконец, последний штрих — создание переключателей управления конфорками. Создайте примитив Sphere (Сфера). Для этого перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Standard Primitives (Простые примитивы) и нажмите кнопку Sphere (Сфера).
Перейдите на вкладку Modify (Изменение) командной панели и установите для объекта следующие значения параметров: Radius (Радиус) — 2, Segments (Количество сегментов) — 32, Hemisphere (Полусфера) — 0,5. Чтобы объект принял сглаженную форму, установите флажок Smooth (Сглаживание). Благодаря тому, что значение параметра Hemisphere (Полусфера) равно 0,5, объект превратится в полусферу.
Выберите в контекстном меню команду Rotate (Вращение) и поверните клонированный объект на 90° по оси Y. Выберите в контекстном меню команду Move (Пе- ремещение) и передвиньте объект в нужном направлении, установив его на передней панели плиты (рис. 3.55).
Создайте в окне проекции примитив Box (Параллелепипед) со следующими значениями параметров: Length (Длина) — 0,3, Width (Ширина) — 3, Height (Высота) — 3. Он будет дополнять полусферу, образовывая переключатель. Выровняйте его относительно полусферы повеем трем осям по центрам объектов.
Рис. 3.54. Объекты выровнены — у плиты появились конфорки
Рис. 3.55. Будущий переключатель на передней панели плиты
Сгруппируйте два объекта, которые составляют переключатель. Для этого, удерживая клавишу Ctrl, выделите объекты и выполните команду Group * Group (Группировать ► Группировка).
Чтобы создать четыре одинаковых переключателя на панели плиты, снова используем инструмент Array (Массив). Выполните команду Tools ► Array (Инструменты ► Массив). В области Array Dimensions (Измерения массива) установите переключатель в положение 10 (Одномерный) и в поле Count (Количество) напротив переключателя введите число 5. Оно будет определять количество объектов в ряду.
Чтобы задать положение цилиндров, установите равным 9 значение параметра, находящегося на пересечении столбца Y и строки Move (Перемещение) в столбце Incremental (Приращение) области Array Transformation: World Coordinates (Use Pivot Point Center) (Преобразование массива: глобальная система координат (использовать центр опорной точки)).
ПРИ МЕЧАН И Е
Это число может быть иным, оно зависит оттого, на каком месте передней панели вы установили переключатель.
Переключатели на месте, плита готова (рис. 3.56).
Рис. 3.56. Плита, созданная из примитивов
Стены
Интерьер кухни должен включать в себя стены, обложенные кафельной плиткой. В 3ds Мах имеется специальный примитив для моделирования стен — Wall (Стена).
Для создания объекта Wall (Стена) сделайте следующее.
Переключитесь в окно проекции Тор (Сверху).
Перейдите на вкладку Create (Создание) командной панели.
Выберите категорию Geometry (Геометрия).
Из раскрывающегося списка выберите группу AEC Extended (Дополнительные объекты для АИК).
Нажмите кнопку с названием примитива Wall (Стена).
Щелкните в любом месте окна проекции и, не отпуская кнопку мыши, изменяйте положение ее указателя до тех лор, пока объект в окне не «вырастет* до нужного размера.
После того как объект достигнет необходимого размера, отпустите кнопку мыши и щелкните левой, а затем правой кнопкой мыши.
В настройках объекта задайте параметру Height (Высота) значение, равное 190. Создайте еще один объект Wall (Стена) перпендикулярно первому. Таким образом, вы получите уголок (рис. 3.57).
Рис. 3.57. Объекты Wall (Стена) в сцене
Для моделирования кафельной плитки воспользуемся стандартным примитивом Pyramid (Пирамида). Создайте в окне проекции объект Pyramid (Пирамида). Для этого перейдите на вкладку Create (Создание) командной панели, выберите в раскрывающемся списке категории Geometry (Геометрия) строку Standard Primitives (Простые примитивы) и нажмите кнопку Pyramid (Пирамида).
Установите для пирамиды следующие значения параметров: Width (Ширина) — 17, Depth (Глубина) — 17, Height (Высота) — 2. В итоге вы получили один образец кафельной плитки (ряс. 3.58).
Рис. 3.58. Примитив Pyramid (Пирамида) подходит для создания кафельной плитки
Чтобы размножить плитку по поверхности стен, снова используйте инструмент Array (Массив).
В области Array Dimensions (Измерения массива) установите переключатель в положение 2D (Двухмерный) и в поле Count (Количество) напротив переключателя введите число 7. Оно будет определять количество рядов. В поле Count (Количество) напротив переключателя 1D (Одномерный) введите число 20. Оно будет определять количество плиток в ряду.
ПРИМЕЧАНИЕ
В данном случае количество объектов клонирования является примерным и зависит от длины и высоты стены.
Чтобы задать положение цилиндров, установите значение параметра Incremental Row Offsets (Смещения инкрементных рядов) но оси Y равным 17. Такое же значение залайте параметру, находящемуся на пересечении столбца X в строки Move (Перемещение) в столбце Incremental (Приращение) области Array Transformation: World Coordinates (Use Pivot Point Center) (Преобразование массива: глобальная система координат (использовать центр опорной точки)). В данном случае смещать клонированные объекты необходимо таким образом, чтобы они плотно примыкали друг к другу (рис. 3.59). поэтому величина смещения равна стороне квадрата плитки (параметр Width (Ширина) в настройках пирамиды).
Рис. 3.59. Массив объектов-плиток
Сгруппируйте плитки. Поскольку при использовании массива все созданные плитки были одного цвета, для их выделения удобно использовать команду Edit ► Select By ► Color (Правка ► Выделить по ► По цвету). При этом указатель изменит форму (рис. 3.60). Щелкните па одной из плиток — все плитки будут выделены.
Выполните команду Group ► Group (Группировать ► Группировка), создав тем самым новую группу объектов. Теперь нужно расположить созданный массив возле стены. Используя инструмент Rotate (Вращение), поверните массив объектов вокруг оси Z на 90°, а затем вокруг осн Y на -90°. Благодаря этому плоскость, в которой лежит массив плиток, станет параллельна стене.
Поскольку у пас две стены, то и плитка должна покрывать их обе. Выделите сгруппированный объект, щелкнув на нем кнопкой мыши, и выполните команду Edit ► Clone (Правка ► Клонировать), В появившемся окне Clone Options (Параметры клонирования) выберите вариант клонирования Сору (Независимая копия объекта).
Рис. 3.60. Изменение формы указателя после выполнения команды Edit ► Select By ► Color (Правка ► Выделить по » По цвету)
Поскольку стены расположены перпендикулярно, точно так же нужно расположить массивы плиток. Созданную копию массива поверните на 90° вокруг оси Z.
Теперь, используя инструмент Move (Перемещение), подберите положение массивов относительно стен так, чтобы плитка примыкала к стене.
Вытяжка
Наконец, последний объект, который мы создадим в рамках этого урока, - вытяжка. Она состоит и двух объектов — усеченного конуса и шланга.
Сначала создадим конус. Для этого перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Standard Primitives (Простые примитивы) и нажмите кнопку Cone (Конус).
Установите для него следующие значения параметров: Radius 1 (Радиус 1)— 48, Radius 2 (Радиус 2) — 5, Height (Высота) — 34, Sides (Количество сторон) — 4. Чтобы объект не был сглаженным, снимите флажок Smooth (Сглаживание).
Используя инструмент Rotate (Вращение), поверните объект вокруг оси Z на 45”. Теперь ребра, лежащие в его основании, будут параллельны сторонам плиты.
Выровняйте этот объект относительно плиты в плоскости X и Y по центру. Используя инструмент Move (Перемещение), поднимите его вдоль оси Z так, чтобы он располагался над плитой (рис. 3,61).
Рис. 3.61. Вытяжка над плитой
ПРИМЕЧАНИЕ
Настоящая вытяжка должна быть полой, но поскольку в кадре будут видны только боковые стенки объекта, отверстие можно не делать.
Осталось создать шланг, который подходит к вытяжке от стены. Для моделирования подобного объекта можно использовать примитив Hose (Шланг). Перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Extended Primitives (Сложные примитивы) и нажмите кнопку Hose (Шланг).
Перейдите на вкладку Modify (Изменение) командной панели. Чтобы управлять положением начала и конца шланга, необходимо в настройках объекта установить переключатель End Point Method (Метод установки конечных точек) в положение Bound to Object Pivots (Привязать к осям объекта). Подберите такие значения параметров Tension (Натяжение) в областях Тор (Сверху) и Bottom (Снизу), чтобы шланг выглядел правдоподобно. Установите для объекта следующие параметры: Diameter (Диаметр) — 14,4, Sides (Количество сторон) — 100. Чтобы объект принял сглаженную форму, установите переключатель Smoothing (Сглаживание) в положение Alt (Все). Установите флажок Renderable (Отображать при визуализации), чтобы шланг был виден при визуализации. Установите переключатель Hose Shape (Форма шланга) в положение Round Hose (Круглый шланг) (рис. 3.62).
| - HatBpatanaat . ~~| End Paint Method.: Г Free Ноаел * Bound Io Object Prvoti' f Binding Objects-Tope PointOIД Pelt Top ObjectTension. [7li 0: Bottom PwrtOS; Pick Bottom Object. i Tension j? О C- Free Hose Pftremeten ■-;. ■ hM J5T.4T? Й ■| - HatBpatanaat . ~~| End Paint Method.: Г Free Ноаел * Bound Io Object Prvoti' f Binding Objects-Tope PointOIД Pelt Top ObjectTension. [7li 0: Bottom PwrtOS; Pick Bottom Object. i Tension j? О C- Free Hose Pftremeten ■-;. ■ hM J5T.4T? Й ■- Cotiwon Hose P« amefer: - г Segments F"—31 fv Flex Section EnableStolt ;j % ;ends |эоо : | $Cycles: | BO" «jDiameterSj%г Smoothing ---I» АЯ * SidesГ None Г Se-gnenisJv RendaiableIv Senetoe Mapp«g Cmiqi :Hose Shape- -* Pound Ho ioDiameter Г1'*-""1*Sides-:.- Cotiwon Hose P« amefer: - г Segments F"—31 fv Flex Section EnableStolt ;j % ;ends |эоо : | $Cycles: | BO" «jDiameterSj%г Smoothing ---I» АЯ * SidesГ None Г Se-gnenisJv RendaiableIv Senetoe Mapp«g Cmiqi :Hose Shape- -* Pound Ho ioDiameter Г1'*-""1*Sides-:.
| - HatBpatanaat . ~~| End Paint Method
.: Г Free Ноае
л * Bound Io Object Prvoti
' f Binding Objects-
Tope PointOI
Д Pelt Top Object
Tension. [7li 0
: Bottom PwrtOS
; Pick Bottom Object
. i Tension j? О C
- Free Hose Pftremeten ■-;
. ■ hM J5T.4T? Й ■
| - HatBpatanaat . ~~| End Paint Method
.: Г Free Ноае
л * Bound Io Object Prvoti
' f Binding Objects-
Tope PointOI
Д Pelt Top Object
Tension. [7li 0
: Bottom PwrtOS
; Pick Bottom Object
. i Tension j? О C
- Free Hose Pftremeten ■-;
. ■ hM J5T.4T? Й ■
- Cotiwon Hose P« amefer: - г Segments F"—31 fv Flex Section Enable
Stolt ;j % ;
ends |эоо : | $
Cycles: | BO" «j
DiameterSj%
г Smoothing ---
I» АЯ * Sides
Г None Г Se-gnenis
Jv Rendaiable
Iv Senetoe Mapp«g Cmiqi :
Hose Shape- -
* Pound Ho io
Diameter Г1'*-""1*
Sides-:.
- Cotiwon Hose P« amefer: - г Segments F"—31 fv Flex Section Enable
Stolt ;j % ;
ends |эоо : | $
Cycles: | BO" «j
DiameterSj%
г Smoothing ---
I» АЯ * Sides
Г None Г Se-gnenis
Jv Rendaiable
Iv Senetoe Mapp«g Cmiqi :
Hose Shape- -
* Pound Ho io
Diameter Г1'*-""1*
Sides-:.
a
Рис. 3.62. Настройки объекта Hose (Шланг): a —верхняя часть, б — нижняя
С помощью кнопок Pick Top Object (Выбрать начальный объект) и Pick Bottom Object (Выбрать конечный объект) указать объекты, к которым должен крепиться шланг.
Поскольку в нашей сцепе шланг нужно прикрепить к верхнему основанию конуса- вытяжки с одной стороны и к стене с другой, удобно использовать вспомогательный объект Point (Точка). Создав две точки в сцене и указав их расположение, можно добиться правильного расположения шланга. В процессе визуализации объект Point (Точка) отображаться не будет. Если же использовать в качестве начального и конечного объектов для прикрепления шланга конус и стену, то он будет располагаться неестественно.
Перейдите на вкладку Create (Создание) командной панели, щелкните на кнопке Helpers (Вспомогательные объекты), из раскрывающегося списка выберите строку Standard (Стандартные) и нажмите кнопку Point (Точка), Выровняйте положение созданной точки таким образом, чтобы она располагалась в центре верхнего основания конуса-вытяжки. Для этого необходимо выровнять объекты по оси Z и для Target Object (Объект, относительно которого выравнивается) указать максимальную координату. после чего выровнять объекты по осям X и Y и для Target Object (Объект, относительно которого выравнивается) указать центр объекта.
ПРИМЕЧАНИЕ
Поскольку объект Point (Точка) является вспомогательным и геометрических размеров не имеет, в окне Align Selection (Выравнивание выделенных объектов) переключатель Current Object (Объект, который выравнивается) может находиться а любом положении.
Удерживая нажатой клавишу Shift, клонируйте объект Point (Точка), переместив его вдоль оси Y так, чтобы точка была расположена за стеной.
Выделите объект Hose (Шланг) и перейдите на вкладку Modify (Изменение) командной панели. Нажмите кнопку Pick Top Object (Выбрать начальный объект) и укажите в сцене объект Point (Точка), спрятанный в основании конуса. Нажмите кнопку Pick Bottom Object (Выбрать конечный объект) и укажите клонированный объект Point (Точка), который находится за стеной. Шланг разместится между вытяжкой и стеной (рис. 3.63).
Рис. 3.63. Шланг размещен правильно
Сцена готова. Теперь, когда вы владее те основными навыками работы с объектами, для вас не составит большого труда «вскипятить» па трехмерной плите чайник. Создайте объект Teapot (Чайник) самостоятельно и установите его на одной из конфорок (см. рис. 3.36).
ПРИМЕЧАНИЕ
Готовый файл примера находится на прилагаемом к книге компакт-диске в папке сЬОЗ/examples. Он называется primitives.max.
Глава 4
Основы моделирования. Создание моделей при помощи сплайнов
Создание сложных объектов в 3ds Мах 8
Сплайновое моделирование
Создание сложных объектов в 3ds Мах 8
Одно из основных предназначений 3ds Мах — моделирование трехмерных объектов. Воображение дизайнера трехмерной графики очень часто рисует сцены, которые невозможно создать, используя только примитивы. Многие объекты, которые окружают нас в повседневной жизни, имеют несимметричную поверхность, воспроизвести которую в трехмерной графике довольно сложно. Объекты категории Geometry (Геометрия) в 3ds Мах 8 являются базовым материалом для создания более сложных моделей. Для редактирования поверхности примитивов используются различные инструменты моделирования.
Существуют различные подходы к трехмерному моделированию:
моделирование на основе примитивов;
использование модификаторов;
сплайновое моделирование;
правка редактируемых поверхностей: Editable Mesh (Редактируемая поверхность), Editable Poly (Редактируемая полигональная поверхность), Editable Patch (Редактируемая патч-поверхность);
создание объектов при помощи булевых операций;
создание трехмерных сцен с использованием частиц;
NURBS-моделирование (NURBS — Non Uniform Rational В-Splines, неоднородные нерациональные В-сплайны).
Моделирование на основе примитивов описано в гл. 3, а в данной главе мы рассмотрим сплайновое моделирование. Использование модификаторов, применение редактируемых поверхностей и булевых операций будет изложено в следующих главах.
Сплайновое моделирование
Один из эффективных способов создания трехмерных моделей — использование техники сплайнового моделирования. В конечном итоге создание модели при помощи сплайнов (трехмерных кривых) сводится к построению сплайнового каркаса, на основе которого создается огибающая трехмерная геометрическая поверхность.
Сплайновые примитивы
Сплайновые примитивы представляют собой такой же рабочий материал, как и простейшие трехмерные объекты, создаваемые в 3ds Мах 8. Сплайновый инструментарий программы включает в себя следующие фигуры (рис. 4.1):
Line (Линия);
Circle (Окружность);
Аге (Дуга);
NGon (Многоугольник);
Text (Сплайновый текст);
Section (Сечение);
Rectangle (Прямоугольник);
Ellipse (Эллипс);
Donut (Кольцо);
Star (Многоугольник в виде звезды);
Helix (Спираль).
Рис. 4.1. Сплайновые формы
Пользователям 3ds Мах 8 доступны также дополнительные сплайновые объекты, которые отличаются сложной формой и гибкими настройками. Благодаря этому, изменяя значения параметров, можно получать объекты самой разнообразной формы. Объекты такой формы часто используются в архитектуре.
WRectangle (Прямоугольник за стеной) — позволяет создавать закрытые сплайны, состоящие из двух концентрических прямоугольников (рис. 4.2).
Channel (С-образный) — позволяет создавать закрытые сплайны в форме буквы С, напоминающие канавки (рис. 4.3).
Angle (L-образный) — позволяет создавать закрытые сплайны в форме буквы L, напоминающие уголки (рис. 4.4).
Рис. 4.2. Объекты WRectangle (Прямоугольник за стеной) с разными значениями параметров
Рис. 4.3. Объекты Channel (С-образный) с разными значениями параметров
CZE)CZE)Рис. 4.4. Объекты Angle (L-образный) с разными значениями параметровРис. 4.4. Объекты Angle (L-образный) с разными значениями параметров
CZE)
CZE)
Рис. 4.4. Объекты Angle (L-образный) с разными значениями параметров
Рис. 4.4. Объекты Angle (L-образный) с разными значениями параметров
Тее (Т-образный) — позволяет создавать закрытые сплайны в форме буквы Т (рис. 4.5).
Рис. 4.5. Объекты Тее (Т-образный) с разными значениями параметров
Wide Flange ([-образный) — позволяет создавать закрытые сплайны в форме буквы I (рис. 4.6).
Рис. 4.6. Объекты Wide Flange (t-обраэный) с разными значениями параметров
Чтобы создать сплайновый объект, перейдите на вкладку Create (Создание) командной панели, в категории Shapes (Формы) выберите строку Splines (Сплайны) и нажмите кнопку создаваемого примитива. Для создания сложных сплайновых объектов, находясь в категории Shapes (Формы), выберите строку Extended Splines (Сложные сплайны).
Все сплайновые примитивы имеют схожие настройки. Например, каждый описанный объект содержит два обязательных свитка настроек: Rendering (Визуализация) и Interpolation (Интерполяция) (рис. 4.7).
По умолчанию сплайновые примитивы не отображаются на этапе визуализации и используются как вспомогательные объекты для создания моделей со сложной
геометрией. Однако любой сплайновый примитив может выступать в сцене как самостоятельный объект. За отображение объекта в окне проекции и на этапе визуализации отвечает свиток настроек Rendering (Визуализация), Если установить флажок Enable In Renderer (Показать при визуализации), объект на этапе визуализации становится видимым. Установленный флажок Enable In Viewport (Показывать в окне проекции) позволяет визуализировать сплайновый примитив в окне проекции с учетом формы сплайна, которую можно выбрать округлой или прямоугольной, установив переключатель в положение Radial (Округлый) или Rectangular (Прямоугольный).
Рис. 4.7. Два общих свитка настроек всех сплайновых примитивов
При выборе округлого сечения сплайна (Radial (Округлый)) толщина регулируется параметром Thickness (Толщина). Сплайн характеризуется также количеством сторон (параметр Sides (Количество сторон)) и углом их расположения (Angle (Угол)). Минимальное количество сторон сплайна — 3 (такой сплайн имеет треугольное сечение).
В другом случае — при выборе прямоугольного сечения Rectangular (Прямоугольный) — устанавливаются значения Length (Длина) и Width (Ширина), определяющие толщину сплайна. Параметр Aspect (Соотношение) обозначает соотношение длины и ширины прямоугольного профиля сплайна. Если нажать кнопку с изображением замка, расположенную рядом с этим параметром, то при изменении длины или ширины профиля автоматически будет изменяться и другой параметр так, чтобы их соотношение оставалось неизменным. При выборе прямоугольного сечения, как и при выборе округлого, есть возможность управлять параметром Angle (Угол).
Свиток настроек Interpolation (Интерполяция) определяет количество шагов интерполяции сплайна (количество сегментов между вершинами объекта). Установленный флажок Optimize (Оптимизация) служит для оптимизации сплайна.
Для сплайнов группы Extended Splines (Сложные сплайны) доступны также дополнительные параметры, позволяющие определять форму их внешних и внутренних углов (Corner Radius 1 (Радиус углов 1) и Corner Radius 2 (Радиус углов 2)).
Редактирование сплайнов
Любой сплайновый примитив можно преобразовать в редактируемый, который позволяет изменять форму объектов.
Для преобразования сплайна в редактируемый щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выберите команду Convert То ► Convert to Editable Spline (Преобразовать > Преобразовать в редактируемый сплайн) (рис. 4.8).
/ Isolate Selector! ■ у Unfreeze All freeze Selection UnhKlo by Haifa Unhide All HdO Undetected Hdegetedion ~ Save Scene State .
--SelectSelectConvert to EtSteifl? Spfrie Convert to EdtaUe Mesh Convert to Editable PolyConvert to Edit Able Patch Convert to NURBSConvert to EtSteifl? Spfrie Convert to EdtaUe Mesh Convert to Editable PolyConvert to Edit Able Patch Convert to NURBSI Move /I Move /irveErStw..>P»^:/.irveErStw..>P»^:/... ЖI properties... ЖI properties.Рис. 4.8. Открытие подменю Convert To (Преобразовать)Рис. 4.8. Открытие подменю Convert To (Преобразовать)Wire Pefaffetere.Wire Pefaffetere.СОВЕТ
-
-
Select
Select
Convert to EtSteifl? Spfrie Convert to EdtaUe Mesh Convert to Editable PolyConvert to Edit Able Patch Convert to NURBS
Convert to EtSteifl? Spfrie Convert to EdtaUe Mesh Convert to Editable PolyConvert to Edit Able Patch Convert to NURBS
I Move /
I Move /
irveErStw..
>P»^:/.
irveErStw..
>P»^:/.
.. ЖI properties.
.. ЖI properties.
Рис. 4.8. Открытие подменю Convert To (Преобразовать)
Рис. 4.8. Открытие подменю Convert To (Преобразовать)
Wire Pefaffetere.
Wire Pefaffetere.
Можно не преобразовывать сплайновую фигуру в редактируемую, а назначить объекту модификатор Edit Spline (Редактирование сплайна). В результате применения этого модификатора объект наделяется всеми свойствами редактируемого сплайна.
ВНИМАНИЕ
В отличие от других сплайновых примитивов, объект Line (Линия) по умолчанию обладает всеми свойствами редактируемого сплайна, поэтому конвертировать его в редактируемый не имеет смысла.
Форма сплайнового объекта, преобразованного в редактируемый сплайн, может быть откорректирована на следующих уровнях подобъектов: Vertex (Вершина), Segment (Сегмент) и Spline (Сплайн), Для перехода в один из этих режимов редактирования выделите объект, перейдите на вкладку Modify (Изменение) командной панели и, развернув список в стеке модификаторов, переключитесь в нужный режим редактирования.
СОВЕТ
Переключаться между режимами редактирования можно при помощи кнопок в свитке Selection (Выделение), который присутствует в каждом режиме (рис. 4.9).
Рис. 4.9. Кнопки переключения режима редактирования подобьектов в свитке настроек Selection (Выделение)
Редактируемый сплайн имеет большое количество настроек, которые позволяют вносить любые изменения в структуру объекта. Например, при помощи кнопки Attach (Присоединить) в свитке Geometry (Геометрия) настроек объекта можно присоединить к данному объекту любой другой имеющийся в сцене.
В режиме редактирования подобъектов Vertex (Вершина) можно изменить характер поведения кривой в точках изломов. Точки излома — это участки, в которых кривая изгибается. Они могут выглядеть по-разному: в виде острых углов или закругленных участков. Чтобы измелить характер излома, в настройках режима редактирования Vertex (Вершина) установите переключатель New Vertex Туре (Тип излома вершины) в одно из положений: Linear (Прямой), Bezier (Безье), Smooth (Сглаженный) или Bezier Corner (Угол Безье). Тип излома вершин можно также изменить при помощи контекстного меню. Для этого нужно выделить необходимые вершины, щелкнуть правой кнопкой мыши в окне проекции и выбрать характер излома.
В зависимости от характера излома выделенные вершины по-разному отображаются в окне проекции: вершины типов Bezier (Безье) и Bezier Corner (Угол Безье) имеют специальные маркеры, с помощью которых можно управлять формой искривления.
Создание трехмерных объектов на основе сплайнов
Как мы уже говорили выше, на основе сплайновых фигур можно создавать сложные геометрические трехмерные объекты. Для этого используются модификаторы Surface (Поверхность), Lathe (Вращение вокруг оси), Sweep (Выгнутость), Extrude (Выдавливание) и Bevel (Выдавливание со скосом), а также составной объект Loft (Лофтинг). Рассмотрим наиболее часто используемые способы создания трехмерных объектов на основе сплайнов.
Создание поверхностей вращения
Если присмотреться к объектам, которые нас окружают, то можно заметить, что многие из них обладают осевой симметрией. Например, плафон люстры, тарелки, бокалы, кувшины, колонны и т. д. Все эти объекты в трехмерной графике создаются как поверхности вращения сплайнового профиля вокруг некоторой оси при помощи модификатора Lathe (Вращение вокруг оси). Этот модификатор назначается созданному сплайну, после чего в окне проекции появляется трехмерная поверхность, образованная вращением сплайна вокруг некоторой оси. Сплайновая кривая при этом может быть разомкнутой или замкнутой.
-Dsection--Dsection-Настройки модификатора Lathe (Вращение вокруг оси) (рис. 4.10) позволяют установить тип поверхности, получившейся в результате вращения сплайнового профиля. Это может быть Patch (Патч-поверхность), Mesh (Поверхность) или NURBS (NURBS-поверхность). Кроме этого, при создании объекта можно устанавливать угол вращения профиля в диапазоне от 0 до 360°.
-Dsection-
-Dsection-
~А^
Min J Center1! Max J
-Output-—
Г Fetch
a M«h
Г NURBS j Г Generate Mapping Coach ; F Ree^WoiidMap Etc , P Generate MacneilDt
Г Ute Shape IDt
' P Smooth
6
Рис. 4.10. Настройки модификатора Lathe (Вращение вокруг оси): а — верхняя часть, б — нижняя
Создание трехмерных объектов методом лофтинга
Для построения трехмерной модели методом лофтинга необходимо создать два сплайна. Одна трехмерная кривая определяет сечение модели, а вторая — траекторию, вдоль которой это сечение будет располагаться. Самый простой пример модели, выполненной с помощью этого метода, — картинная рама. Для ее создания нужно использовать два сплайна: прямоугольной формы и с формой уголка. Прямоугольная кривая в этом случае определяет форму рамки, а замкнутый сплайн в виде уголка — сечение.
Чтобы понять, как использовать метод лофтинга, выполните модель незаточенно- го карандаша следующим образом. Создайте два сплайновых объекта — Line (Линия) и NGon (Многоугольник) (рис. 4.11).
Рис. 4.11. Два сплайновых объекта, из которых получится карандаш
Выделите объект Line (Линия). Перейдите на вкладку Create (Создание) командной панели, щелкните на кнопке Geometry (Геометрия), в ракрывающемся списке выберите строку Compound Objects (Составные объекты) и нажмите кнопку Loft (Лофтинг). Щелкните на кнопке Get Shape (Получить форму) и выделите в окне проекции шестиугольник. Основа карандаша готова. Моделирование можно завершить, поместив внутрь объекта цилиндр с небольшим радиусом, который будет играть роль грифеля (рис. 4.12),
Рис. 4.12. Карандаш, созданный методом лофтинга
Преобразование сплайна при помощи модификатора Sweep (Выгнутость)
Модификатор Sweep (Выгнутость) — еще один инструмент для превращения сплайна в трехмерный объект. Настройки любой трехмерной кривой, которая создается в 3ds Мах, дают возможность визуализировать ее с круглым или квадратным сечением. Модификатор Sweep (Выгнутость) позволяет визуализировать сплайн со значительно большим количеством профилей. Среди них профили в форме уголка (Angle (Угол)), канавки (Channel (Канавка)), полукруга (Half Round (Полукруг)), полой круглой трубки (Pipe (Труба)), полой квадратной трубки (Tube (Трубка)) и др. (рис. 4.13). Профиль можно выбирать из списка Built In Section (Встроенные профили) свитка Section Туре (Тип профиля) настроек модификатора.
Рис. 4.13. Объекты, созданные с использованием встроенных профилей сечения модификатора Sweep (Выгнутость)
Возможности модификатора не ограничиваются применением профилей-заготовок. В качестве профиля можно использовать сплайновый профиль, созданный вручную. Для этого необходимо установить переключатель в положение Use Custom Section (Использовать пользовательский профиль), нажать кнопку Pick (Выбрать) и указать сплайн в окне проекции.
Геометрическими размерами профиля, а также углами можно управлять, используя настройки свитка Sweep Parameters (Параметры выгнутости) (рис. 4.14).
Рис. 4.14. Настройки модификатора Sweep (Выгнутость)
Модификатор Sweep (Выгнутость) очень удобно использовать для архитектурного моделирования. Например, с его помощью можно быстро добавить плинтус, карнизы, оконные рамы и прочие элементы интерьера в трехмерную комнату.
Метод создания трехмерных объектов с помощью этого модификатора напоминает способ лофтинга.
Модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом)
При создании трехмерных моделей часто используются стандартные модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом), которые схожи по своему действию и применяются к любой сплайновой форме. Результатом действия этих модификаторов на сплайн является поверхность, созданная сечением выбранной сплайновой формы.
Разница между этими модифика торами заключается в том, что при использовании Bevel (Выдавливание со скосом) можно дополнительно управлять величиной скоса выдавливаемых граней. Кроме того, модификатор Bevel (Выдавливание со скосом) позволяет применять трехуровневое выдавливание, с помощью которого можно придавать красивую форму краям фигуры. На рис. 4.15 показаны настройки модификатора Bevel (Выдавливаю!е со скосом).
Рис. 4.15, Настройки модификатора Bevel (Выдавливание со скосом)
Особенно удобно использовать модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом) при разработке логотипов и работе с объемным текстом.
Если в окне проекции создать сплайновую форму Text (Текст), азатем применить к ней один из модификаторов выдавливания, то получится объемная надпись. С ней можно работать как и с любым другим трехмерным объектом (рис. 4.16). Если немного пофантазировать, то можно найти немало способов использования объемного текста в трехмерных сценах: от вывески при входе в магазин до елочных украшений.
Рис. 4.16. Объемный текст, созданный с помощью выдавливания
ПРИМЕЧАНИЕ
Вы можете получить дополнительную информацию о создании трехмерных объектов на основе сплайнового текста, просмотрев видеоурок, посвященный этому способу моделирования. Запустите файл maxtext.avi, который находится на прилагаемом к книге компакт-диске в папке с h04/v ideotutors. Пример использования объемного текста в трехмерной сцене приведен ниже в этой главе.
Главной настройкой модификаторов Extrude (Выдавливание) и Bevel (Выдавливание со скосом) является амплитуда выдавливания. Для модификатора Bevel (Выдавливание со скосом) — это параметр Height (Высота), а для Extrude (Выдавливание) — Amount (Величина). Величину скоса задает параметр Outline (Масштаб).
Еще один модификатор, применяющийся для выдавливания, — Bevel Profile (Выдавливание со скосом по заданному профилю). Он действует на сплайн аналогично Bevel (Выдавливание со скосом), с той лишь разницей, что в настройках Bevel Profile (Выдавливание со скосом по заданному профилю) необходимо указывать трехмерную кривую, вдоль которой будет выдавливаться сплайн (рис. 4.17).
-* Ни ■ 6 I Q
Рис. 4.17. Настройки модификатора Bevel Profile (Выдавливание со скосом по заданному профилю)
Модификатор Extrude (Выдавливание) имеет несколько меньшие возможности по сравнению с Bevel Profile (Выдавливание со скосом по заданному профилю), однако разработчики трехмерной графики очень часто используют Extrude (Выдавливание). В частности, с его помощью удобно создавать геометрию помещений, моделируя сложные коридоры.
ПРИМЕЧАНИЕ
Дополнительную информацию о создании трехмерных объектов на основе сплайнов вы можете получить, просмотрев видеоурок, посвященный этому способу моделирования. Запустите файл splines.avi, который находится на прилагаемом к книге компакт-диске в папке ch04/videotutors.
Создание бокала как поверхности вращения
Поскольку такой объект, как бокал, представляет собой геометрическую фигуру, образованную вращением сплайна вокруг некоторой оси, логично для построения поверхности вращения использовать стандартный модификатор Lathe (Вращение вокруг оси). Перейдите на вкладку Create (Создание) командной панели, в категории Shapes (Формы) выберите строку Splines (Сплайны). При помощи инструмента Line (Линия) создайте в окне проекции Front (Спереди) или Left (Слева) сплайн (рис. 4.18).
Выделите объект в окне проекции и перейдите на вкладку Modify (Изменение) командной панели. Разверните список Line (Линия) в стеке модификаторов и переключитесь в режим редактирования Vertex (Вершина) (рис. 4.19).
Рис. 4.18. Сплайн, повторяющий форму сечения бокала
Рис. 4.19. Настройки объекта Une (Линия) в режиме редактирования Vertex (Вершина)
Передвиньте вершины так, чтобы форма стенки бокала была наиболее удачной. При необходимости задайте поведение сплайна в выделенной вершине. Для этого щелкните правой кнопкой мыши на узле сплайна и в появившемся контекстном меню программы выберите один из возможных вариантов — Bezier Corner (Угол Безье), Bezier (Безье), Corner (Угол) или Smooth (Сглаженный). Выйдите из режима редактирования подобъектов и в списке стандартных модификаторов выберите строку Lathe (Вращение вокруг оси).
В свитке Parameters (Параметры) настроек модификатора Lathe (Вращение вокруг оси) при помощи кнопки Y в области Direction (Направление) выберите ось, вокруг которой будет происходить вращение сплайна. После этого в окне проекции сплайн превратится в фигуру вращения вокруг выбранной оси (рис. 4.20).
Рис. 4.20. Сплайн после применения модификатора Lathe (Вращение вокруг оси)
Полученная модель не совсем похожа на объект, который нам необходимо создать. Усовершенствуем его. Определим положение для оси вращения. Для этого в области Align (Выравнивание) настроек модификатора нажмите кнопку Min (Минимальный). Выбранная ранее ось вращения будет автоматически выровнена по краю модели.
Осталось выбрать тип редактируемой поверхности, с которой в дальнейшем предстоит работать. При помощи переключателя Output (Результат) в настройках модификатора можно выбрать один из трех типов поверхности: Patch (Полигональная поверхность), Mesh (Поверхность) и NURBS (NURBS-поверхность).
Результат выполнения примера показан на рис. 4.21.
Рис. 4.21. Готовая модель бокала, созданная как поверхность вращения сплайна вокруг некоторой оси
ПРИМЕЧАНИЕ
Готовая модель бокала находится на прилагаемом к книге компакт-диске в папке ch04/examples. Файл называется bokal.max.
Объемный текст на камне
В трехмерных сценах часто приходится работать с объемным текстом. С его помощью можно, например, создать логотип какой-нибудь компании, дорожный указатель, вывеску и т. д. Несмотря на то, что работать с объемным текстом просто и удобно, многие начинающие разработчики трехмерной графики сталкиваются с проблемой правильного расположения объемного текста. Например, если объемный текст используется в сцене для имитации вывески магазина, то проблем у дизайнера возникнуть не должно. Однако если трехмерный текст необходимо разместить по периметру неоднородного камня, то сделать это будет не так и легко. Рассмотрим простой и в то же время эффективный способ, который позволяет решить данную задачу.
Сначала создадим камень. Для этого будем использовать простой примитив Sphere (Сфера), Перейдите на вкладку Create (Создание) командной панели, в категории
Geometry (Геометрия) выберите строку Standard Primitives (Простые примитивы) и нажмите кнопку Sphere (Сфера). В настройках объекта укажите Radius (Радиус) равным 100, a Segments (Количество сегментов) установите около 150.
ВНИМАНИЕ
Задавать настолько большое количество сегментов в обычных сценах нужно не всегда. В данном случае мы выбираем такое большое значение параметра Segments (Количество сегментов) для того, чтобы в дальнейшем не тратить время на редактирование поверхности, к которой будет примыкать трехмерный текст. Коррекция поверхности может понадобиться, если текст неправильно выровнен относительно объекта. В этом случае проблему можно решить, добавляя новые полигоны методом разбиения поверхностей.
Чтобы сфера выглядела неровной, примените к ней стандартный модификатор Noise (Шум). В области Noise (Шум) настроек модификатора установите флажок Fractal (Фрактальный). Значение параметра Strength (Сила действия) вдоль каждой из трех осей (X, Y, Z) укажите равным 25. Сфера на данном этапе моделирования показана на рис. 4.22.
Рис. 4.22. Сфера после применения модификатора Noise (Шум)
В окне проекции создайте сплайновый текст. Обычно для формирования объемного текста пользователи 3ds Мах прггменяют к созданному в окне проекции сплайновому тексту модификатор Bevel (Выдавливание со скосом) или Extrude (Выдавливание). В нашем случае трехмерный текст будет смоделирован немного иначе.
Перейдите на вкладку Create (Создание) командной панели, в категории Shapes (Формы) выберите строку Splines (Сплайны) и нажмите кнопку Text (Текст). Щелкните в любом свободном месте окна проекции левой кнопкой мыши, создав тем самым текстовый сплайн (рис. 4.23).
Рис. 4.23. Текстовый сплайн в окне проекции Perspective (Перспектива)
По умолчанию программа устанавливает в качестве текстовой надписи фразу «МАХ Text». Если требуется ее изменить, то это можно сделать в окне Text (Текст) свитка Parameters (Параметры) настроек объекта. Поверните текст на 90° ио оси Z и расположите его таким образом, чтобы он был напротив камня.
Теперь необходимо создать объемную деформацию Conform (Согласование). Перейдите на вкладку Create (Создание) командной панели, в категории Space Warps (Объемные деформации) выберите строку Geometric/Deformable (Геометрические/ деформирующиеся) и нажмите кнопку Conform (Согласование).
В свитке Conform Parameters (Параметры согласования) настроек созданного объекта (рис. 4.24) при помощи кнопки Pick Object (Взять объект) укажите объект Sphere (Сфера), то есть камень.
Положение в сцене объемной деформации Conform (Согласование) должно быть таким, чтобы значок объекта был параллелен надписи, а сам текст располагался между объемной деформацией и камнем. После того как вы должным образом расставите объекты в сцене, свяжите объемную деформацию Conform (Согласование) с текстом при помощи кнопки Bind to Space Warp (Связать с объемной деформацией) на панели инструментов. Результат выполнения описанных действий показан на рис. 4.25.
|ConfotmObject01
Рис. 4.24. Настройки объемной деформации Conform (Согласование)
Рис. 4.25. Сцена после создания объемной деформации Conform (Согласование)
После того как вы свяжете объемную деформацию Conform (Согласование) с текстом, в сцене произойдут изменения. Текстовый сплайн изогнется и расположится на поверхности камня. Если визуализировать изображение на данном этапе создания сцены, то ничего кроме камня видно не будет (рис. 4.26), поскольку сплайн еще не преобразован в объемный текст.
Рис. 4.26. Первая пробная визуализация сцены
Чтобы в визуализированном изображении увидеть, как текст огибает поверхность камня, выделите сплайновый текст, перейдите на вкладку Modify (Изменение) командной панели и присвойте объекту модификатор Edit Mesh (Редактирование поверхности). Визуализируйте изображение (рис. 4.27).
В этом изображении текст стал виден, однако он еще не объемный. На первый взгляд может показаться, что осталось использовать модификатор Bevel (Выдавливание со скосом) или Extrude (Выдавливание), и сцена будет готова, — но это не так. Если применить один из перечисленных модификаторов, то можно увидеть, что объемная деформация Conform (Согласование) не позволяет тексту выступать над поверхностью камня. Чтобы сделать его объемным, необходимо выполнить следующие действия. Выделите объект в окне проекции и выполните команду Tools ► Snapshot (Инструменты ► Снимок). В открывшемся окне установите переключатель Clone Method (Метод клонирования) в положение Mesh (Поверхность).
После этого вы получите точную копию искривленного текста в виде Editable Mesh (Редактируемая поверхность), на которую объемная деформация Conform (Согласование) не оказывает никакого действия. Выделите новый объект в сцене, перейдите на вкладку Modify (Изменение) командной панели и, развернув список в стеке модификаторов, переключитесь в режим редактирования Polygon (Полигон).
В свитке Edit Geometry (Редактирование геометрических характеристик) снимите флажок Refine Ends (Очистить концы) и нажмите кнопку Extrude (Выдавливание). Произведите выдавливание всех полигонов объекта на некоторое расстояние.
В итоге вы должны получить изображение, показанное на рис. 4.28.
Рис. 4.27. Повторная визуализация сцены
Рис. 4.28. Объемный текст на камне
ПРИМЕЧАНИЕ
Готовая сцена с эффектом текста на камне находится на прилагаемом к книге компактдиске в папке ch04\examples. Файл сцены называется text_na_kamne. max. Вы можете открыть его и проанализировать настройки.
При создании подобного эффекта очень интересного результата можно добиться, используя различные шрифты. В 3ds Мах можно работать со всеми шрифтами, установленными в системе. Для выбора гарнитуры шрифта используйте соответствующий раскрывающийся список в свитке Parameters (Параметры) настроек объекта Text (Текст) на командной панели.
Глава 5
Моделирование при помощи редактируемых поверхностей
Editable Mesh (Редактируемая поверхность)
Моделирование ложки и тарелки
Editable Poly (Редактируемая полигональная поверхность)
Еще один используемый в трехмерной графике способ моделирования — работа с редактируемыми поверхностями. Программа 3ds Мах 8 позволяет работать со следующими типами редактируемых поверхностей:
Editable Mesh (Редактируемая поверхность);
Editable Poly (Редактируемая полигональная поверхность):
Editable Patch (Редактируемая патч-поверхность);
NURBS Surface (NURBS-поверхность).
Практически любой объект 3ds Мах 8 можно преобразовать в один из этих типов поверхностей. Для этого правой кнопкой мыши вызовите контекстное меню, щелкните на пункте Convert То (Преобразовать) и в появившемся подменю выберите один из типов (рис. 5.1).
Is date SelectionIs date SelectionMoveMoveScaleScale"Sone :"Sone :■ Save Seen» State. .... Manage Scene States..■ Save Seen» State. .... Manage Scene States..ConverttoEdtlablJifilyConvert.to Editable Fetch : ■ Convert to NURBSConverttoEdtlablJifilyConvert.to Editable Fetch : ■ Convert to NURBS- Unhide by Name -ФпМе.М . ' " v Hide unselected• Hide Selection- Unhide by Name -ФпМе.М . ' " v Hide unselected• Hide Selection- ■ Unfreeze All. freexe Selection- ■ Unfreeze All. freexe Selection.. £ropertiBs kCutvs EditorDope Sheet..' Wire Parameters... £ropertiBs kCutvs EditorDope Sheet..' Wire Parameters.
Is date Selection
Is date Selection
Move
Move
Scale
Scale
"Sone :
"Sone :
■ Save Seen» State. ..
.. Manage Scene States..
■ Save Seen» State. ..
.. Manage Scene States..
ConverttoEdtlablJifily
Convert.to Editable Fetch : ■ Convert to NURBS
ConverttoEdtlablJifily
Convert.to Editable Fetch : ■ Convert to NURBS
- Unhide by Name -ФпМе.М . ' " v Hide unselected
• Hide Selection
- Unhide by Name -ФпМе.М . ' " v Hide unselected
• Hide Selection
- ■ Unfreeze All
. freexe Selection
- ■ Unfreeze All
. freexe Selection
.. £ropertiBs kCutvs Editor
Dope Sheet..
' Wire Parameters.
.. £ropertiBs kCutvs Editor
Dope Sheet..
' Wire Parameters.
Рис. 5.1. Выбор типа поверхности в контекстном меню
Вес эти методы построения поверхностей схожи между собой, различаются они настройками моделирования на уровне подобъектов. Переключаясь в различные режимы редактирования подобъектов, можно перемещать, масштабировать, удалять, объединять подобъекты.
В объектах типа Editable Mesh (Редактируемая поверхность) модель состоит из треугольных граней. Для работы с Editable Mesh (Редактируемая поверхность) можно использовать режимы редактирования Vertex (Вершина), Edge (Ребро), Face (Грань), Polygon (Полигон) и Element (Элемент),
Б объектах типа Editable Poly (Редактируемая полигональная поверхность) модель состоит из многоугольников. Для работы с такими объектами можно использовать режимы редактирования Vertex (Вершина), Edge (Ребро), Border (Граница), Polygon (Полигон) и Element (Элемент),
В объектах типа Editable Patch (Редактируемая патч-поверхность) модель состоит из лоскутов треугольной или четырехугольной формы, которые создаются сплайнами Безье. Особенность этого типа редактируемой поверхности — гибкость управления формой создаваемого объекта. Для работы с Editable Patch (Редактируемая патч-поверхность) можно использовать режимы редактирования Vertex (Вершина), Edge (Ребро), Patch (Патч), Element (Элемент) и Handle (Вектор) (рис. 5.2).
SphaeOljSphaeOljModtfiabst Modtfiabst Ъ Editable Pa!ch}— Vertex Edge• — Patch;— ElementЪ Editable Pa!ch}— Vertex Edge• — Patch;— Element20.0 MTW 20.020.0 MTW 20.0ShsdedFaMTojgie :ShsdedFaMTojgie :-» If ■■ ®-» If ■■ ®f- Sa^-SetownГ UteSotl-SelectiorГ f da* №wice [1:P Ailed E^yacmgI ■ ' ":|Flo* pT;Bubbletf- Sa^-SetownГ UteSotl-SelectiorГ f da* №wice [1:P Ailed E^yacmgI ■ ' ":|Flo* pT;Bubblet
SphaeOlj
SphaeOlj
Modtfiabst
Modtfiabst
Ъ Editable Pa!ch
}— Vertex Edge
• — Patch
;— Element
Ъ Editable Pa!ch
}— Vertex Edge
• — Patch
;— Element
20.0 MTW 20.0
20.0 MTW 20.0
ShsdedFaMTojgie :
ShsdedFaMTojgie :
-» If ■■ ®
-» If ■■ ®
f- Sa^-Setown
Г UteSotl-Selectior
Г f da* №wice [1:
P Ailed E^yacmg
I ■ ' ":|
Flo* pT;
Bubblet
f- Sa^-Setown
Г UteSotl-Selectior
Г f da* №wice [1:
P Ailed E^yacmg
I ■ ' ":|
Flo* pT;
Bubblet
Рис. 5.2. Настройки поверхности Editable Patch (Редактируемая патч-поверхность) в режиме редактирования Handle (Вектор)
NURBS Surface (NURBS-поверхность) — это поверхность, построенная на NURBS- кривых. Этот метод создания поверхностей основан на неоднородных рациональных В-сплайнах (Non Uniform Rational B-Spiines). Чаще всего данный способ используется для моделирования органических объектов, анимации лица персонажей. Этот метод является самым сложным в освоении, но вместе с тем самым гибким. На рис. 5.3 показаны настройки NUR8S Surface (NURBS-поверхность).
Рис. 5.3. Настройки NURBS Surface (NURBS-поверхность)
ВНИМАНИЕ
При работе с редактируемыми поверхностями не всегда можно вернуться на начальный этап работы над объектом, то есть преобразование объекта в редактируемую поверхность является необратимым. Вернуться на предыдущий этап работы вы сможете только при помощи отмены последнего действия (Undo (Откат)). Использовать эту команду можно столько раз, сколько указано в настройках программы.
Рассмотрим основные инструменты для работы с редактируемыми поверхностями тина Editable Mesh (Редактируемая поверхность) и Editable Poly (Редактируемая полигональная поверхность) подробнее.
Editable Mesh (Редактируемая поверхность)
Настройки режимов редактирования объединены в четыре основных свитка — Selection (Выделение), Soft Selection (Плавное выделение), Edit Geometry (Редактирование геометрических характеристик) и Surface Properties (Свойства поверхности). Эти свитки одинаковы для всех режимов, однако инструменты в них могут отличаться в зависимости от выбранного типа подобъектов.
Свиток Selection (Выделение)
Свиток Selection (Выделение) содержит настройки выделения подобъектов. С помощью этого свитка можно быстро переключаться между режимами редактирования подобъектов (рис. 5.4).
Рис, 5,4. Кнопки переключения между режимами редактирования подобъектов
При установке флажка Ignore Backfacing (Игнорировать невидимые участки) производится выделение только тех областей объектов, которые обращены к зрителю.
Редактируя поверхность, часто бывает удобно скрыть те или иные элементы оболочки. Поскольку стандартная команда Hide Selection (Скрыть выделение) в данном случае не позволяет этого сделать, эту операцию можно выполнить, используя кнопку Hide (Скрыть). Для отображения всех скрытых объектов сцены необходимо нажать кнопку Unhide AU (Отобразить все).
Свиток Soft Selection (Плавное выделение)
Свиток Soft Selection (Плавное выделение) позволяет использовать функцию плавного выделения (рис. 5.5). Эта возможность часто применяется в процессе моделирования трехмерных объектов. Суть этого метода состоит в том, чтобы при перемещении одного типа подобъектов на выделенные элементы объекта оказывалось воздействие с силой, зависящей от расстояния, на котором эти элементы находятся от центра выделения. Для включения этого режима нужно установить флажок Use Soft Selection (Использовать плавное выделение). Расстояние, на которое распространяется воздействие В режиме Soft Selection (Плавное выделение), устанавливается параметром Falloff (Спад). Характер распространения воздействия на прилегающие подобъекты определяется параметрами Pinch (Сужение) и Bubble (Выпуклость). В этом же свитке отображается кривая воздействия на выделенную область. При изменении значений параметров этого свитка кривая изменяет свою форму, что позволяет визуально определить характер выделения. Функция плавного выделения доступна во всех режимах редактирования подобъектов.
EZZ3is^^~J
P Use Sort Seieeton
П Edge Distance [T ^ [^ Afled fiaoktacing
Fataf^Pinch JiT6^Bubble" 10-0wnFataf^Pinch JiT6^Bubble" 10-0wn20.00.020,020.00.020,0
Fataf^
Pinch JiT6^
Bubble" 10-0wn
Fataf^
Pinch JiT6^
Bubble" 10-0wn
20.00.020,0
20.00.020,0
Рис. 5.5. Свиток Soft Selection (Плавное выделение)
Свиток Edit Geometry (Редактирование геометрических характеристик)
В свитке Edit Geometry (Редактирование геометрических характеристик) (рис. 5.6) расположены основные инструменты для работы с редактируемыми поверхностями. С помощью инструментов этого свитка вы можете создавать подобъекты (Create (Создать)), удалять их (Delete (Удалить)), присоединять к оболочке (Attach (Присоединить)) или, наоборот, отсоединять их (Detach (Отделить)), создавая отдельные объекты.
F ^аб^»1
Create |Delete
Attach |Detach
Divide trim
Evuy IfTT ;i Bevel J)00
Normal* Group T Local
SicePlane| Sice | Cut J Г Split
[ (v Refine Ends
. -Т?'^ I F~ Я_ргта«
TaawWe.JjAo ;
by Г Edge * Face-Cerie,
, Explode |(?l,8 ta * Qbfgd, Г Element)
' _ Ben™» BoWed Verteev |
Select Open Edges |
i Create Shape from Edges I
VewAtoe [ GndAtgi |
Make Planer]CoHapie j1
Рис. 5.6. Свиток Edit Geometry (Редактирование геометрических характеристик)
Один из инструментов, который часто используется при редактировании поверхностей, — Extrude (Выдавливание). С помощью этой операции можно произвести перемещение выделенных подобъектов на определенную длину (рис. 5.7). Другой инструмент — Bevel (Выдавливание со скосом) —- по своему действию напоминает Extrude (Выдавливание), однако, в отличие от последнего, позволяет производить выдавливание выделенного подобъекта под определенным углом, что позволяет управлять его площадью (рис. 5.8). Инструмент Bevel (Выдавливание со скосом) используется только в режимах редактирования Polygon (Полигон) и Face (Грань). Инструмент Chamfer (Фаска) используется для создания фаски на месте ребра или вершины (рис. 5.9).
Рис. 5.7. Использование инструмента Extrude (Выдавливание) по отношению к выделенным полигонам
При использовании инструментов Extrude (Выдавливание) и Bevel (Выдавливание со скосом) результат их воздействия зависит от положения переключателя Normal (Нормаль); Group (Общие) или Local (Выборочные). В первом случае используется усредненная нормаль по всем выделенным подобъектам, а во втором выдавливание происходит в направлении нормалей каждого выделенного подобъекта.
В большинстве случаев для применения того или иного инструмента редактирования можно использовать два метода. Первый — устанавливая вручную числовые значения в поле рядом с тем типом инструмента, который вы используете. Второй — нажав кнопку с названием инструмента и производя операцию указателем мыши в окне проекции.
Рис. 5.8. Использование инструмента Bevel (Выдавливание со скосом) по отношению к выделенным полигонам
Рис. 5.9. Фаска, созданная при помощи инструмента Chamfer (Фаска) на угловой вершине куба
Некоторые инструменты редактируемых поверхностей по своему действию напоминают модификаторы 3ds Мах. Кроме рассмотренных выше инструментов Extrude (Выдавливание) и Bevel (Выдавливание со скосом), напоминающих одноименные модификаторы (см. гл. 4), в свитке Edit Geometry (Редактирование геометрических характеристик) содержится аналог модификатора Slice (Срез) (подробнее см. в гл, 6). Этот инструмент называется Slice Plane (Плоскость среза). После нажатия кнопки с таким названием в середине объекта появится схематически обозначенная плоскость. С помощью этой плоскости можно разрезать подобъекты, изменяя таким образом топологию редактируемой поверхности.
Плоскость можно перемещать вдоль осей, вращать и масштабировать. После подбора требуемого положения плоскости среза необходимо нажать кнопку Slice (Срез), после чего будет произведена операция разрезания (рис. 5.10). Если нужно разделить полученные части, проследите, чтобы перед использованием этого инструмента был установлен флажок Split (Разделить).
Рис. 5.10. Сетчатая оболочка куба после разрезания поверхности плоскостью, повернутой на 45'
ВНИМАНИЕ
Перед применением инструмента Slice Plane (Плоскость среза) необходимо выделить полигоны, которые нужно разрезать.
Если необходимо разрезать оболочку объекта вручную, используется инструмент Cut (Разрез).
В процессе редактирования оболочки Editable Mesh (Редактируемая поверхность) может возникнуть необходимость увеличить плотность полигональной структуры. Это может понадобиться, например, в тех случаях, когда необходимо увеличить разрешение оболочки модели в месте сгиба (представьте локтевой сустав персонажа или лицевой мускул). Для этих целей служит операция Tessellate (Разбиение граней) (рис. 5.11). Топология сетчатой поверхности, образованной в результате использования инструмента разбиения подобъектов, зависит оттого, в каком положении находится переключатель by (Разбить по). Если выбран режим уплотнения полигональной структуры Edge (По ребру), то на месте разбиваемой грани образуются четыре новые грани, если же используется режим Face-Center (По центру грани), то на месте разбиваемой грани образуются три новые. Операция Tessellate (Разбиение граней) работает в режимах редактирования подобъектов Face (Грань), Polygon (Полигон) и Element (Элемент),
Рис. 5.11. Полигональная структура куба до (слева) и после (справа) применения операции Tessellate (Разбиение граней)
Инструмент Explode (Взрыв) по своему действию напоминает объемную деформацию Bomb (Бомба) (см. гл. 3). Воздействуя на выделенные подобъекты этим инструментом, можно преобразовать их в самостоятельные объекты или элементы редактируемой оболочки.
Инструмент Collapse (Удаление) удаляет выделенный подобъект, стягивая на его место прилегающие подобъекты (рис. 5.12).
Рис. 5.12. Полигональная структура куба до (слева) и после (справа) применения операции Collapse (Удаление)
Свиток Surface Properties (Свойства поверхности)
Свиток Surface Properties (Свойства поверхности) используется для определения участков сглаживающих групп. Чтобы назначить выбранным подобъектам определенную группу сглаживания, необходимо выделить требуемые подобъекты, после чего ввести нужный номер сглаживающей группы и нажать Enter (рис. 5.13).
ПРИМЕЧАНИЕ
При работе с любыми трехмерными поверхностями часто используется термин -группы сглаживания». Группой сглаживания называется совокупность граней, к которым применено автоматическое сглаживание. Примыкающие друг к другу группы сглаживания образуют острые ребра. Например, две группы сглаживания присутствуют в примитиве конус, один из радиусов которого равен нулю. Боковая поверхность примитива образует первую группу сглаживания, а его нижняя поверхность — вторую, поэтому на их пересечении можно наблюдать острые ребра. Другой примитив — сфера — имеет лишь одну группу сглаживания, поэтому острых ребер на ней нет.
Рис. 5.13. Свиток Surface Properties (Свойства поверхности)
Моделирование ложки и тарелки
В этом примере мы создадим модели ложки и тарелки, используя инструменты редактирования поверхности Editable Mesh (Редактируемая поверхность).
В качестве исходного объекта для редактирования модели ложки выберем примитив Capsule (Капсула). Для его создания перейдите на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выберите строку Extended Primitives (Сложные примитивы) и нажмите кнопку Capsule (Капсула).
Задайте объекту следующие значения параметров: Radius (Радиус) — 7, Height (Высота) - 25, Sides (Количество сторон) — 3, Height Segs (Количество сегментов по высоте) — 1. Установите флажок Slice On (Удалить) и выберите значение параметра Slice From (Удалить от) равным 0, а параметра Slice То (Удалить до) — 180. Поверните объект вокруг оси X на 90° (рис. 5.14).
Преобразуйте объект в Editable Mesh (Редактируемая поверхность). Для этого щелкните правой кнопкой мыши на объекте и в появившемся контекстном меню выполните команду Convert То > Convert to Editable Mesh (Преобразовать ► Преобразовать в редактируемую поверхность) (см. рис. 5.1).
Созданный объект больше всего похож вату часть ложки, которой набирается еда, — па черпак. Поверхности нужно придать вогнутую форму. Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку Editable Mesh (Редактируемая поверхность) в стеке модификаторов, щелкнув на плюсике, расположенном рядом. Переключитесь в режим редактирования Edge (Ребро).
Рис. 5.14. Объект Capsule (Капсула) — основа для модели ложки
В свитке Selection (Выделение) установите флажок Ignore Backfacing (Игнорировать невидимые участки), чтобы при редактировании поверхности случайно не «зацепить» лишнее ребро (рис. 5.15). Выделите ребро, лежащее в центре объекта (рис. 5,16).
Рис. 5.15. Свиток Selection (Выделение)
Перейдите в окно проекции Front (Спереди) или Left (Слева) и передвиньте это ребро вниз вдоль оси Y так, чтобы оно не вышло за пределы оболочки объекта (рис. 5.17).
Рис. 5.16. Выделение ребра
Рис. 5.17. Перемещение ребра в окне Front (Спереди)
Теперь необходимо создать ручку ложки. Для этого следует добавить к краю объекта область, из которой будет «расти» ручка. Переключитесь в режим редактирования Vertex (Вершина).
Выделите вершину, образующую один из острых углов объекта (рис. 5.18). В свитке Edit Geometry (Редактирование геометрических характеристик) нажмите кнопку Chamfer (Фаска) и установите значение этого параметра в поле, расположенном рядом, равным 4,4. На месте вершины будет образован новый полигон (рис. 5.19).
Рис. 5.18. Выделение вершины, на месте которой будет крепиться ручка ложки
Переключитесь в режим редактирования Polygon (Полигон). Выделите созданный только что полигон. При этом он окрасится в красный цвет. В свитке Edit Geometry (Редактирование геометрических характеристик) установите значение параметра в поле, расположенном рядом с кнопкой Extrude (Выдавливание), равным 2,3. Установите значение параметра в поле, расположенном рядом с кнопкой Bevel (Выдавливание со скосом), равным -0,5. При помощи команды Rotate (Вращение) поверните выделенный полигон на 10° вдоль оси X (рис. 5.20).
Трижды выполните операцию Extrude (Выдавливание), установив значение параметра в поле, расположенном рядом с этой кнопкой, равным 11. В результате получится ручка (рис. 5.21).
Осталось расширить ручку на торце, чтобы ложку было удобно держать в руке. Для этого, не снимая выделение с полигона, выполните операцию Scale (Масштабирование) вдоль оси X (рис. 5.22).
Рис. 5.19. Полигон, образованный в результате использования инструмента Chamfer {Фаска}
Рис. 5.20. Вид модели после поворота
Рис, 5.21. Ручка, полученная в результате выполнения операции Extrude (Выдавливание)
Рис, 5.22. Вид модели ложки после масштабирования
Выйдите из режима редактирования Polygon (Полигон), щелкнув в стеке модификаторов на строке Editable Mesh (Редактируемая поверхность). Выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка Modifier List (Список модификаторов) модификатор MeshSmooth (Сглаживание). В свитке Subdivision Amount (Количество разбиений) настроек модификатора установите значение параметра Iterations (Количество итераций) равным 2 (это необходимое количество итераций для сглаживания острых углов) (рис. 5.23). После применения модификатора угловатая модель превратится в ложку (рис. 5.24).
Рис. 5.23. Свиток настроек Subdivision Amount (Количество разбиений) модификатора MeshSmooth (Сглаживание)
Рис. 5.24. Модель ложки после применения модификатора MeshSmooth (Сглаживание)
Чтобы окончательно подкорректировать модель, раскройте строку MeshSmooth (Сглаживание) в стеке модификаторов, щелкнув на плюсике, и переключитесь в режим редактирования Edge (Ребро) или Vertex (Вершина) модификатора MeshSmooth (Сглаживание). Например, в нашем случае лучше расширить вогнутую часть ложки, передвинув управляющие ребра от центра (рис. 5.25).
Рис. 5.25. Вид ложки после коррекции
ПРИМЕЧАНИЕ
Готовая модель ложки находится на прилагаемом к книге компакт-диске в папке chO5/ examples. Файл сцены называется lozhka.max.
Теперь перейдем к созданию тарелки. Этот объект — гораздо более простой, чем ложка, поэтому ее создание не должно вызвать у вас трудностей. Смоделируем тарелку при помощи стандартного примитива Cylinder (Цилиндр).
Создайте в окне проекции стандартный примитив Cylinder (Цилиндр) со следующими значениями параметров: Radius (Радиус) — 30, Height (Высота) — 2, Height Segments (Количество сегментов по высоте) — 1, Cap Segments (Количество сегментов в основании) — 1, Sides (Количество сторон) — 13 (рис. 5.26).
Преобразуйте объект в Editable Mesh (Редактируемая поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert То > Convert to Editable Mesh (Преобразовать ► Преобразовать в редактируемую поверхность).
Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку Editable Mesh (Редактируемая поверхность) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон). В окне
проекции выделите верхний полигон цилиндра. При этом он окрасится в красный цвет.
Рис. 5.26. Объект Cylinder (Цилиндр) — основа модели тарелки
В свитке Edit Geometry (Редактирование геометрических характеристик) установите значение параметра в поле, расположенном рядом с кнопкой Extrude (Выдавливание), равным 2,6. Задайте значение параметра в поле, расположенном рядом с кнопкой Bevel (Выдавливание со скосом), равным -2 (рис. 5.27).
Перейдите в окно проекции Front (Спереди) или Left (Слева) и выделите полигоны, расположенные по периметру образовавшейся фаски объекта (рис. 5.28).
ВНИМАНИЕ
Проследите, чтобы в свитке настроек Selection (Выделение) был снят флажок Ignore Backfacing (Игнорировать невидимые участки). В противном случае вам не удастся выделить поверхность объекта полностью, так как полигоны с обратной стороны останутся невыделенными.
В свитке Edit Geometry (Редактирование геометрических характеристик) измените положение переключателя Normal (Нормаль), установив его в положение Local (Выборочные). Установите значение параметра в поле, расположенном рядом с кнопкой Extrude (Выдавливание), равным 15 (рис. 5.29).
Рис. 5.27. Объект после выполнения операций Extrude (Выдавливание) и Bevel (Выдавливание со скосом)
Рис. 5.28. Выделение полигонов по периметру объекта
Рис. 5.29. Вид модели после выдавливания
Выйдите из режима редактирования Polygon (Полигон), выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка Modifier List (Список модификаторов) модификатор MeshSmooth (Сглаживание). В свитке Su bdivision Amount (Количество разбиений) настроек модификатора установите значение параметра Iterations (Количество итераций) равным 3. В свитке Parameters (Параметры) установите флажки Smooth Result (Сгладить результат) и Separate by Smoothing Groups (Разделить по группам сглаживания) (рис. 5.30).
Рис. 5.30. Настройки объекта в свитке Parameters (Параметры)
После применения модификатора MeshSmooth (Сглаживание) угловатая модель превратится в тарелку (рис. 5.31).
Рис. 5.31. Готовая модель тарелки
ПРИМЕЧАНИЕ
Готовая модель тарелки находится на прилагаемом к книге компакт-диске в папке chO5/exampIes. Файл сцены называется tarelka.max.
Editable Poly (Редактируемая полигональная поверхность)
Инструментарий редактируемой поверхности Editable Poly (Редактируемая полигональная поверхность) напоминает средства редактирования поверхности Editable Mesh (Редактируемая поверхность), однако он имеет дополнительные возможности.
Настройки режимов редактирования объединены в шесть свитков — Selection (Выделение), Soft Selection (Плавное выделение), Edit Geometry (Редактирование геометрических характеристик), Subdivision Surface (Поверхность разбиения). Subdivision Displacement (Смещение разбиения) и Paint Deformation (Деформация кистью). Эти свитки одинаковы для всех режимов, однако инструменты в них могут различаться в зависимости от выбранного типа подобъектов. Кроме этого, имеются дополнительные свитки, которые изменяются в зависимости от режима.
Свиток Selection (Выделение)
Свиток Selection (Выделение) содержит настройки для выделения подобъектов (рис. 5.32). Как и при редактировании поверхности типа Editable Mesh (Редактируемая поверхность), с его помощью можно быстро переключаться между режимами редактирования подобъектов. Кроме этого, данный свиток содержит уже знакомый вам параметр Ignore Backfacing (Игнорировать невидимые участки).
Рис, 5.32. Свиток Selection (Выделение) объекта типа Editable Poly (Редактируемая полигональная поверхность)
В отличие от Editable Mesh (Редактируемая поверхность), здесь также есть инструмент Grow (Выращивать). Его очень удобно использовать, когда необходимо увеличить радиус выделения. При каждом последующем нажатии кнопки Grow (Выращивать) к выделенной области добавляются примыкающие подобъекты. Действие Shrink (Сокращать) является обратным операции Grow (Выращивать). Так, если использовать эту функцию для группы выделенных подобъектов, то при каждом последующем нажатии кнопки Shrink (Сокращать) будет убираться выделение крайних подобъектов.
Инструменты Ring (По кругу) и Loop (Кольцо) используются только в режимах редактирования подобъектов Edge (Ребро) и Border (Граница). Первый инструмент позволяет выделить подобъекты по периметру модели, а второй — те, которые расположены на одной линии с выделенными. Удобные инструменты прокрутки, расположенные рядом с кнопками, позволяют перенести выделение на прилегающие области. Каждый щелчок на инструменте прокрутки смещает выделение на одно ребро или на одну границу.
Свиток Soft Selection (Плавное выделение)
Инструменты свитка Soft Selection (Плавное выделение) повторяют те, которые доступны при редактировании поверхности типа Editable Mesh (Редактируемая поверхность). Однако они дополнены областью Paint Soft Selection (Плавное выделение кистью) (рис. 5.33). С помощью находящихся там инструментов можно вручную определять характер мягкого выделения, используя виртуальную кисть. Чтобы наблюдать выделение с помощью инструмента Paint Soft Selection (Плавное выделение кистью), необходимо до начала его использования, нажав кнопку Shaded Face Toggle (Переключение в режим затененных поверхностей), включить режим, при котором подобъекты будут по-разному окрашиваться в зависимости от степени влияния на них выделения (рис. 5.34).
Рис. 5.33. Свиток Soft Selection (Плавное выделение) объекта типа Editable Poly (Редактируемая полигональная поверхность)
Рис. 5.34. Результат выделения в режиме Soft Selection (Плавное выделение) с помощью инструмента Paint Soft Selection (Плавное выделение кистью)
Для более точной настройки параметров кисти можно использовать окно Painter Options (Настройки рисования), которое вызывается кнопкой Brush Options (Настройки кисти) (см. ниже). Используя кривую деформации в данном окне, вы можете точно описать профиль выдавливаемой поверхности.
Свиток Edit Geometry (Редактирование геометрических характеристик)
Инструменты, которые в Editable Mesh (Редактируемая поверхность) вынесены в свиток Edit Geometry (Редактирование геометрических характеристик), в Editable Poly (Редактируемая полигональная поверхность) разбиты на два свитка. Это объясняется тем, что инструментов редактирования Editable Poly (Редактируемая полигональная поверхность) значительно больше. Первый свиток носит переменное название — Edit Vertices (Редактирование вершин), Edit Polygons (Редактирование полигонов), Edit Edges (Редактирование ребер), Edit Borders (Редактирование границ) и Edit Elements (Редактирование элементов), а второй — постоянное, Edit Geometry (Редактирование геометрических характеристик).
В свитке Edit Geometry (Редактирование геометрических характеристик) (рис. 5.35) присутствуют знакомые вам инструменты создания (Create (Создание)), присоединения к оболочке (Attach (Присоединить)) и отсоединения от нее (Detach (Отделить)), два инструмента разрезания — Slice Plane (Плоскость среза) и Cut (Разрез), а также инструменты разбиения Tessellate (Разбиение граней) и удаления Collapse (Удаление). Сюда еще вынесены инструменты для скрытия (Hide Selected (Скрыть выделенное)) и отображения (Unhide All (Показать все)) выделенных подобъектов.
Repeat L«t J
| Conttrank [№пГ
. Г" Pi e serve UVs D|
Create j CoSapse : Attach ]□' Detach '
Sk» Plane : Г Sp6t
QmckSfce i Cut ]
H^jQj legate |.C5 [
Make Planar j X| Z]
View Altyn : Grid Aftgn
Rolan jO|
Hm& Selected; . Unhide All |
Hide Undetected ■
Named Selected
_.„pw 1£tS5._I
P Delete Isolated Vertices
P Full Intet^MtyI
Рис. 5.35. Свиток Edit Geometry (Редактирование геометрических характеристик) объекта типа Editable Poly (Редактируемая полигональная поверхность)
Некоторые инструменты Editable Poly (Редактируемая полигональная поверхность) содержат небольшой значок Settings (Настройки), расположенный справа от кнопки с названием инструмента. С ее помощью осуществляется доступ к настройкам инструмента. Эта кнопка заменяет поле ввода числовых значений, которое присутствует в инструментах Editable Mesh ( Редактируемая поверхность).
Инструмент MSmooth (Сглаживание) является аналогом модификатора MeshSmooth (Сглаживание), однако, в отличие от последнего, работает с выделенными нодобъек- тами. Инструмент Relax (Ослабление) также повторяет действие одноименного модификатора (см. гл. 6).
Кнопка Repeat last (Повторить последнее действие) позволяет повторить действие последнего инструмента, использовавшегося при редактировании Editable Poly (Редактируемая полигональная поверхность).
Свиток редактирования подобъектов
В свитке, название которого, напомним, изменяется в зависимости от того, какой режим редактирования подобъектов выбран, вы увидите уже привычные инструменты Extrude (Выдавливание), Bevel (Выдавливание си скосом), Chamfer (Фаска) (рис. 5.36). По сравнению с подобным инструментом Editable Mesh (Редактируемая поверхность), возможности инструмента Chamfer (Фаска) шире. Например, когда вы используете Chamfer (Фаска) .для Editable Poly (Редактируемая полигональная поверхность), поверхности, образованные в результате применения инструмента, можно удалить.
М Polygons" ■ |
_ insert vertex
tigudejnl OwSH® jOi
B«vei Io; . inwt |n;
Bridge Ip Flip _;
Hm^e Frc^n Edge iO:
Extrude Along S pline i □'
_ У* T™ygiJMi«-i
Retriangulate. Tun |
Рис. 5.36. Свиток Edit Polygons (Редактирование полигонов) объекта типа Editable Poly (Редактируемая полигональная поверхность)
Инструмент Outline (Контур), присутствующий только в режиме редактирования Polygon (Полигон), позволяет управлять площадью выделенного полигона. При помощи Bridge (Мост) можно управлять формой трехмерной оболочки, выстраивая полигоны между двумя и более выделенными элементами сетки модели (рис. 5.37). Этот инструмент доступен в режимах Polygon (Полигон), Edge (Ребро) и Border (Граница).
Инструмент Hinge From Edge (Поворот вокруг ребра) позволяет повернуть полигон вокруг выделенного ребра. Инструмент Extrude Along Spline (Выдавить по сплайну)
позволяет производить операцию выдавливания, используя заданную форму сплайна. Эти инструменты доступны только в режиме редактирования Polygon (Полигон).
Рис. 5.37. Результат использования инструмента Bridge (Мост)
Инструмент Flip (Обратить) позволяет обратить нормали выделенного участка. Он доступен в режимах Polygon (Полигон) и Element (Элемент). Инструмент Connect (Соединить) соединяет центры выделенных ребер, а Сар (Замкнуть), присутствующий только в режиме редактирования Border (Граница), замыкает образованные пустоты внутри замкнутых границ полигоном.
Paint Deformation (Деформация кистью)
Полигональное моделирование — один из самых распространенных способов создания моделей в трехмерной графике. Несмотря на то, что B3ds Мах реализовано достаточно большое количество средств для создания объектов на основе Editable Poly (Редактируемая полигональная поверхность), эти инструменты не всегда удобны. Например, иногда желательно, чтобы объект был словно пластилиновый, и с трехмерной моделью можно было работать так, как скульптор работает с глиной. В 3ds Мах 7 в настройках Editable Poly (Редактируемая полигональная поверхность) появился свиток Paint Deformation (Деформация кистью), который позволяет деформировать объект именно таким образом. Он предоставляет в распоряжение разработчика трехмерной графики набор кистей, при помощи которых можно вдавливать и смещать положение вершин сетки объекта. Свиток Paint Deformation
(Деформация кистью) очень удобно использовать при работе с оболочками, содержащими большое количество полигонов.
Рассмотрим простой пример использования свитка Paint Deformation (Деформация кистью). Создайте в окне проекции стандартный примитив Plane (Плоскость). Перейдите на вкладку Modify (Изменение) командной панели и в настройках объекта установите значение параметров Length Segs (Количество сегментов подлине) и Width Segs (Количество сегментов по ширине) равным 40.
Преобразуйте объект в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните правой кнопкой мыши на объекте и в появившемся контекстном меню выполните команду Convert То ► Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
Выделите объект Plane (Плоскость) в окне проекции и перейдите на вкладку командной панели Modify (Изменение).
Разверните свиток Paint Deformation (Деформация кистью) и нажмите кнопку Push/ Pull (Вдавливать/вытягивать) (рис. 5.38). Подведите указатель мыши к объекту Plane (Плоскость). Форма указателя изменится — он примет вид окружности с нормалью, указывающей направление действия (рис. 5.39).
<^ м@ т
Рис. 5.38. Кнопка Push/Pull (Вдавливать/вытягивать) в свитке Paint Deformation (Деформация кистью)
Рис. 5.39. Форма указателя при нажатой кнопке Push/Pull (Вдавливать/вытягивать)
Нажав и удерживая кнопку мыши, изменяйте положение указателя. При этом будет выполняться выдавливание (рис. 5.40). Направлением воздействия кисти на объект можно управлять при помощи настроек в области Push/Pull Direction (Направление вдавливания/вытягивания).
Рис. 5.40. Поверхность, преобразованная при помощи настроек свитка Paint Deformation (Деформация кистью)
Характером деформации, производимой кистью, можно управлять с помощью параметров Push/Pull Value (Сила вдавливания/вытягивания), Brush Size (Размер кисти) и Brush Strength (Сила воздействия кисти). Если требуется сгладить слишком выступающие части модели, используйте кнопку Relax (Ослабление). Кнопка Revert (Возврат) служит для отмены созданной деформации. Производя движения
кистью в режиме Revert (Возврат), вы можете отменить действие Paint Deformation (Деформация кистью) на отдельных участках.
Для более точной настройки параметров кисти можно использовать окно Painter Options (Настройки рисования) (рис. 5.41), которое вызывается кнопкой Brush Options (Настройки кисти).
Рис. 5.41. Окно Painter Options (Настройки рисования)
Используя кривую деформации в данном окне, вы можете точно описать профиль выдавливаемой поверхности.
Если вам часто приходится работать с одними и теми же кистями, подбирать для них настройки каждый раз неудобно. В 3ds Мах 8 появилась возможность сохранения предварительных заготовок кистей. Вы можете настроить все параметры кисти, после чего добавить ее на панель Brush Presets (Предустановки кистей). По умолчанию на этой панели уже имеется несколько типов кистей разного размера, которые можно использовать для рисования.
Для вызова панели Brush Presets (Предустановки кистей) щелкните правой кнопкой мыши на основной панели инструментов и выберите соответствующую строку в списке (рис. 5.42).
ВНИМАНИЕ
Панель Brush Presets (Предустановки кистей) отображается только тогда, когда вы работаете в одном из режимов рисования. Если вы работаете в других режимах, то вы ее не увидите даже при включенном отображении этой панели.
Рис. 5.42. Отображение панели Brush Presets (Предустановки кистей)
При помощи панели Brush Presets (Предустановки кистей) можно не только быстро выбрать нужный профиль кисти и добавить новые заготовки для дальнейшего использования, но и отредактировать вес предустановки кистей. Для этого предназначено окно Brush Preset Manager (Управление предустановками кистей) (рис. 5.43), которое вызывается при помощи одноименной кнопки на панели Brush Presets (Предустановки кистей).
Рис. 5.43. Окно Brush Preset Manager (Управление предустановками кистей)
В этом окне можно просматривать параметры кистей, удалять кисти, сохранять их в отдельные файлы в формате BPR и загружать имеющиеся файлы. Возможности сохранения и загрузки профилей кистей в файл позволяют переносить удачные профили на другие компьютеры, делиться с другими пользователями и т. д.
Глава 6
Использование модификаторов
* Деформирующие модификаторы
Модификаторы свободных деформаций
Модификаторы для редактирования поверхностей
Другие модификаторы
Модификатором называется действие, назначаемое объекту, в результате чего свойства объекта изменяются. Например, модификатор может действовать на объект, деформируя его различными способами — изгибая, вытягивая, скручивая и т. д. Модификатор также может служить для управления положением текстуры на объекте или изменять физические свойства объекта, например делать его гибким.
Важным элементом интерфейса 3ds Мах 8 является Modifier Stack (Стек модификаторов) — список, расположенный па вкладке Modify (Изменение) командной напели (рис. 6.1). В этом списке отображается история применения некоторых инструментов (в том числе модификаторов) к выделенному объекту, а также представлены режимы редактирования подобъектов.
(тад-г
•uni а в
Рис. 6.1. Стек модификаторов
Стек модификаторов очень удобен, так как содержит полную историю трансформации объектов сцены. При помощи стека модификаторов можно быстро перейти к настройкам самого объекта и примененных к нему модификаторов, отключить действие модификаторов или поменять местами очередность их воздействия на объект. При выделении объекта или примененной к нему команды соответствующие параметры появляются на вкладке Modify (Изменение) командной панели под стеком мо дификаторов (рис. 6.2 ).
/^m^lBTI
|в°^1=
I Modifiei Lisii^j
■« Гп i v д । &
Length/МИ:|
Wath.pFTii7~ ^
H^fs-Ti:|
Length Seg; p;]
Width S egipу
H eight Segtp gj
P бегтшее Mapping Coadt.
F ReaLWotld Мер Size
Рис. 6.2. Параметры объекта Box (Параллелепипед) на вкладке Modify (Изменение) под стеком модификаторов
Чтобы применить к объекту модификатор, нужно выделить объект и выбрать модификатор из списка Modifier List (Список модификаторов) на вкладке Modify (Изменение) командной панели. При этом название модификатора сразу появится в стеке. Назначить модификатор объекту можно также, воспользовавшись пунктом главного меню Modifiers (Модификаторы) (рис. 6.3).
i Modifiers
Selection►
PatdVSpbne Editing►
MeshEdtrig►
Conversion►
Animation►
Cloth►
Har and Fur►
UV Coordinates►
Cache Tools►
Subdivision Surfaces►
Free Form {reformers»
Parametric Deformers►
Surface»
NURBS Editing►
Radiosity►
Cameras►
Рис. 6.3. Пункт Modifiers (Модификаторы) главного меню
Для удаления назначенного модификатора необходимо выделить его название в стеке модификаторов и нажать кнопку Remove modifier from the stack (Удалить модификатор из стека), расположенную подокном стека модификаторов (рис. 6.4).
^ &"® И! Т|
Рис. 6.4. Кнопка удаления модификатора из стека
Действие модифтсатора можно приостановить. Эта возможность может пригодиться, когда необходимо проследить изменение объекта на разных этапах моделиро-
вания. Для выключения действия модификатора достаточно щелкнуть на значке в виде лампочки, который расположен слева от названия модификатора в стеке (рис. 6.5).
Рис. 6.5. Стек модификаторов с выключенным модификатором Bend (Изгиб)
Список модификаторов очень длинный, и нет смысла перечислять все функции каждого из них, поэтому рассмотрим лишь наиболее используемые модификаторы. Некоторые модификаторы были рассмотрены в гл. 4, так как они применяются исключительно к трехмерным кривым.
ПРИМЕЧАНИЕ
Прочитав описание модификаторов, вы узнаете об их настройках, а выполнив задания в конце этой, а также в других главах книги, вы сможете понять, в каких случаях следует использовать тот или иной модификатор. При этом в примерах подробно не описаны параметры модификаторов, а только приведены конкретные значения. При необходимости узнать о каком-либо параметре обращайтесь к теоретическому описанию модификаторов.
Деформирующие модификаторы
Основные модификаторы, деформирующие объект, называются параметрическими (Parametric Modifiers). С их помощью можно деформировать объект самыми различными способами. К деформирующим модификаторам также относятся модификаторы свободных деформаций (Free Form Deformers).
Каждый параметрический модификатор содержит два режима редактирования подобъектов:
Gizmo (Гизмо) — позволяет управлять положением габаритного контейнера Гизмо модификатора;
Center (Центр) — задает центр применения модификатора.
Переключиться в один из этих режимов можно, раскрыв список модификаторов в стеке, щелкнув на плюсике рядом с названием модификатора и выделив требуемый режим. В каждом из этих режимов можно изменять положение габаритного контейнера и центральной точки эффекта.
Рассмотрим деформирующие модификаторы.
Bend (Изгиб)
Назначение данного модификатора — деформировать объект (рис. 6.6), сгибая его оболочку под определенным углом Angle (Угол) относительно некоторой оси Bend Axis (Ось изгиба). Этот модификатор, как и многие другие, имеет в свитке Parameters (Параметры) область Limits (Пределы), с помощью параметров которой можно определить границы применения модификатора (рис. 6.7).
Рис. 6.6. Примеры использования модификатора Bend (Изгиб)
|т&аро<01
| М edit i@ Lui
Рис. 6.7. Настройки модификатора Bend (Изгиб)
Displace (Смещение)
Этот модификатор оказывает разные воздействия на объект. Он позволяет изменять геометрическую форму объекта, сдвигая каждую вершину полигональной поверхности, основываясь на заданном двухмерном изображении. В качестве этого рисунка может выступать изображение, сгенерированное при помощи стандартных процедурных карт, или обычный графический файл. При этом рельеф поверхности будет строиться таким образом, что ее участки, совпадающие с темным цветом на рисунке, будут смещены на меньшее расстояние, чем те, которые совпадают со светлым. Аналогичный принцип создания земной поверхности используется практически во всех трехмерных редакторах-генераторах природных ландшафтов: Bryce, Vue Professional и пр.
Используя один из возможных вариантов проецирования карты искажения — Planar (Плоская), Cylindrical (Цилиндрическая), Spherical (Сферическая), Shrink Wrap (Облегающая), можно деформировать поверхность объекта, изменяя при этом величину воздействия модификатора Strength (Сила воздействия). Величина Decay (Затухание) определяет затухание деформации, получаемой при помощи модификатора Displace (Смещение). При помощи настроек области Alignment (Выравнивание) можно управлять положением искажающей карты. Lia рис. 6.8 показан результат применения к объекту модификатора Displace (Смещение), а на рис. 6.9 — настройки данного модификатора.
Рис, 6.8. Результат применения к объекту модификатора Displace (Смещение) с процедурной картой Checker (Шахматная текстура)
Рис. 6.9. Настройки модификатора Displace (Смещение)
Lattice (Решетка)
Создает на поверхности объекта решетку на полигональной основе (рис. 6.10). В тех местах, где присутствуют ребра объекта, модификатор создает решетку, а на месте вершин устанавливает ее узлы.
В настройках модификатора (рис. 6.11) можно указать размер решетки при помощи параметра Radius (Радиус), количество сегментов — Segments (Количество сегментов) и сторон решетки — Sides (Стороны). 11ри построении решетчатой структуры могут быть задействованы: Struts Only From Edges (Только прутья решетки), Joints Only From Vertices (Только вершины) или и то и другое — Both (Все). Узлы решетки могут быть трех типов: Tetra (Тетраэдр), Octa (Октаэдр) и Icosa (Икосаэдр). Для узлов можно также определить величину Radius (Радиус) и Segments (Количество сегментов). Чтобы узлы и прутья решетки выглядели сглаженно, для каждого элемента (прутьев и вершин) предусмотрена возможность установить флажок Smooth (Сглаживание).
Рис. 6.10. Примеры использования модификатора Lattice (Решетка)
Рис. 6.11. Параметры модификатора Lattice (Решетка)
уИ^!<®^Т||ТыроКЛуИ^!<®^Т||ТыроКЛPaiam^ete |Paiam^ete |- Мнгог Ай! в хгxiгуГ^С ZГZX- Мнгог Ай! в хгxiгуГ^С ZГZXРис. 6.12. Результат применения к объекту модификатора Mirror (Зеркало)Рис. 6.12. Результат применения к объекту модификатора Mirror (Зеркало)
уИ^!<®^Т|
|ТыроКЛ
уИ^!<®^Т|
|ТыроКЛ
Paiam^ete |
Paiam^ete |
- Мнгог Ай! в хгxi
гуГ^
С ZГZX
- Мнгог Ай! в хгxi
гуГ^
С ZГZX
Рис. 6.12. Результат применения к объекту модификатора Mirror (Зеркало)
Рис. 6.12. Результат применения к объекту модификатора Mirror (Зеркало)
Mirror (Зеркало)
Этот модификатор очень полезен, когда необходимо быстро создать зеркальную копию объекта (рис. 6.12). На рис. 6.13 показаны настройки модификатора Mirror (Зеркало). Копию можно создать относительно одной из плоскостей (XY, YZ или ZX) или относительно одной из осей (X, Y или Z). Установленный флажок Сору (Копировать) позволит создать копню объекта, не удаляя оригинал. Значение параметра Offset (Смещение) определяет величину смещения первого объекта относительно второго.
- О ptionr——
Q№et|o5^
Г Сой>
Рис. 6.13. Настройки модификатора Mirror (Зеркало)
Noise (Шум)
Данный модификатор имеет большое значение при моделировании природных ландшафтов. После его воздействия на объект поверхность становится зашумленной. Хаотическое искажение поверхности объекта можно использовать для создания любой неоднородной поверхности, например при имитации камня (рис. 6.14). Модификатор создает искажения объекта в одном из трех направлений — X, Y или Z. Параметры, определяющие амплитуду воздействия вдоль каждой из осей, объединены в области Strength (Сила воздействия).
Модификатор Noise (Шум) содержит параметр зашумления Fractal (Фрактальный), с помощью которого можно имитировать естественное зашумление объектов (горный
ландшафт, мятую бу мату и др,). При установленном флажке Fractal (Фрактальный) становятся доступными два параметра зашумления — Roughness (Шероховатость) и Iterations (Количество итераций). Настройка Scale (Масштабирование) определяет масштаб зашумления, а величина Seed (Случайная выборка) служит для псевдослучайного создания эффекта. Кроме всего прочего, модификатор Noise (Шум) имеет функцию Animate Noise (Анимация шума) (рис. G.15).
■| - " Paiemeinri|,
. ; М01И — ।
Seed П*
Рис. 6.14. Примеры использования модификатора Noise (Шум)Рис. 6.14. Примеры использования модификатора Noise (Шум)Р FfecldRoughneu 101Э:
Рис. 6.14. Примеры использования модификатора Noise (Шум)
Рис. 6.14. Примеры использования модификатора Noise (Шум)
IrerwiontjED:
-Stiength — ———-
xpraT":) т|Ж5~ у сфйл :
. ■ Arematon —- ■
Г" Anifnate Кате
: Frequency0.25:
Phase |0
Рис, 6.15. Настройки модификатора Noise (Шум)
Push (Выталкивание)
Искажает поверхность объекта, «раздувая» ее в направлении нормали к поверхности (рис. 6.16). Достаточно простой модификатор, имеющий всего лишь одну настройку — Push Value (Величина выталкивания). Используя ключевые кадры (см. разд. «Общие сведения о трехмерной анимации» гл. 8) и установив определенное значение Push Value (Величина выталкивания), можно добиться того, что объект будет «дышать».
Рис. 6.16. Результат применения к объекту модификатора Push (Выталкивание)Рис. 6.16. Результат применения к объекту модификатора Push (Выталкивание)
Рис. 6.16. Результат применения к объекту модификатора Push (Выталкивание)
Рис. 6.16. Результат применения к объекту модификатора Push (Выталкивание)
Relax (Ослабление)
В процессе создания трехмерной модели часто приходится сглаживать образовавшиеся при деформации объекта острые углы (рис. 6.17). Используя модификатор Relax (Ослабление), можно исправить этот недостаток, задав соответствующие значения параметрам Relax Value (Степень ослабления) и Iterations (Количество итераций). В настройках этого модификатора также имеется параметр Save Outer Corners (Сохранить внешние углы), который закрепляет позицию вершин объекта(рис. 6.18).
Рис. 6.17. Примеры использования модификатора Relax (Ослабление)Рис. 6.17. Примеры использования модификатора Relax (Ослабление)жададпжададп-и ifii'l ^ 5 I в-и ifii'l ^ 5 I вРис. 6.18. Настройки модификатора Relax (Ослабление)Рис. 6.18. Настройки модификатора Relax (Ослабление)
Рис. 6.17. Примеры использования модификатора Relax (Ослабление)
Рис. 6.17. Примеры использования модификатора Relax (Ослабление)
жададп
жададп
-и ifii'l ^ 5 I в
-и ifii'l ^ 5 I в
Рис. 6.18. Настройки модификатора Relax (Ослабление)
Рис. 6.18. Настройки модификатора Relax (Ослабление)
Ripple (Рябь)
Предназначен для моделирования на поверхности объекта ряби, расходящейся из одной точки (рис. 6.19). Эффект имеет следующие параметры: Am plitude 1 (Амплитуда 1) и Amplitude 2 (Амплитуда 2) — амплитуды первичной и вторичной волны, Wave length (Длина волны) — длина волны. Decay (Затухание) — степень затухания. Параметр Phase (Фаза), предназначенный для анимирования эффекта, позволяет использовать поверхность, деформированную с помощью Ripple (Рябь), для моделирования жидкостей (рис. 6.20).
Рис. 6.19. Результат применения к объекту модификатора Ripple (Рябь)Рис. 6.19. Результат применения к объекту модификатора Ripple (Рябь)Рис. 6.20. Настройки модификатора Ripple (Рябь)Рис. 6.20. Настройки модификатора Ripple (Рябь)
Рис. 6.19. Результат применения к объекту модификатора Ripple (Рябь)
Рис. 6.19. Результат применения к объекту модификатора Ripple (Рябь)
Рис. 6.20. Настройки модификатора Ripple (Рябь)
Рис. 6.20. Настройки модификатора Ripple (Рябь)
Shell (Оболочка)
Воздействует па Editable Mesh (Редактируемая поверхность), Editable Poly (Редактируемая полигональная поверхность), Editable Patch (Редактируемая патч-поверхность) и NURBS-поверхности (см. ниже), придавая им толщину. Ценность этого модификатора заключается в том, что па основе плоской поверхности можно быстро получить объемную модель (рис. 6.21). Два основных параметра модификатора — Inner Amount (Внутреннее наращивание оболочки) и Outer Amount (Внешнее наращивание оболочки). Количество сегментов наращиваемой оболочки определяется параметром Segments (Количество сегментов). Есть также функция автоматического сглаживания ребер Auto Smooth Edge (Автоматическое сглаживание ребер) и возможность выдавливания ребер (параметр Bevel Edges (Края скоса)) по кривой (Bevel Spline (Сплайн скоса)) (рис. 6.22).
Рис. 6.21. Результат применения к объекту модификатора Shell (Оболочка)
Рис. 6.22. Настройки модификатора Shell (Оболочка)
Skew (Перекос)
Перекашивает объект (рис. 6.23). На рис. 6.24 показаны настройки модификатора Skew (Перекос). Величина деформации определяется параметром Amount (Величина). Можно также задать ось скоса, установив переключатель Skew Axis (Ось перекоса) в положение X, Y или Z. Направление скоса задается числовым значением параметра Direction (Направление).
Рис. 6.23. Результат применения к объекту модификатора Skew (Перекос)
У|^^«®@ Ti [тёарсйО!
■й i| п । ■ е । а
Рис. 6.24. Настройки модификатора Skew (Перекос)
Slice (Срез)
Данный модификатор часто используют, когда необходимо разрезать объект на части (рис, 6.25), например, при демонстрации сечения некоторой области. Модификатор Slice (Срез) не имеет числовых параметров (рис. 6.26). Объект, к которому он применяется, разрезается плоскостью одним из возможных типов сечения — Refine Mesh (Добавление новых вершин в точках пересечения плоскости с объектом), Split Mesh (Создание двух отдельных объектов), Remove Тор (Удаление всего, что находится выше плоскости сечения). Remove Bottom (Удаление всего, что находится ниже плоскости сечения).
Рис. 6.25. Результат применения к объекту модификатора Slice (Срез)
vj^i^eiEiiTi
-и 1Гм I V 8 I в
Рис. 6.26. Настройки модификатора Slice (Срез)
Spherify (Шарообразность)
Придает шарообразную форму любым объектам (рис. 6.27). Модификатор имеет одну настройку — Percent (Процент), которая определяет степень воздействия модификатора на объект. Значение этого параметра, равное 100, соответствует идеальной шарообразной форме объекта.
Рис. 6.27. Результат применения к объекту модификатора Spherify (Шарообразность)
Squeeze (Сдавливание)
Изменяет форму объекта таким образом, что каждая последующая точка, удаленная от центра эффекта, смещается относительно оси эффекта (рис. 6.28). Управлять кривизной эффекта можно при помощи области Effect Balance (Баланс эффекта), которая включает в себя параметры смещения Bias (Наклон) и масштаб воздействия Volume (Объем). Амплитуда эффекта задается величиной Amount (Величина), а кривизна - величиной Curve (Кривая) (рис. 6.29).
Рис, 6.28. Примеры использования модификатора Squeeze (Сдавливание)Рис, 6.28. Примеры использования модификатора Squeeze (Сдавливание)Рис. 6.29. Настройки модификатора Squeeze (Сдавливание)Рис. 6.29. Настройки модификатора Squeeze (Сдавливание)
Рис, 6.28. Примеры использования модификатора Squeeze (Сдавливание)
Рис, 6.28. Примеры использования модификатора Squeeze (Сдавливание)
Рис. 6.29. Настройки модификатора Squeeze (Сдавливание)
Рис. 6.29. Настройки модификатора Squeeze (Сдавливание)
Stretch (Растягивание)
Растягивает объект вдоль одной из осей, одновременно сжимая его по двум другим осям в обратном направлении (рис. 6.30). На рис. 6.31 показаны настройки модификатора Stretch (Растягивание). Величина сжатия в обратном направлении определяется параметром Amplify (Усиление). Направление растягивания выбирается при помощи переключателя Stretch Axis (Ось растягивания), а величина, характеризующая силу деформации, определяется параметром Stretch (Растягивание).
Рис. 6.30. Примеры использования модификатора Stretch (Растягивание)
v Z^"O@T|
■» 1ПГ v s ib р—RsisKr~™].
Рис. 6.31. Настройки модификатора Stretch (Растягивание)
Taper (Сжатие)
Действие данного модификатора приводит к тому, что объект сужается в одном из направлений воздействия модификатора (рис. 6.32). На рис. 6.33 изображены параметры модификатора Taper (Сжатие). Кривизна искажения определяется параметром Curve (Кривая), сила воздействия модификатора — Amount (Величина). Направление воздействия модификатора задается в области Taper Axis (Ось сжатия), при установке флажка Symmetry (Симметричное искажение) объект будет сжиматься симметрично.
Рис. 6.32. Примеры использования модификатора Taper (Сжатие)Рис. 6.32. Примеры использования модификатора Taper (Сжатие)t!Z ^"® © Т|t!Z ^"® © Т|flбароОТflбароОТ*1ПГ ■ 6 | в*1ПГ ■ 6 | вРис. 6.33. Настройки модификатора Taper (Сжатие)Рис. 6.33. Настройки модификатора Taper (Сжатие)
Рис. 6.32. Примеры использования модификатора Taper (Сжатие)
Рис. 6.32. Примеры использования модификатора Taper (Сжатие)
t!Z ^"® © Т|
t!Z ^"® © Т|
flбароОТ
flбароОТ
*1ПГ ■ 6 | в
*1ПГ ■ 6 | в
Рис. 6.33. Настройки модификатора Taper (Сжатие)
Рис. 6.33. Настройки модификатора Taper (Сжатие)
Twist (Скручивание)
В качестве примеров деформации кручения из реальной жизни можно привести сверло, серпантин, телефонный провод и т. д. Аналогичный вид можно придать трехмерным объектам 3ds Мах 8, применив модификатор Twist (Скручивание)
(рис. 6.34). Модификатор имеет три основных параметра: Angle (Угол) — угол кручения, Bias (Наклон) — смещение эффекта и Twist Axis (Ось скручивания) — ось, определяющая направление действия модификатора.
Рис. 6.34. Примеры использования модификатора Twist (Скручивание)
^|&№®|Т
Рис. 6.35. Настройки модификатора Twist (Скручивание)
Display————- Г Show Vertex HumbertГ Selected Or^Display————- Г Show Vertex HumbertГ Selected Or^0 Vertices Selected0 Vertices Selected66
Display————- Г Show Vertex Humbert
Г Selected Or^
Display————- Г Show Vertex Humbert
Г Selected Or^
0 Vertices Selected
0 Vertices Selected
6
6
Wave (Волна)
Действие этого модификатора напоминает результат деформации модификатором Ripple (Рябь) с той лишь разницей, что волны распространяются не во все стороны, а вдоль некоторой оси. Параметры модификатора Wave (Волны) совпадают с настройками Ripple (Рябь) (см. рис. 6.20).
Модель электрической лампочки
Рассмотрим пример создания модели электрической лампочки. Этот объект имеет грушеобразную форму и обладает осевой симметрией, поэтому наиболее удобно для его создания воспользоваться модификатором Lathe (Вращение вокруг оси). Для создания самой сложной части лампочки — патрона — используем модификатор Displace (Смещение).
Корпус лампочки
Поскольку модификатор Lathe (Вращение вокруг оси) применяется исключительно к сплайновым формам, необходимо предварительно нарисовать в окне проекции сплайновый профиль будущей модели.
Перейдите на вкладку Create (Создание) командной панели, в категории Shapes (Формы) выберите строку Splines (Сплайны). При помощи инструмента Line (Линия) создайте в окне проекции Front (Спереди) или Left (Слева) сплайн.
Выделите объект в окне проекции и перейдите па вкладку Modify (Изменение) командной панели. Разверните список Line (Линия) в стеке модификаторов и переключитесь в режим редактирования Vertex (Вершина) (рис. 6.36).
i——
I Lock Hendiet * Alike Г Al
I Г" Aiee Selection 10.1ij
j Г Segment End
Select By
Рис. 6.36. Настройки объекта Line (Линия) в режиме редактирования Vertex (Вершина): а — верхняя часть, б — нижняя
Передвиньте вершины так, чтобы форма профиля была наиболее точной (рис. 6.37). При необходимости задайте тип излома вершины. Для этого щелкните правой кнопкой мыши на вершине и в появившемся контекстном меню программы выберите один из возможных вариантов — Bezier Corner (Угол Безье), Bezier (Безье) или Smooth (Сглаживание), Поскольку эта модель не имеет острых углов, вариант Corner (Угол) вам использовать не придется.
Рис. 6.37. Сплайновый профиль будущей модели электрической лампочки
Одно из условий корректного построения поверхности вращения в нашем случае — первая и последняя вершины сплайна должны иметь две общие координаты. Другими словами, точки должны лежать на оси. В противном случае после применения модификатора Lathe (Вращение вокруг оси) поверхность может содержать дефекты.
Чтобы убедиться в том, что координаты нужных точек совпадают, находясь в режиме редактирования Vertex (Вершина), выделите одну из вершин, посмотрите ее координаты в строке состояния (рис. 6.38), затем выделите вторую вершину и в случае необходимости измените координаты, чтобы две из них совпадали. Это можно сделать, просто изменив числа в соответствующих окошках.
а В х(м ^ ^м |
Рис. 6.38. Значения координат в строке состояния
Выйдите из режима редактирования подобъектов и выберите из списка Modifier List (Список модификаторов) модификатор Lathe (Вращение вокруг оси). В свитке
Parameters (Параметры) настроек модификатора Lathe (Вращение вокруг оси) при помощи кнопки Y в области Direction (Направление) выберите ось, вокруг которой будет происходить вращение сплайна. После этого в окне проекции сплайн превратится в фигуру вращения вокруг выбранной оси.
ПРИМЕЧАНИЕ
Следует иметь в виду, что оси вращения —- это координатные оси локальной системы координат. Их направление не совпадает с направлением координатных осей глобальной системы координат. Поэтому в нашем случае вращение производится вокруг локальной оси Y.
Полученная модель не совсем похожа на объект, который нам необходимо создать, усовершенствуем его. Определим положение оси вращения. Для этого в области Align (Выравнивание) настроек модификатора нажмите кнопку Мах (Максимальный). Выбранная ранее ось вращения будет автоматически смещена (рис. 6.39).
Рис. 6.39. Объект после применения модификатора Lathe (Вращение вокруг оси)
СОВЕТ
В зависимости от того, в каком направлении вы строили сплайн, может получиться, что созданная вами поверхность вращения примет вывернутую форму. В этом случае в настройках модификатора установите флажок Flip Normals (Обратить нормали).
Резьба на цоколе
Мы получили модель, по форме напоминающую электрическую лампочку. От настоящей лампочки ее отличает то, что на цоколе должна располагаться резьба, служащая для ввинчивания ее в патрон.
Для ее создания можно при помощи булевой операции вычитания удалить из корпуса лампочки объект Helix (Спираль), преобразованный в редактируемую поверхность. Такой метод имеет недостатки. Во-первых, необходимо точно подобрать настройки Helix (Спираль) и правильно расположить один объект относительно второго. Во-вторых, резьба, полученная таким способом, будет выглядеть слишком острой, в то время как на настоящей лампочке она имеет сглаженные края.
В этом случае лучший результат можно получить, используя модификатор Displace (Смещение). Чтобы выдавить резьбу с его помощью, необходимо определенным образом деформировать нижнюю часть модели.
Сначала применим к модели модификатор Edit Poly (Редактирование полигональной поверхности). Это нужно, чтобы перед использованием модификатора Displace (Смещение) вы могли выделить ту область модели, к которой он будет применен.
После применения модификатора Edit Poly (Редактирование полигональной поверхности) переключитесь в режим редактирования Polygon (Полигон). Перейдите в окно проекции Front (Спереди) и выделите ту часть модели, на которую необходимо добавить резьбу. Выделенные полигоны окрасятся в красный цвет (рис. 6.40).
Рис. 6.40. Выделение нужного участка модели
ВНИМАНИЕ
Проследите, чтобы в свитке настроек Selection (Выделение) был снят флажок Ignore Backfacing (Игнорировать невидимые участки). В противном случае полигоны с обратной стороны останутся невыделенными.
На выделенной поверхности для создания резьбы недостаточное количество полигонов. Если применить модификатор Displace (Смещение) к такой области, то форма полученной резьбы не будет соответствовать реальной. По этой причине необходимо, находясь в режиме редактирования Polygon (Полигон), перейти в свиток Edit Geometry (Редактирование геометрических характеристик) и нажать кнопку Setti ng s (Настройки), расположенную справа от Tesselate (У плотнение) (рис. 6.41). В появившемся окне Tesselate Selection (Выбор параметров уплотнения) нужно установить переключатель в положение Edge (Ребро) (рис. 6.42). В результате этой операции плотность размещения полигонов будет увеличена (рис. 6.43).
аабб
а
а
б
б
Рис. 6.41. Кнопка Settings (Настройки): а — верхняя часть, б — нижняя
Рис. 6.42. Окно Tesselate Selection (Выбор параметров уплотнения)Рис. 6.42. Окно Tesselate Selection (Выбор параметров уплотнения)
Рис. 6.42. Окно Tesselate Selection (Выбор параметров уплотнения)
Рис. 6.42. Окно Tesselate Selection (Выбор параметров уплотнения)
Рис, 6.43. Вид объекта после увеличения плотности размещения полигонов
Теперь, не выходя из режима редактирования Polygon (Полигон), примените к выделенной области модификатор Displace (Смещение), выбрав его из списка Modifier List (Список модификаторов). Искажать модель при помощи этого модификатора можно двумя способами: используя в качестве карты смещения черно-белый графический рисунок или процедурную карту (см. гл. 12) с такими параметрами, при которых она будет иметь подходящий рисунок.
Второй способ имеет несколько преимуществ: во-первых, при использовании процедурной карты отпадает необходимость прилагать к файлу сцены дополнительный графический файл. Во-вторых, вы можете легко управлять деформацией модели, изменяя параметры процедурной карты непосредственно в 3ds Мах, а для редактирования графического файла вам понадобится дополнительное приложение. В-третьих, при изменении настроек процедурной карты вы имеете возможность сразу наблюдать, как они влияют на форму объекта. В случае с графическим файлом придется создать как минимум несколько вариантов и загружать их по очереди, прежде чем вы добьетесь нужного результата.
В качестве процедурной карты смещения будем использовать стандартную карту Checker (Шахматная текстура). Откройте окно Material Editor (Редактор материалов), выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов), и нажмите кнопку Get Material (Установить материал) (рис. 6.44). В окне Material/Map Browser (Окно выбора материалов и карт) выберите карту Checker (Шахматная текстура) (рис. 6.45).
Рис. 6.44. Кнопка Get Material (Установить материал)
Рис. 6.45. Окно Material/Map Browser (Окно выбора материалов и карт)
Установите для выбранной карты следующие значения параметров: переключатель, определяющий направление проецирования текстуры, — в положение VW; Tiling V (Повторяемость по координате V) — 2,3, Tiling W (Повторяемость по координате W) — 0, Blur (Размытие) —100, Angle V (Отклонение по координате V на угол) — 13. Последнее действие позволит создать рисунок с косыми светлыми и темными полосками. Этот параметр будет определять угол, под которым будет
расположена резьба на модели. Установите флажок Tile (Повторить) в строке V (рис. 6.46).
Рис. 6.46. Настройки карты Checker (Шахматная текстура}
ПРИМЕЧАНИЕ
Параметры, приведенные в данном примере, являются ориентировочными и зависят от размеров области, к которой применен модификатор Displace (Смещение).
Вернемся в настройки модификатора Displace (Смещение). В области Image (Изображение) настроек модификатора щелкните на кнопке Map: None (Карта: отсутствует) в области Image (Изображение) и установите в качестве карты смещения созданную вами карту Checker (Шахматная текстура). Для этого в появившемся окне Material/Map Browser (Окно выбора материалов и карт) установите переключатель Browse From (Выбирать из) в положение Mtl Editor (Редактор материалов) (рис. 6.47) и выберите карту.
Г" Browse From: — Г Mil Library ' :S Mil Editor T Active Slot f Sdected f Scene C New
Рис. 6.47. Переключатель Browse From (Выбирать из}
Выберите тип проецирования карты искажения Cylindrical (Цилиндрическая). После этого вы увидите, что в области воздействия модификатора появился габаритный цилиндр (рис. 6.48).
Рис. 6.4В. Объект после применения модификатора Displace (Смещение)
Раскройте строку Displace (Смещение) в стеке модификаторов, щелкнув на плюсике, Переключитесь в режим редактирования Gizmo (Габаритный контейнер Гиз- мо) и поверните габаритный цилиндр на 90’ (рис. 6.49).
Чтобы увидеть резьбу, в области Displacement (Смещение) настроек модификатора задайте параметру Strength (Сила) значение, равное 2,3. Чтобы не было видно границ текстуры, значение параметра U Tile (Повторить по координате U) в области Мар (Координаты проецирования) установите равным 2. После этого на лампочке появится резьба (рис. 6.50).
Рис. 6.49. Вид объекта после поворота габаритного цилиндра
Рис. 6.50. Готовая модель лампочки
ПРИМЕЧАНИЕ
Готовая сцена модели лампочки находится на прилагаемом к книге компакт-диске в папке ch06\exampies. Файл сцены называется lamp.max.
Модификаторы свободных деформаций
Модификаторы свободных деформаций (содержат в своем названии аббревиатуру FFD) воздействуют на объект по одному и тому же принципу. После назначения любого из них вокруг объекта возникает решетка с ключевыми точками (рис. 6.51). Эти точки привязываются к геометрическим характеристикам объекта, и при изменении положения любой из них объект деформируется.
Рис. 6.51. Применение к объекту модификатора FFD 4x4x4
Чтобы отредактировать объект при помощи модификаторов свободной деформации, необходимо развернуть список в стеке модификаторов (щелкнув на плюсике рядом с названием модификатора) и переключиться в режим редактирования Control Points (Ключевые точки). Находясь в этом режиме, можно изменять положение ключевых точек, деформируя поверхность объекта (рис. 6.52).
Ос новное отличие модификатеров свободной деформации друг от друга заключается в количестве ключевых точек, а также способе построения решетки (она может быть кубическая или цилиндрическая).
w &N№Ti
-я Ц И6 IE
Рис. 6.52. Настройки модификатора FFD 4x4x4 в режиме редактирования Control Points (Ключевые точки)
Модификаторы для редактирования поверхностей
Модификаторы, которые относятся к группе Mesh Editing (Редактирование поверхностей), позволяют редактировать поверхность объекта. Их функции во многом совпадают с возможностями инструментария различных редактируемых поверхностей (см. выше). Однако, когда вы работаете с модификаторами группы Mesh Editing (Редактирование поверхностей), вы всегда можете вернуться на начальный этап работы, отключив действие модификатора в стеке или удалив его.
CapHoles (Закрытие отверстий)
С помощью этого модификатора можно закрыть отверстия, имеющиеся в редактируемой оболочке объекта. CapHoles (Закрытие отверстий) удобно использовать, когда в результате правки редактируемых поверхностей (вручную или с использованием других модификаторов) возникают дефекты в виде отверстий (рис. 6.53). Модификатор можно применять как к оболочке в целом, так и к выделенным полигонам (рис. 6.54). В этом случае модификатор будет воздействовать только на часть объекта (рис. 6.55).
Рис, 6.53. К модели чайника справа был применен модификатор CapHoles (Закрытие отверстий), в результате чего было закрыто два отверстия: на месте крышки и в носике
Рис. 6.54. Выделение полигонов на чайнике перед применением модификатора CapHoles (Закрытие отверстий)
Рис. 6.55. Перед применением модификатора CapHoles (Закрытие отверстий) к модели чайника были выделены только полигоны, расположенные возле отверстия, поэтому носик остался незакрытым
П Р И МЕЧ АН И Е
Для закрытия отверстия можно не выделять все полигоны по его периметру, достаточно выделить лишь часть.
Модификатор CapHoles (Закрытие отверстий) имеет три параметра: Smooth New Faces (Сгладить новые грани) — формирует новую группу сглаживания из созданных граней; Smooth With Old Faces (Сгладить co старыми гранями) — добавляет созданные грани к уже имеющейся группе сглаживания; Triangulate Сар (Треугольное закрытие) — закрывает отверстие треугольными гранями.
DeleteMesh (Удаление поверхности)
С помощью этого модификатора можно удалить определенные элементы подобъектов редактируемой оболочки (рис. 6.56).
Удалить определенные элементы подобъектов редактируемой оболочки можно также, используя инструменты редактирования оболочки, однако применение модификатора имеет свои преимущества: при назначении модификатора DeleteMesh (Удаление поверхности) всегда можно вернуться на предыдущий этап работы с объектом.
Рис. 6.56. К выделенным полигонам редактируемой оболочки модели чайника справа применен модификатор DeleteMesh (Удаление поверхности)
Edit Mesh (Редактирование поверхности)
Содержит инструменты, аналогичные тем, которые становятся доступными после преобразования объекта в Editable Mesh (Редактируемая поверхность) (см. гл. 5). Данный модификатор часто используют для редактирования объектов, полученных в результате сплайнового моделирования (см. гл. 4).
Edit Normals (Редактирование нормалей)
Показывает, как расположены нормали, исходящие из каждой вершины объекта. Ориентация нормалей оказывает большое влияние на финальную визуализацию изображения. В реальном мире объекты подчиняются законам физики, поэтому угол падения луча на объект равен углу отражен ня луча от этого же объекта. Изменение положения одной из нормалей на трехмерной модели приведет к тому, что на участке, примыкающем к этой нормали, этот закон действовать не будет.
После назначения объекту модификатора Edit Normals (Редактирование нормалей) в окне проекции нормали на объекте будут отображаться в виде схематических линий (рис. 6.57). Нормали характеризуются параметром Display Length (Длина отображения) и могут иметь управляющий маркер на конце. Для этого нужно установить флажок Show Handles (Отображать маркеры). С помощью маркеров легче манипулировать нормалями.
Рис. 6.57. Вид объекта после применения модификатора Edit Normals (Редактирование нормалей)
Для управления положением нормален необходимо переключиться в режим редактирования подобъектов Normal (Нормаль) модификатора. Модификатор позволяет выделять нормали одним из четырех способов, которые задаются положением переключателя Select By (Выделить ио). Доступны следующие варианты выделения: Normal (По нормалям), Edge (По ребрам), Vertex (По вершинам), Face (По граням) (рис. 6.58).
Среди инструментов для управления нормалями можно выделить следующие: Unify (Объединить) — объединяет несколько нормалей одной вершиной; Break (Разбить) — разъединяет одну нормаль на несколько.
ПРИМЕЧАНИЕ
Если в одной вершине сходятся несколько поверхностей с разными группами сглаживания, то вершина будет содержать столько нормалей, сколько поверхностей (а значит, и групп сглаживания) примыкает к этой вершине. Например, в параллелепипеде каждая вершина содержит по три нормали, а в сфере — по одной.
Флажок Unify/Break to Average (Объединить/Разбить к среднему) отвечает за направление ориентации нормали. Если этот флажок установлен, то просчитанная
нормаль будет направлена под углом, который рассчитывается как среднее значение углов направления объединяемых или разбиваемых нормалей.
:^|^^®Т:
-«I н 6 i в
Рис. 6.58. Настройки модификатора Edit Normals (Редактирование нормалей) в режиме редактирования Normal (Нормаль)
Edit Poly (Редактирование полигональной поверхности)
Содержит инструменты, аналогичные тем, которые становятся доступными после преобразования объекта в Editable Poly (Редактируемая полигональная поверхность) (см. гл. 5). Этот модификатор часто используют для редактирования объектов, полученных в результате сплайнового моделирования (см. гл. 4).
Face Extrude (Выдавливание граней)
Похож по своему действию на инструмент Extrude (Выдавливание), который используется в редактируемых оболочках.
MultiRes (Разрешающая способность)
Позволяет уменьшить количество вершин объекта, сохраняя при этом геометрию поверхности трехмерной модели (рис. 6.59). Модификатор MultiRes (Разрешающая способность) удобно использовать, когда требуется оптимизировать оболочку модели, уменьшив количество граней объектов.
Рис. 6.59. Модель чайника до (слева) и после (справа) оптимизации модификатором MultiRes (Разрешающая способность)
Чтобы включить действие,этого модификатора, его мало просто назначить — нужно еще и нажать кнопку Generate (Сгенерировать) в его настройках. После этого модификатор выполнит просчет и станут доступны его другие параметры (рис. 6.60).
Параметры Vert Percent (Процент вершин) и Vert Count (Количество вершин) области Resolution (Разрешение) являются одной и той же настройкой, выраженной в разных величинах — общим процентом вершин и их количеством. По этой причине при изменении одного параметра автоматически устанавливается соответствующее значение другого.
Под этими настройками расположено три информационных поля: Max Vertex (Мак- симальное количество вершин), Face Count (Количество граней) и Max Face (Максимальное количество граней).
WI'W®}
•« 1П71 в । ®
Рис. 6.60. Настройки модификатора Multiples (Разрешающая способность)
Normal (Нормаль)
Позволяет объединить и/или обратить нормали объекта без использования модификатора Edit Mesh (Редактирование поверхности). В настройках модификатора Normal (Нормаль) есть два параметра — Unify Normals (Объединить нормали) и Flip Normals (Обратить нормали).
Optimize (Оптимизировать)
Предназначен для оптимизации поверхности объекта путем уменьшения количества граней и вершин с сохранением исходной формы модели. В отличие от модификатора MultiRes (Разрешающая способность), Optimize (Оптимизировать) не позволяет задать процент вершин, которые будут содержаться в обработанном объекте.
Модификатор Optimize (Оптимизировать) содержит такие параметры (рис. 6.61): Face Thresh (Удаление граней) — пороговое значение угла, при котором грани будут удалены; Edge Thresh (Удаление ребер) — пороговое значение угла, при котором ребра будут удалены; Bias (Смещение) — параметр, определяющий вероятность появления ошибочных треугольных проемов в структуре оптимизированного объекта. Чем выше значение параметра Bias (Смещение), тем точнее происходит
оптимизация модели. Параметр Max Edge Len (Максимальная длина ребра) определяет максимальную длину ребер, образованных в результате оптимизации. Флажок Auto Edge (Авторебро) отвечает за автоматическую оптимизацию ребер.
Рис. 6.61. Настройки модификатора Optimize (Оптимизировать)
Smooth (Сглаживание)
Обеспечивает автоматическое сглаживание гранен поверхности объекта. После его воздействия граням, угол между которыми не превышает заданного значения, назначается одна группа сглаживания. Группы сглаживания, к которым будет применен модификатор, можно устанавливать вручную при помощи кнопок списка Smoothing Groups (Группы сглаживания) или же автоматически, если установлен флажок Auto Smooth (Автосглаживание). Параметр Threshold (Порог) определяет пороговое значение утла, который может быть сглажен.
Symmetry (Симметрично)
Отражает геометрию объекта относительно плоскости. При этом отраженная копия составляет с исходным объектом единое целое. Определение направления симметрии устанавливается положением переключателя Mirror Axis (Ось отражения).
Резкость перехода на стыке исходного и отраженного объектов определяется значением параметра Threshold (Порог). После установки флажка Slice Along Mirror (Срезать вдоль плоскости), часть объекта, оставшаяся по одной из сторон плоскости симметрии, исчезнет (рис. 6.62). Флажок Weld Seam (Сварной шов) отвечает за отображение шва симметрии, который проходит по периметру объекта в местах пересечения его с плоскостью симметрии. Если данный флажок снят, то шов будет заметен.
Рис. 6.62. Результаты применения модификатора Symmetry (Симметрично): сверху — со снятым флажком Slice Along Mirror (Срезать вдоль плоскости), снизу — с установленным
Tessellate (Разбиение)
Повышает плотность полигональной сетки объекта за счет увеличения количества граней. Разбиение можно производить по полигонам или граням. Выбор метода разбиения осуществляется с помощью переключателя Operate On (Выполнять разбиение по). Модификатор Tessellate (Разбиение) чаще всего используется, когда необходима высокая детализация поверхности, например увеличение количества граней при моделировании лица персонажа.
Один из параметров, характеризующих плотность полигональной структуры получаемого объекта, — Iterations (Количество итераций), которое может принимать значения от 1 до 4. Параметр Tension ( Натяжение) определяет, будут ли образованные модификатором грани плоскими, вогнутыми или выпуклыми (рис. 6.63).
Рис. 6.63. Настройки модификатора Tessellate (Разбиение)
VertexPaint (Рисование по вершинам)
Модификатор VertexPaint (Рисование по вершинам) можно использовать для создания многочисленных слоев, которые могут накладываться друг на друга, образуя новую цветовую палитру. Модификатор VertexPaint (Рисование по вершинам) имеет большое количест во настроек, позволяющих управлять такими параметрами кисти, как ширина маака, чувствительность,размытость штриха и др.
В VertexPaint (Рисование по вершинам) используется технология, применяемая также в модификаторе Skin (Оболочка). Это означает, что кисть, предназначенная для рисования, реагирует на виртуальное надавливание и может иметь любую конфигурацию.
Рисование кистью осуществляется на уровне подобъектов Vertex (Вершина), Face (Поверхность) и Element (Элемент). Модификатор VertexPaint (Рисование по вершинам) удобно использовать в режиме симметричной кисти, когда, например, требуется обозначить брови на лице трехмерного персонажа. Модификатор позволяет использовать до 99 каналов.
Vertex Weld (Слияние вершин)
Предназначен для слияния вершин поверхности объекта. Его единственный параметр Threshold (Порог) определяет степень воздействия модификатора.
Модель зонта
Рассмотрим простой пример использования модификаторов для редактирования поверхностей — создадим зонт при помощи модификатора Edit Poly (Редактирование полигональной поверхности).
Как мы уже говорили выше, главное преимущество этого модификатора перед работой с Editable Poly (Редактируемая полигональная оболочка) заключается в том, что все действия, совершенные после назначения объекту модификатора, обратимы. В любой момент вы можете удалить или отключить действие модификатора, вернувшись на первоначальный этап работы с трехмерной моделью.
Зонт состоит из двух частей — ручки и купола. Начнем с купола. Поскольку форма зонта напоминает фрагмент сферы, логично использовать этот примитив в качестве базового материала для создания будущей модели.
Создайте в окне проекции примитив Sphere (Сфера) и в настройках объекта задайте параметру Hemisphere (Полусфера) значение, равное 0,65, a Segments (Количество сегментов) — 6. Последнее действие необходимо для того, чтобы объект походил на настоящий зонт, купол которого имеет шестиугольную форму. При таком низком количестве сегментов сфера напоминает скорее пирамиду, чем шар (рис. 6.64).
Рис. 6.64. Объект Sphere (Сфера) с небольшим количеством сегментов
Чтобы можно было работать с вершинами и гранями объекта, примените к нему модификатор Edit Poly (Редактирование полигональной поверхности). После его назначения объект внешне не изменился, но теперь стало возможным работать с его поверхностью.
Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку Edit Poly (Редактирование полигональной поверхности) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Vertex (Вершина). В основании получившегося объекта выделите центральную вершину. Перейдите в окно проекции Front (Спереди) и переместите ее вдоль оси Y вверх таким образом, чтобы объект с обратной стороны стал полым (рис. 6.65).
Рис. 6.65. Перемещение вершины объекта
Выйдите из режима редактирования Vertex (Вершина) и вызовите окно настроек инструмента MeshSmooth (Сглаживание), щелкнув на значке рядом с кнопкой MSmooth (Сглаживание) в свитке Edit Geometry (Редактирование геометрических характеристик). Установите флажок Separate By Smoothing Groups (Разделить по группам сглаживания) и задайте параметру Smoothness (Сглаженность) значение, равное 1 (рис. 6.66). После этого объект примет форму перевернутой тарелки (рис. 6.67).
Назначьте объекту модификатор MeshSmooth (Сглаживание). В свитке Parameters (Параметры) установите флажок Separate by Smoothing Groups (Разделить по группам сглаживания).
Рис. 6.66. Окно MeshSmooth Selection (Выбор сглаживания)
Рис. 6.67. Видобьекта после использования инструмента MeshSmooth (Сглаживание)
Перейдите в окно проекции Тор (Сверху) и раскройте строку MeshSmooth (Сглаживание) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Vertex (Вершина) — так вы сможете управлять формой сглаженного объекта. В окне проекции вы можете видеть контрольные точки, обозначенные синим цветом. По контуру объекта расположено 12 пар таких точек. Выделите шесть пар этих точек через одну пару.
При помощи инструмента Scale (Масштабирование) масштабируйте выделенные нары точек в большую сторону примерно на 140% (рис. 6.68).
Используя инструмент Move (Перемещение) в окне проекции Perspective (Перспектива), переместите выделенные вершины вниз. Это позволит придать зонту округлую форму (рис. 6.69).
ПРИМЕЧАНИЕ
Обратите внимание на стек модификаторов. После всех преобразований вы можете, поочередно отключая действия модификаторов, посмотреть, как изменялся объект на каждом этапе работы.
Теперь осталось сделать нижнюю часть зонта — ручку. Для этого еще раз примените к объекту модификатор Edit Poly (Редактирование полигональной поверхности). Переключитесь в режим редактирования Vertex (Вершина) и выделите вершину в центре купола с вогнутой стороны. Воспользуйтесь командой Chamfer (Фаска) для создания полигона в центре купола. Для этого подведите указатель к выделенной вершине (при этом он изменит форму) и, удерживая левую кнопку мыши, отведите его в сторону (рис. 6.70).
Рис. 6.70. Создание полигона в центре купола при помощи инструмента Chamfer (Фаска)
Поскольку ручка зонта имеет загнутую форму, создать ее легче всего при помощи сплайна (подробнее о сплайновом моделировании см. в гл. 4). Используя инструмент Line (Линия), нарисуйте ручку требуемой формы (рис. 6.71). Чтобы придать сплайну требуемую форму, задайте соответствующий тип излома для каждой точки. Для этого переключитесь в режим редактирования Vertex (Вершина), выделите требуемую вершину, вызовите контекстное меню программы щелчком правой кнопкой мыши и выберите в нем один из четырех вариантов поведения сплайна в ключевой точке — Bezier Corner (Угол Безье), Bezier (Безье), Corner (Угол) или Smooth (Сглаживание),
Рис. 6.71. Сплайн в форме ручки
Поскольку ручка должна располагаться перпендикулярно куполу, положение точек сплайна должно быть такое, чтобы по крайней мере две точки лежали на линии, параллельной оси Z глобальной системы координат. Чтобы обеспечить такое расположение сплайна, в режиме редактирования Vertex (Вершина) нужно выровнять положение двух точек. Выделите одну из вершин, посмотрите ее координаты в строке состояния, затем выделите вторую вершину и при необходимости измените координаты, чтобы две из них совпадали. Это можно сделать, просто изменив число в соответствующих окошках в строке состояния.
Вернемся к куполу, на котором мы сейчас создадим ручку, выполнив выдавливание по форме сплайна. Переключитесь в режим редактирования Polygon (Полигон) и выделите полигон, который мы недавно создали в центре объекта. В свитке Edit Polygons (Редактирование полигонов) нажмите значок, расположенный справа от кнопки Extrude Along Spline (Выдавить по слан нам). В окне настроек выдавливания нажмите кнопку Pick Spline (Выбратьсплайн) и укажите трехмерную кривую в сцене. Увеличьте значение параметра Segments (Сегменты) до 40, чтобы ручка не была угловатой. Установите флажок Align to face normal (Выровнять по нормали), чтобы ручка правильно располагалась на поверхности купола (рис. 6.72).
Купол настоящего зонтика натянут на спицы, поэтому в открытом состоянии должны быть видны их кончики. Чтобы их создать, перейдите в режим редактирования Vertex (Вершина) и выделите нее вершины по краю купола, на которых должны быть видны спицы.
Рис. 6.72. Ручка, созданная на внутренней поверхности купола
П РИ МЕЧ АН И Е
Выделяя вершины, будьте внимательны — они близко расположены по краям модели, поэтому вы можете случайно «захватить» сразу две.
Нажмите кнопку Settings (Настройки), расположенную возле кнопки Extrude (Выдавливание) в свитке Edit Vertices (Редактирование вершин). В появившемся окне Extrude Vertices (Выдавливание вершин) установите подходящие значения параметров Extrusion Height (Высота выдавливания) и Extrusion Base Width (Ширина основы выдавливания).
Проделайте ту же операцию с вершиной, расположенной в центре купола с выпуклой стороны (рис. 6.73).
Зонтик готов, однако во многих местах модель содержит острые ребра, которые необходимо сгладить. Используем инструмент MeshSmooth (Сглаживание). Вызовите окно настроек этого инструмента, щелкнув на значке рядом с кнопкой MSmooth (Сглаживание) в свитке Edit Geometry (Редактирование геометрических характеристик).
Если применить сглаживание при снятом флажке Separate By Smoothing Groups (Разделить по группам сглаживания), то можно увидеть, что в тех местах, где должны
выступать спицы, видны артефакты. Кроме того, штырь в центре купола после сглаживания оттягивает на себя часть купола (рис. 6.74).
Рис. 6.73. Вид зонтика после выдавливания крайних вершин
Рис. 6.74. Вид зонтика после неудачной операции сглаживания
Если же установить флажок Separate By Smoothing Groups (Разделить no группам сглаживания), то вышеописанные ошибки исчезнут, однако не будет сглажен край рукоятки. Причина такого сглаживания модели заключается в том, что полигон в основании рукоятки имеет группу сглаживания, отличающуюся от остальных полигонов, которые составляют ручку. В этом легко убедиться, если переключиться в режим редактирования Polygon (Полигон), выделить полигон, лежащий в основании, и посмотреть на свиток Polygon Properties (Свойства полигона). В области Smoothing Groups (Группы сглаживания) нажата кнопка с цифрой 2 (рис. 6.75).
Рис. 6.75. Свиток Polygon Properties (Свойства полигона)
Если вы выделите любой другой полигон, составляющий ручку, то номер группы изменится на 1. Из этого следует, что всем полигонам, составляющим рукоятку, и полигону, который лежит в основании, назначена группа сглаживания 1, а крайнему полигону — группа 2.
После выполнения операции сглаживания между различными группами сглаживания образуются области с резкими углам и, поэтому при установленном флажке Separate By Smoothing Groups (Разделить по группам сглаживания) основание рукоятки имеет резкие края. Чтобы этого избежать, выделите крайний полигон и измените его группу сглаживания. Для этого в области Smoothing Groups (Группы сглаживания) отожмите кнопку 2 и нажмите кнопку 1.
Выйдите из режима редактирования Polygon (Полигон), снова вызовите окно MeshSmooth Selection (Выбор сглаживания) и выполните сглаживание объекта, установив флажок Separate By Smoothing Groups (Разделить по группам сглаживания). Как видим, теперь зонтик выглядит надлежащим образом (рис 6.76).
ПРИМЕЧАНИЕ
Готовая модель зонта находится на прилагаемом к книге компакт-диске в папке ch06/ examples. Файл сцены называется zont.max.
Рис. 6.76. Готовая модель зонтика
Другие модификаторы
Subdivide (Разбиение)
Уплотняет полигональную структуру объекта. Параметр Size (Размер) определяет величину элемента разбиения. Чем меньше значение этого параметра, тем большее количество элементов разбиения будет использовано.
MeshSmooth (Сглаживание)
Позволяет устранить острые углы между ребрами объекта или, проще говоря, сгладить их. Этот модификатор часто используется на финальном этапе работы с редактируемыми поверхностями разных типов для сглаживания полученных моделей (рис. 6.77).
В свитке Subdivision Amount (Количество разбиений) устанавливается значение параметра Iterations (Количество итерации), определяющее количество итераций просчета сглаживания объекта, а также Smoothness (Сглаженность), отвечающего за степень сглаживания. Если установить одноименные флажки в области Render Values (Значения при визуализации), то можно управлять настройками модификатора отдельно для отображения объектов в окнах проекций и визуализации. Если же эти флажки не установлены, то для визуализации будет использоваться первая пара параметров.
Рис. 6.77. Объект до (слева] и после (справа) применения модификатора MeshSmooth (Сглаживание)
В процессе сглаживания модификатор MeshSmooth (Сглаживание) может использовать три модели уплотнения полигональной структуры поверхности — Classic (Классический), Quad Output (Квадрат на выходе) и NORMS (Non Uniform Rational Mesh Smooth — неоднородная рациональная сглаженная сетка). Нужный вариант можно выбрать в списке Subdivision Method (Метод разбиения) одноименного свитка (рис. 6.78).
Рис. 6.78. Выбор модели уплотнения поверхности полигональной структуры
Еще одна возможность модификатора MeshSmooth (Сглаживание) — управление формой сглаженного объекта с помощью управляющих ребер и вершин. Чтобы
редактировать форму сглаживаемого объекта, необходимо переключиться в режим управляющих вершин пли управляющих ребер, щелкнув на соответствующем значке в свитке Local Control (Местное управление) или на плюсике в стеке модификаторов.
TurboSmooth (Турбосглаживание)
Модификатор TurboSmooth (Турбосглаживание) появился в седьмой версии 3ds Мах. Он работает гораздо быстрее и позволяет добиться лучших результатов при сглаживании поверхностей, чем MeshSmooth (Сглаживание), который существовал и в более ранних версиях 3ds Мах.
Настройки модификатора TurboSmooth (Турбосглаживание) являются упрощенным вариантом настроек MeshSmooth (Сглаживание). В отличие от последнего, TurboSmooth (Турбосглаживание) не позволяет использовать управляющие вершины и ребра (рис. 6.79).
J- TuhSmaoih
| - Мгип—- .
Iterations П
П Render Iters-10 ij
. Г" Isoline Display
Г Explicit Normals
-Surface Parameters
P Smooth Result
Separate by Г* Materials
I
f" Smoothing Groups
- Update Options —-—
^ Always
Г When Rendering
Г Manually
Update
Рис, 6,79, Настройки модификатора TurboSmooth (Турбосглаживание)
Melt (Таяние)
Позволяет создать эффект таяния объектов. Результат действия этого модификатора напоминает форму тающего мороженого (рис. 6.80).
В настройках модификатора можно установить коэффициент таяния, причем это может быть значение, введенное вручную в поле Custom (Пользовательский), либо выбранное из четырех заготовок — Ice (Лед), Glass (Стекло), Jelly (Желе) и Plastic (Пластик). Кроме этого, можно задать Axis to Melt (Ось таяния), величину воздействия модификатора на объект (Melt Amount (Величинатаяния)) и значение площади, которую будет занимать лужа от растаявшего объекта (% Of Melt (Площадь Таяния в процентах)).
Рис. 6.80. Исходный объект (слева) и результат применения к объекту модификатора Melt (Таяние)(справа)
Таким образом, при помощи модификаторов можно изменять свойства объектов.
Глава 7
Булевы операции
• Создание инструментов портногопри помощи булевых операций
Создавая объект в сцене, необходимо учитывать особенности его геометрии. Несмотря на то, что один и тот же трехмерный объект всегда можно смоделировать несколькими способами, как правило, существует один, который является наиболее быстрым и удобным. Опытный аниматор с первого взгляда на эскиз будущей модели определяет способ моделирования объекта, однако начинающему пользователю это не всегда под силу. Одним из наиболее удобных и быстрых способов моделирования является создание трехмерных объектов при помощи булевых операций. Например, если два объекта пересекаются, на их основе можно создать третий объект, который будет представлять собой результат сложения, вычитания или пересечения исходных объектов.
Модели, создаваемые в трехмерной графике, можно условно разделить на две группы — органические и неорганические. К первой категории относятся объекты живой природы, такие как растения, животные, люди, ко второй — элементы архитектуры, а также предметы, созданные человеком (автомобили, техника и др.). Разница подходов к моделированию объектов первой и второй групп столь велика, что в зависимости от конкретных задач для реализации проекта могут использоваться различные пакеты для работы с трехмерной графикой. Поскольку в 3ds Мах основной акцент делается на моделирование неорганических объектов, то есть архитектурную визуализацию и разработку компьютерных игр, то булевы операции — это незаменимый инструмент для каждого пользователя 3ds Мах. С другой стороны, они совсем не подходят для создания большинства органических объектов. Например, смоделировать лицо человека при помощи булевых операций практически невозможно.
Рассмотрим булевы операции. На рис. 7.1 представлено исходное изображение.
Рис. 7.1. Расположение объектов перед выполнением булевых операций
В 3ds Мах 8 доступны четыре типа булевых операций.
Union (Сложение). Результатом булева сложения двух объектов будет служить поверхность, образованная поверхностями объектов, участвующих в данной операции (рис. 7,2),
Рис. 7.2. Объекты после выполнения булевой операции Union (Сложение)
Intersection (Пересечение). Результатом булева пересечения двух объектов будет поверхность, состоящая из общих участков этих объектов (рис. 7.3).
Рис. 7.3. Объекты после выполнения булевой операции Intersection (Пересечение)
Su btracti on (Исключение). Результатом булева исключения двух объектов будет поверхность, состоящая из поверхностей первого и второго объектов, но не включающая в себя общие участки этих объектов (рис. 7.4).
Рис. 7.4. Объекты после выполнения булевой операции Subtraction (Исключение)
Cut (Вычитание). Результатом булевого вычитания двух объектов будет служить поверхность, образованная исключением из поверхности одного объекта участков, занятых вторым объектом (рис. 7.5).
Рис. 7.5. Объекты после выполнения булевой операции Cut (Вычитание)
ПРИМЕЧАНИЕ
Вы можете получить дополнительную информацию о булевых операциях, просмотрев видеоурок, посвященный этому способу моделирования. Запустите файл boolean.avi, который находится на прилагаемом к книге компакт-диске в папке ch07/videotutors.
Булевы операции выполняются следующим образом.
Выделите первый объект, который будет участвовать в образовании конечной модели.
Перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Compound Objects (Составные объекты) и нажмите кнопку Boolean (Булева операция) (рис. 7.6).
Рис, 7.6. Настройки объекта Boolean (Булева операция)
У становите параметры булевой операции.
Воспользуйтесь кнопкой Pick Operand В (Выбрать операнд), чтобы выбрать второй объект, который будет участвовать в операции.
ПРИМЕЧАНИЕ
Несмотря на то, что булевы операции 3ds Мах 8 широко применяются при создании трехмерных проектов, они имеют недостатки, и построение оболочки результирующей модели нередко происходит с ошибками. По этой причине многие разработчики трехмерной графики используют в своих проектах дополнительный модуль Power Booleans. Он позволяет создавать модели с более точной геометрией, чем те, которые можно получить, используя стандартные средства, а также быстрее строит полигональную сетку. Это особенно заметно при работе с объектами, имеющими большое количество полигонов.
Создание инструментов портного при помощи булевых операций
Чтобы продемонстрировать возможности моделирования с использованием булевых операций, создадим три простых объекта — пуговицу, катушку с нитками и иголку (рис. 7.7). Каждый из этих объектов удобно создавать этим методом.
Рис. 7.7. Объекты, созданные при помощи булевых операций
ПРИ М ЕЧ АН И Е
Сцена с готовыми объектами находится на прилагаемом к книге компакт-диске в папке ch07/examples. Файл называется boolean, max.
Пуговица
Пуговица будет состоять из двух частей — сердцевины и ободка. Сердцевину создайте при помощи стандартного примитива Sphere (Сфера). Чтобы придать объекту сжатый вид, масштабируйте его вдоль оси Z (рис. 7.8).
Рис. 7.8. Объект Sphere (Сфера) после выполнения операции Scale (Масштабирование)
Теперь создайте примитив Torus (Тор), который будет играть роль ободка. Радиус тора (параметр Radius 1 (Радиус 1)) установите равным радиусу сферы. Выровняйте тор относительно сферы по всем трем осям, выполнив команду Tools ► Align (Инструменты ► Выравнивание). В окне Align Selection (Выравнивание выделенных объектов) установите переключатели Current Object (Объект, который выравнивается) и Target Object (Объект, относительно которого выравнивается) в положение Center (По центру) (рис. 7.9).
С помощью параметра Radius 2 (Радиус 2) подберите ширину ободка пуговицы. Теперь необходимо создать четыре отверстия в сердцевине. Для этого будем использовать булеву операцию Cut (Вычитание), удалив из оболочки четыре одинаковых цилиндра. При этом радиус полученных в результате выполнения операции отверстий будет совпадать с радиусом цилиндров.
Создайте объект Cylinder (Цилиндр) и установите в его настройках подходящее значение радиуса. Используйте инструмент Array (Массив) для создания остальных
трех цилиндров и расположения их по вершинам квадрата. Такое размещение цилиндров будет соответствовать расположению отверстий относительно друг друга на пуговице.
Рис. 7.9. Объекты после выравнивания
Выполните команду Tools ► Array (Инструменты > Массив), после чего появится окно с настройками массива. В области Array Dimensions (Измерения массива) установите переключатель в положение 2D (Двумерный) и в поле Count (Количество) напротив переключателя введите 2. Оно будет определятьколичество рядов. В поле Count (Количество) напротив переключателя W (Одномерный) также введите 2. Оно будет определять количество цилиндров в ряду. Чтобы задать положение цил ин дров, установите некоторое значение параметра Incremental Row Offsets (Смешения инкрементных рядов) по оси Y. Такое же значение задайте параметру, находящемуся на пересечении столбца X и строки Move (Перемещение) в столбце Incremental (Приращение) области Array Transformation: World Coordinates (Use Pivot Point Center) (Преобразование массива: глобальная система координат (использовать центр опорной точки)) (рис. 7.10).
Величина смещения цилиндров является примерной и будет отличаться в каждом конкретном случае. Чтобы иметь возможность наблюдать за изменением положения массива объектов в окне проекции, нажмите кнопку Preview (Предварительный просмотр).
Рис. 7.10. Настройки массива
После использования инструмента Array (Массив) в окне проекции созданы четыре цилиндра, которые необходимо симметрично расположить в центре пуговицы. Для этого их сначала следует выделить и сгруппировать, выполнив команду Group ► Group (Группировать > Группировка). Сгруппированные объекты необходимо выровнять относительно сердцевины пуговицы по центру (рис. 7.11).
Рис. 7.11. Объекты после выравнивания
Поскольку со сгруппированными объектами нельзя выполнить операцию булева вычитания, придется вычитать цилиндры по одному, предварительно разгруппировав их, или объединить модели в один объект. Мы используем второй способ.
Выделите сгруппированные объекты и преобразуйте объект в Editable Mesh (Редактируемая поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert То ► Convert to Editable Mesh (Преобразовать ► Преобразовать в редактируемую поверхность). Выполните команду Group ► Ung roup (Группировать > Разгрупнировка). Выделите любой цилиндр и перейдите в его настройки. В свитке Edit Geometry (Редактирование геометрических характеристик) нажмите кнопку Attach list (Присоединить по списку). В появившемся окне выбора объектов выделите остальные три цилиндра (рис. 7.12) и нажмите кнопку Attach (Присоединить). Вы получите единый объект.
Рис. 7.12. Окно Attach list (Присоединить по списку)
Выделите сердцевину пуговицы. Щелкните на кнопке Geometry (Геометрия) на вкладке Create (Создание) командной панели, в раскрывающемся списке выберите строку Compound Objects (Составные объекты) и нажмите кнопку Boolean (Булева операция). Щелкните на кнопке Pick Operand В (Выбрать операнд) и укажите объединенный объект. Пуговица готова (рис. 7.13).
Рис. 7.13. Пуговица с дырками, полученными в результате булевой операции вычитания
Иголка
Для создания иголки удобно использовать примитив Capsule (Капсула). Чтобы этот примитив был похож на иголку, в его настройках, необходимо выбрать большое значение параметра Length (Длина) и очень маленькую величину параметра Radius (Радиус) (рис. 7.14).
Ушко иголки сделаем с помощью булевой операции вычитания. Сначала создадим объект, который мы будем вычитать из иголки. Этим объектом может быть тот же примитив Capsule (Капсула).
Выполните команду Edit ► Clone (Правка ► Клонировать), чтобы создать копию капсулы. Уменьшите значение параметра Height (Высота) до величины игольного ушка и приподнимите объект на необходимую высоту' вдоль оси Z. Используйте операцию Scale (Масштабирование) для сжатия объекта вдоль осей X и Y поочередно, причем вдоль одной из осей масштабируйте в большую сторону, а вдоль другой — в меньшую (рис. 7.15).
Объекты готовы для выполнения булевой операции вычитания. Выделите первый объект и нажмите кнопку Boolean (Булева операция). В настройках булевого объекта нажмите кнопку Pick Operand В (Выбрать операнд) и укажите клонированный объект в сцене. У иголки появится ушко (рис. 7.16).
Чтобы объект был больше похож на иголку, с одной стороны его необходимо заострить. Сделать это можно при помощи модификатора Taper (Сжатие). Примените к объекту этот модификатор, выбрав его из списка Modifier List (Список модификаторов). В его настройках уменьшите значение параметра Amount (Величина). Иголка готова (рис. 7.17).
Рис. 7.14. Примитив Capsule (Капсула) — будущая иголка
Рис. 7.15. Объекты после масштабирования
Рис. 7.16. Отверстие, полученное после выполнения булевой операции вычитания
Рис. 7.17. Готовая модель иголки
Катушка с нитками
Наконец, последний предмет из инструментария портного, который мы моделируем в рамках этого урока, — катушка с нитками.
Создайте в окне проекции объект ChamferCyl (Цилиндр с фаской). В его настройках увеличьте значение параметра Fillet (Закругление), чтобы сгладить острые углы по краям объекта (рис. 7.18).
Рис. 7.18. Объект Chamfer Cylinder (Цилиндр с фаской) — основа для катушки
Создайте примитив Tube (Трубка), мы будем использовать его для выполнения булевой операции.
Значение параметра Radius 1 (Радиус 1) в настройках примитива Tube (Трубка) необходимо установить большим, чем значение параметра Radius (Радиус) в настройках цилиндра. Величина параметра Radius 2 (Радиус 2) трубки должна быть меньше значения параметра Radius (Радиус) цилиндра. Высота объекта Tube (Трубка), которая определяется параметром Height (Высота), должна быть меньше, чем высота цилиндра (рис. 7.19).
Теперь необходимо выровнять объекты относительно друг друга по всем трем осям. В окне Align Selection (Выравнивание выделенных объектов) установите переключатели Current Object (Объект, который выравнивается) и Target Object (Объект, относительно которого выравнивается) в положение Center (По центру) (рис. 7.20).
Рис, 7.19. Объекты в окне проекции
Рис. 7.20. Объекты после выравнивания
Теперь можно произвести булеву операцию вычитания. Выделите ChamferCyl (Цилиндр с фаской) и нажмите кнопку Boolean (Булева операция). В настройках булева объекта нажмите кнопку Pick Operand В (Выбрать операнд) и укажите примитив Tube (Трубка). Получится катушка (рис. 7.21).
Рис. 7.21. Катушка, полученная в результате операции булева вычитания
Для создания мотка ниток на катушке можно использовать примитив ChamferCyl (Цилиндр с фаской) меньшего радиуса, который нужно выровнять относительно катушки (рис. 7.22).
Рис. 7.22. Катушка с мотком ниток
Для большей реалистичности можно добавить свисающую нить, создав ее при помощи сплайна. Чтобы сплайн отображался в процессе визуализации, в свитке Rendering (Визуализация) его настроек установите флажок Enable In Renderer (Показать при визуализации).
Глава 8
Создание трехмерной анимации. Модуль Character Studio
Общие сведения о трехмерной анимации
Создание простейшей анимации
Окно Parameter Collector (Коллектор параметров)
Окно Parameter Editor (Редактор параметров)
Модуль Character Studio
Создание персонажной анимации
Основы создания мимики персонажа. Морфинг
Общие сведения о трехмерной анимации
За столетнюю историю своего существования анимационное кино постоянно развивалось и усовершенствовалось. Сегодня оно по праву стало считаться одним из видов искусства, подтверждение тому — от года к году неуклонно возрастающее количество анимационных проектов, которые претендуют на престижную премию «Оскар». Такие картины, как «Последняя фантазия» (Final Fantasy), «Шрек» (Shrek), «Стюарт Литтл» (Little Stuart), «Суперсемейка» (The Incredibles), «В поисках Немо» (Finding Nemo), невольно заставляют задуматься о будущем кинематографа. Наступит ли Когда-нибудь момент, когда актеров заменят их трехмерные двойники? Пока однозначного ответа на этот вопрос дать никто не может, но некоторые предпосылки того, что это рано или поздно произойдет, уже есть.
Трехмерные сцены, создаваемые воображением художника трехмерной графики, становится все более просто воплотить в реальность, а себестоимость подобных работ снижается. Без трехмерных декорации не обходится ни один современный приключенческий фильм.
Даже классическая двухмерная мультипликация постепенно вытесняется трехмерной. Хорошо знакомые всем мультяшные герои, с которыми выросло не одно поколение, или «уходят на пенсию» (с ними просто больше не делают новых мультфильмов), или обретают новую жизнь в трехмерной графике. Например, в конце прошлого года был выпущен первый трехмерный мультфильм с моряком Папаем, сделанный при помощи ЗО-редактора Sol'timagejXSI. А на Рождество 2004 года известная анимационная студия Blur Studio представила первый анимационный проект, в котором Микки Маус и другие диснеевские герои стали трехмерными (рис. 8.1). Три мультфильма общей продолжительностью 40 мин стали самым крупным проектом за десятилетнюю историю Blur Studio. Работа над проектом велась совместно ЗВ-аниматорами Blur и художниками Disney Studios, которые в свое время рисовали Дональда, Плуто и прочих персонажей. Чтобы максимально сохранить особенности движения и внешнего вида персонажей при переносе их в трехмерный мир, ведущий аниматор студии Disney Андреас Дежа ( Andreas Deja) все время давал советы коллегам — ЗВ-художникам. Результатом остались довольны все, и в Blur Studio надеются, что проект не будет последним.
Создание трехмерной анимации — это интересный, но в то же время трудоемкий процесс. Анимировать в трехмерной сцене можно все — от источников света и камер до любых объектов и эффектов. Каждая создаваемая в программе анимация использует так называемые ключевые кадры, которые содержат информацию обо всех параметрах анимации.
В 3ds Мах 8 можно анимировать любые характеристики всех объектов — примитивов, источников света, камер, вспомогательных объектов и др. Задавая значения параметров объектов в ключевых кадрах, вы можете сделать так, чтобы объекты перемещались в сцене, изменяли текстуру, увеличивались или уменьшались в размерах и т. д. Анимированная камера позволяет добиться эффекта присутствия в сцене и получить вид, раскрывающийся перед глазами персонажа.
Рис. 8.1. Кадр из трехмерного фильма о Микки Маусе и его друзьях
ПРИМЕЧАНИЕ
Подробнее о виртуальных камерах читайте в гл. 13.
Простейший тип анимации — перемещение объектов в трехмерной сцене. При этом изменяющимся параметром являются координаты положения объекта. Их необязательно залапать вручную. При включенном режиме автоматического создания ключевых кадров 3ds Мах фиксирует параметры объекта в текущем ключевом кадре. Например, передвинув в окне проекции на 48 кадре трехмерное тело, вы укажете программе конечные координаты модели.
Анимационные эффекты могут быть самыми разнообразными: игра теней и света, движение объектов в виртуальном пространстве, анимированные эффекты постобработки, деформирующаяся поверхность й т. д.
ПРИМЕЧАНИЕ
Думаем, никто не будет возражать против утверждения, что за трехмерной анимацией большое будущее. Несмотря на то, что средства анимации, которые имеются в распоряжении разработчиков трехмерной графики, кажутся удивительными, 30-анимация сегодня находится только на ранней стадии своего развития. Потребуется еще немало времени, пока в 3D будут созданы анимационные шедевры, которые можно будет сравнить с лучшими образцами классической анимации. А пока люди с удовольствием продолжают смотреть мультфильмы, выпущенные много лет назад. Знаменитый мультфильм «Бемби», созданный студией Диснея в 1942 году, отреставрированный при помощи современных средств видеообработки и выпущенный на DVD в начале марта 2005 года, в первый же день разошелся тиражом более миллиона экземпляров. Хочется надеяться, что такую же популярность, нерушимую временем, смогут снискать и трехмерные анимационные проекты будущего.
Ключевые кадры
Несмотря на то, что анимационные фильмы выпускались и 20, и 50 лет назад, принцип их создания кардинально отличался от современной техники анимации.
Задолго до появления трехмерной графики существовала кукольная анимация. Делалась она так: снимался один кадр с мультипликационным героем, затем, например, руку персонажа передвигали на очень небольшое расстояние и опять снимали один кадр. Вся работа состояла в том, чтобы снять на пленку все положения руки. В компьютерной графике все гораздо проще. Аниматор задаст в программе только два положения руки — верхнее и нижнее, а все промежуточные положения просчитывает компьютер. Кадры, которые фиксируют начальное и конечное положение тела, называются ключевыми. Ключевые кадры управляют всеми параметрами объекта, в том числе и текстурами, например, при помощи двух ключевых кадров можно сделать так, чтобы бронзовая статуэтка плавно превратилась в стеклянную.
Таким образом, для создания анимации в 3ds Мах 8 достаточно указать значения параметров в ключевых точках. Программа просчитает изменение параметров от одного ключевого кадра к другому и автоматически визуализирует кадры, не являющиеся ключевыми. Например, чтобы анимировать движение примитива в окне проекции, достаточно переключиться в режим создания ключевых кадров и указать начальное и конечное положения объекта. При этом анимированными параметрами являются координаты объекта. Аналогичным образом можно создавать анимированные атмосферные эффекты, деформацию объекта, изменяющиеся во времени текстуры и т. д„ указывая в настройках обьектов или эффектов ключевые значения параметров.
Преимущество метода ключевых кадров перед классической техникой создания анимации очевидно: аниматор тратит на создание проекта гораздо меньше времени. Большая часть рутинной работы, которая ранее выполнялась вручную, сегодня переложена на компьютер.
Режим создания ключевых кадров включается при помощи кнопки Auto Key (Автоключ), расположенной под шкалой анимации (рис, 8.2). Любое изменение параметра сцены в текущем кадре запоминается, и на шкале анимации появляется метка- маркер ключевого кадра. Для перемещения между ключевыми кадрами анимации используется кнопка Key Mode Toggle (Переключение между ключевыми кадрами). Ключевыми кадрами можно управлять — изменять их положение, удалять, назначать группам обьектов, корректировать параметры и т, д.
Auto Key [Selected•** I 411 В ••► I w
Set Key 1Д Key Fillets . [ I"1 || О™ 11 В
Рис. 8.2. Кнопки управления анимацией
ПРИМЕЧАНИЕ
Положение ключевых кадров можно изменять непосредственно на шкале анимации. Для этого необходимо щелкнуть на ключевом кадре, который нужно передвинуть, и, удерживая левую кнопку мыши, изменить его положение на шкале.
Окно Time Configuration (Конфигурация времени)
По умолчанию продолжительность создаваемой в 3ds Мах 8 анимации равна 101 кадру при формате создаваемого видео NTSC (29,97 кадра в секунду). При таких настройках можно создать анимацию продолжительностью около трех секунд. В процессе работы может понадобиться изменить эти и другие настройки анимации.
Чтобы установить параметры отображения анимации в окне проекции, используйте диалоговое окно Time Configuration (Конфигурация времени), которое вызывается при помощи одноименной кнопки, расположенной под кнопками управления анимацией (рис. 8.3).
Им ( »i В I О АН YT ЯЗ
L: , J Time Configuration '
Рис. 8.3. Кнопка Time Configuration (Конфигурация времени)
В окне Time Configuration (Конфигурация времени) (рис. 8.4) можно установить следующие параметры: формат видео (Pal/NTSC), количество кадров в секунду (EPS), способ отображения информации о времени на ползунке анимации, время начала и конца анимации, продолжительность анимации и др.
Рис. 8.4, Диалоговое окно Time Configuration (Конфигурация времени)
ПРИМЕЧАНИЕ
Вы можете узнать больше об анимировании различных характеристик объектов, если запустите файл animation.avi, который находится на прилагаемом к книге компакт- диске в папке ch08/videotutors.
Контроллеры анимации
В реальной жизни характер движения объектов и изменения каких-либо действий может быть различным. Чтобы вам было понятнее, что имеется в виду, приведем следующий пример: представьте простую ситуацию, когда электрическая лампочка гаснет и загорается снова. Это несложное дейс твие, однако оно может происходить совершенно по-разному. Лампочка может плавно потухать до тех пор, пока перестанет излучать свет (вспомните освещение в театре), а затем так же плавно накаляться. В другом случае лампочка может потухнуть резко и так же резко зажечься вновь или плавно погаснуть и резко загореться. Как видите, существует большое количество вариантов того, как может происходить данное действие. Если создать подобную трехмерную сцену, то анимированным параметром будет яркость источника света.
Приведем другой пример: допустим, автомобиль подъезжает к столбу. Он может приближаться с некоторой постоянной скоростью, с ускорением или торможением. Если создать подобную трехмерную сцепу, то анимированным параметром будут координаты объекта. При этом положение объекта в ключевых точках будет одинаковым, однако характер изменения параметра в каждом случае будет различным.
Если математически отобразить зависимость анимированного параметра (или ключа анимации, как его еще называют) от времени, то каждый ключевой кадр будет характеризоваться двумя кривыми, которые определяют функциональные зависимости анимированного параметра на промежутке между текущим ключевым кадром и предыдущим, а также настоящим ключевым кадром и следующим. Во многих редакторах для работы с трехмерной графикой, в том числе и в 3ds Мах, подобной графической зависимостью можно управлять, определяя характер анимации.
Программа 3ds Мах 8 содержит так называемые контроллеры анимации, с помощью которых разработчик трехмерной графики может гибко управлять изменением анимированного параметра объектов. Контроллеры анимации представляют собой заготовки зависимостей, согласно которым могут изменяться параметры. Задать характер протекания анимации можно тремя способами. Первый — при помощи окна Track View (Редактор треков), которое можно открыть командой Graph Editors ► New Track View (Графические редакторы > Новый редактор треков). Второй способ — в свитке Key Info (Basic) (Основные параметры ключевого кадра) вкладки Motion (Движение) на командной панели. Наконец, самый быстрый способ выбора одной из заготовок зависимостей — при помощи кнопки на панели управления анимацией (рис. 8.5).
Рис. 8.5. Быстрый выбор эаготовокзависимостей
В 3ds Мах 8 есть семь основных заготовок, каждая из которых изменяет значение анимированного параметра следующим образом:
Auto (Автоматическая) — автоматически изменяет значение анимированного параметра, сглаживая кривую в точке излома;
Custom (Пользовательская) — позволяет установить форму кривой зависимости вручную;
Fast (Быстрая ) — с у с корен! 1ем;
Slow (Медленная) — с замедлением;
Step (Ступенчатая) — по ступенчатому графику;
Linear (Линейная) — линейно;
Smooth (Сглаженная) — плавно, данный тин функции выбран ио умолчанию.
Создание простейшей анимации
Прежде чем приступить к созданию полноценного анимационного проекта, предлагаем нам немного потренироваться на примере простейшей сцены.
Создайте в окне проекции чайник, для чего перейдите на вкладку Create (Создать) командной панели, в категории Geometry (Геометрия) выберите строку Standard Primitives (Стандартные примитивы) и нажмите кнопку Teapot (Чайник). Удобнее работать с одним окном проекции, а не с четырьмя сразу, поэтому разверните окно Perspective (Перспектива) во весь экран при помощи сочетания клавиш ALt+W.
Объект, созданный по умолчанию, состоит из небольшого количества полигонов, поэтому выглядит угловато. Если вы повращаете чайник, то обратите внимание, что носик не ровный, а с изломами. Чтобы это исправить, перейдите на вкладку Modify (Изменение) командной панели и в свойствах объекта (рис. 8.6) увеличьте значение параметра Segments (Количество сегментов).
Теперь можно приступить к созданию анимации. Используя модификатор Slice (Срез), вы сможете создать видео, на котором чайник будет постепенно появляться.
Выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка Modifier List (Список модификаторов) модификатор Slice (Срез). Этот модификатор разделяет объект условной плоскостью и отсекает его часть.
w^5®r
IТеарсхО!
| Modifier U$i "▼ j
■[ - P=>™?teri |
R adnit |^2348 7
S egrneMt |l4• |
S' Smooth
Teapot Peril
P Body
P Handle
17 Spout
P Lid
....J
i P Gendate Mapping Coords
Г FleaWceldMapSize
Рис, 8.6. Настройки объекта Teapot (Чайник)
В нашем случае в настройках модификатора нужно указать параметр Remove Тор (Отсечение верхней части) (рис. 8.7). При этом объект исчезнет, так как по умолчанию плоскость лежит в его основании.
&I# &"® 0 Т|
| Т еаооИЛИ
■« Щ а ! в
Рис. 8.7. Настройки модификатора Slice (Срез)Рис. 8.7. Настройки модификатора Slice (Срез)
Рис. 8.7. Настройки модификатора Slice (Срез)
Рис. 8.7. Настройки модификатора Slice (Срез)
Для создания анимации переключитесь в режим ключевых кадров, нажав кнопку Auto Key (Автоключ) под шкалой анимации внизу экрана (рис. 8.8). При этом область, по которой передвигается ползунок анимации, окрасится в красный цвет. Передвиньте ползунок анимации на 100 кадр (в крайнее правое положение) (рис. 8.9), разверните список модификатора Slice (Срез) в стеке, щелкнув на плюсике рядом с его названием, и перейдите в режим редактирования Slice Plane (Поверхность среза) (рис, 8.10). Теперь вы сможете переместить плоскость, отсекающую объект, вдоль оси Z вверх так, чтобы чайник стал виден полностью (рис. 8.11). Если воспроизвести анимацию, нажав кнопку Play Animation (Воспроизвести анимацию) (рис. 8.12), то в окне проекции можно будет увидеть, как чайник постепенно появится.
SetSet
Set
Set
Рис. 8.8. Кнопка Auto Key (Автоключ)
Selected§j хР Key FilletsSelected§j хР Key FilletsРис. 8.9. Изменение положение ползунка анимацииРис. 8.9. Изменение положение ползунка анимации-и IГ1Г 8 I В-и IГ1Г 8 I ВРис. 8.10. Режим редактирования Slice Plane (Поверхность среза)Рис. 8.10. Режим редактирования Slice Plane (Поверхность среза)s№l®®Tj
Selected
§j хР Key Fillets
Selected
§j хР Key Fillets
Рис. 8.9. Изменение положение ползунка анимации
Рис. 8.9. Изменение положение ползунка анимации
-и IГ1Г 8 I В
-и IГ1Г 8 I В
Рис. 8.10. Режим редактирования Slice Plane (Поверхность среза)
Рис. 8.10. Режим редактирования Slice Plane (Поверхность среза)
ПРИМЕЧАНИЕ
Готовый файл сцены находится на прилагаемом к книге компакт-диске в папке ch08/ examples. Файл сцены называется teapot.max.
Рис. 8.11. Перемещение поверхности среза вверх по оси Z
Рис. 8.12. Кнопка Play Animation (Воспроизведение анимации)
Попробуйте, например, создать анимационную сцену с каким-нибудь вращающимся объектом, например Teapot (Чайник). Включите режим автоматического создания ключевых кадров, передвиньте ползунок анимации в крайнее правое положение, после чего поверните чайник вокруг некоторой оси. Если теперь воспроизвести в окне проекции полученную анимацию, то можно увидеть, что скорость, с которой трехмерная модель будет совершать вращение, непостоянна. Причина кроется в том, что анимированный параметр не является линейно зависимым по отношению к выбранному по умолчанию контроллеру вращения, поэтому объект при вращении ускоряется, а затем замедляется.
Чтобы можно было изменить характер зависимости анимированного параметра, необходимо щелкнуть правой кнопкой мыши на ключевом кадре на шкале анимации и выбрать ключ параметра, характеристики которого необходимо изменить (рис. 8.13).
Теперь вы знаете, как в 3ds Мах 8 создается простейшая анимация. Программа автоматически просчитывает значение параметра во всех промежуточных кадрах, заключенных между двумя ключевыми кадрами. Однако создание анимации — это гораздо более сложный процесс, чем может показаться на первый взгляд.
Далее в окне изменения характеристик параметра укажите один из семи вариантов функциональных зависимостей анимированного параметра (рис. 8.14) от контроллера, например Linear (Линейная).
Попробуйте теперь воспроизвести анимацию. Вы увидите, что чайник вращается с постоянной угловой скоростью.
Рис. 3.13. Выбор ключа параметра, характеристики которого необходимо изменить
lewot.01: 2 Rotation
У *|П " Advanced > |
Рис. 8.14. Выбор варианта функциональной зависимости анимированного параметра
Окно Parameter Collector (Коллектор параметров)
Для более удобного создания анимации в 3ds Мах 8 есть окно — Parameter Collector (Коллектор параметров). Благодаря ему вы сможете гораздо быстрее управлять свойствами объектов.
При работе с анимированной сценой, содержащей большое количество объектов, часто бывает неудобно изменять их параметры. Например, в определенном кадре нужно изменить положение одного объекта, другой повернуть, для третьего подобрать новые настройки материала. В таком случае утомительно переключаться между свойствами объектов и окнами модулей 3ds Мах.
В окно Parameter Collector (Коллектор параметров) можно вынести все настройки, необходимые вам для работы с объектами сцены. Это могут быть как параметры объектов, так и настройки примененных к ним модификаторов, материалов и т. д.
Для вызова окна Parameter Collector (Коллектор параметров) выполните команду Animation ► Parameter Collector (Анимация ► Коллектор параметров) или воспользуйтесь сочетанием клавиш Alt+2.
AddAddВ появившемся окне Parameter Collector (Коллектор параметров) необходимо нажать кнопку Add to New Rollout (Добавить в новый свиток) (рис. 8.15), после чего на экране откроется окно Track View Pick (Окно треков) (рис. 8.16). В нем в виде иерархического списка отображены все объекты сцены и их параметры.
Add
Add
Rollout |
Рис. 8.15. Кнопка Add to New Rollout (Добавить а новый свиток) в окне Parameter Collector (Коллектор параметров)
Рис. 8.16. Окно Track View Pick (Окно треков)Рис. 8.16. Окно Track View Pick (Окно треков)
Рис. 8.16. Окно Track View Pick (Окно треков)
Рис. 8.16. Окно Track View Pick (Окно треков)
В этом окне нужно выбрать необходимый параметр и нажать кнопку ОК - параметр перенесется в окно Parameter Collector (Коллектор параметров). Как показано на рис. 8.17, в одном свитке могут быть собраны самые разные параметры: настройки размера объекта, его положения в пространстве и т. д.
Настройки, занесенные в отдельный свиток, можно изменять одновременно. Для этого необходимо нажать одну из кнопок выбора параметра, расположенных рядом с каждой настройкой (рис. 8.18). После этого кнопка станет желтой.
@ Parameter Collector 811313
Collection Edit Parameters Rollout
: 0 » ю » » »» 3 x |- Paameiersl ” | J Y Position |№' ^]Д J Bump Amount [ГП УЩ J Length 144.^5
Рис. 8.17. Окно Parameter Collector (Коллектор параметров) с добавленными параметрами
Рис. 8.18. Кнопка выбора параметра
В окне Parameter Collector (Коллектор параметров) можно создавать любое количество свитков с настройками (естественно, в разумных переделах), после чего объединять их в группы. Для формирования группы необходимо дать ей название, набрав его в соответствующем поле и завершив вводе помощью клавиши Enter. При этом станет активной кнопка New Collection (Новая группа), нажав которую можно перейти к созданию следующей группы. Переключаться между группами параметров можно при помощи раскрывающегося списка (рис. 8.19).
Рис. 8.19. Список переключения между группами параметров
Окно Parameter Editor (Редактор параметров)
Еще одно окно, с помощью которого можно сделать удобнее управление объектами сцены, — Parameter Editor (Редактор параметров). При помощи данного окна можно составлять группы параметров, которыми характеризуется тот или иной объект в сцене, и добавлять их к настройкам объекта или примененного к нему модификатора на командной панели, а также к настройкам используемого материала.
Для вызова окна Parameter Editor (Редактор параметров) выполните команду Animation > Parameter Editor (Анимация ► Редактор параметров) или воспользуйтесь сочетанием клавиш ALt+1.
Для добавления нового параметра сделайте следующее.
В списке Add to Туре (Добавить к типу) появившегося окна Parameter Editor (Редактор параметров) (рис. 8.20) выберите, куда необходимо добавить параметр.
Рис. 8.20. Окно Parameter Editor (Редактор параметров)
Укажите тип параметра в списке Parameter Туре (Тип параметра) (рис. 8.21).
Укажите тип управления параметром при помощи списка UI Туре (Тип управления) (рис. 8.22). В зависимости оттого, какой параметр вы выберете в списке Parameter Туре (Тип параметра), доступные варианты будут различаться.
ParameterParameterРис. 8.21. Список Parameter Туре (Тип параметра)Рис. 8.21. Список Parameter Туре (Тип параметра)Рис. 8.22. Список UI Туре (Тип управления)Рис. 8.22. Список UI Туре (Тип управления)
Parameter
Parameter
Рис. 8.21. Список Parameter Туре (Тип параметра)
Рис. 8.21. Список Parameter Туре (Тип параметра)
Рис. 8.22. Список UI Туре (Тип управления)
Рис. 8.22. Список UI Туре (Тип управления)
В поле Name (Имя) введите название параметра.
Нажмите кнопку Add (Добавить) для добавления параметра.
Переключитесь в настройки объекта (модификатора или материала) и убедитесь, что параметр добавлен в свиток Custom Attributes (Настройки пользователя) (рис. 8.23).
|Тош*01 |MocMier U#
'Paramcief»:-
Radus 2. (6.441С^
Rtialtpni |fl й;] :
Т wist |0.0
Segment* р4t]
Sides: П?gj
-Smooth:—: .
s All г SbJb ' .
None ^ Segments
Г Slice On ;
SiceFfiNf^У .
SweTa pH:| ;
' F Generate Mepprig Coords F ReaAVoddMapSiie
| - " CytimAJlr^' 1
Масиле<3мроеанив:Масиле<3мроеанив:
Масиле<3мроеанив:
Масиле<3мроеанив:
Рис. 8.23. Настройки объекта Torus (Тор) после добавления пользовательских параметров
Модуль Character Studio
Само понятие анимации многие ассоциируют с персонажной анимацией, то есть с двигающимися героями анимационной картины. Создание персонажной анимации — это один из важнейших этанов разработки трехмерного проекта.
Любую анимацию можно условно разделить на два типа: реалистичная и нереалистичная. Персонажная анимация может быть как реалистичной, так и нереалистичной, однако зрители воспринимают анимацию лучше, если она напоминает движения, совершаемые реальными существами. Даже если персонаж анимации — это вымышленное существо, плод воображения художника, лучше, чтобы его движения были правдоподобны. В противном случае персонаж будет выглядеть безжизненным манекеном.
Поскольку зрителю очень знакомы движения живых существ (особенно если имитируются движения человека), он без труда отличит несовершенную трехмерную подделку. Поэтому в персонажной анимации модель должна выглядеть безукоризненно.
Характер движения любого существа определяется анатомическим строением его скелета, поэтому при создании трехмерной анимации сначала создается модель скелета существа, на который позже «надевается» оболочка. При движении отдельных частей скелета внешняя оболочка будет деформироваться в соответствии с формой каркаса. Таким образом, для анимирования персонажа достаточно настроить параметры движения скелета, который затем можно использовать с различными внешними оболочками, например, когда требуется анимировать группу мультяшных героев. «Надевание* оболочки — это тоже достаточно трудоемкий процесс, ведь нужно «привязать» кости к соответствующим частям тела таким образом, чтобы при изменении положения скелета оболочка деформировалась реалистично.
Создавать анимацию скелета будущего персонажа можно двумя способами - вручную (с помощью ключевых кадров) и используя систему захвата движения Motion Capture. Последний способ получил широкое распространение и используется практически во всех коммерческих анимационных проектах, так как имеет несколько преимуществ перед методом ключевых кадров.
Технология Motion Capture использовалась, например, в одном из самых громких трехмерных анимационных фильмов 2004 года — «Полярный экспресс» (The Polar Express). В этом фильме известный актер Том Хенке играл сразу несколько ролей: Йаленького мальчика, проводника поезда, бродягу и Санта Клауса. При этом во многих анимационных сценах актер играл сам с собой. Конечно же, все герои мультфильма были трехмерными, но Том Хенке управлял их действиями, жестами и даже мимикой. Актер надевал специальную «одежду» с датчиками, напоминающую гидрокостюм, совершал действия перед специальным устройством, а компьютер получал информацию об изменении положения отметок на костюме и моделировал таким образом движения трехмерного персонажа. Подобные датчики были установлены и на лице актера, что позволило перенести на анимационных героев его мимику (рис. 8.24).
Рис. 8.24. Том Хенке «играет" проводника поезда в анимационном фильме
Очевидно, что анимация персонажей, созданная с использованием технологии Motion Capture, более реалистична, чем полученная методом ключевых кадров.
Модуль Character Studio — это, пожалуй, самый мощный на сегодняшний день инструмент для работы с анимацией персонажей. Начиная с седьмой версии 3ds Max, Character Studio, который ранее существовал как дополнительный модуль, был интегрирован в пакет.
Character Studio содержит три модификатора;
Biped (Двуногий) — моделирует скелет практически любого двуногого создания и задает его поведение;
Physique (Телосложение) — с его помощью можно «надеть» оболочку на скелет;
Crowd (Толпа) - анимирует группы трехмерных персонажей, используя систему связей и поведения.
Имитация движения трехмерных персонажей в Character Studio производится по следующему принципу: сначала строится скелет, в котором нерархично взаимодействуют его составляющие — кости (Bones), Затем на скелет надевается оболочка (Skin).
Для построения скелета используется система костей Biped (Двуногий), а также любая трехмерная модель персонажа.
Новый объект создается нажатием кнопки Biped (Двуногий), которая расположена в категории Systems (Дополнительные инструменты) вкладки Create (Создание) командной панели. Создаваемый объект представляет собой скелет двуногого персонажа (рис. 8.25).
Рис. 8.25. Объект Biped (Двуногий) в окнах проекций
Свиток Create Biped (Создание двуногого) содержит настройки анатомических особенностей модели (рис. 8.26). Строение скелета максимально упрощено. Например, кости рук и ног изображаются параллелепипедами. Это объясняется тем, что для прорисовки движений любого персонажа требуется указать не все кости,а лишь те, которые составляют опорно-двигательный аппарат.
Среди прочих настроек системы костей Biped (Двуногий) можно выделить параметры, которые регулируют наличие или отсутствие костей рук, позволяют изменять количество пальцев на руках и ногах (от одного до пяти), а также количество позвоночных и шейных костей. Помимо этого, можно добавить нестандартные типы костей для персонажей с хвостом или гривой.
После создания скелета необходимо совместить его с оболочкой (трехмерной моделью персонажа) и подогнать их по размеру. Для этого нужно выделить объект
BipOl и постараться совместить его с моделью персонажа. Можно сделать наоборот — совместить оболочку со скелетом.
* ,^ & "01®|Т| 9»t 6 и. ^1% iSumdatd *|
Рис. 8.26. Настройки объекта Biped (Двуногий) на командной панели
ПРИМЕЧАНИЕ
Для выделения объекта Вгр01 вызовите окно Select Objects (Выбор объектов) при помощи клавиши Н.
Следующая задача заключается в том, чтобы кости оказались внутри оболочки и располагались там как можно более естественно. П равдоподобность движений конечной модели персонажа будет зависеть от того, насколько тщательно удалось совместить все элементы скелета и внешней оболочки. Для соединения скелета и оболочки необходимо включить режим Figure Mode (Режим фигуры) в свитке Biped (Двуногий) вкладки Motion (Движение) (рис. 8.27) и, не выходя из него, поочередно выделять и перемещать составляющие скелета.
ямдшв
130 Seeded
. Selection Level"
Sub-Dheol || I b 3 i P^anwiaT- Tregectorm [
II ^0f*^8nc^ |
FSi]-
» & ^
]Fig«ze Mode
| * Model arid Display
Рис. 8.27. Включение режима Figure Mode (Режим фигуры)
При включении этого режима на командной панели появится свиток Structure (Конструкция), в который с вкладки Create (Создание) переместятся настройки системы костей.
Поскольку скелет симметричен, часто приходится выполнять одни и те же действия. Например, нужно поднять правую руку, а потом точно так же — левую. Если в настройках объекта на вкладке Motion (Движение) развернуть свиток Track Selection (Выбор направления) (рис. 8.28) и нажать кнопку Symmetrical (Симметрично), то все действия, которые будет производить персонаж на экране, будут симметрично отображаться. Чтобы перейти к симметрично расположенной кости, нужно нажать кнопку Opposite (Противоположный) в свитке Track Selection (Выбор направления). Форма костей у любого существа своя, поэтому всякий раз нужно специально регулировать размеры (длину и толщину) каждой из них.
- Track SefectPr^
w t О 6 I ^ ^
Рис. 8.28. Свиток настроек Track Selection (Выбор направления)
После того как будут правильно расположены скелет и внешняя оболочка, нужно перейти в режим Rubber Band Mode (Режим резиновой нити), щелкнув на соответствующей кнопке свитка Biped (Двуногий) (рис. 8.29).
Рис. 8.29. Включение режима Rubber Band Mode (Режим резиновой нити)
П Р И М ЕЧ АН И Е
Чтобы открыть дополнительные параметры свитка Biped (Двуногий), щелкните на плюсике рядом с надписью Modes and Display (Режимы и отображение) в его нижней части.
Находясь в режиме Rubber Band Mode (Режим резиновой нити), можно управлять формой отдельно взятой кости. Если попытаться переместить кость в окне проекции, то се форма изменится, и она начнет вытягиваться так, как будто сделана из резины (отсюда следует название режима — rubber, с англ, «резина»). Величину элементов скелета можно изменять при помощи стандартной операции Scale (Масштабирование).
После подбора размеров нужно воспользоваться модификатором Physique (Телосложение). Он применяется к внешней оболочке будущего персонажа Character Studio. «Оживление» персонажей — процесс очень трудоемкий. Скелет двуногого существа состоит из иерархично связанных компонентов, поэтому удобнее присоединять к нему не сразу всю оболочку, а отдельные компоненты (конечно, если позволяет сцена), то есть сначала руки и плечи, затем ноги, а в конце — все остальное.
В свитке Physique (Телосложение) настроек модификатора есть кнопка Attach to Node (Присоединить к оболочке). После нажатия этой кнопки выбирается элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.
После щелчка на элементе скелета на экране появится окно Physique Initialization (Условия составления телосложения) (рис. 8.30). Модификатор Physique (Телосложение) по своему принципу действия напоминает модификатор Skin (Кожа). В месте, где кожа изгибается, вокруг выбранной кости будет построена огибающая в форме капсулы. Вершины той части оболочки, которая охвачена огибающей, в окне проекции окрасятся в разные цвета. Цвета вершин символизируют степень
воздействия на них перемещений текущей кости. Огибающая состоит из внешнего и внутреннего контуров, а также содержит два поперечных сечения в форме кругов. Чтобы модифицировать характер сгиба оболочки, нужно изменить размер сечений огибающей или настроить степень воздействия на вершины перемещения кости.
Рис. 8.30. Окно Physique Initialization (Условия составления телосложения)
Окно Physique Initialization (Условия составления телосложения) содержит несколько свитков с параметрами, которые определяют начальные настройки огибающей. Здесь необходимо нажать кнопку Initialize (Составить), затем перейти на вкладку Motion (Движение) командной панели. Щелкнув на кнопке Load File (Загрузить файл), можно загрузить файл, в котором хранится информация о движении скелета (предварительно необходимо отключить режим Figure Mode (Режим фигуры)). Данный файл имеет расширение BIP, его можно найти среди разнообразных примеров, предложенных разработчиками 3ds Мах 8.
Результат действий будет виден сразу после нажатия кнопки Biped Playback (Воспроизведение движений) в свитке Biped (Двуногий) вкладки Motion (Движение). В этом случае двигаться будет только схематично нарисованный персонаж. Анимацию можно проиграть также, нажав кнопку Play Animation (Воспроизвести анимацию) — при этом будет видна вся анимация без упрощения. Двуногий человечек совершает определенные действия: прохаживается, размахивает руками и выполняет другие движения.
Однако хоть такую оболочку и можно «надеть» на объект, но она будет иметь множество недостатков. Во-первых, есть большая вероятность того, что некоторые
256 Глава 8. Создание трехмерной анимации. Модуль Character Studio вершины не попадут под действие огибающей, поэтому на экране форма ободочки сильно исказится (будет выглядеть так, как будто она прибита гвоздями к полу). Во-вторых, несмотря на все усилия, не получится добиться правильного соотношения размеров скелета и оболочки.
Чтобы исправить первый недостаток, нужно перейти на вкладку Modify (Изменение) командной панели, щелкнуть на плюсике возле названия модификатора Physique (Телосложение) и переключиться в режим редактирования подобъектов Vertex (Вершина).
На командной панели появится свиток Vertex — Link Assignment (Вершина — назначение связи) (рис. 8.31). Чтобы убрать «прибитые гвоздями» вершины, нужно нажать кнопку Select (Выбрать) и выделить их в сцене. Затем необходимо нажать кнопку Assign to Link (Назначить связь) и указать, на какой кости будут закреплены выбранные вершины. Можно также совершить обратную операцию: выбрать вершины при помощи кнопки Select (Выбрать), после чего нажать кнопку Remove from Link (Удалить связь) и указать элемент, с которым желательно удалить связи.
Рис. 8.31. Режим редактирования подобъектов Vertex (Вершина) модификатора Physique (Телосложение)
Для решения второй проблемы необходимо щелкнуть на плюсике возле названия модификатора Physique (Телосложение) и переключиться в режим редактирования подобъектов Envelope (Огибающая) (рис. 8.32). После этого оболочку можно будет редактировать на уровне огибающей.
Рис. 8.32. Режим редактирования подобьектов Envelope (Огибающая) модификатора Physique (Телосложение)
Чтобы при проигрывании анимации общий скелет не был виден, можно пойти двумя путями. Самый простой - установить флажок Hide Attached Nodes (Скрыть присоединенные вершины) в свитке Physique Level of Detail (Уровень детализации) настроек модификатора Physique (Телосложение), Другой метод — выделить скелет, нажать правую кнопку мышки, выбрать строку Properties (Свойства) и в области Rendering Control (Контроль визуализации) окна настроек объекта установить значение параметра Visibility (Видимость) равным 0 (рис. 8.33).
Когда настройка модификатора Physique (Телосложение) будет завершена, результат можно сохранить с расширением PHY, нажав кнопку Save Physique File (Сохранить файл) в свитке Physique (Телосложение). Таким же образом при помощи кнопки Open Physique File (Открыть файл) в дальнейшем его можно открыть, чтобы использовать в других проектах.
При помощи модуля Character Studio можно также смоделировать ходьбу персонажа по нарисованным следам, расположение которых вы указываете сами. Прп этом результат сохраняется/загружается в файл с расширением STP.
Рис. 8.33. Параметр Visibility (Видимость) в окне Object Properties (Свойства объекта)
Создание персонажной анимации
Создание персонажной анимации — одна из самых сложных задач трехмерной компьютерной графики. Несмотря на это, она привлекает многих начинающих пользователей, которые, однако, часто не в силах ее освоить.
В этом урокс создадим простейшую анимацию с участием трехмерного персонажа. В качестве оболочки будем использовать стандартные примитивы 3ds Мах 8. Очевидно, что созданный таким образом персонаж не претендует на реалистичность. Цель урока другая — продемонстрировать на примере основы работы с модулем Character Studio.
Перейдите на вкладку Create (Создание) командной панели, в категории Systems (Дополнительные инструменты) нажмите кнопку Biped (Двуногий). Создайте объект в окне проекции (см. рис. 8.25).
Создайте в окне проекции стандартный примитив Cylinder (Цилиндр) (рис. 8.34). Выровняйте его положение относительно ноги объекта и подберите параметры
примитива таким образом, чтобы Cylinder (Цилиндр) охватывал кости ноги персонажа (рис. 8.35). Значение параметра Height Segments (Количество сегментов по высоте) установите равным 13.
Рис. 8.34. Объект Cylinder (Цилиндр) в сцене
Рис. 8.35. Расположение объекта Cylinder (Цилиндр) на персонаже
ПРИМЕЧАНИЕ
Файл, содержащий скелет персонажа и объект Cylinder (Цилиндр), находится на прилагаемом к книге компакт-диске в папке ch08/examples. Файл сцены называется character.max.
Клонируйте Cylinder (Цилиндр) и разместите полученный объект таким образом, чтобы он совпадал со второй ногой скелета. Аналогичным образом создайте цилиндры для рук персонажа и совместите их со скелетом (рис. 8.36). Совмещать объекты со скелетом персонажа нужно с максимальной точностью.
Рис. 8.36. Объекты Cylinder (Цилиндр) размещены на руках и ногах скелета
Теперь необходимо присоединить оболочку к скелету. Делать это лучше не со всей оболочкой сразу, а с ее отдельными частями. Выделите первый цилиндр (например, правой ноги), перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор Physique (Телосложение). Напомним, что он применяется к внешней оболочке будущего персонажа Character Studio, которую в нашем примере формируют примитивы.
В свитке Physique (Телосложение) настроек одноименного модификатора нажмите кнопку Attach to Node (Присоединить к оболочке) (рис. 8.37) и выберите элемент скелета, главный в той группе костей, па которую надевается внешняя оболочка.
На экране появится окно Physique Initialization (Условия составления телосложения) (рис. 8.38).
^.’S?® 0 TI^.’S?® 0 TIРис. 8.38. Окно Physique Initialization (Условия составления телосложения)Рис. 8.38. Окно Physique Initialization (Условия составления телосложения)
^.’S?® 0 TI
^.’S?® 0 TI
Рис. 8.38. Окно Physique Initialization (Условия составления телосложения)
Рис. 8.38. Окно Physique Initialization (Условия составления телосложения)
Cyhnde^l
Modifier bat
V 3 Physique
Cylinder
Чй i'll 6 ВЧй i'll 6 В
Чй i'll 6 В
Чй i'll 6 В
Рис. 8.37. Кнопка Attach to Node (Присоединить к оболочке) в настройках модификатора Physique (Телосложение)
Данное окно содержит несколько свитков с параметрами, которые определяют начальные настройки огибающей поверхности. Нажмите кнопку Initialize (Составить). Теперь выделенный элемент будет присоединен к системе костей персонажа, и при изменении положения костей оболочка будет деформироваться.
Чтобы убедиться в этом, выделите объект BipOl при помощи окна Select Objects (Выбор объектов) (рис. 8.39), ко торое вызывается клавишей Н. Перейдите на вкладку Motion (Движение) командной панели и при помощи кнопки Load File (Загрузить файл) (рис. 8.40) в свитке настроек Biped (Двуногий) загрузите файл walk_start,Ь1р (рис. 8.41). В этом файле хранится информация о движении скелета.
Рис. В.39. Окно Select Objects (Выбор объектов)
Рис. 8.40. Кнопка Load File (Загрузить файл) а свитке настроек Biped (Двуногий)
ПРИМЕЧАНИЕ
Файл walk_start.bip также содержится на прилагаемом к книге компакт-диске в папке ch08/examples.
Рис. 8.41. Выбор файла walkstart.bip
После загрузки файла вы увидите, что скелет и присоединенная к нему оболочка изменят свое положение в сцене.
ПРИМЕЧАНИЕ
Файл, содержащий скелет персонажа и присоединенный объект Cylinder (Цилиндр), находится на прилагаемом к книге компакт-диске в папке chOB/examples. Файл сцены называется character_2.max.
Вернуть скелет с присоединенной оболочкой на прежнее место можно, выделив объект BipOl и включив в свитке Biped (Двуногий) на вкладке Motion (Движение) командной панели режим Figure Mode (Режим фигуры) (см. рис. 8.27). Если щелкнуть на плюсике в нижней части свитка Biped (Двуногий), то появятся дополнительные настройки. Нажав кнопку In Place Mode (Режим «на месте*), можно заставить скелет двигаться на месте в той точке, в которой он находился до загрузки файла walk—Start.bip (рис. 8.42).
_2BipedА О & ^►ч в? ® 2 8■ Mades and Display_2BipedА О & ^►ч в? ® 2 8■ Mades and Display- Modes- ModesName: | BipOlName: | BipOl
_2Biped
А О & ^
►ч в? ® 2 8
■ Mades and Display
_2Biped
А О & ^
►ч в? ® 2 8
■ Mades and Display
- Modes
- Modes
Name: | BipOl
Name: | BipOl
Рис. 8.42. Кнопка In Place Mode (Режим »на месте») в дополнительных настройках свитка
Biped (Двуногий)
Теперь можно проиграть анимацию, нажав кнопку Play Animation (Воспроизведение анимации). Вы увидите, что персонаж будет идти реалистичной походкой (рис. 8.43).
Рис. 8.43. Движение персонажа в окне проекцииРис. 8.43. Движение персонажа в окне проекции
Рис. 8.43. Движение персонажа в окне проекции
Рис. 8.43. Движение персонажа в окне проекции
ПРИМЕЧАНИЕ
Вы также можете воспроизвести анимацию персонажа при помощи кнопки Biped Playback (Воспроизведение движений), которая находится в свитке Biped (Двуногий) вкладки Motion (Движение). Однако в этом случае двигаться будеттолько схематично нарисованный персонаж, в то время как при нажатии кнопки Play Animation (Воспроизведение анимации) видна вся анимация без упрощения.
При выделенном объекте BipOl на шкале анимации будут обозначены ключевые
кадры, по которым создается реалистичная ходьба персонажа (рис. 8.44). Они были созданы с использованием технологии Motion Capture.
Епаяа™ЕЕЯЕ$иж™ашя™яеее1™^^^ееееееееееееееЕшз Не Edi Tods Group Vera CreMe Modems Owwter reactor Aretiaton Grach E6i«j Rendeng Cwtamite MAXScret HelpЕпаяа™ЕЕЯЕ$иж™ашя™яеее1™^^^ееееееееееееееЕшз Не Edi Tods Group Vera CreMe Modems Owwter reactor Aretiaton Grach E6i«j Rendeng Cwtamite MAXScret HelpРис. 8.44. Обозначение ключевых кадров на шкале анимации в нижней части окна 3ds Мах 8Рис. 8.44. Обозначение ключевых кадров на шкале анимации в нижней части окна 3ds Мах 8
Епаяа™ЕЕЯЕ$иж™ашя™яеее1™^^^ееееееееееееееЕшз Не Edi Tods Group Vera CreMe Modems Owwter reactor Aretiaton Grach E6i«j Rendeng Cwtamite MAXScret Help
Епаяа™ЕЕЯЕ$иж™ашя™яеее1™^^^ееееееееееееееЕшз Не Edi Tods Group Vera CreMe Modems Owwter reactor Aretiaton Grach E6i«j Rendeng Cwtamite MAXScret Help
Рис. 8.44. Обозначение ключевых кадров на шкале анимации в нижней части окна 3ds Мах 8
Рис. 8.44. Обозначение ключевых кадров на шкале анимации в нижней части окна 3ds Мах 8
Теперь, когда мы убедились, что скелет совмещен с частью оболочки, можно повторить операцию присоединения для всех частей оболочки. Убедитесь, что режим Figure Mode (Режим фигуры) включен.
Выделите следующий цилиндр (например, вторую ногу), перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор Physique (Телосложение). В свитке Physique (Телосложение) настроек одноименного модификатора нажмите кнопку Attach to Node (Присоединить к оболочке) и выберите элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.
ПРИМЕЧАНИЕ
Чтобы увидеть, какой элемент скелета является основным в группе, в окне Select Objects (Выбор объектов) установите флажок Display Subtree (Отображать иерархию) (рис. 8.45).
Рис. 8.45. Окно Select Objects (Выбор объектов) с включенным режимом Display Subtree (Отображать иерархию)
На экране появится окно Physique Initialization (Условия составления телосложения) (см. рис. 8.38). Нажмите кнопку Initialize (Составить). Теперь выделенный элемент будет присоединен к системе костей персонажа, и при изменении положения костей оболочка будет деформироваться.
Выключив режим Figure Mode (Режим фигуры) и просмотрев анимацию, можно увидеть, насколько удачно вы совместили оболочку со скелетом. Есть большая вероятность того, что некоторые вершины не попадут под действие огибающей поверхности, поэтому на экране форма оболочки сильно исказится (рис. 8.4G). Такое неправильное смещение вершин происходит из-за того, что в процессе присо- единепия оболочки персонажа к системе костей возникли неправильные связи.
Чтобы исправить этот недостаток, выделите оболочку, которую необходимо отредактировать, перейдите на вкладку Modify (Изменение) командной панели и щелкните на плюсике возле названия модификатора Physique (Телосложение). Переключитесь в режим редактирования подобъектов Vertex (Вершина). При этом на ноге отобразятся все вершины оболочки (рис. 8.47).
В свитке Vertex — link Assignment (Вершина — назначение связи) настроек режима редактирования подобьектов Vertex (Вершина) нажмите кнопку Select (Выбрать) и выделите в сцене неудачные вершины (рис. 8.48).
Рис. 8.46. Искажение формы оболочки
Рис. 8.47. Вид оболочки при переходе в режим редактирования подобьектов Vertex (Вершина) модификатора Physique (Телосложение)
Рис. 8.48. Выделение неправильно расположенных вершин
Нажмите кнопку Assign to Link (Назначить связь) и укажите, на какой кости будут закреплены выбранные вершины. Вы увидите, что вершины изменили свое положение (рис. 8.49).
Рис. 8.49. Вершины изменили положение
Теперь можно проиграть анимацию, нажав кнопку Play Animation (Воспроизведение анимации). При этом проследите, не осталось ли вершин, которые необходимо присоединить к той пли иной кости. Если все в порядке (рис. 8.50), можно переходить к присоединению рук.
Рис. 8.50. При движении персонажа в окне проекции нет выступающих вершин
Включите режим Figure Mode (Режим фигуры) и повторите описанную выше операцию присоединения объектов к скелету поочередно для каждого цилиндра.
Если выключить режим Figure Mode (Режим фигуры) и просмотреть анимацию, то будет видно, насколько удачно вы совместили оболочку со скелетом. Может возникнуть проблема, когда потребуется удалить связи, установленные между оболочкой и костями.
Чтобы исправить этот недостаток, выделите оболочку, которую необходимо отредактировать, перейдите на вкладку Modify (Изменение) командной панели и щелкните на плюсике возле названия модификатора Physique (Телосложение). Переключитесь в режим редактирования подобъектов Vertex (Вершина). При этом на ноге отобразятся все вершины оболочки.
В свитке Vertex — Link Assignment (Вершина — назначение связи) настроек режима редактирования подобъектов Vertex (Вершина) нажмите кнопку Select (Выбрать) и выделите в сцене неудачные вершины. Нажмите кнопку Remove from Link ( Удалить связь) (рис. 8.51) и укажите элемент скелета, с которого необходимо удалить связи. Вы увидите, что вершины изменили свое положение.
СОВЕТ
При анимировании оболочек персонажа, содержащих большое количество полигонов, бывает очень трудно управлять вершинами оболочки. По этой причине те вершины, в положении которых вы уверены, можно спрятать. Для этого нажмите кнопку Select (Выбрать) в свитке Vertex — Link Assignment (Вершина — назначение связи) настроек режима редактирования Vertex (вершина) и щелкните на кнопке Hide (Скрыть). Если вам снова понадобится увидеть все вершины, нажмите кнопку UnHide ALL (Показать все).
^^l^^i ВТ
Cyind*03§
Modifier Lisi*j
" Ф’В Physique '
Вj— Envelope
h- ^
L— Bulge
■ — Tendons VertenI
Cinder
Ч» 1П7 I 8 I В
.f- Physique Selection Status j i I BipOl R Foream
Рис. 8.51. Кнопка Remove from Link (Удалить связь} 8 свитке Vertex — Link Assignment (Вершина — назначение связи)
Когда присоединение оболочки к скелету будет завершено, можно скрыть скелет. Для этого поочередно выделите каждый элемент оболочки, к которому был применен модификатор Physique (Телосложение).
Перейдите на вкладку Modify (Изменение) командной панели и в свитке Physique Level of Detail (Уровень детализации) настроек модификатора установите флажок Hide Attached Nodes (Скрыть присоединенные вершины).
СОВЕТ
Попробуйте, взяа за основу этотурок, создать голову и туловище персонажа. В качестве оболочки для головы можно, например, использовать стандартный примитив Teapot (Чайник), а в качестве оболочки для туловища — цилиндре большим радиусом, чем тот, на основе которого были смоделированы ноги и руки. Готовый персонаж может выглядеть так, как показано на рис. 8.52.
ПРИМЕЧАНИЕ
Готовый файл анимации персонажа находится на прилагаемом к книге компакт-диске в палке ch08/examples. Файл сцены называется character_final.max.
Рис. 8.52. Готовый персонаж, полученный в результате присоединения скелета к частям оболочки
Основы создания мимики персонажа. Морфинг
Для создания мимики трехмерного персонажа, кроме метода Motion Capture, используется также метод морфинга — плавного преобразования одного изображения в другое с помощью геометрических операций и цветовой интерполяции. Все современные редакторы трехмерной графики обычно имеют средства для создания морфинга. 3ds Мах не является исключением — в инструментарии программы существует специальный модификатор Morpher (Морфинг).
Добиться высокой реалистичности при имитации мимики методом Motion Capture не всегда удается. Выражение лица человека определяется положением лицевых мускулов, которые исчисляются десятками. Для моделирования мимики персонажа большое значение имеет положение бровей, губ, наличие морщин на лбу, ямочек на щеках и т. д. Чем сложнее форма головы персонажа, тем менее реалистично выглядит мимика, полученная с использованием метода Motion Capture. Чтобы она была правдоподобной, необходимо имитировать движения огромного количества мускулов, а ведь на каждый мускул невозможно поместить датчик.
По этой причине для имитации мимики используется метод морфинга. Он заключается в том, что на основе модели, которая будет анимирована, создается определенное количество клонированных объектов. Затем каждый из этих объектов редактируется вручную — форма лица изменяется таким образом, чтобы на нем присутствовала та или иная гримаса. При создании мимики очень важно, чтобы
лицо персонажа при анимации не выглядело однообразным. Для этого необходимо использовать модели-заготовки с самыми разными гримасами: на одной заготовке персонаж будет моргать, на другой — щуриться, на третьей — надувать щеки и т. л.
На основе этих моделей при помощи метода морфинга создается анимация. При этом просчитывается, как изменяется лицо персонажа при переходе от выражения лица одной модели до гримасы, созданной на второй модели, и т.д. Таким образом, каждая модель служит ключом анимации, в результате использования морфинга форма объекта изменяется и создается мимика персонажа.
Разработчик трехмерной анимации, который профессионально занимается «оживлением» персонажей, должен быть не только художником, но и знатоком анатомии. Знания о строении тела и работе мускулов помогают создать реалистичные движения и выражения лица.
Если же персонаж не только ходит и кривляется, но еще и разговаривает, ЗО-ани- матор обязан превратиться еще и в лингвиста. Каждый звук, который произносит человек, сопровождается определенными движениями его губ, языка и челюсти. Чтобы перенести эти движения в трехмерную анимацию, нужно уметь разбивать речь на фонемы и создавать соответствующие их произношению движения на лице персонажа.
Глава 9
Модуль Particle Flow
Создание простой анимации с помощью Particle Flow
Создание капель дождя на зонте
Несмотря на то, что метод ключевых кадров достаточно удобен, существуют анимационные задачи, которые достаточно сложно решить с его помощью. К ним относятся физические процессы (см. гл. 10), анимация сцен с большим количеством объектов.
Создать простую на первый взгляд сцену с горящим бенгальским огнем при помощи ключевых кадров невозможно. Вручную задать траекторию каждой из огромного количества разлетающихся искр — задача практически невыполнимая. В этом случае в трехмерной анимации используются так называемые источники частиц. Их особенность заключается в том, что они позволяют одновременно управлять большим количеством объектов. Значимость частиц в трехмерной графике столь велика, что некоторые ЗИ-редакторы имеют сложные системы управления источниками частиц, которые позволяют тонко настроить анимационные эффекты с учетом изменения скорости движения частиц, размера, цвета, формы, изменения положения в пространстве и т. д. 3ds Мах в этом плане не исключение. Начиная с шестой версии, в его состав интегрирован модуль Particle Flow.
Particle Flow — это мощный модуль для работы с частицами. До его появления в 3ds Мах существовали системы частиц, с их помощью можно было создавать несложные эффекты. Были и дополнительные модули для работы с частицами, например Digitisation Particle Studio и Cebas Thinking Particles. Однако возможности Particle Flow значительно шире. При помощи этого модуля можно создать практически любой эффект, связанный с частицами, — брызги воды, разбивание объекта на мелкие части, сноп искр и др.
Для начала работы с Particle Flow необходимо перейти на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выбрать строку Particle Systems (Системы частиц) и нажать кнопку PF Source (Источник Particle Flow). Этот объект представлен в окне проекции пиктограммой. В его настройках (рис. 9.1) есть кнопка Particle View (Представление частиц), которая вызывает окно для работы с модулем (рис. 9.2).
Окно Particle View (Представление частиц) можно условно разделить на четыре части. Основную часть окна занимает диаграмма, отображающая процесс создания эффекта в сцене. В нижней части окна расположены доступные средства для описания эффекта. При добавлении эффектов в общую диаграмму можно просмотреть их описание в правой нижней части окна Particle View (Представление частиц). Наконец, в правой верхней части окна отображаются настройки каждого компонента диаграммы. Изменяя их, можно редактировать эффект.
При использовании модуля Particle Flow употребляют следующие термины. Действия, которые происходят с частицами, называются событиями (Events). Средства для описания эффекта — операторы (Operators) и критерии (Tests). Каждое событие состоит из группы операторов и критериев.
Операторы определяют поведение частиц в событии. При помощи операторов можно указать изменение формы, цвета, скорости движения, размера, материала частиц и т. д. Критерии нужны для связывания нескольких событий в одном эффекте. Они указывают на то, при каком условии состоится переход от одного
события к другому. Например, критерий Age Test (Критерий возраста) будет означать, что частицы перейдут к другому событию, достигнув заданного возраста.
аа
а
а
Рис. 9.1. Настройки объекта PF Source (Источник Particle Flow): а — верхняя часть, б — нижняя
Рис. 9.2. Окно Particle View (Представление частиц)Рис. 9.2. Окно Particle View (Представление частиц)
Рис. 9.2. Окно Particle View (Представление частиц)
Рис. 9.2. Окно Particle View (Представление частиц)
Чтобы добавить оператор или критерий в событие, нужно перетащить значок оператора или критерия на диаграмму. Если перетащить оператор или критерий в пустую область, то будет создано новое событие. Если событие происходит в определенном направлении, то оно (направление) задается стрелками на диаграмме. Чтобы указать направление, нужно щелкнуть мышью на выступе диаграммы события, который расположен напротив критерия, и перетащить этот выступ на мишень в верхней части второго события. При этом указатель изменит форму (рис. 9.3). На то, что события связаны, будет указывать соединяющая их синяя линия, которая появится сразу после того, как вы отпустите кнопку мыши.
Рис. 9.3. Связывание событий
Каждое событие можно на время отключить, то есть сделать неактивными все его операторы. Для этого служит кнопка в виде лампочки в нравом верхнем углу события.
Если эффект, создаваемый средствами Particle Flow, сложный, то диаграмма будет достаточно большой. Чтобы было легче управлять событиями эффекта, можно увеличить область окна с диаграммой, растянув его мышью. Для управления
видом содержимого окна Particle View (Представление частиц) можно также использовать кнопки, расположенные в его правом нижнем углу (рис. 9.4):
Pan (Прокрутка);
Zoom (Масштаб);
Zoom Region (Масштаб выбранного участка диаграммы);
Zoom Extents (Масштаб всей диаграммы в пределах вида окна);
No Zoom (Отмена масштабирования).
Л Ч К М К
Рис. 9.4. Кнопки управления видом содержимого окна Particle View (Представление частиц)
Создание простой анимации с помощью Particle Flow
Particle Flow — это очень сложный модуль. Эффекты, создаваемые с его помощью, весьма разнообразны. Глядя на некоторые из них в сцене, даже не придет в голову, что они выполнены с применением частиц. Все зависит от мастерства дизайнера трехмерной графики и его фантазии.
Мы рассмотрим работу с Particle Flow па несложном примере. Наша задача — создать анимацию, в которой частицы летят 60 кадров в виде сфер, а те частицы, которые уже превысили «возраст» в 60 кадров, меняют свою форму на куб. Для этого используем критерии Age Test (Критерий возраста). Частицы, удовлетворяющие данному условию, перейдут к следующему событию, а те, которые не соответствуют критерию, останутся в текущем событии и будут проверены на соответствие прочим критериям данного события.
Для начала работы с Particle Flow необходимо перейти на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выбрать строку Particle Systems (Системы частиц) и нажать кнопку PF Source (Источник Particle Flow). Этот объект представлен в окне проекции пиктограммой. В его настройках (см. рис. 9.1) есть кнопка Particle View (Представление частиц), которая вызывает окно для работы с модулем.
Диаграмма в данном окне уже содержит два события: Global Event (Общее событие) и Birth Event (Событие рождения) (рис. 9.5).
СОВЕТ
В правом верхнем углу любого события находится маленький значок лам почки (рис. 9.6). Щелкнув на нем, вы можете выключить/включить любое событие, которое имеется в окне Particle View (Представление частиц).
Рис. 9.5. Диаграмма событий
Рис. 9.6. Значок лампочки, позволяющий выключить/включить любое событие
В конец списка операторов второго события мы должны добавить Age Test (Крите
рий возраста). Все критерии имеют желтую пиктограмму и располагаются в нижней
части окна Particle View (Представление частиц) (рис. 9.7). Здесь же хранятся и все воспринимаемые программой операторы. Чтобы в списке Birth Event (Событие рождения) появился Age Test (Критерий возраста), необходимо захватить мышью желтый значок квадрата с названием Age Test (Критерий возраста) и перетащить в список Birth Event (Событие рождения) (рис. 9.8).
@; Empty Flow
И Scale
ф Go To Rotation
Щ Standard Flow
Я Sciipt Operator
ф Scale Test
^ Birth
0 Shape
^Script Test
® Birth Script
0 Shape Facing
ф Send Out
И Delete
В Shape instance
ф Spawn
В Force
В Shape Mark
фSpeed Test
В Keep Apart
S3 S peed
ф Split Amount
Mapping
HI Speed By Icon
ф Split Selected
В Material Dynamic
■ Speed By Suiface ф Split Source
Ц Material Frequency Щ Spin
□ Cache
В Material Static
И Display
■ Position Icon
ф Collision
Q Notes
Й1 Position Object В Rotation
ф Collision Spawn фрггк1 Target
И Render
Рис. 9.7. Критерии в окне Particle View (Представление частиц)
Рис. 9.8. Добавление критерия Age Test (Критерий возраста) в список Birth Event (Событие рождения)
ПРИМЕЧАНИЕ
Чтобы было легче определить, что обозначает тот или иной оператор или критерий, разработчики добааили в окно Particle View (Представление частиц) область Operator Description (Описание оператора) (рис. 9.9). В этой области отображается краткое описание действия выбранного оператора или критерия.
-•Operator Description: — —
' Speed By Surface either sets the ■ initial speed er modifies the existing speed tor particles in the current event The speed direction it based on geometry of the reference objects.
Рис. 9.9. Окно Operator Description (Описание оператора)
Теперь необходимо создать следующее событие, которое будет удовлетворять выбранному условию. Чтобы это сделать, перетащите из той части окна, в которой находятся действия, на свободное пространство окна событий оператор Shape (Форма), Он будет управлять формой частиц.
После добавления оператора Shape (Форма) появится новое событие Event 02 (Событие 2) (рис. 9.10). Чтобы действия с частицами выполнялись от события Event 01 (Событие 1) к событию Event 02 (Событие 2), нужно указать направление движения частиц. Захватите указателем мыши выступ в левой части строки критерия Age Test (Критерий возраста), убедитесь, что указатель мыши изменил форму и напоминает «прицел*, и, удерживая нажатой левую кнопку мыши, тяните его к похожему выступу блока Event 02 (Событие 2). Как только вы отпустите кнопку, на экране появится линия, указывающая стрелкой направление протекания событий. В нашем случае — от Event 01 (Событие 1) к событию Event 02 (Событие 2) (рис. 9.11).
Birth 01 (0.30 Т:200)Position Icon 01 (Volume) Speed 01 (Along Icon Arro Rotation 01 (Random 3D) Shape 01 (Tetra)Display 01 (Ticks)Birth 01 (0.30 Т:200)Position Icon 01 (Volume) Speed 01 (Along Icon Arro Rotation 01 (Random 3D) Shape 01 (Tetra)Display 01 (Ticks)Age Test 01 (Aga>30±5)Age Test 01 (Aga>30±5)
Birth 01 (0.30 Т:200)
Position Icon 01 (Volume) Speed 01 (Along Icon Arro Rotation 01 (Random 3D) Shape 01 (Tetra)
Display 01 (Ticks)
Birth 01 (0.30 Т:200)
Position Icon 01 (Volume) Speed 01 (Along Icon Arro Rotation 01 (Random 3D) Shape 01 (Tetra)
Display 01 (Ticks)
Age Test 01 (Aga>30±5)
Age Test 01 (Aga>30±5)
Рис. 9.10. Добавление события Event 02 (Событие 2) в сцену
Схема, описывающая сцену, готова, осталось определиться с параметрами операторов. Условное обозначение критерия Age Test (Критерий возраста) в событии Event 01 (Событие 1) выглядит как строка Age Test 01 (Аде>30±5) (рис. 9.12). Это
означает, что к событию Event 02 (Событие 2) перейдут лишь те частицы, возраст которых достиг 30 кадров (±5 кадров).
PF Soured ГП ?PF Soured ГП ?Render 01 (Geometry)Render 01 (Geometry)Shape 02 Petra)Drsplay 02 (Ticks)Shape 02 Petra)Drsplay 02 (Ticks)(0-30 T:200) Position Icon 01 Volume) Speed 01 (Along Icon Arm. Rotation 01 (Random 30) Shape 01 (Tetra) Display CT (Ticks) Age Test 01 (Age>30±6)(0-30 T:200) Position Icon 01 Volume) Speed 01 (Along Icon Arm. Rotation 01 (Random 30) Shape 01 (Tetra) Display CT (Ticks) Age Test 01 (Age>30±6)
PF Soured ГП ?
PF Soured ГП ?
Render 01 (Geometry)
Render 01 (Geometry)
Shape 02 Petra)
Drsplay 02 (Ticks)
Shape 02 Petra)
Drsplay 02 (Ticks)
(0-30 T:200) Position Icon 01 Volume) Speed 01 (Along Icon Arm. Rotation 01 (Random 30) Shape 01 (Tetra) Display CT (Ticks) Age Test 01 (Age>30±6)
(0-30 T:200) Position Icon 01 Volume) Speed 01 (Along Icon Arm. Rotation 01 (Random 30) Shape 01 (Tetra) Display CT (Ticks) Age Test 01 (Age>30±6)
Рис. 9.11. Задание направления движения событий
Display 01 (Ticks)Age Test 01 (Age>30±S)Display 01 (Ticks)Age Test 01 (Age>30±S)
Display 01 (Ticks)
Age Test 01 (Age>30±S)
Display 01 (Ticks)
Age Test 01 (Age>30±S)
Рис. 9.12. Условное обозначение критерия Age Test (Критерий возраста) в событии Event 01 (Событие 1)
Выделите строку Age Test 01 (Аде>30±5) и в настройках критерия (в правой части окна Particle View (Представление частиц)) установите значение параметра Test Value (Значение критерия) равным 60, а параметра Variation (Разброс), задающего допустимое отклонение от критерия (те самые плюс/минус), — равным нулю (рис. 9.13).
Age Test 01
- Тest Т rue If Particle Vaioa™- ■ C Islets Than Test Value * Is Greater Then Test Value
T est Value: [SO tj Variation. [0
fv Subframe Sampling - Uniqueness:
Seed: 112345 tj Hew |
Рис. 9.13. Настройки критерия Age Test (Критерий возраста)
Событие Event 01 (Событие 1) содержит операторы Shape (Форма) и Display (Отображение). В настройках первого оператора есть информация о том, какую форму имеют частицы, а в настройках второго — как частицы данного события отображаются в окне проекции. Установите для наглядности кубическую форму частиц Shape (Форма) события Event 01 (Событие 1) (рис. 9.14), а для события Event 02 (Событие 2) — сферическую (рис. 9.15). Сцена готова.
Рис. 9.14. Настройки оператора Shape (форма) события Event 01 (Событие 1)
Рис. 9.15, Настройки оператора Shape (форма) события Event 02 (Событие 2)
Проект готов. Нажмите клавишу ЕЮ, откроется окно настроек визуализации. В области Time Output (Выходные настройки диапазона) окна Render Scene (Визуализация сцены) установите переключатель в положение Active Time Segment (Текущий промежуток времени) и нажмите кнопку Render (Визуализировать).
ПРИМЕЧАНИЕ
Подробнее о настройках визуализации 3ds Мах 8 читайте в гл. 14.
На полученной анимации будет видно, как частицы па 60 кадре будут превращаться из кубиков в шарики (рис. 9.16).
СОВЕТ
Работать в дальнейшем с такой сценой будет не очень удобно. Независимо от того, какому событию принадлежат частицы, в окне проекции они будут обозначаться одинаково — в виде крестиков (рис. 9.17). Гораздо удобнее каждый разори создании нового события сцены изменять параметр оператора Display (Отображение). В таком случае вы точно не запутаетесь в потоках разлетающихся частиц.
Рис. 9.16. Сцена изменения частиц, созданная при помощи модуля Particle How
Рис. 9.17. Отображение сцены с частицами а окне проекции
Создание капель дождя на зонте
Выше мы рассмотрели самый простой пример работы Particle Flow, который, надеемся, помог вам разобраться с принципами работы с модулем. Теперь перейдем к более сложным эффектам, которые можно выполнить при помощи Particle Flow, и создадим анимацию падающих капель дождя на открытый зонт. После соударения капель с куполом зонта каждая капля должна распадаться на несколько более мелких, которые в свою очередь будут брызгами разлетаться в разные стороны.
По умолчанию в 3ds Мах используется продолжительность анимации длиной в 100 кадров. При настройках по умолчанию можно создать анимацию продолжительностью около трех секунд, что в нашем случае очень мало.
Чтобы увеличить продолжительность анимации, используйте диалоговое окно Time Configuration (Конфигурация времени), которое вызывается при помощи од- поименной кнопки, расположенной под кнопками управления анимацией. В этом окне установите значение параметра Length (Продолжительность) равным 300, После этого вы сможете увидеть, что масштаб линейки времени под ползунком анимации изменился.
ПРИМЕЧАНИЕ
Для этой сцены мы будем использовать модель зонта, рассмотренную в гл. 6. Откройте файл, созданный вами, или файл zont.max, который находится на прилагаемом к книге компакт-диске в папке ch06/examples.
Создайте в окне проекции источник частиц PF Source (Источник Particle Flow). Расположите созданный объект над зонтом таким образом, чтобы при воспроизведении анимации частицы опускались на купол зонта (рис. 9.18).
ПРИМ ЕЧАН И Е
Источник частиц Particle Flow в окне проекции по умолчанию принимает прямоугольную форму, а стрелка в центре такого прямоугольника обозначает направление движения частиц.
Поскольку капли должны отскакивать от поверхности зонта, необходимо назначить зонту свойства отражателя. Чтобы это сделать, нужно создать в окне проекции вспомогательный объект-отражатель. Купол зонта имеет сложную геометрию — это не плоскость и не сфера, поэтому нужно выбрать тип отражателя UDeflector (Универсальный отражатель) и указать в его настройках, какой объект в сцене будет обладать свойствами отражателя. Для создания этого объекта перейдите в категорию Space Warps (Объемные деформации), выберите строку Deflectors (Отражатели) и нажмите кнопку UDeflector (Универсальный отражатель). Создайте его в любом месте окна проекции (рис. 9.19). В свитке Basic Parameters (Основные настройки) настроек отражателя нажмите кнопку Pick Object (Выбрать объект)
и укажите модель зонта в сцене. При значении параметра Bounce (Отскок), равном единице, частицы будут отскакивать от поверхности купола зонта.
Рис. 9.18. Расположение объекта PF Source (Источник Particle Flow) в сцене
Рис. 9.19. Значок объекта UDeflector (Универсальный отражатель) в окне проекции
Теперь необходимо описать события, которые должны происходить с потоком частиц. Выделите источник частиц и перейдите на вкладку Modify (Изменение) командной панели. С помощью кнопки Particle View (Просмотр частиц) откройте окно событий Particle View (Просмотр частиц).
СОВЕТ
Окно Particle View (Просмотр частиц) можно открыть при помощи клавиши 6.
После того как в сцену добавлен тип источника частиц PF Source (Источник Particle Flow), окно Particle View (Просмотр частиц) включает в себя начальную диаграмму событий (см. рис. 9.5). Событие Global Event (Общее событие) — это факт существования частиц. Строка Render 01 (Geometry) (Визуализация 01 (Геометрия)) в этом событии отвечает за то, будут ли визуализироваться частицы потока, а также в каком виде они будут просчитываться (с учетом геометрии каждой частицы, по габаритным контейнерам для каждого элемента и т. д.), Оставляем этот пункт без Изменений.
Первое событие (Event 01 (Событие 01)) — порождение новых частиц источником. Рождение частиц определяется оператором Birth 01 (Рождение 01). В настройках этого оператора можно указать первый кадр, в котором произойдет рождение частиц (Emit Start (Начало порождения)), и последний (Emit Stop (Конец порождения)), после которого частицы появляться не будут. Кроме этого, оператор Birth (Рождение) отвечает за количество частиц (Amount (Количество)), испускаемых источником PF Source (Источник Particle Flow). В нашем случае необходимо установить следующие значения: Emit Start (Начало порождения) — 0, Emit Stop (Конец порождения) — 300, Amount (Количество) — 500.
Второй оператор в группе этого события — Position Icon 01 (Расположение пиктограммы 01). Его настройки определяют область испускания частиц. Здесь необходимо в раскрывающемся списке location (Область) выбрать вариант Volume (Объем). Это означает, что частицы будут порождаться не на поверхности объекта, а в каком-то объеме.
Следующий оператор — Speed 01 (Скорость 01) — задает скорость и направление потока частиц. Установите значение параметра Speed (Скорость) равным 25, а в раскрывающемся списке Direction (Направление) выберите Along Icon Arrow (В направлении стрелки, обозначенной на значке PF Source).
Оператор Rotation 01 (Вращение 01) в нашей сцене не имеет особого значения, так как его настройки указывают характер вращения отдельных частиц. Оператор формы Shape 01 (Форма 01) по умолчанию хранит информацию о том, что частицы потока должны обладать формой сферы. Форма выбирается в раскрывающемся списке Shape (Форма). Также можно установить размер частиц (параметр Size (Размер)). В нашем случае он будет равен 0,36.
Оператор Display 01 (Ticks) (Экран 01 (Точки)) предназначен для управления отображением частиц в окне проекции. Поскольку трехмерная сцена в 3ds Мах может
содержать большое количество потоков частиц, разобраться в таком многообразии элементов бывает довольно трудно. По этот! причине любой лоток частиц в любом событии можно представить в окне проекции в виде точек, крестиков, звездочек и т. д.
СОВЕТ
Чтобы при взгляде на диаграмму событий сразу же можно было определить, частицы какого события отображены в окне проекции, достаточно найти их цвет в диаграмме напротив оператора Display (Экран).
На этом первое событие прерывается. Поток частиц рождается, частицы приобретают форму сфер и с определенной скоростью летят в заданном направлении. Чтобы перейти к следующему событию, мы должны установить критерий отбора частиц для второго события. Таким критерием должен стать факт появления новых частиц в результате столкновения с зонтом.
Добавьте в список операторов первого события (Event 01 (Событие 01)) оператор Collision Spawn (Порождение в результате столкновения). Этот оператор создает новые частицы после столкновения с объектом. Выделите этот оператор, чтобы задать для него некоторые настройки (рис. 9.20).
В списке Deflectors (Отражатели) при помощи кнопки Add (Добавить) укажите объект UDeflector (Универсальный отражатель), созданный нами в сцене ранее. Установите переключатель Spawn Rate and Amount (Количество и частота соударений) в положение Spawn On First Collision (Соударение при первом столкновении). Установите флажок Delete Parent (Удалить порождающие частицы), чтобы, ударившись о поверхность купола зонта, частицы исчезали, порождая новые. Значение параметра Spawnable (Процент порождающих частиц) укажите равным 100. Это означает, что все частицы, столкнувшиеся с зонтом, будут исчезать и порождать новые частицы. Количество новых частиц, образовавшихся на месте каждой упавшей на зонт капли (параметр Offspring # (Количество новых частиц)), установите равным 5. Установите флажок Restart Particle Age (Начать заново отсчет возраста частиц). Это даст возможность оперировать возрастом вторичных частиц с момента их рождения. В списке Offspring (Новые частицы), который находится в области Speed (Скорость), выберите действие Bounce (Отскок).
ПРИМЕЧАНИЕ
Если в списке Offspring (Новые частицы) будет установлен тип действия Continue (Продолжаться), то после соударения с поверхностью зонта новые частицы продолжат свое движение в прежнем направлении.
Если на этом этапе визуализировать анимацию, то вторичных частиц на ней видно не будет, так как были созданы лишь условия к переходу ко второму событию. Само же событие создано не было. Создадим его.
Рис. 9.20. Настройки оператора Collision Spawn (Порождение в результате столкновения)
Второе событие (Event 02 (Событие 02)) должно описывать поведение частиц, образовавшихся в результате соударения. Их поведение должно выглядеть приблизительно следующим образом: каждая частица должна отлететь от поверхности зонта и, уменьшаясь в размерах, исчезнуть на небольшом расстоянии от места падения породившей ее частицы. Такой характер движения частиц создаст иллюзию брызг, возникающих в результате падения капель дождя на зонт.
Оператор, описывающий движение частиц, в этом событии создавать не надо, поскольку отскок вторичных частиц уже указан в настройках оператора Collision Spawn (Порождение в результате столкновения) в предыдущем событии (Event 01 (Событие 01)). Остается задать уменьшение размеров при отлете.
Для этой цели можно использовать оператор Scale (Масштабирование). Перетащите его в окно событий, на любое свободное место, создав тем самым событие Event 02 (Событие 02). Установите тип масштабирования (Туре (Тип)) — Absolute (Абсолютный). Благодаря этому масштабирование будет применено к каждой частице по отдельности.
Добавьте ко второму событию оператор Display (Экран) и задайте в его настройках любой цвет, отличный от того, который вы выбрали в настройках этого же оператора в первом событии. Это даст вам возможность различать в окне проекции падающие и отражающиеся частицы по цвету.
Укажите направление движения частиц от события Event 01 (Событие 01) к событию Event 02 (Событие 02). Для этого захватите указателем мыши выступ в левой части строки критерия Collision Spawn (Порождение в результате столкновения), убедитесь, что указатель мыши изменил форму и напоминает «прицел», и, удерживая нажатой левую кнопку мыши, перетяните его к похожему выступу блока Event 02 (Событие 02) (рис. 9.21). Как только вы отпустите кнопку, на экране появится линия, указывающая стрелкой направление протекания событий (рис. 9.22).
Рис. 9.21. Связывание событий
Рис. 9.22. События связаны
Вернемся к настройке оператора Scale (Масштабирование). Этот оператор устанавливает масштаб каждой частицы, управляя, таким образом, ее размером. Геометрические размеры вторичных частиц изменяются, поэтому необходимо анимировать настройки этого оператора. Величина, которая должна изменяться, — Scale Factor (Коэффициент масштабирования). При установленном флажке Constrain Proportions (Соблюдать пропорции) величина масштаба изменяется одинаково в направлении каждой из осей координат — X, Y, Z. Установите ползунок анимации в крайнее левое положение и нажмите кнопку Auto Key (Автоключ), включающую режим автоматического создания ключевых кадров анимации. Выделите в окне Particle View (Представление частиц) оператор Scale 01 (Масштабирование 0!) и установите начальное значение параметра Scale Factor (Коэффициент масштабирования)
равным 67. Благодаря этому вторичные частицы будут иметь начальный размер, составляющий 67 % от размера порождающих их частиц.
Передвиньте ползунок анимации на 4-5 кадров и уменьшите значение параметра Scale Factor (Коэффициент масштабирования) до 0 (рис. 9.23). Выключите режим автоматического создания ключевых кадров анимации, нажав кнопку Auto Key (Автоключ).
Рис. 9.23. Настройки оператора Scale (Масштабирование)
ПРИМЕЧАНИЕ
На шкале анимации не отображаются маркеры ключей анимации. Это объясняется тем, что создаваемые ключи относятся ко времени жизни частиц, а не ко времени протекания анимации в целом.
В списке Animation Offset Keying: Sync By (Сдвиг ключей анимации: синхронизировать по) выберите тип Event Duration (По продолжительности события). Это будет означать, что изменение параметра Scale Factor (Коэффициент масштабирования) будет происходить в течение всего события Event 02 (Событие 02).
Сцена готова. Анимировав ее, мы получим то, что требовалось: капли дождя падают на раскрытый зонт, разбиваются на несколько более мелких капель, которые, разлетаясь, уменьшаются в размере до тех нор, пока не исчезнут.
ПРИМЕЧАНИЕ
Готовая анимация rain.avi находится на прилагаемом к книге компакт-диске в папке ch09/animation, а файл сцены под названием rain,max — в папке ch09/examples.
Глава 10
Динамика в 3ds Мах. Модули reactor и Cloth
Модуль reactor 2
Модуль Cloth
Несмотря на универсальность и простоту техники ключевых кадров, существуют случаи, когда использование этого метода не позволяет добиться желаемого результата. Это касается и тех сцен, в которых необходимо отобразить эффекты, подчиняющиеся зак онам ф из и к и.
Поскольку в реальном мире движение любого объекта подчиняется законам физики, для создания реалистичной трехмерной анимации необходимо учитывать влияние многих физических факторов — гравитации, массы тел, направления ветра и т. д. Если это условие выполняется, анимация выглядит правдоподобно, в противном случае зритель непременно отличит трехмерную «подделку». В реальной жизни все, что нас окружает, постоянно изменяется — шторы слабо двигаются, по озеру бежит мелкая рябь и т. д. Аниматору очень трудно воссоздать такую картину методом ключевых кадров.
Кроме этого, при помощи ключевых кадров бывает очень сложно воссоздать реалистичную анимацию некоторых объектов: жидкости, материи, огня, волос, разбивающихся предметов. Алгоритм решения этих проблем настолько сложен, что его разработкой занимаются целые институты.
Существует большое количество программного обеспечения, которое помогает аниматорам в этой области — от мелких скриптов до крупных самостоятельных программ вроде симулятора жидкости RealFlow от компании Next Limit. При помощи подобных программ можно воссоздать модель физических процессов, просчитав такую сцену за сравнительно короткое время. При этом все ключевые кадры будут созданы автоматически, практически без участия ЗЭ-анпматора. Например, симуляторы поведения ткани позволяют имитировать поведение материи в разных ситуациях — от колебания на ветру до разрыва.
Модули для создания волос также достаточно сложны, поскольку количество трехмерных объектов, поведение которых нужно вычислить, очень велико. Просчитать геометрию каждого такого объекта в отдельности невозможно, поэтому в подобных модулях используется математическое описание поведения волос. Например, при создании известного фильма «Последняя фантазия» Final Fantasy разработкой волос главной героини занималась целая группа сотрудников. Они создавали сценарии для редактора трехмерной графики Alias Maya, описывающие динамику волос героини.
ПРИМЕЧАНИЕ
Работа с модулем для создания волос Hair And Fur (Волосы и шерсть), интегрированным в 3ds Мах 8, будет рассмотрена в следующей главе.
Каждая программа для создания динамики в трехмерных сиенах по-своему уникальна, имеет свои преимущества и недостатки. По этой причине при выборе программного обеспечения руководитель анимационного проекта обычно учитывает задачи, которые планируется выполнить на данном этапе.
В некоторых случаях можно обойтись без громоздких программ для моделирования физических процессов. Например, на краю стола стоит ваза, ее задевают, и ока, падая, «уходит» из кадра. В таком случае бессмысленно моделировать физически правильное падение и соударение с полом. Другой пример: для имитации несложной анимации жидкостей можно использовать метаболы — специальные объекты, которые присутствуют практически во всех трехмерных редакторах, в том числе и в 3ds Мах. Их особенность заключается в том, что они при сближении вступают во взаимодействие друг с другом и словно «сливаются» в один.
ПРИМЕЧАНИЕ
Создание анимации таким способом требует гораздо меньше системных ресурсов, а кроме того, позволяет сэкономить на покупке дополнительного программного обеспечения.
В этой главе речь пойдет об интегрированных в 3ds Мах модулях для создания динамики в сценах — reactor 2 и Cloth.
Модуль reactor 2
С помощью 3ds Мах 8 можно просчитывать анимацию объектов, которая будет подчиняться законам физики. При этом в настройках объектов указываются их физические свойства, на основе которых происходит просчет их поведения и взаимодействия. Просчет таких сложных сцен происходите использованием модуля reactor 2.
Если сцена содержит большое количество анимированных объектов, то установить для каждого из них свой набор ключевых кадров очень сложно. Поскольку подбор значений анимированных параметров в каждом из ключевых кадров производится методом проб и ошибок, на подгонку такой сцены уйдет очень много времени.
Чтобы понять, насколько это может быть сложно, приведем пример. Допустим, требуется создать простую сцену, в которой мячик падает на пол. В реальной жизни мяч несколько раз подпрыгнет, причем каждый следующий раз он будет подскакивать все ниже. Если вы решите делать такую сцену при помощи ключевых кадров, вам придется потратить большое количество времени. Во-первых, необходимо точно вычислить промежутки времени между ключевыми кадрами, а во-вторых, потребуется подобрать положение мячика относительно пола в каждом ключевом кадре. Согласитесь, задание не из легких! Замет ьте, что сцена очень проста, и объектов в ней только два. Если же представить сцену, в которой, например, таких мячиков более 10 и каждый из них находится на разной высоте от земли, то создание анимации с расстановкой ключевых кадров вручную покажется непосильной задачей. В то же время, используя модуль reactor 2, эту сцену можно просчитать за несколько секунд, причем все ключевые кадры будут созданы автоматически, практически без участия пользователя.
При помощи модуля reactor 2 можно просчитать поведение тел при взаимодействии, имитацию водной поверхности, материи и многое другое. В ранних версиях 3ds Max reactor, как и некоторые другие модули, был подключаемым модулем, однако, начиная с 3ds Мах 5, он входит в стандартную поставку программы.
В 3ds Мах 8 используется вторая версия модуля reactor. Он полностью интегрирован в 3ds Мах 8 — в левой части экрана расположена вертикальная панель с настройками модуля (рис. 10.1).
Рис. 10.1. Панель reactor
Создание сцены при помощи модуля reactor 2 можно условно разделить на несколько этапов.
Создание сцены 3ds Мах 8.
Установка физических параметров каждого объекта, включенного в сцену, при помощи свитка настроек Properties (Свойства) утилиты reactor 2.
Объединение объектов в группы.
Создание конструкции из компонентов сцены.
Анализ и просчет готовой сцены.
Модуль reactor 2 может работать со следующими группами объектов: Rigid Bodies (Твердые тела), Soft Bodies (Гибкие тела), Rope (Веревка), Deforming Mesh (Деформируемые поверхности), Constraints (Конструкции), Actions (Воздействия) и Water (Вода). Эти группы с сокращенными названиями также находятся в категории Helpers (Вспомогательные объекты) и Space Warps (Объемные деформации) вкладки Create (Создание) командной панели в группе объектов reactor (рис. 10.2).
^1^1® TI о ^ т у jo: ^ % |reKtoiJ
Aulcfind Г”
ABCoHwifon! CS*er ] iPoim-Point JPoriBeth |
Hinge jHagdot J
Cawbeel ^Prbmate |
L Dathpot j A Dashpot i CLCoieclion; DMCollection! RPCtMnnjSBCdleotonj
Fradue iMotor]
PWreSprryI
Ге» Car JWindI
Рис. 10.2. Группа объектов reactor в категории Helpers (Вспомогательные объекты)
При имитации движения объектов, связанных между собой, применяются Constraints (Конструкции). В модуле используются разные типы конструкций, наиболее интересными из которых являются Cooperative Constraints (Объединенные конструкции). В их числе:
Rag Doll Constraints (Ограничение куклы) — поворот тел на угол, не превышающий заданное значение (примером данной конструкции может служить плечевой сустав руки);
Hinge Constraints (Ограничение поворота) — движения одного объекта относительно другого вокруг заданной оси (например, локтевой сустав руки и колено);
Prismatic Constraints (Призматическое ограничение) — поступательные движения, подобные тем, которые осуществляют роботы и другие механизмы;
Car-Wheel Constraints (Ограничение колеса) — симуляция поведения колес транспортного средства.
Модуль reactor 2 может хранить данные относительно взаимодействий всех объектов Rigid Bodies (Твердые тела), которые происходили в процессе просчета. Эта информация запоминается, ее можно просмотреть, используя язык сценариев
MAXScript. Для этого перед просчетом в свитке Collision (Информация о взаимодействиях) настроек модуля reactor 2 необходимо установить переключатель Store Collision (Сохранять информацию о взаимодействиях) в положение Always Store (Всегда сохранять), а после просчета нажать кнопку View (Показать), откроется окно (рис. 10.3). Информацию о взаимодействиях также можно сохранить в текстовом файле. Он будет содержать данные о скорости движения тел, координатах точек взаимодействий и др.
Collision Info
ТкАе
। Object А
Objects
Pont
Nermri
S$<№S
-hantDITi*
МЫ SS Тей
,2850
8 0235Й
mi_fr6ffme4t22
вМ_1гедпмт24
(С ЫТя\ 0 527* 0527 ml
(0 0, -0 0 1.0)
0 326m*
^Ft РЬ»1«1б№
28=0
0:5-2850
W fragmemS
ir#_fr»gmer!25
(0.816m. 0 616m. 0 616mj
(0 0, -1 0.-0 0;
0.573**
Not Phentom
2853
0 С,26=0
rre_ fragments
mMrogmertiS
(0 668m. Q 66Sni, 0 889rn>
0 0, .1,0.4.07
1.16m*
hoi Phantom*
28=0
0.0.2850
m_f-ngrn6it22
ml_fr»gmer-125
(0 539m, 0^89m 0 589m)
(9 0.-1 0.-40}
0 89m*
hot Pf-eittom
2864
0С2884
ew fragments
mUregmertB
* 4.564m -O.SB4m -0.56*n)
,0 0 *0 0.-1 Qi
0 516m*
M*. Phgnrom
266*
0.0:2364
m_!ugneti3
mMregmetiE
(-4 373m, АЗП* -0 373im
(GO. -0 9. 02>
0.599m*
Mot Й,ап!о»
2864
0:С 2884
m'^fregmentS
mMregmerH»
1-0268». -0.266m. -0 2€5m>
(-0 1.-1.0, 0.6.
1 589m *
Not Phenram
2864
0.0.2864
^fragwnf:
mMragmenHS
(-0_268m, -0.268m. -0 268m -
(-on -13.0o:
1 655m *
Not PhanSom
2864
0 ■: 286*
mMragrrent*
г4__Тгэдтеп?2
<-C 477m, -0 477m -G 477m)
(-00 0 3 -09,
0818»*
Not Phamom
2Э6^
8:6.2364
w.fragmenH
ml_fnigmerl2
(-C 37Ж -0 373m *0 372m?
МО. 0 3.-0»)
0 616» *
Kat Phantom
2365
0 0 236 4
mMragmanM
тМгадтеглб
(-C 432m -0 432m -0 432m)
(0 0, 0.0 -1 0)
0.705m*
Hot Phantom
2864
0.0:2864
!W_fregment8
mMragmentg
(-C.43w.-C *3» '0 43ml
ro o. 1 о, о oi
Q,5Q4m*
Hol Phantom
2864
0:0 2864
H¥_fragment4
rnMragnwtfS
(-0 26Srr -3 268m, .0 268ml
(-0 5 -09.00)
0 718m*
Hot Phantom
2864
0 5 2 56 4
ffii_fregment4
т!_ГпдтегИЗ
6G 267m,-0 287m-0 267m)
(-1 C.-OO.OCj
0.845 in *
Not Phantom
лу;
0:0'2864
№_ТгадтбП|18
#4_fngmeett
(-G.286tr. -0 298m -0 286m»
TO 2.1 0 -9.01
1.956m*
Hot Phantom
2884
00.2884
тМгадтепН?
m^fragmw*
<-6 266^-0 2X71 -0 266m)
9 2. t.O.O-Ot
1621m*
Hol Pharnom
2№i
00.2364
nr^fragment?
ml_ fragmen! 13
(-С287т. -0 267m, -0 267пи
f-0 2 1 0. 4.6 J
1 882m*
Not Phantomv
Н'
>
Save
Dote
Рис. 10.3. Окно Collision Info (Информация о взаимодействиях) с информацией
о взаимодействии всех твердых тел в процессе просчета
Создание анимации лототрона при помощи модуля reactor 2
Наверное, многие видели, как происходит розыгрыш лотереи. Для выявления победителей используется специальное устройство — вращающийся барабан с пронумерованными шариками. После того как шарики в барабане тщательно перемешаны, в барабане открывается отверстие, через которое случайным образом выпадает один из шариков и скатывается по специальному желобу. В процессе перемешивания шариков в барабане происходит большое количество соударений. Предсказать поведение каждого шара в барабане очень сложно, поэтому выполнить такую анимацию вручную практически невозможно. Данную трехмерную сцену можно просчитать с помощью модуля reactor 2.
Создадим объекты, которые будут присутствовать в сцене. Лототрон будет состоять из нескольких частей:
корпуса, в котором будут крутиться шары:
вращающегося элемента;
желоба, по которому будут выкатываться выигрышные шары.
Кроме этого, конечно же, понадобятся сами шарики.
Создание корпуса
Создайте в окне проекции объект ChamferCyl (Цилиндр с фаской) и установите в свитке Parameters (Параметры) следующие значения: Radius (Радиус) — 81, Height (Высота) — 51, Fillet (Величина фаски) — 2, Height Segs (Количество сегментов по высоте) — 5, Fillet Segs (Количество сегментов в фаске) — 4, Sides (Количество сторон) — 50, Cap Segs (Количество сегментов в основании) — 14 (рис. 10.4).
Рис. 10.4. Создание объекта ChamferCyl (Цилиндр с фаской) в окне проекции
Выделите объект в окне проекции и перейдите на вкладку Modify (Изменение) командной панели. В списке стандартных модификаторов выберите Edit Poly (Редактирование полигональной поверхности). Этот модификатор позволяет работать с объектом как с редактируемой полигональной поверхностью.
Раскройте строку Edit Poly (Редактирование полигональной поверхности) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон) (рис. 10.5). В свитке Selection (Выделение) установите флажок Ignore Backfacing (Игнорировать поверхности с обратной стороны).
Нажмите кнопку на основной панели инструментов, предназначенную для переключения между режимами выделения области. Выберите режим выделения Paint Selection Region (Выделение кистью) (рис. 10.6).
Перейдите в окно проекции и щелкните на его названии в левом верхнем углу правой кнопкой мыши. В появившемся контекстном меню выберите команду отображения ребер сетчатой поверхности объекта — Edged Faces (Контуры ребер) (рис. 10.7). После включения этого режима будет значительно проще работать с поверхностью объекта, так как станет видна его полигональная структура.
Рис. 10.5. Режим редактирования Polygon (Полигон) модификатора Edit Poly (Редактирование полигональной поверхности)
Рис. 10.6. Выбор режима выделения Paint Selection Region (Выделение кистью) при помощи кнопки на основной панели инструментов
Рис. 10.7. Выбор режима отображения объекта в контекстном меню
Поверните объект в окне проекции так, чтобы видеть верхнее основание цилиндра, и выделите все верхние полигоны, за исключением крайнего ряда (рис. 10.8). Выделенные полигоны станут красными.
Рис. 10.8. Выделение полигонов цилиндра
ПРИМЕЧАНИЕ
Чтобы было удобнее использовать инструмент выделения Paint Selection Region (Выделение кистью), можно уменьшить размер кисти выделения. Для этого щелкните правой кнопкой на значке Paint Selection Region (Выделение кистью) на основной панели инструментов и в открывшемся окне Preference Settings (Настройки) в области Scene Selection (Выделение сцены) вкладки General (Общие) уменьшите значение параметра Paint Selection Brush Size (Размер кисти выделения) (рис. 10.9). Это окно можно также вызвать, выполнив команду Customize ► Preferences (Настройка ► Параметры).
Рис. 10.9. Окно Preference Settings (Настройки) с настройками, заданными по умолчанию
Воспользуемся командой Extrude (Выдавливание) для выдавливания полигонов, с которыми мы работаем. Щелкните на кнопке Settings (Настройки), расположенной справа от кнопки Extrude (Выдавливание) в свитке Edit Polygons (Редактирование полигонов) настроек объекта на командной панели. В окне Extrude Polygons (Выдавливание полигонов) установите значение параметра Extrusion Height (Высота выдавливания) равным -10 (рис. 10.10).
СОВЕТ
Окно Extrude Polygons (Выдавливание полигонов) можно также открыть, вызвав контекстное меню и щелкнув на кнопке Settings (Настройки), расположенной справа от кнопки Extrude (Выдавливание) (рис.10.11).
Рис. 10.10. Окно Extrude Polygons (Выдавливание полигонов)
MURMS Toggle
Ignore Backfacing V
Hide Unselected
Collapse
□Attach
Cut
Quickslice
Repeat
isolate Selection
Convert to Edge
Convert to Vertex
Unfreeze All
Freeze Selection
Element
Polygon </
Border
Edge
Vertex
Top-level
Unhide by Name
Unhide All
Hae Unselected
Hide Selection
Save Scene State ..
Manage Scene States
Create
MoveВ
Rotate□
ScaleВ
Select
Insert Vertex
■Extrude
Bevel
ВOutline
□Inset
Qlone
properties..
Curve Editor Dope Sheet... Me Parameters.
В Hinge from Edge
В Extrude along Spline
Edit Triangulation
Ftp Normals
Convert To►
Рис. 10.11. Вызов окна Extrude Polygons (Выдавливание полигонов) из контекстного меню
Нажмите кнопку Apply (Применить) четыре раза. После этого модель будет выглядеть, как показано на рис. 10.12.
ВНИМАНИЕ
Если установить значение параметра Extrusion Height (Высота выдавливания) равным -40 и нажать кнопку Apply (Применить) один раз, то результат не будет идентичен тому, который получили мы, — будет недостаточное количество сегментов по вертикали с внутренней стороны объекта.
Рис. 10.12. Вид модели после выполнения операции выдавливания
Моделирование вращающегося элемента
Создайте в окне проекции еще один объект ChamferCyl (Цилиндр с фаской) со следующими значениями параметров: Radius (Радиус) — 8,1, Height (Высота) — 31, Fillet (Величина фаски) — 2,4, Height Segs (Количество сегменов по высоте) — 1, Fillet Segs (Количество сегментов в фаске) — 3, Sides (Количество сторон) — 3, Cap Segs (Количество сегментов в основании) — 2. Снимите флажок Smooth (Сглаживание).
Разместите созданный цилиндр внутри созданного ранее корпуса следующим образом.
Выполните команду Tools ► Align (Инструменты ► Выравнивание) или воспользуйтесь сочетанием клавиш Alt+A. При этом указатель изменит форму.
Щелкните на первом объекте.
На экране появится окно Align Selection (Выравнивание выделенных объектов). В нем необходимо указать, по какому принципу будет происходить выравнивание.
Установите флажки Y Position (Y-позиния), X Position (Х-позиция) и Z Position (Z-позиция).
Установите переключатель Current Object (Объект, который выравнивается) в положение Pivot Point (Опорная точка).
Установите переключатель Target Object (Объект, относительно которого выравнивается) также в положение Pivot Point (Опорная точка).
Нажмите кнопку Apply (Применить) или ОК. В результате выполнения операции выравнивания объекты будут выглядеть так, как показано на рис. 10.13.
Рис. 10.13. Объекты после выравнивания
Выделите маленький цилиндр в окне проекции и перейдите на вкладку Modify (Изменение) командной панели. В списке модификаторов выберите Edit Poly (Редактирование полигональной поверхности). Раскройте строку Edit Poly (Редактирование полигональной поверхности) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон).
Выделите три большие стороны на объекте, как показано на рис. 10.14. Выделенные полигоны станут красными.
Рис. 10.14. Выделение полигонов на объекте
Воспользуемся инструментом Bevel (Выдавливание со скосом) для создания лопастей. Щелкните на кнопке Settings (Настройки), расположенной справа от кнопки Bevel (Выдавливание со скосом) в свитке Edit Polygons (Редактирование полигонов) настроек объекта на командной панели. В окне Bevel Polygons (Скос полигонов) задайте параметру Height (Высота) значение, равное 65,5, а параметру Outline Amount (Величина контура)5,4. Переключатель Bevel Туре (Тип выдавливания со скосом) установите в положение By Polygon (По полигону) (рис. 10.15).
Рис. 10.15. Окно Bevel Polygons (Скос полигонов)
После выполнения этой операции модель примет вид, как показано на рис. 10.16.
Рис. 10.16, После выполнения операции Bevel (Выдавливание со скосом) у лототронаРис. 10.16, После выполнения операции Bevel (Выдавливание со скосом) у лототронапоявились лопастипоявились лопасти
Рис. 10.16, После выполнения операции Bevel (Выдавливание со скосом) у лототрона
Рис. 10.16, После выполнения операции Bevel (Выдавливание со скосом) у лототрона
появились лопасти
появились лопасти
Анимация вращающегося элемента
Теперь перейдем непосредственно к анимации. При настройках по умолчанию (100 кадров) в 3ds Мах можно создать анимацию продолжительностью около трех секунд. Поскольку анимация будет достаточно длинной, увеличим количество кадров.
Чтобы изменить продолжительность анимации, используйте диалоговое окно Time Configuration (Конфигурация времени), которое вызывается нажатием одноименной кнопки, расположенной под кнопками управления анимацией (рис. 10.17). В этом окне задайте параметру Length (Продолжительность) в области Animation (Анимация) значение, равное 1000 (рис. 10.18). После этого вы сможете увидеть, что масштаб временной шкалы под ползунком анимации изменился.
; «и Й «► | НН | С< ф й Й₽
Ifo
Рис. 10.17. Кнопка Time Configuration (Конфигурация времени)Рис. 10.17. Кнопка Time Configuration (Конфигурация времени)| Time Configuration || Time Configuration |Рис. 10.18. Окно Time Configuration (Конфигурация времени)Рис. 10.18. Окно Time Configuration (Конфигурация времени)
Рис. 10.17. Кнопка Time Configuration (Конфигурация времени)
Рис. 10.17. Кнопка Time Configuration (Конфигурация времени)
| Time Configuration |
| Time Configuration |
Рис. 10.18. Окно Time Configuration (Конфигурация времени)
Рис. 10.18. Окно Time Configuration (Конфигурация времени)
Выйдите из режима редактирования Polygon (Полигон) и включите режим автоматического создания ключевых кадров, нажав кнопку Auto Key (Автоключ). Перетяните ползунок в крайнее правое положение, на тысячный кадр.
При помощи команды Rotate (Вращение) поверните элемент на 200° вокруг оси Z. Как только вы это сделаете, на шкале анимации должны появиться два ключевых кадра в виде специальных маркеров. Выключите режим автоматического создания ключевых кадров, снова нажав кнопку Auto Key (Автоключ), чтобы случайно не добавить в сцену дополнительный ключ анимации, и воспроизведите анимацию. Вы увидите, что объект, вращающийся внутри корпуса, ускоряет свое движение к пятисотому кадру и замедляет его к тысячному.
Чтобы движение происходило с постоянной скоростью, при выделенном объекте вызовите окно Track View — Curve Editor (Просмотр треков — редактор кривых),
выполнив команду Graph Editors ► Track View — Curve Editor (Редакторы графов ► Просмотр треков — редактор кривых).
Выделите ветку, отвечающую за вращение объекта, то есть строку Rotation (Вращение), и выберите подветку Z Rotation (Вращение по оси Z). Вы увидите графическую зависимость, отображающую изменение угла поворота объекта от времени. Как видим, она представлена в виде кривой (рис. 10.19). Нам же необходимо, чтобы на графике была прямая, так как в этом случае скорость будет постоянной.
Рис. 10.19. Графическое представление скорости анимированного объекта, заданное по умолчанию
Выполните команду Controller ► Assign (Контроллер > Назначить) и в появившемся окне выберите Linear Float (Линейный с плавающей точкой) (рис. 10.20). После этого графическая зависимость станет линейной (рис. 10.21).
Рис. 10.20. Окно Assign Float Controller (Назначить плавающий контроллер)
Рис. 10.21. Графическое представление скорости анимированного объекта после выбора контроллера Linear Roat (Линейный с плавающей точкой)
Воспроизведите анимацию и убедитесь, что лототрон вращается с постоянной скоростью.
Создание желоба
Для определения выигрышного номера с помощью лототрона необходимо, чтобы шарик попадал в специальное отверстие в корпусе и по желобу выкатывался наружу.
Создадим такое отверстие в корпусе и желоб. Способов решения этой задачи может быть очень много. Мы воспользуемся стандартным примитивом Helix (Спираль) и булевой операцией вычитания.
Перейдите на вкладку Create (Создание) командной панели, в категории Shapes (Формы) выберите строку Splines (Сплайны) и нажмите кнопку Helix (Спираль). Разместите объект так, как показано на рис. 10.22,
В свитке Rendering (Визуализация) настроек объекта установите флажки Enable In Renderer (Отображать при визуализации) и Enable In Viewport (Отображать в окне проекции). Увеличивайте значение параметра Thickness (Толщина) до тех пор, пока толщина образовавшейся загнутой трубки не станет такого размера, чтобы в нее смог закатиться шар (рис. 10.23).
Преобразуйте объект в Editable Mesh (Редактируемая поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert То ► Convert to Editable Mesh (Преобразовать ► Преобразовать в редактируемую поверхность),
309
Рис. 10.22. Создание объекта Helix (Спираль)
Рис. 10.23. Создание желоба для выкатывающихся шаров
Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон). Выделите те полигоны объекта Helix (Спираль), которые находятся внутри корпуса лототрона, и удалите их, оставив внутри корпуса лишь небольшой участок спирали (рис. 10.24).
Рис. 10.24. Вид лототрона после удаления ненужной части спирали
ПРИМЕЧАНИЕ
Удаление полигонов нужно для того, чтобы случайные полигоны, пересекающиеся с корпусом лототрона, при выполнении булевой операции вычитания не исказили геометрию объекта. Если, создавая спираль, вы расположили лишь малую часть этого объекта внутри корпуса лототрона, то эту операцию можете не выполнять.
Теперь можно создать отверстие в корпусе лототрона, через которое будут выкатываться шары. Как вы уже, наверное, догадались, мы будем это делать с использованием булевой операции вычитания. Сначала необходимо клонировать желоб, так как после булевой операции вычитаемый объект Helix (Спираль) исчезнет.
Выделите его и выполните команду Edit ► Clone (Правка ► Клонировать) или воспользуйтесь комбинацией клавиш Ctrl+V. Одну из копий объекта можно скрыть,
чтобы она не мешала на этом этапе. Для этого щелкните правой кнопкой мыши на объекте и выполните команду Hide Selection (Спрятать выделенные).
Как можно видеть на рис. 10.24, после удаления ненужной части спирали объект стал полым внутри, поэтому при булевом вычитании отверстие в корпусе не образуется. Чтобы исправить ситуацию и сделать трубку цельной, выйдите из режима редактирования Polygon (Полигон), после чего выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка модификаторов Сар Holes (Закрыть дыры). Теперь трубка станет цельной (рис. 10.25).
Рис. 10.25. Объект Helix (Спираль) после применения модификатора Cap Holes (Закрыть дыры)
Выполним булеву операцию. Выделите корпус, перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Compound Objects (Составные объекты) и нажмите кнопку Boolean (Булева операция).
В свитке Parameters (Параметры) выберите необходимый тип операции — Subtraction (A-В) (Исключение (A-В)), после чего в свитке Pick Boolean (Выбрать булев объект) установите переключатель в положение Move (Удалить). Благодаря этому, второй объект, участвующий в операции, будет удален. Воспользуйтесь кнопкой Pick Operand В (Выбрать операнд), чтобы выбрать второй объект, который будет участвовать в операции, — Helix (Спираль). Вы увидите, что желоб исчез, зато в корпусе появилось отверстие нужного размера (рис. 10.26).
Рис. 10.26. Отверстие в корпусе, полученное в результате булевой операции вычитания
Теперь можно отобразить клонированный объект, который мы создали заранее. Вызовите контекстное меню программы и выполните команду Unhide All (Отобразить все). Последнее, что необходимо сделать, — удалить несколько ненужных полигонов, чтобы трубка не торчала внутри корпуса. Это легко сделать, переключившись в режим редактирования Polygon (Полигон) и выделив выступающие участки. Модель практически готова.
Прежде чем перейти к созданию анимации с использованием модуля reactor, сделаем так, чтобы можно было видеть, как выпавший из лототрона выигрышный шар катится по желобу.
Выделите объект Helix (Спираль) и выполните команду Edit ► Clone (Правка ► Клонировать) или воспользуйтесь комбинацией клавиш Ctrl+V. Одпу из копии объекта необходимо скрыть, а ко второй применим модификатор Lattice (Решетка). Перейдите на вкладку Modify (Изменение) командной панели и выберите его из списка Modifier List (Список модификаторов).
Чтобы скрыть узлы объекта и оставить только решетку, в области Geometry (Геометрия) установите переключатель в положение Struts Only from Edges (Только прутья решетки). Чтобы прутья решетки выглядели сглаженно, установите флажок Smooth (Сглаживание). Установите значение параметра Radius (Радиус) равным 1. Значение параметра Segments (Количество сегментов), определяющего количество сегментов каркаса, задайте равным 9, а параметра Sides (Количество сторон), задающего степень округлости, выберите равным 12 (рис. 10.27).
х ?Ж!адТ
ЖеЫЛ
-« I ' И 8 В
Рис. 10.27. Настройки модификатора Lattice (Решетка)Рис. 10.27. Настройки модификатора Lattice (Решетка)
Рис. 10.27. Настройки модификатора Lattice (Решетка)
Рис. 10.27. Настройки модификатора Lattice (Решетка)
ВНИМАНИЕ
Если не клонировать объект, а применить модификатор к исходному объекту, то при создании анимации с использованием модуля reactor шар будет катиться по желобу неровно, цепляясь за элементы решетки. Кроме этого, такую анимацию будет гораздо сложнее настроить и подобрать физические параметры для объектов, участвующих в ней, так, чтобы полученная сцена после просчета выглядела реалистично.
В результате выполнения всех описанных операций мы получили готовую модель лототрона (рис. 10.28).
Рис. 10.28. Готовая модель лототрона
Создание шаров
Для моделирования шара как нельзя лучше подходит объект Sphere (Сфера). Создайте его в окне проекции. Перейдите на вкладку Modify (Изменение) командной панели и задайте параметрам объекта следующие значения: Radius (Радиус) — 7,5, Segments (Количество сегментов) — 20. Чтобы объект принял сглаженную форму, установите флажок Smooth (Сглаживание).
ПРИМЕЧАНИЕ
Описанные параметры — ориентировочные и зависят от диаметра (параметр Thickness (Толщина)) объекта Helix (Спираль). Диаметр шаров должен быть немного меньше, чтобы они могли свободно катиться по трубке.
Для создания группы одинаковых объектов используем инструмент Array (Массив). Выполните команду Tools ► Array (Инструменты ► Массив), после чего появится окно с настройками массива. В области Array Dimensions (Измерения массива) установите переключатель в положение 2D (Двухмерный) и в поле Count (Количе- ство) введите 3. Оно будет определять количество горизонтальных рядов шаров. В поле Count (Количество) напротив переключателя 1D (Одномерный) введите число 5. Оно будет определять количество шаров в ряду.
Чтобы задать положение шаров, установите значение параметра Incremental Row Offsets (Смещения инкрементных рядов) по оси 2 равным примерно 18. Параметру, находящемуся на пересечении столбца X и строки Move (Перемещение) в столбце Incremental (Приращение) области Array Transformation: World Coordinates (Use Pivot Point Center) (Преобразование массива: глобальная система координат (использовать центр опорной точки)), задайте значение, равное -18 (рис. 10.29).
Рис. 10.29. Настройки массиваРис. 10.29. Настройки массива
Рис. 10.29. Настройки массива
Рис. 10.29. Настройки массива
Величина смещения шаров является примерной и будет отличаться в каждом конкретном случае. Чтобы иметь возможность наблюдать за изменением положения массива объектов в окне проекции, нажмите кнопку Preview (Предварительный просмотр).
Расположите созданный массив над корпусом лототрона так, чтобы при падении
шары попали в него (рис. 10.30).
Рис. 10.30. Лототрон с набором шаров
Создание анимации лототрона
В создании анимации будут участвовать шары, корпус лототрона, вращающиеся лопасти и желоб. Обратите внимание, что последний объект — это не решетка, полученная в результате клонирования и использования модификатора Lattice (Решетка), а спрятанный исходный объект Helix (Спираль). Поэтому перед созданием анимации необходимо спрятать решетку и отобразить трубку (рис. 10.31). Когда сцена будет готова, мы снова спрячем трубку и отобразим решетку. Таким образом, зрителю будет казаться, что шарик катится внутри решетки, но на самом деле он будет двигаться по невидимым стенкам трубки.
Рис. 10.31. Объекты, которые будут принимать участие в анимации
Выделите все объекты, нажав сочетание клавиш Ctrl+A. На панели инструментов reactor нажмите кнопку Create Rigid Body Collection (Создать группу твердых тел) (рис. 10.32). Вы увидите, что в окне проекции появился значок вспомогательного объекта (рис. 10.33). Если выделить этот объект и перейти на вкладку Modify (Изменение) командной панели, то можно увидеть, что в список твердых тел внесены все объекты, с которыми мы работаем.
ПРИМЕЧАНИЕ
Сцена анимации лототрона до установки параметров модуля reactor находится на компакт-диске, прилагаемом к книге, в папке ch 10/examples. Файл называется lototron.max.
Установка физических параметров объектов. Для каждого объекта необходимо установить физические параметры. Перейдите на вкладку Utilities (Утилиты)
командной панели и нажмите кнопку reactor. Выделите в окне проекции все сферы, разверните свиток Properties (Свойства) и установите значение параметра Mass (Масса) равным 12. В свитке World (Глобальный) задайте параметру Col. Tolerance (Отклонение при соударении) значение, равное 1.
File Edit Tools Group Views
Рис. 10.32. Кнопка Create Rigid Body Collection (Создать группу твердых тел) на панели инструментов reactor
Рис. 10.33. Вспомогательный объект RBCollection (Группа твердых тел) в окне проекции
ПРИМЕЧАНИЕ
Вас удивило, что шарик для лототрона весит так много? Не бойтесь, это не его реальная масса. Дело в том, что по умолчанию в настройках модуля reactor 2 используется определенное соотношение размерных величин. По умолчанию 1 м равен 39,37 единицы в 3ds Мах (это соотношение можно установить в области World Scale (Глобальная шкала измерений)) свитка World (Глобальный) настроек утилиты reactor. Чтобы убедиться в таком соотношении, обратите внимание на величину гравитации (параметр Gravity 2 (Гравитация вдоль оси 2) в свитке World (Глобальный)). Она составляет 386,22. Если разделить это число на 39,37 единицы, мы получим известное со школьной скамьи значение гравитации —9,8.
Для остальных объектов сцены не нужно указывать массу, так как на них не должна действовать сила гравитации. Их масса должна равняться нулю, иначе в процессе анимации они начнут падать вниз.
В сцене уже есть один анимированный объект. Чтобы указать модулю reactor, что эта анимация уже просчитана, необходимо выделить вращающийся элемент в сцене и в свитке Properties (Настройки) утилиты reactor установить флажок U nyielding (Жесткий).
Определение границ соударения объектов. Просчет соударения тел reactor 2 выполняет по сложным математическим формулам. Нередко просчет сложной сцены занимает много времени. В программе имеется большое количество способов, позволяющих упростить задачу, в данном случае — ускорить просчет анимации. Все они построены на использовании определенного типа поверхности для просчета соударений тел. Например, если вы создаете анимацию падающего на землю пульта дистанционного управления, то для получения конечного результата можно использовать упрощенную модель объекта. При этом reactor 2 просчитает соударения, опираясь на заданную сетчатую оболочку, которая может принимать форму сферы, параллелепипеда (этот способ подойдет для пульта ДУ), повторять поверхность тела по заданному образцу или быть оптимизированной (в этом случае ее вид напоминает объект в упаковочном целлофане).
Указать прорисовку сетчатой поверхности для каждого объекта, по которой модуль reactor 2 просчитает взаимодействия, можно в свитке Properties (Параметры) настроек утилиты reactor. Рассмотрим все способы оптимизации.
Как видно на рис. 10.34, в области Simulation Geometry (Просчет геометрии) есть два переключателя — для выпуклых (Convex (Выпуклый)) объектов и вогнутых (Concave (Вогнутый)),
- Simulation Geometry।
Convex
С Use Bounding Box f Use Bounding Sphere <~ Use Mesh Convex Hull Г Use Proxy Convex Huli ■ ChamferCyIM |
Concave
<® Use Mesh
Г Use Рюху Mesh CharnferCylO4 j
Рис. 10.34. Область Simulation Geometry (Просчет геометрии) настроек утилиты reactor
Для выпуклых объектов доступны следующие варианты оптимизации.
Use Bounding Box (Использовать габаритный контейнер) — вокруг объекта будет создан параллелепипед, по форме которого будут происходить соударения. Этот способ подходит для таких объектов, как пульт ДУ, плоская расческа для
волос или видеокассета, ио не годится для таких объектов, как падающая монета или пластиковая бутылка.
Use Bounding Sphere (Использовать габаритную сферу) — в этом случае вокруг объекта будет создана сфера, по форме которой будут происходить соударения. Этот способ подходит для таких объектов, как батарейка, жестяная банка и т. д. В нашем примере с лототроном этот способ оптимизации можно использовать для шаров лототрона. На рис. 10.35 изображены объекты с отображением сетчатой оболочки, по которой reactor 2 просчитывает соударения. Первый шар в верхнем ряду слева оптимизирован.
Рис. 10.35. Вид объектов с отображением сетчатой оболочки, по которой reactor 2 просчитывает соударения
Use Mesh Convex Hull (Использовать оболочку выпуклого объекта) — способ, при котором будет получен наиболее точный расчет. В этом случае для вычислений используется неоптимизированная оболочка объекта.
Use Proxy Convex Hull (Использовать упрошенную оболочку выпуклого объекта) — для объекта создается копня, которую вы можете оптимизировать, уменьшая количество полигонов. При этом оптимизированная форма объекта будет похожа на исходный объект, и при вычислении взаимодействия тела reactor не будет использовать высоко пол и тональную оболочку оригинальной модели. Вместо нее в вычислениях будет задействована упрощенная форма объекта. Поведение объекта с упрощенной формой после просчета анимации немного отличается от того результата, который можно получить, просчитав движения высокополигонального объекта. Однако эта погрешность минимальна и практически незаметна, а вычисления занимают гораздо меньше времени. По этой причине в большинстве случаев мы рекомендуем использовать именно этот способ просчета.
ПРИМЕЧАНИЕ
Способ оптимизации Use Proxy Convex Hull (Использовать упрощенную оболочку выпуклого объекта) особенно удобно использовать, если в сцене присутствует несколько одинаковых объектов со сложной геометрией. Для них можно создать одну упрощенную модель, с которой и будет работать reactor. Если для каждого объекта использовать неоптимизированную оболочку, то программе необходимо «держать в памяти» геометрию каждого из объектов.
Для вогнутых (Concave (Вогнутый)) объектов доступен только один вариант оптимизации — Use Proxy Mesh (Использовать упрощенную оболочку объекта), а также есть возможность производить вычисления на основе неоптимизированной оболочки (вариант Use Mesh (Использовать оболочку объекта)). Эти способы вычислений аналогичны тем, которые применяются для выпуклых объектов.
ВНИМАНИЕ
При выборе настроек для объектов, которые будут принимать участие в соударении, очень важно правильно указать способ оптимизации, Если это не сделать, то результаты вычислений могут оказаться неверными, и объекты будут взаимодействовать некорректно.
Вернемся к лототрону. Рассмотрим способ оптимизации па основе упрощенной модели объекта на примере шаров. Выделите одну из сфер и клонируйте ее. Полученная копия объекта будет играть роль упрощенной модели. Перейдите на вкладку Modify (Изменение) командной панели и в настройках этого объекта уменьшите значение параметра Segments (Количество сегментов).
Выделите все шары, которые будут принимать участие в анимации, перейдите к свитку Properties (Параметры) настроек утилиты reactor и установите для них способ оптимизации Use Proxy Convex Hull (Использовать упрощенную оболочку выпуклого объекта). Нажмите кнопку None (Нет) и выделите в сцене оптимизированную сферу. Теперь ее можно спрятать, используя команду Hide Selection (Спрятать выделенные).
Для корпуса лототрона, желоба и вращающегося элемента необходимо установить способ просчета Use Mesh (Использовать оболочку объекта) в области Concave (Вогнутый). Такой же способ просчета нужно выбрать и для желоба и вращающегося элемента.
Окно Real-Time Preview (Просмотр в реальном времени). Несмотря на то, что модуль reactor позволяет просчитывать анимированные сцены с высокой точностью, далеко не всегда удается с первого раза правильно выбрать параметры физических величин и получить желаемый результат.
После просчета анимации при помощи reactor 2 для каждого объекта сцены будет назначен ключевой кадр. Чтобы избежать повторного просчета сцены, возьмите
за правило: перед тем как выполнять окончательный просчет анимации, откройте окно Real-Time Preview (Просмотр в реальном времени) и посмотрите, как будут вести себя трехмерные объекты во взаимодействии.
Окно Real-Time Preview (Просмотр в реальном времени) можно вызвать, нажав кнопку Preview in Window (Предварительный просмотр в окне) в свитке Preview & Animation (Предварительный просмотр и анимация) настроек утилиты reactor.
При его вызове появляется окно, внутри которого будет автоматически визуализирован первый кадр (рис. 10.36). Чтобы воспроизвести анимацию, нужно выполнить команду Simulation > Play/Pause (Имитация ► Воспроизвести/пауза) или просто нажать кнопку Р, В данном окне также можно указать прорисовку сетчатой поверхности для каждого объекта, по которой модуль будет просчитывать взаимодействия. Внизу окна отображается время анимации.
Рис. 10.36. Окно Real-Time Preview (Просмотр в реальном времени)
Если все было сделано правильно, запустив воспроизведение анимации, вы увидите, как один из шариков закатывается в отверстие корпуса (рис. 10.37).
СОВЕТ
Если в процессе анимации шарик не будет закатываться в отверстие, попробуйте увеличить количество сегментов упрощенной модели, использованной для вычислений анимации шаров.
Рис. 10.37. Анимация лототрона — шарик выкатывается из лототрона в желоб
Конечная анимация. Когда вы убедитесь, что сцена анимируется корректно, можно выполнять финальный просчет. Однако сначала выделите желоб и спрячьте его, выполнив команду Hide Selection (Спрятать выделенные). Затем отобразите решетчатую копию желоба, которую мы создали с использованием модификатора Lattice (Решетка). Для этого вызовите контекстное меню, выполните команду Unhide by Name (Отобразить по имени) и выберите этот объект.
Для создания анимации нажмите кнопку Create Animation (Создание анимации) в свитке Preview & Animation (Предварительный просмотр и анимация). По умолчанию reactor 2 просчитывает только первые сто кадров, поэтому перед просчетом измените значение параметра End Frame (Конечный кадр) на 1000 (именно столько кадров в нашей анимации).
ВНИМАНИЕ
Перед просчетом анимации обязательно сохраните копию сцены: после просчета вернуться к исходным параметрам будет невозможно. Об этом вас также предупредит программа — после нажатия кнопки Create Animation (Создание анимации) она выдаст окно с вопросом Are you sure you want to create an animation? This action cannot be undone (Вы уверены в том, что хотите создать анимацию? Это действие необратимо).
В конечной анимации, которую вы получите после просчета, будет видно, как шары выкатываются по решетчатому желобу.
ПРИМЕЧАНИЕ
Финальная сцена анимации лототрона находится на прилагаемом к книге компактдиске в папке ch 10/examples. Файл называется lototron final.max.
Разбиваем лампочку при помощи модуля reactor 2
Для этого примера будем использовать модель лампочки, которая была создана нами в гл. 6. Откройте файл lamp .max, который находится в папке chO 6\examples, или файл сцены, которую вы создали самостоятельно, выполняя упражнение.
Поверхность вращения, созданная нами, не имеет реальной толщины. Модуль reactor 2 не сможет обработать в своих вычислениях такой объект, поскольку он не имеет массы. Чтобы придать стенкам лампочки толщину, воспользуемся следующим приемом.
Выделите модель в окне проекции и создайте его независимую копию, выполнив команду Edit ► Clone (Правка ► Клонировать) или использовав сочетание клавиш Ctrl+V и выбрав тип клонирования Сору (Копия). Чтобы в дальнейшем вы могли работать с клонированным объектом, переключитесь в режим отображения Wireframe (Каркас). Для этого щелкните правой кнопкой мыши на названии окна проекции и в контекстном меню выберите нужный режим отображения объектов (рис. 10.38).
Щелкните правой кнопкой мыши на объекте, выберите команду Scale (Масштабирование) из контекстного меню и масштабируйте созданный объект до 91% (величина масштабирования отображается в строке состояния). При этом в окне проекции Front (Спереди) наблюдайте за тем, чтобы резьба двух объектов не пересеклась (рис. 10.39).
Рис. 10.39. Объекты после масштабирования
Выделите исходный объект, перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Compound Objects (Составные объекты) и нажмите Кнопку Boolean (Булева операция). В свитке настроек Pick Boolean (Выбрать булев объект) нажмите кнопку Pick Operand В (Выбрать булев объект) и выберите второй объект. Теперь объект обладает толщиной.
СОВЕТ
В этом случае для выделения второго объекта удобно использовать окно Select Objects (Выбор объектов). Вызвать его можно при помощи команды меню Edit ► Select By > Name (Правка > Выделить по ► По имени) или просто нажав клавишу Н.
При ударе о землю лампочка должна рассыпаться на осколки. Чтобы смоделировать такой эффект при помощи reactor 2, необходимо заранее создать объекты, которые будут участвовать в анимации, то есть нам нужно разрезать трехмерную модель лампочки на отдельные осколки. Все эти объекты будут объединены инструментом Fracture (Разрушение) и разлетятся, когда лампочка достигнет земли.
Для создания осколков конвертируйте объект в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert То » Convert to Editable Poly (Преобразовать ► Преобразовать в редактируемую полигональную поверхность).
ПРИМЕЧАНИЕ
Полая лампочка, преобразованная в Editable Poly (Редактируемая полигональная по- аерхность), находится на прилагаемом к книге компакт-диске в папке ch 10/examples. Файл называется Iamp2.max.
Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку Editable Poly (Редактируемая полигональная поверхность) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон) и выделите произвольную область лампочки. В свитке Edit Geometry (Редактирование геометрических характеристик) нажмите кнопку Detach (Отсоединить). В результате мы получим самостоятельный объект. Введите в появившемся окне его имя, например осколок!. Повторите операцию несколько раз, создав осколки разнообразной формы.
Теперь нужно создать землю, о которую разобьется лампочка. Для этого используйте стандартный примитив Box (Параллелепипед). Перейдите на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выберите из раскрывающегося списка строку Standard Primitives (Стандартные примитивы) и нажмите кнопку Box (Параллелепипед). Расположите объект под лампочкой и задайте ему небольшую толщину и большую площадь.
Выделите все элементы лампочки и немного поверните ее (рис. 10.40). Это позволит получить более эффектное падение.
Рис, 10.40. Расположение объектов до анимации
Воспользуйтесь сочетанием клавиш Ctrl+A, чтобы выделить все объекты в сцене. На панели инструментов reactor нажмите кнопку Create Rigid Body Collection (Создать группу твердых тел). В окне проекции появится значок вспомогательного объекта. Если выделить этот объект и перейти на вкладку Modify (Изменение) командной панели, можно увидеть, что в список твердых тел занесены все объекты, с которыми мы работаем.
Перейдите на вкладку Utilities (Утилиты) командной панели и нажмите кнопку reactor. Выделите в окне проекции все осколки, разверните свиток Properties (Свойства) настроек утилиты reactor и установите для осколков значение параметра Mass (Масса). В зависимости от размеров вашего объекта и от положения лампочки его значение может различаться.
ПРИМЕЧАНИЕ
В 3ds Мах 8 довольно часто встречаются физические величины. На первый взгляд, это усложняет работу, потому что не всегда можно на глаз определить, например, коэффициент трения или величину потерь энергии при ударе. Однако, с другой стороны, появляется возможность точно описать физическую задачу.
СОВЕТ
Одним из преимуществ и одновременно недостатков модуля reactor 2 является очень большое количество настроек, в которых легко запутаться даже опытному пользова
телю. По этой причине при моделировании удобно использовать основные параметры из файлов примеров, входящих в поставку подключаемого модуля.
Убедитесь, что в сцепе выделены все осколки. На панели инструментов reactor нажмите кнопку Create Fracture (Разрушить). В окне проекции появится значок вспомогательного объекта (рис. 10.41). Если выделить этот объект и перейти на вкладку Modify (Изменение) командной панели, то можно увидеть, что в список тел, подвергающихся разрушению, занесены все элементы, составляющие лампочку.
Рис. 10.41. Вспомогательный объект Fracture (Разрушение) в окне проекцииРис. 10.41. Вспомогательный объект Fracture (Разрушение) в окне проекции
Рис. 10.41. Вспомогательный объект Fracture (Разрушение) в окне проекции
Рис. 10.41. Вспомогательный объект Fracture (Разрушение) в окне проекции
При необходимости для каждого из них можно указать тип разрушения. Для этого нужно выделить объект в списке Pieces (Осколки) и выбрать один из типов в области Selected piece (Выбранный осколок) (рис. 10.42). Доступны следующие варианты разбиения:
Normal (Обычный) — при некотором значении импульса элемент «отламывается»;
Unbreakable (Неразбивающийся) — элемент останется целым;
Keystone (Основа) — если импульс в момент удара будет достаточен для того, чтобы элемент был разрушен, то разломается все тело;
Break at time (Разбить в указанное время) — элемент будет разрушен в указанное пользователем время.
Рис. 10.42. Варианты разбиения осколков в настройках утилиты reactor
Основные параметры разбиения — это Impulse (Импульс соударения) и Energy Loss (Потеря энергии), характеризующий величину потери энергии при ударе.
Осколки — это объекты сложной формы, поэтому для их просчета модулю требуется время. Чтобы ускорить процесс вычисления поставленной задачи, для каждого из осколков необходимо правильно указать форму поверхности, по которой будет происходить просчет взаимодействия.
Процесс вычислений эффекта Fracture (Разрушение) достаточно сложен. Программе приходится вычислять не только физически правильное падение тел, но и разлет осколков. Подобрать параметры трехмерной сцены, при которых осколки будут реалистично разлетаться, не всегда бывает просто. По этой причине для каждого из осколков желательно использовать оптимизацию. Если же вы будете просчитывать сцену с учетом геометрии осколков, то на это может уйти очень много времени. Кроме этого, просчитанная сцена может оказаться неудачной, и вам придется все переделывать.
Вы уже знаете, что для предварительного просмотра результата анимации с использованием reactor 2 можно использовать окно Real-Time Preview (Просмотр в реальном времени). Однако если объекты-осколки будут иметь слишком сложную полигональную структуру, в этом окне вы их не увидите. В этом случае при попытке вызова окна Real-Time Preview (Просмотр в реальном времени) появится сообщение с пояснением того, почему объект не будет в нем отображаться (рис. 10.43).
Рис. 10.43. Окно с сообщением о невозможности отображения объекта в окне окна Real-Time Preview (Просмотр в реальном времени)
Для оптимизации нужно попеременно выделить каждый объект и в области Simulation Geometry (Просчет геометрии) свитка Properties (Параметры) настроек утилиты reactor 2 выбрать тип оптимизации (подробно они рассмотрены выше в разд. «Создание анимации лототрона при помощи модуля reactor 2»),
После оптимизации вы сможете просмотреть анимацию в окне Real-Time Preview (Просмотр в реальном времени). Если результат, который вы видите в окне предварительного просмотра, вас устраивает, нажмите кнопку Create Animation (Создание
анимации). Если в свитке Utils (Утилиты) установлен флажок Analyze Before Simulation (Проанализировать перед просчетом), то программа сначала проведет анализ задачи и, если ошибок не будет, начнет просчет. В противном случае она выдаст сообщение, например, о том, что тело не относится к группе Rigid Body Collection (Группа твердых тел).
При отсутствии ошибок программа начнет просчет анимационной сцены. Если в свитке Preview & Animation (Предварительный просмотр и анимация) установлен флажок Update Viewports (Обновлять вид в окнах проекций), то на протяжении просчета вы сможете наблюдать изменение положения объектов в сцене. После обработки данных можно будет воспроизвести анимацию. Полученная анимация будет выглядеть следующим образом: лампочка летит, падает на землю и разбивается на осколки (рис. 10.44).
Рис. 10.44. Разбитая лампочка
Покрывало на мольберте
Долгое время программа 3ds Мах имела большой недостаток — в ней отсутствовало средство имитации ткани. Сегодня пользователи 3ds Мах 8 могут выбирать между двумя вариантами имитации поведения ткани. Такие возможности имеют встроенные в 3ds Мах модули reactor 2 и Cloth.
Поскольку имитация поведения ткани — это процесс, который трудно описать математическими методами, для моделирования трехмерной сцены с такими объектами используются сложные алгоритмы. При этом следует иметь в виду, что в процессе моделирования поведения ткани любая неточность в настройках объектов может стать причиной неадекватного поведения ткани после просчета.
Кроме этого, помните о том, что чем выше точность вычислений, тем менее стабильно работает программа. Одна из причин этого — нехватка аппаратных ресурсов.
Рассмотрим имитацию ткани при помощи модуля reactor 2 на примере покрывала, спадающего с мольберта, в результате чего перед глазами зрителя открывается прекрасная картина. Покрывало закреплено на мольберте с одной стороны так, что при падении оно будет свисать с него.
Откройте файл molbert .max с моделью мольберта, который находится на прилагаемом к книге компакт-диске в папке chi0/examples.
Сначала создадим покрывало. Его роль будет играть обычный примитив Plane (Плоскость). Перейдите в окно проекции Front (Спереди) и создайте этот объект так, чтобы его размеры совпадали с размерами мольберта (рис. 10.45). Перейдите на вкладку Modify (Изменение) командной панели и в настройках примитива Plane (Плоскость) укажите значения параметров Length Segs (Количество сегментов по длине) и Width Segs (Количество сегментов по ширине) равными 22. Чем большим количеством сегментов будет обладать плоскость, тем более точным будет выглядеть моделирование деформации объекта в процессе просчета поведения ткани. Однако при этом возрастет и время, необходимое на просчет.
Рис. 10.45. «Покрывало» на мольберте совпадает по размерам с мольбертом
Перейдите в окно проекции Left (Слева) и расположите эту ткань на некотором расстоянии от мольберта. Для расчета взаимодействия ткани и мольберта программа будет использовать оболочки объектов. Если они будут пересекаться, то полученное поведение ткани будет неправильным.
Выделите мольберт и нажмите кнопку Create Deforming Mesh Collection (Создать группу объектов, деформирующих поверхность) на панели инструментов reactor (рис. 10.46). В настройках этой группы вы увидите, что мольберт занесен в нее (рис. 10.47).
Рис. 10.46. Кнопка Create Deforming Mesh Collection (Создать группу объектов, деформирующих поверхность) на панели инструментов reactor
:M№^ST| |DMCoietiion61
Рис. 10.47. Настройки вспомогательного объекта DMCollection (Группа объектов, деформирующих поверхность)
Выделите плоскость, перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор reactor Cloth (Одежда reactor). В настройках модификатора задайте параметру Mass (Масса) значение, равное 20, параметру Friction (Трение) — 0,5, а также установите флажок Avoid Self-Intersections (Избегать внутренних пересечений), что позволит получить трехмерную поверхность ткани, которая при деформации не будет пересекать сама себя (рис. 10.48).
|₽1апеСП|₽1апеСП
|₽1апеСП
|₽1апеСП
м««|ЗЯ у ко Friction |05 ' *
Я el Density То ;
Ах R esislence |То1 : -Face Model—
<® Simple Force Model swinm
Damping pL2 Cj
Complex Force Model
Stretch ^5♦
Bend 6,02;
Shear
Damping |G 01*
- Fold Stiffness—~ -
i # None
Г Untom Model SWineti 16.2" Cj .
Г Spatial Model
:Stiffness |oT ' *i:
Pittance Пт_ _ _ »];
:Spread Ang^ 1055 " :Г
Spin Angle [HlF“^|
Г^ Avoid SeHnteisectiont
Г" Constrain Defamation
Mat (3) |1O.C :J
Fv Start With Current Slate 101 кстати stored : Clear Keyframes ]
П Use Soft Selection
Г “■ •——— —
Ro«*De(*illV*luei |
Рис. 10.48. Настройки модификатора reactor Cloth (Одежда reactor)
СОВЕТ
Вы также можете применить к объекту модификатор reactor Cloth (Одежда reactor), нажав кнопку Apply Cloth Modifier (Применить модификатор Одежда) на панели инструментов reactor.
Поскольку мы хотим, чтобы покрывало с одной стороны было закреплено на мольберте, а не полностью падало с него, нужно присоединить некоторые вершины плоскости к мольберту так, чтобы они оставались неподвижны в процессе движения остальных участков ткани. Раскройте строку reactor Cloth (Одежда reactor) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Vertex (Вершина). Выделите правый вертикальный ряд вершин (рис. 10.49), В свитке Constraints (Конструкции) нажмите кнопку Fix Vertices (Зафиксировать вершины). После этого в списке свитка Constraints (Конструкции) появится строка Constraint to World (Глобальная конструкция) (рис. 10.50).
Рис. 10.49. Выделение вершин, которые будут закреплены
Выйдите из режима редактирования Vertex (Вершины) и при выделенном объекте Plane (Плоскость) нажмите кнопку Create Cloth Collection (Создать группу объектов, имитирующих ткань) на панели инструментов reactor (рис. 10.51). В настройках этой группы вы увидите, что плоскость занесена в нее (рис. 10.52).
Перейдите на вкладку Utilities (Утилиты) командной панели и нажмите кнопку reactor. В свитке World (Глобальный) задайте параметру Col. Tolerance (Допуск к столкновению) значение, равное 2. Это установит расстояние, на котором будет происходить взаимодействие между объектами.
Fo<V«ticet :Keyheriie VeilicetFo<V«ticet :Keyheriie VeilicetAttach То Rigid BodyAttach То Rigid Body;Aitach To DelMesh;Aitach To DelMesh[create Cloth Collectfan][create Cloth Collectfan]Рис. 10.51. Кнопка Create Cloth Collection (Создать группу объектов, имитирующих ткань) на панели инструментов reactor
Fo<V«ticet :
Keyheriie Veilicet
Fo<V«ticet :
Keyheriie Veilicet
Attach То Rigid Body
Attach То Rigid Body
;Aitach To DelMesh
;Aitach To DelMesh
[create Cloth Collectfan]
[create Cloth Collectfan]
Рис. 10.50. СвитокConstraints (Конструкции)Рис. 10.50. СвитокConstraints (Конструкции)Рис. 10.52. Настройки вспомогательного объекта CLCollection (Группа объектов, имитирующих ткань)
Рис. 10.50. Свиток
Constraints (Конструкции)
Рис. 10.50. Свиток
Constraints (Конструкции)
В свитке Preview & Animation (Предварительный просмотр и анимация) нажмите кнопку Create Animation (Создание анимации). Если в свитке Utils (Утилиты) установлен флажок Analyze Before Simulation (Проанализировать перед просчетом), то программа сначала проанализирует задачу и, если ошибок не будет, начнет просчет. В противном случае она выдаст сообщение, например, о том, что тело не относится к группе Cloth Collection (Группа объектов, имитирующих ткань).
При отсутствии ошибок программа начнет просчет анимационной сцены. После обработки данных можно будет воспроизвести анимацию — вы увидите, что покрывало спадает с мольберта и остается прикрепленным к вершинам, которые мы указали ранее. Покрывало изменяет свое положение так, как это происходит с тканью в реальной жизни (рис, 10.53).
Рис. 10.53. Результат просчета сцены при помощи модуля reactor 2
ПРИМЕЧАНИЕ
Готовую сцену просчитанного поведения ткани вы можете найти на прилагаемом к книге компакт-диске в папке ch 10/examples. Файл называется molbert_final.max. В папке ch 10/animation находится итоговая анимация. Файл называется molbert.avi.
Капля в бокале
Процесс создания трехмерного изображения воды при помощи модуля reactor 2 очень удачно реализован. Путем несложных операций можно быстро и легко смоделировать реалистичную водную поверхность. Попробуем создать несложную сцену падения капли в бокал с жидкостью. При этом водная поверхность будет реалистично деформироваться — от упавшей капли будут расходиться круги.
Откройте сцену, которая содержит модель бокала, созданную в гл. 4. Вы можете использовать файл bokal .max. который находится на прилагаемом к книге компакт-диске в папке ch 0 4/examples.
Чтобы имитировать всплеск жидкости в бокале, используется объемная деформация Water (Вода). Эта объемная деформация связывается с поверхностью, имитирующей поверхность жидкости. На ней должны произойти такие возмущения, которые должны были бы возникнуть, если бы эта поверхность обладала свойствами жидкости.
Поверхность жидкости в бокале должна представлять собой круг. Если вставить такой объект в центр бокала, то визуально будет создаваться Впечатление присутствия в нем жидкости. Для создания плоского круга можно использовать составной объект ShapeMerge (Объединить форму).
Диаметр круга должен совпадать с диаметром бокала. Для этого перейдите в окно проекции Тор (Сверху) и создайте сплайновый объект Circle (Окружность). Выровняйте его относительно бокала по осям X и Y по центру. Подберите такую величину радиуса, чтобы объект вписывался в бокал (рис. 10.54).
Рис. 10.54. Создание объекта Circle (Круг) нужной формы
Теперь, когда вам известен радиус поверхности, воспользуйтесь инструментом ShapeMerge (Объединить форму), чтобы вырезать на плоскости окружность следующим образом. Создайте объект Plane (Плоскость). Размеры плоскости установите такими, чтобы ее длина или ширина была больше диаметра созданного сплайна. Установите минимальное количество сегментов, выбрав для параметров Length
Segments (Сегменты подлине) и Width Segments (Сегменты по ширине) значение 1. Выровняйте объект Plane (Плоскость) относительно созданного сплайна таким образом, чтобы центры объектов по всем осям совпали (рис, 10.55),
Рис. 10.55. Создание объекта Plane (Плоскость)
При выделенном объекте Plane (Плоскость) перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Compound Objects (Составные объекты) и нажмите кнопку ShapeMerge (Объединить форму).
Нажмите кнопку Pick Shape (Выбрать сплайн) в свитке Pick Operand (Выбрать операнд) настроек составного объекта (рис. 10.56) и укажите сплайн Circle (Круг) в сцене.
Преобразуйте полученный объект в Editable Mesh (Редактируемая поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert То ► Convert to Editable Mesh (Преобразовать > Преобразовать в редактируемую поверхность). Перейдите на вкладку Modify (Изменение) командной панели. Раскройте в стеке модификаторов строку Editable Mesh (Редактируемая поверхность), щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон). Выделите участок, образованный после применения инструмента ShapeMerge (Объединить форму), и удалите его (рис. 10.57).
При необходимости перейдите в окно проекции Perspective (Перспектива) и, перемещая созданный объект вдоль оси Z, подкорректируйте положение поверхности в зависимости оттого, насколько наполнен будет ваш бокал.
vj;^'®^^[» 95 *: ®6 Q. .^ %
Sc*»Sc*»8 ode on8 ode onLottLottI Compound Objedt3
Sc*»
Sc*»
8 ode on
8 ode on
Lott
Lott
Connect
ShapeMesge
T errsirr .
Meshm
)-"v N«»)nJCcta П,
EZZS^^ZZ"
t Г Reference Г Copy p:. Г Mow <® Instance
:E~Z^^^ZZZ~]
Mame |"Mame |"Mesh. Prdne02
Mame |"
Mame |"
Edraci Cpe*^ |
Ф'Wance <*" Copy
Рис. 10.56. Кнопка Pick Shape (Выбрать сплайн)
Рис. 10.57. Будущая жидкость в бокале
Полученная поверхность пока непригодна для имитации всплеска, поскольку обладает низкополигональной структурой. Чтобы увеличить количество полигонов, лежащих в этой плоскости, можно воспользоваться модификатором Subdivide (Разбиение). В свитке Parameters (Параметры) настроек модификатора уменьшите значение параметра Size (Размер) до 1,8. Еще раз преобразуйте объект в Editable Mesh (Редактируемая поверхность). Нажмите кнопку Create Water (Создать воду) (рис. 10.58) на панели инструментов reactor и создайте объемную деформацию в окне проекции.
Рис. to.58. Кнопка Create Water (Создать воду) на панели инструментов reactor
ПРИМЕЧАНИЕ
Объемную деформацию Water (Вода) можно также создать, нажав одноименную кнопку в списке reactor категории Space Warps (Объемные деформации) на вкладке Create (Создание) командной панели (рис. 10.59).
Рис. 10.59. Кнопка Water (Вода) в списке reactor категории Space Warps (Объемные деформации)
Теперь необходимо настроить объект Water (Вода). Он содержит следующие параметры:
Subdivisions X (Разбиение по оси X) и Subdivisions ¥ (Разбиение по оси Y) — чем больше значение данных параметров, тем более точно просчитывается поверхность;
Lan dscape (Отражение) — если установить этот флажок и в ыбрать какое-нибудь тело, относящееся к группе Rigid Body (Твердое тело), то волны, наталкиваясь на него, будут отражаться;
Wave Speed (Скорость волн);
Min Ripple (Минимальное искажение) и Max Ripple (Максимальное искажение) — задают рябь на поверхности воды;
Density (Плотность) — определяет плотность жидкости;
Viscosity (Вязкость) — при изменении значения данного параметра жидкость может превратиться, например, из воды в клей.
В настройках созданного объекта установите значения параметров Size X (Размер по оси X) и Size Y (Размер по оси Y) одинаковыми. Это необходимо, чтобы сетчатая структура объемной деформации равномерно воздействовала во всех направлениях. Значения параметров Subdivisions X (Разбиение по оси X) и Subdivisions Y (Разбиение по оси Y) также установите одинаковыми, увеличив их до 77.
Волны, созданные в результате всплеска в бокале, должны отражаться от стенок, поэтому в настройках объекта Water (Вода) необходимо установить флажок Landscape (Отражение). Нажмите кнопку, расположенную рядом, и выберите в сцене модель бокала.
Чтобы на водной поверхности возникли искажения, увеличьте значения параметров Min Ripple (Минимальное искажение) и Max Ripple (Максимальное искажение) в 10 раз, а также уменьшите значение параметра Wave Speed (Скорость волны) до 23,6 (рис. 10.60).
Smx рад;]
s«y fm
Subdivision :Х p7 Subdivisions Y 177
P Utedreape BO KAL ,
Wave Speed ГИ’ЫЕ T
MnR»ple
Miu:Apple [3300 tl
Density [TTI
Vrecptity [To “,
Г Depth 1.
P Use outtent slate ; |
Г Disabled
101 k«4i ernes acted Cteai Keyframes I :
|v ShowTexi.
Рис. 10.60, Настройки объекта Water (Вода)
Нажмите кнопку Bind to Space Warp (Связать с объемной деформацией) на основной панели инструментов (рис. 10.61), щелкните на созданной объемной деформации Water (Вода) и, не отпуская кнопку мыши, переместите указатель мыши на объект Plane (Плоскость). Когда объект будет связан с объемной деформацией, он на одну секунду подсветится.
Tools Group Views Create Modifiers Character
Рис. 10.61. Кнопка Bind to SpaceWarp (Связать с объемной деформацией) на основной панели инструментов
Выровняйте положение созданной объемной деформации относительно поверхности, имитирующей жидкость, по всем осям по центру (рис. 10.62).
Рис. 10.62. Расположение объемной деформации Water (Вода)
Вода готова. Чтобы убедиться, что созданный объект имеет все свойства воды, и увидеть всплеск па поверхности жидкости, необходимо создать некий объект типа Rigid Body (Твердое тело) и «бросить» его в воду. Пусть этим объектом будет капля.
Для ее создания можно использовать стандартный примитив Capsule (Капсула). Поскольку капля должна быть сужена с одной стороны, к объекту Capsule (Капсула) необходимо применить модификатор Taper (Сжатие). Напомним, что модификатор
Taper (Сжатие) изменяет геометрию объекта таким образом, что один конец модели сужается, а второй остается неизменным.
В настройках модификатора уменьшите значение параметра Amount (Величина) до такой величины, чтобы объект стал похож на каплю (рис. 10.63).
Рис. 10.63. Объект Capsule (Капсула) после применения модификатора Taper (Сжатие)
Разместите каплю над бокалом таким образом, чтобы при падении она попала в бокал.
На панели инструментов reactor нажмите кнопку Create Rigid Body Collection (Создать группу твердых тел). В настройках этого вспомогательного объекта нажмите кнопку Pick (Занести), а затем выделите объект Capsule (Капсула). Объект будет занесен в список твердых тел.
СОВЕТ
Если перед нажатием кнопки Create Rigid Body Collection (Создать группу твердых тел) выделить объект Capsule (Капсула), то он автоматически будет занесен в список твердых тел.
Чтобы деформация воды при падении в нее объекта была лучше заметна, тело нужно сделать тяжелым. Выделите объект Capsule (Капсула). Перейдите на вкладку Utilities (Утилиты) командной панели и нажмите кнопку reactor. В свитке Properties (Свойства) задайте параметру Mass (Масса объекта) значение, равное 11 (рис. 10.64).
гРНуХйучгйн"
: МеирТВ :jks
•. Elasticity
: fifiction
i T" inactive
’ Г OnableAl CoSttiont
; Г* Uryieting _
' Г Phantom
Г S*T*Jalior> Geometry
i ' Convex 4^S-
C Usa Bounding Bon
,^ Use Meth* ^ Ute Proxy Meth,^ Use Meth* ^ Ute Proxy Methi None |Deotay —-~— ' C, ^^ . None Ji None |Deotay —-~— ' C, ^^ . None J:<C Lia8oundngSphere ■ ^ Ute Meth Convex Hu# ; C Use Proxy ConvexНиЙ
,^ Use Meth
* ^ Ute Proxy Meth
,^ Use Meth
* ^ Ute Proxy Meth
i None |
Deotay —-~— ' C, ^^ . None J
i None |
Deotay —-~— ' C, ^^ . None J
Рис. 10.64. Свиток Properties (Свойства) настроек модуля reactor
В свитке Preview & Animation (Предварительный просмотр и анимация) настроек модуля reactor нажмите кнопку Create Animation (Создание анимации). Если в свитке Utils (Утилиты) установлен флажок Analyze Before Simulation (Проанализировать перед просчетом), то программа сначала проанализирует задачу и, если ошибок не будет, начнет просчет. В противном случае она выдаст сообщение, например, о том, что тело не относится к группе Rigid Body Collection (Группа твердых тел).
При отсутствии ошибок программа начнет просчет анимационной сцены. Поскольку в описываемом примере указаны высокие значения плотности полигональной поверхности, а также большое количество элементов разбиения вдоль осей X и Y объемной деформации Water (Вода), просчет может занять некоторое время. Но и реалистичность полученной анимации будет высока.
Если в свитке Preview & Animation (Предварительный просмотр и анимация) установлен флажок Update Viewports (Обновлять вид в окнах проекций), то на протяжении просчета вы сможете наблюдать изменение положения объектов в сцене. После обработки данных можно будет воспроизвести анимацию. Поскольку после просчета высота воли, образованных в результате всплеска, может показаться недостаточной, ее легко подкорректировать при помощи модификатора reactor Water (WSM) (Вода reactor). Выделите объект Plane (Плоскость), имитирующий водную поверхность, и перейдите на вкладку Modify (Изменение) командной панели. В стеке модификаторов вы увидите модификатор reactor Water (WSM) (Вода reactor), который назначается объекту автоматически после связывания его с объемной деформацией. Единственный параметр этого модификатора — Water WS Modifier Scale Strength (Амплитуда воздействия модификатора Вода) — определяет высоту
волн, образованных в результате падения капли в бокал. Поскольку характер колебаний должен быть затухающим, необходимо с помощью ключевых кадров уменьшить амплитуду волн, вызываемых объемной деформацией.
Используя режим автоматического создания ключевых кадров, создайте несколько ключевых значений этого параметра таким образом, чтобы после отражения волн от стенок бокала амплитуда уменьшалась,
ПРИМЕЧАНИЕ
Файл с анимацией воды в бокале находится в папке ch 10/animation прилагаемомго к книге компакт-диска. Файл называется bokal.avi.
Модуль Cloth
Как мы уже отмечали выше, моделирование поведения ткани представляет собой сложную цепочку вычислений, которую производит программа. Задача усложняется, когда приходится моделировать одежду трехмерных персонажей: поскольку анимационные герои постоянно находятся в движении, одежда на них должна изменять свою форму в каждом кадре.
Расширение Cloth дает возможность пользователям 3ds Мах моделировать одежду персонажа. При наличии выкройки модуль Cloth позволяет «надеть» на персонаж одежду и просчитать поведение ткани на объекте.
Модуль Cloth дает возможность решить два типа задач: «пошив» одежды с использованием сплайновых выкроек и моделирование поведения объектов, наделенных свойствами ткани.
Создание одежды для персонажей
Самый сложный этап в процессе моделирования одежды —- это разработка выкройки. Если вы никогда не имели дела с шитьем, представить, Kate будет выглядеть выкройка того или иного элемента гардероба, довольно сложно.
Выкройка лежит в основе любой одежды. От того, насколько правильно модельер снял мерки и точно выполнил расчеты, зависит, будет ли одежда хорошо смотреться на человеке. Существует определенный набор базовых выкроек, на основе которых создаются разнообразные модели платьев, юбок, брюк и т. д. Разработка выкройки — довольно сложный процесс, требующий большого терпения и внимательности, Размеры выкройки должны подчиняться определенным формулам с поправкой на конкретную фигуру.
Чтобы работать с расширением Cloth, вам придется обучиться ремеслу портного. Скорее всего, перед созданием трехмерной выкройки вам нужно будет посмотреть журналы, посвященные швейному делу, в которых публикуют разнообразные выкройки. Помните, что у вас есть огромное преимущество перед обычными портными,
ведь тот, для кого вы собираетесь шить одежду, невероятно покладист — он готов к примерке тогда, когда вам это удобно, он не будет вертеться, пока вы будете снимать размеры и примерять детали выкройки, и не обидится, если созданные вами штаны будут слишком малы или невероятно велики.
Если говорить в общем, то процесс создания одежды при помощи модуля Cloth выглядит следующим образом.
При помощи Editable Spline (Редактируемый сплайн) создается выкройка. К полученному сплайну применяют модификатор Garment Maker (Создатель одежды). Этот модификатор преобразует кривые в редактируемые оболочки, которые можно использовать как ткань.
Модификатор Garment Maker (Создатель одежды) имеет минимальное количество настроек (рис. 10.65). Параметр Density (Плотность) отвечает за плотность размещения полигонов. Для его изменения нужно не просто набрать повое значение в поле, но также нажать кнопку Mesh It! (Преобразовать в редактируемую оболочку).
-я 1рГ I У 6 I Q
Рис. 10.65. Настройки модификатора Garment Maker (Создатель одежды)
ПРИМЕЧАНИЕ
Если установлен флажок Auto mesh (Преобразовывать в редактируемую оболочку автоматически), то нажимать кнопку Mesh it! (Преобразовать в редактируемую оболочку) не нужно, так как изменения сразу отобразятся.
К созданному объекту применяется модификатор Cloth (Одежда). В его настройках можно задать свойства гибких и твердых тел в сцене. Выкройка — это гибкое тело, а персонаж, для которого создается одежда, — твердое. Чтобы определить параметры объектов сцены, нужно нажать кнопку Object Properties (Свойства объекта) свитка Object (Объект), после чего появится окно Object Properties (Свойства объекта).
Модуль Cloth имеет свой собственный тип объекта Collision Object (Объект столкновения). Особенностью этого объекта является то, что он взаимодействует только с объектом Cloth (Одежда). Объект Collision Object (Объект столкновения) имеет очень гибкие настройки, которые нужно подбирать в зависимости от конкретных типов взаимодействующих объектов.
ПРИМЕЧАНИЕ
Настройка параметров объекта Collision Object (Объект столкновения) очень важна. Если подобрать неправильные значения, то после просчета может оказаться, что тело «проходит» сквозь ткань.
В настройках модификатора Cloth (Одежда) можно установить параметры ткани. Как известно, ткани бывают различные, и в зависимости от того, какими свойствами они обладают, ведут они себя также по-разному. Пользователь может создать собственный тип ткани и сохранить его в файле с расширением STI. Для моделирования можно также использовать большую библиотеку заготовок, в которой представлены разные типы ткани — от резины до шелка и хлопка.
Рассмотрим работу с расширением Cloth на практике и создадим штаны для трехмерного персонажа. Вы можете использовать любую имеющуюся у вас трехмерную модель.
Как вы уже знаете, начинать нужно с выкройки. Для ее создания перейдите на вкладку Create (Создание) командной панели, в категории Shapes (Формы) выберите из раскрывающегося списка группу объектов Splines (Сплайны) и при помощи инструмента Line (Линия) нарисуйте модель выкройки. Она может выглядеть, как показано на рис, 10.66.
После того как выкройка будет готова, объедините созданные трехмерные кривые в один редактируемый сплайн. Для этого перейдите на вкладку Modify (Изменение) командной панели. Выбрав в списке модификаторов Edit Spline (Редактирование сплайна), примените его к одному из объектов. Не переключаясь в режим редактирования подобъектов, разверните свиток Geometry (Геометрия) настроек
модификатора Edit Spline (Редактирование сплайна) и при помощи кнопки Attach (Присоединить) присоедините к нему остальные сплайны.
Рис. 10.66. Модель выкройки штанов
Выделите созданный сплайн и раскройте строку Line (Линия) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Vertex (Вершина), Выделите все вершины созданного объекта, перейдите в свиток Geometry (Геометрия) и нажмите кнопку Break (Разбить). После этого цельная сплайновая выкройка будет разбита на множество элементов.
К созданной выкройке примените модификатор Garment Maker (Создатель одежды). Раскройте строку Garment Maker (Создатель одежды) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Panels (Вставки) и, выделяя по очереди каждую из созданных выкроек, разместите их спереди и сзади относительно модели персонажа, которого вы будете одевать (рис. 10.67). Во время размещения деталей выкройки вокруг модели следите за тем, чтобы они не касались друг друга и персонажа. Это очень ответственный этап, так как каждый элемент должен занять свое место, и при этом они не должны перепутаться. Если детали выкройки будут расположены не на своем месте, то при попытке просчета в цельный элемент одежды они не превратятся.
СОВЕТ
Если выкройка содержит большое количество элементов, располагать их нужно вокруг персонажа под углом.
Рис. 10.67. Размещение выкройки вокруг персонажа
Щелкните правой кнопкой мыши на названии окна проекции и в контекстном меню выберите режим отображения объектов Wireframe (Каркас). Это позволит вам видеть края выкройки.
Переключитесь в режим редактирования Seams (Швы) и поочередно выделите участки выкройки, которые на готовых штанах должны будут примыкать друг к другу.
СОВЕТ
Чтобы выделить две кривые одновременно, нажмите и удерживайте клавишу Ctrl.
Теперь осталось «сшить» штаны. Для этого нажмите кнопку Create Seam (Создать шов) (рис. 10.68). После выполнения этой операции вы увидите, что между элементами выкройки схематически обозначились швы (рис. 10.69).
Наконец, последний этап — применение модификатора Cloth (Одежда) к созданной выкройке.
После его применения в свитке Object (Объект) настроек модификатора нажмите кнопку Object Properties (Параметры объекта). Откроется одной мен ное окно, в котором укажите типы объектов. Понятно, что выкройка будет иметь тип Cloth (Ткань). В списке Presets (Предварительные заготовки) выберите тип Default (По умолчанию).
здм^
. RoctangleO?'
*W***'■■ ••'■У^^тт™
Mockfier Li«t’J
; В Garment Maker '
|Lp Cuivei
|k— Paneh
— Seam*
В Editable Spline
—•- Vertex^if
Scgmenl^]"
-A i:8 E
Рис. 10.68. Свиток Seams (Швы)
Рис. 10.69. Модель выкройки после создания швов
При помощи кнопки Add Objects (Добавить объекты) вызовите окно выбора объектов, выберите модель персонажа и укажите для нее тип Collision Objects (Объекты столкновения), установив переключатель в соответствующее положение (рис. 10.70). При выполнении этого действия к модели персонажа автоматически будет применен модификатор Cloth (Одежда).
Рис. 10.70. Окно Object Properties (Параметры объекта)
СОВЕТ
Если вы редактируете сцену и возвращаетесь на предыдущий этап ее создания, не забывайте проверять, был ли удален модификатор Cloth (Ткань) по отношению к персонажу.
Перейдите к свитку Simulation Parameters (Параметры поведения), отожмите кнопку Gravity (Гравитация) и установите флажок Self Collision (Самостолкновение) (рис. 10.71). Установка этого флажка позволит избежать в последующих расчетах пересечения ткани. В программе имеется два метода просчета самосоударений ткани. Они обозначены как 0 и 1. В большинстве случаев используется метод 0, который установлен по умолчанию. Метод 1 более корректно просчитывает само- столкновения, однако его рекомендуется использовать только в том случае, если вы недовольны результатом, полученным при выборе методаО. Из-за более сложного
алгоритма при использовании метода 1 может возникать больше ошибок. Чтобы просчитать сцену методом 1, необходимо дополнительно установить флажок Solid Collision (Непрерывноестолкновение).
■ЕНЕ§^№^^^гп]
criWrvt Гм-11 Earth ( (Gravity (ЖТX] Step [ЙО^t|
Subsample 11х|
Start Flame fod
Г" End Frame |1Й0£|
pF SefColision fo" X| Г Check Intersections P Solid Collision Г Use Sewing Springs P Show Sewing Springs Г Simon Render |T” Xj Г Advanced Pinching
Рис. 10.71. Свиток Simulation Parameters (Параметры поведения)
Для просчета сцены нажмите кнопку Simulate Local (Локальный просчет) в свитке Object (Объект). Вы увидите, что детали выкройки соединятся по заданным ранее швам. Как только их края будут максимально близки друг к другу, остановите процесс просчета, нажав клавишу Esc. Вы увидите, что штаны практически легли по фигуре персонажа, однако между ними все еще остаются промежутки (рис. 10.72).
Рис. 10.72. Штаны уже легли по фигуре персонажа, но не полностью
Чтобы окончательно подогнать одежду по фигуре персонажа, перейдите к свитку Simulation Parameters (Параметры поведения), нажмите кнопку Gravity (Гравитация) и снимите флажок Use Sewing Springs (Использовать швы). Вернитесь в свиток Object (Объект) и снова нажмите кнопку Simulate Local (Локальный просчет). Части выкройки соединятся в единое целое (рис. 10.73). Нажмите кнопку Esc, чтобы остановить просчет.
Рис. 10.73. Штаны на персонаже созданы при помощи модуля Cloth
ПРИМЕЧАНИЕ
Воспринимайте модули для просчета динамики, моделирования одежды и меха исключительно как вспомогательный инструмент. 8 большинстве случаев после использования этих инструментов необходимо дорабатывать трехмерную сцену вручную, устраняя мелкие неточности.
После того как штаны легли по фигуре персонажа, вы можете просчитать всю сцену с учетом его анимации, нажав кнопку Simulate (Просчет). Если вы останетесь недовольны результатом, вы всегда сможете изменить параметры ткани в окне Object Properties (Параметры объекта) и удалить созданную анимацию при помощи кнопки Erase Simulation (Удалить моделирование).
Как правило, первая анимация является пробной, так как в процессе могут возникать разнообразные ошибки — одежда будет приподниматься, неестественнс
сгибаться, съезжать, рваться и т. д. Эти проблемы можно решить только методом проб и ошибок, подбирая значения параметров ткани и объекта взаимодействия в окне Object Properties (Параметры объекта).
Имитация ткани
Кроме создания одежды для персонажей, модуль Cloth позволяет просчитывать поведение ткани. Как и другой встроенный в 3ds Мах модуль для просчета динамики — reactor, Cloth позволяет имитировать взаимодействия между объектами, созданными из ткани, и твердыми телами.
ВНИМАНИЕ
В отличие от reactor, модуль Cloth не позволяет просчитывать взаимодействие между твердыми телами.
Чтобы назначить объекту свойства ткани, необходимо выделить его в сцене и применить к нему модификатор Cloth (Ткань). Далее в окне Object Properties (Параметры объекта) нужно нажать кнопку Add Objects (Добавить объекты) и в окне Add Objects to Cloth Simulation (Добавить объекты в сцену симуляции поведения ткани) выделить объект, с которым будет взаимодействовать ткань.
Затем в окне Object Properties (Параметры объекта) необходимо выделить объект, который будет наделен функциями ткани, и установить переключатель в положение Cloth (Ткань). Для объекта взаимодействия необходимо выбрать тип Collision Objects (Объекты столкновения).
Для просчета сцены необходимо нажать кнопку Simulate (Создать симуляцию поведения).
Среди других настроек модуля Cloth (Одежда) можно отметить кнопку Cloth Forces (Силы воздействия на ткань), которая помогает просчитать сцену с учетом внешних факторов, например ветра.
Глава 11
Создание волос и шерсти
Модуль Hair and Fur
Окно Style (Стиль)
Создание шерсти животного
Создание волосяного покрова с помощью сплайнов
Создание причесок сложной формы
Один из самых трудных этапов моделирования трехмерного персонажа — создание меха и волос. Поскольку волосы постоянно находятся в движении, прическа персонажа все время изменяет форму. Помимо этого, проблемой является и то, что шерстяной покров состоит из огромного количества мельчайших деталей-волосинок, каждая из которых может располагаться на теле под определенным углом.
Разработчику трехмерной графики трудно без специальных инструментов смоделировать такую сцену, ведь задать положение каждого элемента вручную невозможно, тем более, если сцена анимирована. Большинство пакетов для работы с трехмерной графикой содержат средства, облегчающие процесс создания волос и шерсти. Начиная с версии 7.5, модуль для создания волос и шерсти Hair and Fur появился и в 3ds Мах.
Модуль Hair and Fur
Подобно популярному дополнительному модулю hairfx (ранее —■ Shag: Hair), этот модуль позволяет визуализировать волосы посредством эффекта постобработки. Модуль Hair and Fur добавляет одноименный модификатор в группу WORLD-SPACE MODIFIERS (Модификаторы глобального пространства). Модификатор Hair and Fur (WSM) (Волосы и шерсть) определяет геометрию волос, динамику их поведения, а также текстуру и область покрытия.
Кроме этого, после установки модуля Hair and Fur одноименный эффект появится и в списке эффектов Effects (Эффекты). Однако выбирать вручную этот эффект вам не придется, поскольку он появляется только после того, как к объекту применен модификатор Hair and Fur (WSM) (Волосы и шерсть). После удаления модификатора и эффект автоматически удаляется. Эффект Hair and Fur (Волосы и шерсть) позволяет управлять визуализацией шерсти и волос, настройками освещения, степенью детализации и пр.
После назначения модификатора Hair and Fur (WSM) (Волосы и шерсть) объект будет окружен некоторым количеством кривых, которые показывают приблизительное расположение будущих волос на поверхности модели. С помощью настроек свитка Display (Отображение) можно управлять отображением эффекта в окне проекции — устанавливать цвет волос (параметр Hair Color (Цвет волос)), количество (параметр Max Hairs (Максимальное количество волос)). Более подробно параметры модификатора будут рассмотрены в практических разделах. Однако нужно иметь в виду, что основная настройка эффекта происходит не в окне проекции.
Окно Style (Стиль)
Главное достоинство модуля Hair and Fur — пользователь может вручную создавать форму волос и располагать их относительно тела при помощи инструментов окна Style (Стиль) (рис. 11.1). Для его вызова необходимо воспользоваться кнопкой Style Hair (Стиль прически) в свитке Tools (Инструменты) настроек модификатора Hair and Fur (W5M) (Волосы и шерсть).
Рис. 11.1. Окно Style (Стиль)
В этом окне выполняются все действия по настройке волосяного покрова. В нем отображается только трехмерная модель того объекта, к которому был применен модификатор Hair and Fur (WSM) (Волосы и шерсть). На нем можно увидеть схематическое отображение будущей шерсти или волос в виде кривых. Вершины каждой кривой отображаются в виде мелких красных квадратов. Поскольку этих вершин обычно очень много, то кажется, что объект окружает красное облако.
Главный инструмент окна Style (Стиль) — это виртуальная кисть, которой можно назначить различные действия. С ее помощью можно выделять, перемещать, обрезать, удлинять, удерживать, вращать волосы. Окно Style (Стиль) предоставляет в ваше распоряжение и другие инструменты. Рассмотрим действие всех кнопок окна Style (Стиль) подробнее.
Select by hair ENDS (Выбрать вершины на концах волос) — режим выделения, позволяющий работать только с кончиками волос, то есть с вершинами, расположенными на их концах. Для его включения можно использовать клавишу Н.
Select the WHOLE STRAND (Выбрать весь волос) — режим выделения, позволяющий работать со всеми вершинами волос. Для его включения можно использовать клавишу J.
Select any hair VERTEX (Выбрать по вершинам) — режим выделения, который дает возможность выделить любые вершины на волосах и работать с ними в дальнейшем. Для его включения можно использовать клавишу К.
Select any hair strand by it's ROOT (Выбрать no корням) — в этом режиме выделения можно выбрать только вершины, которые находятся у основания волос. Для его включения можно использовать клавишу L.
СОВЕТ
Если требуется выделить вершины перед тем, как производить с ними какие-либо действия, то нужно выйти из режимов BRUSH MODE (Режим кисти) и DRAG MODE (Режим перетаскивания). Для этого достаточно нажать клавишу Esc. Чтобы выделить вершины, находясь в одном из этих режимов, нажмите и удерживайте клавишу X или Shift+Z. В первом случае выделение будет дополнено, а во втором — предыдущее выделение будет снято, и выделенными останутся только вершины, с которыми было произведено последнее выделение.
В R U 5 К М О D Е (Режим кнсти ) — реж им, ко торы i 1 дает возмож ность работать то ль- КО с теми выделенными вершинами, которые попадают в область действия кисти, представленной в виде круга. Для включения этого режима можно использовать клавишу В. Вы можете управлять размером кисти, удерживая клавишу В и изменяя положение мыши.
DRAG MODE (Режим перетаскивания) —- в этом режиме вы можете работать со всеми выделенными вершинами, перемещая положение мыши.
SHAKE MODE (Режим вибрации) — в этом режиме можно просчитать поведение волос при воздействии на них силы, направленной вниз (наподобие силы гравитации). Это позволяет получить модель со свисающими волосами, а волнообразное движение, получаемое в процессе просчета, придаст им естественность.
ПРИМЕЧАН ИЕ
В режиме SHAKE MODE (Режим вибрации) нельзя работать с инструментами Rotate (Вращение),Translate (Перемещение) и др. (см. ниже).
TRANSLATE (Перемещение) — перемещает выбранные вершины в указанном направлении. Для включения этого режима можно использовать клавишу W.
STAND (Поднятие) — поднимает выбранные волосы вверх, перпендикулярно поверхности, с которой они произрастают.
PUFF ROOTS (Завить от корней) — поднимает выбранные волосы вверх, перпендикулярно поверхности, с которой они произрастают. В отличие от предыдущего инструмента, волосы начинают подниматься не от кончиков, а от корней. Для включения этого режима можно использовать клавишу!.
CLUM Р (Слипаться) — собирает выбранные волосы в пучок. Для включения этого режима можно использовать клавишу Y.
ROTATE (Вращение) — вращает или завивает волосы вокруг указателя.
SCALE (Масштабировать) — увеличивает или уменьшает длину волос.
INVERT (Инвертировать выделение) — инвертирует выделение вершин. Для выполнения этой команды можно использовать сочетание клавиш CtrL+I.
ZOOM EXTENTS SELECT (Увеличить выделение) — максимально увеличивает область с выделенными вершинами. Для выполнения этой команды можно использовать клавишу Z.
ZOOM EXTENTS (Увеличить) — максимально увеличивает область размещения волос. Для выполнения этой команды можно использовать клавишу Пробел.
HIDE SELECTION (Скрыть выделение) — временно скрывает выбранные волосы. Для выполнения этой команды можно использовать клавишу -.
UNHIDE ALL (Отобразить все) — отображает все волосы, которые были ранее скрыты. Для выполнения этой команды можно использовать клавишу \.
PREVIEW HAIR (Предварительный просмотр) — позволяет увидеть результаты проделанной работы, быстро визуализировав изображение с низким качеством.
TOGGLE COLLISIONS (Выключить объект соударения) — когда в сцене есть объекты соударения, при создании волос они могут существенно замедлять работу. Данная кнопка предназначена для временного отключения таких объектов.
POP ZERO/POP SELECTED (Извлечь с нулевой длиной/Извлечь выделенные) — две функции, позволяющие «вырастить» волосы, если они были слишком уменьшены. Первая кнопка позволяет вернуть в первоначальное состояние только те волоски, которые были обрезаны до корней, а вторая — все выделенные элементы.
LOCK SELECTED (Зафиксировать выделенные) — фиксирует выделенные вершины в установленном положении, делая невозможным их дальнейшее перемещение.
UNLOCK (Снять фиксацию выделенных) — снимает фиксацию вершин, к которым ранее была применена команда LOCK SELECTED (Зафиксировать выделенные). Для выполнения этой команды можно использовать клавишу U.
ATTENUATE (Уменьшить длину волос) — эта функция учитывает особенность расположения шерсти на теле животного: в тех местах, где имеются складки и изгибы, шерсть растет более короткой. Например, на морде у животных шерсть наиболее короткая, а на спине и животе — самая длинная. После применения этой команды в тех участках, где размер элементов полигональной сетки максимальный, длина волос тоже становится максимальной. На более мелких полигонах длина волос уменьшается пропорционально размеру.
CUT HAIR (Подстригание волос) — позволяет подстричь волосы. Для выполнения этой команды можно использовать клавишу С. Обратите внимание, что при выполнении этой команды вершины не удаляются, а лишь масштабируются в меньшую сторону. Их можно восстановить при необходимости, используя инструменты SCALE (Масштабировать) или POP ZERO/POP SELECTED (Извлечь с нулевой длиной/Извлечь выделенные).
COMB AWAY FROM CAMERA (Расчесать от себя) — расчесывает выбранные волосы в направлении от точки обзора, при этом сохраняя их параллельное расположение по отношению к поверхности.
RECOMB (Повторное расчесывание) — располагает волосы параллельно по отношению к поверхности, используя их текущее положение как направляющую. Этот инструмент удобно использовать для того, чтобы волосы на модели
располагались естественно. Для выполнения этой команды можно нажать клавишу R.
UNDO (Возврат) — отменяет последнее выполненное действие. Для выполнения этой команды можно использовать клавишу Ctrl+Z.
В левой части окна Style (Стиль) расположены три кнопки — X, Z, Y. Каждая из них позволяет включить вид определенного окна проекции.
ВНИМАНИЕ
Понятно, что некоторые инструменты необходимо использовать одновременно. Например, в режиме кисти нужно включить один из режимов выделения и воздействия на модель. Чтобы было проще определить, с какими инструментами вы работаете, активные инструменты подчеркнуты желтой линией.
Создание шерсти животного
Создание меха и шерсти на моделях различных животных в делом происходит по одному и тому же принципу. Описанный в данном разделе пример можно использовать для создания шерсти на моделях разных животных — лошадей, котов, собак, обезьян, быков и т. д. Именно поэтому вы можете использовать для выполнения этого урока любую имеющуюся у вас модель животного.
Продемонстрируем использование модуля Hair and Fur, создав с его помощью шерсть на модели верблюда. Вы можете использовать модель верблюда, которая находится на прилагаемом к книге компакт-диске в папке chi 1 /examples. Файл называется camel. max.
Выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка Modifier List (Список модификаторов) модификатор Hair and Fur (WSM) (Волосы и шерсть). Поверхность модели покроется схематическими волосами (рис. 11.2),
Перейдите в свиток Tools (Инструменты) настроек модификатора и нажмите кнопку Style Hair (Стиль прически). В появившемся окне Style (Стиль) с помощью кнопок X, Z и Y подберите такое положение модели, при котором вам будет наиболее удобно с ней работать (рис. 11.3).
СОВЕТ
Управлять положением вида в окне Style (Стиль) можно также, используя функции трехкнопочной мыши, Например, если нажать среднюю кнопку мыши и, удерживая ее, передвинуть на некоторое расстояние, то изображение а окне проекции сместится вверх, вниз, вправо или влево. Выполнение того же действия с нажатой клавишей Alt позволит вращать модель. Если же у вас нет трехкнопочной мыши, то вращать модель вы можете, удерживая клавиши Ctrl+R и перемещая мышь.
Рис. 11.2. Вид модели в окне проекции после применения модификатора Hair and Fur (WSM) (Волосы и шерсть)
Рис. 11.3. Отображение модели в окне Style (Стиль)
Включите режим ATTENUATE (Уменьшать длину волос), нажав соответствующую кнопку (рис. 11.4) на панели инструментов окна Style (Стиль). После этого вы увидите, что модель преобразилась (рис. 11.5).
Рис. 11.4. Кнопка уменьшения длины волос пропорционально размеру полигонов
Рис. 11.5. Вид модели после уменьшения длины волос пропорционально размеру полигонов
Нажмите кнопку Select by Hair ENDS (Выбрать вершины на концах волос) или воспользуйтесь клавишей Н. Это позволит работать с кончиками волос.
Измените размер кисти так, чтобы вам удобно было работать с моделью. Для этого нажмите клавишу В и, удерживая ее, измените положение указателя мыши. Переместите волосы модели таким образом, чтобы шерсть располагалась вдоль ее тела. Например, на лапах необходимо зачесать волосы вниз, на спине — в сторону хвоста и т. д. (рис. 11.6).
После выполнения каждой операции зачесывания нажимайте клавишу R или кнопку RECOM8 (Повторное расчесывание). Это необходимо для того, чтобы программа
могла автоматически подобрать наиболее естественное положение волос в том направлении, которое вы указываете при расчесывании.
Рис. 11.6. «Причесывание» верблюда при помощи инструмента TRANSLATE (Перемещение) и кисти
Начинайте работу с большим размером кисти, чтобы придать общее направление роста волос, а затем переходите к меньшему диаметру, чтобы более точно указать положение шерсти.
Используйте инструмент SCALE (Масштабировать) для уменьшения размера шерсти на тех участках, где ее обычно мало, — на голове, в нижней части ног.
Переключитесь в режим выделения Select the WHOLE STRAND (Выбрать весь волос) и выберите инструмент STAND (Поднятие). Приподнимите шерсть, чтобы она выглядела правдоподобно (рис. 11.7).
На этом работа в окне Style (Стиль) закончена. Чтобы сохранить изменения, нажмите кнопку DONE!! (Готово). Перейдите к настройкам модификатора Hair and Fur (WSM) (Волосы и шерсть). В свитке General Parameters (Общие параметры) установите следующие значения параметров: Hair Count (Количество волос) — 330 000, Hair Segments (Количество сегментов на волосе) — 8, Hair Passes (Количество проходов
визуализации) — 4, Density (Плотность размещения волос) — 100, Scale (Масштаб) — 100, Cut Length (Длина волос в процентном соотношении) — 100, Rand Scale (Случайное масштабирование) — 40, Root Thick (Толщина волос возле корней) — 1, Tip Thick (Толщина волос на кончиках) — 0, Displacement (Расстояние от корней волос до поверхности модели) — 0.
Рис. 11.7. Вид модели после использования инструмента STAND (Поднятие)
Подберем параметры материала. В свитке Material Parameters (Параметры материала) установите следующие значения параметров: Occluded Amb (Степень поглощения света) — 45; Tip Color (Цвет кончиков волос) и Root Color (Цвет корней волос) — цвета со следующими значениями: Red (Красный) — 123, Green (Зеленый) — 100, Blue (Синий) — 45; Hue Variation (Разброс оттенков цвета волос) — 35; Value Variation (Разброс яркости волос) — 55.
Чтобы шерсть выглядела более естественно, она должна быть немного вьющейся. Соответствующие параметры можно установить в свитке Frizz Parameters (Параметры завивки). Задайте следующие значения: Frizz Root (Завивка на корнях волос) — 65, Frizz Tip (Завивка на кончиках волос) — 52, Frizz X Freq (Частота вьющихся волос относительно оси X), Frizz Y Freq (Частота вьющихся волос относительно оси Y) и Frizz Z Freq (Частота вьющихся волос относительно оси Z) — 65 (рис. 11.8).
^^^ Sage
Density ffflio
Scale рООСТ Cui Length |iod,d Rand Scale |40 U Roti. Thick [TTi
DnplscemOTl [TTo ;
Interpolate Fv
Мз‘<?лЫ Р^зе1егв
OcdudedAmb р50
RootColoi ^M№$НиеУамйп [30 У
Value Variation] 55.0 :[ _
Mutant Color I| _мтих|О :j
Specular
Gbtsmeti
Self Shadow fh5B‘iT~ ; ' | Geom Shadow jiOO.O ' , ’
Frcx РАг»тв1е»
Fiuz Hoof ] 65.0
FiinTp 52.4 ' FnaXFfeq 650 FrezZ Frto 65.0 FrizzZFiaq 65.0
Frizz Д'wn [3
Aran Speed 0 .' Friz: Arum Di
Рис. 11.8. Настройки модификатора Hair and Fur (WSM) (Волосы и шерсть)
ПРИМЕЧАНИЕ
Готовый файл сцены находится на прилагаемом к книге компакт-диске в папке chi 1/ examples. Файл называется camel_done.max.
На этом настрой^ шерсти верблюда можно считать завершенной. Визуализируйте сцену (рис. 11.9).
Рис. 11.9. Визуализированное изображение верблюда на фоне пустынного ландшафта
Создание волосяного покрова с помощью сплайнов
Помимо рассмотренного выше способа создания волос и шерсти, модуль Hair and Fur позволяет создавать волосяной покров с помощью сплайнов. Моделирование причесок с использованием сплайнов дает возможность гибко управлять формой и направлением отдельных локонов.
Использование сплайнов для описания формы прически
Если прическе трехмерного персонажа требуется придать определенную форму, то ее можно описать с помощью группы трехмерных кривых, каждая из которых определяет положение пряди волос, характерное для данной прически. Эти сплайны предварительно должны быть объединены в один объект Editable Spline (Редактируемый сплайн).
К объекту, на котором необходимо создать шерсть или волосы, нужно применить модификатор Hair and Fur (WSM) (Волосы и шерсть). При помощи кнопки Recomb From Splines (Перераспределить по сплайнам) в свитке Tools (Инструменты) настроек модификатора укажите сплайновые направляющие волос. После этого происходит автоматическое перегруппирование волос, в результате чего прическа приобретает требуемую форму. Дальнейшая работа сводится к тому, чтобы установить настройки модификатора (количество волос, плотность их размещения, цвет и т. д.), а также, используя кисти окна Style (Стиль), подкорректировать проблемные участки. В частности, обычно при использовании этого способа создания
волос на них необходимо воздействовать инструментом STAND (Поднятие), чтобы приподнять их на некоторую высоту'.
Рассмотрим пример создания прически персонажа этим способом. Откройте модель, для которой вы желаете сделать прическу. Вы можете использовать любую имеющуюся у вас модель персонажа.
Используя инструмент Line (Линия), создайте несколько сплайнов на поверхности головы. Придавайте им такую форму, которую должны иметь волосы в этом месте. Много трехмерных кривых создавать не нужно, достаточно нарисовать около 10. Главное — чтобы они указывали общее направление прически (рис. 11,10). При построении обратите внимание на то, что каждый сплайн должен быть создан от корня волоса к копчику. Эту информацию использует модуль Hair and Fur (Волосы и шерсть) для вычисления направления роста волос, поэтому если вы построите сплайны от кончика к корню, то получите прическу, в которой волосы будут стоять торчком.
Рис. 11.10. Направляющие сплайны на модели
Выделите все созданные сплайны, щелкните правой кнопкой мыши в окне проекции и в контекстном меню выберите команду Convert То ► Convert to Editable Spline (Преобразовать ► Преобразовать в редактируемый сплайн). После этого выделите в окне проекции крайний сплайн и перейдите на вкладку Modify (Изменение) командной панели. В настройках выделенного объекта перейдите в свиток Geometry (Геометрия) и воспользуйтесь кнопкой Attach (Присоединить), чтобы
присоединить к нему все остальные сплайны. В результате сплайны будут сгруппированы.
Примените к модели модификатор Hair and Fur (WSM) (Волосы и шерсть) (рис. 11.11). Чтобы указать область, на которой должны произрастать волосы, следует раскрыть список Hair and Fur (WSM) (Волосы и шерсть), щелкнув на плюсике в стеке модификаторов, и переключиться в режим редактирования Polygon (Полигон). После этого в окне проекции выделите нужную область и нажмите кнопку Update Selection (Обновить выделение) в свитке Selection (Выделение). Волосы «вырастут» только на выбранном участке, однако то, что вы будете наблюдать в окне проекции на данном этапе, пока еще трудно назвать прической (рис. 11.12).
Рис. 11.11. Модель после применения модификатора Hair and Fur (WSM) (Волосы и шерсть)
Перейдите в свиток Tools (Инструменты) настроек модификатора и нажмите кнопку Recomb From Splines (Перераспределить по сплайнам). Укажите в сцене созданный ранее редактируемый сплайн. Волосы, расположенные вблизи каждого из созданных сплайнов, изменят свое положение в соответствии с формой кривых (рис. 11.13).
Созданную прическу можно подкорректировать в окне Style (Стиль). В большинстве случаев созданная таким способом прическа неестественно примыкает к голове, поэтому требуется приподнять волосы от корней при помощи инструмента STAND (Поднятие). Это удобно делать в режиме DRAG MODE (Режим перетаскивания) (рис. 11.14).
Рис. 11.12. Выбор области роста волос на модели
Рис. 11.13. Вид прически после выполнения операции Recomb From Splines (Перераспределить по сплайнам)
Рис. 11.14. Завершение работы над прической в окне Style (Стиль)
После подбора значений параметров модификатора Hair and Fur (WSM) (Волосы и шерсть) можно визуализировать изображение (рис, 11.15).
Рис. 11.15. Готовая прическа, созданная с использованием сплайнов для описания ее формы
Использование сплайнов как основы для прически
Другой способ использования трехмерных кривых состоит в том, чтобы с их помощью создать каркас прически, после чего применить к сплайнам, объединенным в один объект, модификатор Hair and Fur (WSM) (Волосы и шерсть). В этом случае будет создана область, занятая волосами, причем объединенные вместе сплайны будут играть роль поперечных сечений для формы прически. Подобный способ очень подходит для создания прически с длинным и волосами, поскольку в этом случае их удобнее редактировать. Это можно делать, используя средства сплайнового моделирования 3ds Мах. Созданная при помощи сплайнов прическа будет напоминать парик.
Рассмотрим этот способ создания волос на примере. Откройте в 3ds Мах модель, для которой вы хотите создать прическу. Вы можете использовать любую имеющуюся у вас модель персонажа.
На том участке поверхности, где должны будут располагаться волосы, необходимо создать сплайны, по которым будет выполнена прическа. Однако прежде необходимо настроить режим привязки таким образом, ч тобы созданные вами вершины сплайнов располагались на поверхности модели. Для этого щелкните правой кнопкой мыши на кнопке Snaps Toggle (Включение привязки) на панели инструментов. В появившемся окне GridandSnap Settings (Настройки сетки и привязки) установите флажок Face (Поверхность) (рис. 11.16). Перейдите на вкладку Options (Настройки) и установите флажок Snap to frozen objects (Привязать к зафиксированным объектам).
Рис. 11.16. Окно Grid and Snap Settings (Настройки сетки и привязки}
Выделите модель, щелкните на ней правой кнопкой мыши и в контекстном меню выберите команду Freeze Selection (Зафиксировать выделение) (рис. 11.17). Теперь модель будет зафиксирована в сцене, то есть будет исключена возможность того, что она будет случайно смещена, повернута и т. д. Ее будет даже невозможно выделить. Если не зафиксировать модель, то при создании сплайновой прически голову можно случайно изменить, из-за чего все придется переделывать заново.
fc,..rb.v.,Mfa..aa,;;;^^^Ignore Backfacingfc,..rb.v.,Mfa..aa,;;;^^^Ignore BackfacingView AlignMake PtariarTurn Edges ModeFlip Normals ModeDivide EdgesDivide PolygonsView AlignMake PtariarTurn Edges ModeFlip Normals ModeDivide EdgesDivide PolygonsCut PolygonsCut PolygonsElementPolygonFaceEdgeVertexTop-level VElementPolygonFaceEdgeVertexTop-level VUnhide by NameUnhide AUHide UnselectedHide SelectionUnhide by NameUnhide AUHide UnselectedHide SelectionIsolate SelectionUnfreeze AllIsolate SelectionUnfreeze AllУ Create Polygons I?У Create Polygons I?Save Scene StareManage Scene StatesSave Scene StareManage Scene StatesAttachDetachBevel PolygonAttachDetachBevel Polygon»»S Extrude Polygons; " Extrude EdgeS Extrude Polygons; " Extrude Edge8^8-8^8-Cheffiler EdgeChamfer VertexBreak VerticesTarget WeldCheffiler EdgeChamfer VertexBreak VerticesTarget WeldMowRotateScaleSelectCloneProperties...Curve Editor...Dope Sheet..Wire Paiameters..Convert To:MowRotateScaleSelectCloneProperties...Curve Editor...Dope Sheet..Wire Paiameters..Convert To:
fc,..rb.v.,Mfa..aa,;;;^^^
Ignore Backfacing
fc,..rb.v.,Mfa..aa,;;;^^^
Ignore Backfacing
View Align
Make Ptariar
Turn Edges Mode
Flip Normals Mode
Divide Edges
Divide Polygons
View Align
Make Ptariar
Turn Edges Mode
Flip Normals Mode
Divide Edges
Divide Polygons
Cut Polygons
Cut Polygons
Element
Polygon
Face
Edge
Vertex
Top-level V
Element
Polygon
Face
Edge
Vertex
Top-level V
Unhide by Name
Unhide AU
Hide Unselected
Hide Selection
Unhide by Name
Unhide AU
Hide Unselected
Hide Selection
Isolate Selection
Unfreeze All
Isolate Selection
Unfreeze All
У Create Polygons I?
У Create Polygons I?
Save Scene Stare
Manage Scene States
Save Scene Stare
Manage Scene States
Attach
Detach
Bevel Polygon
Attach
Detach
Bevel Polygon
»
»
S Extrude Polygons
; " Extrude Edge
S Extrude Polygons
; " Extrude Edge
8^
8-
8^
8-
Cheffiler Edge
Chamfer Vertex
Break Vertices
Target Weld
Cheffiler Edge
Chamfer Vertex
Break Vertices
Target Weld
Mow
Rotate
Scale
Select
Clone
Properties...
Curve Editor...
Dope Sheet..
Wire Paiameters..
Convert To:
Mow
Rotate
Scale
Select
Clone
Properties...
Curve Editor...
Dope Sheet..
Wire Paiameters..
Convert To:
Рис. 11.17. Выбор команды Freeze Selection (Зафиксировать выделение) в контекстном меню
ПРИМЕЧАНИЕ
Мы уверены, что команды Freeze Selection (Зафиксировать выделение) очень часто не хватает настоящим парикмахерам, которые тщетно пытаются ровно подстричь волосы вертящимся клиентам. В трехмерной «цирюльне» все гораздо проще, так как после фиксации модель не будет изменять свое положение.
Нажмите кнопку Snaps Toggle (Включение привязки) и выберите инструмент Line (Линия). В настройках сплайна установите переключатели Initial Туре (Начальный тип) и Drag Туре (Тип вершины) в положение Smooth (Сглаженный), чтобы создаваемый сплайн имел сглаженные вершины.
Создайте сплайны требуемой формы. Сначала продумайте форму будущей прически, а затем начинайте построение. Размещайте сплайны на небольшом расстоянии друг от друга, начинайте их создание с линии пробора и завершайте там, где волосы должны заканчиваться (рис. 11.18).
Когда сплайновый каркас готов, можно «разморозить» объект. Выберите в контекстном меню команду Unfreeze All (Спять фиксацию со всех объектов), после чего выделите модель и скройте ее, используя команду Hide Selection (Спрятать выделенные).
Рис. 11.18, Построение сплайнов на поверхности модели
Теперь в сцене остались видны только сплайны (рис. 11.19).
Рис. 11,19. Созданный каркас прически, модель скрыта
Выделите их все, щелкните правой кнопкой мыши в окне проекции и в контекстном меню выберите команду Convert То ► Convert to Editable Spline (Преобразовать ► Преобразовать в редактируемый сплайн). После этого выделите в окне проекции крайний сплайн и перейдите на вкладку Modify (Изменение) командной панели. В настройках выделенного объекта перейдите в свиток Geometry (Геометрия) и воспользуйтесь кнопкой Attach (Присоединить), чтобы присоединить к нему поочередно все остальные сплайны.
При выполнении этой операции обязательно следите за тем, чтобы сплайны присоединялись последовательно по часовой стрелке. Если это условие не будет соблюдено, при применении модификатора прическа может быть построена некорректно.
Отобразите скрытый ранее объект, воспользовавшись командой Unhide Alt (Показать все). Чтобы положение волос было более естественным, немного приподнимите сплайны. Для этого переключитесь в настройки Editable Spline (Редактируемый сплайн), раскройте одноименную строку в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Vertex (Вершина). Выделите все вершины, которые находятся в верхней части каркаса, — корни волос. Это удобнее всего делать в окне проекции Тор (Сверху).
Теперь обратите выделение, воспользовавшись командой Edit ► Select Invert (Правка ► Инвертировать выделение) или сочетанием клавиш Ctrl+I. В результате выделятся все вершины сплайна, кроме тех, которые находятся у корней.
ПРИМЕЧАНИЕ
Использовать инструмент Select Invert (Инвертировать выделение) гораздо удобнее, чем вручную выделять все вершины, кроме верхних, так как их гораздо больше.
Используя инструмент Scale (Масштабирование), увеличьте выделенные вершины, добиваясь того, чтобы прическа лежала более естественно. Чтобы завершить работу над прической, вы можете выделить отдельные вершины и отредактировать их.
Когда вас устроит форма каркаса, примените К нему модификатор Hair and Fur (WSM) (Волосы и шерсть). Вы увидите, что каркас превратился в парик (рис. 11.20). Подберем некоторые значения параметров, чтобы прическа была реалистичной.
Перейдите к настройкам модификатора Hair and Fur (WSM) (Волосы и шерсть). В свитке General Parameters (Общие параметры) установите значения параметрон Hair Count (Количество волос), Hair Segments (Количество сегментов на волосе) Hair Passes (Количество проходов визуализации), Density (Плотность размещения волос), Scale (Масштаб), Cut Length (Длина волос в процентном соотношении), Rand Scale (Случайное масштабирование), Root Thick (Толщина волос возле корней) и Tip Thick (Толщина волос на кончиках). Они могут различаться в зависимости от того, какую прическу вы хотите получить.
Рис. 11.20. Вид каркаса после применения модификатора Hair and Fur (WSM) (Волосы и шерсть)
Прическа, полученная в результате, может выглядеть, как показано на рис. 11.21.
Рис. 11.21. Прическа персонажа, созданная на основе сплайнового каркаса
Создание причесок сложной формы
В предыдущих примерах мы рассматривали формирование прически с помощью сплайнов. Как вы уже знаете, трехмерные кривые удобно использовать для моделирования причесок из длинных волос. Оценить удобство создания волос на основе сплайнов можно и тогда, когда требуется смоделировать сложную прическу, например заплести волосы в косу или закрутить пряди. В этом случае трехмерные кривые помогают задать направление волос, а чтобы волосы не расплетались, используется команда LOCK SELECTED (Зафиксировать выделенные) окна Style (Стиль).
Когда волосы заплетены в косу или собраны в закрученную прядь, они принимают сложную форму, поэтому создавать такие объекты вышеописанными методами очень сложно. В этом случае используется метод фиксирования вершин. Рассмотрим его подробнее.
Создайте в окне проекции объект Cylinder (Цилиндр) с небольшим значением радиуса и задайте ему некоторое значение сегментов по вертикали. Этот цилиндр послужит для формирования пряди волос. При конечной визуализации его не будет видно, он лишь будет играть роль вспомогательного инструмента для формирования пряди.
Используя инструмент Line (Линия), создайте около 10 прямых сплайнов с длиной, равной длине цилиндра, и разместите их внутри цилиндра (рис. 11.22).
Рис. 11.22. Размещение сплайнов внутри цилиндра
Выделите все сплайны и преобразуйте их в Editable Spline (Преобразовать в редактируемый сплайн). После этого выделите в окне проекции крайний сплайн и перейдите на вкладку Modify (Изменение) командной панели, В настройках выделенного объекта разверните свиток Geometry (Геометрия) и воспользуйтесь кнопкой Attach (Присоединить), чтобы поочередно присоединить к нему все остальные сплайны.
Преобразуйте цилиндр в Editable Mesh (Редактируемая поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert То ► Convert to Editable Mesh (Преобразовать ► Преобразовать в редактируемую поверхность).
Поскольку цилиндр играет роль пряди волос, лучше удалить его верхнее и нижнее основания. Это позволит избежать неточностей при моделировании изгиба пряди. Перейдите па вкладку Modify (Изменение) командной панели. Раскройте строку Editable Mesh (Редактируемая поверхность) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон). Ненужные участки можно удалить, выделив соответствующие полигоны и нажав клавишу Delete.
Перейдите на вкладку Modify (Изменение) командной панели. Примените к цилиндру модификатор Hair and Fur (WSM) (Волосы и шерсть). Раскройте строку Hair and Fur (WSM) (Волосы и шерсть) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон).
После этого укажите область цилиндра, на которой будут расти волосы. Для этого в окне проекции выделите верхний ряд полигонов, как показано на рис. 11.23, и нажмите кнопку UPDATE SELECTION (Обновить выделение).
Рис. 11.23. Выбор области цилиндра, на которой будут расти волосы
Чтобы направить волосы вдоль длины цилиндра, перейдите в свиток Tools (Инструменты) настроек модификатора и нажмите кнопку Recomb From Splines (Перераспределить по сплайнам). Укажите в сцене созданный ранее редактируемый сплайн. После этого волосы расположатся вдоль поверхности цилиндра (рис. 11.24),
Рис. 11.24. Размещение волос вдоль поверхности цилиндра
ПРИМЕЧАНИЕ
Если волосы не прилегли полностью к цилиндру, попробуйте уменьшить значения параметров Frizz Root (Завивка на корнях волос) и Frizz Tip (Завивка на кончиках волос) в свитке Frizz Parameters (Параметры завивки) настроек модификатора Hair and Fur (WSM) (Волосы и шерсть).
Прядь волос практически готова. Единственный ее недостаток — это то, что при изменении формы пряди (то есть при деформации цилиндра) волосы не сохранят своего расположения вдоль поверхности объекта, к которому они прикреплены.
Попробуем проверить это утверждение. Назначьте цилиндру любой деформирующий модификатор, например Bend (Изгиб) или Twist (Скручивание), и измените его форму, увеличив значение параметра Amount (Величина) в настройках модификатора. Вы увидите, что волосы больше не располагаются так, как раньше, а торчат в разные стороны (рис. 11.25).
Рис. 11.25. Положение волос после деформации цилиндра
Чтобы заставить волосы изменить положение согласно деформации цилиндра, нужно использовать команду LOCK SELECTED (Зафиксировать выделенные) окна Style (Стиль). Удалите примененный к цилиндру деформирующий модификатор из стека (при этом цилиндр вернется в исходное положение) и нажмите кнопку Style Hair (Стиль прически) в свитке Tools (Инструменты) настроек модификатора Hair and Fur (WSM) (Волосы и шерсть).
В окне Style (Стиль) убедитесь, что все вершины выделены, и нажмите кнопку LOCK SELECTED (Зафиксировать выделенные) (рис. 11.26), азатем — кнопку DONE!! (Готово).
Если теперь изменить форму цилиндра с помощью деформирующего модификатора, то положение волос относительно цилиндра не изменится (рис. 11.27). Чтобы на изображении, полученном в результате визуализации, не был виден цилиндр, щелкните на нем правой кнопкой мыши и в контекстном меню выберите строку Properties (Свойства). В появившемся окне снимите флажок Renderable (Отображать при визуализации) в области Rendering Control (Управление визуализацией) (рис. 11.28).
После визуализации изображения вы увидите только завитую прядь волос, как показано на рис. 11.29.
Рис. 11.26. Кнопка LOCK SELECTED (Зафиксировать выделенные) окна Style (Стиль)
Рис. 11.27. Положение волос после деформации цилиндра. Кнопка LOCK SELECTED (Зафиксировать выделенные) нажата
Рис. 11.28. Окно Object Properties (Свойства объекта}
Рис. 11.29. Прядь волос после визуализации
Подобным способом можно создавать любые сложные причееки. На рис. 11.30 показан пример создания нескольких скрученных прядей волос. Здесь было использовано несколько цилиндров вместо одного.
Рис. 11.30. Несколько прядей волос, скрученных вместе
Модуль Hair and Fur, появившийся e3ds Max 8, — это, безусловно, прекрасное дополнение к инструментарию 3ds Мах. Если сравнивать его с дополнительным модулем Shag: Hair, который до недавнего времени был единственным решением для создания волос и шерсти, доступным пользователям 3ds Мах, то Hair and Fur, несомненно, выигрывает.
Модуль Hair and Fur предлагает гораздо больше способов создания волосяного покрова — вы можете применять сплайны, причесывать персонаж, используя инструменты окна Style (Стиль), или же работать всеми методами одновременно.
Однако Hair and Fur не лишен недостатков. Так, работа в окне Style (Стиль) недостаточно продумана, так как не всегда удобно использовать кисть для выделения вершин. ,
К тому же модуль очень требователен к системным ресурсам. При этом отсутствует возможность какой-либо оптимизации отображения модели в окне Style (Стиль), поэтому при использовании высокополигональных моделей нагрузка на компьютер очень велика.
В Hair and Fur недостаточно возможностей управления материалом. Например, создать свой материал в Material Editor (Редактор материалов) и назначить его волосам невозможно.
ПРИМЕЧАНИЕ
Строго говоря, существует способ назначения собственного материала волосам, созданным при помощи Hair and Fur. После окончания работы над формой прически вы можете преобразовать волосы в сплайны или редактируемую оболочку, после чего назначить полученному объекту материал. Однако в этом случае визуализация сцены займет намного больше времени, так как будет просчитываться трехмерная геометрия каждого волоса.
Одним словом, разработчикам модуля Hair and Fur еще есть над чем работать. Надеемся, что в следующих версиях 3ds Мах этот модуль станет гораздо удобнее и функциональнее.
Глава 12
Текстурирование объекта
Общие сведения о текстурировании в трехмерной графике
Окно Material Editor (Редактор материалов)
Материалы
Процедурные карты
Создание многокомпонентного материала для лампочки
Общие сведения о текстурировании в трехмерной графике
Завершив создание трехмерных объектов, нужно приступать к следующему ответственному этапу работы над проектом — текстурированию. Любые объекты, которые нас окружают в реальной жизни, имеют свой характерный рисунок, по которому мы можем безошибочно узнать объект. Подобная идентификация происходит на подсознательном уровне. Когда мы видим проходящий через предмет свет, мы понимаем, что он сделан из стекла, а отражение на поверхности объекта дает нам право предположить, что он отполирован.
Созданные в трехмерном редакторе объекты выглядят, как каменные скульптуры с однотонным цветом, и совсем не похожи на настоящие. Чтобы «раскрасить^ все элементы сцены, а также наделить их такими физическими свойствами материалов, как прозрачность, шершавость, способностью отражать и преломлять свет и т. д., необходимо для каждого объекта сцены установить характеристики материала, или текстурировать сцену.
Это очень непростая задача, особенно для неподготовленного пользователя. В реальной жизни мы воспринимаем объекты такими, какие они есть, не задумываясь о коэффициентах отражения и преломления, размере блика и других физических параметрах объекта. В трехмерной графике все эти свойства материала необходимо устанавливать вручную.
Проект, созданный в программе 3ds Мах, можно считать удачным, если при первом взгляде на просчитанное изображение все объекты, попавшие в кадр, хорошо узнаются, и у зрителя не возникает вопрос, что это такое. Как правило, геометрическую форму объекта легко показать, анимировав его.
Для статического изображения продемонстрировать форму гораздо сложнее, поэтому для такого изображения особую роль играют факторы, раскрывающие суть объекта. Например, изображение белого, просвечивающегося перышка создает впечатление легкости, иллюзии того, что оно может улететь при малейшем дуновении ветерка. Если то же самое перо будет темным и не будет пропускать свет, то при взгляде на картинку такие мысли не возникнут. Очевидно, что черный цвет кажется тяжелым, и если в сцене будут изображены два предмета (белый и черный), то зрителю черный будет казаться тяжелее.
Материалы, которые имитируются в трехмерной графике, могут быть самыми разнообразными: металл, дерево, пластик, стекло, камень и многое другое. При этом каждый материал определяется большим количеством свойств (рельеф поверхности, зеркальность, рисунок, размер блика и т. д.). Для описания характеристик материала используются числовые значения параметров (процент прозрачности, размер блика и др.).
Одну из основных ролей в описании характеристик материала играют процедурные карты {карты текстур) — двухмерные изображения, генерируемые программой
или загруженные из графического файла. Процедурная карта позволяет определенным образом задать изменение параметра материала. Например, использование в качестве карты прозрачности стандартной процедурной карты Checker (Шахматная текстура) делает материал прозрачным и клетчатым.
Визуализируя любой материал, нужно помнить, что качество материала в полученном изображении очень сильно зависит от множества факторов, среди которых: параметры освещения (яркость, угол падения спета, цвет источника света и т. д.), алгоритм визуализации (тип используемого визуализатора и его настройки) и разрешение растровой текстуры.
Большое значение также имеет метод проецирования текстуры на объект. Из-за неудачно наложенной текстуры на трехмерном объекте может возникнуть шов или некрасиво повторяющийся рисунок. Кроме того, обычно реальные объекты не бывают идеально чистыми. Если вы моделируете кухонный стол, то, несмотря на то, что кухонная клеенка имеет повторяющийся рисунок, ее поверхность не должна быть однородной: клеенка может быть потерта па углах стола, иметь порезы от ножа и т. д.
Чтобы трехмерные объекты не выглядели неестественно чистыми, можно использовать сделанные вручную (например, в программе Adobe Photoshop) карты «загрязненности» и смешивать их с имеющимися в 3ds Мах процедурными картами, получая реалистичный «изношенный» материал.
Еще более удобный и быстрый способ — использовать дополнительные модули для 3ds Мах 8, например Digimation QuickDirt или Blur Beta Dirt (см. гл. 15).
Анимируя процедурные карты, можно получить очень интересные визуальные эффекты, а также имитировать, например, водную рябь, пламя огня и т. д.
Окно Material Editor (Редактор материалов)
Программа 3ds Мах 8 содержит отдельный модуль для работы с материалами, который называется Material Editor. С его помощью можно управлять такими свойствами объектов, как цвет, фактура, яркость, прозрачность и др. Окно Material Editor (Редактор материалов) вызывается при помощи команды Rendering ► Material Editor (Визуализация ► Редактор материалов) или клавишей М.
В верхней части окна Material Editor (Редактор материалов) располагаются ячейки материалов (рис. 12.1). В них отображаются заготовки в соответствии с установленными характеристиками. Настройки каждого материала содержатся в свитках под ячейками материалов. Выбранная ячейка выделяется цветом. Работа ведется именно с. материалом выделенной ячейки, и все параметры, расположенные ниже, относятся к ней.
Ниже под ячейками находится панель инструментов для работы с материалами и объектами, к которым они применяются.
|(^ Material Editor - 01 * Default|(^ Material Editor - 01 * DefaultMaterial Navigation Options UntiesMaterial Navigation Options UntiesjV^ I Sb X L^.^ i^ I <^W<&jV^ I Sb X L^.^ i^ I <^W<&StandardStandard4 *^• ... ■ treatedraramam • •- ; v p4 *^• ... ■ treatedraramam • •- ; v p
|(^ Material Editor - 01 * Default
|(^ Material Editor - 01 * Default
Material Navigation Options Unties
Material Navigation Options Unties
jV^ I Sb X L^.^ i^ I <^W<&
jV^ I Sb X L^.^ i^ I <^W<&
Standard
Standard
4 *^• ... ■ treatedraramam • •- ; v p
4 *^• ... ■ treatedraramam • •- ; v p
■EtZZZZZ^ 'EEZZZLZZZZ™:^^
Рис. 12.1. Окно Material Editor (Редактор материалов)
Материалы
Программа 3ds Мах содержит несколько типов материалов, каждый из которых включает в себя специфические настройки. Назначаемые объектам материалы могут характеризоваться различными параметрами: Specular Level (Уровень блеска), Glossiness (Глянец), Self-Illumination (Собственное свечение), Opacity (Непрозрачность), Diffuse (Цвет диффузионного рассеивания), Ambient (Цвет подсветки) и т. д.
В 3ds Мах 8 используются следующие типы материалов.
Standard (Стандартный) — самый распространенный материал, используемый для текстурирования большинства объектов в 3ds Мах 8.
Advanced Lighting Override (Освещающий) — управляет настройками, которые относятся к системе просчета рассеиваемого света.
Architectural (Архитектурный) — дает возможность создавать материалы высокого качества, обладающие реалистичными физическими свойствами. Позволяет добиться хороших результатов, только если в сцене используются источники света Photometric (Фотометрические), а просчет освещения учитывает рассеивание света Global Illumination (Общее освещение).
Blend (Смешиваемый) — получается при смешивании на поверхности объекта двух материалов. Параметр Mask (Маска) его настроек определяет рисунок смешивания материалов. Степень смешивания задается при помощи Mix Amount (Величина смешивания). При пулевом значении этого параметра отображаться будет только первый материал, при значении 100 — второй.
Composite (Составной) - позволяет смешивать до 10 разных материалов, один из которых является основным, а остальные — вспомогательными. Вспомогательные матер налы можно смешивать с главным, добавлять и вычитать из него,
Double Sided (Двухсторонний) — подходит для объектов, которые нужно текстурировать по-разному с передней И задней стороны.
Ink ’n Paint (Нефотореалистичный) — служит для создания рисованного двухмерного изображения и может быть использован при создании двухмерной анимации.
Lightscape Mlt (Материал для Lightscape) — имеет специфическое назначение и используется очень редко. Он предназначен для подготовки объектов, созданных в 3ds Мах, для экспорта в программу Lightscape.
Matte/Shadow (Матовое покрытие/тень) ■ обладает свойством сливаться с фоновым изображением. При этом объекты с материалом Matte/Shadow (Матовое покрытие/тень) могут отбрасывать тень и отображать тени, отбрасываемые другими объектами. Такое свойство материала может быть использовано при совмещении реальных отснятых кадров и трехмерной графики.
Morpher (Морфинг) — позволяет управлять раскрашиванием объекта в зависимости от его формы. Используется вместе с одноименным модификатором.
Multi/Sub-Object (Многокомпонентный) — состоит из двух и более материалов, используется для текстурирования сложных объектов.
Raytrace (Трассировка) — для визуализации этого материала используется трассировка лучей. При этом отслеживаются пути прохождения отдельных световых лучей от источника света до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах.
Shell Material (Оболочка) — используется, если сцена содержит большое количество объектов. Чтобы было удобнее различать объекты в окне проекций, можно указать в настройках материала, как объект будет раскрашен в окне проекции и как — после визуализации.
Shellac (Шеллак) — многослойный материал, состоящий из нескольких материалов: Base Material (Основной материал) и Shellac Material (Шеллак), Степень прозрачности последнего можно регулировать.
Top/Bottom (Верх/низ) — состоит из двух материалов, предназначенных для верхней и нижней частей объекта. В настройках можно установить разный уровень смешивания материалов.
X Ref М ateri а I—дает возможность использовать в сцене материалы, которые хранятся во внешних файлах. При этом настраивать материал можно только в исходном файле. Все изменения, которые сохраняются в исходном файле, также отображаются в сцене, в которой используется материал XRef
ПРИМЕЧАНИЕ
При использовании визуализатора mental ray, интегрированного в 3ds Мах, в списке появятся дополнительные материалы. Подробнее о них читайте в гл. 15.
Каждый тип материала имеет свой способ затенения (шейдер). Типы затенения могут придавать характерное для того или иного материала оформление. Например, тип затенения Metal (Металл) делает выбранный тип материала более похожим на металлический.
По умолчанию объекту задается тип материала Standard (Стандартный). Чтобы изменить тип, необходимо нажать кнопку Get Material (Установить материал) (рис. 12.2) и выбрать требуемый в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) (рис. 12,3).
Рис. 12.2. Кнопка Get Material (Установить материал)
Задать объекту материал можно двумя способами:
перетащить созданный материал из окна Material Editor (Редактор материалов) на объект в окне проекции;
выделить объект (объекты) в окне проекции, выбрать необходимый материал в окне Material Editor (Редактор материалов) и щелкнуть на кнопке Assign Material to Selection (Назначить материал выделенным объектам) на панели инструментов окна Material Editor (Редактор материалов) (рис. 12.4).
Используемые материалы можно сохранять в библиотеке материалов в файлы с расширением МАТ. Однако при этом следует помнить, что использование библиотек материалов с большим количеством образцов заметно увеличивает время загрузки программы и снижает ее производительность.
В одной сцене могут использоваться разные материалы, некоторые параметры которых совпадают. Поэтому для группы параметров в 3ds Мах 8 предусмотрена
возможность быстрого копирования. Например, для установки параметров цвета вручную необходимо вызвать окно Color Selector (Выбор цвета), в котором производится настройка цвета.
Рис. 12.3. Окно выбора материала
Рис. 12.4. Кнопка Assign Material to Selection (Назначить материал выделенным объектам) на панели инструментов окна Material Editor (Редактор материалов)
Если в сцене необходимо выбрать один и тот же цвет для нескольких параметров, можно не использовать окно Color Selector (Выбор цвета) каждый раз, а настроить цвет для одного параметра, после чего просто копировать и вставить необходимый цвет. Щелкните на цвете, который нужно перенести, правой кнопкой мыши и выберите команду Сору (Копировать) (рис. 12.5). Затем щелкните на цвете, который нужно изменить, и выберите команду Paste (Вставить).
Рис. 12.5. Копирование цвета параметра Ambient (Подсветка)Рис. 12.5. Копирование цвета параметра Ambient (Подсветка)
Рис. 12.5. Копирование цвета параметра Ambient (Подсветка)
Рис. 12.5. Копирование цвета параметра Ambient (Подсветка)
Таким же образом удобно копировать материалы. В некоторых сценах могут понадобиться два материала, схожие по настройкам. В этом случае можно создать первый материал, копировать его и исправить необходимые параметры в клонированном материале. Это гораздо проще, чем создавать второй материал с нуля, сравнивая его параметры с первым и вводя значения вручную. Для копирования материала щелкните правой кнопкой мыши на кнопке выбора материала и выберите команду Сору (Копировать) (рис. 12.6). Затем перейдите в ячейку, в которой необходимо создать второй материал, щелкните правой кнопкой мыши на кнопке выбора материала и выберите команду Paste (Вставить).
^ [О? DefaultSfandait1*—1 — Cut^ [О? DefaultSfandait1*—1 — CutРис. 12.6. Копирование материалаРис. 12.6. Копирование материалаN ^ i fc I X # | А !»й I Olli й l|ff ^ ^
^ [О? DefaultSfandait1
*—1 — Cut
^ [О? DefaultSfandait1
*—1 — Cut
Рис. 12.6. Копирование материала
Рис. 12.6. Копирование материала
СОВЕТ
Чтобы определить, применен ли материал к какому-нибудь объекту сцены, посмотрите на ячейку материала в окне Material Editor (Редактор материалов). Ячейки, содержащие материал, который используется в сцене, имеют скошенные углы (рис. 12.7).
Рис. 12.7. Материал ячейки справа используется в сцене, а материал ячейки слева — не используетсяРис. 12.7. Материал ячейки справа используется в сцене, а материал ячейки слева — не используется
Рис. 12.7. Материал ячейки справа используется в сцене, а материал ячейки слева — не используется
Рис. 12.7. Материал ячейки справа используется в сцене, а материал ячейки слева — не используется
Процедурные карты
Как мы уже говорили выше, наряду с другими параметрами для описания свойств материала используются процедурные карты, которые представляют собой двухмерный рисунок, сгенерированный 3ds Мах 8. Этот рисунок может определять характер влияния параметра материала в какой-нибудь области поверхности трехмерного объекта. Каждая процедурная карта имеет свои настройки.
Процедурную карту можно назначить практически любому параметру, который описывает материал. Для этого нужно сделать следующее.
В свитке настроек материала Maps (Карты) нажать кнопку, расположенную рядом с параметром, которому требуется назначить карту',
Выбрать карту в появившемся окне Matedal/Map Browser (Окно выбора материалов и карт) (рис. 12.8). Оно содержит набор процедурных карт, которые можно использовать для описания характеристик материала.
Рис. 12.8. Окно выбора процедурной карты
После назначения процедурной карты параметру в окне Material Editor (Редактор материалов) появятся настройки выбранной карты. Установите требуемые значения. Например, значение параметра Amount (Величина), определяющего степень влияния карты, можно задать в специальном окне возле названия параметра.
Процедурные карты могут иметь различные назначения и использоваться только в сочетании с определенными параметрами, характеризующими материал. Перечислим те карты, которые применяются чаще всего.
Bitmap (Растровое изображение) — позволяет использовать для описания характеристик материала любое графическое изображение в формате, который поддерживает 3ds Мах 8 (TIFF, JPEG, GIF и др.). Обратите внимание, что в 3ds Мах 8 была добавлена поддержка перспективного формата OpenEXR, который является альтернативой обычному HDRI. OpenEXR использовался при создании фильмов «Гарри Поттер и философский камень» (Harry Potter and the Philosopher’s Stone), «Люди в черном II» (Men In Black II) и др. Для реализации поддержки этого формата в 3ds Мах 8 был использован дополнительный модуль MaxOpenEXR, разработанный компанией SplutterFish.
Camera map per pixel (Карта камеры на пиксел) - используется, когда положение текстуры необходимо связать с видом из камеры. При визуализации такого материала положение текстуры изменяется вместе с изменением положения камеры, то есть текстура привязывается не к объекту, а к положению камеры.
Cellular (Ячейки) — генерирует структуру материала, состоящую из ячеек. Чаще всего такая структура используется при создании органических образований, в частности при моделировании кожи.
Checker (Шахматная текстура) — создает рисунок в виде шахматных клеток. Каждой клетке можно назначить свою текстуру. Также можно задать процент соотношения клеток первого й второго типов.
Combustion (Горение) — работает с другим продуктом компании Autodesk (Combustion) и позволяет использовать эффекты горения в качестве карты материала.
Composite (Составная) — позволяет объединить несколько карт в одну при помощи использования альфа-канала.
Dent (Вмятины) — чаще всего используется в качестве карты Bump (Рельеф). Она предназначена для имитации вмятин на поверхности объекта.
Falloff (Спад) (рис, 12.9) — имитирует градиентный переход между оттенками серого цвета. Характер изменения рисунка задается в списке Falloff Туре (Тип спада), который может принимать значения То wards/Away (Прямой/обратный), Perpendicular/Parallel (Перпендикуляр»ый/параллеллъный), Fresnel (По Френелю), Shadow/Light(TeHb/cBer) и Distance Blend (Смешивание цветов на расстоянии). Карта Falloff (Спад) часто используется в качестве карты Reflection (Отражение).
Flat Mirror (Плоское зеркало) — используется для создания эффекта отражения.
1» ^ & X i»'4 о v [Ш^
Difuse Color % |МарЯ23 falloll
Рис. 12.9. Настройки процедурной карты Falloff (Спад)
Gradient (Градиент) — имитирует градиентный переход между тремя цветами или текстурами. Смешивание может происходить с э<рфектом Noise (Шум) разного типа: Regular (Повторяющийся), Fractal (Фрактальный) или Turbulence (Вихревой) (рис. 12.10), Рисунок градиентного перехода может быть Linear (Линейный) или Radial (Радиальный),
Gradient Ramp (Усовершенствованный градиент) — представляет собой модифицированную карту Gradient (Градиент). В настройках карты содержится специальная градиентная палитра, на которой при помощи маркеров можно установить цвета и определить их положение относительно друг друга.
11» ^ %!Х I# I.-:-. -ti I О-& ф|Т * »
Dilute Cole *^ |м**2——Gte4en|
Рис. 12.10. Настройки процедурной карты Gradient (Градиент)
Marble (Мрамор) — генерирует рисунок мрамора. Ее удобно использовать в качестве карты Diffuse (Рассеивание) в сценах, в которых требуется смоделировать материал типа мрамора.
Mask (Маска) — позволяет применять для параметра, в качестве которого она используется, другую карту с учетом маскирующего рисунка.
Mix (Смешивание) — используется для смешивания двух различных карт или цветов. По своему действию напоминает карт)' Composite (Составная), однако смешивает карты не с помощью альфа-канала, а основываясь на значении параметра Mix Amount (Коэффициент смешивания), который определяет степень смешивания материалов.
Noise (Шум) — создает эффект зашумленности. Характер шума может быть Fractal (Фрактальный), Regular (Повторяющийся) или Turbulence (Вихревой). Основные настройки карты — High (Верхнее значение), Low (Нижнее значение), Size
(Размер), levels (Уровни), два базовых цвета шума Color 1 (Цвет 1) и Color 2 (Цвет 2) (рис. 12.11).
Рис. 12.11. Настройки процедурной карты Noise (Шум): а — верхняя часть, б — нижняяРис. 12.11. Настройки процедурной карты Noise (Шум): а — верхняя часть, б — нижняя
Рис. 12.11. Настройки процедурной карты Noise (Шум): а — верхняя часть, б — нижняя
Рис. 12.11. Настройки процедурной карты Noise (Шум): а — верхняя часть, б — нижняя
Normal Bump (Рельеф нормали) — дает возможность использовать визуализированную текстуру нормали для получения рельефной поверхности. Эта карта обычно применяется в качестве процедурных карт Bump (Рельеф) или Displacement (Смещение).
Output (Результат) — определяет характер влияния текстуры с помощью следующих параметров: Output Amount (Выходной коэффициент), RGB Offset (Смещение в RGB-каналах текстуры), Alpha from RGB Intensity (Альфа-канал по интенсивности RGB), RGB Level (Уровень RGB) и Clamp (Ограничение яркости).
Particle Age (Возраст частиц) — объекты, которым назначена данная карта, изменяют свой цвет во времени. Ее есть смысл использовать, например, для источников частиц (см. гл. 9).
Particle MBlur (Смазывание при движении частиц) — придает смазанное изображение по мере увеличения скорости движения объектов. Эту карту, как и Particle Age (Возраст частиц), следует использовать применительно к источникам частиц (см. гл. 9).
Perlin Marble (Мрамор с рисунком, полученным на основе алгоритма линейного турбулентного искажения) — как и карта Marble (Мрамор), генерирует рисунок мрамора. Perlin Marble (Мрамор с рисунком, полученным на основе алгоритма линейного турбулентного искажения) является улучшенным вариантом Marble (Мрамор). С помощью Perlin Marble (Мрамор с рисунком, полученным на основе алгоритма линейного турбулентного искажения) можно получить более интересные рисунки этого материала.
Planet (Планета) — имитирует поверхность какой-нибудь планеты и напоминает карту Noise (Шум). Содержит следующие настройки: Continent Size (Размер континента). Island Factor (Наличие островов), Ocean (Площадь, занимаемая океаном) и Random Seed (Случайная выборка) (рис. 12.12).
Рис. 12.12. Настройки процедурной карты Planet (Планета)
Ray trace (Трассировка) — карта этого типа чаше всего используется в качестве карт Reflection (Отражение) и Refraction (Преломление) и по своему действию во многом напоминает материал Raytrace (Трассировка). В основе действия этой карты лежит принцип трассировки.
Reflect/Refract (Отражение/преломление) — предназначена для создания эффектов отражения и преломления света.
RGB Multiply (Перемножение RGB) — эффект, получаемый при помощи этой карты, напоминает смешивание слоев в Photoshop в режиме Multiply (Перемножение). Обычно RGB Multiply (Перемножение RGB) используется в качестве карты Bump (Рельеф).
RGB Tint (RGB-оттенок) — позволяет настраивать оттенки основных цветовых каналов; красного, зеленого и синего.
Smoke (Дым) (рис. 12.13) — имитирует дымовое зашумление. Для большей реалистичности используется фрактальный алгоритм. Главный параметр, который определяет степень дымового зашумления, — Size (Размер), а параметр # Iterations (Количество итераций) задает количество итераций фрактального алгоритма, создающего эффект.
Рис. 12.13. Настройки процедурной карты Smoke (Дым)
Speckle (Пятно) — рисунок этой карты определяется случайным размещением небольших пятен.
Splat (Брызги) — результат напоминает забрызганную поверхность. Данную карту можно использовать в качест ве карты Diffuse (Рассеивание) или Bump (Рельеф),
Stucco (Штукатурка) — придает создаваемому материалу неровную, шершавую поверхность. Используется в основном в качестве карты Bump (Рельеф).
Swirl (Завихрение) (рис. 12.14) — генерирует двухмерный рисунок, имитирующий завихрения и состоящий из двух цветов. В настройках карты можно устанавливать количество витков при помощи параметра Twist (Витки) в области Swirl Арргеагепсе (Вид завихрений).
Рис. 12.14. Настройки процедурной карты Swirl (Завихрение)
Thin Wall Refraction (Преломление тонких стенок) — имитирует эффект преломления, вызывающий смещение изображения. Материал, в котором применяется эта карта, можно использовать для имитации стекла или других прозрачных объектов.
Tiles (Плитка) — имитирует изображение плиток, которые уложены в ряд одним из восьми способов. Такая карта лучше всего подойдет для имитации кирпичной кладки или плитки. Ранее для имитации кирпичной кладки в 3ds Мах использовалась карта Bricks (Кирпичи), но с появлением Tiles (Плитка) необходимость в ней отпала.
Vertex Color (Цвет вершин) — служит для визуализации цвета вершин объектов типов Editable Mesh (Редактируемая оболочка), Editable Poly (Редактируемая полигональная поверхность) и Editable Patch (Редактируемая патч-поверхностъ). При переходе в режим редактирования под объектов Vertex (Вершима) вершины отображаются цветом, установленным при помощи этой карты. Цвет вершин можно также назначать, используя модификатор VertexPaint (Рисование по вершинам). Карта Vertex Color (Цвет вершин) применяется в качестве карты Diffuse (Рассеивание).
Waves (Волны) — создает случайное изображение, напоминающее волны, которые расходятся по поверхности воды. Настройки карты дают возможность определить скорость расхождения волн, их количество и амплитуду. Эту карту лучше всего использовать в качестве карты Sump (Рельеф), Opacity (Непрозрачность) или Diffuse Color (Цвет диффузионного рассеивания).
Wood (Дерево) — имитирует рисунок дерева. Прекрасно подходит для создания эффекта деревянных поверхностей.
СОВЕТ
При использовании процедурных карт для имитации определенного типа материала часто бывает необходимо изменить ее положение на объекте, например разместить под другим углом. Однако по умолчанию текстуры в окне проекции на объектах не отображаются, поэтому сцену приходится визуализировать при каждом изменении параметров текстуры. Гораздо удобнее управлять положением текстуры, когда она отображается в окне проекции. Чтобы это произошло, нужно нажать на кнопку Show Мар in Viewport (Отобразить карту в окне проекции) в окне Material Editor (Редактор материалов) (рис. 12.15).
Рис. 12.15. Кнопка Show Map in Viewport (Отобразить карту в окне проекции) в окне Material Editor (Редактор материалов)
Правильное расположение текстуры на модели. Модификатор UVW Mapping (Карта проекционных координат UVW)
Основная задача разработчика трехмерной графики на этапе текстурирования объекта — правильное расположение имеющейся текстуры на модели. Например, если вы моделируете часы, то текстура циферблата должна располагаться таким образом, чтобы стрелки часов исходили из центра рисунка. МалеЙщий сдвиг текстуры — и зритель поймет, что это трехмерная подделка.
Существует несколько способов управления положением текстуры на объекте. Для текстурирования трехмерных объектов, обладающих относительно простой геометрической формой, удобно использовать модификатор UVW Mapping (Карта проекци о в ных коо рдинат U V W) (ри с. 12.16).
йгоэт
-й |ф ■■ 6 1 ®
ббааРис. 12.16. Настройки модификатора UVW Mapping (Карта проекционных координат UVW) а — верхняя часть, б — нижняя
б
б
а
а
Этот модификатор позволяет применять к данному объекту одну из следующих систем проекционных координат.
Planar (Плоская) — в этом случае текстура на поверхность объекта проецируется плоско. Чтобы понять, что такое плоское проецирование, представьте себе очень ярко светящийся монитор. Настолько ярко, что на ваше лицо, находящееся перед ним, проецируется рисунок рабочего окна 3ds Мах, которое отображается на экране. Поскольку лицо неровное, этот рисунок искажается в соответствии с формой носа, подбородка и т. д. С обратной стороны головы рисунок вообще отсутствует.
Если же применить плоское проецирование к сфере, то рисунок будем заметен в ее центре, а по краям будет смазан. С обратной стороны сферы (по отношению к плоскости проецирования) рисунок будет отсутствовать. Плоское проецирование может применяться, например, для текст > рирования ст ены или поверхности земли.
Cylindrical (Цилиндрическая) - напоминает предыдущую. В случае иримепе ния этой системы экран монитора будет свернут в Цилиндр. Вы будете находиться в центре этого цилиндра, а изображение будет проецировать' я на вас о ■ всех сторон. При установленном флажке Сар (Основание) к этому цилиндрическому экрану сверху и снизу добавятся еще два плоских экрана. Такая система координат лучше всего подходит для текстурирования цилиндрических объектов — труб, шлангов и т. д. Еще один пример использования такой системы проецирования — флакон дезодоранта.
Spherical (Сферическая) — проецирование происходит внутри некой сферы. Лучше всего данный тип подходит для текстурирования объектов правильной шарообразной формы, например футбольного мяча или бильярдного шара.
Shrink Wrap (Обтягивающая) — напоминает сферическую. При использовании данного типа углы текстуры сходятся в одной точке. Представьте себе, например, мешок, завязанный сверху, и вы поймете, что это означает.
Box (Прямоугольная) — проецирование выполняется внутри условного параллелепипеда, каждая из граней которого содержит рисунок. Такой тип проецирования подходит для прямоугольных объектов — книги, коробки для компакт-диска и т. д. В этом случае объект будет помещен в воображаемый параллелепипед, каждая из граней которого будет проецировать рисунок на соответствующую сторону модели.
Face (Грань) — проецирование рисунка происходит на каждую грань оболочки модели. Такой метод проецирования удобно использовать для получения повторяющегося узора, например текстуры песка.
XYZ to UVW (XYZ в UVW) — используется, когда текса ура на объекте должна растягиваться или сжиматься при изменении геометрической формы объекта. Чтобы лучше попять, что это означает, представьте себе резиновый шланг: когда шланг растягивается, рисунок на нем тоже вытйЬгвается.
Положением центра выбранной системы проекционных координат очень удобно управлять с помощью вспомогательного габаритного контейнера, который появляется сразу после применения к объекту модификатора UVW Mapping (Карта проекционных координат UVW). Этот габаритный контейнер имеет форму, соответствующую выбранной системе координат. Например, если была выбрана прямоугольная система проецирования, то габаритный контейнер будет иметь форму параллелепипеда, а если цилиндрическая система —■ то цилиндра.
Управлять положением проекционной системы координат можно двумя способами:
Вручную, изменяя положение вспомогательного габаритного контейнера;
с помощью настроек свитка Parameters (Параметры), котррые определяют геометрические размеры поверхности проецирования.
Используя параметры U Tile (Повторить по координате U), V Tile (Повторить по координате V) и W Tile (Повторить по координате W), можно задать кратность повторения текстуры по той или иной координате.
В области Channel (Канал) настроек модификатора UVW Mapping (Карта проекционных координат UVW) можно также указать канал проецирования для карты.
Чтобы можно было быстро подогнать размеры габаритного контейнера к размерам модели, а также выровнять его центр относительно центра модели, используются настройки обл асти А И g n m е в t ( Вырав нив ание).
Real-World Mapping (Проецирование текстуры в масштабе реального мира)
В настройках большинства примитивов присутствует флажок Generate Mapping Coords. (Создавать систему проекционных координат). Установка данного флажка позволяет привязать к создаваемому объекту систему проекционных координат, которая будет использоваться в дальнейшем при наложении текстур. Начиная с версии 3ds Мах 8, в программу был добавлен параметр Real-World Mapping (Проецирование текстуры в масштабе реального мира). Он позволяет скорректировать размеры проецируемой текстуры так, чтобы она корректно отображалась при визуализации изображения. Данному параметру соответствует флажок Real- World Map Size (Размер карты реального мира) в настройках объектов.
Чтобы лучше понять предназначение флажка Real-World Map Size (Размер карты реального мира), создайте трехмерную сцену, в которой содержится один объект — Box (Параллелепипед) с размерами Length (Длина) — 140, Width (Ширина) — 200, Height (Высота) — 10 (рис. 12.17).
Откройте Material Editor (Редактор материалов), выполнив команду Rendering > Mate ri a IЕ d i to г ( В и зу ал изация ► Ре дакто р м ате ри ал о в), и н аз нач ьте соз да н н ому объек - ту один из материалов, перетащив его из ячейки на объект. Перейдите к свитку Maps (Карты) настроек материала и в качестве карты Diffuse Color (Цвет рассеивания) выберите Bitmap (Растровое изображение). В открывшемся окне Select Image Bitmap File (Выбор растрового изображения) укажите путь к графическому файлу с рисунком кирпичной стены. Это может быть файл Brkrun - jpg. Данный файл входит в стандартную поставку текстур 3ds Мах и по умолчанию располагается по адресу 3dsmax8\maps\Brick\Brkrun.jpg.
Нажмите кнопку Show Map in Viewport (Отобразить карту в окне проекций). На объекте отобразится кирпичная текстура (рис. 12.18). Вернитесь в настройки объекта Вок (Параллелепипед) и попробуйте увеличить значение параметра Length (Длина) до 900. В окне проекции вы сможете увидеть, что одновременно с увеличением геометрических размеров объекта на нем исказилась текстура (рис. 12.19).
Вернитесь к предыдущему значению параметра Length (Длина) и в свитке Parameters (Параметры) настроек объекта Box (Параллелепипед) установите флажок Real-World Map Size (Размер карты реального мира).
Рис, 12.17. Примитив Box (Параллелепипед) в окнах проекций
Рис. 12.18. Вид объекта после нажатия кнопки Show Map in Viewport (Отобразить карту в окне проекции)
Снова откройте Material Editor (Редактор материалов) и в настройках растровой карты установите флажок Use Real-Wo rid Scale (Использовать масштаб реального
мира). После этого параметры U Tiling (Повторяемость ио координате U) и V Tiling (Повторяемость по координате V) исчезнут, а вместо них появятся новые — Width Size (Размер ширины) и Height Size (Размер высоты). Установите их значения равными соответственно 140 и 200 (рис. 12.20). Эти параметры мы выбрали равными геометрическим размерам объекта, чтобы на его поверхности отобразился рисунок, аналогичный тому, который вы увидели до использования функции проецирования текстуры в масштабе реального мира.
Рис. 12.19. Вид объекта после увеличения его геометрических размеров
Рис. 12.20. Настройки растровой карты
Снова вернитесь в настройки объекта и измени те значение параметра Length (, (чина) на 900. Вы увидите, что масштаб текстуры, проецируемой на нрие|.г нос и. объекта, остался прежним (рис. 12.21). Это объясняется тем. что функция R. 1 World Mapping (Проецирование текстуры в масштабе реального мира.) ши сохранять неизменным масштаб проецируемой текстуры независимо г " кие действия производятся с объектом.
Рис. 12.21. Вид объекта после увеличения его геометрических размеров при использовании функции Real-World Mapping (Проецирование текстуры в масштабе реального мира)
Текстурирование моделей сложной формы. Модификатор Unwrap UVW (Развертка UVW)
Использование модификатора UVW Mapping (Карта проекционных координат UV'W). рассмотренного выше,удобно лишь тогда, когда требуется текстурирован. объект, имеющий правильную геометрическую форму. В атом случае можно управлял центром проекционных координат, а также задавать кратность повторения текстуры на объекте.
Если же возникает необходимость наложить текстуру па трехмерный < .бы? кт с. южной формы, например на модель персонажа, то этот метод использовать шит.с,и,', разно. В таких случаях применяется метод текстурирования с помощью рылыд и ки текстуры модели, реализованный посредством модификатора Unwrap UVW (I а.шер'1 ка UVW).
Данный метод позволяет точно определить, на каких участках трехмерной поверхности модели будет применяться та или иная система проекционных координат.
Благодаря этому можно, например, для текстурирования рук персонажа использовать цилиндрическую систему проецирования, для головы — сферическую и т. д.
Для создания развертки модификатор Unwrap UVW (Развертка UVW) разделяет оболочку объекта на отдельные фрагменты. Эти части соединяются между собой швами. Швы можно увидеть на модели сразу после применения модификатора — они отображены в виде салатовых линий в окне проекции. При необходимости их можно редактировать. Для этого нужно нажать кнопку Edit Seams (Редактировать швы) в свитке Map Parameters (Параметры карты).
Несмотря на то, что метод развертки гораздо более совершенен, чем способ наложения текстур при помощи модификатора UVW Mapping (Карта проекционных координат UVW), при его использовании также могут возникнуть проблемы. В частности, при текстурировании неровных поверхностей будут видны искажения текстуры: на одних участках рисунок будет слишком растянут, на других, наоборот, сжат.
В 3ds Мах 8 в настройках модификатора Unwrap UVW (Развертка UVW) появился новый инструмент Pelt Mapping (Текстурирование кожи), предназначенный специально для текстурирования моделей персонажей. При его использовании открывается специальный редактор, в котором с помощью вспомогательных элементов можно создать плоскую развертку модели и устранить проблемные участки.
Параметры Pelt Mapping (Текстурирование кожи) расположены в свитке Map Parameters (Параметры карты) настроек модификатора Unwrap UVW (Развертка UVW). Для использования инструмента необходимо перейти в режим редактирования подобъектов Face (Грань) и выделить ту часть модели, для которой необходимо сделать развертку (рис. 12.22).
Рис. 12.22. Выделение части модели в окне проекции
После этого нужно нажать кнопку Pelt (Кожа) (рис. 12.23) и подобрать такое положение плоскости развертки, чтобы было максимально удобно разворачивать модель в данном направлении. В некоторых случаях удобно использовать кнопку Best Align (Лучшее расположение), которая подберет положение плоскости автоматически. Если таким способом не удается добиться оптимального результата, то подобрать положение плоскости можно при помощи кнопок Align X (Выровнять относительно оси X), Align Y (Выровнять относительно оси Y), Align Z (Выровнять относительно оси Z) и Align То View (Выровнять относительно вида в окне проекции). Кнопка Fit (Подогнать) помогает подобрать размеры плоскости. Кроме этого, выбрать положение плоскости можно вручную, перемещая мышью схематическую плоскость в окне проекции.
Рис. 12.23. Настройки модификатора Unwrap UVW (Развертка UVW)
Для открытия окна редактора Edit UVWs (Редактор проекционных координат U VW) нужно нажать кнопку Edit Pelt Мар (Редактировать текстуру кожи). В окне редактора схематически отобразится выделенный участок модели (рис. 12.24). Ее окружают вспомогательные растяжки, определяющие направление разворачивания швов развертки. Эти растяжки можно вращать и масштабировать. Чем лучше подобрано положение растяжек (в идеале они не должны пересекаться), тем быстрее вы получите развертку модели.
®£d« UVWs®£d« UVWsRMRMРис. 12.24. Окно редактора Edit UVWs (Редактор проекционных координат UVW)Рис. 12.24. Окно редактора Edit UVWs (Редактор проекционных координат UVW)
®£d« UVWs
®£d« UVWs
RM
RM
Рис. 12.24. Окно редактора Edit UVWs (Редактор проекционных координат UVW)
Рис. 12.24. Окно редактора Edit UVWs (Редактор проекционных координат UVW)
Определив настройки растяжек, нажмите кнопку Simulate Pelt Pulling (Имитировать натяжение кожи) в окне настроек Pelt Map Parameters (Параметры текстуры кожи) (рис. 12.25). Если модель содержит много сложных участков, то, возможно, имеет смысл раздвинуть края растяжек, используя масштабирование. Нажимайте кнопку Simulate Pelt Pulling (Имитировать натяжение кожи) до тех пор, пока вы не получите подходящую развертку.
ххPelt Map parameters
х
х
-Stretcher ————Reset StretcherSnap To SeamsStraighten StretcherMinor StretcherMirror Axis: |7Fo-SpringsPull Strength:Stiffness: ' Dampening- Decay.-Stretcher ————Reset StretcherSnap To SeamsStraighten StretcherMinor StretcherMirror Axis: |7Fo-SpringsPull Strength:Stiffness: ' Dampening- Decay.ce]eci———_™_™Select StretcherSelect Pelt UVs- Simulation —■Iterations. (3?' i]Samples [5 CjRelax(Light)RelaxfHeavy)Simulate Pelt Puliing Ice]eci———_™_™Select StretcherSelect Pelt UVs- Simulation —■Iterations. (3?' i]Samples [5 CjRelax(Light)RelaxfHeavy)Simulate Pelt Puliing I
-Stretcher ————
Reset Stretcher
Snap To Seams
Straighten Stretcher
Minor Stretcher
Mirror Axis: |7Fo
-Springs
Pull Strength:
Stiffness: ' Dampening- Decay.
-Stretcher ————
Reset Stretcher
Snap To Seams
Straighten Stretcher
Minor Stretcher
Mirror Axis: |7Fo
-Springs
Pull Strength:
Stiffness: ' Dampening- Decay.
ce]eci———_™_™
Select Stretcher
Select Pelt UVs
- Simulation —■
Iterations. (3?' i]
Samples [5 Cj
Relax(Light)
RelaxfHeavy)
Simulate Pelt Puliing I
ce]eci———_™_™
Select Stretcher
Select Pelt UVs
- Simulation —■
Iterations. (3?' i]
Samples [5 Cj
Relax(Light)
RelaxfHeavy)
Simulate Pelt Puliing I
Г Lock Open Edges
Рис. 12.25. Окно Pelt Map Parameters (Параметры текстуры кожи)
Если развертка модели слишком широкая, то можно подогнать ее до нужного размера, используя инструменты Relax(Light) (Небольшое послабление) и Relax(Heavy) (Сильное послабление).
Из-за того что трехмерная модель имеет сложную геометрическую форму, ее развертка на некоторых участках может иметь неправильные пропорции, В результате на модели могут присутствовать искажения текстуры. Для устранения этого недостатка используется инструмент Relax Tool (Инструмент послабления). Обратите внимание на то, что, хотя название инструмента Relax Tool (Инструмент послабления) похоже на названия инструментов Relax(Light) (Слабое послабление) и Relax(Heavy) (Сильное послабление), он имеет другое предназначение. Relax Tool (Инструмент послабления) может компенсировать слишком сильное или недостаточное растягивание текстуры. Для его вызова выполните команду Tools ► Relax Dialog (Инструменты ► Окно послабления) в окне редактора Edit UVWs (Редактор проекционных координат UVW). Сглаживание текстуры может производиться относительно углов между гранями (Relax By Face Angles (Ослабить относительно углов между гранями)), углов между ребрами (Relax By Edge Angles (Ослабить относительно углов между ребрами)), а также относительно центров граней (Relax By Centers (Ослабить относительно центров граней)) (рис. 12,26). По умолчанию используется метод Relax By Edge Angles (Ослабить относительно углов между ребрами), и именно он подходит в большинстве случаев.
Готовую развертку (рис. 12.27) можно визуализировать и сохранить в виде файла для дальнейшего использования. В частности, она может понадобиться для создания текстуры в Photoshop. Для визуализация развертки выполните команду Tools ► Render UVW Template (Инструменты ► Визуализировать шаблон развертки UVW) в окне редактора Edit UVWs (Редактор проекционных координат UVW). В появившемся окне настроек Render UVs (Визуализировать развертку) (рис. 12.28) можно задать
разрешение картинки, режим визуализации, цвет ребер и т. д. Для выполнения просчета нажмите кнопку Render UV Template (Визуализировать шаблон развертки UV).
Рис. 12.26. Окно Relax Tool (Инструмент послабления)
Рис. 12.27. Готовая развертка модели
Рис. 12.28. Окно Render UVs (Визуализировать развертку)
Создание многокомпонентного материала для лампочки
В этом примере мы продемонстрируем использование материала типа MuLti/Sub- Object (Многокомпонентный). Откройте файл lamp2.max, который находится на компакт-диске в папке chlO/examples.
Лампочка состоит из двух материалов — металла и стекла, поэтому для ее текстурирования лучше всего подойдет материал типа Multi/Sub-Object (Многокомпонентный), содержащий два компонента.
Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку Editable Poly (Редактируемая полигональная поверхность) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон). Перейдите в окно проекции Front (Спереди) и выделите те полигоны, которые составляют цоколь (рис. 12.29). При этом проследите, чтобы в свитке настроек Selection (Выделение) был снят флажок Ignore Backfacing (Игнорировать невидимые участки). В противном случае вам не удастся выделить поверхность объекта полностью, так как полигоны с обратной стороны останутся невыделенными.
Перейдите к свитку Polygon Properties (Свойства полигона) и в поле Set ID (Установить идентификатор) введите число 1 (рис. 12.30).
Затем инвертируйте выделение — выделятся полигоны, составляющие стеклянную часть лампочки. В поле Set ID (Установить идентификатор) свитка Polygon
Properties (Свойства полигона) введите число 2. Выйдите из режима редактирования Polygon (Полигон).
Рис. 12.29. Выделение полигонов, составляющих цоколь
Ри г 12.30. Свиток Polygon Properties (Свойства полигона)
Откройте Material Editor (Редактор материалов), выполнив команду Rendering k Material Editor (Визуализация ► Редактор материалов), и выберите материал Multi/ Sub-Object (Многокомпонентный) в окне Material/Map Browser (Окно выбора материалов и карт). Примените материал к объекту, перетащив его из ячейки на объект в окне проекции.
В свитке Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала) настроек материала нажмите кнопку Set Number (Установить количество идентификаторов) (рис. 12.31) и в появившемся окне Set Number of Materials (Установить количество материалов) введите число 2.
Рис. 12.31. Кнопка Set Number (Установить количество идентификаторов) в настройках материала
В настройках материала останется только два типа материала с идентификаторами I и 2 (рис. 12.32). Каждый из этих материалов будет назначаться тем участкам
трехмерной модели, которым присвоен соответствующий идентификатор. По умолчанию оба материала имеют тип Standard (Стандартный).
© Material Editor - 13 - Default© Material Editor - 13 - DefaultMaterial Navigation Options UtilitiesMaterial Navigation Options UtilitiesЪ у Ъ X # I ! ”6 I Ql • |W 6 M*t |13-Default ' jj MuWSiMbiecIЪ у Ъ X # I ! ”6 I Ql • |W 6 M*t |13-Default ' jj MuWSiMbiecI
© Material Editor - 13 - Default
© Material Editor - 13 - Default
Material Navigation Options Utilities
Material Navigation Options Utilities
Ъ у Ъ X # I ! ”6 I Ql • |W 6 M
*t |13-Default ' jj MuWSiMbiecI
Ъ у Ъ X # I ! ”6 I Ql • |W 6 M
*t |13-Default ' jj MuWSiMbiecI
Mufo/Sub Objetf ^^^
|2' Sei Number|2' Sei NumberAdd Deters [Add Deters [
|2' Sei Number
|2' Sei Number
Add Deters [
Add Deters [
Sub-MaterialОпД)д
Material «11 I Standard | Q P ^
Material 012 ( Standard i П F7 I
Рис. 12.32. Настройки материала после определения количества компонентов
Щелкните на кнопке с названием первого материала, чтобы переключиться в его настройки. Нажмите кнопку Standard (Стандартный) и в появившемся окне Material/ Map Browser (Окно выбора материалов и карт) выберите тип материала Raytrace (Трассировка). Из раскрывающегося списка типа затенения Shading (Затенение) выберите строку Phong (По Фонгу).
В свитке настроек Raytrace Basic Parameters (Основные параметры трассировки) задайте параметру Diffuse (Рассеивание) следующие значения: Red (Красный) — 171, Green (Зеленый) — 171, Blue (Синий) — 171 (получится серый цвет), а значение параметра Index of Refr (Коэффициент отражения) установите равным 1. В области Specular Highlights (Зеркальные блики) установите значение параметра Specular Level (Уровень блеска) равным 255, Glossiness (Глянец) — 70, Soften (Размытость) — 0,1 и выберите цвет Specular Color (Цвет блеска) со значениями Red (Красный) — 178, Green (Зеленый) —214, Blue (Синий) — 226. Материал для цоколя готов (рис. 12.33).
Рис. 12.33. Настройки материала для цоколя
Вернитесь в настройки материала Multi/Sub-Object (Многокомпонентный), нажав кнопку Go to Parent (Вернуться к исходному). Щелкните на кнопке с названием второго материала и выберите для него тип материала Ray trace (Трассировка). Из списка типа затенения Shading (Затенение) выберите Phong (По Фонгу). Поскольку лампочка внутри полая, необходимо установить флажок 2-Sided (Двухсторонний), чтобы материал был двухсторонним.
В свитке настроек Raytrace Basic Parameters (Основные параметры трассировки) задайте параметру Diffuse (Рассеивание) следующиезначения: Red (Красный) — 236, Green (Зеленый) — 240, Blue (Синий) — 244, а значение параметра Index of Refr (Коэффициент отражения) установите равным 1,32. В области настроек Specular Highlights (Зеркальные блики) установите значение параметра Specular Level (Уровень
теска) равным 190. Glossiness (Глянец) —74,Soften (Размытость) — 0,1 и выбери- ■ цвет Specular Color (Цвет блеска) со значениями Red (Красный) — 255, Green (Зевный) — 255, Blue (Синий) — 255.
Чтобы сделать стекло прозрачным, выберите белый цвет для Transparency (Прозрачность). Для этого нажмите кнопку цвета рядом с названием этого параметра н от не Color Selector: Transparency (Выбор цвета: прозрачность) установите следу- цие значения: Red (Красный) — 252, Green (Зеленый) — 252. Blue (Синий) — 252 ' рис. 12.34). Материал для стеклянной част и лампочки готов.
I Mltfltil Edtor - 13 - DefaultI Mltfltil Edtor - 13 - DefaultPayt'M Ba.ic Pa-ynet-viI„I ^ 2-Sided■ race MapГ wueГ FacetedLieimocity v |—i T iflAtparenoy P l’ Ц ^ Index of ReftPayt'M Ba.ic Pa-ynet-viI„I ^ 2-Sided■ race MapГ wueГ FacetedLieimocity v |—i T iflAtparenoy P l’ Ц ^ Index of Reft- т1пд I Phong- т1пд I Phong■ctienFl *.■ctienFl *.Г Envionmanl .Г Envionmanl .• bump .• bump .NoneNonerj pecuhr Highlight - - -Specular Cotai L_1Specular Level Г™" :j _rj pecuhr Highlight - - -Specular Cotai L_1Specular Level Г™" :j _е-итЬейШ Г<^|DiffuseReKed: f^ jе-итЬейШ Г<^|DiffuseReKed: f^ jTden^F^SSteiT ’ " Вагаси СЙоЬTden^F^SSteiT ’ " Вагаси СЙоЬ[■'irrijyriict Piopflrt^-.irsnldJ r^y СйГ1№С)О I[■'irrijyriict Piopflrt^-.irsnldJ r^y СйГ1№С)О IРис. 12.34. Настройки материала для стеклаРис. 12.34. Настройки материала для стекла
I Mltfltil Edtor - 13 - Default
I Mltfltil Edtor - 13 - Default
Payt'M Ba.ic Pa-ynet-viI
„I ^ 2-Sided■ race Map
Г wueГ Faceted
Lieimocity v |
—i T iflAtparenoy P l
’ Ц ^ Index of Reft
Payt'M Ba.ic Pa-ynet-viI
„I ^ 2-Sided■ race Map
Г wueГ Faceted
Lieimocity v |
—i T iflAtparenoy P l
’ Ц ^ Index of Reft
- т1пд I Phong
- т1пд I Phong
■ctienFl *.
■ctienFl *.
Г Envionmanl .
Г Envionmanl .
• bump .
• bump .
None
None
rj pecuhr Highlight - - -
Specular Cotai L_1
Specular Level Г™" :j _
rj pecuhr Highlight - - -
Specular Cotai L_1
Specular Level Г™" :j _
е-итЬейШ Г<^|
Diffuse
ReKed: f^ j
е-итЬейШ Г<^|
Diffuse
ReKed: f^ j
Tden^F^SSteiT ’ " Вагаси СЙоЬ
Tden^F^SSteiT ’ " Вагаси СЙоЬ
[■'irrijyriict Piopflrt^-.
irsnldJ r^y СйГ1№С)О I
[■'irrijyriict Piopflrt^-.
irsnldJ r^y СйГ1№С)О I
Рис. 12.34. Настройки материала для стекла
Рис. 12.34. Настройки материала для стекла
'опробуйте визуализировать обмят, нажав клавишу F9. Как видно па рис. 12.35, шмночка имеет два материала и очень похожа на настоящую.
Рис. 12.35. Текстурированная лампочка
Попробуйте доработать модель, вставив в середину лампочки вольфрамовую пить и подобрав для нее текстуру. Такую нить можно сделать любым удобным для вас способом, например используя инструменты для работы с Editable Poly (Редактируемая полигональная поверхность).
Глава 13
Освещение и съемка сцены. Модуль Video Post
Общие сведения об освещении в трехмерной графике
Освещение сцены
Правила расстановки источников света в сцене
Характеристики света и методы визуализации теней
Съемка сцены
Создание видеоэффектов. Модуль Video Post
Общие сведения об освещении в трехмерной графике
В любом редакторе трехмерной графики (Lightwave 3D, Maya, Softimage, 3ds Max и др.) реалистичность визуализированного изображения зависит от трех главных факторов: качества созданной трехмерной модели, удачно выполненных текстур и освещения сцены. Одна и та же сцена, просчитанная при различном освещении, может выглядеть совершенно по-разному. При изменении положения источников света в сцене искажаются окрашивание объектов, форма отбрасываемых теней, возникают участки, чересчур залитые светом или слишком затемненные.
Создание реалистичного освещения в сцене — одна из самых больших проблем при разработке трехмерной графики. В реальности падающий луч света претерпевает огромное количество отражений и преломлений, поэтому очень редко можно встретить резкие, неразмытые тени. Другое дело — компьютерная графика. Здесь количество падений и отражений луча определяется только аппаратными возможностями компьютера. До определенного момента в трехмерной графике преобладали резкие тени. Сцена, с которой работает дизайнер, является лишь упрощенной физической моделью, поэтому визуализированное изображение далеко не всегда походит на настоящее. Но, несмотря на это, освещение в трехмерной сцене все же можно приблизить к реальному. Для этого нужно соблюсти два правила:
установить источники света и подобрать их яркость (параметры) таким образом, чтобы сцена была равномерно освещена;
задать настройки визуализации освещения.
ПРИМЕЧАНИЕ
Несмотря на то, что чаще всего источники света используются для освещения объектов в сцене, иногда свет применяется как самостоятельный объект, например для имитации далекого огонька в ночи, маяка, звезды на небе и т. д.
Проблема освещения в изображениях возникла задолго до появления трехмерной графики. Первыми задачу правильного освещения решали художники и фотографы, позже — кинооператоры, теперь она стала насущной и для разработчиков трехмерной графики.
Самым распространенным способом является освещение из трех точек (трехточечная система). Такой подход удачен ври освещении одного объекта (например, портреты в фотостудии), для сложных трехмерных сцен он может не подойти. Выбор освещения зависит от количества объектов, отражательных свойств их материалов, а также от геометрии сцены.
Для освещения также является важным, какой тип источника света используется. Например, направленный источник света позволяет сконцентрировать внимание на каком-то определенном объекте, а всенаправленный точечный источник — осветить сцену целиком.
Освещение сцены
Итак, чтобы трехмерные модели выглядели естественно в визуализированном изображении, их необходимо правильно осветить. По умолчанию 3ds Мах 8 использует свою систему, которая равномерно освещает объекты трехмерной сцены. При такой системе освещения в финальном изображении отсутствуют тени, что выглядит неестественно. Чтобы объекты отбрасывали тени, в сцену необходимо добавить источники света. Сразу после того, как в сцене появляются источники света, система освещения, используемая 3ds Мах 8, автоматически выключается.
Источники света в 3ds Мах 8 делятся на направленные (Spot) и всенаправленные (Omni). К первой категории относятся Target Spot (Направленный с мишенью), Free Spot (Направленный без мишени) и mr Area Spot (Направленный, используемый визуализатором mental ray). К всенаправленным источникам света относятся Omni (Всенаправленный) и mr Area Omni (Всенаправленный, используемый визуализатором mental ray).■
Направленные источники используются в основном для того, чтобы осветить конкретный объект или участок сцены. При помощи направленных источников света можно имитировать, например, свет автомобильных фар, луч прожектора или карманного фонарика и т.д. Всенаправленные источники света равномерно излучают свет во всех направлениях. Используя их, можно имитировать, например, освещение от электрических ламп, фонарей, свет пламени и др.
Независимо от того, какой источник света используется в сцене, он характеризуется такими параметрами, как Multiplier (Яркость), Decay (Затухание) и Shadow Мар (Тип отбрасываемой тени) (рис. 13.1). По умолчанию Multiplier (Яркость) любого источника света равна 1, а параметр Decay (Затухание) выключен.
Поскольку в реальной жизни свет от источников подчиняется законам физики, то интенсивность распространения света зависит от расстояния до источника света. Если нужно смоделировать реалистичный источник света, то в настройках источника света необходимо установить функцию Decay (Затухание), которая определяется обратной зависимостью света от расстояния или квадрата расстояния. Второй вариант наиболее точно описывает распространение света.
При создании освещенности сцены применительно к источникам света часто используются следующие эффекты.
Volume Light (Объемный свет) — свет, создаваемый источником, окрашивает пространство в цвет источника. В реальной жизни такой эффект можно наблюдать в темных запыленных или задымленных помещениях. Пучок света, пробиваясь в темноте, хорошо заметен.
Lens Effects (Эффекты линзы) — напоминает эффект, который в реальной жизни получается на изображении при использовании специальных объективов с различными системами линз. Это могут быть блики различной формы, отсветы и т. д.
Рис. 13.1. Настройки источника света типа Omni (Всенаправленный)
Чтобы использовать эффект, в свитке настроек Atmospheres & Effects (Атмосфера и эффекты) источника света нажмите кнопку Add (Добавить) и выберите требуемый эффект в окне Add Atmosphere or Effect (Добавить эффект или атмосферное явление) (рис. 13.2).
СОВЕТ
Вы также можете добавить в сцену эффект, выполнив команду Rendering к Environment (Визуализация > Окружение) или нажав клавишу 8. В окне Environment and Effects (Окружение и эффекты) перейдите на вкладку Environment (Окружение) (чтобы добавить эффект Volume Light (Объемный свет)) или на вкладку Effects (Эффекты) (для добавления Lens Effects (Эффекты линзы)), после чего, нажав кнопку Add (Добавить), добавьте в сцену один из эффектов.
Рис. 13.2. Окно Add Atmosphere or Effect (Добавить эффект или атмосферное явление)
Для настройки эффекта используйте кнопку Setup (Настройка) в свитке настроек Atmospheres & Effects (Атмосфера и сх^мректы) источника света. При этом вы перейдете в окно Environment and Effects (Окружение и эффекты). Чтобы программа могла просчитывать эффект, в его настройках необходимо указать, к какому источнику света используется выбранный эффект. Нажмите кнопку Pick Light (Выбрать источник света) (рис. 13.3), после чего щелкните мышью на источнике света в окне проекции.
Рис. 13.3. Окно Environment and Effects (Окружение и эффекты)
Правила расстановки источников света в сцене
Существует множество приемов, с помощью которых можно осветить сцену таким образом, чтобы скрыть мелкие недостатки и подчеркнуть важные детали. Например, чтобы придать объем трехмерной модели, ее достаточно осветить сзади. При этом появится отчетливая граница, визуально отделяющая объект от фона. Другой пример: если требуется осветить половину объекта, то вторая его половина должна быть также подсвечена источником света с малой интенсивностью. Иначе затененный участок трехмерной модели будет неестественно скрыт в абсолютной темноте. Особенно это будет заметно, если объект расположен темной стороной к стене. В этом случае свет должен отразиться от стены и слабо подчеркнуть контур затененной стороны объекта (так происходит в реальности).
Наряду с такими приемами существуют и общие рекомендации, как не нужно освещать сцену. Например, источник света не должен располагаться намного ниже освещаемого объекта, поскольку это придаст модели неестественный вид. В действительности чаще всего мы видим объекты, освещенные люстрой или солнцем, поэтому и в трехмерных сценах источник света должен располагаться сверху. Это придает сценам реалистичность.
Следует очень осторожно использовать источники света с большой интенсивностью. Освещение, созданное с их помощью, может вызвать сильные засветы и исказить текстуру объекта. По умолчанию параметр Multiplier (Яркость) всех источников света в 3ds Мах 8 имеет значение 1. Старайтесь по возможности избегать значений, превышающих это число, а использовать параметр Decay (Затухание).
Реалистичные источники света, искусствен I ,ые и естественные, излучают свет, интенсивность которого по мере удаления от этих источников уменьшается. Все стандартные источники света в 3ds Мах 8 могут использовать различную степень затухания — Inverse (Обратная зависимость) или Inverse Square (Обратно-квадратичная зависимость). Ее можно выбрать из списка Туре (Тип) свитка настроек Intensity/ Со lor/Attennation (Интенснвность/цвет/затухание) источника света (рис. 13.4). Больше всего соответствует реальности степень затухания Inverse Square (Обратноквадратичная зависимость), однако ее не всегда удобно использовать из-за того, что возле источника могут возникать слишком сильно освещенные участки, а на удалении от него — совсем темные. Решением этой проблемы может служить повышение значения параметра Multiplier (Яркость) при одновременном увеличении расстояния между источником света и объектом.
Для освещения сцены удобно использовать один главный источник света и несколько вспомогательных. В качестве основного источника можно применить, например, один из имеющихся в арсенале 3ds Мах 8 направленных источников света. Интенсивность вспомогательных источников света должна быть значительно меньше, чем основного. Кроме этого, вспомогательные источники не должны создавать тени от объектов в сцене. Большое количество теней может внести беспорядочность в сцену.
^ .- о ВТ!а-,й^ Й щ ж %|5landard - ” —
.]- , Nema №d Colo<. |
J |0тпй1Г .
; " " *~~'U PaiMnet™ |
? 17 On Taig Dirt'
; -Shddowt,"• Г On Г Use Global Settings |5hadowMap*|
Ek**.. :
a6
Рис. 13.4, Свиток настроек Intensity/Coior/Attenuation (Интенсивность/цвет/затухание) источника света; а — верхняя часть, б — нижняя
СОВЕТ
Рис. 13.5. Окно исключения объектов из воздействия источника светаРис. 13.5. Окно исключения объектов из воздействия источника светаРаботая над освещением, не забывайте, что в свойствах любого источника света можно указать, какие объекты он будет освещать, а какие нет. Для этого необходимо нажать кнопку Exclude (Исключить) в свитке настроек General Parameters (Общие параметры) и в открывшемся окне (рис. 13.5) выполнить необходимые настройки. Такая возможность нужна для того, чтобы рационально использовать ресурсы программы и не перегружать и без того сложный процесс визуализации. Исключение объектов из области воздействия источников света можно считать своего рода оптимизацией сцены.
Рис. 13.5. Окно исключения объектов из воздействия источника света
Рис. 13.5. Окно исключения объектов из воздействия источника света
Таким образом, выбор положения источников света в сцене — достаточно сложная задача. Неудачное расположение источников света может создать слишком темные участки в сцене, а сами объекты могут быть плохо видны из-за недостаточной освещенности или, наоборот, слишком яркого света. Поскольку каждая трехмерная сцена обладает своими уникальными геометрическими характеристиками, расположение источников будет разным для различных сцен. По этой причине трудно разработать определенные правила, следуя которым можно было бы оптимально осветить сцену. Несмотря на это, есть несколько общих советов, которым необходимо следовать, чтобы не испортить трехмерную композицию неумело установленным освещением.
Не стоит без реальной необходимости устанавливать значение яркости источников света больше или равным 1, так как из-за этого могут возникнуть засвеченные участки и нежелательные блики.
Следует помнить, что объекты, на которые сзади падает несильный свет, в финальном изображении кажутся немного более объемными.
При наличии в сцене нескольких источников света яркость в отдельно взятой точке равняется суммарной яркости всех источников в сцене,
Наличие большого количества источников света в сцене может вызвать множество хаотичных теней, которые будут лишними в визуализированном изображении.
Если вы желаете добиться фотографической реалистичности, то для визуализации сцепы лучше использовать специальные подключаемые фотореалистичные визуализаторы, которые по точности просчета па порядок выше стандартного модуля визуализации (Default Scanline Renderer).
Характеристики света и методы визуализации теней
Свет имеет три главные характеристики: яркость (Multiplier), цвет (Color) и отбрасываемые от освещенных им объектов тени (Shadows).
При расстановке источников света в сцепе, обязательно обратите внимание на их цвет. Источники дневного света имеют голубой оттенок, для создания же источника искусственного света нужно придать ему желтоватый цвет. Также следует принимать во внимание, что цвет источника, имитирующего уличный свет, зависит от времени суток. Если сюжет сцены подразумевает вечернее время, освещение может быть в красноватых оттенках летнего заката.
Различные визуализаторы предлагают свои алгоритмы формирования теней. Отбрасываемая от объекта тень может сказать о многом — как высоко он находится над землей, какова структура поверхности, на которую падает тень, каким источником освещен объект и т. д. Кроме этого, тень может подчеркнуть контраст между передним и задним планом, а также «выдать» объект, который не попал в поле зрения объектива виртуальной камеры. В зависимости от формы отбрасываемой
объектом тени, сцена может выглядеть реалистично (рис. 13.6) или не совсем правдоподобно (рис. 13.7).
Рис. 13.6. Объект с мягкими тенями
Рис. 13.7. Объект с резкими тенями
Как мы уже говорили выше, настоящий луч света претерпевает большое количество отражений и преломлений, поэтому реальные тени всегда имеют размытые
края. В трехмерной графике используется специальный термин, которым обозначают такие тени, — мягкие тени. Добиться мягких теней довольно сложно. Многие визуализаторы решают проблему мягких теней, добавляя в интерфейс 3ds Мах 8 неточечный источник света, имеющий прямоугольную или другую форму. Такой источник излучает свет не из одной точки, а из каждой точки поверхности. При этом чем больше площадь источника света, тем более мягкими получаются тени при визуализации.
Существуют разные подходы к визуализации теней — использование карты теней (Shadow Мар), трассировки (Raytraced) и глобального освещения (Global niumination). Рассмотрим их по порядку.
Использование карты теней позволяет получить размытые тени с нечеткими краями. Главная настройка Shadow Мар (Карта теней) — это размер карты теней (параметр Size (Размер) в свитке настроек Shadow Map Params (Параметры карты теней)) (рис. 13.8). Если размер карты уменьшить, четкость полученных теней также снизится.
| - '- Shadow Мар Params ' ]
Bias [ПГ ^Jsize.pW”
Sample Range [То
Г" Absolute Map Bias
Г" 2 Sided Shadows
Рис. 13.8. Свиток Shadow Map Params (Параметры карты теней) настроек источника света
Метод трассировки позволяет получить идеальные по форме тени, которые, однако, выглядят неестественно из-за своего резкого контура. Трассировкой называют отслеживание путей прохождения отдельных световых лучей от источника света до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах. Метод трассировки часто используется для визуализации сцен, в которых присутствуют зеркальные отражения.
Начиная с 3ds Мах 5, для получения мягких теней используется метод Area Shadows (Распределение теней), в основе которого лежит немного видоизмененный метод трассировки. Area Shadows (Распределение теней) позволяет просчитать тени от объекта так, как будто в сцене присутствует не один источник света, а группа равномерно распределенных в некоторой области точечных источников света.
Несмотря на то, что метод трассировки лучей точно воспроизводит мелкие детали сформированных теней, его нельзя считать идеальным решением для визуализации из-за того, что полученные тени имеют резкие очертания.
Метод глобального освещения (Radiosity) позволяет добиться мягких теней в финальном изображении. Этот метод является альтернативой трассировке освещения. Если трассировка визуализирует только те участки сцены, на которые попадают лучи света, то глобальное освещение просчитывает рассеиваемость света
и в неосвещенных или находящихся в тени участках сцены на основе анализа каждого пиксела изображения. При этом учитываются все отражения лучей света в сцене.
СОВЕТ
Глобальное освещение позволяет получить реалистичное изображение, однако процесс визуализации сильно нагружает рабочую станцию и к тому же требует много времени. Поэтому в некоторых случаях имеет смысл использовать систему освещения, имитирующую эффект рассеиваемого света. При этом источники света должны быть размещены таким образом, чтобы их положение совпадало с местами прямого попадания света. Такие источники не должны создавать теней и должны иметь небольшую яркость. При таком методе, безусловно, не получается настолько же реалистичное изображение, какое можно получить, используя настоящий метод глобального освещения. Однако в сценах, которые имеют простую геометрию, он вполне может пригодиться.
Существует несколько алгоритмов просчета глобального освещения, один из способов расчета отраженного света — фотонная трассировка (Photon Mapping). Этот метод подразумевает расчет глобального освещения, основанный на создании так называемой карты фотонов. Карта фотонов представляет собой информацию об освещенности сцены, собранную при помощи трассировки.
Преимущество метода фотонной трассировки заключается в том, что единожды сохраненные в виде карты фотонов результаты фотонной трассировки впоследствии могут использоваться для создания эффекта глобального освещения в сценах трехмерной анимации. Качество глобального освещения, просчитанное при помощи фотонной трассировки, зависит от количества фотонов, а также глубины трассировки. При помощи фотонной трассировки можно также просчитать эффект каустики (подробнее об эффекте каустики читайте в разд. «Общие сведения о визуализации в трехмерной графике» гл. 14).
Создание витражного окна
Практически в любом интерьере необходимо моделировать свет, проникающий снаружи через окно. Если стекло прозрачное, это сделать нетрудно, однако задача несколько усложняется, если в раме стоит цветное стекло. Примером такой сцены может служить витраж в средневековом соборе. Свет, попадающий через такое окно, отбрасывает разноцветные тени от цветных кусочков стекла, из которых оно состоит. Приведем простой пример моделирования такого витражного окна.
Прежде чем приступить к созданию объектов сцены, необходимо нарисовать в одном из редакторов растровой графики (например, в Adobe Photoshop) рисунок витражного стекла. Для этого можно использовать стандартный фильтр Photoshop под названием Stained Glass (Витраж), примененный к любому цветному изображению (рис. 13.9).
Рис. 13.9. Изображение, которое можно использовать для создания витражного стекла
ПРИМЕЧАНИЕ
Вы можете использовать изображение, которое находится на прилагаемом к книге компакт-диске в папке ch13/Textures. Файл называется vitrazh.jpg.
Начнем создание сцены с объекта Plane (Плоскость). Она будет играть роль пола, на который будет падать свет, проходя через витражное стекло. Перейдите к настройкам объекта и установите следующие значения параметров: Length (Длина) и Width (Ширина) - по 200, Length Sega (Количество сегментов по длине) и Width Segs (Количество сегментов по ширине) — по 4.
Как мы уже писали выше, в 3ds Мах имеется такой тип объектов, как Windows (Окна). С помощью этих объектов одним щелчком мыши можно создавать окна различной формы. Правильно подобрав материал, можно добиться того, что стекло в раме будет выглядеть как настоящее. Воспользуемся им для создания окна.
Перейдите на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выберите строку Windows (Окна), нажмите кнопку Fixed (Закрепленные). Не создавая объект в окне проекции, в свш ке Creation Method (Способ создания) установите переключатель в положение Width/Heigh t/Depth (Ширпна/высота/ глубина) (рис. 13.10). Благодаря этому объект будет создан параллельно плоскости. Создайте объект в окне проекции.
Создайте в окне проекции источник света mr Area Spot (Всенаправленный, используемый визуализатором mental ray) и разместите его таким образом, чтобы мишень источника света располагалась под плоскостью, а сам источник — над окном. При этом и мишень, и источник должны быть выровнены относительно объекта Fixed Windows (Закрепленные окна) по центру относительно осей X и Y (рис. 13.11).
^i^iei®Tii a c?* x ^ щ. h %[windows’ |
M- Obpdrype ~~j JAutoGiid Г
j *™S.J Cww^eJ i
[ Feed fiWWd C I P'Qjecied | Sting | i
11-Nais* and Catos|
j [FaedWindowOl
; E—^^ES^ZZJГ Writh/Deplh/He^H* Widlh/Heigho'Depth
ГAllow Non-vertieeMambi i
p Paramelm )
НвдНрИ:
WttMi-рЯ D«fh.pnr:j
a
r Frame' ”--———^
Нота. Widthtj
Vert. Width (П5^
Thickness. ^0.5;
p Glazing:-
Thickness 16 J5"
- Я«h and Panels: ■
WdhrOSЙ
« Panels Hottt p^j
«Parch Vet fl^
jv Chamfered Pidia
p Generate Mapping Coords f” AeabWadd Map Gize
6
Рис. 13.10. Настройки объекта Fixed Windows (Закрепленные окна): a — верхняя часть, б —- нижняя
Рис. 13.11. Расположение источника света mr Area Spot в сцене
ПРИМЕЧАНИЕ
Поскольку мы используем источник света mr Area Spot (Всенаправленный, используемый визуализатором mental ray), сцена будет просчитана интегрированным в 3ds Мах визуализатором mental ray (см. гл. 14).
Окно состоит из двух частей — рамы и стекла. Разделим эти объекты и назначим каждому из них свой материал. Для этого выделите объект Fixed Windows (Закрепленные окна) и примените к нему модификатор Edit Mesh (Редактирование поверхности). Раскройте строку Edit Mesh (Редактирование поверхности) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Element (Элемент) (рис. 13.12) и выделите стекло в раме.
viz&wiTi
^& га
Рис. 13.12. Режим редактирования Element (Элемент)
Перейдите в свиток Edit Geometry (Редактирование геометрических характеристик) и нажмите кнопку Detach (Отсоединить). В появившемся окне Detach (Отсоединить) введите имя нового объекта, например Стекло (рис. 13.13).
Рис. 13.13. Окно Detach (Отсоединить)
Теперь Вы можете работать с двумя независимыми объектами — рамой и стеклом. Создание материала для рамы в рамках этого урока мы рассматривать не будем, поскольку пас интересует моделирование витражного окна. Создадим материал для стекла.
Откройте Material Editor (Редактор материалов), выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов), и в пустой ячейке создайте новый материал на основе Standard (Стандартный). Назначьте этот материал объекту Стекло, перетащив его из ячейки материала на объект. Установите для него тип затенения Phong (По Фонгу). В свитке Shader Basic Parameters (Основные параметры затенения) установите флажок 2-Sided (Двухсторонний), чтобы материал был двухсторонним. В свитке Phong Basic Parameters (Основные параметры по Фонгу) задайте параметру Opacity (Непрозрачность) значение, равное 60, Specular Level (Уровень блеска) равным 99, Glossiness (Глянец) — 86, Soften (Размытость) — 0,1.
Перейдите к свитку Maps (Карты) настроек материала и в качестве карты Diffuse Color (Цвет диффузионного рассеивания) выберите Bitmap (Растровое изображение). В появившемся окне Select Bitmap Image File (Выбрать растровое изображение) укажите путь к созданному ранее графическому файлу с рисунком витража.
В списке Mapping (Тип проецирования) настроек растрового изображения выберите строку Planar From Object XYZ (Плоский от объекта XYZ) (рис. 13.14). Чтобы увидеть созданный материал в окис проекции (рис. 13.15), нажмите кнопку Show Мар in Viewport (Отобразить кар гу в окне проекций).
Вернитесь к настройкам основного материала. Щелкните на кнопке с названием карты Diffuse Color (Цвет диффузионного рассеивания) правой кнопкой мыши и выберите пункт Сору (Копировать), чтобы скопировать созданную карту. Щелкните на кнопке None (Нет) напротив Filter Color (Цвет фильтра) правой кнопкой мыши и выберите пункт Paste (Сору) (Вставить (копия)) или Paste (Instance) (Вставить (привязка)) (рис. 13.16). Теперь в качестве карты Filter Color (Цвет фильтра) будет назначена уже настроенная нами карта Bitmap (Растровое изображение).
Рис. 13.14. Настройки карты Bitmap (Растровое изображение)
Рис. 13.15. Отображение созданного материала в окне проекции
Рис. 13.16. Вставка созданной ранее карты
Теперь перейдем к настройкам освещения. Выделите объект mr Area Spot (Всенаправленный, используемый визуализатором mental ray) и перейдите на вкладку Modify (Изменение) командной панели. Чтобы в сцене визуализировались тени, установите в области Shadows (Тени) флажок Оп (Включить). Поскольку мы используем визуализатор mental ray, установим в качестве алгоритма просчета отбрасываемых теней mental ray Shadow Мар (Карта теней mental ray) (рис. 13.17).
Перейдите к свитку mental ray Shadow Мар (Карта теней mental ray) и в области Transparent Shadows (Прозрачные тени) установите флажок Enable (Задействовать). Проследите, чтобы был установлен флажок Color (Цвет). Если этот флажок не будет установлен, то тень, отбрасываемая цветным витражом, будет черно-белой.
Чтобы были видны лучи, создаваемые источником света mr Area Spot (Всенаправленный, используемый визуализатором mental ray) и проходящие сквозь стекло, естественно, можно добавить в сцену эффект Volume Light (Объемный свет). Это можно сделать двумя способами: в окне Environment and Effects (Окружение и эффекты) или непосредственно в настройках источника света mr Area Spot (Всенаправленный, используемый визуализатором mental ray).
- S hadows —- —— ■[7 On Г" Use Global Sellings- S hadows —- —— ■[7 On Г" Use Global Sellingsmental ray Shadow Map v | Adv. Я Tracedmental ray Shadow Map v | Adv. Я TracedArea Shadows Shadow Map Ray Traced Shadows Muttiplier: .11Area Shadows Shadow Map Ray Traced Shadows Muttiplier: .11- Decay—.- Decay—.Type: [NoneType: [None
- S hadows —- —— ■
[7 On Г" Use Global Sellings
- S hadows —- —— ■
[7 On Г" Use Global Sellings
mental ray Shadow Map v | Adv. Я Traced
mental ray Shadow Map v | Adv. Я Traced
Area Shadows Shadow Map Ray Traced Shadows Muttiplier: .11
Area Shadows Shadow Map Ray Traced Shadows Muttiplier: .11
- Decay—.
- Decay—.
Type: [None
Type: [None
Slat. p(5S ф Г Show
■ Near Attenuation ——
Г Use Slari.|0,0 ' :
Г Show End. 140.0
-FatAttenuation ■ —■—
Г UseГ UseГ” Show End: [535^3 l|Г” Show End: [535^3 l|4—-4—-Start: 100,6t]
Г Use
Г Use
Г” Show End: [535^3 l|
Г” Show End: [535^3 l|
4—-
4—-
Рис. 13.17. Выбор типа просчета теней mental ray Shadow Map (Карта теней mental ray)
Вызовите окно Environment and Effects (Окружение и эффекты), выполнив команду Rendering ► Environment (Визуализация ► Окружение) или нажав клавишу 8. Добавьте эффект при помощи кнопки Add (Добавить) в свитке Atmosphere (Атмосфера) и выберите в списке окна Add Atmospheric Effect (Добавить атмосферный эффект) эффект Volume Light (Объемный свет). Выделите строку Volume Light (Объемный свет) в свитке Atmosphere (Атмосфера) и задайте параметры этого эффекта. Чтобы программа могла просчитывать эффект, в его настройках необходимо указать, к какому источнику света будет применяться выбранный эффект (в нашей сцене это источник света mr Area Spot (Всенаправленный, используемый визу али- затором mental ray)). Нажмите кнопку Pick Light (Выбрать источник света) в свитке Volume Light Parameters (Параметры объемного света), после чего щелкните мышью на источнике света в окне проекции.
Чтобы добавить эффект объемного света, используя настройки источника света mr Area Spot (Всенаправленный, используемый визуализатором mental ray), в свитке настроек Atmospheres & Effects (Атмосфера и эффекты) нажмите кнопку Add (Добавить) и выберите эффект Volume Light (Объемный свет) в окне Add Atmosphere or Effect (Добавить эффект или атмосферное явление). Нажмите кнопку Setup (Настройка), чтобы получить доступ к настройкам эффекта.
ПРИМЕЧАНИЕ
В этом случае указывать источник света в настройках не нужно, так как он будет выбран автоматически.
В настройках эффекта Volume Light (Объемный свет) установите флажок Exponential (Изменять эффект по экспоненте) (рис, 13.18).
Рис. 13.18. Настройки эффекта Volume Light (Объемный свет)
Для получения красивого эффекта необходимо также установить правильные значения параметров Hotspot/Beam (Область луча) и Falloff/Field (Область затухания) в свитке Spotlight Parameters (Параметры мишени) настроек источника света mr Area Spot (Всенаправленный, используемый визуализатором mental ray). Область прохождения световых лучей должна быть выбрана такой, чтобы как можно меньшее количество света попадало мимо окна. В противном случае световая завеса объемного света не даст зрителю наблюдать цветные лучи, проходящие сквозь окно.
Можно переходить к просчету изображения. Для получения доступа к настройкам визуализации вызовите окно Render Scene (Визуализация сцены), выполнив команду Rendering ► Render (Визуализация » Визуализировать) или нажав клавишу F10. Установите mental ray в качестве визуализатора сцены. Для этого в свитке настроек Assign Renderer (Назначить визуализатор) щелкните на кнопке с изображением многоточия возле строки Production (Выполнение) и в открывшемся окне выберите mental ray.
Нажмите кнопку Render (Визуализировать), чтобы выполнить просчет. Полученное изображение будет выглядеть так, как показано на рис. 13.19.
Рис. 13.19. Свет, проходящий через витражное окно
ПРИМЕЧАНИЕ
Готовая сцена описанного примера находится на прилагаемом к книге компакт-диске в папке ch13\examples. Файл сцены называется vitrazh.max.
Съемка сцены
При создании анимационной сцены необходимо учитывать, что параметры объектов должны изменяться с течением времени.
В реальной жизни при видеосъемке положение точки, из которой ведется наблюдение, может изменяться. В 3ds Мах подобный эффект можно создать при помощи группы объектов Cameras (Камеры).
С помощью виртуальных камер создаются многие анимационные эффекты. Эти вспомогательные объекты предназначены для того, чтобы изменять положение точки съемки в виртуальном пространстве. Виртуальная камера выполняет ту же функцию, что и настоящая, — она фиксирует все то, что попадает в ее объектив. С помощью виртуальной камеры можно совершить прогулку по трехмерному дому, заглянув во все его комнаты, осмотреть трехмерный город с высоты птичьего полета и т. д. Причем если перемещение настоящей камеры ограничено техническими возможностями, то виртуальную камеру в трехмерной сцене можно поместить куда угодно и заставить ее двигаться в любом направлении.
Виртуальные камеры обладают всеми основными параметрами, которые присущи настоящим камерам. Так, например, для виртуальной камеры можно указать фокусное расстояние, установить свой тип линз и т. д.
Виртуальная камера, в отличие от настоящей, — это лишь вспомогательный объект, которого вы не увидите в трехмерной анимации. Даже если камера будет расположена напротив зеркального объекта, то в отражении ее не будет видно. При создании анимации можно использовать несколько камер и переключаться между ними. В отличие от реальных съемок, одна виртуальная камера никогда не попадет в объектив другой.
Камеры в 3ds Мах 8 бывают двух типов — Target (Направленная) и Free (Свободная). Камеры Target (Направленная) состоят из самой камеры, для которой можно задать направление действия. Направленные камеры удобно использовать в тех случаях, когда требуется привязать направление камеры к какому-нибудь объекту (например, когда необходимо проследить движение объекта вдоль некоторой траектории). Для направленной камеры можно также указать фокусное расстояние с помощью параметра Target Distance (Фокусное расстояние), что используется при создании эффекта глубины резкости, о котором читайте в разд. «Общие сведения о визуализации в трехмерной графике^ гл. 14.
Рис. 13.20. Настройки камеры Target (Направленная)
Чтобы анимационная сцена 3ds Мах 8 как можно больше походила на реально снятый материал, необходимо использовать возможность для включения вида из камеры. Для изменения вида щелкните правой кнопкой мыши в левом верхнем углу окна проекции и выполните команду Views ► Camera (Вид > Из камеры) (рис. 13.21).
Рис. 13.21. Включение вида из камеры
К достоинствам группы объектов Cameras (Камеры) можно отнести то, что направленную или свободную камеры можно легко анимировать, точно так же, как это делается с любым объектом 3ds Мах 8. В результате вы получите динамическую съемку, которая ведется из меняющейся точки.
Чтобы создать камеру в окне проекции, перейдите на вкладку Create (Создание) командной панели и в категории Cameras (Камеры) щелкните на кнопкеТагдеС(На- правленная камера) или Free (Свободная камера) (рис. 13.22).
Рис. 13.22. Категория Cameras (Камеры) вкладки Create (Создание)
if-:';' Object' Турё""^
, AiXdGiid Г
Targel | if Free
СОВЕТ
Для создания направленной камеры можно также использовать команду меню Create ► Cameras > Create Camera From View (Создание » Камеры ► Из вида) (рис. 13.23) или сочетание клавиш Ctri+C. Созданная камера будет иметь вид, аналогичный выбранному виду в окне проекции.
| Visws
Undo View Chenge5t#t+Z
ftedci View change . r, 5hft+¥ '--лЬё'. г
Save Active Perspective View
Restore Active Perspective View
Grids►
Viewport Background...Alt+a
Update Bectijround ImageAlt+Shift+CtTlFB
Reset Bacl-grduhd Transform • .
v Show Transform Gizmo
Show Gttosting
Show Key Times
Shade Selected
Show Dependencies
Create Camera From View CtrH-C
AddDefeuHIgMsioScenffyt" 7 ~
Redraw All Views
Activate All Maps
Deactivate All Maps
v Update During Spinner Drag
Adaptive Degradation0
Object Display CullingAlt+O
Expert ModeCtrH-X
Рис. 13.23. Выполнение команды Create ► Cameras ► Create Camera From View (Создание ► Камеры ► Из вида)
Объекты типа Cameras (Камеры) имеют те же характеристики, что и настоящие камеры — Lens (Размер фокусного расстояния) и Field of View (Поле зрения). Эти две характеристики связаны между собой, поэтому при изменении одного параметра второй изменяется автоматически, при этом чем больше фокусное расстояние камеры, тем меньше иоле зрения и наоборот.
Создание видеоэффектов. Модуль Video Post
Трехмерная анимация заметно упрощает реализацию многих спецэффектов. Например, хорошо всем известный эффект «Матрицы», когда камера медленно объезжает вокруг человека, замершего в прыжке, гораздо проще создать при помощи виртуальной камеры. Для реализации этого эффекта в фильме «Матрица» (The Matrix) использовалось большое количество камер, расположенных вокруг объекта съемки. Все они зафиксировали положение человека в один и тот же момент времени. Из этих кадров была создана анимация, имитирующая облет объекта.
В трехмерной анимации законы физики не действуют, поэтому для создания такого эффекта достаточно зафиксировать в прыжке трехмерную модель человека и задать плавное движение виртуальной камеры вокруг него.
Для движения камеры по кругу используется еще один распространенный прием трехмерной анимации — перемещение вдоль заданной траектории. Для его реализации рисуется кривая (для эффекта «Матрицы» — это окружность), которая описывает траекторию движения объекта (в данном случае — камеры), после чего объект «привязывается» к созданной кривой. После такой привязки камера может двигаться только вдоль указанной траектории.
В реальном мире при съемке фото- или видеокамерой быстро движущиеся объекты остаются на полученном изображении смазанными. Причем размытие изображения в конкретном кадре указывает на направление движения снятого объекта. Присутствие этого эффекта в трехмерной анимации делает ее более реалистичной.
Эффект смазанного движения (Motion Blur) позволяет создать в трехмерных анимированных сценах смазанный шлейф от быс тро движущихся объектов и отобразить их такими, какими они выглядят при реальных съемках. Возможность использования эффекта смазанного движения имеется в модуле просчета изображения, который используется в 3ds Мах 8. Кроме этого, на реальном видеоматериале часто можно заметить некоторые особенности, обусловленные конструкцией камеры. Это могут быть блики объектива, дрожание изображения и т, д. Используя специальный модуль просчета, кроме эффекта Motion Blur (Размытие движения), можно создать еще восемь эффектов, среди которых:
Lens Effects (Эффекты линзы);
Color Balance (Цветовой баланс);
Depth of Field (Глубина резкости);
Film Grain (Зернистость).
Чтобы использовать эффект, выполните команду Rendering * Environment (Визуализация ► Окружение) или нажмите клавишу 8. В окне Environment and Effects (Окружение и эффекты) перейдите на вкладку Effects (Эффекты) после чего, нажав кнопку Add (Добавить), выберите в появившемся окне один из эффектов (рис. 13.24).
Рис. 13.24. Список эффектов, которые можно добавить в сцену
Чтобы просчитанное трехмерное изображение как можно больше походило на настоящее, в 3ds Мах используется группа фильтров постобработки, с помощью которых в изображение можно добавить дополнительные эффекты.
ПРИ МЕЧ АНИЕ
Количество используемых фильтров постобработки может быть существенно расширено за счет подключения дополнительных модулей. Подробнее о них см. в гл. 15.
Lens Effects (Эффекты линзы)
При съемке изображения настоящей камерой можно получить видео, на котором в результате отражения лучей от объектива камеры присутствуют блики. При создании трехмерных анимационных сцен часто используются разнообразные фильтры, позволяющие получить такие блики. Это добавляет реалистичность и делает видео более похожим на настоящее. В 3ds Мах присутствует четыре фильтра группы Lens Effects (Эффекты линзы):
Lens Effects Flare (Эффекты линзы: блики) — имитирует отражающие блики на объективе камеры;
Lens Effects Focus (Эффекты линзы: фокус) — создает имитацию эффекта фокуса линзы (рис. 13.25);
Рис. 13.25. Применение фильтра Lens Effects Focus (Эффекты линзы: фокус) к изображению
Lens Effects Glow (Эффекты линзы: свечение) — создает светящийся ореол вокруг объектов (рис. 13.26);
Lens Effects Highlight (Эффекты линзы: подсветка) — позволяет получить сверкающие блики в изображении (рис. 13.27).
Рис. 13.26. Применение фильтра Lens Effects Glow (Эффекты линзы: свечение) к изображению
Рис. 13.27. Применение фильтра Lens Effects Highlight (Эффекты линзы: подсветка) к изображению
Simple Wipe (Простое вытеснение)
При всем разнообразии средств для обработки видео многие программы имеют схожие инструменты. Один из них — это эффект перехода (Transition Effect), который постоянно используется на телевидении при составлении видеоряда, и его, несомненно, видели все. Эффект перехода — это плавный переход от одного видеоклипа к другому, который может выглядеть как наезд одной картинки на другую, постепенное вытеснение и т. д. Эффект перехода может быть разным, а не только
иметь вид появляющейся из разных мест картинки. Например, первый клип может сворачиваться в самолетик и улетать, медленно «сгорать», оставляя изображение второго, разлетаться на куски и т. д. Кроме этого, такие переходы позволяют создавать всевозможные эффекты, например «картинка в картинке». Часто можно увидеть, как в выпуске новостей диктор рассказывает о событиях, а в это время в углу экрана телевизора идет видеоролик, иллюстрирующий данное событие — это и есть эффект «картинка в картинке». Эффекты перехода составляют 50% всех приемов, которые используются при видеомонтаже. Эффекты перехода применяются и в 3ds Мах.
Для их создания предназначен фильтр Simple Wipe (Простое вытеснение). Этот фильтр представляет собой простейший вариант эффекта перехода (рис. 13.28). Настройки фильтра позволяют задать направление эффекта.
Рис. 13.28. Применение фильтра Simple Wipe (Простое вытеснение) к изображению
Другие фильтры
Заслуживают внимания также следующие фильтры постобработки:
Contrast (Контрастность) — управляет яркостью и контрастностью изображения (рис. 13.29);
Fade (Затухание) — позволяет постепенно уменьшать или увеличивать яркость изображения;
Negative (Негатив) — инвертирует цветовую палитру текущего изображения, превращая его тем самым в негатив и смешивая его с исходным изображением (рис. 13.30). Величина, определяющая степень смешивания негатива и исходного изображения, устанавливается в настройках фильтра;
м Starfield (Звездное поле) — создает эффект звездного неба.
Рис. 13,29. Применение фильтра Contrast (Контрастность) к изображению
Рис. 13.30. Применение фильтра Negative (Негатив) к изображению
Применение эффектов постобработки
Чтобы воспользоваться описанными фильтрами, необходимо выполнить команду Rendering ► Video Post (Визуализация ► Постобработка), вызвав тем самым окно видеомонтажа Video Post (Постобработка) (рис. 13.31). Оно представляет собой рабочее пространство для создания видеоэффектов. В левой части окна в иерархической последовательности располагаются события и фильтры видеомонтажа, в правой — временная шкала, под которой устанавливается продолжительность того или иного события или эффекта.
Рис. 13.31. Окно Video Post (Постобработка)
Чтобы использовать какой-нибудь фильтр постобработки, необходимо построить простейшую цепочку видеомонтажа. Первым звеном этой цепочки должно быть событие сцены. Нажмите кнопку Add Scene Event (Добавить событие сцены). В раскрывающемся списке появившегося окна выберите вид Perspective (Перспектива) (рис. 13.32),
Рис. 13.32. Окно Add Scene Event (Добавить событие сцены)
Вторым звеном в простейшей цепочке видеомонтажа будет фильтр. В окне Video Post (Постобработка) нажмите кнопку Add Image Filter Event (Добавить событие фильтра изображения) и в раскрывающемся списке появившегося окна выберите один из фильтров видеомонтажа (рис. 13.33). После выбора типа фильтра необходимо установить его настройки. Нажмите кнопку Setup (Настройка) для вызова окна настроек фильтра.
Рис. 13.33. Выбор фильтра видеомонтажа в окне Add Image Filter Event (Добавить событие фильтра изображения)
Поскольку у каждого фильтра свой принцип работы, то и настройки у них различаются. После определения настроек фильтра вернитесь к окну Video Post ( Постобработка) и добавьте последнее звено в цепочку видеомонтажа, нажав кнопку Add Image Output Event (Добавить событие выходного изображения). В открывшемся окне (рис. 13.34) задайте имя файла, выберите формат, в котором он будет сохранен, и укажите папку для сохранения на диске.
Вернитесь к окну Video Post (Постобработка) и нажмите кнопку Execute Sequence (Выполнить последовательность). В открывшемся окне Execute Video Post (Выполнить постобработку) (рис. 13.35) выберите количество кадров для визуализации (для анимированной сцены) или установите переключатель в положение Single (Один) (если нужно визуализировать только один кадр). При установке переключателя в положение Single (Один) следует также указать номер кадра. По умолчанию будет просчитан первый кадр. Нажмите кнопку Render (Визуализировать).
Визуализировать сцену при использовании эффектов постобработки нужно только с помощью окна Video Post (Постобработка). Если сделать это в окне Render (Визуализация) или нажав клавишу F9, то действие фильтра видно не будет.
Рис. 13.34. Окно Add Image Output Event (Добавить событие выходного изображения)
Рис. 13.35. Окно Execute Video Post (Выполнить постобработку)
Звездная пыль
Количество эффектов, созданных с помощью трехмерной графики, ограничивается только фантазией разработчика. Особенно интересные и разнообразные эффекты
можно создать с использованием фильтров постобработки. Рассмотрим один из таких эффектов.
Для создания эффекта звездной пыли будем использовать источник частиц Spray (Брызги). Перейдите на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выберите строку Particle Systems (Системы частиц), нажмите кнопку Spray (Брызги) и создайте объект. Передвиньте ползунок анимации примерно на 40 кадр, чтобы видеть частицы. В окне проекции Front (Спереди) при помощи инструмента Move (Переместить) переместите источник частиц вверх (рис. 13.36).
Рис. 13.36. Источник частиц в окнах проекций
Перейдите к настройкам объекта и установите значения параметров Viewpoint Count (Количество частиц в окнах проекций) и Render Count (Количество частиц при визуализации) равными 200, Speed (Скорость) — 6, Variation (Изменчивость) — 2,8. В области Timing (Время существования) установите значение параметра Life (Жизнь) равным 65.
Правой кнопкой мыши щелкните на выделенном объекте и в контекстном меню выберите строку Properties (Свойства). В открывшемся окне установите значение параметра Object ID (Идентификатор объекта) равным 1(рис. 13.37). Это нам понадобится на этапе работы с модулем Video Post.
Откройте окно видеомонтажа Video Post (Постобработка), выполнив команду Rendering ► Video Post (Визуализация ► Постобработка). Нажмите кнопку Add Scene
Event (Добавить событие сцены). Появится одноименное окно. В раскрывающемся списке выберите вид, который вы хотите использовать. В данном случае лучше указать Perspective (Перспектива).
Рис, 13,37. Окно Object Properties (Свойства объекта)
Вернитесь к окну Video Post (Постобработка), нажмите кнопку Add Image Filter Event (Добавить событие фильтра изображения) и в раскрывающемся списке появившегося окна выберите Lens Effects Glow (Эффекты линзы: свечение). Нажмите кнопку Setup (Настройка). В открывшемся окне на вкладке Properties (Свойства) установите флажок Object ID (Идентификатор объекта) и укажите значение данного параметра равным 1. На вкладке Preferences (Настройки) в области Effect (Эффект) установите значение параметра Size (Размер) равным 5. В области Color (Цвет) установите переключатель в положение User (Пользовательский) и выберите цвет эффекта.
Опять вернитесь к окну Video Post (Постобработка), нажмите кнопку Add Image Filter Event (Добавить событие фильтра изображения). Появится одноименное окно. В раскрывающемся списке выберите Lens Effects Highlight (Эффекты линзы: подсветка) (рис. 13.38).
Рис. 13.38. Выбор эффекта Lens Effects Highlight (Эффекты линзы: подсветка)
Нажмите кнопку Setup (Настройка). На вкладке Properties (Свойства) открывшегося окна Lens Effects Highlight (Эффекты линзы: подсветка) установите флажок Object ID (Идентификатор объекта) и укажите значение данного параметра равным I. На вкладке Geometry (Геометрия) проверьте, нажата ли кнопка Size (Размер) (по умолчанию она нажата), и в области Rotate (Вращение) нажмите кнопку Distance (Расстояние). На вкладке Preferences (Настройки) в области Effect (Эффект) установите значение параметра Size (Размер) равным 9, a Points (Точки) — 6 (рис. 13.39). В области Color (Цвет) установите переключатель в положение User (Пользовательский) и выберите цвет эффекта. Лучше всего, если он будет того же тона, что и эффект Lens Effects Glow (Эффекты линзы: свечение), но немного светлее.
Вернитесь к окну Video Post (Постобработка) и нажмите кнопку Add Image Output Event (Добавить событие выходного изображения). В открывшемся окне задайте имя файла, выберите формат, в котором он будет сохранен, и укажите папку для сохранения на диске (рис. 13.40),
Вернитесь к окну Video Post (Постобработка) и нажмите кнопку Execute Sequence (Выполнить последовательность). В открывшемся окне Execute Video Post (Выполнить постобработку) установите переключатель в положение Single (Один) и укажите номер кадра. Поскольку в первом кадре частицы не будут видны, лучше всего установить кадр в диапазоне 30-40. Нажмите кнопку Render (Визуализировать), В результате вы получите эффект звездной пыли (рис. 13.41).
Попробуйте изменить номер кадра или же создать анимацию, чтобы понаблюдать, как эффект будет изменяться.
Рис. 13.39. Настройки эффекта Lens Effects Highlight (Эффекты линзы: подсветка)
Рис. 13.40. Окно Add Image Output Event (Добавить событие выходного изображения)
Рис. 13.41. Эффект звездной пыли
ПРИМЕЧАНИЕ
Готовая сцена с эффектом звездной пыли находится на прилагаемом к книге компактдиске в папке ch13\examples. Файл сцены называется zvezdnaya_pyl.max.
Глава 14
Визуализация готовой сцены
Общие сведения о визуализации в трехмерной графике
Настройки визуализации в 3ds Мах 8
Визуализатор mental ray 3.4
Визуализация при помощи командной строки
Визуализация в текстуру
Интерактивная визуализация
Совмещение трехмерной графики и видеоизображений
Основные принципы создания реалистичного трехмерного изображения
Общие сведения о визуализации в трехмерной графике
Визуализация — это последний, а значит, самый ответственный этап создания трехмерного проекта. Неудачно выполненная визуализация может свести па нет все многодневные усилия по моделированию, освещению и текстурированию сцены. Если сравнивать работу в 3ds Мах 8 с видеосъемкой, то важность правильного выбора настроек визуализатора можно сопоставить с важностью выбора пленки, на которой снимается материал. Точно так же, как на двух пленках разных фирм могут получаться яркий и блеклый снимки, результат работы аниматора может быть красивым или посредственным в зависимости от того, какой алгоритм просчета изображения выбран. Именно поэтому визуализации уделяется особое внимание.
Визуализация трехмерной сцены может иметь множество решений, поэтому, помимо стандартного алгоритма просчета, существует множество альтернативных визуализаторов. После просчета трехмерной сцены становятся видны такие свойства материалов, как отражение, преломление света и др. Если требуется добиться высокой степени реалистичности, то в качестве алгоритма просчета следует использовать альтернативные визуализаторы.
На продолжительность процесса просчета трехмерной сцены влияет множество факторов, среди которых — количество используемых в сцене источников освещения, способ визуализации теней, сложность полигональной структуры объектов и т. д.
В программу 3ds Мах 8 интегрирован визуализатор mental ray 3.4, который позволяет имитировать все основные визуальные эффекты — эффект каустики (Caustics), подповерхностного рассеивания (Sub-Surface Scattering) и глубины резкости (Depth of Field), Рассмотрим их подробнее.
Эффект каустики
Среди большого количества работ профессиональных создателей трехмерной графики наибольший интерес всегда вызывают те, в которых изображены стеклянные предметы. Самые известные производители трехмерных редакторов и дополнений к ним показывают возможности своих продуктов, производительность визуализаторов на примере кар тинок с большим количеством отражений и преломления лучей света.
Чтобы созданный трехмерный стеклянный объект выглядел реалистичным, над ним нужно очень долго работать. Вручную подбирать настройки визуализатора очень трудно, ведь для просчета каждого варианта потребуется довольно много времени. По этой причине, кроме большого желания и художественного вкуса, для создания реалистичного стекла вам понадобятся элементарные знания физики, в частности о коэффициенте преломления.
Коэффициент преломления напрямую зависит от типа материала: для стекла он имеет одно значение, для бриллианта (например, вы решили смоделировать кольцо с бриллиантом) — совсем другое. Таблицу со значениями коэффициента
преломления можно найти в любом справочнике по физике. Приведем краткую таблицу для основных сред (табл. 14.1).
Таблица 14.1. Коэффициенты преломления для различных сред
Среда
Значение
Алмаз
2,42
Вода
1,33
Глицерин
1,47
Лед
1,31
Масло оливковое
1,46
Сахар
1,56
Слюда
1,56-1,60
Спирт этиловый
1.36
Стекло
1,5-2
Топаз
1,63
Знаком ли вам термин каустика? Уверены, что само явление вы наблюдали неоднократно, однако не все знают его название. Этим термином называются блики света на поверхностях, полученные вследствие прохождения света через прозрачную среду. Например, солнечный зайчик от стакана с водой. Каустика бывает двух видов: рефрактивная (полученная путем преломления) и рефлективная (полученная путем отражения). Каустикой можно также считать идеально преломленный (отраженный) свет.
Стандартный алгоритм просчета изображения в 3ds Мах 8 не учитывает каустику, что наряду с невозможностью корректного просчета теней является его главным недостатком. Как мы уже говорили в предыдущей главе, проблема просчета теней решается при помощи метода г л обильного освещения, который присутствует во всех альтернативных визуализаторах.
Внешние визуализаторы могут предложить и решения для просчета каустики. Нужно отметить, что механизм просчета этого эффекта во всех визуализаторах один и тот же. Для имитации каустики программы используют алгоритм фотонной трассировки, о котором также шла речь в предыдущей главе (см. разд. «Характеристики света и методы визуализации теней» гл. 13). Все присутствующие в трехмерной сцене источники света начинают испускать частицы. Визуализатор прослеживает путь таких частиц, выделяет области поверхности, ыа которые попадают фотоны, и на основе этого создает эффект каустики.
Качество получаемого эффекта каустики зависит от многих настроек. В частности, нужно учитывать количество фотонов, глубину трассировки, расстояние от поверхности до источника света, на котором анализируются фотоны, и т. д. Однако во многих случаях имеет смысл использовать те настройки, которые установлены для просчета эффекта Каустики в визуализаторах по умолчанию, так как большая часть значений параметров подходит для любой сцены.
ПРИМЕЧАНИЕ
Подробнее о создании эффекта каустики средствами визуализатора mental ray читайте ниже в этой главе.
Эффект подповерхностного рассеивания
Любой материал, существующий в природе, можно описать большим количеством параметров, характеризующих фактуру объекта. Большую часть этих параметров можно увидеть в окне Material Editor (Редактор материалов). С помощью этих настроек вы можете сделать поверхность объекта неровной, прозрачной, подсвечивающейся, зеркальной и т. д. Несмотря на обилие настроек в Material Editor (Редактор материалов), некоторые материалы создать в 3ds Мах 8 довольно сложно.
Одним из таких материалов является просвечивающийся. Примеров использования такого материала можно привести много — восковая свеча, тонкие занавески, абажур торшера и даже человеческое ухо. Для имитации этого материала стандартными средствами используется способ затенения Translucent (Просвечивающийся). Лучи света, попадающие на такой материал, помимо преломления и отражения, рассеиваются в самом материале. Эту особенность материала трудно воссоздать даже с помощью этого способа затенения. Основная проблема заключается в том, что Translucent (Просвечивающейся) лишь имитирует данное свойство материала, при этом не всегда правильно отражает физику процесса. Например, настройками этого способа затенения трудно задать глубину распространения света.
Создание просвечивающегося материала часто называют эффектом подповерхностного рассеивания. Он присутствует почти во всех подключаемых визуализаторах.
При создании трехмерной сцены с эффектом подповерхностного рассеивания необходимо придерживаться некоторых правил, которые позволяют получить красивое изображение, демонстрирующее этот эффект.
Эффс кт под по верхи ост н ого рас сси в а н ия наибол ее зам етен и а тех у частках тр ех - мерной модели, где она имеет наименьшую толщину. Например, при визуализации горящей свечи эффект будет лучше всего виден в той области, где пламя свечи образовало воронку расплавленного воска.
Чтобы вы могли наблюдать эффект подповерхностного рассеивания, лучи света, рассеивающиеся в объеме материала, должны попадать па трехмерный объект с обратной стороны относительно точки визуализации.
При создании таких объектов, как кожа или воск, использование эффекта подповерхностного рассеивания обязательно. Даже если визуализация проходит с такой точки, что эффект почти незаметен, его отсутствие сделает объект неестественным.
ПРИМЕЧАНИЕ
Подробнее о создании эффекта подповерхностного рассеивания средствами визуализатора mental ray читайте ниже в этой главе.
Эффект глубины резкости
Большую часть работ, созданных с использованием трехмерной графики, можно условно разделить на две части — нефотореалистичные и фотореалистичные. К первым относятся, например, телевизионные заставки, двухмерная анимация, трехмерные логотипы и т. д. К реалистичным работам можно отнести интерьеры, природные ландшафты, моделирование человека и др. Понятно, что удачного не- фотореалисппного изображения добиться гораздо проще, чем реалистичного. Для этого используют специальные визуализаторы, нефотореалиСтштые способы затенения, текстуры с низкими разрешениями, модели с малым количеством полигонов и т. д.
При создании реалистичного изображения все гораздо сложнее. Иногда бывает так, что и модель хорошая, и текстуры идеально подобраны, и источники света расставлены правильно, и визуализатор точно просчитывает освещенность, а сцена все равно выглядит неестественно. Например, требуется визуализировать сцену, в которой крупным планом снимается какое-нибудь насекомое, допустим муха на столе. Если на картинке будут одинаково четко прорисованы все объекты, расположенные на столе, включая муху, вилки, ложки, стаканы и т. д., то такое изображение не будет выглядеть реалистично. Причина кроется в том, что в визуализированном изображении не хватает эффекта глубины резкости. Если бы подобная сцена существовала в действительности и съемка велась не виртуальной, а настоящей камерой, то в фокусе был бы только главный объект — муха. Все, что находится на расстоянии от нее, выглядело бы размытым.
Эффект глубины резкости часто используется, когда ведется макросъемка. Изображение, в котором сфокусирована резкость, привлекает внимание зрителя. Эффект глубины резкости можно использовать и при анимации, когда в объектив камеры попадает то, что видит персонаж. В этом случае можно фокусировать взгляд персонажа то на одном, то на другом объекте.
Все современные программы для работы с трехмерной графикой располагают средствами для создания эффекта глубины резкости. Поскольку просчет этого эффекта напрямую связан с алгоритмом визуализации, то большая часть параметров, относящихся к эффекту глубины резкости, располагается в настройках визу- ализ агора.
Для реализации эффекта глубины резкости используется виртуальная камера, которую необходимо добавить в сцеиу.
ПРИМЕЧАНИЕ
Любую трехмерную сцену можно визуализировать из вида окна проекции или через виртуальную камеру. Первый вариант трехмерной «съемки» подходит только для просчета статической картинки. Если же требуется воссоздать анимацию, го для этой цели лучше использовать виртуальную камеру. Приведем простой пример. Допустим, требуется создать видеоролик, демонстрирующий прогулку по трехмерному дому. Использовать для этого визуализацию из окна проекции неудобно. Чтобы преобразовывался вид в визуализируемом окне, необходимо многократно изменять позиции
всех объектов относительно точки, из которой происходит визуализация, и устанавливать для каждой последующей позиции ключевой кадр, что займет много времени и сил. Если добавить в созданный проект дополнительный объект (виртуальную камеру), эта задача может быть решена очень быстро. Установив для виртуальной камеры несколько ключевых положений для различных значений времени, вы зададите характер ее движения. После этого сцену можно будет визуализировать через ее объектив, отсняв требуемую анимацию.
Видеоматериал, отснятый реальной камерой, имеет особенности, связанные с ее конструкцией. Чтобы изображение, полученное в трехмерном редакторе в результате визуализации, выглядело как можно более правдоподобно, необходимо использовать виртуальную камеру, многие параметры которой совпадают с настройками настоящих камер.
Одна из главных настроек настоящей камеры — апертура (Aperture). Апертурой называют величину отверстия в камере, через которое свет проникает на пленку или светочувствительный датчик. Многие камеры позволяют регулировать количество света, проникающего внутрь, изменяя диаметр апертуры. Величина апертуры измеряется в числах диафрагмы (f-Stop). При этом следует иметь в виду, что большему числу диафрагмы соответствует меньшая апертура. Еще одна важная характеристика камеры — фокусное расстояние от объектива до точки сведения преломленных лучей. Чем длиннее фокусное расстояние объектива, тем меньший угол зрения в просчитанном изображении.
ПРИМЕЧАНИЕ
Подробнее о создании эффекта глубины резкости средствами аизуализатора mental ray читайте ниже в этой главе.
Настройки визуализации в 3ds Мах 8
Прежде чем запустить просчет трехмерной сцены, необходимо указать настройки визуализации, а также параметры выходного файла. Основные настройки визуализации устанавливаются в окне Render Scene (Визуализация сцены) (рис. 14.1). Для его вызова необходимо выполнить команду Rendering ► Render (Визуализация ► Визуализировать) или воспользоваться клавишей F10.
В области Render Output (Выходные настройки визуализатора) этого окна можно указать тип сохраняемого файла (анимация, связанная последовательность графических файлов или статическое изображение). Здесь же определяется расположение и название выходного файла. Диапазон кадров, которые нужно визуализировать, задается в области Time Output (Выходные настройки диапазона). Вы можете визуализировать Single (Текущий кадр), Range (Диапазон кадров) или, установив переключатель в положение Frames (Кадры), указать номера вручную. Окно Render Scene (Визуализация сцены) содержит большое количество предварительных установок, задающих разрешение выходного файла. Эти параметры размешены в области Output Size (Выходные настройки размера файла).
Рис. 14.1. Окно Render Scene (Визуализация сцены)
Если установить флажки Atmospherics (Атмосферные явления) и Effects (Эффекты) в области Options (Настройки), то программа будет просчитывать эти эффекты в сцене. Установка флажка Force 2-Sided (Двухсторонняя сила) позволяет отображать все материалы как двухсторонние. Это важно, когда в сцене присутствуют объекты, стороны которых выглядят по-разному.
Иногда визуализация может занять очень много времени — от нескольких часов до нескольких дней и даже недель. При этом пользователь не всегда может находиться за компьютером и следить за процессом визуализации. Именно поэтому в 3ds Мах 8 предусмотрена возможность отправки сообщения о результатах визуализации по электронной почте. В свитке настроек Email Notifications (Сообщения по электронной почте) (рис. 14.2) можно указать параметры почтового соединения, а также события, при которых программа будет отсылать письмо: Notify Completion (Завершение работы), Notify Failures (Сообщение об ошибке) или Notify Progress Every Nth Frame (Завершение визуализации кадра). При выборе последнего варианта сообщение будет высылаться с указанной частотой, например при завершении визуализации каждого второго кадра.
Рис. 14.2. Свиток настроек Email Notifications (Сообщения по электронной почте} окна Render Scene (Визуализация сцены)
Чтобы запустить просчет, в окне Render Scene (Визуализация сцены) необходимо нажать кнопку Render (Визуализировать). После начала визуализации на экране появятся два окна. В первом — Rendering (Визуализация) — будет отображаться строка состояния, отражающая процесс просчета изображения, а также подробная информация о том, какое количество объектов содержится в сцене, сколько памяти расходуется на просчет текущего кадра (рис. 14.3). В этом окне также отображается предполагаемое время до окончания визуализации. Второе окно — Virtual Frame Buffer (Виртуальный буфер) — будет содержать изображение визуализируемой сцены.
Рис. 14.3. Окно Rendering (Визуализация)
СО ВЕТ
Для быстрой визуализации с настройками, заданными по умолчанию, используйте клавишу F9.
Визуализатор mental ray 3.4
Начиная с шестой версии 3ds Мах, в программу интегрирован фотореалистичный визуализатор mental ray. Это не стало неожиданным нововведением, так как собственный визуализатор просчета сцен в 3ds Мах уже давно перестал удовлетворять требованиям создателей трехмерной графики. От версии к версии разработчики компании Autodesk пытались внести изменения в алгоритм визуализации изображения, однако их старания не увенчались успехом. Доказательством могут служить многочисленные работы дизайнеров трехмерной графики, выполненные с использованием подключаемых визуализаторов —■ Brazil, finaiRender Stage-1, VRay и др.
ПРИМЕЧАНИЕ
Подробнее о подключаемых модулях для визуализации читайте в разд. «Дополнительные модули для визуализации» гл. 15.
Таким образом, начиная с шестой версии 3ds Мах, к проблеме реалистичной визуализации был применен кардинально новый подход. Выбор разработчиков 3ds Мах пал на продукт компании Mental Images,
Чтобы использовать mental ray для визуализации, необходимо выполнить команду Rendering ► Render (Визуализация ► Визуализировать) и в свитке настроек Assign Renderer (Назначить визуализатор) щелкнуть на кнопке с изображением многоточия возле строки Production (Выполнение). В открывшемся списке следует выбрать mental ray Renderer.
Окно Render Scene (Визуализация сцены) стандартного визуализатора содержит пять вкладок: Common (Стандартные настройки), Renderer (Визуализатор), Render Elements (Компоненты визуализации), Raytracer (Трассировщик), Advanced Lighting (Дополнительное освещение) (см. рис. 14.1).
Если выбрать mental ray 3.4 в качестве текущего визуализатора, то вкладки окна Render Scene (Визуализация сцены) изменят свое название. Вместо Raytracer (Трассировщик) и Advanced Lighting (Дополнительное освещение) появятся вкладки Processing (Обработка) и Indirect Illumination (Непрямое освещение) (рис. 14.4). Свиток Caustics and Global Illumination (GI) (Каустика и общее освещение) последней вкладки содержит настройки каустики и параметры, относящиеся к просчету рассеивания света.
С появлением mental ray в 3ds Мах добавились источники света mr Area Omni (Направленный, используемый визуализатором mental ray) и mr Area Spot (Всенаправленный, используемый визуализатором mental ray) (рис. 14.5). Эти источники света рекомендуется использовать в сценах для корректного просчета визуализатором.
Однако mental ray достаточно хорошо визуализирует освещенность сцены и со стандартными источи иками света.
Рис. 14.4. Вид окна Render Scene (Визуализация сцены) после выбора mental ray 3.4 в качестве текущего визуали затора сцены
Рис. 14.5. Стандартные источники света 3ds Мах 8
В качестве карты теней для фотореалистичного визуализатора можно использовать Ray Traced Shadows (Тени, полученные в результате трассировки) и собственную карту теней mental ray Shadow Мар (Карта теней mental ray). В первом случае просчет будет идти трассировщиком лучей mental ray. Стандартная карта теней Shadow Мар (Карта теней) при просчете этим визуализатором показывает заметно худшие результаты, поэтому использовать ее нецелесообразно.
Для реалистичной визуализации текстур mental ray, как и другие внешние визуа- лизаторы, использует свой материал. Редактор материалов содержит семь новых типов, обозначенных желтым кружком: mental ray, DGS Materail (physics_then), Glass (physics_then) (Стекло), SSS Fast Material (mi), SS5 Fast Skin Material (mi), SSS Fast Skin Mate ri a L+ Dis place (mi) и SSS Physical Material (mi) (рис. 14.6).
Рис. 14.6. Материалы, добавленные визуализатором mental ray 3.4
Первый тип материала — mental ray — состоит из типа затенения Surface (Поверхность) и девяти дополнительных способов затенения, определяющих характеристики материала.
Материал DGS Materail (physics_then) управляет цветом рассеиваемых лучей — параметр Diffuse (Рассеивание), формой блика — Glossy (Глянец) и силой отблеска — Specular (Блеск).
Тип Glass (physics_then) (Стекло) позволяет управлять основными настройками материала типа Glass (Стекло).
Остальные четыре материала, название которых начинается с SSS, предназначены для сцен, в которых необходимо использовать эффект подповерхностного рассеивания (Sub-Surface Scattering). При помощи этих материалов можно быстро создать реалистичное изображение кожи и других органических субстанций.
Обратите внимание, что увидеть эти материалы вы сможете лишь тогда, когда выберете в качестве текущего визуализатора mental ray. Данные материалы настраиваются при помощи типов затенения, которые схожи со стандартными процедурными картами 3ds Мах 8. Понятие «тип затенения* для визуализатора mental ray имеет несколько иное значение, чем процедурная карта для стандартного модуля визуализации. Тип затенения для mental ray определяет не только поведение отраженных от предмета лучей, но и сам алгоритм визуализации изображения.
Материал mental ray имеет свой набор дополнительных типов затенения, с которыми можно работать точно так же, как со стандартными процедурными картами 3ds Мах 8. В Material/Map Browser (Окно выбора материалов и карт) типы затенения mental ray обозначены желтыми пиктограммами. Список типов затенения в окне Material/Map Browser (Окно выбора материалов и карт) может быть различным — все зависит от того, для какого параметра назначается тип затенения. Например, если попытаться назначить способ затенения в качестве параметра Contour (Контур) материала mental ray, будет доступно девять типов затенения. Если же назначать способ затенения в качестве параметра Bump (Рельеф), то можно увидеть только три доступных типа затенения.
ВНИМАНИЕ
Когда вы используете стандартный или любой другой визуалиэатор, кроме mental ray 3.4, типы затенения визуализатора обычно отображаются а окне Material Editor (Редактор материалов) в виде темных и светлых пятен или вообще не отображаются. Если же применяется mental ray 3.4, в сцене будет корректно показано, а затем и визуализировано большинство стандартных материалов и текстурных карт 3ds Мах 8.
Визуалиэатор mental ray имеет достаточно большое количество настроек и позволяет получать довольно хорошие результаты при визуализации (рис. 14.7).
Материал mental ray имеет следующие возможности:
создание эффектов раз мытого движения и глубины резкости;
детальная прорисовка карты смещения (Displacement);
распределенная визуализация (Distributed Rendering);
использование типов Camera Shaders (Затенение камеры) для получения Lens Effect (Эффект линзы) и прочих эффектов;
создание «рисованного», нефотореалистичного изображения при помощи параметра Contour Shaders (Затенение контура).
Рис. 14.7. Изображение, визуализированное при помощи mental ray 3.4
Визуализатор mental ray 3.4, альтернативный стандартному алгоритму просчета изображения, обеспечивает высокую скорость просчета отражений и преломлений, а также позволяет получить фотореалистичное изображение с учетом физических свойств света. Как и во всех фотореалистичных визуализаторах, подключаемых к 3ds Мах 8, в mental ray 3.4 используется фотонный анализ сцены. Источник света, расположенный в трехмерной сцене, излучает фотоны, обладающие определенной энергией. Попадая на поверхности трехмерных объектов, фотоны отскакивают с меньшей энергией. Визуализатор mental ray 3.4 собирает информацию о количестве фотонов в каждой точке пространства, суммирует энергию и на основании этого просчитывает освещенность сцены. Большое количество фотонов позволяет получить наиболее точную картину освещенности. Метод фотонной трассировки применяется как для создания эффекта глобального освещения, так и для просчета эффектов рефлективной и рефрактивной каустики (см. выше).
Основная проблема просчета глобального освещения и каустики состоит в оптимиза- щш вычислений. Есть большое количество способов оптим нзировать процесс просчета и ускорить время визуализации. Например, в настройках mental ray 3.4 можно указать максимальное количество просчитываемых отражений и преломлений, а также определить, какие объекты из присутствующих в сцене будут использоваться для генерации и приема глобального освещения и каустики. Чтобы указать, будет ли объект учитываться при просчете этих эффектов, щелкните на нем правой кнопкой мыши и выберите в Контекстном меню строку Properties (Свойства) (рис. 14.8).
В окне Object Properties (Свойства объекта) перейдите на вкладку mental ray (рис. 14.9) и определите свойства объекта, установив необходимые флажки из следующих:
Generate Caustics (Генерировать каустику);
Receive Caustics (Принимать каустику);
Generate Global Illumination (Генерировать общее освещение);
Receive Global Illumination (Принимать общее освещение).
Isolate Selection
Unfreeze AH
Freeze Selection
Unhide by Name
Unhide All
Hide Unselected
Hide Selection
Save Scene State
Manage Scene States
MoveП
Rotate□
Scale□
Select
Qone
Dope Sheet Wire Parameters
Convert To:►
Рис. 14.8. Переход к свойствам объекта при помощи контекстного меню
Рис. 14.9. Вкладка mental ray диалогового окна Object Properties (Свойства объекта)
Создание эффекта рефрактивной каустики средствами визуализатора mental ray 3.4
В этом разделе подберем настройки для получения рефрактивной каустики (то есть каустики, полученной путем преломления) при помощи визуализатора mental ray.
Откройте файл caustics .max, который находится на прилагаемом к книге компакт-диске в папкеchl4 /examples.
Эта сцена содержит модель яблока, расположенную на плоскости, В сцене также присутствуют два источника света — направленный, с помощью которого будет создаваться эффект каустики, и вспомогательный, который подсвечивает объект со стороны.
Яблоко будет стеклянным, так как стекло является материалом, который преломляет свет, поэтому на нем будет особенно хорошо виден эффект рефрактивной каустики. Иаша задача — определить настройки освещения в сцене, создать стеклянный материал для объекта и подобрать настройки визуализатора mental ray.
Сначала попробуйте визуализировать имеющуюся сцену, нажав клавишу F9. Эффектов не будет видно, так как яблоко имеет неподходящий материал и сцена просчитывается при помощи стандартного визуализатора.
Материал для яблока
Откройте окно Material Editor (Редактор материалов), выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов) или нажав клавишу М, и в пустой ячейке создайте новый материал на основе типа Standard (Стандартный). Он установлен но умолчанию, в чем можно убедиться, посмотрев на кнопку выбора материала: на ней обозначено название материала Standard (Стандартный).
Установите для материала тип затенения Blinn (По Блипну). В свитке настроек Shader Basic Parameters (Основные параметры затенения) установите флажок 2-Sided (Двухсторонний), чтобы материал был двухсторонним.
В свитке Blinn Basic Parameters (Основные параметры по Блинну) задайте параметру Specular Level (Уровень блеска) значение, равное 93, Glossiness (Глянец) - 40, Soften (Размытость) — 0,1, Opacity (Непрозрачность) — 100 (рис. 14.10). Выберите белый цвет для параметра Diffuse (Рассеивание). Для этого нажмите кнопку цвета рядом с названием этого параметра и в окне Color Selector Diffuse Color (Выбор цвета: цвет рассеивания) выберите такие значения: Red (Красный) — 237, Green (Зеленый) — 254, Blue (Синий) — 255 (рис, 14,11),
Перейдите к свитку Maps (Карты) настроек материала и в качестве карты Refraction (Преломление) выберите процедурную карту Ray trace (Трассировка).
Используя список с названиями материалов и карт, вернитесь к настройкам основного материала.
Рис. 14.10. Настройки материала для яблока
Рис. 14.11. Окно Color Selector: Diffuse (Выбор цвета: рассеивание)
Убедитесь, что выделена ячейка созданного вами материала, и перетащите его на яблоко в окне проекции. Вы сможете визуально определить, что материал назначен объекту, так как в его ячейке по углам появятся скосы. Нажмите клавишу F9, чтобы визуализировать сцену. На визуализированном изображении можно будет увидеть, что теперь яблоко стало стеклянным (рис. 14.12).
ПРИМЕЧАНИЕ
Вместо типа материала Standard (Стандартный) вы также можете использовать материал типа Raytrace (Трассировка) или собственный материал визуализатора mental ray для создания стекла Glass (Стекло) (рис. 14.13).
Рис. 14.12. Визуализация сцены после назначения материала яблоку
Рис. 14.13. Настройки мат ер нала Glass (Стекло)
Настройка источников света
Как вы уже знаете, в качестве вспомогательных источников света обычно применяют источники типа Spot (Направленный). В нашей сцене используем источник Target Spot (Направленный с мишенью). Спет, падающий от вспомогательного источника света, должен быть менее интенсивным, чем яркость основного источника, поэтому необходимо подкорректировать значения некоторых параметров.
Выделите вспомогательный источник света в сцене (он называется Spot02), перейдите на вкладку Modify (Изменение) командной панели и в свитке настроек Intensity/ Color/Attenuation (Интенсивность/цвет/затухание) установите значение параметра Multiplier (Яркость) равным 0,8 (рис. 14.14).
Чтобы сцена не была перегружена тенями, исключим яблоко из списка объектов, которые будут отбрасывать тени от вспомогательного источника света. Для этого в свитке настроек General Parameters (Общие параметры) источника света нажмите кнопку Exclude (Исключить). В появившемся окне Exclude/Include (Исключить/ в ключить) установите переключатель в пол ожение Sh ad о w Castin g (Отбрасывание теней). В списке Scene Objects (Объекты сцены) выделите объект Apple и нажмите кнопку ». Объект будет перенесен в список в правой части окна (рис. 14.15).
Рис. 14.14. Настройки источника света Spot02Рис. 14.14. Настройки источника света Spot02Рис. 14.15. Окно Exclude/Include (Исключить/включить)Рис. 14.15. Окно Exclude/Include (Исключить/включить)
Рис. 14.14. Настройки источника света Spot02
Рис. 14.14. Настройки источника света Spot02
Рис. 14.15. Окно Exclude/Include (Исключить/включить)
Рис. 14.15. Окно Exclude/Include (Исключить/включить)
ПРИМЕЧАНИЕ
В этой сцене можно также работать с источником света mr Area Spot (Направленный, используемый визуализатором mental ray).
Настройка визуализации
Чтобы получить доступ к настройкам визуализации, выполните команду Rendering ► Render (Визуализация > Визуализировать) или нажмите клавишу F10 и в свитке настроек Assign Renderer (Назначить визуализатор) щелкните на кнопке с изображением многоточия возле строки Production (Выполнение). В открывшемся списке выберите mental ray Renderer (рис. 14.16). Таким образом вы установите mental ray 3.4 в качестве текущего визуализатора сцены.
Рис. 14.16. Выбор mental ray 3.4 в качестве текущего визуализатора сцены
После выбора mental ray 3.4 в качестве текущего визуализатора вкладки окна Render Scene (Визуализация сцены) изменят свое название. Перейдите на вкладку Indirect Illumination (Непрямое освещение).
Поскольку на первом этапе будем просчитывать только эффект каустики, установите флажок Enable (Использовать) в области Caustics (Каустика). Попробуйте визуализировать сцену. При этом вы можете получить предупреждение, что в сцене отсутствуют объекты, вызывающие эффект каустики (рис. 14.17),
Рис. 14.17. Предупреждение об отсутствии объектов, вызывающих эффект каустики
Есть два способа исправления этой ошибки. Во-первых, можно указать для каждого объекта свойства приема и излучения каустики. Чтобы задать, будет ли объект учитываться при просчете этих эффектов, щелкните на нем правой кнопкой мыши и выберите в контекстном меню строку Properties (Свойства).
В окне Object Properties (Свойства объекта) перейдите на вкладку mental ray. В области Indirect Illumination (Непрямое освещение) определите свойства для объекта, установив флажки Generate Caustics (Генерировать каустику) и Receive Caustics (Принимать каустику) (см. рис. 14.9).
Дpymil способ добавления объектов, участвующих в образовании эффекта каустики, — установка флажка All Objects Generate & Receive GI and Caustics (Все объекты сцены излучают и принимают глобальное освещение и каустику) в области Geometry Properties (Свойства геометрии) свитка Caustics and Global Illumimation (GI) (Каустика и общее освещение) вкладки Indirect Illumination (Непрямое освещение) окна Render Scene (Визуализация сцены).
Установив этот флажок, попробуйте визуализировать сцену еще раз. На этот раз вы не увидите окна с предупреждением, и начнется просчет (рис. 14.18). Однако на просчитанном изображении (рис. 14.19) эффекта каустики не будет видно. Тем не менее если внимательно присмотреться к рисунку, то можно заметить, что тень, отбрасываемая объектом, освещена неравномерно, и при приближении к объекту она светлеет. Это объясняется тем, что эффект каустики присутствует, однако он очень слабый.
Рис. 14.18. Окно Rendering (Визуализация)
Увеличить эффект каустики можно несколькими способами. Первый — усилить энергию эмитированных фотонов. За это отвечает параметр Global Energy Multiplier (Энергия) в области Light Properties (Свойства света) вкладки Indirect Illumination (Непрямое освещение) свитка Caustics and Global Illumimation (GI) (Каустика и общее освещение) окна Render Scene (Визуализация сцены). Увеличьте его значение
до 10. Визуализируйте сцену. Как видно на рис. 14.20, эффект каустики стал более очевидным. Однако у блика не совсем правильная форма. К тому же на просчет затрачено очень много времени.
Рис. 14.19. При первом просчете сцены эффект каустики практически не виден
Попробуем увеличить значение параметра Global Energy Multiplier (Энергия) еще в 10 раз — до 100 — и снова визуализируем сцену. На этот раз каустика получилась неестественно яркой (рис. 14.21).
Вернитесь к прежнему значению параметра Global Energy Multiplier (Энергия) — 10 — и попробуйте подобрать значение величины Decay (Затухание), уменьшив его до 1.3. Поскольку в сцене отсутствует отражение, необходимо подкорректировать настройки в области Trace Depth (Глубина трассировки). Установите следующие значения параметров: Max. Reflections (Максимальное отражение) — 1, Max. Refractions (Максимальное преломление) — 13, Max. Depth (Максимальная глубина) — 14.
Визуализируйте сцену. Как видим, яркость эффекта не уменьшилась и при этом возросло его распространение (рис. 14.22).
Создавая сцены с эффектами каустики, следует принимать во внимание то, что конечная форма бликов во многом зависит от геометрии сцены и наличия «посторонних» отражающих поверхностей. Для более точного воспроизведения эффекта каустики необходимо использовать большое количество фотонов, что в свою очередь заметно увеличивает продолжительность просчета изображения.
Рис. 14.20. При втором просчете сцены эффект каустики просматривается лучше
Рис. 14.21. При третьем просчете сцены эффект каустики слишком яркий
Просчет сложной сцепы с применением алгоритмов глобального освещения и каустики нередко приводит к появлению нежелательных артефактов, которые могут быть вызваны ошибками визуализации или неправильными параметрами виэуа- лизатора. Частично избавиться от этих явлении можно, используя настройки области Final Gather (Конечная сборка). Настройки данной области становятся активными после того, как в сцене были просчитаны эффекты каустики и глобального освещения. С их помощью можно получить общую картину освещенности и исправить существующие недостатки.
Рис. 14.22. При четвертом просчете сцены распространение эффекта каустики возросло
Следует также отметить, что на качество визуализируемого изображения в значительной степени влияет параметр Samples (Выборка). Он определяет, как будут смешиваться фотоны. Чем выше значение этого параметра, тем интенсивнее смешиваются фотоны и тем более сглаженными будут грани освещенных участков.
Параметр Radius (Радиус) определяет размер каждого фотона. Этот параметр устанавливается автоматически и зависит от разрешения выходного изображения. Однако при необходимости вы можете задать значение этого параметра вручную.
Чтобы посмотреть, как влияет параметр Samples (Выборка) на результат визуализации, установите флажок Enable (Использовать) в области Final Gather (Конечная сборка) и уменьшите значение параметра Samples (Выборка) до 3. Просчитайте изображение (рис. 14.23). Теперь в изображении появился задний фон, и каустика изменила форму с однородного пятна на участки неодинаковой яркости. Перепад
яркости обусловлен низким значением параметра Samples (Выборка). К тому же из-за этого стали заметны артефакты на заднем плане. Благодаря использованию Final Gather (Конечная сборка) эти артефакты не очень заметны. При этом уменьшилось время, потраченное на просчет.
Рис. 14.23. Пятый просчет сцены при уменьшенном значении параметра Samples (Выборка) настроек эффекта каустики
ПРИМЕЧАНИЕ
Визуализатор mental ray 3.4 в целом отвечает запросам сегодняшнего дня. Однако в нем, как и в стандартном визуализаторе 3ds Мах 8, к сожалению, немало неточностей. Помимо основных общих характеристик (коэффициент преломления, размер блика и т. д.), при визуализации необходимо учитывать также рассеивание света, распространение света внутри самого объекта, геометрию сцены и многое другое. Визуализатор mental ray 3.4 хоть и имеет достаточно много настроек, однако часто не способен автоматически учесть все эти параметры. Из-за этого все настройки приходится подбирать вручную, и часто возникает ситуация, когда установленные для текущей сцены наилучшие значения параметров кажутся абсурдными и совершенно не подходят для другой. Это еще раз подтверждает то, что на сегодняшний день нет однозначного решения проблемы правильной визуализации, и каждый разработчик подключаемых визуализаторов предлагает свое видение просчета сцены.
Постараемся найти золотую середину между временем, потраченным на просчет изображения, и качеством. Для этого в области Final Gather (Конечная сборка)
одноименного свитка увеличим значение параметров Samples (Выборка) до 35. В области Light Properties (Свойства света) свитка Caustics and Globa I Illuminati on (GI) (Каустика и общее освещение) увеличим значение параметра Decay (Размытость) до 1,6, а параметра Average Caustic Photons per Light (Количество фотонов каустики) - до 35 000 (рис. 14.24). Еще раз визуализируем изображение (рис. 14.25).
Рис. 14.24. Свиток настроек Indirect Illumination (Непрямое освещение)
ПРИМЕЧАНИЕ
Все промежуточные цветные изображения, полученные в процессе подбора оптимальных параметров для создания каустики, находятся на компакт-диске, прилагаемом к книге, в папке ch 14/final_pictures/caustics.
Рис. 14.25. Финальный просчет сцены при увеличенном параметре Samples (Выборка) эффекта каустики
Создание эффекта глубины резкости средствами визуализатора mental ray
Любой современный визуализатор предлагает пользователю набор функциональных возможностей, среди которых обязательно присутствуют модель просчета глобальной освещенности сцены и возможность получать в сцене эффект каустики. Еще одна обязательная функция визуализатора — возможность создания эффекта глубины резкости. Управление фокусом камеры позволяет добавить реалистичности в итоговом изображении и сфокусировать внимание зрителя на определенном участке. Например, в сценах с персонажной анимацией такой эффект удобно использовать при диалоге, осуществляя съемку из-за плеча говорящего.
Интегрированный в 3ds Мах 8 визуализатор mental ray 3.4 позволяет применять эффект глубины резкости, используя для этого алгоритм просчета, альтернативный стандартному. Управлять фокусом визуализации можно двумя способами — посредством стандартной камеры и с использованием вида в окне проекции Perspective (Перспектива). Рассмотрим настройки эффекта глубины резкости подробнее.
Создайте трехмерную сцену, в которой объекты расположены на разном расстоянии от объектива виртуальной камеры. Для этой цели удобно использовать несколько строк объемного текста, расположенного на плоскости. Перейдите на вкладку
Create (Создание) командной панели, в категории Shapes (Формы) выберите строку Splines (Сплайны) и нажмите кнопку Text (Текст) (рис. 14.26), Щелкните в любом свободном месте окна проекции левой кнопкой мыши, создав тем самым текстовый сплайн.
Выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка Modifier List (Список модификаторов) модификатор Bevel (Выдавливание со скосом) (рис, 14.27), использование которого по отношению к созданному тексту позволит получить в окне проекции объемную модель.
чГ/Ш'©© Т|чГ/Ш'©© Т|О ^ Т & a %О ^ Т & a %Рис. 14.26. Кнопка Text (Текст) на командной панелиРис. 14.26. Кнопка Text (Текст) на командной панелиРис. 14.27. Выбор модификатора Bevel (Выдавливание со скосом) из списка Modifier List (Список модификаторов)Рис. 14.27. Выбор модификатора Bevel (Выдавливание со скосом) из списка Modifier List (Список модификаторов)
чГ/Ш'©© Т|
чГ/Ш'©© Т|
О ^ Т & a %
О ^ Т & a %
Рис. 14.26. Кнопка Text (Текст) на командной панели
Рис. 14.26. Кнопка Text (Текст) на командной панели
Рис. 14.27. Выбор модификатора Bevel (Выдавливание со скосом) из списка Modifier List (Список модификаторов)
Рис. 14.27. Выбор модификатора Bevel (Выдавливание со скосом) из списка Modifier List (Список модификаторов)
Перейдите к свитку Bevel Values (Значения выдавливания) настроек модификатора и задайте выдавливание на втором и третьем уровнях, установив флажки Level 2 (Второй уровень) и Level 3 (Третий уровень). Установите следующие значения параметров: Start Outline (Начальный скос) — 0, Level 1 Height (Высота выдавливания на первом уровне) —11, Level 1 Outline (Скос на первом уровне)0,4, Самостоятельно подберите значения параметров Level 2 Height (Высота выдавливания
на втором уровне), Level 2 Outline (Скос на втором уровне). Level 3 Height (Высота
выдавливания на третьем уровне) и Level 3 Outline (Скос на третьем уровне).
Выделите текст в окне проекции и при помощи команды Rotate (Вращение) поверните его па 90” вдоль оси X (рис. 14.28).
Рис. 14.28. Вращение трехмерного текстаРис. 14.28. Вращение трехмерного текста
Рис. 14.28. Вращение трехмерного текста
Рис. 14.28. Вращение трехмерного текста
Создайте объект Plane (Плоскость). Перейдите на вкладку Modify (Изменение) командной панели и установите в настройках объекта большие значения длины и ширины. Разместите объект Plane (Плоскость) в сцене таким образом, чтобы трехмерный текст стоял на нем (рис. 14.29).
Рис. 14.29. Размещение объекта Plane (Плоскость) в сцене
Удерживая нажатой клавишу Shift, скопируйте объект Text (Текст) и измените положение клонированного текста, создав тем сам ым вторую строку. Проделайте эту операцию несколько раз (рис. 14.30).
Рис. 14.30. Клонированные объекты Text (Текст)
Выберите удобный ракурс в окне проекции и создайте в этой точке направленную камеру при помощи команды главного меню Create ► Cameras ► Create Camera From View (Создание > Камеры > Из вида) или сочетания клавиш CtrUC.
Выровняйте мишень камеры с объектом, который должен попасть в фокус камеры. Для этого выделите объект Camera Target (Мишень камеры), выполните команду Tools ► Align (Инструменты > Выравнивание) и щелкните на объекте, относительно которого нужно выровнять.
В окне Align Selection (Выравнивание выделенных объектов) укажите, по какому принципу будет происходить выравнивание, установив следующие параметры:
флажки Y Position (Y-позиция), X Position (Х-позиция) и Z Position (Z-позиция);
переключатель Current Object (Объект, который выравнивается) в положение Center (По центру);
переключатель Target Object (Объект, относительно которого выравнивается) в положение Center (По центру).
Нажмите кнопку Apply (Применить) или ОК.
Переместите мишень камеры на первую букву строки (рис. 14,31).
ПРИМЕЧАНИЕ
Готовый файл сцены без настроек визуализации находится на прилагаемом к книге компакт-диске в папке ch14/examples. Файл сцены называется depth of field.max.
Рис. 14.31. Выбор положения мишени камеры
Чтобы получить доступ к настройкам визуализации, выполните команду Rendering ► Render (Визуализация ► Визуализировать) или нажмите клавишу F10 и в свитке настроек Assign Renderer (Назначить визуализатор) щелкните на кнопке с изображением многоточия возле строки Production (Выполнение). В открывшемся списке выберите mental ray Renderer (см. рис. 14.16). Таким образом вы установите mental ray 3.4 в качестве текущего визуализатора сцены.
СОВЕТ
Чтобы выбранный визуализатор использовался по умолчанию при следующей загрузке 3ds Мах 8, после установки визуализатора для конечного изображения и для Material Editor (Редактор материалов) текущей сцены необходимо нажать кнопку Save as Defaults (Сохранить по умолчанию) в свитке Assign Renderer (Назначить визуализатор) окна Render Scene (Визуализировать сцену) (рис. 14.32).
После этого выделите камеру в окне проекции и перейдите на вкладку Modify (Изменение) командной панели. В свитке Parameters (Параметры) настроек этого объекта установите флажок Enable (Включить) в области Multi-Pass Effect (Многопроходный эффект). В раскрывающемся списке эффектов выберите строку Depth of Field (mental ray) (Глубина резкости (mental ray)) (рис. 14.33).
ПРИМЕЧАНИЕ
Использование виртуальной камеры в сцене значительно упрощает процесс настройки эффекта глубины резкости. Если визуализация финального изображения производится непосредственно как вид, получаемый в объективе камеры, то фокус камеры автоматически переносится в точку, которая совпадает по своему расположению с мишенью камеры.
Рис. 14.32. Установка визуалиаатора mental ray используемым по умолчанию
-Multi-Pass Etiect
Р Enable' PtevieiV j jOepth of Field (mental r- * | P Render Effects Pet Pass
Рис. 14.33. Область Multi-Pass Effect (Многопроходный эффект) настроек объекта Camera (Камера)
В отличие от других фотореалистичных визуализаторов, mental ray 3.4 имеет минимальное количество параметров для управления эффектом глубины резкости. Если в сцене используется камера, то настройка эффекта осуществляется при помощи параметра f-Stop (Величина апертуры) в свитке Depth of Field Parameters (Параметры эффекта глубины резкости). Как говорилось выше, параметр f-Stop (Величина апертуры) определяет количество света, попадающего в камеру. Если значение числа диафрагмы невелико, то получается небольшая глубина резкости, при которой отчетливо видны будут лишь некоторые объекты.
Рассмотрим, как влияет изменение параметрон глубины резкости, визуализировав одну и ту же сцену несколько раз, изменяя параметры эффекта.
СОВЕТ
11 СатегаО!11 СатегаО!ее l ч>ее l ч>ViewViewView SelectedView SelectedДля оптимального результата при настройке эффекта глубины резкости приходится многократно менять настройки и визуализировать сцену, чтобы проследить их влияние. Поскольку каждый просчет эффекта глубины резкости может занять немало времени, это доставляет неудобства. Чтобы уменьшить время, затрачиваемое на просчет, можно визуализировать не все изображение, а лишь его вертикальный фрагмент. Для этого можно использовать список параметров визуализации выделенного участка экрана, расположенный в правой части главной основной панели инструментов 3ds Мах 8. Чтобы визуализировать отдельный участок сцены, в раскрывающемся списке Render Туре (Тип визуализации) выберите значение Region (Участок) (рис. 14.34).
11 СатегаО!
11 СатегаО!
ее l ч>
ее l ч>
View
View
View Selected
View Selected
Crop
Blowup
I Modifier ListI Modifier ListBox Selected—i
I Modifier List
I Modifier List
Region Selected
Рис. 14.34, Выбор значения Region (Участок) в списке Render Туре (Тип визуализации)
На рис. 14.35 значение параметра f-Stop (Величина апертуры) равно 0,184. В этом изображении задний план размыт, а передний хорошо виден, поскольку фокальная плоскость (см. ниже) проходит через текст на переднем плане.
Рис. 14.35. Эффект глубины резкости при величине параметра f-Stop (Величина апертуры), равной 0,184
Поскольку mental ray не имеет специальных настроек для настройки качества получаемого эффекта, управлять реалистичностью изображения приходится с помощью сглаживающего фильтра визуализатора. Основные параметры, которыми характеризуется этот фильтр, находятся в области Samples per Pixel (Точек на пиксел) свитка Sampling Quality (Качество эффекта) вкладки Renderer (Визуализатор) окна Render Scene (Визуализация сцены) (рис. 14.36). Чем больше значения параметров Maximum (Максимальный) и Minimum (Минимальный) числа выборки, тем качественнее получается итоговое изображение и тем больше времени занимает визуализация, Уменьшите значение параметров Minimum (Минимальный) до 1/16 и Maximum (Максимальный) до 1/4 и визуализируйте изображение. Как видно на рис. 14.37, изображение получилось крайне низкого качества. Размытие эффектов, не попавших в фокус камеры, выглядит зернисто. Однако при этом уменьшилось время просчета.
Рис. 14.36. Настройки сглаживающего фильтра визуализатора mental ray
На рис. 14.38 значение параметра f-Stop (Величина апертуры) увеличено до двух. Это изображение имеет большую глубину резкости, при которой видны все строчки. Эффект заметен слабо, на его наличие указывает лишь едва заметное размытие последней надписи.
Рассмотрим, как выглядит эффект глубины резкости при изменении фокуса сцены. Чтобы изменить положение фокуса в сцене, выделите камеру в окне проекции и перейдите на вкладку Modify (Изменение) командной панели. В свитке Parameters (Параметры) настроек этого объекта увеличивайте значение параметра Target Distance (Фокусное расстояние) до тех пор, пока расстояние от камеры до мишени не будет приблизительно совпадать с расстоянием от камеры до второй строки.
СОВЕТ
Чтобы анимировать фокус камеры, то есть создать анимационную сцену, в которой наводится резкость на какой-нибудь объект, необходимо анимировать параметр Camera Target (Мишень камеры). Попробуйте сделать это самостоятельно.
Рис. 14.37. Эффект глубины резкости с небольшими значениями параметров сглаживающего фильтра
Рис. 14.38. Эффект глубины резкости при значении параметра f-Stop (Величина апертуры), равном 2
Для получения фокуса на второй строке можно также совместить мишень камеры со второй надписью, но это повлечет за собой изменение вида в объективе виртуальной камеры. Поскольку данную сцену мы визуализируем из вида камеры, такое изменение нежелательно. Для более явного эффекта перед визуализацией в настройках mental ray уменьшите значение параметра f-Stop (Величина апертуры) до 0,1. Визуализируйте изображение (рис. 14.39).
Рис. 14.39. Эффект глубины резкости при значении параметра f-Stop (Величина апертуры), равном 0,1, и изменении фокусного расстояния
СОВЕТ ^^^^^^_^^^^__—_____^^^^^^^^^^_^^_
При моделировании трехмерных сцен, в которых предполагается использовать эффект глубины резкости, нужно учитывать глубину эффекта. Если в сцене будет использоваться большая апертура (ей соответствуют низкие значения параметра f-Stop (Величина апертуры)) и в фокусе будет находиться только один объект, а остальные будут размытыми, не имеет смысла создавать сложные модели с большим количеством деталей, которые не будут видны в финальном изображении.
Если вы захотите использовать эффект глубины резкости, визуализируя изображение без применения объектива виртуальной камеры, а непосредственно в окне проекции, то необходимо будет установить флажок Enable (Задействовать) в свитке Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) настроек визуализатора (рис. 14.40). Этот свиток также содержит параметры f-Stop (Величина апертуры) и Focus Plane (Фокальная плоскость). Последний параметр определяет положение фокуса в сцене. При визуализации из окна проекции для настройки эффекта вместо параметра f-$top (Величина апертуры) можно также использовать параметр In Focus Limits (Пределы фокуса). Он позволяет указать границы эффекта — Near (Ближняя) и Far (Дальняя).
ВНИМАНИЕ
Визуализация эффекта глубины резкости с помощью mental ray возможна только из окна проекции Perspective (Перспектива).
Еще один способ, с помощью которого можно управлять реалистичностью эффекта глубины резкости, — подбор определенного типа линз объектива виртуальной камеры. На объектах реальной камеры иногда присутствуют блики определенной формы искажения, обусловленные геометрией линз в объективе. Чтобы визуализированное изображение как можно больше напоминало настоящее, можно использовать эффект, имитирующий подобные артефакты.
Чтобы назначить виртуальной камере определенный тип линз, в свитке Camera Effects (Эффекты камеры) настроек визуализаторав области Camera Shaders (Тилы затенения камеры) установите флажок Lens (Объектив) и нажмите кнопку справа (рис. 14.41).
Рис. 14.40. Свиток Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) настроек визуализатораРис. 14.40. Свиток Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) настроек визуализатораРис. 14.41. Кнопка для вызова окна Material/ Map Browser (Окно выбора материалов и карт) в свитке Camera Effects (Эффекты камеры) настроек визуализатораРис. 14.41. Кнопка для вызова окна Material/ Map Browser (Окно выбора материалов и карт) в свитке Camera Effects (Эффекты камеры) настроек визуализатора
Рис. 14.40. Свиток Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) настроек визуализатора
Рис. 14.40. Свиток Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) настроек визуализатора
Рис. 14.41. Кнопка для вызова окна Material/ Map Browser (Окно выбора материалов и карт) в свитке Camera Effects (Эффекты камеры) настроек визуализатора
Рис. 14.41. Кнопка для вызова окна Material/ Map Browser (Окно выбора материалов и карт) в свитке Camera Effects (Эффекты камеры) настроек визуализатора
Выберите в открывшемся окне (рис. 14.42) один из вариантов типа затенения для камеры и нажмите кнопку ОК.
На рис. 14.43 показана сцена с эффектом глубины резкости и типом затенения Distortion (lume) (Искажение).
Рис. 14.42. Типы затенения, которые можно назначить камере
Рис. 14.43. Визуализированное изображение с типом затенения Distortion (lume) (Искажение)
ПРИМЕЧАНИЕ
Готовый файл сцены находится на прилагаемом к книге компакт-диске в папке ch 14/ examples. Файл сцены называется depth_ol_fieid2.max. Все промежуточные цветные изображения, полученные в процессе подбора оптимальных параметров для создания эффекта глубины резкости, находятся в папке ch 14/finaLpictures/depth_of_field.
Создание эффекта подповерхностного рассеивания с помощью визуализатора mental ray
Как мы уже говорили выше, создание эффекта подповерхностного рассеивания связано с большим количеством трудностей. Главной проблемой, возникающей при решении этой задачи, является уникальность каждого материала, обладающего этим эффектом, В каждом из таких материалов характер распространения света будет иным. Это связано с тем, что материалы могут иметь разную структуру. Так, например, человеческая кожа состоит их нескольких слоев. Свет, проходя через каждый слой, рассеивается особым образом, поэтому и материал, имитирующий эффект подповерхностного рассеивания, должен учитывать эти особенности.
Именно поэтому создатели mental ray предлагают четыре разных материала, каждый из которых можно использовать для имитации определенного вещества.
Рассмотрим пример использования материала SSS Fast Material (mi) для имитации эффекта подповерхностного рассеивания в объеме болгарского перца. Эффект подповерхностного рассеивания в большей или меньшей степени присутствует в любом материале, однако из-за того, что в некоторых материалах величина рассеиваемости света очень низка, визуально наблюдать его невозможно. Для таких объектов создавать эффект не имеет смысла. К ним относятся, например, автомобильная покрышка, кора дерева, металл и т. д. Но есть и такие объекты, для которых имитация эффекта подповерхностного рассеивания не является обязательной, однако его присутствие делает материал более естественным.
Болгарский перец — это один из объектов, в котором этот эффект незначительно, но проявляется. Использование эффекта подповерхностного рассеивания при визуализации сцены с этим овощем придаст ему более натуральным вид.
Прежде чем перейти к настройкам материала, позволяющего добиться эффекта подповерхностного рассеивания, создадим модель перца. В качестве основы выберем объект ChamferCyl (Цилиндр с фаской). Вы можете выбрать для него произвольные параметры, но значение параметра Sides (Количество сторон) обязательно установите равным 10. Это нам поможет в дальнейшем придать правильную форму перцу. Также сделайте объект закругленным, увеличив значение параметра Fillet Segs (Сегменты закругления) (рис. 14.44).
Поскольку один из краев перца заужен на конце, примените к объекту модификатор Taper (Сжатие) и в его настройках установите отрицательное значение параметра Amount (Величина), а значение параметра Curve (Кривизна), наоборот, увеличьте, чтобы сделать овощ пузатым (рис. 14.45).
Рис. 14.44. Объект ChamferCyl (Цилиндр с фаской) — будущий перец
Рис. 14.45. Объект после применения модификатора Taper (Сжатие)
Примените к объекту модификатор Edit Poly (Редактирование полигональной поверхности). Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку Edit Poly (Редактирование полигональной поверхности) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Polygon (Полигон) и выделите продольные ряды сегментов модели. Поскольку модель имеет 10 сторон, вы без труда сможете это сделать, В данном случае удобнее всего использовать вариант выделения Paint Selection Region (Выделение кистью). Выделенные полигоны станут красными.
СОВЕТ
Для переключения в режим выделения Paint Selection Region (Выделение кистью) нажмите кнопку выделения на основной панели инструментов и выберите нужный вариант в списке.
Воспользуемся командой Bevel (Выдавливание со скосом), чтобы выдавить полигоны на некоторую величину. Перейдите в свиток Edit Polygons (Редактирование полигонов) настроек редактируемой полигональной поверхности и нажмите кнопку Settings (Настройки), расположенную рядом с кнопкой Bevel (Выдавливание со скосом). В появившемся окне Bevel Polygons (Выдавливание полигонов со скосом) выберите тип выдавливания Local Normal (Локальная нормаль). Установите небольшое значение параметра Height (Высота выдавливания со скосом) (рис. 14.46).
Рис. 14.46. Вид модели после выдавливания
Выйдите из режима редактирования Polygon (Полигон) и выберите из списка Modifier List (Список модификаторов) модификатор TurboSmooth (Турбосглаживание). В настройках модификатора задайте параметру Iterations (Количество итераций) значение, равное 1. Теперь модель примет вид, показанный на рис. 14.47.
Рис. 14.47. Вид модели после сглаживания
Снова назначьте объекту модификатор Edit Poly (Редактирование полигональной поверхности) и переключитесь в режим редактирования Polygon (Полигон). Перейдите к свитку Paint Deformation (Деформация кистью) и нажмите кнопку Push/ Pull (Вдавливать/вытягивать). Используя виртуальную кисть, подкорректируйте модель. При помощи этого инструмента можно сделать продольные выпуклости на перце неоднородными, а также изменить его форму с тупой и острой стороны. Такое редактирование модели вручную необходимо, так как перец не может быть идеально ровным со всех сторон и симметричным, иначе он будет выглядеть неестественно.
Последний шаг — создание хвостика. Для этого поверните объект тупой стороной, переключитесь в режим редактирования Vertex (Вершина). Выделите центральную вершину в основании. При этом ле забудьте установить флажок Ignore Backfacing (Игнорировать невидимые участки) в свитке настроек Selection (Выделение), чтобы случайно не выделить вершины с обратной стороны объекта.
Разверните свиток Edit Vertices (Редактирование вершин) и нажмите кнопку Chamfer (Фаска). Вы также можете активизировать этот инструмент, используя соответству-
ющую команду в контекстном меню (рис. 14.48). Создайте на месте выделенной вершины полигон, который будет служить основой для хвостика (рис. 14.49).
SacksSceSacksSceCollapseAttachCollapseAttachnirms ToggleIgnore Bacltfacingnirms ToggleIgnore BacltfacingCreateRemoveCreateRemoveIsdiala SatedtaaUnfreeze AllFreeze SelectionUnhide by MameUnhide Aihide Unselectedhide SelectionSave Scene State Manage Scene StatesIsdiala SatedtaaUnfreeze AllFreeze SelectionUnhide by MameUnhide Aihide Unselectedhide SelectionSave Scene State Manage Scene StatesMoveRotateSc*SelectS°n=Eroperties Curve Edkor.Dope Sheet...V*6 ParametersConvert ToMoveRotateSc*SelectS°n=Eroperties Curve Edkor.Dope Sheet...V*6 ParametersConvert To4 WeldTarget WeldEdi TriangulationCreate Shape4 WeldTarget WeldEdi TriangulationCreate ShapeConnedInsert VertexExtrudeConnedInsert VertexExtrudeRepeatConvert io FaceConvert to VertexBementPolygonBorderEdge VVertex 'Top-levelRepeatConvert io FaceConvert to VertexBementPolygonBorderEdge VVertex 'Top-level'1 r^y^'1 r^y^Рис. 14.48. Выбор инструмента Chamfer (Фаска) в контекстном менюРис. 14.48. Выбор инструмента Chamfer (Фаска) в контекстном меню
SacksSce
SacksSce
Collapse
Attach
Collapse
Attach
nirms Toggle
Ignore Bacltfacing
nirms Toggle
Ignore Bacltfacing
Create
Remove
Create
Remove
Isdiala Satedtaa
Unfreeze All
Freeze Selection
Unhide by Mame
Unhide Ai
hide Unselected
hide Selection
Save Scene State Manage Scene States
Isdiala Satedtaa
Unfreeze All
Freeze Selection
Unhide by Mame
Unhide Ai
hide Unselected
hide Selection
Save Scene State Manage Scene States
Move
Rotate
Sc*
Select
S°n=
Eroperties Curve Edkor.
Dope Sheet...
V*6 Parameters
Convert To
Move
Rotate
Sc*
Select
S°n=
Eroperties Curve Edkor.
Dope Sheet...
V*6 Parameters
Convert To
4 Weld
Target Weld
Edi Triangulation
Create Shape
4 Weld
Target Weld
Edi Triangulation
Create Shape
Conned
Insert Vertex
Extrude
Conned
Insert Vertex
Extrude
Repeat
Convert io Face
Convert to Vertex
Bement
Polygon
Border
Edge V
Vertex '
Top-level
Repeat
Convert io Face
Convert to Vertex
Bement
Polygon
Border
Edge V
Vertex '
Top-level
'1 r^y^
'1 r^y^
Рис. 14.48. Выбор инструмента Chamfer (Фаска) в контекстном меню
Рис. 14.48. Выбор инструмента Chamfer (Фаска) в контекстном меню
Переключитесь в режим редактирования Polygon (Полигон) и выделите образованный полигон. Используя операцию Bevel (Выдавливание со скосом) или Extrude (Выдавливание), нарастите нужную длину хвостика, многократно выдавливая полигон на небольшую величину (рис. 14.50).
Перейдите к свитку Soft Selection (Мягкое выделение) и установите флажок Use Soft Selection (Использовать мягкое выделение). Данный параметр позволяет воздействовать на выделенные вершины с различной силой, в зависимости от того, насколько они удалены от центра выделения. Используя инструменты Rotate (Вращение), Move (Перемещение) и Scale (Масштабирование), сделайте хвостик немного загнутым и суженным к концу. Модель готова (рис. 14.51).
На этапе текстурирования модели для нас будет важно, чтобы основная часть перца и его хвостик имели разные материалы. Поскольку перец с хвостиком представляет собой один объект, необходимо назначить его участкам разные идентификаторы материала. Находясь в режиме редактирования Polygon (Полигон), выделите все полигоны, образующие поверхность перца, за исключением тех, которые составляют хвостик. Перейдите к свитку Polygon Properties (Свойства полигона) и в поле Set ID (Установить идентификатор) введите число 1 (рис. 14.52).
Рис. 14.49. Основа для хвостика
Рис. 14.50. Создание хвостика при помощи выдавливания
Рис. 14.51. Готовая модель перца
Рис. 14.52. Свиток Polygon Properties (Свойства полигона)
Затем инвертируйте выделение и проделайте ту же операцию относительно полигонов, составляющих хвостик. На этот раз в поле Set ID (Установить идентификатор) введите число 2.
После этих действий объекту можно назначить материал типа Multi/Sub-Object (Многокомпонентный). Выйдите из режима редактирования Polygon (Полигон). Откройте Material Editor (Редактор материалов), выполнив команду Rendering * Material Editor (Визуализация > Редактор материалов), и выберите в окне Material/Map Browser (Окно выбора материалов и карт) тип материала Multi/Sub-Object (Многокомпонентный) (рис. 14.53).
Рис. 14.53. Выбор материала МuIti/Sub-Object (Многокомпонентный) в окна Material/Map Browser (Окно выбора материалов и карт)
В свитке Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала) настроек материала нажмите кнопку Set Number (Установить количество идентификаторов) и в появившемся окне Set Number of Materials (Установить количество материалов) введите число 2 (рис. 14.54).
Рис. 14.54. Окно Set Number of Materials (Установить количество материалов)
В настройках материала останется только два типа материала с идентификатором 1 и 2. Каждый из этих материалов будет назначаться тем участкам трехмерной модели, которым присвоен соответствующий идентификатор. По умолчанию оба материала имеют тип Standard (Стандартный).
Щелкните на кнопке с названием первого материала, чтобы переключиться в его настройки. Нажмите кнопку Standard (Стандартный) и в появившемся окне Ма- terial/Map Browser (Окно выбора материалов и карт) выберите тип материала SSS Fast Material (mi).
СОВЕТ
Чтобы материал SSS Fast Material (mi) появился в окне Material/Map Browser (Окно выбора материалов и карт), выполните команду Rendering ► Render (Визуализация ► Визуализировать) или нажмите клавишу F10 и в свитке настроек Assign Renderer (Назначить визуализатор) щелкните на кнопке с изображением многоточия возле строки Production (Выполнение). В открывшемся списке выберите mental ray Renderer. Таким образом вы установите mental ray 3.4 в качестве текущего визуализатора сцены.
Созданная модель перца имеет достаточно большую толщину и поэтому не может быть просвечиваемой, сделать эффект подповерхностного рассеивания более заметным можно, изменив оттенок цвета Ambient/Extra light (Подеветка/допол ни- Тельный свет) в свитке Diffuse Sub Surface Scattering (Диффузионное подповерхностное рассеивание) с черного на желтый.
Рисунок поверхности определяется параметром Overall diffuse coloration (Общая диффузионная окрашенность). Это может быть как цвет, так и процедурная карта.
Параметр Number of samples (Количество элементов выборки) в свитке SSS Fast Material (mi) Parameters (Параметры материала SSS Fast Material (mi)) определяет количество элементов выборки при просчете эффекта. При низком значении этого параметра объект будет содержать -егрязноватые» участки. Параметр Shininess (Яркость) свитка Specular reflection (Зеркальное отражение) задает размер светового блика, a Specular color (Зеркальный цвет) — цвет блика (рис. 14.55).
ааРис. 14.55. Настройки материала SSS Fast Material (mi): а — верхняя часть, б — нижняяРис. 14.55. Настройки материала SSS Fast Material (mi): а — верхняя часть, б — нижняябб
а
а
Рис. 14.55. Настройки материала SSS Fast Material (mi): а — верхняя часть, б — нижняя
Рис. 14.55. Настройки материала SSS Fast Material (mi): а — верхняя часть, б — нижняя
б
б
Если вы просчитываете сцену с включенной функцией глобального освещения, то в свитке Advanced Options (Расширенные настройки) настроек материала нужно установить флажок Scatter indirect illumination (Рассеивание непрямого освещения). Для включения функции глобального освещения установите флажок Enable (Задействовать) в области Global Illumination (Общее освещение) вкладки Indirect Illumination (Непрямое освещение) настроек визуализатора.
Готовая сцена может выглядеть, как показано на рис. 14.56.
Рис. 14,56. Перец с эффектом подповерхностного рассеивания
СОВЕТ
Для освещения такой сцены лучше использовать собственные источники света визуализатора mental ray — mr Area Spot (Направленный, используемый визуализатором mental ray) или mr Area Omni (Всенаправленный, используемый визуализатором mental ray). Можно также применять одну из систем дневного освещения — Daylight System (Дневная система освещения) и Sunlight System (Система освещения солнцем).
Визуализация при помощи командной строки
Визуализацию при помощи командной строки часто используют достаточно опытные разработчики трехмерной анимации, освоение командной строки является непростой задачей. В этом разделе рассмотрим, как использовать эту полезную возможность.
Визуализация при помощи командной строки открывает пользователям возможность пакетной визуализации, то есть последовательного просчета группы файлов.
Например, вам нужно визуализировать сцену. Прежде чем нажимать кнопку Render (Визуализировать), необходимо указать в настройках программы основные параметры: размер изображения, имя сохраняемого файла и т. д. Теперь представьте, что вам понадобилось визуализировать 70 сцен подряд. Каждую сцену вам придется открывать в программе и указывать настройки визуализации. Конечно, это очень долго и трудоемко.
При помощи командной строки такая проблема решается достаточно легко. Если нужно просчитать группу файлов, кажды й из которых имеет свою индивидуальную схему визуализации, то потребуется создать текстовое описание процедурных настроек визуализации. Это может быть файл (например, Рендер. bat или Рендер. xml), созданный в любом текстовом редакторе. Просчет сцены с помощью командной строки выполняется благодаря утилите 3dsmaxcmd.exe, которая по умолчанию находится в папке С: \Program Files\Autodesk\3dsMax8. Рассмотрим на простом примере, как визуализировать сцепу при помощи командной строки.
Как это ни парадоксально звучит, закройте окно программы 3ds Мах 8, в ближайшее время оно вам не понадобится. Запустите командную строку. Для этого в Windows ХР выполните команду Пуск * Программы ► Стандартные ► Командная строка.
На экране должно появиться черное окно. Перейдите в папку, в которой установлен 3ds Мах, и наберите команду 3dsmaxcmd -?. Переход к другим папкам и дискам в командной строке осуществляется при помощи команды cd. На экране появится длинный список параметров визуализации (рис. 14.57).
сТ Командная строка
Microsoft Windows ХР (Версия S.1.26061 <С> Корпорация Майкрософт, 1985-26101.
C:\Documents and SettingsxUSER>cd C:\program File$\Autode5k\3dGmax6
C:\Proqran Filen\fiutodesk\3dsMax8>3dsrwixcmd — ?
Idsnaxcnd (options! scene_file-BASIC-?-v:<0-5>0<f ilename> OR -cmdFile:<filename>-preset 8<f Непале >OR -rpsKf Непале >-sceneStatc=<scene-state-namc>-hate hRendor-bate hRender : <batch~render-name >-preRenderScript:<f Непале > OR -script :<F Непале >-postRenderScript :<f Непале >-wo r kPat h: < pa t hn а me >pathFHe:<£ Непале >-split :<strips, over lap>—dateFormats<datefornat >Idsnaxcnd (options! scene_file-BASIC-?-v:<0-5>0<f ilename> OR -cmdFile:<filename>-preset 8<f Непале >OR -rpsKf Непале >-sceneStatc=<scene-state-namc>-hate hRendor-bate hRender : <batch~render-name >-preRenderScript:<f Непале > OR -script :<F Непале >-postRenderScript :<f Непале >-wo r kPat h: < pa t hn а me >pathFHe:<£ Непале >-split :<strips, over lap>—dateFormats<datefornat >OPTIONS- This help- Show examples- Verbose level, 6-5- Command line options in a filoOPTIONS- This help- Show examples- Verbose level, 6-5- Command line options in a filo—tineFormat:<timeFormat^—tineFormat:<timeFormat^- Render preset file- Load a scene state before rendering— Render all enabled hatch renders- Render batch render named ba t c h-re n de r-n а ле- Pre-render script file- Post-render script file- Work pathRoot location For Job data folders— A path configuration file <.nxp>- Split render;number oF strips and overlap- cpec ifу a date format to bo used in message timestamp defaults to locale—dependent format- specify a time format to bo used in message timestamp defaults to locale-dependent Format and 24-hour clock- Render preset file- Load a scene state before rendering— Render all enabled hatch renders- Render batch render named ba t c h-re n de r-n а ле- Pre-render script file- Post-render script file- Work pathRoot location For Job data folders— A path configuration file <.nxp>- Split render;number oF strips and overlap- cpec ifу a date format to bo used in message timestamp defaults to locale—dependent format- specify a time format to bo used in message timestamp defaults to locale-dependent Format and 24-hour clock
Idsnaxcnd (options! scene_file
-BASIC
-?
-v:<0-5>
0<f ilename> OR -cmdFile:<filename>
-preset 8<f Непале >
OR -rpsKf Непале >
-sceneStatc=<scene-state-namc>
-hate hRendor
-bate hRender : <batch~render-name >
-preRenderScript:<f Непале > OR -script :<F Непале >
-postRenderScript :<f Непале >
-wo r kPat h: < pa t hn а me >
pathFHe:<£ Непале >
-split :<strips, over lap>
—dateFormats<datefornat >
Idsnaxcnd (options! scene_file
-BASIC
-?
-v:<0-5>
0<f ilename> OR -cmdFile:<filename>
-preset 8<f Непале >
OR -rpsKf Непале >
-sceneStatc=<scene-state-namc>
-hate hRendor
-bate hRender : <batch~render-name >
-preRenderScript:<f Непале > OR -script :<F Непале >
-postRenderScript :<f Непале >
-wo r kPat h: < pa t hn а me >
pathFHe:<£ Непале >
-split :<strips, over lap>
—dateFormats<datefornat >
OPTIONS
- This help
- Show examples
- Verbose level, 6-5
- Command line options in a filo
OPTIONS
- This help
- Show examples
- Verbose level, 6-5
- Command line options in a filo
—tineFormat:<timeFormat^
—tineFormat:<timeFormat^
- Render preset file
- Load a scene state before rendering
— Render all enabled hatch renders
- Render batch render named ba t c h-re n de r-n а ле
- Pre-render script file
- Post-render script file
- Work path
Root location For Job data folders
— A path configuration file <.nxp>
- Split render;
number oF strips and overlap
- cpec ifу a date format to bo used in message timestamp defaults to locale—dependent format
- specify a time format to bo used in message timestamp defaults to locale-dependent Format and 24-hour clock
- Render preset file
- Load a scene state before rendering
— Render all enabled hatch renders
- Render batch render named ba t c h-re n de r-n а ле
- Pre-render script file
- Post-render script file
- Work path
Root location For Job data folders
— A path configuration file <.nxp>
- Split render;
number oF strips and overlap
- cpec ifу a date format to bo used in message timestamp defaults to locale—dependent format
- specify a time format to bo used in message timestamp defaults to locale-dependent Format and 24-hour clock
Рис. 14.57. Список параметров визуализации
СОВЕТ
Если список параметров не появился, то проверьте, не открыт ли 3ds Мах. Если окно программы закрыто, а указанная выше команда не работает, то перезагрузите компьютер и попробуйте набрать команду еще раз. Если же команда опять не работает, то переустановите программу.
Все параметры, доступные в программе, знать наизусть не обязательно, но желательно. Выучить сразу все вам вряд ли удастся, да это и не нужно. В процессе работы вы запомните наиболее важные команды визуализации.
Пример простейшей визуализации сцены: Е: \3dsmax\3dsmaxcmd f: \1 .max. Как вы уже, наверное, догадались, при помощи этой команды визуализируется файл 1 .max, который расположен в корневом каталоге диска F: (рис. 14.58).
Рис. 14.58. Визуализация файла при помощи командной строки
Просчет сцены можно запускать как из окна Командная строка, так и с помощью меню Пуск ► Выполнить. На экране появится окно, в котором будет визуализироваться указанный файл. В командной строке вы можете задавать различные настройки визуализации. Например, строка С: \Program Files\Autodesk\3dsMax8\
3dsmaxcmd -frames 2 2-37 C:\13.max означает связанную последовательность визуализируемых кадров — от 22 до 37.
Процедура установки разрешения 800 х 600 итогового файла выглядит приблизительноследующим образом: С: \Program Files\Autodesk\3dsMax8\3dsmaxcmd - outputName:С:\Program Files\Autodesk\3dsMax8\images\13.jpg -w 800 -h 600 C:\13.max.
При визуализации с использованием командной строки существенно экономятся системные ресурсы, поскольку не загружается интерфейс программы. Подробную информацию о параметрах и их значениях можно найти в документации к программе 3ds Мах 8.
ПРИМЕЧАНИЕ
В 3ds Мах 8 обеспечена полная совместимость с mental ray 3.4 визуализации при помощи командной строки.
Визуализация в текстуру
Поскольку создание трехмерной графики — процесс очень трудоемкий и требует большого количества системных ресурсов, ЗВ-аниматоры часто используют всевозможные приемы для того, чтобы добиться хорошего результата с меньшими затратами времени. Существует огромное количество таких ухищрений. Самое простое — моделировать только ту часть объекта, которая видна зрителю.
Команда Render to Texture (Визуализировать в текстуру), которую можно вызвать из меню Rendering (Визуализация), позволяет ускорить визуализацию. Когда в сцене расставлены трехмерные модели и источники света, на объектах после визуализации видны световые блики, а также отбрасываемые тени. При визуализации анимационной сцены движок визуализатора повторно просчитывает блики и тени. Если положение Teneii и световых бликов на объектах неизменно на протяжении всей анимации, не имеет смысла просчитывать их в каждом кадре. Функция Render to Texture (Визуализировать в текстуру) позволяет использовать этот прием при создании трехмерных сцен.
Данный прием называется методом «запекания» текстур (Texture Baking) и часто используется при разработке компьютерных игр. Действие большинства трехмерных компьютерных игр основано на перемещении игрока в виртуальном пространстве. Применять сложные алгоритмы трассировки, глобального освещения и каустики в этом случае невозможно из-за нехватки аппаратных ресурсов. Использование метода «запекания» текстур позволяет подменять световые эффекты на объектах заранее просчитанным изображением с рисунком теней, бликов и отражений.
Функция Render to Texture (Визуализировать в текстуру) позволяет применять этот прием при создании трехмерных сцен.
Приведем пример использования этого приема.
Используя команду меню File ► Merge (Файл ► Объединить), совместите файлы lozhka. max и tarel ka. max, которые находятся на компакт-диске в папке ch05 / examples.
Выровняйте объекты относительно друг друга таким образом, чтобы ложка находилась в тарелке (рис. 14.59), Добавьте в сцену источник света Omni (Всенаправленный) и расположите его таким образом, чтобы тень, отбрасываемая ложкой, была видна в финальном изображении (рис. 14.60).
Рис. 14.59. Расположение объектов относительно друг друга
В свитке General Parameters (Общие параметры) настроек источника света установите в области Shadows (Тени) флажок On (Включить) и в раскрывающемся списке выберите тип проецирования теней Area Shadows (Распределение теней) (рис. 14.61).
Чтобы объекты сцены отражали окружающую среду, выберите какое-нибудь изображение в качестве карты окружения. Для этого выполните команду Rendering ► Environment (Визуализация ► Окружение). В свитке Common Parameters (Общие параметры) нажмите кнопку параметра Environment Мар (Карта окружения) и в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите карту Bitmap (Растровое изображение). Укажите графический файл, который будет служить картой окружения.
Рис. 14.60. Расположение источника света а сцене
|- -: Gee^ii Faiama»ft; ” I plight Гур.■ ; ( Р On jOmni “"*1 |
: Г TsgrtedU |
: - Shadow?•
: Р On Г" Use Global Seeing:Г' . [Area Shadow? ~^ ^ Т1 h
Exclude i
Рис. 14.61. Настройки источника света Omni (Всенаправленный)
Создадим материалы для ложки и тарелки. Откройте Material Editor (Редактор материалов), выполнив команду Rendering > Material Editor (Визуализация ► Редактор материалов). В пустой ячейке создайте новый материал тина Raytrace (Трассировка), выбрав его из списка материалов в окне Material/Map Browser (Окно выбора материалов и карт). В списке типа затенения Shading (Затенение) выберите Phong (По Фонгу).
В свитке настроек Raytrace Basic Parameters (Основные параметры трассировки) задайте параметру Diffuse (Рассеивание) следующие значения: Red (Красный) — 255, Green (Зеленый) — 255, Blue (Синий) — 255 (получится белый цвет), а значение параметра Index of Refr (Коэффициент отражения) установите равным 1,6. В области настроек Specular Highlights (Зеркальные блики) задайте параметру Specular
Level (Уровень блеска) значение, равное 250, Glossiness (Глянец) — 80, Soften (Размытость) — 0,2 и выберите белый цвет Specular Color (Цвет блеска) со значениями Red (Красный) — 255, Green (Зеленый) — 255, Blue (Синий) — 255 (рис. Id.62).
Рис. 14.62. Настройки материала Raytrace (Трассировка)
В свитке настроек Maps (Карты) в качестве карты Reflect (Отражение) выберите процедурную карту Falloff (Спад). В списке Falloff Туре (Тип затухания) свитка Falloff Parameters (Параметры спада) выберите Fresnel (По Френелю). Материал для тарелки готов, назначьте его объекту.
Теперь сделаем материал для ложки. Создайте еще один материал типа Raytrace (Трассировка). В списке типа затенения Shading (Затенение) также выберите Phong (По Фонгу). В свитке настроек Raytrace Basic Parameters (Основные параметры трассировки) задайте параметру Diffuse (Рассеивание) следующие значения: Red (Красный) — 187, Green (Зеленый) — 218, Blue (Синий) — 240 (получится голубой цвет), а значение параметра Index of Refr (Коэффициент отражения) установите равным 1. В области настроек Specular Highlights (Зеркальные блики) задайте параметру Specular Level (Уровень блеска) значение, равное 250, Glossiness (Глянец) — 70, Soften (Размытость) — 0,1. Скопируйте цвет Diffuse (Рассеивание), щелкнув на нем
правой кнопкой мыши и выбрав команду Сору (Копировать), а затем вставьте цвет в образец цвета Reflect (Отражение) и Specular Color (Цвет блеска) (рис. 14.63). Материал готов, можете назначить его ложке.
Рис. 14.63. Вставка цвета Diffuse (Рассеивание) в образец цвета Specular Color (Цеет блеска)
Выполните команду Rendering ► Render (Визуализация ► Визуализировать) и нажмите кнопку Render (Визуализировать). Вы увидите блики, отражения и тени, создаваемые объектами (рис. 14.64).
Рис. 14.64. Сцена после визуализации
Выполните команду Rendering > Render То Texture (Визуализация ► Визуализировать в текстуру). На экране появится одноименное окно (рис. 14.65). Выделите в сцене тарелку. В списке свитка Object to Bake (Объект для ^запекания») появится название выделенного объекта.
Рис. 14.65. Окно Render То Texture (Визуализировать в текстуру)
Перейдите в окне Render to Texture (Визуализировать в текстуру) к свитку Output (Результат). В нем задаются настройки визуализации карты текстуры. С помощью кнопки Add (Добавить) вызовите окно Add Texture Elements (Добавить элементы текстуры). Если вы хотите сделать «запекание» всех бликов, теней и отражений, выберите в списке строку CompleteMap (Карта полностью) (рис. 14.66) и нажмите кнопку Add Element (Добавить элемент).
(0 Add Texture Elements В
Available Elements
DiffuseMap ShadowsMap LightingM.ap NdrmalsMap BtendMap AlphaMap HeightMap
Ambient Occlusion [MR)
Add Elements i Cancel
Рис. 14.66. Окно Add Texture Elements (Добавить элементы текстуры)
После этого в списке свитка Output (Результат) окна Render То Texture (Визуализировать в текстуру) появится информация о том, какой объект будет «запекаться» и какой тип карты «запекания» был выбран. Визуализированное изображение по умолчанию будет сохранено в формате TGA в папку С: \Program Files\ Autodesk\3dsMax8\Images. Если вам понадобится изменить путь, используемый программой по умолчанию, вы можете это сделать, перейдя к свитку General Settings (Общие настройки).
В раскрывающемся списке Target Map Slot (Конечный вариант «запекания» карты) свитка Output (Результат) выберите тин «запекания» текстуры Diffuse (Рассеивание).
После нажатия кнопки Render (Визуализировать) в окне Render То Texture (Визуализировать в текстуру) текстура будет создана. Это — плоское изображение развертки объекта с обозначенными на пей тенями, бликами и отражениями (рис. 14.67),
Рис. 14.67. Созданная программой текстура тарелки
Выделите в сцене ложку и проделайте то же самое для этого объекта. Вы получите развертку, похожую на изображенную на рис. 14.68.
Рис. 14.68. Созданная программой текстура ложки
После создания «запеченных» текстур материалы, назначенные объектам, были автоматически преобразованы в материалы типа Shell (Оболочка). Он состоит из двух типов материала — Original Material (Исходный материал) и Baked Material («Запеченный» материал) (рис. 14.69). После «запекания» текстур вы увидите, что в окнах проекций стали отображаться тени, блики и отражения. Используя настройки материала Shell (Оболочка), вы можете управлять отображением световых эффектов в окнах проекций и при визуализации, используя соответствующие переключатели. Установите для обоих материалов переключатель Render (Визуализировать) в положение Baked Material («Запеченный» материал).
Удалите из сцены источник света Omni (Всенаправленный) и визуализируйте изображение. Вы получите точно такое же изображение, как и полученное до «запекания» текстур (см. рис. 14.64), однако просчет будет происходить значительно быстрее.
Рис. 14.69. Настройки материала Shell (Оболочка)
Интерактивная визуализация
Создавая трехмерную сцену, даже опытный 3D-аниматор не может с первой попытки выбрать правильное положение объектов в сцене и указать параметры освещения. Как правило, чтобы добиться качественного результата, разработчику трехмерной графики приходится многократно изменять настройки сцены и визуализировать ее снова и снова, до тех лор, пока он не добьется желаемого результата. Чтобы упростить задачу подбора параметров сцены, используется режим ActiveShade (Интерактивная визуализация).
Очень удобно работать в этом режиме, если в сцене требуется изменять освещение или подбирать материалы объектов. Для активизации режима ActiveShade (Интерактивная визуализация) необходимо выполнить команду Rendering ► ActiveShade Viewport (Визуализация ► Интерактивная визуализация в окне проекции)- Можно также щелкнуть правой кнопкой мыши на названии того окна проекции, в котором вы хотите включить режим ActiveShade (Интерактивная визуализация), и выполнить команду Views ► ActiveShade (Вид ► Интерактивная визуализация) (рис. 14.70).
После этого в выбранном окне проекции начнется интерактивный просчет изображения (рис. 14.71).
Для выключения режима интерактивной визуализации щелкните правой кнопкой мыши на окне, для которого он активизирован, и выберите в контекстном меню пункт Close (Закрыть) (рис. 14.72).
Рис. 14.70. Включение режима ActiveShade (Интерактивная визуализация) при помощи контекстного меню
Рис. 14.71. Включенный режим ActiveShade (Интерактивная визуализация) в окне проекции Front (Спереди)
Рис. 1. При помощи модуля reactor можно управлять не только твердыми телами и тканью, но и водой, создавая, например, волны в бокале
Рис. 2. Покрывало, реалистично спадающее с мольберта, несложно создать, используя средства модуля reactor 2
Рис. 3. Ужасный монстр, светящийся в темноте, получен при помощи материалов встроенного в 3ds Мах визуализатора mental ray 3.4
Рис. 4. Эффект объемного света помогает сделать свет, проходящий через витраж, волшебным
Рис. 5. Эффект подповерхностного рассеивания придает трехмерным овощам реалистичность
Рис. 6. Пуговица, катушка и иголка — весь швейный набор смоделирован с использованием булевых операций
Рис. 7. При помощи одних только стандартных примитивов можно создать целую кухню
интегрированным в 3ds Мах
Рис. 9. Стеклянные модели насекомых визуализированы с использованием эффекта абсорбции
Рис. 10. Отличный способ привлечь внимание к определенным участкам изображения создать эффект глубины резкости средствами визуализатора mental ray 3.4
Рис. 11. Используя интегрированный в 3ds Мах 8 модуль Hair and Fur, можно без труда сделать для персонажа любую прическу и даже заплести волосы в косу
Рис. 12. Эффект каустики на металлической поверхности создан средствами визуализатора mental ray 3 4
Рис. 13. Стандартные примитивы 3ds Мах — прекрасная основа для создания более сложных моделей
Рис. 14. Средства визуализатора mental ray 3.4 позволяют создавать реалистичную кожу
сложных объектов с высокой степенью детализации (например, подробная конструкция робота). Чтобы установить в качестве фонового изображения графический файл или анимацию, необходимо выполнить команду Views > Viewport Background (Вид ► Фоновое изображение) или воспользоваться сочетанием клавиш Alt+B. После этого на экране появляется окно Viewport Background (Фоновое изображение) (рис. 14.73), в котором можно указать путь к графическому изображению при помощи кнопки Files (Файлы) в области Background Source (Источник фона).
Рис. 14.73. Окно Viewport Background (Фоновое изображение)
Если в качестве фонового изображения в окне проекции выбран анимационный файл, то, чтобы изображение в окне изменялось в каждом кадре создаваемой анимации, в окне Viewport Background (Фоновое изображение) необходимо установить флажок Animate Background (Анимировать фон). Установив переключатель Apply Source and Display to (Установить источник и отобразить) в положение All Views (Все виды), можно задать отображение фонового рисунка во всех окнах проекций, а в положение Active Only (Только активный) — только в активном.
Фоновый рисунок или анимация не проявляется в финальном изображении — он виден только в окне проекции. Чтобы фоновое изображение было видно на про-
считанном рисунке, необходимо выполнить команду Rendering ► Environment (Визуализация ► Окружение), в свитке настроек Common Parameters (Общие параметры) появившегося окна Environment and Effects (Окружение и эффекты) нажать кнопку под строкой Environment Мар (Карта окружения) (рис. 14.74) и в качестве карты окружения выбрать Bitmap (Растровое изображение).
Рис. 14.74. Свиток настроек Common Parameters (Общие параметры) окна Environment and Effects (Окружение и эффекты)
СОВЕТ
Для вызова окна Environment and Effects (Окружение и эффекты) можно также использовать клавишу 8.
Основные принципы создания реалистичного трехмерного изображения
Работы, выполненные с использованием трехмерной компьютерной графики, одинаково привлекают к себе внимание и ЗВ-дизайнеров, и тех, кто имеет довольно смутное представление о том, как это было сделано. Наиболее удачные трехмерные работы невозможно отличить от реальных съемок. Такие работы, как правило, порождают вокруг себя жаркие споры о том, что же это — фотография или трехмерная подделка.
Вдохновленные работами именитых ЗВ-художников, многие берутся за изучение трехмерных редаеторов, полагая, что освоить их так же легко, как Photoshop. Между тем программы для создания 3D-графики являются довольно сложными в освоении, и их изучение отнимает много времени и сил. Однако даже изучив инструментарий трехмерного редактора, добиться реалистичного изображения начинающему дизайнеру нелегко. Попав в ситуацию, когда сцена выглядит «неживой», он не всегда может найти этому объяснение. В чем же дело?
Основная проблема создания фотореалистичного изображения заключается в трудности точной имитации окружающей среды. Картинка, которая получается в результате просчета (визуализации) в трехмерном редакторе, является результатом
математических вычислений по заданному алгоритму. Разработчикам программного обеспечения трудно подобрать алгоритм, который помогал бы описать все физические процессы реальной жизни. По этой причине моделирование окружающей среды лежит на плечах самого ЗВ-художника.
С каждым днем увеличиваются аппаратные возможности рабочих станций, что дает возможность еще более эффективно использовать инструментарий для работы с трехмерной графикой. Одновременно с этим совершенствуется арсенал средств редакторов трехмерной графики.
Существует определенный набор правил создания реалистичного трехмерного изображения. Вне зависимости от того, в каком трехмерном редакторе вы работаете и сцепы какой сложности создаете, они остаются неизменными. Выполнение этих требований не гарантирует того, что полученная картинка будет похожа на фотографию. Однако их игнорирование наверняка станет причиной неудачи.
С оз дать фоторе ал истич ное изображение, работая над трехмерным проектом в одиночку, — невероятно сложная задача. Как правило, те, кто посвящают себя трехмерной графике и работают с ней профессионально, выполняют только один из этапов создания трехмерной сцены. Одни знают все тонкости моделирования, другие умеют мастерски создавать материалы, третьи «видят» правильное освещение сцен и т. д. По этой причине, начиная работать с трехмерной графикой, постарайтесь найти ту область, в которой вы себя чувствуете наиболее уверенно, и развивать свои таланты.
В этом небольшом разделе мы собрали основные принципы создания реалистичного трехмерного изображения, попробовав обобщить все, о чем было написано в этой книге.
Как вы знаете, результатом работы в трехмерном редакторе является статический файл или анимация. В зависимости от того, каким будет конечный продукт в вашем случае, подходы к созданию реалистичного изображения могут различаться.
Начинаем с композиции
Большое значение для конечного результата имеет рас положение объектов в трехмерной сцене. Они должны располагаться таким образом, чтобы зритель не терялся в догадках, разглядывая случайно попавшую в кадр часть объекта, а с первого взгляда мог распознать все составляющие сцены.
При создании трехмерной сцены нужно обращать внимание на положение объектов относительно виртуальной камеры. Помните, что объекты, которые находятся ближе к объективу камеры, визуально кажутся большими по размеру. По этой причине нужно следить затем, чтобы одинаковые по размеру объекты находились на одной линии.
Вне зависимости от того, какой сюжет у трехмерной сцены, она обязательно должна отображать последствия каких-то событий, которые произошли в прошлом.
Например, если к заснеженному дому ведут чьи-то следы, то, глядя на такую картинку, зритель сделает вывод, что кто-то зашел в дом.
Работая над трехмерным проектом, обращайте внимание на общее настроение сцены. Его может передать удачно выбранный элемент декорации или определенная гамма цветов. Например, добавление в сцену свечи подчеркнет романтику обстановки. Если вы моделируете мультяшных персонажей, то цвета должны быть яркими, если же создаете чудовище, выберите темные оттенки.
Не забудьте о деталях
При работе над трехмерным проектом нужно всегда принимать во внимание то, насколько объект виден в сцене, насколько он освещен и т. д. В зависимости от этого объект должен иметь большую или меньшую степень детализации. Трехмерный мир — это виртуальная реальность, где все напоминает театральные декорации. Если вы нс будете видеть заднюю часть объекта — не моделируйте ее. Если у вас есть болт с накрученной гайкой, не стоит моделировать резьбу иод гайкой, если в сцене будет виден фасад дома, не нужно моделировать интерьер, если вы создаете сцену ночного леса, основное внимание стоит уделить лишь тем объектам, которые находятся на переднем плане. Деревья, расположенные на заднем плане, на визуализированном изображении видны почти не будут, поэтому не имеет смысла моделировать их с точностью до листика.
Часто при создании трехмерных моделей едва ли не главную роль играют небольшие детали, которые делают объект более реалистичным.
Если у вас не получается добиться реалистичности в сцене, попробуйте повысить степень детализации объектов. Чем больше мелких деталей будет содержать сцена, тем более правдоподобно будет выглядеть финальное изображение. Вариант с увеличением детализации сцены практически беспроигрышен, но имеет один недостаток — большое количество полигонов, что ведет к увеличению времени просчета.
Убедиться в том, что реалистичность сцены напрямую зависит от степени детализации, можно на простом примере. Если создать в сцене три модели травинки и визуализировать их, то на зрителя изображение не произведет никакого впечатления. Однако если эту группу объектов многократно клонировать, то изображение будет смотреться эффектнее.
Управлять детализацией можно двумя способами: так, как это описано выше (увеличивая количество пол iron он в сцене), или повышая разрешение текстуры.
Во многих случаях имеет смысл больше внимания уделить созданию текстуры, нежели самой модели объекта. При этом вы сэкономите системные ресурсы, требуемые на просчет сложных моделей, уменьшив тем самым время визуализации. Лучше делать более качественную текстуру, чем увеличивать количество полигонов. Прекрасным примером разумного использования текстуры может служить стена дома. Вы можете моделировать каждый кирпичик по отдельности, что
займет и время, и ресурсы. Гораздо проще использовать фотографию кирпичной стены.
Если нужно создать пейзаж
Одна из наиболее трудных задач, с которой часто приходится иметь дело дизайнерам трехмерной графики, — моделирование природы. В чем же заключается проблема создания окружающей нас естественной обстановки? Все дело в том, что любой органический объект, будь то животное, растение и пр., неоднороден. Несмотря на кажущуюся симметричную структуру, форма таких объектов не поддается никакому математическому описанию, с которым имеют дело трехмерные редакторы. Даже те объекты, которые, на первый взгляд, имеют симметричный вид, при более детальном рассмотрении оказываются несимметричными. Например, волосы на голове человека располагаются неодинаково с правой и левой стороны, чаще всего их зачесывают направо, а лист на ветке дерева может быть поврежден гусеницей в каком-нибудь месте и т. д.
Самым лучшим решением для имитации органики в трехмерной графике можно считать фрактальный алгоритм, который часто используется в настройках материалов и различных инструментов трехмерного моделирования. Этот алгоритм лучше других математических выражений помогает имитировать органику. Поэтому при создании органических объектов обязательно используйте возможности фрактального алгоритма для описания их свойств.
Тонкости создания материала
Материалы, которые имитируются в трехмерной графике, могут быть самыми разнообразными — от металла, дерева и пластика до стекла и камня. При этом каждый материал определяется большим количеством свойств, среди которых рельеф поверхности, зеркальность, рисунок, размер и яркость блика и т. д.
Визуализируя любую текстуру, нужно помнить, что качество материала в полученном изображении сильно зависит от множества факторов, среди которых: параметры освещения (яркость, угол падения света, цвет источника света и т. д.), алгоритм визуализации (тип используемого виэуализатора и его настройки), разрешение растровой текстуры. Большое значение имеет также метод проецирования текстуры на объект. Неудачно наложенная текстура может «выдать» трехмерный объект образованным швом или подозрительно повторяющимся рисунком. Кроме того, обычно реальные объекты не бывают идеально чистыми, то есть на них всегда есть следы грязи. Если вы моделируете кухонный стол, то несмотря на то, что рисунок на кухонной клеенке повторяющийся, ее поверхность не должна быть везде одинаковая — клеенка может быть потерта на углах стола, иметь порезы от ножа и т. д.
Чтобы ваши трехмерные объекты не выглядели неестественно чистыми, можно использовать сделанные вручную (например, в Adobe Photoshop) карты загрязненности и смешивать их с исходными текстурами, получая реалистичный изношенный материал.
Добавление движения
При создании анимации геометрия объектов играет более важную роль, чем в случае со статическим изображением. В процессе движения зритель может видеть объекты под разным углом зрения, поэтому важно, чтобы модель выглядела реалистично со всех сторон. Например, при моделировании в статической сцене деревьев можно пойти на хитрость и упростить себе задачу: вместо того чтобы создавать «настоящее» дерево, можно сделать две пересекающиеся перпендикулярные плоскости и наложить на них текстуру с использованием маски прозрачности. При создании анимированной сцены этот способ не годится, так как такое дерево будет выглядеть реалистично только с одной точки и любой поворот камеры выдаст подделку.
В большинстве случаев, как только трехмерные объекты исчезают из объектива виртуальной камеры, лучше удалить их из сцепы. В противном случае компьютер будет выполнять никому не нужную задачу, просчитывая невидимую геометрию,
В торое, что необходимо учитывать при создании анимированных сцен, - это движение, в котором пребывает большинство предметов в реальности. Например, шторы в комнате колышутся от ветра, стрелки часов идут и т. д. Поэтому при создании анимации нужно обязательно проанализировать сцену и обозначить те объекты, для которых необходимо задать движение.
Движение придает реалистичности и статическим сценам. Однако, в отличие от анимированных, в них движение должно угадываться в застывших мелочах — в сползающей со спинки кресла рубашке, ползущей гусенице на стволе, согнувшемся от ветра дереве.
Если для более простых объектов сцены создать реалистичную анимацию относительно несложно, то смоделировать движение персонажа без вспомогательных инструментов практически невозможно.
В повседневной жизни наши движения настолько естественны и привычны, что мы не думаем, например, запрокинуть ли вам голову во время смеха или пригнуться, проходя под низким навесом. Моделирование же подобного поведения в трехмерной графике сопряжено с множеством подводных камней, и воссоздать движения, а тем более мимику человека, нс так-то просто. Именно поэтому для упрощения задачи применяется следующий способ: к телу человека присоединяется большое количество датчиков, которые фиксируют перемещение любой части тела в пространстве и подают соответствующий сигнал на компьютер. Тот в свою очередь обрабатывает полученную информацию и использует ее по отношению к некоторой скелетной модели персонажа. Данная технология называется технологией захвата движения, (.motion capture). При движении оболочки, которая надевается на скелетную основу, необходимо также учитывать мускульную деформацию.
Если вы занимаетесь персонажной анимацией, то будет полезно изучить анатомию, чтобы лучше ориентироваться в системах костей и мускулов.
Освещение — это не только свет, но и тени
Создание сцены с реалистичным освещением — это еще одна задача, которую предстоит решить для того, чтобы придать конечному изображению большую реалистичность. В реальном мире световые лучи многократно отражаются и преломляются в объектах, в результате чего тени, отбрасываемые объектами, обычно имеют нечеткие, размытые границы. За качество отображения теней в основном отвечает аппарат визуализации.
К теням в сцене предъявляются отдельные требования. Тень может подчеркнуть контраст между передним и задним планом, а также выдать объект, который не попал в поле зрения объектива виртуальной камеры. В этом случае зрителю дается возможность самому домыслить окружающую обстановку сцены. Например, на рубашке трехмерного персонажа он может увидеть падающую тень от веток и листьев и догадаться, что с обратной стороны от точки съемки растет дерево.
С другой стороны, слишком большое количество теней не сделает изображение более реалистичным. Следите затем, чтобы объект не отбрасывал тени от вспомогательных источников света. Если в сцене присутствует несколько объектов, излучающих свет, например фонарей, то все элементы сцены должны отбрасывать тени от каждого из источников света. Однако если в та к oil сцене вы будете использовать вспомогательные источники света (например, чтобы подсветить темные участки сцены), то создавать тени от этих источников не нужно. Вспомогательный источник должен быть незаметен зрителю, а тени выдадут его присутствие.
При создании сцены важно не переборщить с количеством источников света. Лучше потратить немного времени на то, чтобы наилучшим образом подобрать его положение, чем использовать несколько источников света там, где можно обойтись и одним. Если использование нескольких источников необходимо, то следите за тем, чтобы каждый из них отбрасывал тени. Если вы не можете увидеть тени от источника света, то, возможно, другой, более сильный источник пересвечивает их.
При расстановке источников света в сцене, обязательно обратите внимание на их цвет. Источники дневного света имеют голубой оттенок, для создания же источника искусственного света нужно придать ему желтоватый цвет. Следует также принимать во внимание, что цвет источника, имитирующего дневной свет, зависит еще и от времени суток. По этой причине если сюжет сцены подразумевает вечернее время, то освещение может быть, например, в красноватых оттенках заката.
Самое главное — просчет
Визуализация — это завершающий и, безусловно, самый ответственный этап создания трехмерной сцены. Редактор трехмерной графики просчитывает изображение, учитывая геометрию объектов, свойства материалов, из которых они сделаны, расположение и параметры источников света и т. д.
Существование большого количества алгоритмов просчета стало причиной увеличения количества внешних подключаемых визуализаторов. Часто один и тот же визуализатор может интегрироваться с разными пакетами трехмерной графики. По скорости и качеству просчитываемого изображения внешние визуализаторы, как правило, превосходят стандартный аппарат просчета трехмерных редакторов. Однако нельзя однозначно дать ответ на вопрос, какой из них дает наилучший результат. Понятие «реалистичность» в этом случае является субъективным, потому что нет каких-либо объективных критериев, по которым можно было бы оценить степень реалистичностй визуализатора.
Однако можно сказать наверняка: чтобы финальное изображение было более реалистичным, алгоритм визуализации должен учитывать все особенности распространения световой волны. Как мы уже говорили выше, попадая на объекты, луч света многократно отражается и преломляется. Просчитать освещенность в каждой точке пространства с учетом бесконечного количества отражений невозможно, поэтому для определения интенсивности света используются две упрощенные модели — трассировка (Raytracing) и метод глобальной освещенности (Global Illumination).
До недавнего времени наиболее популярным алгоритмом визуализации была трассировка световых лучей. Этот метод заключался в том, что трехмерный редактор отслеживал ход луча, испускаемого источником света, с заданным количеством преломлений и отражений. Трассировка не может обеспечить фотореалистичного изображения, поскольку этот алгоритм не предусматривает получения эффектов рефлективной и рефрактивной каустики (блики, возникающие в результате отражения и преломления света), а также свойств рассеиваемости света.
На сегодняшний день использование метода глобального освещения является обязательным условием для получения реалистичного изображения. Одним из наиболее распространенных способов просчета глобального освещения является фотонная трассировка (Photon Mapping).
Помимо просчета глобального освещения, внешние визуализаторы позволяют визуализировать материалы с учетом эффекта подповерхностного рассеивания (SubSurface Scattering). Этот эффект является необходимым условием для достижения реалистичности таких материалов, как кожа, воск, тонкая ткань и т. д. Лучи света, попадающие на такой материал, рассеиваются в нем. вызывая тем самым легкое свечение изнутри.
Еще одна причина, по которой изображения, просчитанные с помощью подключаемых визуализаторов,более реалистичны, чем картинки, визуализированные с использованием стандартных алгоритмов просчета, — возможность использования эффектов камеры. К ним относятся, прежде всего, глубина резкости и смазывание движущихся объектов.
Эффект глубины резкости можно использовать, когда требуется обратить внимание зрителя на какую-нибудь деталь сцены. Если изображение содержит эффект
глубины резкости, то зрител ь в первую очередь замечает элементы сцепы, iia которые наведена резкость. Эффект глубины резкости может помочь в том случае, когда необходимо визуализировать то, что видит персонаж.
Эффект глубины резкости является обязательной составляющей реалистичного изображения и тогда, когда в сцене внимание обращено на мелкий объект (например, на гусеницу на стволе). Если на картинке будут одинаково четко прорисованы все объекты, которые попадают в фокус, включая ветки, листья, ствол и гусеницу, то такое изображение не будет выглядеть реалистично. Если бы подобная сцена существовала в действительности и съемка велась не виртуальной, а настоящей камерой, то в фокусе был бы только главный объект — гусеница. Все, что находится па расстоянии от нее, выглядело бы размытым. Поэтому в трехмерном изображении обязан присутствовать эффект глубины резкости.
Глава 15
Дополнительные модули для 3ds Мах 8
Общие сведения о дополнительных модулях для 3ds Мах 8
Установка дополнительных модулей
Модули Digimation
Модули Blur Beta
Модули HABWare
Модули EffectWare
Модули Питера Ватье
Модули Павла Кузнецова
Дополнительные модули для визуализации
Другие полезные дополнительные модули
Общие сведения о дополнительных модулях для 3ds Мах 8
Несмотря на широкие функциональные возможности 3ds Мах 8, существуют задачи, которые довольно сложно решить при помощи стандартного инструментария программы: создание органических объектов (например, растительности), моделирование поведения жидкостей, имитация атмосферных эффектов и т.д. Для решения таких сложных задач аниматоры, профессионально работающие с программой, используют дополнительные модули, расширяющие стандартные возможности 3ds Мах 8. Дополнительных модулей к программе существует так много, что количество предлагаемых ими инструментов едва ли не больше всего арсенала стандартных средств 3ds Мах 8. Однако это совсем не означает, что их все нужно использовать одновременно,
ВНИМАНИЕ
Большое количество дополнительно подключенных модулей отрицательно сказывается на производительности трехмерного редактора, поэтому старайтесь устанавливать только те модули, которые вам действительно необходимы. Кроме того, нужно помнить, что дополнительные модули могут конфликтовать между собой, вызывая при этом сбои в работе программы.
Плагины упрощают выполнение некоторых задач, например позволяют тратить меньше времени на моделирование (благодаря специфическим объектам и оригинальным модификаторам), на просчет (благодаря улучшенным настройкам подключаемых визуализаторов) и т. д. Кроме этого, дополнительные модули часто не только предлагают альтернативу стандартному инструментарию, но и привносят в 3ds Мах совершенно новые возможности. Некоторые дополнительные модули, например reactor, Cloth и Particle Flow, стали настолько популярны среди пользователей, что были интегрированы и 3ds Мах и теперь являются частью программы.
ПРИМЕЧДНИЕ
Подробнее о работе с reactor 2 и Particle Flow читайте в посвященных им главах.
В данной главе рассмотрим самые популярные дополнительные модули для 3d Мах 8. Мы не преследуем цель подробно описать работу с ними, остановимся лишь на их основных возможностях, ч тобы дать представление о том, в каких случаях лучше использовать дополнительные модули. Хотим обратить ваше внимание, что в этой главе рассмотрены лишь самые популярные дополнительные модули для 3ds Мах. Если вас заинтересовала эта тема, вы можете приобрести книгу «3ds шах 7. Лучшие плагины» *, в которой подробно рассмотрено большое количество дополнений для 3ds Мах и даны практические примеры их использования.
1 Бондаренко С. В., Бондаренко М. IO. 3ds max 7. Лучшие плагины (+CD). — СПб.: Питер, 2005. — 528 с.: ид.
ПРИМЕЧАНИЕ
Все бесплатные дополнительные модули, о которых упоминается в этой главе, вы найдете на прилагаемом к книге компакт-диске в папке сЫ 5.
Установка дополнительных модулей
Существует огромное количество подключаемых модулей для 3ds Мах 8. Их выпуском занимаются как крупные коммерческие фирмы, так и энтузиасты-разработчики. Поэтому далеко не каждый дополнительный модуль содержит мастер установки или, по крайней мере, понятное справочное руководство с подробным описанием процесса инсталляции. Это вызывает определенные трудности, особенно у начинающих пользователей. Скачав бесплатный дополнительный модуль из Интернета (или даже приобретя коммерческий продукт), они не могут разобраться с тем, как заставить 3ds Мах работать с этим модулем. В данном разделе рассмотрим особенности установки дополнительных модулей.
Все дополнительные модули являются файлами библиотек DLL, ио в зависимости от свойств имеют разные расширения. Например:
DLO — дополнительные объекты;
DLM — модификаторы;
DLR — визуализаторы;
DLT — текстуры;
DLU — утилиты.
Вы можете также встретить файлы со следующими расширениями:
BMI — импорт/экспорт графических форматов (использование изображений);
BMS — сохранение файлов в разных форматах;
DLC — контроллеры для управления анимацией объектов;
DLE — экспорт МАХ-файлов в другие форматы;
DLF — импорт для использоватгая шрифтов;
DLI — импорт различных форматов в МАХ;
DLS — вспомогательные объекты;
FLT — фильтры для постобработки;
ж MSE — сценарии.
Если дополнительный модуль не имеет мастера установки, то инсталлировать его нужно следующим образом.
Распаковать архив установки дополнительного модуля.
Найти файл библиотеки с одним из указанных выше расширений.
Скопировать этот файл в папку C:\Program Files\Autodesk\3dsMax8\ plugins.
Перезапустить 3ds Max 8.
ВНИМАНИЕ
Файлы дополнительных модулей обязательно должны находиться а папке plugins, иначе 3ds Мах 8 их не увидит. Чтобы программа обнаружила файлы дополнительных модулей, расположенные в других папках, нужно выполнить команду Customize > Configure Paths (Настройка ► Указать пути) и указать папку, в которой записаны файлы дополнительных модулей.
ПРИМЕЧАНИЕ
Об особенностях установки некоторых дополнительных модулей читайте далее в посвященных им разделах.
Модули Digimation
Компания Digimation (http://www.digimation.com) — один из самых известных производителей дополнительных модулей для 3ds Мах. Она создала несколько десятков дополнительных модулей, большинство которых просто незаменимы для многих пользователей программы. Практически все дополнительные модули Digimation являются коммерческими и недоступны для свободного скачивания из Интернета. Однако, чтобы дать пользователям представление о действии того или иного модуля, разработчики из этой компании создали целую серию видеоуроков, которые можно свободно скачать с сайта Digimation (со страницы, посвященной интересующему вас дополнительному модулю).
Все дополнительные модули Digimation имеют мастер установки, поэтому их инсталляция не должна вызвать затруднений у пользователей. После завершения установки и первого вызова дополнительного модуля из окна 3ds Мах 8 модуль нужно будет авторизировать. Компания Digimation имеет свою систему авторизации.
Для начала работы системы лицензирования Digimation скопируйте в корневую панку, в которую установлена 3ds Мах 8, файлы DigiPSrv4.exe, DigiPClt4 .dll, DigiP_unregister.bat и DigiP_register.bat. Эти файлы являются основой системы авторизации Digimation Protect Server. Следующий этан авторизации — запуск дополнительного модуля из окна 3ds Мах 8. При этом появится окно Plug-in Protection In Progress (Плагин защищен) (рис. 15.1), в котором нужно будет нажать кнопку Authorize (Авторизировать). После этого появится следующее окно Hydra Plug-in Authorization (Авторизация плагина), в котором снова нужно будет нажать кнопку Authorize (Авторизировать) (рис. 15.2). В третьем окне авторизации
(рис. 15.3) появится Plug-in Request Code (Требуемый код модуля) — уникальное число, генерируемое программой для каждого компьютера. Это число необходимо послать компании-разработчику для получения ответного кода. Полученный код нужно внести в строку Countercode (Номер идентификации) в этом же окне. Здесь также нужно указать количество лицензий (одна для работы на домашнем компьютере или несколько для компьютеров локальной сети). На этом регистрация завершится.
Рис. 15.1. Окно Plug-in Protection In Progress (Плагин защищен}
Рис. 15.2. Окно Plug-in Authorization (Авторизация плагина)
Обычно Digimation Protect Server достаточно установить только один раз, после чего использовать с каждым новым модулем, однако бывает, что после установки нового модуля система авторизации перестает корректно работать. В этом случае нужно удалить все четыре файла лицензии из корневой папки 3ds Мах 8, скопировать их заново и запустить файл DigiP_register. bat.
Рассмотрим некоторые дополнительные модули, произведенные компанией Digimation.
Рис. 15.3. Окно для ввода кода
Bones Pro
Данный дополнительный модуль может пригодиться при работе с анимацией персонажей. Создание трехмерных персонажей — это сложный, трудоемкий процесс, но заставить их правильно двигаться еще сложнее, особенно если речь идет о движениях человека. Каждый из нас прекрасно знает, как двигается человек, поэтому любая неточность поведения персонажа особенно заметна. Движения всех живых существ напрямую зависят от формы и строения их скелета, поэтому для создания трехмерных персонажей тоже используется скелет. Он находится внутри модели персонажа, и к нему применяется специальный модификатор, связывающий объект со скелетом. После этого все движения отдельных частей скелета деформируют модель персонажа. Чтобы эти движения были реалистичными, используется технология захвата движения.
В 3ds Мах 8 существует специальный модуль для создания анимации персонажей — Character Studio (см. разд. «Модуль Character Studio* гл. 8). Он содержит большую библиотеку движений, полученных по технологии захвата движения. Данную библиотеку можно использовать с уже готовым скелетом трехмерного персонажа.
Дополнительный модуль Bones Pro предлагает альтернативу стандартным средствам 3ds Мах 8 по работе с анимацией персонажей методом скелетной деформации. С его помощью можно моделировать реалистичные скелеты или части скелета персонажей. Объект MetaBone (Метакость), который входит в состав дополнительного модуля, позволяет более точно смоделировать движения коленного и локтевого суставов.
Несмотря на то, что Bones Pro использует свой метод создания скелетной анимации, он тесно связан со стандартными средствами и имеет инструменты для преобразования костей, созданных в 3ds Мах 8 (рис. 15.4).
Рис. 15.4. Пример использования дополнительного модуля Bones Pro
Clay Studio Pro
Модуль Clay Studio Pro добавляет в программу 3ds Max 8 следующие инструменты: объекты Clay Sphere (Сфера) и Clay Spline (Сплайн), а также несколько утилит (Clay Converter, Clay Global Settings, Clay Primitive Snapshot). Clay Studio Pro (рис. 15.5) является альтернативой стандартному объекту BlobMesh (Блоб-поверхность), который служит для моделирования при помощи метасфер.
Созданные на основе метасфер объекты чаще всего используются для моделирования различных органических образований — от жидкостей до персонажей животного мира. Clay Studio Pro предлагает для создания объектов такого типа более широкий инструментарий, чем стандартные средства 3ds Мах 8. Например, при помощи дополнительного модуля можно сделать следующее:
создать объект на основе метасферы по заданному сплайну;
преобразовать любой объект 3ds Мах 8 в метасферический;
работать с метасферическим объектом так же, как с обычным (в частности, применять к нему модификаторы).
Рис. 15.5. Настройки дополнительного модуля Clay Studio Pro
Digi People
Добавляет одноименную строку в категорию Geometry (Геометрия) вкладки Create (Создание) командной панели. Модуль DigiPeople предназначен для создания в трехмерной сцене большого количества моделей людей. Его очень удобно использовать, когда нужно разработать большое количество персонажей на заднем плане сцены. Используя настройки объекта, можно создавать самые разные фигуры людей (например, детей), группы объектов, а также подбирать текстуры для каждого элемента объекта.
Darwin
Название этого подключаемого модуля очень удачно сочетается с его концепцией. Основное предназначение модуля Darwin — создание живых существ (рис. 15.6). Он содержит большое количество библиотек-заготовок, в числе которых ноги,
головы, шеи, хвосты и т. д. Выбрав нужное сочетание частей тела, можно за несколько минут создать, например, чудовище из фильма «Парк Юрского периода». Помимо чудовищ, модуль Darwin позволяет создавать животных: зайцев, котов, слонов и т. д. Добавляемые в сцену части тела имеют скелет, что значительно ускоряет работу.
Рис. 15.6. Объект, созданный при помощи плагина Darwin
Head Designer
Одна из самых сложных задач моделирования — создание человеческого лица. Любая неточность может привести к тому, что созданная модель будет выглядеть неестественно. Кроме того, такая работа отнимает очень много сил и времени. Задача существенно упростится, если воспользоваться подключаемым модулем Head Designer.
Моделирование головы (рис. 15.7) при помощи этого подключаемого модуля напоминает создание фоторобота. Модуль Head Designer создает человеческую голову (мужскую или женскую) одного из имеющихся в программе типов (всего их 13). Вся работа с ним сводится к изменению многочисленных настроек для достижения желаемого результата.
Рис. 15.7. Голова, созданная с использованием плагина Head DesignerРис. 15.7. Голова, созданная с использованием плагина Head Designer
Рис. 15.7. Голова, созданная с использованием плагина Head Designer
Рис. 15.7. Голова, созданная с использованием плагина Head Designer
Lightning
С помощью этого подключаемого модуля создается молния между объектами, ко
торая имеет вид произвольной кривой (рис. 15.8). Чтобы она была реалистичной, она должна «светиться». Для этого можно использовать набор стандартных эффектов 3ds Мах, например фильтр Glow (Свечение) (подробнее об использовании этого фильтра см. в гл. 13).
Рис. 15.8. Эффект, созданный при помощи дополнительного модуля Lightning
LumeTools
LumeTools представляет собой подборку дополнительных процедурных карт и материалов, предназначенных в основном для создания органических объектов. Среди них можно выделить следующие;
LumeLandscape (Ландшафт) — процедурная карта для имитации земной поверхности и возвышений (от холмов до горных кряжей);
LumeOcean (Океан) — процедурная карта для моделирования реалистичной поверхности океана (рис. 15.9);
1ЪЖ|Ц IX I# |А l^ йП@ Ж*. д. ptfuse Соки: % рар#13 Luff^Ocwn I
Рис. 15.9. Настройки процедурной карты LumeOcean (Океан)
LumeWater (Вода) — тип материала, который позволяет не только имитировать водную поверхность, но и создать трехмерный подводный мир, используя эффект LumeSubmerge (Погружение) (он воспроизводит дымку, которую можно наблюдать под водой).
QuickDirt
В реальности объекты почти никогда не бывают идеально ровными и чистыми. На книге, например, обычно есть потертости на корешке, стол всегда немного поцарапан и т. д. Если разработчик трехмерной графики хочет сделать по-настоящему реалистичное изображение, то он обязательно должен учитывать подобные моменты. Дополнительный модуль QuickDirt — один из полезных инструментов, который может помочь это сделать.
При помощи QuickDirt можно нанести на заданные места объекта грязь и неровности, тем самым сделав его более похожим на настоящий. Кроме того, дополнительный модуль может использоваться для создания снежных вершин горных кряжей (рис. 15.10).
Рис. 15.10. Горный ландшафт, созданный с использованием плагина QiuckDirt
Particle Studio
Particle Studio — это пакет, состоящий из трех модулей: Particle Studio Helper, Particle Studio Snapshot Utility и Particle Studio. Как нетрудно догадаться из названия, пакет представляет собой решение для работы с частицами в 3ds Мах 8.
Данный дополнительный модуль напоминает встроенный в 3ds Мах 8 модуль Particle Flow для работы с системами частиц (подробнее о Particle Flow см. в гл. 9).
Действие Particle Studio также основывается па событийной модели, что дает возможность полного управления частицами.
Удобной функцией Particle Studio является возможность «фотографирования» положения частиц в сцене и создания из них слепка в виде Editable Mesh (Редактируемая поверхность) или большого количества объектов. В последнем случае программа принимает каждую частицу за отдельный объект. Это может помочь при создании сцен, в которых нужно подкорректировать положение частиц вручную (например, когда с их помощью создается крона дерева).
Sand Blaster
Sand Blaster является упрошенной версией пакета Particle Studio и служит для создания всего одного, но очень интересного эффекта. Модуль Sand Blaster может мгновенно разбить на 1000 осколков обычную геометрическую фигуру 3ds Мах 8, а затем собрать их, сформировав при этом совершенно другой объект. Несмотря на большое количество настроек (рис. 15.11) и кажущуюся сложность такого эффекта, его можно реализовать достаточно быстро.
Рис. 15.11. Настройки модуля Sand Blaster
Texture Lab
Данный пакет представляет собой набор процедурных карт для создания атмосферных эффектов и природных объектов. В комплект поставки дополнительного модуля входят также библиотеки материалов. При помощи включенных в его состав текстур можно без труда создать, например, пчелиные соты, эффект горения или тумана. Рассмотрим некоторые карты Texture Lab подробнее.
Elemental Electricity (Электричество) — имеет рисунок электрических разрядов.
Elemental Fire (Огонь) — анимированный эффект горения.
Elemental Fog (Туман) — эффект тумана (рис. 15.12). Данная карта может пригодиться, например, для создания сцены с туманом на заднем плане. В этом случае использовать встроенный в 3ds Мах 8 эффект тумана нецелесообразно, так как его просчет займет гораздо больше времени, чем визуализация сцены с использованием карты Elemental Fog (Туман).
Рис. 15.12. Результат применения к объекту процедурной карты Elemental Fog (Туман)
Tiling Lattice (Повторяющаяся решетка) — прекрасная карта для текстурирования сцены, на некоторые объекты которой нужно нанести повторяющийся рисунок. Ее можно использовать, например, для создания рисунка на паркете.
The Essential Textures
Предоставляет самый большой набор дополнительных процедурных карт для 3ds Мах 8 — около 50 карт разнообразного назначения и библиотеку материалов (рис. 15.13).
Рис. 15.13. Процедурные карты, добавляемые в программу модулем The Essential Textures
Карты можно использовать как в сценах, где нужно сформировать материал для органических объектов, так и при создании металлических и иных объектов, а также различных эффектов. Среди карт, которые входят в состав The Essential Textures, можно отметить следующие:
wl Burnish (Полировка) — создает рисунок алюминия;
wl Caustics (Каустика) — имитирует блики на поверхности объекта, которые могут быть вызваны, например, отражением солнечных лучей от воды (рис. 15.14). Использовать эту карту удобно, так как просчет эффекта каустики (см. разд. «Общие сведения о визуализации в трехмерной графике» гл. 14), устанавливаемого в настройках виэуализатора, занимает гораздо больше времени;
wl CedarShingles (Деревянная черепица) — рисунок черепицы или других подобных объектов;
Рис. 15.14. Результат применения к объекту процедурной карты wl Caustics (Каустика)
wl Gas Pla net (Атмосфера планеты) — моделирует атмосферу планеты;
wl Rain Drops (Капли дождя) — эффект расходящихся от капель дождя кругов на водной поверхности (рис. 15.15);
Рис. 15.15. Результат применения к объекту процедурной карты wl RainDrops (Капли дождя)
wl Streak (Царапина) — имитирует деревянную, а также поцарапанную поверхности.
Модули Blur Beta
Дополнительные модули Blur Beta, как и модули от Digimation, весьма популярны у пользователей 3ds Мах 8. Компания Blur Beta предлагает дополнительные объекты, модификаторы, процедурные карты, материалы и фильтры постобработки. Нужно отметить, что разработки Blur Beta выполнены не на таком высоком уровне, как продукты Digimation, зато они доступны любому пользователю 3ds Мах 8, так как являются бесплатными. Скачать эти дополнительные модули можно с сайта разработчика.
Модули Blur Beta могут помочь в выполнении самых разных задач. Остановимся на наиболее интересных из них.
Blur Decay Noise (Шум с затуханием) — данный дополнительный модуль является усовершенствованием стандартного модификатора Noise (Шум). В отличие от стандартного модификатора, он позволяет управлять параметром Decay (Затухание), благодаря чему можно добиться хороших результатов.
Blur Fire (Огонь) — атмосферный эффект, который является альтернативой стандартному эффекту горения 3ds Мах 8. От стандартного эффекта дополнительный модуль отличается возможностью управления его параметрами при анимации, а также отдельными настройками для каждой из трех составляющих пламени (рис. 15.16). Это дает возможность каждый раз получать неповторимый эффект.
ааРис. 15.16. Настройки эффекта Blur Ftre (Огонь): a — верхняя часть, б — нижняяРис. 15.16. Настройки эффекта Blur Ftre (Огонь): a — верхняя часть, б — нижняяSource ApparatusSource Apparatusг Соки Gradenf; — 11— г Соки Gradenf; — 11— 1ппи CokxOuter Lotot1ппи CokxOuter Lotot” Fie Parameters — —” Fie Parameters — —Type Г Filament < Regular Pre Width Clamp [Y.O Y Height Clamp-11.0Cj , 'Den^ty [5й 0; Conlanmenl рП*| jSamples 120 CRame Deidi-Flame Size |T5' ^ Sueich ЮFlame Deta* [7T:Cwt pfoАпгтабогиPhase Veloaty. p Б ‘ Cj *^* [TS Z Convection Velocity (6^49 C1 11.0 YType Г Filament < Regular Pre Width Clamp [Y.O Y Height Clamp-11.0Cj , 'Den^ty [5й 0; Conlanmenl рП*| jSamples 120 CRame Deidi-Flame Size |T5' ^ Sueich ЮFlame Deta* [7T:Cwt pfoАпгтабогиPhase Veloaty. p Б ‘ Cj *^* [TS Z Convection Velocity (6^49 C1 11.0 YBlur Fire_^_Blur Fire_^_6
а
а
Рис. 15.16. Настройки эффекта Blur Ftre (Огонь): a — верхняя часть, б — нижняя
Рис. 15.16. Настройки эффекта Blur Ftre (Огонь): a — верхняя часть, б — нижняя
Source Apparatus
Source Apparatus
г Соки Gradenf; — 11—
г Соки Gradenf; — 11—
1ппи CokxOuter Lotot
1ппи CokxOuter Lotot
” Fie Parameters — —
” Fie Parameters — —
Type Г Filament < Regular Pre Width Clamp [Y.O Y Height Clamp-11.0Cj , '
Den^ty [5й 0; Conlanmenl рП*| j
Samples 120 C
Rame Deidi-
Flame Size |T5' ^ Sueich Ю
Flame Deta* [7T:Cwt pfo
Апгтабоги
Phase Veloaty. p Б ‘ Cj *^* [TS Z Convection Velocity (6^49 C1 11.0 Y
Type Г Filament < Regular Pre Width Clamp [Y.O Y Height Clamp-11.0Cj , '
Den^ty [5й 0; Conlanmenl рП*| j
Samples 120 C
Rame Deidi-
Flame Size |T5' ^ Sueich Ю
Flame Deta* [7T:Cwt pfo
Апгтабоги
Phase Veloaty. p Б ‘ Cj *^* [TS Z Convection Velocity (6^49 C1 11.0 Y
Blur Fire_^_
Blur Fire_^_
Camoflage (Камуфляж) — дополнительная процедурная карта, позволяющая быстро создавать для объектов сцены форму цвета хаки (рис. 15.17). Карта будет полезла прежде всего при моделировании сцен военной тематики, в которых нужно работать над одеждой персонажей.
Рис. 15.17. Пример использования модуля Camoflage (Камуфляж)
Cast Shadows Only (Только тени) — объекты, к которым применен данный тип материала (рис. 15.18) становятся невидимыми, но при этом отбрасывают тени.
[Тr»#nt^l ,ау С»л№гап||
Рис. 15.18. Настройки модуля Cast Shadows Only (Только тени)
Dirt (Грязь) — дополнительная процедурная карта, которая позволяет создавать загрязненные участки на поверхности объектов. В отличие от дополнительного модуля Digimation QuickDirt (см. выше), эта карта проста в использовании.
DynoSkin (Кожа динозавра) — процедурная карта, которая может пригодиться при моделировании разнообразных органических объектов (например, кожи динозавра). При использовании DynoSkin (Кожа динозавра) в качестве карты Bump (Рельеф) позволяет очень реалистично воссоздать выпуклости и вогнутости на грубой коже динозавра (рис. 15.19).
081™ Color: *<- |Ма₽#23 C^kin
Рис. 15.19. Настройки модуля DynoSkin (Кожа динозавра)
I-System Object (Объект L-система) — дополнительный объект для создания примитивов разнообразной формы (от причудливых растений (рис. 15.20) до морских раковин). Используя многочисленные настройки, можно получить совершенно разные объекты, глядя на которые трудно поверить, что они созданы
с помощью одного и того же модуля. Дополнительный модуль имеет свою бибс помощью одного и того же модуля. Дополнительный модуль имеет свою библиотеку с готовыми объектами разной формы.лиотеку с готовыми объектами разной формы.Рис. 15.20. Пример использования модуля L-System Object (Объект L-система)Рис. 15.20. Пример использования модуля L-System Object (Объект L-система)
с помощью одного и того же модуля. Дополнительный модуль имеет свою биб
с помощью одного и того же модуля. Дополнительный модуль имеет свою биб
лиотеку с готовыми объектами разной формы.
лиотеку с готовыми объектами разной формы.
Рис. 15.20. Пример использования модуля L-System Object (Объект L-система)
Рис. 15.20. Пример использования модуля L-System Object (Объект L-система)
Maelstrom (Водоворот) — напоминает стандартный модификатор Ripple (Рябь). При помощи Maelstrom (Водоворот) поверхность объекта можно не только покрыть мелкой рябью, но и образовать на ней воронку, зыбь и водоворот. Этот модификатор удобно использовать для создания водных поверхностей.
PathCylinder (Цилиндр с шипами) - добавляет к инструментарию 3ds Мах 8 дополнительный объект в виде цилиндра с шипами (рис. 15.21). Такой объект можно использовать для декорирования отдельных элементов сцены.
Рис. 15.21. Объект PathCylinder (Цилиндр с шипами)
Rain (Дождь) — процедурная карта, которая помогает изобразить расходящиеся круги от капель дождя. Подключаемый модуль представляет собой расширенный вариант процедурной карты Drip (Капанье), которая применяется в качестве процедурной карта Bump (Рельеф) и служит для моделирования эффекта расходящихся волн от упавшей капли.
Twist-0-Rama (Скручивание) — напоминает стандартный модификатор Twist (Скручивание). При помощи Twist-0-Rama (Скручивание) можно скручивать объект не в одном направлении, а сразу в пяти (рис. 15.22).
Рис. 15.22. Пример использования модуля Twist-O-Rama (Скручивание)
Wake (Рябь) — модификатор, позволяющий деформировать поверхность таким образом, что на ней появляется мелкая рябь, которая распространяется в заданном направлении (рис. 15.23). Данный модификатор удобно использовать для моделирования водных поверхностей, когда нужно показать расходящиеся волны.
Рис. 15.23. Пример использования модуля Wake (Рябь)
WaterCeU (Пенящаяся вода) — одна из многочисленных процедурных карт, предназначенных для имитации водной поверхности (рис. 15.24). Данная карта помогает воссоздать пенящуюся воду.
Рис. 15.24. Настройки дополнительного модуля WaterCeU (Пенящаяся вода)
WaterWash (Смешивание воды) — предназначен для имитации водной поверхности. Он определенным способом смешивает три типа цвета. В свитке WaterWash Parameters (Параметры смешивания воды) настроек модуля определяются диапазон изменения интенсивности цвета (параметры High (Высокий) и Low (Низкий)), степень детализации рисунка (Detail Size (Размер детали)), размытость (Gain (Размытость)).
Модули HABWare
Дополнительные модули HABWare (http://www.habware.at), как и модули от Blur Beta, очень популярны у пользователей 3ds Мах прежде всего благодаря тому, что распространяются бесплатно. Модули HABWare для разных версий 3ds Мах можно скачать с сайта разработчика. Выпускаемые этой компанией дополнительные модули весьма своеобразны. Они предлагают инструменты, которые не нужны большинству пользователей каждый день. Однако когда перед разработчиком трехмерной графики стоит узкая задача, на выполнение которой стандартными средствами можно потратить огромное количество времени и сил, небольшой дополнительный модуль от HABWare превратит ее решение в дело нескольких минут. Например, при помощи модулей HABWare можно создавать специфические объекты, выполнять экспорт/импорт форматов, которые 3ds Мах 8 по умолчанию не поддерживает.
Рассмотрим самые интересные дополнительные модули HABWare подробнее.
Blobs (Комки) — альтернатива стандартному объекту ВtobMesh (Блоб-поверхность). Дополнительный модуль позволяет создавать на основе метасфер объекты, которые можно использовать для имитации поведения жидкостей и создания других органических объектов. Модуль Blobs (Комки) содержит два вида примитивов: В Ball (Сфера) и BCylinder (Цилиндр), которые различаются по форме. Подбирая нужную форму метасферы в каждом конкретном случае, можно добиться хороших результатов.
Moebius (Мёбиус) — объект, который позволяет одним щелчком мышью создать ленту Мёбиуса. На рис. 15.25 показаны настройки данного объекта. Он может пригодиться как при создании презентаций, так и для моделирования элементов декора (рис. 15.26).
Particle Texture (Текстура частиц) — оригинальный модуль для работы с частицами. Он представляет собой набор дополнительных процедурных карт, которые применяются к группам частиц, имеющим одинаковые параметры (продолжительность жизни, размер и скорость).
Patch work (Заплатка) — альтернатива стандартной карте Checker (Шахматная текстура). Процедурная карта содержит дна составляющих цвета (или карты), которые выбираются при помощи кнопки Maps (Карты). Дополнительный модуль позволяет выбрать один из следующих типов рисунка: Quad (Квадрат), Triangle (Треугольник) или Circle (Круг).
SgiLogo (Логотип) — объект, напоминающий знакомую всем пользователям Windows заставку Трубопровод. Он представляет собой изгибающуюся во всех указанных направлениях трубу (рис. 15.27). SgiLogo (Логотип) незаменим при создании логотипов, а также объектов со сложной структурой.
Spider (Паук) — дополнительный объект, позволяющий несколькими щелчками мышью создать паутину на любом объекте (например, на ветвях дерева или на оконной раме) (рис. 15.28). Этот объект нужно использовать вместе со стандартным модификатором Lattice (Решетка).
Рис. 15.25. Настройки объекта Moebius (Мёбиус)
Рис. 15.26. Объект Moebius (Мёбиус)
Рис. 15.27. Пример использования дополнительного модуля SgiLago (Логотип)
Рис. 15.28 Пример использования модуля Spider (Паук)
Sticks (Прутья) — напоминает стандартный модификатор Lattice (Решетка). Он добавляет в интерфейс 3ds Мах модификатор Sticks'n Balls (Прутья и шарики), который позволяет задать форму сечения решетки (либо округлую, либо квадратную), что невозможно при использовании стандартного модификатора (рис. 15.29).
Рис. 15.29. Исходный объект (справа) и результат применения плагина Sticks (Прутья) (слева)
Water2 (Вода2) — имитирует расходящиеся круги на поверхности жидкости. Чтобы наблюдать этот эффект, необходимо создать источник частиц, расположить его так, чтобы частицы попадали на объект. После этого создается объемная деформация PWaves (P-волны) и в свитке Parameter (Параметры) при помощи кнопки Pick Object (Указатьобъект) выбирается объект, на который попадают частицы. Объемная деформация связывается с источником частиц при помощи команды Bind to Space Warp (Привязать к объемной деформации). В качестве карты Diffuse (Рассеивание) выбирается процедурная карта Particled Water (Ячеистая вода). Теперь при попадании частиц на объект в месте соударения будут возникать расходящиеся окружности.
XldMary — подключаемый модуль добавляет свой тин камеры XldMary. Такая камера предназначена для получения стереоизображения. Управляя положением камеры XldMary, пользователь имеет возможность визуализировать сцену двумя виртуальными камерами XldMary Left (Камера XldMary слева) и XldMary Right (Камера XldMary справа). Они находятся на некотором расстоянии друг от друга и играют роль правого и левого глаз человека. Настройки обеих камер аналогичны параметрам стандартных камер 3ds Мах.
Модули Effectware
Модули, предлагаемые компанией EffectWare (http://www.effectware.com), можно использовать на разных этапах создания трехмерных сцен — от моделирования до применения фильтров постобработки. Дополнительные модули EffectWare
существенно расширяют возможности 3ds Мах 8 по созданию разнообразных сложи ых примитивов — от вращающегося рекламного щита до кубика Рубика. Кроме того, умело используя дополнительные модули EffectWare, можно создавать всевозможные эффекты при помощи большого количества дополнительных фильтров постобработки изображений. Дополнительные модули EffectWare доступны любому пользователю 3ds Мах 8, так как являются бесплатными. Они доступны для свободной загрузки с сайта разработчика.
Рассмотрим некоторые дополнительные модули EffectWare подробнее.
ADPlate (Рекламный щит) — объект, представляющий собой вращающийся рекламный щит. Он состоит из треугольных брусков, каждая грань которых может иметь свою текстуру. Анимировав такой объект, можно вставить его в сцену современного города, который без рекламы выглядит нереалистично. На рис. 15.30 показаны настройки данного объекта.
Рис. 15.30. Настройки объекта ADPIate (Рекламный щит)
Airfoil Shape (Профиль крыла) — создает кривую, по виду напоминающую профиль крыла. Дополнительный модуль может пригодиться, когда необходимо быстро смоделировать крыло. Он создает сплайновый профиль, который можно
превратить в крыло, воспользовавшись операцией лофтинга. Подключаемый модуль также можно использовать для быстрого создания других объектов, например декоративных украшений: подставок, орнаментов и пр.
Beams — подключаемый модуль создает четыре типа кривых: (Beam, НВеат, IBeam, LBeam. Кривые напоминают балки различной формы (наподобие латинских букв С, Н, I, L) (рис. 15.31). Эти сплайны можно использовать для создания объектов соответствующей формы, применив к ним стандартный модификатор Extrude (Выдавливание). Такие объекты очень удобно использовать для архитектурной визуализации. Сплайны Beams легко превращаются в столики, скамейки, диваны и т. д.
Рис. 15.31. Объекты Beams
ПРИМЕЧАНИЕ
Трехмерные кривые, добавляемые в интерфейс 3ds Мах дополнительным модулем Beams, похожи на инструменты группы Extended Splines (Сложные сплайны), которые доступны пользователям 3ds Мах 8 (см. гл. 4).
Frame Counter (Счетчик кадров) — фильтр постобработки изображения, позволяющий добавить счетчик кадров в угол изображения в формате «час:мин:сек:кадр».
Helicoid (Спираль) — дополнительный объект, представляю щий собой спираль. На рис. 15.32 показаны настройки данного объекта. Он прекрасно подходит для создания различных скрученных объектов: сверл, гирлянд и др. (рис. 15.33).
Рис. 15.32. Настройки модуля Helicoid (Спираль)
Рис. 15.33. Штопор, созданный при помощи дополнительно модуля Helicoid (Спираль)
Mosaic (Мозаика) — фильтр постобработки, позволяющий получить мозаичное изображение. Фильтр работает и с полной сценой, и с выбранными объектами, то есть можно сделать мозаичными только некоторые объекты сцены.
Mountain (Гора) — удобный дополнительный объект, позволяющий без применения модификаторов сформировать горный ландшафт. На рис. 15.34 показаны настройки объекта. Горы создаются по фрактальному алгоритму, поэтому два раза один и тот же ландшафт не получится. Такой объект выглядит очень правдоподобно.
^I^^ieimt io d "f & a v %
ElfectWars Objects
Рис. 15.34. Настройки дополнительного модуля Mountain (Гора)
Rotate (Вращение) — фильтр постобработки, позволяющий вращать изображение под разным углом вдоль каждой координатной осп. Фильтр имеет большое количество настроек, что дает возможность добиться такого изображения, которое рисует ваша фантазия.
Rubik's Cube Animator (Анимированный кубик Рубика) — к созданию такого сложного примитива, как кубик Рубика, разработчики из компании EffectWare
подошли столь серьезно, что дополнительный модуль из объекта превратился в утилиту с многочисленными настройками. Главные достоинства модуля — это возможность его анимировать, а также собственная текстура для каждой грани кубика. Кубик Рубика может использоваться, например, при создании рекламных заставок или логотипов.
Stairs (Лестницы) — этот дополнительный модуль является альтернативой стандартным объектам 3ds Мах 8 группы Stairs (Лестницы). Он позволяет создавать два типа лестниц: Normal. Stair (Прямая лестница) и Spiral Stair (Винтовая лестница) (рис. 15.35). Особенностью данного модуля является совместимость с модулем Character Studio. Персонаж, созданный при помощи Character Studio, может подняться по лестнице, которая построена с использованием модуля Stairs (Лестницы) компании EffectWare.
Рис. 15.35. Примеры использования дополнительного модуля Stairs (Лестницы)
SuperQuadrics (Суперобъект) — оригинальный объект, напоминающий тор или эллипсоид, сжатый с четырех сторон. При помощи многочисленных настроек дополнительного модуля объект. создаваемый по умолчанию, можно превратить, например, во флюгер, волчок или в лопасти вентилятора,
Wing Maker (Создатель крыльев) — этот модуль похож на Airfoil Shape (Форма крыла) (см. выше). Однако, в отличие от него, Wing Maker (Создатель крыльев) создает не кривую, а готовый объект (рис. 15.36), Скорее всего, такой тип объекта понадобится тем, кто занимается моделированием летательных аппаратов.
Рис. 15.36. Объект, полученный при помощи подключаемого модуля Wing Maker (Создатель крыльев)
Модули Питера Ватье
Питер Ватье (Piter Watje) — одни из самых известных разработчиков бесплатных плагинов для 3ds Мах, начиная еще с самых первых версий. Его сайт http:// www.max3dstuff.com существует с далекого 1996 года. К сожалению, со времен 3ds Мах 5 разработчик практически не выпускает новые подключаемые модули, а многие из старых перестали быть актуальными, так как и последних версиях 3ds Мах появились встроенные инструменты, аналогичные тем плагинам, которые предлагал Питер Ватье. Тем не менее некоторые его модули все еще могут быть достаточно полезны, тем более что они перекомпилированы для 3ds Мах 6/7 и их можно использовать в 3ds Мах 8.
ПРИМЕЧАНИЕ
В связи с тем, что программа 3ds Мах постоянно совершенствуется, время от времени разработчики изменяют движок, на котором создана программа. В результате подключаемые модули, созданные сторонними разработчиками для старых версий 3ds Мах, не могут работать с новыми и должны быть перекомпилированы. Так, плагины, созданные для 3ds Мах 3/4, не могут работать с 3ds Мах 5 и выше, а модули, созданные для 3ds Мах 5, не подходят для использования в 3ds Мах 6/7/8.
Cellu 1аг2D (Двухмерные ячейки) — это двухмерная интерпретация стандартной процедурной карты Cellular (Ячейки). Такая карта предназначена для имитирования ячеистой поверхности, например асфальта или пенопласта.
Cross Section Object (Поперечное сечение объекта) — подобен стандартному модификатору CrossSection (Поперечное сечение). Он служит для построения сплайновой фигуры по поперечным сечениям (рис. 15.37). Для его использования необходимо иметь сцену с несколькими кривыми. На основе сплайнов, находящихся в сцене, подключаемый модуль создаст сплайновую решетку будущего объекта.
Рис. 15.37. Пример использования подключаемого модуля Cross Section ObjectРис. 15.37. Пример использования подключаемого модуля Cross Section Object(Поперечное сечение объекта)(Поперечное сечение объекта)
Рис. 15.37. Пример использования подключаемого модуля Cross Section Object
Рис. 15.37. Пример использования подключаемого модуля Cross Section Object
(Поперечное сечение объекта)
(Поперечное сечение объекта)
в Hair (Волосы) - дополнительный модуль, позволяющий моделировать растительность, принимая волосы за отдельные частицы. Чтобы отдельные частицы приняли вид волос, при визуализации подключаемый модуль выстраивает их в одну линию. Эту линию можно задать при помощи стандартного сплайна. Для обеспечения самой разной формы полос имеются различные типы частиц — треугольники, звездоч ки, прямоуго льники.
Lag Mod (Скручивающий модификатор) — напоминает стандартный модификатор Flex (Сгиб). Если Flex (Сгиб) позволяет моделировать гибкие упругие деформации в динамике и имитирует силы инерции, то Lag Mod (Скручивающий модификатор) имеет упрощенные настройки и не умеет, как его предшественник, работать, например, с отражателями (Deflectors).
Map Blender (Карта смешивания) — удобная процедурная карта, которая позволяет смешивать до 10 пар различных текстур. Кнопки смешиваемых текстур
располагаются в свитке Parameters (Параметры). Напротив каждой из пар устанавливается параметр (в процентах), определяющий преобладание в процедурной карте Map Blender (Карта смешивания) данной смеси карт. Устанавливая или снимая флажки, можно включать или исключать из материала пары процедурных карт.
в MeshToSpline (Сетку в сплайн) — данный подключаемый модуль был разработан для того, чтобы любой объект можно было преобразовать в сетку сплайнов (рис. 15.38). Такой модификатор дает возможность работать с инструментами сплайнового моделирования.
Рис. 15.38. Объект, созданный при помощи подключаемого модуля MeshToSpline (Сетку в сплайн)
Noise 2D (Двухмерный шум) — дополнительная процедурная карта, напоминающая стандартную процедурную карту Noise (Шум). В отличие от nee, Noise 2D (Двухмерный шум) создает только двухмерный шум на поверхности объекта.
Object Deform (Деформация объекта) — иногда при моделировании снега, песка или рыхлой земли необходимо обозначить на поверхности чьи-то следы. Если поверхность такого типа сделать гладкой, это будет сразу бросаться в глаза и выглядеть неестественно. Для решения этой задачи можно использовать модификатор Object Deform (Деформация объекта). С его помощью вы сможете
создавать деформацию одного объекта другим (рис. 15.39), Кроме этого, Object Deform (Деформация объекта) удобно использовать для имитации столкновений объектов.
Particle Paint (Рисование по частицам) — обеспечивает очень интересный эффект, в котором принимают участие как частицы, так и присутствующие в сцене объекты. При сближении частиц с объектом, к которому применен Particle Paint (Рисование по частицам), материалы, назначенные частицам, смешиваются с материалом объекта. Каждый раз, когда частица пролетает мимо объекта, к которому применен материал Particle Paint (Рисование до частицам), материалы смешиваются. Чтобы было легче понять, что означает эта фраза, представьте желтый снег, падающий на красную землю. Когда частицы и объект будут находиться в непосредственной близости, земля станет оранжевой.
Рис. 15.39. Деформация объектов, созданная при помощи модификатора Object Deform (Деформация объекта)
Wave 2D (Двухмерные волны) — процедурная карта для создания эффекта двухмерных волн. В свитке Wave 2D Parameters (Параметры двухмерных волн) можно указать цвет или текстуру волн, их тип — Radial (Круговые) или Linear (Прямые) (рис. 15.40).
Рис. 15.40. Настройки процедурной карты Wave 2D (Двухмерные волны)
Модули Павла Кузнецова
Павел Кузнецов (http://www.Lastjedioutpost.cgtalk.ru) — это один из немногих российских разработчиков дополнительных модулей для 3ds Мах. Большинство плагинов, которые он предлагает, предназначены для создания эффектов постобработки. Эти модули просты в использовании и помогают разнообразить сцену интересными эффектами. К тому же его разработки бесплатны, а потому доступны для всех пользователей 3ds Мах.
Adjust Color (Настройка цвета) — позволяет подкорректировать цвет в визуализированном изображении после просчета. Плагин дает возможность управлять яркостью, контрастностью и цветовой гаммой каждого цветового канала: красного, синего и зеленого. Кроме этого, можно изменить общую насыщенность цветов изображения.
Milky Way (Млечный путь) — создает небо, усеянное звездами. Плагин позволяет строить Млечный путь и работает с эффектом смазанного движения.
Replace ID (Заменить идентификатор) — позволяет анимироват ь такие параметры, как Object Channel ID (Идентификатор канала объекта) и Material Effect ID (Идентификатор эффекта материала) после визуализации.
Surface Blur (Размытие поверхности) — размывает выбранные объекты в сцене.
Throughout (Повсюду) — вспомогательный эффект, модифицирующий каналы Object ID и Material ID таким образом, чтобы стало возможно последующее применение фильтров постобработки Lens Effects Glow (Эффекты линзы: свечение) и Lens Effects Highlight (Эффекты линзы: подсветка) и др. к объектам, которые закрыты другими объектами в сцене.
Trail (След) — помогает создать в пространстве след от двигателей космического корабля, выстрелов и пр. Плагин хорош тем, что позволяет добиться нужного следа без использования для этого лишних объектов. Эффект применяется к готовому изображению после визуализации, что значительно быстрее, чем если бы он был создан непосредственно в сцене.
Дополнительные модули для визуализации
Среди всех модулей дополнительные модули для визуализации представляют особый интерес. Визуализация является едва ли не самым важным этапом работы над трехмерной сценой, поэтому ей уделяется особое внимание. Поскольку используемый по умолчанию аппарат визуализации 3ds Мах 8 далек от совершенства, применяются внешние (подключаемые) визуализаторы, Один из них — mental ray — даже интегрирован в 3ds Мах, начиная с шестой версии программы. Однако и он в полной мере не удовлетворяет потребностям создателей трехмерной графики, прежде всего потому, что очень медленно работает.
П РИ М ЕЧ АН И Е
Подробнее о работе с mental ray читайте в разд. «Визуализатор mental ray 3.4» гл. 14.
На сегодняшний день существует несколько визуализаторов, которые конкурируют- и борют ся друг с другом за право считаться лучшим решением для просчета сцен в 3ds Мах 8. Среди них можно отметить Brazil r/s от компании SplutterFish (http:/ /www.splutterfish.com), GnalRender от фирмы Cebas (http://www.finalrender.com) и VRay от компании Chaos Group (http://www.vrayrender.com).
Нужно отметить, что ни один из этих визуализаторов не может считаться лучшим для просчета сцен любого типа в 3ds Мах 8. У каждого визуализатора есть свои достоинства и недостатки. Как нам кажется, золотой серединой является VRay, который дает хорошие результаты при высокой скорости просчета. Самый медленный (за исключением, наверное, интегрированного mental ray) — Brazil r/s, однако качество картинки, полученной с его помощью, пожалуй, < амое высокое.
Выбирать визуализатор необходимо, исходя из поставленной задачи. Для просчета интерьеров лучше всего подойдет VRay, а для анимации — final Render. Визуализатор finalRender работает очень нестабильно, его слабым местом является сглаживающий фильтр. Правда, каустику он считает быстрее всех. Если же вы работаете над дизайнерским проектом и создаете, например трехмерную модель наручных часов, то имеет смысл использовать Brazil r/s.
ВНИМАНИЕ
Алгоритмы визуализации постоянно совершенствуются, поэтому, когда вы будете читать эту книгу, положение на рынке визуализаторов для 3ds Мах, возможно, будет совершенно иным. Конкурируя между собой, компании-разработчики этих дополнительных модулей постоянно добавляют к своим продуктам что-то новое, а также улучшают имеющиеся возможности.
Brazil r/s
В большинстве случаев дополнительные модули для просчета сцены добавляют в интерфейс 3ds Мах 8 не только свой визуалнзатор, но и другие инструменты, которые в результате помогают получать еще более качественное изображение. К таким инструментам относятся источники света, процедурные карты и типы материалов, а также дополнительные утилиты.
СОВЕТ
Используя дополнительные инструменты, добавляемые внешними визуализаторами, следует иметь в виду, что большинство из них корректно работает только при использовании собственного визуализатора. Например, материалы, добавляемые Brazil r/s, нельзя использовать в сценах, которые просчитываются стандартным визуализатором.
В этом плане не является исключением и модуль Brazil r/s. Он добавляет в 3ds Мах 8 большое количество объектов, использование которых в сочетании с визуализатором делает финальное изображение реалистичным. Среди них можно отметить следующие.
Источник света Light (Свет).
Тип теней Ray Shadows (Тени).
Виртуальная камера ВСат (Камера). В отличие от стандартной виртуальной камеры, ВСат (Камера) отображает в окне проекции область, в которой находится фокус камеры. Для более наглядного отображения эта область представляется в виде плоскости. Цвет данной плоскости, как и любого другого объекта в 3ds Мах 8, можно изменять.
Типы материалов Brazil Advanced (Расширенный материал), Brazil Basic Mtl (Основной материал), Brazil Chrome (Хром), Brazil Glass (Стекло), Brazil Toon (Материал для создания нефотореалистичных изображений) и Brazil Utility (Утилита Brazil).
Утилиты Brazil r/s.
Установка визуализатора Brazil r/s несколько отличается от инсталляции большинства плагинов и может вызвать некоторые проблемы, поэтому остановимся на этом вопросе подробнее.
Для лицензирования визуализатора Brazil r/s используется специальная система авторизации Splutterfish’s license software (sfmgr). Эту систему нужно установить
на рабочей машине только один раз, в дальнейшем она будет запускаться автоматически и работать в фоновом режиме. Система sfmgr определяет наличие лицензии на компьютере и позволяет запустить Brazil r/s.
Чтобы установить sfmgr, необходимо открыть командную строку, выполнив команду Пуск ► Программы > Стандартные ► Командная строка, указать путь к папке, в которой находится файл sfmgr, ехе, и набрать sfmgr -instal 1. Эта команда установит систему авторизации на компьютере. После этого необходимо выполнить команду s fmgr -start, и сервис будет запушен. В дальнейшем система будет запускаться автоматически.
Однако есть вероятность того, что при определении лицензии случится сбой. Это может произойти по двум причинам. Во-первых, если вы нелегально используете продукт компании Splutterfish. Во-вторых, если ваш компьютер не подключен к локальной сети, а лицензия сетевая. Решением второй из указанных проблем авторизации может быть виртуальная сетевая карта Адаптер Microsoft замыкания на себя.
Для ее установки нужно сделать следующее.
Открыть панель управления, выполнив команду Пуск ► Настройка ► Панель управления.
Выбрать элемент Установка оборудования.
В диалоговом окне мастера установить переключатель в положение Да, устройство уже подключено (рис. 15,41).
Рис. 15.41. Окно Мастер установки оборудования
В следующем диалоговом окне выбрать из списка пункт Добавление нового устройства (рис. 15.42).
Рис. 15.42. Окно выбора нового устройстваРис. 15.42. Окно выбора нового устройства
Рис. 15.42. Окно выбора нового устройства
Рис. 15.42. Окно выбора нового устройства
Далее установить переключатель в положение Установка оборудования, выбранного из списка вручную (рис. 15.43).
Мастер установки оборудования
Этот мастер помогает установить новое оборудование
Мастер может выполнить поиск нового оборудования и установить его автоматически. Если же вы точно знаете изготовителя и модель оборудования, которое нужно установить, вы можете выбрать его из списка вручную
Выберите действие. которое следует выполнить.
С Поиск и автоматическая установка оборудования (рекомендуется)
^ Установка оборудования, выбранного из списка вручную
Рис. 15.43. Окно выбора варианта установки нового устройства
Выбрать из списка строку Сетевые платы (рис. 15.44).
Рис. 15.44. Окно выбора типа устанавливаемого устройства
7. Выбрать строку Microsoft из списка в области Изготовитель, а в списке Сетевой адаптер щелкнуть мышью на строке Адаптер Microsoft замыкания на себя (рис. 15.45).
Мастер установки оборудования
Выбор сеггееой платы
Какую сетевую плату требуется установить?
у,«^ Щелкните по названию сетевого адаптера наиболее соответствующего вашеи*у оборудованию, затем нажмите кнопку "Далее*' При наличии установочного диска для этого компонента нажмите к нопку "Установить с диска”
Изготовитель Albed Т elesyn Microsoft
Сетевой адаптер
; Адаптер Microsoft замечания на себя
V Адаптер минипорта Microsoft Iun
L ^ Драйвер имеет иифров-^о подпись
Сяетта.ымпкяь^швейр®йе
ЫстаномШ» с диск*..
< Назад Далее»
Отмена
. Щелкнуть на кнопке Далее для выполнения установки нового оборудования (рис. 15.46).
Рис. 15,46. Окно завершения установки нового оборудования
После перезагрузки компьютера авторизация должна пройти успешно.
FinalRender
Особенность finalRender заключается в гибкой настройке всех параметров. Этот визуализатор имеет такое большое количество настроек, что подробное справочное руководство по нему занимает едва ли не такой же объем, как файл справки 3ds Мах 8. Правда, в последней версии (finalRender Stage 1.35) этого визуализато- ра разработчики попытались немного упростить работу с ним, уменьшив количество параметров, однако и после этого их все равно очень много.
Естественно, большое количество настроек сначала немного затрудняет работу с визуализатором, однако, овладев ими, можно научиться получать требуемый эффект, используя их гибкость.
Кроме собственновизуализатора, finalRender добавляет в инструментарий 3ds Мах 8 следующее:
источники света fR-Objlight (Свечение объектов), fR-PartLight (Свечение частиц), fR-CylinderLight (Цилиндрический источник света) и fR-RectLight (Прямоугольный источник света);
типы теней fR-Shadow Мар (Карта теней), fR-Shadow Raytraced Shadow (Тени, полученные в результате трассировки) и fR-Area Shadows (Мягкие тени);
эффекты fR-Volume Light (Объемный свет) и finalToon (Создание нефотореалистичных изображений);
типы материалов finalToon (Материал для создания нефотореалистичных изображений), fR-Advanced (Расширенный материал), fR-Glass (Стекло) и fR-Matte/ Shadow (Матовое покрытие/тень);
процедурные карты Bitmap HDR (Растровое изображение HDR), finalToon Flat Mirror (Плоское зеркало), finalToon Hatching (Штриховка), finalToon Reflect/Refract (Отражение/Преломление) и fRaytrace (Трассировка);
тип затенения fi n a IToo п (Нефотореалистичный);
утилита finalToon Material Converter (Конвертер материалов finalToon).
Модуль final Render является сертифицированным плагином для 3ds Мах. Программа A CAP (Autodesk Certified Animation Plug-in), известная ранее как DCP (Discreet Certified Program), предусматривает сертификацию лучших плагинов для 3ds Мах разработчиком программы — компанией Autodesk Media and Entertainment. Чтобы дополнительный модуль был занесен в эту программу, он должен пройти тестирование на совместимость с 3ds Мах и другими плагинами, участвующими в программе. Список сертифицированных плагинов постоянно расширяется, все последние новости о программе АСАР вы всегда сможете найти на странице http://www.turbosquid.com/ACAP. Компания Turbo Squid занимается лицензированием и распространением дополнительных модулей, а также осуществляет поддержку пользователей.
VRay
Наконец, третьим визуализатором, ведущим борьбу за право считаться лучшим решением для просчета сцен в 3ds Мах 8, является VRay. Широко использующийся для визуализации интерьеров, этот модуль имеет относительно простые настройки и показывает достаточно высокую скорость просчета.
Визуализатор VRay позволяет работать со следующими дополнениями:
объекты VRayPLane (Плоскость VRay), VRay Fur (Мех VRay) и VRay Proxy (Образец VRay);
модификатор VRayDisplacementMod (Модификатор смещения VRay);
V Ray Li д h t (PI сточник света VRay);
тип теней V R ay S h a do w (Тень VRay);
типы материалов VRayMtl (Материал VRay), VRayLightMtl (Светящийся материал VRay) и V Ray Mt Wrapper (Материал сжатия VRay);
процедурные карты VRayMap (Карта VRay), VrayBmpFilter (Фильтр Bmp Vray), VRayHDRI (Карта VRay HDRI) и V RayEdgesTex (Карта ребер VRay).
Создание стеклянного материала с эффектом абсорбции средствами подключаемых визуализаторов
Опытные разработчики трехмерной графики обычно имеют свои уловки и приемы. Используя накопленный опыт, они с первого взгляда могут безошибочно определить параметры того или иного эффекта, установки аппарата визуализации и т. д. Кроме этого, у каждого профессионала имеется библиотека красивых материалов, с помощью которых можно не только создавать реалистичные сцепы, но даже скрыть недостатки и погрешности геометрии объектов. Одним из наиболее эффектных материалов, который часто используется в различных трехмерных проектах, является стекло.
Общаясь друге другом, мы обычно обобщаем различные вещи, чтобы можно было быстрее передать суть мысли. Например, мы можем сказать, что стол, который мы видим, — деревянный, но при этом не уточняем, светлый он или темный, из какого дерева, покрыт ли он лаком и пр. В контексте разговора этп особенности, скорее всего, не будут важны. Однако если вы захотите воссоздать реалистичное трехмерное изображение такого стола, вам придется долго присматриваться к особенностям его материала.
Если сравнить характеристики материалов, имитирующих свойства дерева и стекла, то можно увидеть, что второй материал имеет значительно больше параметров. На первый взгляд это может показаться странным — если и тот, и другой материал подчиняется одним и тем же законам физики, то почему настройки материалов разные? Разница в настройках материалов объясняется тем, что поскольку не все физические явления, происходящие с одним и другим материалом, одинаково хорошо заметны, некоторыми физическими процессами можно пренебречь. Например, при попадании света на стеклянный объект образуются отражающие блики, которые менее заметны в случае с деревянным материалом.
Еще один пример, когда можно упростить визуализацию материала, — эффект подповерхностного рассеивания (подробнее о нем см. в гл. 14). Восковая свеча, кожа человека, тонкая ткань — эти материалы обязательно должны рассеивать свет в своем объеме, однако для материалов, имитирующих камень, этот эффект ничтожно мал и незаметен для человеческого глаза, поэтому при создании материала им можно пренебречь.
Чтобы стеклянный материал в сцене выглядел реалистично, недостаточно сделать его прозрачным. Присутствие стеклянных объектов в сцене в большей или меньшей степени может вызывать следующие эффекты: блики, полученные в результате рефлективной и рефрактивной каустики, эффект подповерхностного рассеивания, а также эффект абсорбции (поглощения световой волны определенной длины). Поскольку наличие данных эффектов делает материал более реалистичным, то практически все внешние визуайизаторы 3ds Мах используют параметры для управления вышеуказанными процессами.
Последний из перечисленных эффектов придает стеклу определенный оттенок. Этот цвет не следует путать с цветом самого стекла. Цвет абсорбции — это цвет,
который можно наблюдать в результате эффекта поглощения материалом света, но при этом он может отличаться от диффузионного цвета материала.
Эфгфект абсорбции наиболее заметен в тех объектах, которые имеют неоднородную толщину, например в изделиях из стекла — вазах, статуэтках и пр.
Продемонстрируем использование подключаемых визуализаторов на примере, визуализировав с их помощью сцену, в которой будет присутствовать эффект абсорбции.
ВНИМАНИЕ
Для выполнения этого примера у вас должны быть установлены дополнительные модули VRay и finalRender, которые не входят в стандартную поставку 3ds Мах.
Создание стеклянного материала с эффектом абсорбции средствами VRay
Для создания эффекта абсорбции средствами визуализатора VRay смоделируем сцену, в которой можно будет наблюдать этот эффект, и проследим, какие параметры визуализатора за пего отвечают.
Перейдите в окно проекции Front (Спереди) и, используя инструмент Line (Линия), создайте кривую, показанную на рис, 15,47.
Рис. 15,47. Кривая, созданная при помощи инструмента Line (Линия)
Выделите созданный объект в окне проекции и перейдите на вкладку Modify (Изменение) командной панели. В списке модификаторов выберите Extrude (Выдавливание). Использование команды выдавливания позволяет построить поверхность с профилем выдавливаемого сплайна.
В свитке Parameters (Параметры) настроек модификатора установите значение параметра Amount (Величина) равным приблизительно 500-600. Поверхность полученной формы будет служить фоном для нашей сцены. Такую «трехмерную декорацию» удобно использовать для визуализации отдельно взятой модели.
ПРИМЕЧАНИЕ
После того как к созданному сплайну будет применен модификатор Extrude (Выдавливание), поверхность в окне проекции в режиме Smooth + Highlights (Сглаженный) будет видна только с одной стороны. Для устранения этого недостатка полученному объекту необходимо назначить материал и установить в его свойствах отображение обратной стороны (параметр 2-Slded (Двухсторонний)).
Теперь создадим стеклянный сосуд, например кувшин. Поскольку этот объект имеет осевую симметрию, смоделируем его как поверхность вращения, после чего отредактируем полигональную оболочку, придав кувшину более правильную форму.
На вкладке Create (Создание) командной панели в группе Splines (Сплайны) категории Shapes (Формы) выберите инструмент Line (Линия) и создайте в окне проекции сплайн, который будет играть роль профиля поверхности вращения (рис. 15.48).
При его создании очень важно расположить вершины таким образом, чтобы первая и последняя точки совпадали в плоскости XY. Это позволит свести к минимуму появление случайных артефактов на модели после того, как будет построена поверхность вращения. Для этого выделите последнюю вершину и, выполнив команду Tools ► Align (Инструменты ► Выравнивание) или используя сочетание клавиш Alt+A, выровняйте выделенную вершину относительно всей кривой.
Чтобы придать требуемую форму создаваемому сплайну, подберите необходимый тип излома вершин, переключившись в режим редактирования Vertex (Вершина), и подкорректируйте их положение.
Выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка модификаторов строку Lathe (Вращение вокруг оси). В свитке Parameters (Параметры) настроек модификатора установите значение параметра Segments (Количество сегментов) равным 16 (рис. 15.49).
Выберите ось вращения, нажав в области Direction (Направление) кнопку V, после чего измените положение оси вращения, нажав кнопку Min (Минимальный) в области Align (Выравнивание). После того как будут заданы настройки модификатора, в окне проекции можно будет наблюдать поверхность вращения (рис. 15.50).
Рис. 15.48. Сплайновый профиль, который будет служить основой для создания поверхности вращения
Pwemeteit' 1
D egress.б 3,
П Weld Core Г* Flip Normal»
Segments. (163'
Capping
P Cap Start P Cap End *■ Morph Г Grid
- D nection—-— —
-Align—
Mm^J Centri Маи [
• Output-—
Г Patch в Meth Г NURBS
Г Generate Mapping Coords i
P Red-World Map Si?#
P Generate Material IDs
C Use Shape IDs
P Smooth
Рис. 15.49. Настройки модификатора Lathe (Вращение вокруг оси)
Рис. 15.50. Сплайновый объект после применения модификатора Lathe (Вращение вокруг оси)
Создадим ручку кувшина. Чтобы можно было работать с полигональной оболочкой объекта, назначим ему модификатор Edit Poly (Редактирование полигональной поверхности). Для этого выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка модификатор Edit Poly (Редактирование полигональной поверхности).
Раскройте строку в стеке модификаторов, щелкнув на плюсике рядом со строкой Edit Poly (Редактирование полигональной поверхности). Переключитесь в режим редактирования Polygon (Полигон) и, удерживая нажатой кнопку Ctrl, выделите два полигона в одном из вертикальных рядов (рис. 15.51).
Щелкни те правой кнопкой мыши в окне проекции и в открывшемся контекстном меню щелкните на значке рядом с кнопкой Extrude (Выдавливание). В окне Extrude Polygons (Выдавливание полигонов) установите значение параметра Extrusion Height (Высота выдавливания) равным 8 (рис. 15.52).
После выполнения операции Extrude (Выдавливание) объект будет представлять собой поверхность вращения с двумя выступами на ней. При этом полигоны на выступах останутся выделенными. Чтобы их замкнуть, используйте инструмент Bridge (Мост).
Перейдите в свиток Edit Polygons (Редактирование полигонов) и щелкните на значке с прямоугольником рядом с кнопкой Bridge (Мост) (рис. 15.53).
Рис. 15.51. Выделение полигонов объекта
Рис. 15.52. Окно Extrude Polygons (Выдавливание полигонов)
I ■ - "Edit Polygons I'
J nseit VerteH
Extrude [□( Oltine jd]
Bevel !□' Inset jp]
Bridge ([^Ftp J
„ Ц!29? From Edge|Oj
Exlrude Along Spline Q, Edit TriangulationI
Retriangulate |Turn |
Рис. 15.53. Выбор значка Bridge (Мост) в свитке Edit Polygons (Редактирование полигонов)
В появившемся окне настроек Bridge (Мост) установите количество сегментов образованного участка (параметр Segments (Количество сегментов)) равным 7, а величину деформации Taper (Сжатие) — равной 2 (рис. 15.54).
Рис. 15.54. Окно настроек Bridge (Мост)
При замыкании двух выделенных полигонов с помощью команды Bridge (Мост) может возникнуть ситуация, когда образовавшийся «мост» выглядит перекроенным. Для устранения этого недостатка необходимо вручную подбирать значения параметров Twist 1 (Скручивание первого полигона) и Twist 2 (Скручивание второго полигона) в окне настроек инструмента Bridge (Мост). После выполнения данных действий объект примет форму, показанную на рис. 15.55.
Рис. 15.55. Вид обьекта после использования команды Bridge (Мост)
Выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка модификаторов MeshSmooth (Сглаживание), Острые ребра трехмерной модели станут сглаженными, и объект будет больше напоминать кувшин (рис. 15.56).
Рис. 15.56. Вид объекта после применения модификатора MeshSmooth (Сглаживание)
Осталось закончить редактирование полигональной оболочки, создав на краю кувшина углубление для стока жидкости. Выделите объект в окне проекции и перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку MeshSmooth (Сглаживание) в стеке модификаторов, щелкнув на плюсике. Переключитесь в режим редактирования Edge (Ребро) (рис, 15.57).
Рис. 15.57. Переключение в режим редактирования управляющими ребрами Edge (Ребро)
Выделите ребро в верхней части модели кувшина и передвиньте его на некоторое расстояние (рис. 15.58). В свитке настроек Subdivision Amount (Количество разбиений) установите значение Iterations (Количество итераций) равным 2. Модель для нашей сцены готова.
Рис. 15.58. Изменение положения управляющего ребра
Совместим полученную модель и декорацию для фона, сделанную выше при помощи сплайна (рис. 15.59).
Теперь рассмотрим настройки эффекта абсорбции.
Установите VRay в качестве визуализатора сцены. Для этого откройте окно настроек визуализатора, нажав клавишу F10 или выполнив команду Rendering ► Render (Визуализация ► Визуализировать). перейдите на вкладку Common (Стандартные настройки), в свитке Assign Renderer (Назначить визуализатор) нажмите кнопку Choose Renderer (Выбрать визуализатор) (рис. 15.60) и выберите в списке доступных визуализаторов строку VRay.
Очень большое значение для качества визуализации сцены посредством подключаемых визуализаторов имеет тип источников света, с помощью которых отображаются тени от объектов. Несмотря па то, что большинство визуализаторов поддерживают стандартные источники света 3ds Мах, лучшие результаты получаются в тех случаях, когда используются специальные источники света, которые дополнительные модули добавляют в 3ds Мах.
Рис. 15.59. Совмещенные объекты сцены
Рис. 15.60. Свиток настроек Assign Renderer (Назначить виауализатор)
Для имитации реалистичного освещения с помощью VRay лучше всего использовать специальный источник освещения VRayUght (Источник света VRay). Чтобы создать источник света этого типа, перейдите на вкладку Create (Создание) командной панели, в категории Lights (Источники света) выберите строку Standard (Стандартные) и нажмите кнопку VRayUght (Источник света VRay).
Расположите созданный источник света в сцене таким образом, чтобы свет на кувшин падал сбоку под некоторым углом. Выделите объект VRayUght (Источник света VRay) в окне проекции и перейдите на вкладку Modify (Изменение) командной панели.
В настройках источника свет а установите следующие значения: Mult. (Яркость) J ,6, Туре (Тип источника света) — Plane (Плоский) с размерами U size (Размер U) — УО. V size (РазмерУ) — 75, W size (Размер W) — 10 (рис. 15.61). Установите флажки
В нашем случае необходимо использовать материал egzVRayGlass (Стекло). Этот материал прекрасно подходит для создания несложных стеклянных материалов.
Чтобы подобрать параметры стеклянного материала, откройте Material Editor (Редактор материалов), выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов), и в пустой ячейке создайте новый материал на основе egzVRayGlass (Стекло).
Его настройки расположены в двух свитках — Glass Parameters (Настройки стекла) и Advanced Glass Parameters (Дополнительные настройки стекла) (рис. 15.63). Оба свитка содержат минимальное количество настроек, необходимое для имитации стеклянного материала. Например, свиток Advanced Glass Parameters (Дополнительные настройки стекла) включает в себя всего лишь два параметра — Reflection Depth (Глубина просчета отражений) и Refraction Depth (Глубина просчета преломлений), определяющих глубину трассировки визуализатора.
Рис. 15.63. Настройки материала egzVRayGlass (Стекло)
В свитке Glass Parameters (Настройки стекла) можно установить значение параметра Glass color (Оттенок стекла), а также Index of Refraction (Коэффициент преломления). Непосредственно величиной эффекта абсорбции можно управлять с помощью специального ползунка Absorption strength (Сила абсорбции), положение которого влияет на степень поглощения световой волны. При этом крайнему правому положению ползунка соответствует максимальный эффект абсорбции.
ПРИМЕЧАНИЕ
Материалы egzMaterials на просчитанном изображении выглядят довольно реалистично, однако они не лишены недостатков. Например, отсутствие карты Bump (Рельеф) не позволяет создать неровную фактуру поверхности ит. д. Несмотря на то, что отсутствие текстурных карт можно отчасти компенсировать использованием egzMaterials как составляющих многокомпонентного материала, это обстоятельство может стать серьезным препятствием для начинающего разработчика трехмерной графики.
Выделите объект в окне проекции и при помощи кнопки Assign Material to Selection (Назначить материал выделенным объектам) назначьте материал кувшину.
Вызовите окно настроек визуализации, перейдите на вкладку Renderer (Визуали- затор) и установите следующие настройки: в свитке Image sampler (Antialiasing) (Образец изображения (сглаживающий фильтр)) установите переключатель в положение Fixed rate (Постоянное значение), параметру Subdivs (Разбиение) задайте значение, равное 3. Выполните несколько просчетов, изменяя положение ползунка Absorption strength (Сила абсорбции). Наиболее темное стекло в сцене будет означать максимальный эффект абсорбции.
На рис. 15.64 показан минимальный эффект абсорбции, а на рис. 15.65 — максимальный. Несмотря на то, что и в первом, и во втором случае просчитывалась одна и та же модель из одного и того же ракурса, кувшин на рис. 15.65 выглядит более тяжелым.
Рис. 15.64. Результат визуализации изображения с минимальным аффектом абсорбции
Рис. 15.65. Результат визуализации изображения с максимальным эффектом абсорбции
Создание стеклянного материала с эффектом абсорбции средствами finalRender
Проблема создания и визуализации многих материалов при помощи finalRender заметно упростилась после появления дополнительных типов затенения finalShaders. Однако, несмотря на столь внушительное количество дополнительных материалов, добиться реалистичного эффекта абсорбции можно только с помощью материала fR-Advanced (Расширенный) данного визуализатбра.
ПРИМЕЧАНИЕ
Пакет типов затенения finalShaders можно отдельно приобрести у компании Cebas. FinalShaders включают в себя дополнительные материалы разных типов. Среди них — имитирующий покрытие легкового автомобиля, загрязненную поверхность, светящееся электронное облако, реалистичную кожу, воск, влажную поверхность, бархат, поверхность лазерного диска и пр,
Одним из достоинств finalRender является большое количество параметров, с помощью которых можно гибко управлять визуализацией самых разнообразных материалов. Такое многообразие настроек может на первый взгляд показаться сложным, однако их достаточно просто освоить. С помощью finalRender можно визуализировать два типа абсорбции — рефлективную (поглощение света в результате отражения) и рефрактивную (поглощение света в результате преломления).
Рассмотрим простой эффект рефлективной абсорбции. Создайте в окне проекции две перпендикулярно пересекающиеся плоскости Plane (Плоскость) (рис. 15.66). Горизонтальная плоскость будет играть роль пола, а вертикальная будет выступать в роли зеркала, отражая все объекты сцены.
Рис. 15.66. Расположение плоскостей в сцене
Добавьте в сцену несколько трехмерных моделей, которые должны будут отражаться в вертикальной плоскости. Мы использовали объемный текст, созданный при помощи стандартного сплайнового объекта Text (Текст) и операции Bevel (Выдавливание со скосом). Разместите объекты сцены так, как это показано па рис. 15.67.
Рис. 15.67. Расположение объектов в сцене
Теперь подберем настройки материалов. Установите в качестве текущего визуа- лизатора final Render. Откройте Material Editor (Редактор материалов), выполнив команду Rendering ► Material Editor (Визуализация > Редактор материалов). Материал для горизонтальной плоскости и для объектов, которые будут отражаться в вертикальной плоскости, подберите самостоятельно (единственное условие — не делайте их слишком темными). Выберите в качестве материала для вертикальной плоскости тип материала fR-Advanced (Расширенный). В области Reflection (Отражение) свитка настроек Standard (Стандартные) снимите флажок Fresnel (По Френелю) и выберите белый цвет отражения Reflect (Отражение) (рис. 15.68).
Рис. 15.68. Свиток Standard (Стандартные) настроек материала fR-Advanced (Расширенный)
П РИМ ЕЧ АН И Е
При установленном флажке Fresnel (По Френелю) данный материал будет визуализироваться таким образом, что величина коэффициента отражения будет зависеть от угла зрения.
При помощи свитка Shading (Затенение) необходимо сделать блик на материале более ярким. Для этого установите значение параметр Specular Level (Уровень блеска) равным около 100, a Glossiness (Глянец) — около 38.
Настройки рефлективной абсорбции расположены в свитке Advanced Reflections (Сложные отражения). Чтобы включить просчет эффекта абсорбции, необходимо установить флажок оп (Включить) в области Absorption (Абсорбция). Материал содержит две главные настройки, характеризующие глубину абсорбции, — параметры Absorption (Абсорбция) и Max.Distance (Максимальное расстояние) (рис. 15.69).
Задайте этим параметрам следующие значения: Absorption (Абсорбция) — 0,5, Max.Distance (Максимальное расстояние) — 1300. Еще одна важная настройка — Color (Цвет), задающая цвет абсорбции. Выберите для цвета абсорбции черный и визуализируйте сцену.
Рис. 15.69. Свиток Advanced Reflections (Сложные отражения) настроек материала fR-Advanced (Расширенный)
В просчитанном изображении отчетливо заметно, что текст отражается в вертикальной плоскости только вблизи объекта Plane (Плоскость), а по мере его удаления отражение «уходит» в темноту (черный цвет, который соответствует цвету абсорбции) (рис. 15.70).
Рис. 15.70. Результат визуализации сцены с эффектом рефлективной абсорбции
Настройки рефрактивной абсорбции во многом совпадают с настройками рефлективной абсорбции. Для реализации этого эффекта необходимо в свитке Advanced
Refractions (Сложные преломления) установить флажок оп (Включить) в области Absorption (Абсорбция), а также указать значение одноименного параметра, определяющего силу эффекта (рис. 15,71). Среди дополнительных настроек эффекта абсорбции можно выделить дополнительный параметр материала, позволяющий использовать градиентный переход цвета абсорбции. Использовать эту функцию можно только в том случае, если установлен соответствующий флажок.
Рис. 15.71. Свиток настроек Advanced Refractions (Сложные преломления) материала fR-Advanced (Расширенный)
Изображения, которые можно получить, используя для имитации эффекта абсорбции final Render, выглядят не менее реалистично, чем картинки, просчитанные при помощи VRay. На рис. 15.72 вы можете увидеть разницу между объектом без абсорбции (слева) и с эффектом (справа).
Рис. 15.72. Изображение без эффекта абсорбции (слева) и с ним (справа)
Эффект абсорбции позволяет по-новому взглянуть на стеклянные объекты, сделать их более интересными, раскрасить в разные цвета. Во многих случаях его использование может привлечь внимание зрителя к стеклянному объекту в сцене.
Другие полезные дополнительные модули
В данном разделе коротко рассмотрим некоторые плагины, которые выпускают разные разработчики и которые смогут вам помочь при выполнении самых разных заданий. Это и дополнительные инструменты для создания растительности, и интересные эффекты постобработки.
Tree shop — этот дополнительный модуль моделирует деревья, по не полигональным способом, а создавая вместо модели две пересекающиеся перпендикулярные плоскости с подходящей текстурой (рис. 15.73). Самое сложное при таком способе — подобрать текстуру для такого дерева. В этом случае Tree shop — прекрасный помощник. Во-первых, он позволяет создавать пересекающиеся плоскости одним щелчком кнопкой мыши. Во-вторых, к подключаемому модулю прилагается большая библиотека материалов для растений и деревьев, использование которой избавит от ненужной работы над текстурами в Adobe Photoshop или других графических редакторах. Например, если нужно смоделировать лес на горизонте, Tree shop — прекрасное решение, так как модели, созданные с его помощью, имеют минимальное количество полигонов.
Рис. 15.73. Объект модуля Tree shop в окне проекции
Deconstructor — этот модуль деформирует объект, то есть делает то, что и большинство модификаторов. При этом деформация, создаваемая при помощи Deconstructor, очень необычна. Подключаемый модуль воздействует на выбранный объект таким образом, что на его месте образуется множество элементов, составляющих трехмерную модель. Иными словами, подключаемый модуль «разрезает» объект на большое количество частей (рис. 15.74).
Рис. 15.74. Объект, к которому был применен Deconstructor
Backlight (Боковое освещение) — это простая карта, которая имитирует боковое освещение объекта. Чтобы можно было наблюдать этот эффект, в сцене должен присутствовать источник света. Если источник света располагается, например, справа от объекта, то в визуализированном изображении будет немного подсвечиваться левая часть объекта, которая должна была бы оставаться в тени.
SimbiontMAX — данный дополнительный модуль содержит большую коллекцию текстур, материалов и типов затенения, созданных на основе алгоритма DarkTree. Все карты SimbiontMAX очень хорошего качества, имеют гибкие настройки, что позволяет использовать их во многих сценах. Возможность использования процедурной карты SimbiontMAX в качестве одного из параметров материала (Reflection (Отражение), Refraction (Преломление), Diffuse (Рассеивание), Bump (Рельеф) и т. д.) позволяет создавать очень большое количество материалов с различными характеристиками. К тому же дополнительный модуль SimbiontMAX поддерживает практически все популярные внешние визуализа- торы (рис. 15.75).
Рис. 15.75. Сцена подводного мира, текстурированная с использованием подключаемого модуля SlmbiontMAX
Lightmesh — этот дополнительный модуль позволяет преобразовывать любой объект в источник света. Достигается это благодаря тому, что на каждую вершину оболочки объекта помещается источник света. Это может быть как направленный, так и всенаправленный источник.
MultiIDMap2 (Карта с несколькими идентификаторами) — бесплатная текстурная карта, с помощью которой можно назначить свою карту участкам с определенным значением идентификатора (ID). Плагин напоминает стандартный материал Multi/Sub-Object (Многокомпонентный), однако, в отличие от него, компонентами MultiIDMap2 (Карта с несколькими идентификаторами) выступают не материалы, а карты.
Hairtrix — новый плагин для создания волос для 3ds Мах. Он является результатом слияния двух известных плагинов для создания волос и шерсти — hairfx и Ornatrix. Плагин предлагает сразу два решения для моделирования и визуализации волос, обеспечивает совместимость с final Render Stage-1 и mental ray, а также дает возможность причесывать персонажей непосредственно в окнах проекций, без необходимости открытия дополнительных окон. Интересно, что разработчики смогли объединить два совершенно разных продукта таким образом, что теперь можно применять модификаторы Ornatrix к объекту hairfx View, визуализировать объекты hairfx при помощи Ornatrix и т. д.
Глава 16
Ресурсы Интернета
Любой опытный художник трехмерной графики нам обязательно скажет, что обучение по книге — это лишь начало вашего пути в мире трехмерной графики. Далее вам обязательно придется научиться выполнять самые разнообразные проекты самостоятельно, начиная с идеи и заканчивая конечной визуализацией. Конечно же, у вас будут возникать вопросы, ответы на которые вы станете искать не только в этой книге, но и в бездонном источнике информации — Интернете.
Для успешного обучения необходимо также смотреть как можно больше удачных ЗВ-работ и стараться взять у них самое лучшее для ваших собственных проектов. Это не означает, что вы должны копировать понравившиеся элементы. Просто отмечайте удачную композицию, интересное цветовое решение, хорошо подобранные текстуры и прочие мелочи, которые делают трехмерные работы удачными, и старайтесь не забывать о них в своих проектах.
В этой главе мы хотели бы обратить ваше внимание на некоторые интересные вебресурсы, которые были созданы профессионалами трехмерной графики.
Начнем с сайта художника Нейла Блевинса (Neil Blevins), который находится по адресу http://www.neilblevins.com. Нейл — довольно известная личность в мире разработчиков трехмерной графики, один из тех, у кого берут интервью для CG-журналов и чьи работы украшают обложки этих журналов.
Если вы зайдете на страницу Art Gallery, то убедитесь, что этому художнику действительно есть чем гордиться. Количество его работ поражает. Но еще больше поражает качество. Как правило, 3 D-художники выставляют на всеобщее обозрение лишь некоторые свои работы, самые «сливки», а остальное прячут от чужих глаз. У Нейла Блевинса в галерее работ столько, что как-то не верится, что это — только верхушка айсберга. Кажется, что практически все его работы выполнены на таком уровне, что их не стыдно показать всему миру.
Зайдя на этот сайт, вы наверняка увидите изображения, которые встречались вам на разных интернет-страницах, так как работы Блевинса, с его разрешения или без, используют повсеместно. Предупреждаем вас об этом для того, чтобы вы небыли похожи на английскую леди из анекдота, которая, прочитав Шекспира, сказала: «Ничего особенного. Сплошной плагиат», так как большинством «крылатых» фраз из его произведений она успешно пользовалась в светских беседах, однако не знала, кому они принадлежат.
Можно сказать, что у Блевинса огромное количество работ, которые стали «крылатыми». Чего стоит только рыбий скелет на камне, сделанный Нейлом в 2001 году и ставший эмблемой подключаемого визуализатора Brazil r/s (рис. 16.1)1
ПРИМЕЧАНИЕ
Подробнее о подключаемом визуализаторе Brazil r/s см. в гл. 15.
Следующий сайт — домашняя страница российского художника Дмитрия Савинова (http://www.dee3d.com). Впрочем, о том, что он русский, на сайте не сказано ни слова. Узнать его происхождение можно разве что по имени — Dmitry Dee’Mon Savinoff.
Рис. 16.1. Работа художника Нейла Блевинса, ставшая эмблемой визуализатора Brazil r/s
Работы в разделе Gallery разбиты на несколько подразделов — логотипы, обложки, веб-сайты и т. д. Самый большой интерес представляют изображения в подразделе 3DArt (рис.16.2). Это — более 50 трехмерных картинок.
Работы Савинова — это в основном фантастические пейзажи, иногда индустриальные, иногда лесные. Фантастические потому, что в его городах построены здания, которых нет ни в одном городе мира. Несмотря на это, его картинки кажутся удивительно реалистичными. Во многом благодаря тому, что художнику удается правильно подобрать освещение. К тому же почти во всех работах Савинова присутствует «фирменная» дымка, которая делает все изображения поразительно реалистичными. Художникам трехмерной графики остается только спрашивать друг у друга: «Как он это делает?», а обычным зрителям — восхищаться удивительной красотой этих пейзажей.
По адресу http://www.eklettica.com находится сайт итальянского ЗО-художника Алессандро Балдассерони (Alessandro Baldasseroni). Он, как и многие другие представители этой профессии, сначала занимался трехмерной графикой в свободное время и считал, что его картинки, созданные в 3ds Мах, — это слишком несерьезно, чтобы стать профессией.
i” - ^ . hltpV/ww-de*^.ciNlio№c/''di.x|t^ - lit! ^i” - ^ . hltpV/ww-de*^.ciNlio№c/''di.x|t^ - lit! ^* A totrs* * S3 ’* A totrs* * S3 ’« - <1 • i« - <1 • iEavinoff.comEavinoff.com3d ar t3d ar tpoint; ad®point; ad®coverscoverslogoslogosweb-Bitesweb-Bitesassortedassortedttff6?**fit Jd Гttff6?**fit Jd Гhji dffclS^hji dffclS^Рис. 16.2. Галерея на сайте Дмитрия СавиноваРис. 16.2. Галерея на сайте Дмитрия Савинова;rdery яЬпип canteen guestbook ехг.гпн links;rdery яЬпип canteen guestbook ехг.гпн links
i” - ^ . hltpV/ww-de*^.ciNlio№c/''di.x|t^ - lit! ^
i” - ^ . hltpV/ww-de*^.ciNlio№c/''di.x|t^ - lit! ^
* A totrs* * S3 ’
* A totrs* * S3 ’
« - <1 • i
« - <1 • i
Eavinoff.com
Eavinoff.com
3d ar t
3d ar t
point; ad®
point; ad®
covers
covers
logos
logos
web-Bites
web-Bites
assorted
assorted
ttff6?**fit Jd Г
ttff6?**fit Jd Г
hji dffclS^
hji dffclS^
Рис. 16.2. Галерея на сайте Дмитрия Савинова
Рис. 16.2. Галерея на сайте Дмитрия Савинова
;rdery яЬпип canteen guestbook ехг.гпн links
;rdery яЬпип canteen guestbook ехг.гпн links
В настоящее время трехмерная графика стала для Алессандро основной профессией. Он работает в крупной итальянской компании по производству игр и является автором множества захватывающих работ. Вы можете убедиться в этом, открыв соответствующую страницу его сайта. Большинство его работ — кадры из компьютерных игр и видеороликов. Отдельного внимания заслуживают трехмерные модели, изображения которых выложены в отдельном разделе (рис. 16.3).
Рис. 16.3. Одна из работ Алессандро Балдассерони
Балдассерони достигает реализма изображений благодаря тому, что добавляет трехмерным моделям грязь, царапины, потертости, сколы и другие артефакты. На одном из его грузовиков, например, выцарапано чье-то имя, на другом колеса забрызганы грязью. Такие, казалось бы, незначительные детали, придают реалистичность моделям и изображениям в целом.
На интернет-сайте немецкого художника Свена Денарта (Sven Daennart) (http:// svenart.3dk.org) в разделе Images собраны замечательные работы, значительная часть которых — это изображения средневековых замков и городов. И выглядят они настолько реалистично, что порой всерьез задумываешься, а не фотография ли это. И тут же одергиваешь себя: нет, фотографией это быть никак не может, так как сцепы городской жизни на картинках относятся к тому времени, когда фотографии и в помине не существовало. Наряду с другими средствами для достижения реализма художник использует мелкие детали. Это — очень эффективный прием, так как именно детали часто помогают создать настроение трехмерной работы.
Хорошим ЗП-художником можно стать, родившись в любой стране. Это как нельзя лучше демонстрирует наш обзор. В него попали и россиянин, и итальянец, и немец. А следующий художник — Мартинс Коста (Martins Costa) — живет в Бразилии. Его сайт расположился по адресу http://www.antropus.com. На этом сайте вы найдете не очень много изображений, так как художник работает над каждым очень долго, пытаясь довести его до совершенства. Впрочем, каждую из картин Мартинса Косты можно разглядывать часами, находить в них что-то новое и удивляться, как ему удалось это сделать. Чего стоит, например, получившая широкую известность работа «Дом старой леди» (рис. 16.4)1 Она настолько поразила ЗВ-худож- ников всего мира, что у автора попросили рассказать, как он ее делал. Его статью на эту тему можно найти на сайте. Здесь также размещены и другие статьи и уроки Мартинса: он не только талантливый художник, но и неплохой журналист.
Сайт художника Тимура Байсаля (Timur Baysal), расположенный по адресу http:// www.taron.de, в некотором роде можно считать антиподом предыдущего. Если на сайте Мартинса можно найти достаточно много дополнительных материалов и сравнительно немного трехмерных изображений, то здесь есть только работы художника и ничего, кроме них (рис. 16.5). Все они выполнены в одном стиле и в большинстве своем являются просто отвратительными. Но в данном случае этот эпитет — это наивысшая похвала художнику, потому что если целью трехмерной работы является создание чудовища, и при этом на готовое изображение противно смотреть, — это значит, что работа удалась. В данном случае это именно так.
Один из самых широкоизвестных ЗО-художников в нашей стране — Билл Флеминг (Bill Fleming). В том, что он талантливый художник, можно убедиться, посетив сайт http://www.gaUeryof3d.com. На этом ресурсе работы Билла Флеминга выложены на 19 (1) страницах. К сожалению, последние из них датированы 2002 годом, поэтому при их оценке обязательно нужно делать на это скидку. Многочисленные изображения, сделанные этим художником, можно найти во многих галереях, адрес одной из которых и был предложен выше. Его работы, как и удачные картинки Нейла Блевинса, широко используются в Интернете, при оформлении книг и т. д„ поэтому не удивляйтесь, если встретите среди них хорошо знакомые изображения, автор которых вам ранее не был известен.
Рис. 16.4. Работа «Дом старой леди» художника Мартинса Косты
Рис. 16.5. Страница сайта художника Тимура Байсаля
Поскольку мы упомянули о галерее http://www.galleryof3d.com, думаем, есть смысл отойти от домашних страниц художников и обратить ваше внимание на подобные специализированные ресурсы. Именно на них часто происходят рождения новых звезд, па них зрители имеют возможность оценивать работы, оставлять комментарии и сравнивать уровень мастерства разных художников. GalleryofBd предлагает около 4000 работ, которые принадлежат более чем 600 дизайнерам трехмерной графики. На сайте организована удобная система сортировки — по именам художников, по хронологии создания работ, по программному обеспечению, которое использовалось, по категориям изображений. Наибольший интерес представляют два раздела сайта — Cream Gallery и Top Artists. В первой представлены самые хорошие работы в галерее («сливки»), а во второй — самые лучшие художники.
Еще один подобный сайт находится по адресу http://www.raph.com. В его разделе Art Gallery собрано около 800 работ, принадлежащих более чем 300 художникам. В этой коллекции вы найдете только самые лучшие работы, отобранные специальным жюри. В его составе 20 известных ЗВ-художников, в том числе и те, речь о которых шла выше.
Работы на сайте можно сортировать по разным принципам — по дате добавления в галерею, по именам художников, по стране их проживания и, наконец, по баллам, которые получили работы от посетителей сайта. Если у вас разбегаются глаза от количества имен и вы не знаете, с какого художника начать просмотр, то последний способ сортировки будет для вас наиболее удобен. Начинайте с тех художников, которые получили больше всего положительных отзывов посетителей сайта.
Наконец, еще один сайт, на котором собраны ЗВ-работы разных авторов, это Renderosity (http://www.renderosity.com). Это — огромный портал трехмерной графики, значительная часть которого отведена под галереи. Перейти в соответствующий раздел вы сможете, воспользовавшись ссылкой Galleries. Коллекция сайта просто огромна — 8500 работ на момент подготовки книги. Не исключаем, что, когда вы посетите сайт, она уже значительно возрастет, так как обновляется почти ежедневно. Здесь можно провести не один час.
Заключение
Темп нашей жизни день ото дня ускоряется, и в ней остается все меньше свободного времени. Мы быстрее перемещаемся в пространстве, быстрее связываемся между собой и, однако, жалуемся на постоянную нехватку времени. Казалось бы, кому в таком мире, где все летят на бешеных скоростях, нужны художники? Кто может себе позволить неспешно прохаживаться по картинной галерее, надолго останавливаясь возле каждой понравившейся картины? Выходит, художники — вымирающий вид, вид, которому нет места в нашем компьютеризированном обществе?
Возможно, это было бы так, не появись компьютерная графика. Ведь в наше время художники — это не только те, кто пишет кистью по мольберту, но и те, кто водит мышью по экрану компьютера.
Какой бы ни была ваша профессия, виртуозное владение программой 3ds Мах, безусловно, поможет вам добиться успехов в работе и расширит горизонты вашего творчества. Надеемся, что данная книга стала вашим помощником в этом. Удачи вам в учебе и работе!
Приложение 1. Сочетания клавиш, которые используются в программе 3ds Мах 8
Работа с любой программой в среде Windows требует совмещения навыков использования клавиатуры и мыши. В одних приложениях чаще используется клавиатура, в других — мышь. Чтобы, используя клавиатуру, можно было выполнять те же функции, что и при помощи мыши, нужно знать определенные комбинации клавиш. Не отвлекаясь на работу с мышью, клавиатурными комбинациями можно отменять последние действия, выполнять основные операции с объектами, изменять вид в окнах проекции и т, д. Таких комбинаций в 3ds Мах 8 большое количество, и существует только один способ запомнить их все — пользоваться ими. Из списка команд, приведенного ниже, выберите наиболее нужные вам в работе и каждый раз при выполнении данных команд вспоминайте о сочетаниях клавиш. Вы быстро привыкнете к сочетаниям клавиш, и работать станет намного проще. Изучать «горячие» клавиши 3ds Мах 8 можно при помощи окна Hotkey Мар (Карта «горячих» клавиш), вызвать которое можно, выполнив команду Help ► Hotkey Map (Справка ► Карта «горячих» клавиш) (см. гл. 2).
Сочетания, дублирующие пункты главного меню
Многим начинающим пользователям 3ds Мах 8 выполнение основных команд при помощи главного меню кажется наиболее удобным. Действительно, такой подход имеет свои достоинства. Основным можно считать то, что в пунктах главного меню все команды имеют названия, что существенно облегчает пользователю поиск нужных. Однако использование пунктов главного меню не является самым удобным и быстрым способом выполнения команд. Максимальный комфорт при работе с программой может принести только знание сочетаний клавиш. Изучить их можно постепенно, используя команды главного меню, рядом с некоторыми командами указаны соответствующие сочетания.
Вызов пунктов главного меню
Меню
Сочетание клавиш
File (Файл)
Alt+F
Edit (Редактировать)
Alt+E
Tools (Инструменты)
Alt+T
Group (Группировать)
Alt+G
Views (Вид)
Alt+V
Create (Создание)
Alt+C
Modifiers (Модификаторы)
ALt+O
Меню
Сочетание клавиш
Character (Персонаж)
Graph Editors (Графические редакторы)
Rendering (Визуализация)
Customize (Настройка)
MAXScript
Alt+H ALt+D Alt+R Alt+U
Alt+M
Меню File (Файл)
Команда
Сочетание клавиш
New (Создать новую сцену)
Open (Открыть)
Save (Сохранить)
Asset Tracking (Учет версий)
Ctrl+N
Ctrl+O
Ctrl+S
Shift+T
Меню Edit (Правка)
Команда
Сочетание клавиш
Undo (Отменить)
Redo (Вернуть)
Hold (Удерживать)
Fetch (Извлечь)
Delete (Удалить)
Clone (Клонировать)
Select All (Выделить все)
Select None (Снять выделение)
Select Invert (Инвертировать выделение)
Select by > Name (Выделить ► По имени)
Ctrl+Z Ctrl+Y Alt+Ctrl+H Alt+Ctrl+F
Delete
Ctrl+V CtrL+A
Ctrl+D Ctrl+I
H
Меню Tools (Инструменты)
Команда
Сочетание клавиш
Transform Type-In (Параметры преобразования)
Align (Выравнивание)
Quick Align (Быстрое выравнивание)
Spacing Tool (Линейка)
Normal Align (Выравнивание нормали)
Place Highlight (Расположение светового блика)
Isolate Selection (Отделить выделенные объекты)
F12 Alt+A Shift+A Shift+I Alt+N Ctrl+H Alt+Q
Меню Views (Вид)
Команда
Сочетание клавиш
Undo View Change (Отменить изменение вида в окне проекции)
Redo View Change (Вернуть изменение вида в окне проекции)
Viewport Background (Фон окна проекции)
Update Background Image (Обновить фоновое изображение)
Create Camera From View (Создание камеры из вида)
Redraw All Views (Перерисовать все виды)
Adaptive Degradation (Адаптивное снижение нагрузки)
Object Display Culling (Выборочное отображение объектов)
Expert Mode (Переход в режим эксперта)
Shift+Z
Shift+Y
Alt+B
Alt+Shift+Ctrl+B
Ctrl+C
0
Alt+O
Ctrl+X
Меню Animation (Анимация)
Команда
Сочетание клавиш
Parameter Editor (Редактор параметров)
Parameter Collector (Коллектор параметров)
Wire Parameters > Wire Parameters
(Связать параметры ► Связать параметры)
Wire Parameters ► Parameter Wire Dialog
(Связать параметры ► Окно связывания параметров)
Alt+1
Alt+2
Ctrl*5
Alt+5
Меню Graph Editors (Графические редакторы)
Команда
Клавиша
Particle View (Представление частиц)
6
Меню Rendering (Визуализация)
Команда
Сочетание клавиш
Render (Визуализировать)
Environment (Окружение)
Render То Texture (Визуализировать текстуру) Material Editor (Редактор материалов)
FW
8
0
М
Меню Customize (Настройка)
Команда
Сочетание клавиш
Show UI > Show/Hide Main Toolbar (Отобразить/Скрыть основную панель инструментов)
Alt+6
Lock UI Layout (Сохранить настройки интерфейса)
Alt+O
Меню MAXScript
Команда
Сочетание клавиш
MAXScript Listener (Интерпретатор MAXScript)
F11
Сочетания, дублирующие кнопки на панелях инструментов
Многие пользователи считают, что при помощи кнопок на панелях инструментов очень удобно работать. На основную панель инструментов по умолчанию вынесены самые используемые команды 3ds Мах 8.
Однако во многих случаях гораздо более удобно использовать сочетания клавиш вместо кнопок панели инструментов. Объясняется это очень просто: мышь обычно используется для работы в окнах проекций, для выполнения операции с объектами. Таким образом, чтобы нажать кнопку на панели инструментов, приходится переключать свое внимание с рабочей области. Это неудобно, а иногда даже раздражает. Чтобы не тратить время на поиск нужной кнопки, необходимо запомнить сочетания клавиш, при помощи которых выполняются те же команды. Тем более что при работе с .мышью в окнах проекций вторая рука остается свободной и может нажимать нужные кнопки для вызова команд.
Основная панель инструментов
Кнопка
Сочетание клавиш
Undo (Отменить)
Ctrl+Z
Redo (Вернуть)
Ctrl+Y
Select Object (Выделить объект)
Q
Select by Name (Выделить по имени)
Н
Выбрать тип выделения
Ctrl+F
Select and Move (Выделить и переместить)
W
Select and Rotate (Выделить и повернуть)
E
Select and Scale (Выделить и масштабировать)
R
Align (Выровнять)
Alt+A
Кнопки управления в нижней части экрана
Кнопка
Сочетание клавиш
Selection Lock Toggle (Блокирование выделения)
Пробел
Toggle Auto Key Mode (Автоключ)
N
Toggle Set Key Mode (Установка ключей вручную)
Set Keys (Установка ключей)
к
Play/Stop Animation (Воспроизвести/Остановить анимацию)
/
Previous Frame (Назад на один кадр)
Next Frame (Вперед на один кадр)
Go to Start (Переход к первому кадру)
Ноте
Go to End (Переход к последнему кадру)
End
Zoom (Масштаб)
Att+Z
Min/Max Toggle (Увеличение окна до размеров экрана/Уменьшение окна)
Alt+W
Общие действия
Действие
Сочетание клавиш
Перейти в окно проекции Front (Спереди)
F
Перейти в окно проекции Тор (Сверху)
Т
Перейти в окно проекции Bottom (Снизу)
В
Перейти в окно проекции Left (Слева)
L
Перейти в окно проекции Perspective (Перспектива)
Р
Создать вид из камеры
С
Создать вид со стороны пользователя
и
Создать вид из источника света
Shift+4
Посчитать количество полигонов выделенного объекта
7
Отобразить/Скрыть камеры
Shift+C
Отобразить/Скрыть геометрию
Shift+G
Отобразить/Скрыть сетку
G
Отобразить/Скрыть вспомогательные объекты
Shift+H
Отобразить/Скрыть источники освещения
Shift+L
Отобразить/Скрыть системы частиц
Shift+P
Отобразить/Скрыть сплайны
Shift+S
Отобразить/Скрыть объемные деформации
Shift+W
Приложение 2. Содержимое компакт-диска
Чтобы изучение книги было максимально эффективным, рекомендуем вам обращаться к компакт-диску, который к ней прилагается. На нем вы найдете дополнительные материалы, которые помогут вам быстрее разобраться в том, как выполнять упражнения книги.
На компакт-диске находятся папки с примерами, каждая из которых носит название, соответствующее номеру главы. В свою очередь папки, соответствующие главе, содержат вложенные папки со следующим содержимым:
animation - результат выполнения некоторых примеров книги представляет собой анимацию, поэтому невозможно показать, как будет выглядеть тот или иной эффект, используя только иллюстрации. В папках animation содержатся короткие анимационные ролики, которые показывают эффекты в движении;
examples — готовые сцены уроков. Это файлы с расширением МАХ, которые можно открыть в любой версии программы 3ds Мах. К этим файлам вы можете обратиться, если у вас не получается выполнить урок по инструкциям, приведенным в книге. Вы также можете их использовать, чтобы еще до начала работы увидеть результат. В конце каждого примера приведено итоговое изображение, однако иллюстрации в книге черно-белые. Открыв файл примера и визуализировав сцену, вы сможете увидеть цветное изображен не;
finat_pictures — цветные иллюстрации, представляющие собой визуализированные сцены примеров. Все иллюстрации высокого качества, чтобы вы смогли при необходимости рассмотреть все детали изображения и постараться достичь такого же (и даже лучшего!) результата в своих работах;
textures — содержит текстуру, которая понадобится вам при выполнении примера;
videotutors — видеоуроки, то есть видеоиллюстрации выполнения задач, которые описаны в книге. Это не просто текст и прилагаемые к нему изображения, а видеофайл, в котором записаны все действия, выполняемые авторами. Ценность видеоуроков в том, что они могут прояснить те моменты, которые вы не поняли из книги. Более того, если что-то непонятно с первого раза, видеоролик всегда можно перемотать назад и просмотреть снова. Его также можно остановить в любой момент, чтобы попробовать проделать описанные действия самостоятельно. Некоторые видеоуроки, которые содержатся надиске, повторяют уроки в книге, другие содержат дополнительную информацию по той пли иной теме.
ВНИМАНИЕ
В папке ch04/videotutors содержится папка TSCC Codec. В ней находится дистрибутив кодека TSCC, который должен быть установлен в вашей системе для просмотра видеоуроков.
В конце каждого примера, сцена которого есть на компакт-диске, содержится соответствующее примечание. Если вы хотите узнать, находится ли пример на компакт-диске, загляните в конец описания примера. То же самое касается видеоуроков и анимированных файлов. Подобные примечания встречаются и в середине некоторых сложных уроков, а также в теоретических разделах книги.
В папке сh01 вы найдете пробную версию 3ds Мах 8, с которой вы можете работать в течение 30 дней без ограничений. В папку ch 15 помещены все бесплатные дополнительные модули для 3ds Мах, о которых упоминается в книге.
С. В. Бондаренко, М. КХ Бондаренко
3ds Мах 8. Библиотека пользователя (+CD)
Заведующий редакцией Руководитель проекта Художник Корректоры
Верстка
Д. Гурский Е. Каляева А. Татарка Е. Павлович, И. Федорцева Г Блинов, В, Поживилка
Лицензия ИД №05784 от 07.09.01.
Подписано в печать 02.12.05. Формат 70Х| 00V,,. Уел. п. л. 49.02.Тираж4500 эка. Заказ № 6798.
ООО «Питер Принт». 194644, Санкт-Петербург, Б. Сампсонмевский пр., 29а.
Налоговая льгота — общероссийский классификатор продукции ОК 005-93. том 2; 953005 — литература учебная.
Отпечатано с готовых диапозитивов в ФГУП «Печатный двор» нм. А. М. ГорькогоФедерального агентства по печати и массовым коммуникациям.
197110, Санкт-Петербург. Чкаловский пр. 15.
В 1997 году по инициативе генерального директора Издательского дома «Питер» Валерия Степанова и при поддержке деловых кругов города в Санкт-Петербурге был основан «Книжный клуб Профессионал». Он собрал под флагом клуба профессионалов своего дела, которых объединяет постоянная тяга к знаниям и любовь к книгам. Членами клуба являются лучшие студенты и известные практики из разных сфер деятельности, которые хотят стать или уже стали профессионалами в той или иной области.
Как и все развивающиеся проекты, с течением времени книжный клуб вырос в «Клуб Профессионал». Идею клуба сегодня формируют три основные «клубные» функции:
неформальное общение и совместный досуг интересных людей;
участие в подготовке специалистов высокого класса (семинары, пакеты книг по специальной литературе);
формирование и высказывание мнений современного профессионала (при встречах и на страницах журнала).
КАК ВСТУПИТЬ В КЛУБ?
Для вступления в «Клуб Профессионал» вам необходимо:
ознакомиться с правилами вступления в «Клуб Профессионал» на страницах журнала или на сайте www.piter.com;
выразить свое желание вступить в «Клуб Профессионал»
по электронной почте postbook@piter.com или потел. (812) 103-73-74;
заказать книги на сумму не менее 500 рублей в течение любого времени или приобрести комплект «Библиотека профессионала».
«БИБЛИОТЕКА ПРОФЕССИОНАЛА»
Мы предлагаем вам получить все необходимые знания, подписавшись на «Библиотеку профессионала». Она для тех, кто экономит не только время, но и деньги. Покупая комплект - книжную полку «Библиотека профессионала», вы получаете:
скидку 15% от розничной цены издания, без учета почтовых расходов;
при покупке двух или более комплектов - дополнительную скидку 3%;
членство в «Клубе Профессионал»;
подарок - журнал «Клуб Профессионал».
ПЗДАТЕПЬСКПЙ аом
Закажите бесплатный журнал «Клуб Профессионал».
[^ПИТЕР
Нет времени
ходить по магазинам?
www.piter.com
Здесь вы найдете:
Все книги издательства сразуНовые книги — в момент выхода из типографииИнформацию о книге — отзывы, рецензии, отрывкиСтарые книги — в библиотеке и на CD
И наконец, вы нигде не купитенаши книги дешевле!
КНИГА-ПОЧТОЙКНИГА-ПОЧТОЙЗАКАЗАТЬ КНИГИ ИЗДАТЕЛЬСКОГО ДОМА «ПИТЕР» МОЖНО ЛЮБЫМ УДОБНЫМ ДЛЯ ВАС СПОСОБОМ:
КНИГА-ПОЧТОЙ
КНИГА-ПОЧТОЙ
по телефону: (812) 703-73-74;
по электронному адресу: postbook@piter.com;
на нашем сервере: www.piter.com;
по почте: 197198, Санкт-Петербург, а/я 619, ЗАО «Питер Пост».
ВЫ МОЖЕТЕ ВЫБРАТЬ ОДИН ИЗ ДВУХ СПОСОБОВ ДОСТАВКИИ ОПЛАТЫ ИЗДАНИЙ:
^ Наложенным платежом с оплатой заказа при получении посылки на ближайшем почтовом отделении. Цены на издания приведены ориентировочно и включают в себя стоимость пересылки по почте (но без учета авиатарифа). Книги будут высланы нашей службой «Книга-почтой» в течение двух недель после получения заказа или выхода книги из печати.
@ Оплата наличными при курьерской доставке (для жителей Москвы и Санкт-Петербурга). Курьер доставит заказ по указанному адресу в удобное для вас время в течение трех дней.
ПРИ ОФОРМЛЕНИИ ЗАКАЗА УКАЖИТЕ:
фамилию, имя, отчество, телефон, факс, e-mail;
почтовый индекс, регион, район, населенный пункт, улицу, дом, корпус, квартиру;
название книги, автора, код, количество заказываемых экземпляров.
издательский домиздательский домВы можете заказать бесплатный журнал «Клуб Профессионал»
издательский дом
издательский дом
( библиотека!.
^ПОЛЬЗОВАТЕЛЯ)
С. Бондаренко, М. Бондаренко
3ds Мах 8
С^ППТЕР^
Москва - Санкт-Петербург ■ Нижний Новгород ■ ВоронежНовосибирск - Ростов-на-Дону ■ Екатеринбург ■ СамараКиев ■ Харьков - Минск
2006
ББК 32.973-018.3
УДК 004.92
Б81
Бондаренко С. В., Бондаренко М. Ю.
Б81 3ds Мах 8. Библиотека пользователя (+CD). — СПб.: Питер, 2006. — 608 с.: ил. — (Серия «Библиотека пользователя»),
ISBN 5-469-00996-3
Если вы хотите в совершенстве овладеть 3ds Мах 8, то эта книга для вас! В ней подробно описаны инструменты трехмерного моделирования и анимации, рассмотрена работа с материалами и раскрыты принципы освещения и визуализации. Особое внимание уделено новинкам 3ds Мах 8 — модулю для создания волос и шерсти, инструментам пошива одежды для трехмерных персонажей. Подробно рассматриваются возможности встроенного модуля для просчета динамики reactor, эффекты визуализации, создаваемые средствами интегрированного визуалнзатора mental ray 3.4. Книга содержит много примеров, которые помогут вам разобраться с инструментарием 3ds Мах 8 и научат использовать его в своих проектах.
ББК 32.973-016.3
УДК 004.92
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги.
ISBN 5-469-00996-3ISBN 5-469-00996-3©ЗАО Издательский дом «Питер», 2006
ISBN 5-469-00996-3
ISBN 5-469-00996-3
Краткое содержание
Предисловие 13
Глава 1. Введение в трехмерную графику 16
Глава 2. Знакомство с 3ds Мах 8 28
Глава 3. Создание объектов и работа с ними49
Глава 4. Основы моделирования. Создание моделей при помощи сплайнов 108
Глава 5. Моделирование при помощи редактируемых поверхностей 132
Главаб. Использование модификаторов 164
Глава 7. Булевы операции 218
Глава 8. Создание трехмерной анимации. Модуль Character Studio.......234
Глава 9. Модуль Particle Flow 273
Глава 10. Динамика в 3ds Мах. Модули reactor и Cloth 292
Глава 11. Создание волос и шерсти354
Глава 12. Текстурирование объекта383
Глава 13. Освещение и съемка сцены. Модуль Video Post418
Глава 14. Визуализация готовой сцены454
Глава 15. Дополнительные модули для 3ds Мах 8 523
Глава 16. Ресурсы Интернета588
Заключение 595
Приложение 1. Сочетания клавиш, которые используются в программе 3ds Мах 8596
Приложение 2. Содержимое компакт-диска 601
Оглавление
Предисловие 13
О чем эта книга13
Структура книги14
От издательства 15
Глава 1. Введение в трехмерную графику 16
Области использования трехмерной графики 17
Основные понятия трехмерной графики 17
Установка 3ds Мах 819
Несколько советов перед началом работы25
Глава 2. Знакомство с 3ds Мах 8 28
Элементы интерфейса 3ds Мах 829
Главное меню 31
Командная панель 45
Глава 3. Создание объектов и работа с ними49
Типы объектов 50
Объекты категории Geometry (Геометрия)50
Объекты категории Helpers (Вспомогательные объекты)55
Объекты категории Space Warps (Объемные деформации)59
Объекты категории Systems (Дополнительные инструменты)65
Создание объектов 66
Выделение объектов67
Настройка объектов73
Простейшие операции с объектами74
Перемещение 75
Вращение 76
Масштабирование .77
Выравнивание объектов 78
Клонирование объектов79
Клонирование и выравнивание 80
Создание массива объектов81
Группировка объектов 83
Создание интерьера кухни с помощью примитивов 3ds Мах84
Холодильник 85
Электрическая плита 92
Стены 101
Вытяжка104
Глава 4. Основы моделирования. Создание моделей при помощи сплайнов 108
Создание сложных объектов в 3ds Мах 8 109
Сплайновое моделирование 109
Сплайновые примитивы109
Редактирование сплайнов 114
Создание трехмерных объектов на основе сплайнов 116
Объемный текст на камне125
Глава 5. Моделирование при помощи редактируемых поверхностей 132
Editable Mesh (Редактируемая поверхность) 136
Свиток Selection (Выделение) 136
Свиток Soft Selection (Плавное выделение)136
Свиток Edit Geometry (Редактирование геометрических характеристик)137
Свиток Surface Properties (Свойства поверхности) 142
Моделирование ложки и тарелки 143
Editable Poly (Редактируемая полигональная поверхность)154
Свиток Selection (Выделение)155
Свиток Soft Selection (Плавное выделение)155
Свиток Edit Geometry (Редактирование геометрических характеристик)157
Свиток редактирования подобъектов158
Paint Deformation (Деформация кистью)159
Глава 6. Использование модификаторов164
Деформирующие модификаторы167
Bend (Изгиб)168
Displace (Смещение)169
Lattice (Решетка) 170
Mirror (Зеркало)172
Noise (Шум)172
Push (Выталкивание)173
Relax (Ослабление)174
Ripple (Рябь)175
Shell (Оболочка)175
Skew (Перекос)176
Slice (Срез)177
Spherify (Шарообразность)178
Squeeze (Сдавливание)179
Stretch (Растягивание)179
Taper (Сжатие)180
Twist (Скручивание)181
Wave (Волна)183
Модель электрической лампочки183
Модификаторы свободных деформаций193
Модификаторы для редактирования поверхностей194
CapHoles (Закрытие отверстий)194
DeleteMesh (Удаление поверхности)196
Edit Mesh (Редактирование поверхности)197
Edit Normals (Редактирование нормалей)197
Edit Poly (Редактирование полигональной поверхности)199
Face Extrude (Выдавливание граней)199
Multiples (Разрешающая способность)200
Normal (Нормаль)201
Optimize (Оптимизировать)201
Smooth (Сглаживание)202
Symmetry (Симметрично)202
Tessellate (Разбиение) 203
VertexPaint (Рисование по вершинам)204
Vertex Weld (Слияние вершин)204
Модель зонта205
Другие модификаторы214
Subdivide (Разбиение)214
MeshSmooth (Сглаживание)214
TurboSmooth (Турбосглаживание)216
Melt (Таяние)216
Глава 7. Булевы операции218
Создание инструментов портного при помощи булевых операций223
Пуговица 224
Иголка 228
Катушка с нитками231
Глава 8. Создание трехмерной анимации. Модуль Character Studio234
Общие сведения о трехмерной анимации235
Ключевые кадры237
Окно Time Configuration (Конфигурация времени)238
Контроллеры анимации239
Создание простейшей анимации240
Окно Parameter Collector (Коллектор параметров)244
Окно Parameter Editor (Редактор параметров)247
Модуль Character Studio249
Создание персонажной анимации258
Основы создания мимики персонажа. Морфинг271
Глава 9. Модуль Particle Flow273
Создание простой анимации с помощью Particle Flow277
Создание капель дождя на зонте284
Глава 10. Динамика в 3ds Мах. Модули reactor и Cloth292
Модуль reactor 2294
Создание анимации лототрона при помощи модуля reactor 2... 297
Разбиваем лампочку при помощи модуля reactor 2323
Покрывало на мольберте329
Капля в бокале335
Модуль Cloth344
Создание одежды для персонажей344
Имитация ткани 353
Глава 11. Создание волос и шерсти354
Модуль Hair and Fur355
Окно Style (Стиль)355
Создание шерсти животного359
Создание волосяного покрова с помощью сплайнов365
Использование сплайнов для описания формы прически365
Использование сплайнов как основы для прически370
Создание причесок сложной формы375
Глава 12. Текстурирование объекта383
Общие сведения о текстурировании в трехмерной графике384
Окно Material Editor (Редактор материалов)385
Материалы386
Процедурные карты391
Правильное расположение текстуры на модели. Модификатор UVW Mapping (Карта проекционных координат UVW)400
Real-World Mapping (Проецирование текстуры в масштабе реального мира) 402
Текстурирование моделей сложной формы. Модификатор Unwrap UVW (Развертка UVW) 405
Создание многокомпонентного материала для лампочки411
Глава 13. Освещение и съемка сцены. Модуль Video Post418
Общие сведения об освещении в трехмерной графике419
Освещение сцены420
Правила расстановки источников света в сцене423
Характеристики света и методы визуализации теней 425
Создание витражного окна 428
Съемка сцены 437
Создание видеоэффектов. Модуль Video Post440
Lens Effects (Эффекты линзы) 442
Simple Wipe (Простое вытеснение) 443
Другие фильтры444
Применение эффектов постобработки 445
Звездная пыль 448
Глава 14. Визуализация готовой сцены 454
Общие сведения о визуализации в трехмерной графике455
Эффект каустики455
Эффект подповерхностного рассеивания 457
Эффект глубины резкости 458
Настройки визуализации в 3ds Мах 8 459
Визуализатор mental ray 3.4 462
Создание эффекта рефрактивной каустики средствами визуализатора mental ray 3.4468
Создание эффекта глубины резкости средствами визуализатора mental ray479
Создание эффекта подповерхностного рассеивания с помощью визуализатора mental ray491
Визуализация при помощи командной строки500
Визуализация в текстуру503
Интерактивная визуализация511
Совмещение трехмерной графики и видеоизображений513
Основные принципы создания реалистичного трехмерного изображения515
Начинаем с композиции 516
Не забудьте о деталях517
Если нужно создать пейзаж518
Тонкости создания материала518
Добавление движения519
Освещение — это не только свет, но и тени520
Самое главное — просчет520
Глава 15. Дополнительные модули для 3ds Мах 8523
Общие сведения о дополнительных модулях для 3ds Мах 8524
Установка дополнительных модулей525
Модули Digimation526
Bones Pro528
Clay Studio Pro529
DigiPeople530
Darwin530
Head Designer 531
Lightning532
LumeTools533
QuickDirt534
Particle Studio534
Sand Blaster535
Texture Lab536
The Essential Textures536
Модули Blur Beta539
Модули HAB Ware545
Модули EffectWare 548
Модули Питера Ватье554
Модули Павла Кузнецова558
Дополнительные модули для визуализации559
Brazil r/s560
FinalRender564
VRay565
Создание стеклянного материала с эффектом абсорбции средствами подключаемых визуализаторов566
Другие полезные дополнительные модули585
Глава 16. Ресурсы Интернета588
Заключение 595
Приложение 1. Сочетания клавиш, которые используются в программе 3ds Мах 8596
Сочетания, дублирующие пункты главного меню596
Вызов пунктов главного меню596
Меню File (Файл)597
Меню Edit (Правка)597
Меню Tools (Инструменты)597
Меню Views (Вид) 598
Меню Animation (Анимация)598
Меню Graph Editors (Графические редакторы)598
Меню Rendering (Визуализация) 598
Меню Customize (Настройка)599
Меню MAXScript 599
Сочетания, дублирующие кнопки на панелях инструментов599
Основная панель инструментов599
Кнопки управления в нижней части экрана600
Общие действия 600
Приложение 2. Содержимое компакт-диска601
Предисловие
3ds Max — это самый популярный в России и СНГ пакет для работы с трехмерной графикой. Большинство пользователей начинают знакомство с компьютерной графикой именно с него. Очень многие работают с программой на профессиональном уровне.
В связи с постоянным расширением сферы использования трехмерной графики количество людей, которым она интересна, возрастает. Область применения трехмерной графики необычайно широка. Специалисты, владеющие трехмерными пакетами, востребованы в разных областях, в том числе в рекламе, киноиндустрии, на телевидении, в производстве компьютерных игр. Программа 3ds Мах также используется для дизайна интерьеров, проектирования мебели, ландшафтного дизайна. Если вы работаете в одной из этих сфер, то знание 3ds Мах вам просто необходимо.
Владение пакетами для работы с трехмерной графикой приветствуется и в таких смежных сферах, как веб-дизайн, проектирование одежды, полиграфический дизайн. Кроме этого, ЗО-лрезентапии — популярное средство для привлечения внимания к своим разработкам в сфере образования и науки. Программа 3ds Мах также используется в науке для решения физических задач, иллюстрации физических процессов и пр.
О чем эта книга
Книга, которую вы держите в руках, является пособием по изучению пакета 3ds Мах 8. В ней описаны инструменты моделирования, с помощью которых вы научитесь создавать трехмерные объекты и делать их похожими на настоящие.
Наряду с теоретическими сведениями о возможностях 3ds Мах книга содержит большое количество примеров. Мы старались помещать примеры или непосредственно после описания инструментов, которые они демонстрируют, или в конце соответствующего раздела. Практически все примеры демонстрируют возможности использования сразу нескольких инструментов 3ds Мах, поэтому не удивляйтесь, если после завершения раздела вместо примера вы найдете ссылку на одну из последующих глав.
Чтобы избежать перекрестных ссылок и сделать примеры, которые демонстрируют возможности инструментов, короче, авторы книг по 3ds Мах обычно используют один из двух способов:
предлагают простейшие примеры, чаще всего создание стандартных примитивов 3ds Мах без привязки к конкретным заданиям;
записывают на диск, прилагаемый к книге, подготовленные сцепы, с которыми читателю предлагается проделать то или иное действие.
Мы решили отойти и от первого, и от второго способа, так как они оба кажутся нам малоэффективными, особенно если читатель плохо знаком со средствами 3ds Мах. Создавая простейшие примитивы при помощи пошаговых инструкций, описанных в книге, начинающий дизайнер трехмерной графики вряд ли сможет понять, для чего служит тот или иной инструмент, ведь в таком случае отсутствует цель, которую нужно достичь при выполнении примера. Недостатком второго подхода является то, что читатель получает в свое распоряжение уже настроенные сцены, готовые для выполнения заданной операции. В этом случае при попытке сделать то же самое в собственной сцене пользователь столкнется с трудностями, связанными с предварительной настройкой присутствующих в ней объектов.
Именно поэтому мы старались не делать коротких примеров. Практически каждый пример этой книги — это пусть небольшой, но целостный проект, описанный от начала до конца. Например, если рассказывается об анимации объекта, то вы узнаете и о том, как его предварительно смоделировать. По этой причине о применении некоторых инструментов в книге рассказано неоднократно. Надеемся, что наши примеры помогут вам лучше закрепить особенности использования инструментария 3ds Мах и не покажутся бесполезным дополнением к теоретической части.
Наконец, чтобы окончательно убедить вас в необходимости выполнения упражнений, заметим, что в некоторых из них вы найдете сведения, отсутствующие в теоретических разделах книги. Это касается, в частности, примеров использования модуля reactor 2, предназначенного для создания динамики. Вместо обычного пояснения, что означает тот или иной параметр этого сложного модуля, мы описали его возможности на конкретных примерах в упражнениях. Надеемся, это позволит вам лучше разобраться в особенностях работы с ним.
Структура книги
Книга состоит из 16 глав. Первые две являются вступительными и потому не содержат примеров. В первой главе вы узнаете, что представляет собой трехмерная графика и как устанавливается приложение 3ds Мах. Во второй главе вы познакомитесь с интерфейсом программы.
В третьей главе описывается работа с простейшими объектами 3ds Мах, рассказано об их создании, редактировании и взаимодействии друг с другом.
Четвертая, пятая, шестая и седьмая главы посвящены различным средствам создания объектов в 3ds Мах. Вы научитесь выполнять трехмерные модели на основе сплайнов, при помощи редактируемых поверхностей, модификаторов и булевых операций.
В восьмой главе рассмотрено создание трехмерной анимации, а также работа с модулем для моделирования персонажей Character Studio.
Девятая глава посвящена модулю Particle Flow — мощнейшему средству для создания анимационных эффектов с частицами в 3ds Мах.
В гл. 10 и 11 описано создание трехмерных сцен, связанных с законами физики. Подобные эффекты очень сложно имитировать, однако мощные средства 3ds Мах позволяют это сделать. Вы познакомитесь с модулем reactor 2, оцените возможности новых модулей для создания ткани, шерсти и волос, появившихся лишь в 3ds Мах 8.
Глава 12 посвящена текстурированию трехмерных моделей. О более сложных материалах написано также в гл. 14. Наряду со средствами визуализации, в ней рассматриваются материалы интегрированного в 3ds Мах 8 визуализатора mental ray 3.4.
В гл. 13 описано освещение сцены, а также съемка при помощи виртуальных камер. Здесь также рассмотрены разнообразные эффекты камеры и фильтры постобработки изображений.
В гл. 15 речь идет о дополнительных модулях для 3ds Мах, которые призваны расширить возможности программы и сделать более простым выполнение многих операций.
Заключительная, 16 глава повествует о самых интересных ресурсах Интернета, которые посвящены трехмерной графике.
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты gurski@minsk.piter.com (издательство <еПитер», компьютерная редакция).
На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.