• 12721
  • 53
  • 11
Нравится блог?
Подписывайтесь!

Организация рендера в Maya. Render Layers

Render Layers — это система для послойного и пообъектного рендеринга. Это означает, что любой объект может быть отрендерен отдельным проходом в отдельный файл. Один и тот же объект может находиться на разных слоях, но при этом иметь разные шейдеры, кроме того, каждый слой может быть отрендерен с разными настройками просчета и даже разными визуализаторами! 


Сделаем простой пример: 

1) Создадим плоскость и сферу, а также два источника света (spotLight — главный источник с включенными тенями, ambientLight с интенсивностью 0.3 для подсветки). 

2) К плоскости применим простой шейдер lambert с шахматной текстурой (все остальное по умолчанию). 

3) К сфере применяем blinn и меняем на цвет «повеселее». 

Далее переходим непосредсвенно к организации рендера. Для начала давайте посмотрим что мы имеем: 

Если в шарике нет отражений необходимо включить Raytracing

Итак, что же мы будем делать? Или правильней будет спросить, что же мы хотим контролировать на этапе композитинга? 

а) Цвет каждого объекта в отдельности 

б) Мягкость и интенсивность тени 

в) Мягкость и силу отражений 

г) Мягкость и интенсивность блика 

д) Сделаем Ambient Occlusion 

е) Depth of Field 

Создание Render Layers

Редактор Render Layers прост. В нем уже присутствует один слой — masterLayer

Удалять его не стоит, а отключить можно нажав на левую кнопку с зеленой галочкой, которая после нажатия превратится в красный крестик. Это означает, что данный слой не будет учавствовать в финальном просчете. 

Создадим новый слой для контроля цвета плоскости: 

1) Выделяем плоскость 

2) Нажимаем Layers ➭ Create Layer from Selected

3) Переименуем новый слой: дважды щелкаем по названию и вводим новое имя planeDiffuse

4) Мы забыли добавить в слой источники света, поэтому выделяем их в Outliner, жмем правой кнопкой мыши на слоеplaneDiffuse ➭ Add Selected Objects

При выделенном слое мы видим что в нижней части вьюпорта появилось название текущего слоя. И в верхней части Render View также отображается имя выделенного слоя. 

Так как сфера не принадлежит слою planeDiffuse она не отображается ни во вьюпорте ни в Render View после просчета. Из сцены она никуда не пропала, если выделить слой masterLayer она вновь покажется. 

Таким же образом создаем слой для контроля цвета сферы (не забудьте добавить в слой источники света). 

Далее создадим слой для контроля тени: 

1) Выделяем объекты spotLight1pSphere1 и pPlane1

2) Создаем для них новый слой и назовем его shadow

Нам не нужно видеть сами объекты, а только тень от сферы на плоскости, поэтому: 

3) Выделяем сферу и открываем Attribute Editor ➭ вкладка pShereShape1 ➭ свиток Render Stats ➭ снимаем галочку Primary Visibility

Это исключит сферу из прямой видимости, но она все еще будет отбрасывать тень. После снятия галочки аттрибут Primary Visibility приобрел оранжевый цвет. Это называется Layer Override и означает, что галочка снята только для текущего выделенного слоя. 

Теперь если просчитать слой shadow мы не увидим саму сферу, но тень никуда не денется. 

Спрятать таким же образом плоскость и оставить тень не выйдет, воспользуемся шейдером useBackground

Открываем Hypershade, создаем шейдер useBackground и назначаем на плоскость. 

Настройки шейдера useBackground1 следующие: 

а) Specular Color = черный 

б) Reflectivity = 0 

в) Reflection Limit = 0 

г) Shadow Mask = 1 

Результат рендера может вам не понравиться — все черное! Однако, на самом деле все в порядке, нажмите кнопку отображения альфа-канала в Render View — тень на месте. 

На очереди слой для отражений: 

1) Выделяем все объекты сцены и создаем новый слой, назовем его reflection

2) Для плоскости снимаем галочку Primary Visibility, благодаря чему она будет исключена из прямой видимости, но будет видна в отражении сферы 

3) Сфере назначаем новый материал useBackground

Настройки шейдера useBackground2 следующие: 

а) Specular Color = белый 

б) Reflectivity = 1 

в) Reflection Limit = 2 

г) Shadow Mask = 0 

Результат рендера слоя отражений должен быть таким: 

С бликом шейдер useBackground нас не выручит, поэтому используем обычный blinn

1) Выделим spotLight1 и pShere1 и создадим новый слой с названием specular

2) Назначим сфере новый материал blinn со следующими настройками: 

а) Color = черный 

б) Eccenricity = 0.2 

в) Specular Roll Off = 1 

Остальное по умолчанию. 

Итог таков: 

Вернемся на время к слою sphereDiffuse. Так у нас есть отдельный слой для контроля блика в слое sphereDiffuse он будет лишним. Чтобы убрать его можно просто назначить сфере новый lambert материал, который не имеет бликов, но я пойду немного другим путем и воспользуюсь функцией Layer Override

1) Выбераем слой sphereDiffuse. Не будем трогать материал сферы, лучше отключим способность источника света spotLight1 генерировать блики на поверхностях. 

2) Выделяем spotLight1. Если снять галочку Emit Specular прямо сейчас это отключит способность источника света генерировать блики на всех Render Layers. Поэтому сначала нажимаем правой кнопкой мыши на аттрибут Emit Specular ➭ Create Layer Override. Аттрибут примет оранжевый цвет и теперь можно снять галку. 

Теперь Ambient Occlusion…

Ambient Occlusion лучше всего сделать средствами Mental Ray. Но ведь до сих пор мы обходились только стандартным Maya Software. Как же просчитать отдельный слой другим рендером? Ответ — Layer Override. Да, он может даже переключать систему визуализации для конкретного слоя! 

Продолжим: 

1) Выделим сферу и плейн (в этом слое источники света нам не понадобятся) 

2) Создадим новый слой с именем AO 

3) Открываем окно Render Settings и кликаем над строчкой Render Using ➭ Create Layer Override

4) Теперь можно переключиться на Mental Ray и пользоваться его преимуществами в текущем слое. Зайдем на вкладку Quality и переключим Quality Presets на Production.

5) Выделяем сферу и плоскость, над ними кликаем правой кнопкой мыши ➭ Assign New Material ➭ Surface Shader

6) В Out Color назначаем текстуру mib_amb_occlusion (она находится по этому пути в Hypershade: Create ➭ mental ray Textures ➭ mib_amb_occlusion

7) Заходим в настройки mib_amb_occlusion и немного повысим качество:

Samples = 64

Этого должно хватить. 

Ну и наконец слой для контроля глубины резкости: 

1) Также выделяем только сферу и плоскость 

2) Создаем для них новый слой DoF

3) Назначаем им новый материал Surface Shader

4) Открываем HyperShade ➭ Create ➭ 2D Textures ➭ и выбераем метод наложения 2D Projection

5) Выбераем surfaceShader2 и в Out Color назначаем Ramp текстуру, верхний цвет которой должен быть белым, а нижний черным. 

Так как мы выбрали метод наложения 2D Projection у нас в сцене появился новый объект place3dTexture1, который собственно и управляет наложением. Выделите его в Outliner

поверните и отмасштабируйте: 

rotateX = -90 

rotateY = -90 

rotateZ = 0 

scaleX = 12 

scaleY = 12 

scaleZ = 12 

Результат должен быть следующим: 

Ну вот! Организация рендера данной сцены закончена! У нас есть семь слоев для контроля (не считая masterLayer), готовых к рендеру. Нам остается только нажать Render ➭ Batch Render

После окончания просчета в папке Документы ➭ maya ➭ projects ➭ default ➭ images должно появиться семь папок, названия которых соответствуют названиям слоев рендера, а в каждой из этих папок лежит по одному файлу — это наши слои. 

Остался только композитинг, и вот тут мы уже можем почувствовать всю мощь послойного контроля, обратите внимание на методы смешивания слоев, как делается DoF — качественный и быстрый, как изменилась картинка по сравнению с майским рендером: цвет, мягкость теней, бликов и отражений, их интенсивность. Мы можем контролировать практически все что угодно и не пересчитывать сцену заново!

Однако, система Render Layers - это не все. У нее есть преимущества и недостатки перед другой системой - Render Passes. Но это тот фундамент, необходимый для понимания как работает пайплайн студий, производящих 3д графику для кино и телевидения.

Timur Savvin TSavvin
5 марта 2012, 22:00
2698

Загрузка...

Комментарии

Видео-уроки рендера воспринимаются лучше таких статей
За старания молодец, конечно, нужно развивать 3д коммюнити.

п. с. модо форева
Интересная штуковина. Спс за статью.
Отлично! Сам только начал изучать Maya и ZBrush. Жду новых уроков!
Очень грамотно всё разложено, благодарю!

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Мысли вслух. Почему казахи перестали общаться с родственниками и ходить в гости?

Мысли вслух. Почему казахи перестали общаться с родственниками и ходить в гости?

Дастархан в те времена был скромен. Не было понятия «сынау» - осуждения кто как живет, какой в доме ремонт и т.д. Пока взрослые обсуждали задержку заработной платы, мы играли в армию, жмурки, строили городки...
socium_kzo
5 дек. 2016 / 15:19
  • 29340
  • 30
Верховный Суд презентовал комментарий к Гражданскому процессуальному кодексу

Верховный Суд презентовал комментарий к Гражданскому процессуальному кодексу

ГПК содержит 505 статей, многие из которых написаны несколько сложным юридическим языком. Однако теперь понять их можно проще и без обращения к юристу.
RuSnake
6 дек. 2016 / 10:31
  • 10996
  • 0
Японец о Казахстане: «Ваши девушки уж сильно себе набивают цену...»

Японец о Казахстане: «Ваши девушки уж сильно себе набивают цену...»

"Мужчины должны у вас тут права качать, ибо их процент в вашей численности населения уступает проценту женщин". Я машинально начала уверять, что у нас в стране таковых не имеется...
Sapientia
5 дек. 2016 / 10:52
  • 10765
  • 71
Известный европейский фотограф показал истинную красоту казашек

Известный европейский фотограф показал истинную красоту казашек

С 26 по 30 ноября в Алматы гостил известный европейский фотограф Ян Маклайн в рамках реализации совместного проекта с Казахстаном. Подробности не уточняются, однако ходят слухи о том, что этот...
Muchacho55
7 дек. 2016 / 18:29
  • 9310
  • 8
Распил 1 млрд долларов или спасение для Алматы? В 2017-м начнётся строительство БАКАД

Распил 1 млрд долларов или спасение для Алматы? В 2017-м начнётся строительство БАКАД

Конечно, Алматы заслужил эту дорогу. Невзирая на все издержки, которые могут возникнуть. Заслужил и как крупнейший город Казахстана, и как субъект, формирующий своими налогами около четверти всех...
merurg
7 дек. 2016 / 12:35
  • 7405
  • 20
«Лицо дьявола»? Страшный силуэт на стекле – не оправдание водительской безответственности

«Лицо дьявола»? Страшный силуэт на стекле – не оправдание водительской безответственности

Казнет уже которые сутки подряд обсуждает страшную аварию на трассе Астана – Боровое, где сошлись страшные мистические знаки и где из-за банальной человеческой безответственности гибли люди..
openqazaqstan
8 дек. 2016 / 13:14
  • 6519
  • 6
Невозвращенцы-болашаковцы должны государству почти 2 млрд тенге. Кто их теперь вернет?

Невозвращенцы-болашаковцы должны государству почти 2 млрд тенге. Кто их теперь вернет?

Как сообщают новостные порталы, в Нью-Йорке нашёлся бывший болашаковец Ержан Еликов, исчезнувший пять лет назад и всё это время не выходивший на связь с родителями. Да-да, это именно он, «тот самый».
openqazaqstan
вчера / 14:31
  • 6060
  • 22
На самом деле дела плохи: казахстанские школьники на 49-м, а не на 12-м месте по математике

На самом деле дела плохи: казахстанские школьники на 49-м, а не на 12-м месте по математике

О том, как масс-медиа раздула миф о казахстанских вундеркидов в розовый воздушный шар, пока его не проколола правда-иголка. Получается, что казахстанские дети не могут применить теорию в практике...
ardakzhurynov
7 дек. 2016 / 0:17
  • 5886
  • 36
10 причин, по которым я не смогла работать учителем. Не только в зарплате дело, ребята

10 причин, по которым я не смогла работать учителем. Не только в зарплате дело, ребята

Я почти год проработала в школе, и когда уходила оттуда, была самым счастливым человеком в мире. Тот год, честно говоря, я и сейчас вспоминаю с ужасом.
demonica
6 дек. 2016 / 17:21
  • 6279
  • 78