Введение:
Здравствуйте, меня зовут Антон Соколов, я - студент СПбГУ ИТМО,
Кафедры Инженерной и Компьютерной графики, по совместительству,
руководитель студии компьютерной графики в студенческом клубе, а в
свободное время увлекаюсь фотографией, паркуром и акробатикой. КГ
занимаюсь достаточно давно, и, в силу специализации, эта сфера
деятельности стала для меня профилирующей. И моя любимая ее часть – это
предметная визуализация (промышленная или студийная, как её еще
называют). Вот о ней я и хотел бы поговорить…
И так, что же я понимаю под предметной визуализацией
(ПВ, далее). Очень часто нам необходимо показать не картину в целом, а
лишь отдельный объект, передать его размеры и форму, акцентировать
внимание именно на нем – вот для этого и служит ПВ. ПВ очень часто
применяется в рекламе – очень яркий пример тому студия Артемия Лебедева
. Также можно создавать неплохие тестовые изображения – например, Вы
создаете работу, но обрабатывать все изображение в целом не совсем
практично, и визуализировать объект отдельно – это выход из ситуации.
Это, например, относиться к WIP-работам (WIP-work in progress-работа в процессе).
И поэтому, что же мы обсудим в этом уроке: статичную визуализацию предметов, визуализацию WIP-изображений и анимационную презентацию (облет объекта на 360 градусов). Все эти аспекты мы затронем как с помощью внешних визуализаторов, так и с помощью стандартного рендера scanline.
Мне хотелось бы отметить то, что очень важную роль во всем этот играет
время визуализации, т.к. чем больше времени идет рендер – тем меньше
времени у вас на доводку работы, и поэтому важный вопрос в этом уроке –
это время визуализации как для стандартного scanline модуля 3ds MAX,
так и для подключаемого рендера V-ray. И есть еще один момент - очень
часто авторы уроков выставляют время визуализации сцен, но не говорят о
конфигурации компьютера, на котором происходил рендер - тогда сложно
определить, оптимально ли это будет для вас. Я решил поступить
следующим образом - я обрабатывал все изображения и анимации на 2-х
компьтерах - слабом (P4 1500 Гц, 256 мб ОЗУ, Ati Radeon 9550 128 мб
видео) и сильном (AMD Ahlon 4200+, 2048 мб ОЗУ, GeForce 6600 GT 256 мб
видео). Во всех разделах связаных с рендером, Вы найдете изображения и
указания сколько происходила обработка на одном и другом компьютере. Я
считаю, что это будет полезно.
- Замечание:
- Все сцены, которые Вы найдете в этом уроке, были созданы в 3d studio MAX 8 Service Pack 3 и V-ray Adv. 1.5 RC3.
- Замечание:
- Некоторый важные моменты в тексте урока выделены жирным шрифтом,
для того чтобы Вы не забыли пройти эти шаги. На изображения (в
основном, снимках с экрана) важные шаги подчернуты красным цветом. Если
у вас возникли проблемы с тему, к чему какая картинка относиться -
просто наведите курсор на изображение и Вы увидите всплывающую
подсказку. Также все пункты сопровождаються сценами, который показывают
результат для того, чтобы Вы на практике могли сравнить Вашу и мою
сцену.
Данный урок предназначен, в первую очередь для людей уже имеющих
некорый опыт в 3ds MAX, но желающих поднять свой уровень. Вполне
вероятно, что и опытные люди найдут что-нибудь новое и интересное в
данной статье, т.к. я постарался изложить все, что я знаю по данному
вопросу, а аспекты, который не затрагиваются, но, по моему мнению,
должны быть изучены, я сопроводил дополнительными ссылками на другие
ресурсы. Данный урок достаточно длинный (писал его я около 3 дней),
поэтому наберитесь терпения и прочтите его до конца - надеюсь, он
окажеться полезным для Вас.
И так приступим…
Часть 1: Подготовка
Прежде всего создаете в каталоге “scenes” 3d studio MAX папку maxstart, т.е. у Вас должно получиться вот так: E:\3dsmax8\scenes\maxstart\
Для чего мы это сделали, я расскажу в конце урока.
Теперь запустите сам 3d studio MAX. Нажмите клавишу F10
или из главного меню rendering->render. В закладке common зайдите в
свиток assign renderer (выбор визуализатора). Там выбирете V-ray в
качестве визуализатора. Это необходимо сделать именно сейчас, для того
чтобы стал доступен выбор некоторых специальных возможностей (таких как
vraymtl и matte object)!
Нам необходимо создать достаточно не сложный объект, на котором мы и
будем проводить все наши эксперименты. Этим объектом будет рамка для
фотографии. Давайте создадим её. И так, на рисунках ниже показан
процесс ее создания (описание всех шагов - ниже):


- Создайте 2 прямоугольника (create->splines->rectangle). С помощью модификатора edit spline добавьте и разместите вершины их как на рисунке.
- Создайте объект loft (create->compound objects->loft), где в качестве shape (форма) меньший прямоугольник, а в качестве path (путь) больший. Настройки объекта loft не меняйте.
- Создайте 2 цилиндра (create->standard primitives->cylinder) с количеством сторон (sides) равным 12 , и расположите их как на рисунке. Примените к любому цилиндру модификатор edit mesh, затем нажмите кнопку attach и присоедините к этому цилиндру другой. Тем самым мы получим один объект.
- Создайте объект Boolean (create->compound objects-> Boolean), где в качестве operand A будет объект loft, а в качестве operand B будет объект cylinder. В качестве Operation (Операции) выберите Subtraction (A-B).
- Создайте объект box (create->standard primitives->box), который будет служить нам для фотографии и задней картонки. Далее создайте цилиндр, который будет служить ножкой для рамки.
- Замечание:
- (Это не относиться к
нашему уроку, но я хотел бы сказать об этом: при создания любых
объектов руководствуйтесь дополнительной информацией, а не только тем,
что храниться у вас в голове. Пользуйтесь нарисованными вами эскизами,
найденной в Интернете информацией и прочее… Так, например, при создании
рамки я пользовался информацией с сайта IKEA )
Мой результат вы можете скачать здесь:
Frame.max
Frame.3ds
Теперь, когда у нас есть объект, займемся его текстурированием. Для
начала примените ко всем объектам модификатор UVW-mapping. Затем
,соответственно, выберите способ нанесения карт(в свитке настроек
UVW-mapping) - box или cylinder. Зайдите в редактор материалов (нажмите
горячию клавишу "M", либо на иконку на верхней панели
). Далее, я не буду так подробно описывать этот процесс, все информацию
вы найдете на изображениях ниже. Скажу лишь, что в сцене всего 2
материала – дерева для рамки и мульти-материал для картины. 1 материал
– фото, 2 материал – картонка сзади. Все материалы – vraymtl.
Вы спросите, почему нет стекла? Ответ просто – зачем нам напрасно
усложнять сцену, ведь нам не нужны определенные эффекты рефракции
(преломления)? Нет, ну нужны – на необходимо качественное отражение, а
его мы создадим на материале фото. Помните, оптимизация – так же важная
часть работы. Никогда не делайте то, что не будет видно.
- Замечание:
- В сцене 4 текстуры. 2 с сайта www.vray-materials.de, а 2 другие отсканированы мной.
- Вот ссылки на тексуры:
Фото (94 кб)
Картонка (95 кб)
Дерево (108 кб)
Дерево-рельеф (106 кб)
Материал дерева:

Мульти-Материал (создание материала с двумя под-материалами,
назначение ID полигонам происходит в edit mesh(конвертируйте внутренний
бокс в editable mesh) ):
Фото:
Картонка: (настройки vraymtl без изменений, важны только текстуры - diffuse и bump)
Сцена после текстурирования здесь:

Frame textured.max
- Замечание:
- Если Вы хотите узнать больше про vray материалы, то прочитайте вот эти статьи:
На русском языке (автор - Dezintegrator2d )
На английском языке (автор - Wouter Wynen )
И так у нас есть объект, теперь нам необходимо окончательно
завершить нашу сцену. Для этого создадим объект на котором будет стоять
рамка. Создадим окружность (create->splines->circle) с включенным параметром adaptive
в свитке interpolation и применим к ней модификатор edit mesh.
Выравняейте окружность так, чтобы рамка "стояла" в центре неё..
Затем к плоскости применить абсолютно белый vraymtl (т.е. вам нужно
только поменять цвет diffuse на абсолютно белый ). Если у вас включен
direct-x в graphics mode, то результат должен выглядеть вот так:
Если же нет, то:
Теперь нажмите правой кнопкой мыши на полученную плоскость и из
выпадающего меню выбирите vray properties, там поставьте галочки в
полях matte object (матовый объект) и shadows (тени):
Данную операцию мы сделали для того чтобы создать эффект бесконечного фона,
т.е. мы создали объект который отражается в других объектах, принимает
тени, но сам при визуализации не виден. Данный метод имеет свои плюсы и
минусы, но он очень удобен.
Для тех кого данный метод не устраивает, могут поступить следующим образом – создать новый сплайновый прямоугольник (create->splines->rectangle), удалить у него 2 сегмента и сгладить одну вершину операцией filet, затем применить модификатор extrude с нужной вам амплитудой.
Тем самым Вы получите сглаженную плоскость. К ней следует применить тот же самый материал, что и для прошлой, но vray properties не менять.Теперь
у вас есть объект с помощью которого можно легко получить эффект
бесконечного фона и хорошие отражения для сферических объектов. Но с
ним не очень удобно делать анимационные презентации, поэтому мы далее
будем использовать первый метод. Вот вид сцены из окна программы:
Сцена на данный момент здесь::
Frame plane.max
Frame filet plane.max
Теперь мы можем приступать непосредственно к визуализации.
Часть 2: Статичная предметная визуализация:
И так, статичную визуализацию мы рассмотрим с помощью рендера v-ray
и стандартного визуализатора scanline вместе с adv. Lighting. В пункте
1 мы будем использовать сцену, созданную нами в прошлой части, а в
пункте 2 Вам понадобиться загрузить сцену созданную мной специально для
теста adv. Lighting.
Пункт 1 – Подключаемый визуализатор V-ray 1.5 RC3
Откройте сцену frame_plane.max. Расположите камеру (create->cameras->targeted) как показано на рисунке ниже.
И теперь давайте приступим к созданию света и настройкам рендера -
для этого я часто использую два способа - освещение с помощью обычных
источников света (далее, ИС) и image based lighting (освещение на
основе изображения). Давайте разбере эти способы по порядку:
Освещение с помощью обычных источников света


- Создайте ИС vraylight (create->lights->vray->vraylight).
Значение интенсивности и его расположение как на рисунке ниже.
Пояснение: значение amount - интенсивность света, значение subdivs -
кач-во теней - аналог size для shadow map у обычных ИС.
- Визуализатор Vray уже должен быть выбран, если это не сделано, то выберите его (как - сказано в начале урока).
- Цвет фона должен быть белым! Сделайте это! (render->environment).
- Зайдите в настройки рендера vray (rendering->render-> вкладка renderer)
-
Установите настройки, как на рисунке. Пояснения (описываються только те
свитки, которые раскрыты на рисунках - в остальных же, параметры по
умолчанию!):
- Свиток Global Switches - данный свиток
управляет глобальными параметрами рендера. Здесь мы лишь выключим 1
параметр - default lights, т.е. отключим стандартный источник света,
который находиться, по умолчанию, в любой сцене.
- Свиток
Image sampler (Antialiasing) - данный свиток управяет параметрами
сглаживания (и ,соответственно, фильтрами сглаживания). Здесь мы влючим
тип сглаживания Adaptive QMC, т.к. в нашей сцене (и надо знать это на
будушее) есть отражающие объекты - а чем их больше, тем выгоднее
использование этого типа, в отличии от adaptive subdivision. В кач-ве
фильтра Area или Mitchell-Netravai
- Свиток Adaptive rQMC image sampler - без изменений
- Свиток
Inderect Illumination (GI) - галочка On - включим использование
Глобальной иллюминации. В кач-ве первичного движка отскоков -
irradiance map, а вторичного - QMS. Подробнее про GI здесь
- Свиток
Irradiance map - параметры, как на изображении. Отмечу, что все
настройки выделенные красным, отвечают за улчшение качества GI. Кроме
одной - show calc phase - я очень люблю эту опцию. Она позволяет
видеть, как идет обработка GI :-) Подробнее про настройки IRR map здесь
- Свиток Quasi-Monte Carlo GI - без изменений. Если вы хотите улучшить тени снизу рамки, то увеличте эти параметра на 1-3 единицы.
- Свиток
Environment - данный свиток регулирует параметры окружения - генерацию
глобального освещения, отражения и преломления. Установите галочки, как
на картинке. Тем самым мы включим GI и черный фон для отражений.
- Свиток rQMC sampler - регулирует шум в тенях. Параметры как на картинке.
- Визулизируйте сцену.
- Сохраните ее в ...\scenes\maxstart\maxstart_vr_is.max
То, что получилось у меня:

maxstart_vr_is.max
Время визуализации (неплохо для абсолютно чистой от шума картинки?):
1-ый компьютер = 6 минут 9 секунд
2-ой компьютер = 15 секунд
- Замечание:
- Чтобы сократить время
визуализации можно было воспользоваться функцией ИС store with
irradiance map (она есть в параметрах всех vraylight) , т.е. мы
заменили бы ИС на часть глобальной иллюминации - "сделали яркое пятно в
однотонном куполе ГИ". Тогда значение subdivs ИС (которое и увеличивало
время обработки) не несло никакого значения - все расчитывалось
первичным движком ГИ - и кач-во теней и время рендера - все зависиле от
параметров irradiance map. НО! Данная функция не взаимодействует с vray
matte object! Поэтому у нас нет возможности ее использовать.
Обязательно экспереминтируйте! Вот, что получилось у меня для сцены
с незначительно измененными настройками и сглаженной плоскостью из
первой части урока:

maxstart_vr_is2.max
Время визуализации:
1-ый компьютер = 54 секунды
2-ой компьютер = 6 секунд
- Замечание:
- Загрузите сцены и самостоятельно изучите их! Это будет в качестве домашнего задания!
Image based lighting (освещение на основе изображения)
- Возьмите сцену из прошлого пункта и удалите в ней источник света.
- Зайдите в настройки рендера vray (rendering->render-> вкладка renderer)
-
Зайдите в вкладку environmnet и нажмите на слоте для карт. Выберете
vrayHDRI, перенесите ее в material editor. Скопируйте ее на слот
reflection в свитке environment.
- Установите настройки, как на рисунке. Пояснения (все так же как и в прошлый раз, только разница в окружении):
- Свиток
Environment - мы будем эмулировать освещение с помощью HDR. Что же
такое HDR, в кратце, - это изображение, которое хранить информацию о
яркости в гораздо большем объеме нежели jpg. Ее можно использовать для
того, чтобы указать какие участки окружения нашей 3д сцены будут
излучать больше света и какой оттенок он будет иметь. Для того чтобы
лучше это понять представте такую ситуацию - у Вас есть окно, на окне
висит тюль. В окно попадает яркий луч света - тогда чем прозрачнее тюль
и чем ее оттенок билже к белому, тем ярче и похоже на обычное освещение
без тюли становиться похоже освещение комнаты. И наооборот, если тюль
практически не прозрачная, то и света в комнате практически не будет.
Так же и с HDR - чем темнее участок - тем меньше света от него, чем
светлее - тем больше. Родоночальником HDR являеться Paul Debevec - на
его сайте Вы узнаете больше об этом замечательном открытии. Вот ссылки:
Про HDR и бесплатные hdr на debevec.org
Про HDR по-русски
Бесплатные HDR на сайте болгарского КГ художника - Ссылка на HDR из урока
- Также HDR мы будем использовать и для отражений.
- Помните, что значение multiplier для environment теперь не несет никакой роли, а важно только значение multiplier в vrayhdri.
- Визулизируйте сцену.
- Сохраните ее в ...\scenes\maxstart\maxstart_vr_hdr.max
То, что получилось у меня:

maxstart_vr_hdr.max
Время визуализации:
1-ый компьютер = 4 минуты
2-ой компьютер = 12 секунд
Вот тоже несколько экспериментов. Первая сцена - - HDR только для отражения::

maxstart_vray_hdr2.max
Время визуализации:
1-ый компьютер = 54 секунды
2-ой компьютер = 5 секунд
Вторая сцена - HDR для освещения и отражения:

maxstart_vray_hdr3.max
Время визуализации:
1-ый компьютер = 1 минут 09 секунд
2-ой компьютер = 6 секунд
- Замечание:
- Загрузите сцены и самостоятельно изучите их! Это будет в качестве домашнего задания!
- Замечание:
- Вы
всегда можете комбинировать эти методы, чтобы добиться наилучшего
результата. Всегда экспериментируйте - это приведет Вас только к
лучшему!
Пункт 2 – Стандартный визуализатор scanline вместе с adv. Lighting
Если же Вы не привержинец рендера vray, то есть один простой способ
получить хорошую картинку и без использования стороних программ. Сейчас
мы сэмитируем глобальное освещение с помощью light tracer - встроенного
в 3ds MAX элемента.
Откройте сцену созданную мной:
Car light tr.max
В ней уже объект - игрушечная машина с примененным материалом и белая плоскость. Также в сцене есть камера.
Вот пошаговая настройка сцены (комментарии далее):
- Создайте источник света skylight из списка стандартных
источников света. Его местоположение и настройки не играют никакой роли
(буквально - как только вы создали этот источник, в сцене появляеться
"бесконечный купол" белого (ну или выбранного вами) цвета, который
освещает нашу сцену - он безразмерен. В физике есть такой термин -
параксиальные лучи (уж простите, если я ошибся - но вроде так), это
лучи которые прихоят от источника практически паралелльными - такими
лучами являеться множество лучей от солнца (не все). А знаете почему? А
ведь все просто! Солнце просто очень далеко от нас - и поэтому на Землю
попадают лучи, ушедшие от солнца под очень маленькими углами! Так вот
аналогию с этими лучами можно провести и с источником skylight. Он
очень далеко от сцены. Он вроде как безграничен. И как бы Вы не меняли
его положение или положение объектов - он все равно будет освещать
сцену одинаково и тени от обеъктов будут одинаковыми. Только если Вы
,конечно, не поменяете его интесивность :-).
- Перейдите в вид из камеры, нажав кнопку "с".
- Следуя
инструкциям на картинке выберете в качестве adv. lighting элемент ligth
tracer и установите параметры, который подчеркнуты. Поясню, что большее
значение rays увеличивает время рендера, но улучшает качество. Так и со
значением filter (его следует менять от 0,5 до 2). Если Вы хотите
получить наилучшее качество light tracer, то отключите adaptive
undersampling.
- Визулизируйте сцену.
- Сохраните ее в ...\scenes\maxstart\maxstart_lt.max
Результат достаточно не плох, если вы не хотите иметь дело с внешнеми визуализаторами. Вот что получилось у меня:

maxstart lt.max
Время визуализации:
1-ый компьютер = 10 минут 51 секунда
2-ой компьютер = 2 минуты 2 секунды
Часть 3: WIP-изображения:
Что же самое важное в WIP-изображения? Это ,конечно, сетка, "каркас"
модели. Вот ее мы и будем учиться показывать в этой части. Здесь Вы
найдете целых 5 раличных пунктов - как говориться, на любой вкус и
цвет. Мы будем использовать внешный визуализатор V-ray и встроенные
визуализаторы scanline и mental ray. Я постарался найти наиболее
приятные и интересные методы.
Пункт 1 – Подключаемый визуализатор V-ray 1.5 RC3 c vrayedgtex
Откройте сцену созданную нами в первом пункте второй части (любой из 2-х методов)
Вот пошаговая настройка сцены (комментарии далее):


- Удалите все объекты кроме плоскости и создайте объект teapot (чайник). Расоложите его на месте рамки.
- Зайдите в редактор материалов (нажмите горячию клавишу "M", либо на иконку на верхней панели
). - Возьмите
любой другой слот для материалов, переименйте его в "wire vray".
Выберете как тип материала - vraymtl (см. начало урока).
-
Все параметры мы оставим без измений кроме двух - цвета и карты
diffuse. Цвет diffuse - (220,200,180). Присвойте слоту diffuse карту
vrayedgestex. Как это сделать показано на рисунке. Данная процедурная
(т.е. генерируемая компьютером) карта позволяет выделить линиями каркас
объекта, регулируя цвет линий и их размер.
- Присвойте материал wire vray всем объектам, кроме плоскости.
- Измените
настройки рендера, как на картинке. Мы изменим тип сглаживния, так
теперь у нас нет отражающих объектов (я писал про это выше).
- Визулизируйте сцену.
- Сохраните ее в ...\scenes\maxstart\maxstart_v_edg.max
Вот мой результат:

v edg.max
Время визуализации:
1-ый компьютер = 57 секунда
2-ой компьютер = 7 секунд
Пункт 2 – Стандартный визуализатор scanline с материалом wire
Откройте сцену созданную мной:
wire.max
В ней уже установлен свет и настройки для рендера. Про настройки света и про свет в КГ Вы можете прочесть здесь.
Вот пошаговая настройка сцены (комментарии далее):

- Создайте примитив teapot (чайник) с 10 сегментами.
- Создайте его копию (правой кнопкой на объекте - из выпадаюшего меню clone). Метод копирования - copy.
- К
второму чайнику примените модификатор push с амплитудой 0.1 (на
необходимо, чтобы чайник был слегка "больше" - а этот модификатор как
раз таки "раздувает" геометрию объекта). Этот чайник будет сеткой
нашего объекта, а первый - самим объектом
- Зайдите в редактор материалов (нажмите горячию клавишу "M", либо на иконку на верхней панели
). - Возьмите
любой материал (тип standart), переименуйте его в "base" и поменяйте
цвет diffuse на цвет (220,200,180) - этот цвет похож на цвет глины.
- Возьмите
любой другой слот для материалов, переименйте его в wire - в вкладке
shader basic parameteres включите галочку напротив надписи wire - тем
самым мы сделаем, чтобы у объекта отображалась только сетка. Цвет
diffuse - абсолютно черный. В вкладке extended parameters вы можете
редактировать размер линий сетки в блоке wire (Либо в системных
еденицах, либо в пикелях).
- Присвойте материал base первому чайнику, а материал wire - второму.
- Визулизируйте сцену.
- Сохраните ее в ...\scenes\maxstart\maxstart_st_wire.max
Источник: http://www.render.ru/books/show_book.php?book_id=504 |