Как стать автором
Обновить

Blender, 1001 мелочь

Время на прочтение20 мин
Количество просмотров35K

Приёмы работы с Blender версии 2.79, продолжение. На этот раз затронуты материалы и получение финального рендера изображения. Для понимания более базовых принципов и инструментов рекомендуется обратится к предыдущей статье.

Материалы

Для того, чтобы назначать объекту материал и редактировать его свойства, понадобится найти на панели Properies (находится слева, ниже окошка Outliner'а, в котором отображается список объектов на сцене) вкладку Material (обозначена розовым шариком).

Когда объект выделен в сцене (или выбран в списке Outliner'a), то на вкладке Material будут видны параметры материала текущего объекта. Если объект не может иметь материалов (камера, лампа и так далее), то и подобной вкладки у него не появляется.

По умолчанию у добавляемых в сцену примитивов материалы отсутствуют (если выбран рендер Cycles) и в окне вкладки материалов пусто. Чтобы добавить простейший материал нужно нажать в том окне кнопку + New и на объекте появится материал с шейдером Diffuse.Сам объект визуально почти не изменится, оставаясь всё таким же белым, зато теперь можно менять его цвет и насыщенность, щёлкнув по параметру Color.

Добавление нового материала
На панели Properties находим вкладку Material
На панели Properties находим вкладку Material
Жмём кнопку "+ New"
Жмём кнопку "+ New"
Теперь на объекте появился стандартный материал Diffuse (если появилось что-то другое, то убедитесь, что на самой верхней панели выбран рендер Cycles Render)
Теперь на объекте появился стандартный материал Diffuse (если появилось что-то другое, то убедитесь, что на самой верхней панели выбран рендер Cycles Render)
Нажав на белый прямоугольник можно выставить другой оттенок и уровень яркости цвета
Нажав на белый прямоугольник можно выставить другой оттенок и уровень яркости цвета
Для того, чтобы видеть сцену с полноценным просчётом материалов и света, нудно включить режим Rendered (для того чтобы нормально двигать и редактировать объекты нужно будет вернуться обратно в режим Solid)
Для того, чтобы видеть сцену с полноценным просчётом материалов и света, нудно включить режим Rendered (для того чтобы нормально двигать и редактировать объекты нужно будет вернуться обратно в режим Solid)

Щелкая по параметру Surface можно выбрать другой шейдер, вместо Diffuse BSDF. К часто используемым относятся, например, Emission (материал излучает свет), Glass BSDF (стеклянные и прозрачные поверхности) и Glossy BSDF (глянцевые - бликующие и зеркальные поверхности).

Также имеется комплексный шейдер, в котором собрано сразу очень много параметров (блики, свет, подповерхностное рассеивание и так далее) - Principled BSDF (основной шейдер в более поздних версиях Blender, где появился рендер Eevee). По умолчанию его материал выглядит как Diffuse с небольшой примесью Glossy.

Из прочих шейдеров можно отметить Anisotropic BSDF (такой же зеркально-бликующий как и Glossy, но с возможностью сильнее искажать отражение), Transparent BSDF (регулирующий степень прозрачности объекта) Subsurface Scattering (придающий поверхности более восковой или органический вид) и Velvet (создающий вычурный эффект бархатистой ткани).

Для того, чтобы более разнообразно управлять шейдерами материала и комбинировать из них что-то посложнее - открываем специальный Node Editor. Проще всего использовать для этого нижнее окно, где по умолчанию открыта временная линия (Timeline).

Меняем нижнее окно на редактор узлов
Меняем нижнее окно на редактор узлов

Открыв в нижнем окне Node Editor мы увидим материал текущего объекта в более развёрнутом состоянии - в виде связанных узлов. Например, для Diffuse там отобразится шейдер Diffuse, соединённый с узлом Material Output. Кстати, узлы могут появиться слишком мелкими и для увеличения изображения в этом окне пользуемся всё теми же кнопками, что и обычно (колесико мышки или Numpad + и Numpad -).

Принцип здесь такой, что цепочку узлов можно усложнять, но в итоге она приходит в финальный узел Material Output (чаще всего на основной его канал Surface), чтобы наконец отобразиться на объекте. Если же к Material Output ничего не присоединено, то объект просто будет отрисован совершенно чёрным.

Открыть Node Editor в нижнем окне
Щелкаем на самый левый значок в нижней панели окна и выбираем Node Editor
Щелкаем на самый левый значок в нижней панели окна и выбираем Node Editor
Теперь нижнее окно показывает редактор узлов и в самом низу выводится панель с его инструментами. Теперь мы видим узлы материала более наглядно - узел Diffuse подключен к выводящему узлу Material Output
Теперь нижнее окно показывает редактор узлов и в самом низу выводится панель с его инструментами. Теперь мы видим узлы материала более наглядно - узел Diffuse подключен к выводящему узлу Material Output
Щёлкнем на параметр Color узла Diffuse, чтобы поменять его цвет
Щёлкнем на параметр Color узла Diffuse, чтобы поменять его цвет
Если разорвать соединение узлов, то Materail Output не получает информации и выводит в качестве материала черноту
Если разорвать соединение узлов, то Materail Output не получает информации и выводит в качестве материала черноту
Добавление новых шейдеров
Изменим стандартный Diffuse материал в окне Node Editor. Добавим туда светящийся шейдер: Add - Shader - Emission
Изменим стандартный Diffuse материал в окне Node Editor. Добавим туда светящийся шейдер: Add - Shader - Emission
Узел появился в окне, но пока к выводу подключен старый шейдер Diffuse
Узел появился в окне, но пока к выводу подключен старый шейдер Diffuse
Подключаем вместо него новый шейдер
Подключаем вместо него новый шейдер
У шейдера Emission можно регулировать силу света в параметре на самом узле или сбоку, на вкладке Material (пока в материале не слишком много узлов, тогда сбоку найти нужный параметр проблематично). Например, сейчас сила света установлена в 20, вместо 1.
У шейдера Emission можно регулировать силу света в параметре на самом узле или сбоку, на вкладке Material (пока в материале не слишком много узлов, тогда сбоку найти нужный параметр проблематично). Например, сейчас сила света установлена в 20, вместо 1.
Цвет узла также можно выставлять как на нём, так и в окне сбоку
Цвет узла также можно выставлять как на нём, так и в окне сбоку

Стоит освоить один из ключевых приёмов - смешивание шейдеров. Новые шейдеры добавляются через пункт Add на нижней панельке окошка Node Editor (Add - Shader - выбрать нужный из списка). Далее, чтобы смешать два шейдера вместе нужно добавить особый узел, Mix Shader, и затем присоединить их выходы к нему (находится в том же списке Add - Shader). По умолчанию смешивание двух компонентов происходит в пропорции 1 к 1, но двигая ползунок можно регулировать степень влияния каждого компонента.

Смешение двух диффузных шейдеров (белого и красного). Образец результирующего материала всегда можно видеть справа (не только на сцене), если раскрыть графу Preview
Смешение двух диффузных шейдеров (белого и красного). Образец результирующего материала всегда можно видеть справа (не только на сцене), если раскрыть графу Preview

По сути, фактор смешивания в Mix Shader (параметр Fac) представляет собой элементарную маску, которая в крайних положениях ползунка может быть либо полностью чёрной (виден только первый компонент смешивания) либо полностью белой (виден только второй компонент смешивания), а в промежуточных положениях даёт различные градации серого (оба компонента вносят свою долю в результат).

Смешивание шейдеров
В Node Editor открыт стандартный Diffuse материал. Добавим сюда шейдер смешивания Add - Shader - Mix Shader
В Node Editor открыт стандартный Diffuse материал. Добавим сюда шейдер смешивания Add - Shader - Mix Shader
Теперь добавим шейдер стекла Add - Shader - Glass BSDF
Теперь добавим шейдер стекла Add - Shader - Glass BSDF
Разместим Diffuse и Glass левее Mix Shader
Разместим Diffuse и Glass левее Mix Shader
Теперь подключим выходы BSDF к двум входам Shader у Mix Shader, а его собственный выход к параметру Surface у финального правого узла
Теперь подключим выходы BSDF к двум входам Shader у Mix Shader, а его собственный выход к параметру Surface у финального правого узла
Изменим цвет Diffuse, чтобы нагляднее заметить смешивание
Изменим цвет Diffuse, чтобы нагляднее заметить смешивание
Переведём ползунок у параметра Fac в крайнее левое положение. Теперь в материале преобладает Diffuse
Переведём ползунок у параметра Fac в крайнее левое положение. Теперь в материале преобладает Diffuse
Передвинем ползунок в крайнее правое положение. Теперь материал стал полностью стеклянным.
Передвинем ползунок в крайнее правое положение. Теперь материал стал полностью стеклянным.

Если хочется более интересного смешения, можно подключать к MixFactor, например, текстуры. Для простоты, в узлах NodeEditor уже содержится несколько предустановленных текстур, например, процедурные Musgrave Texture, Voronoi Texture и Wave Texture для достаточно наглядных хаотических либо упорядоченных узоров. Если подключить такую текстуру к параметру Color узла Diffuse, то можно увидеть, что объект заполнен тёмными и светлыми областями. Если же эта текстура подключена к параметру Fac узла Mix Shader, то в тёмных областях будет преобладать один из компонентов смешивания, а в белых другой.

Кстати, параметр каждого узла справа может быть подключен в разное количество мест одновременно. Например, текстура через параметр Color может быть подключена сразу и к цветам нескольких узлов, или, например, в то же время и к параметру Fac.

Ещё один полезный вариант - использовать в качестве фактора смешивания узел Freshnel (формула для упрощённого расчёта эффекта Френеля). При таком смешивании на тех частях объекта, на которые мы смотрим под углом, будет более выражен один из компонентов, а на тех, куда мы смотрим более прямо - другой компонент Наиболее частое использование - более реалистично выглядящая поверхность воды или стекла, когда по Френелю смешиваются шейдеры Glass (прозрачность при прямом взгляде) и Glossy (зеркальность и непрозрачность при взгляде под углом).

Френель в качестве фактора смешивания

Если материал должен просто накладывать на объект произвольное изображение, тогда нужно добавить узел ImageTexture, в котором есть диалог загрузки пользовательского изображения. Далее присоединить его к параметру Color, того же стандартного узла Diffuse (или Principled). Пока изображение не выбрано материал будет фиолетового цвета. Когда мы укажем текстуру, то... скорее всего изображение всё ещё не будет наложено на объект. Происходит это по причине того, что у материала в данном случае нет информации о том, как следует разместить текстуру по поверхности объекта.

Добавление текстуры к шейдеру
Узел Image Texture добавлен, но не выбрано изображение. Чтобы его подключить нужно нажать на кнопку Open и указать файл с картинкой в появившемся диалоге
Узел Image Texture добавлен, но не выбрано изображение. Чтобы его подключить нужно нажать на кнопку Open и указать файл с картинкой в появившемся диалоге
Теперь изображение указано, но по прежнему ничего не видно, так как нет развёртки
Теперь изображение указано, но по прежнему ничего не видно, так как нет развёртки
Если добавить авторазвёртку (появилась строчка справа в UV Maps), то станет видно как накладывается изображение
Если добавить авторазвёртку (появилась строчка справа в UV Maps), то станет видно как накладывается изображение

Для того, чтобы изображение наложилось хотя бы как-нибудь, при отсутствии нормальной развёртки, можно воспользоваться парой простых методов: создать автоматическую текстурную развёртку для объекта или добавить в материал ещё один узел, который будет задавать принципы проецирования текстуры на объект.

В первом способе нужно просто зайти на вкладку Data текущего выделенного объекта и нажать на плюсик слева в окошке графы UVMaps. После чего сгенерируется автоматическая развёртка и в это окошко добавится строчка UVMap (предустановленное имя для каждой новой авторазвёртки ). Теперь на объекте появится изображение, хотя и будет наложено, скорее всего, с различными растяжками и прочими дефектами.

Упрощённое добавление авторазвёртки
Выделяем нужный объект, и на панели Properties находим вкладку Data. Нажимаем плюсик в графе UV Map. Если после этого объект будет как-то редактироваться, то желательно после редактирования удалить ему старую авторазвёртку и добавить новую.
Выделяем нужный объект, и на панели Properties находим вкладку Data. Нажимаем плюсик в графе UV Map. Если после этого объект будет как-то редактироваться, то желательно после редактирования удалить ему старую авторазвёртку и добавить новую.

Другой способ - добавим узел Texture Coordinate и подключим исходящий параметр Generated к входящему параметру Vector, на левой стороне узла Image Texture. После чего переключим метод проецирования с плоского (Flat) на объёмный - нужно нажать на третью кнопку в узле Image Texture (Flat) и выставить там другой вариант (Box либо Sphere).

Узел Texture Coordinate
Добавим Texture Coordinate, выбрав его в меню Add - Input
Добавим Texture Coordinate, выбрав его в меню Add - Input
Подключим выход Generate ко входу Vector нашей текстуры - теперь появилось изображение
Подключим выход Generate ко входу Vector нашей текстуры - теперь появилось изображение
Изменим способ проецирования Flat на Box...
Изменим способ проецирования Flat на Box...
вот что получилось
вот что получилось
Попробуем другой метод, Sphere - теперь результат стал получше
Попробуем другой метод, Sphere - теперь результат стал получше

Что в первом, что во втором случае пригодится узел Mapping для изменения размера. Этот и прочие преобразующие/конвертирующие узлы следует подключать в правильные места, например, Mapping подключенный между Texture Coordinate и Image Texture будет вмешиваться в передаваемый вектор (в том числе регулировать размер текстуры), а если его поместить уже после Image Texture к линии Color, то он будет регулировать уже цвет (а не размер, поворот и смещение текстуры).

Узел Mapping
Добавляется через Add - Vector
Добавляется через Add - Vector
Поначалу ничего не меняется, но зато теперь можно управлять параметрами размера смещения и поворота
Поначалу ничего не меняется, но зато теперь можно управлять параметрами размера смещения и поворота
Например, здесь было добавлено вращение по Y на -150 и размеры уменьшены с 1 до 0,1. Если переключаться по верхним кнопкам узла (Texture, Point, Vector, Normal), то при одних и тех же прочих выставленных значениях изображение будет накладываться несколько иным образом.
Например, здесь было добавлено вращение по Y на -150 и размеры уменьшены с 1 до 0,1. Если переключаться по верхним кнопкам узла (Texture, Point, Vector, Normal), то при одних и тех же прочих выставленных значениях изображение будет накладываться несколько иным образом.
А вот что получилось бы, если передвинуть узел Mapping так, чтобы он следовал уже после Image Texture, вмешиваясь в её цвет. В данном случае установлен поворот на 90 по Z.
А вот что получилось бы, если передвинуть узел Mapping так, чтобы он следовал уже после Image Texture, вмешиваясь в её цвет. В данном случае установлен поворот на 90 по Z.

Для придания материалу эффекта микрорельефа любые текстуры можно подключать к параметру Displacement финального узла Material Output.

Эффект псевдорельефа
Имеем зелёный Diffuse материал
Имеем зелёный Diffuse материал
Добавляем, например, Voronoi Texture
Добавляем, например, Voronoi Texture
И подключаем её ко входу Displacement
И подключаем её ко входу Displacement

Рендер изображения

Главное, что нам понадобится для получения рендера - это обязательное наличие в сцене камеры. Добавляем её, если она отсутствует.

Для создания камеры выбираем Add - Camera
Для создания камеры выбираем Add - Camera

Нужно понимать, что камера смотрит на сцену со своей точки зрения и обычно показывает не то, что мы видим, работая в редакторе. Чтобы "прилететь" своим взором в текущий ракурс камеры нужно нажать Numpad 0 на цифровой клавиатуре. Повторное нажатие Numpad 0 вернёт нас обратно в тот вид из которого мы "улетели". Если же двинуть мышью с зажатой средней кнопкой мыши, то мы выйдем из ракурса камеры, но в более близкий к нему угол зрения.

Перемещаем и поворачиваем камеру, как обычный объект
Перемещаем и поворачиваем камеру, как обычный объект
После чего нажимаем Humpad 0, чтобы увидеть сцену из камеры
После чего нажимаем Humpad 0, чтобы увидеть сцену из камеры

Если же мы хотим, чтобы камера сама встала в тот вид, который у нас перед глазами в данный момент, то нужно нажать сочетание Ctrl Numpad 0. При этом стоит немного отдалиться от текущего вида, потому как обычно прилетевшая камера немного приближает картинку. Вышеописанные манипуляции с камерой также можно найти в меню View - Cameras.

Для более точной подстройки ракурса можно дополнительно подвигать саму камеру, выделив её, как объект (здесь пригодится переключить систему координат объекта с Global на Local). Если перейти в вид из камеры, когда она выделена, то можно просто потаскать её в стороны, нажав G (либо набирая GX, GY или GZ для перемещения точно вдоль осей) или покрутить, нажав R (соответственно, RX, RY, RZ).

Выставление камеры
Добавляем камеру, если её нет на сцене. Add - Camera
Добавляем камеру, если её нет на сцене. Add - Camera
Появляется камера
Появляется камера
Передвинем её
Передвинем её
И теперь попробуем переключится в вид из камеры, нажав Numpad 0. Как видно, камера оказалась слишком близко.
И теперь попробуем переключится в вид из камеры, нажав Numpad 0. Как видно, камера оказалась слишком близко.
Нажмём сочетание Shift F и удерживая S (помогая прочими - A, W и D) отлетим немного подальше, после чего щёлкаем кнопкой мыши и оставляем камеру уже в более подходящем ракурсе.
Нажмём сочетание Shift F и удерживая S (помогая прочими - A, W и D) отлетим немного подальше, после чего щёлкаем кнопкой мыши и оставляем камеру уже в более подходящем ракурсе.
Теперь выставим режим Rendered, чтобы лучше представлять себе, что в итоге отрендерится на камере в текущем ракурсе.
Теперь выставим режим Rendered, чтобы лучше представлять себе, что в итоге отрендерится на камере в текущем ракурсе.

Ещё более удобный способ подстройки ракурса - временно переключиться в Walk Mode. Для этого приходим в вид из камеры (выделять саму камеру как объект не требуется) и жмём комбинацию Shift F. По центру экрана появится прицел и станет возможно управлять текущим видом с помощью кнопок W A S D, а нажатие пробела приближает к тому объекту, что сейчас находится в прицеле. По первому щелчку мыши Walk Mode переключится в стандартный Fly Mode.

Возможно, когда выбран вид из камеры, то по какой-то причине задний фон обрезается и часть дальних объектов не отображается. Это происходит потому, что у камеры есть параметр дальности отрисовки, отсекающий лишнее. Чтобы камера захватывала большее пространство нужно выделить её, тогда на панели Properties один из последних значков изменится на камеру (вкладка Data). Переходим туда и, находясь в графе Lens, выставляем большее значение, чем стандартное 100 в разделе Clipping: End.

Дальность камеры
Выделяем камеру. На панели Properties открываем вкладку Camera и в графе Lens видим, что дальность (End) установлена в 100
Выделяем камеру. На панели Properties открываем вкладку Camera и в графе Lens видим, что дальность (End) установлена в 100
Попробуем поменять её на 20...
Попробуем поменять её на 20...
теперь на рендере дальняя часть сцены не отобразится
теперь на рендере дальняя часть сцены не отобразится
Если же мы увеличим и ближнюю точку отрезки (Start), то и ближнее пространство рендерится не будет.
Если же мы увеличим и ближнюю точку отрезки (Start), то и ближнее пространство рендерится не будет.
Выставим нормальные параметры и снова на рендере видим всю сцену
Выставим нормальные параметры и снова на рендере видим всю сцену

Когда мы смотрим на сцену из камеры и на сцене включен режим рендера, то всё что находится за пределами камеры тоже пытается отрендерится. Для некоторой оптимизации можно поставить галочку на параметре Border (панель Properties, вкладка Render, графа Dimensions, внизу), тогда при виде из камеры то, что выходит за границу её видимости рендерится не будет.

Кроме камеры нам, вероятно, понадобится источник света, так как одного фонового света часто недостаточно. Например, точечный источник света (Point) или солнечный (Sun).

Для создания источника света выбираем Add - Lamp - вариант из списка (в данном случае точечный источник Point)
Для создания источника света выбираем Add - Lamp - вариант из списка (в данном случае точечный источник Point)
Источник света появляется в сцене и на панели Properties можно увидеть вкладку с его специальными настройками, когда он выделен
Источник света появляется в сцене и на панели Properties можно увидеть вкладку с его специальными настройками, когда он выделен

Для лампочки Point конкретное место размещения имеет важность, если объекты будут находится слишком далеко от него, то его влияние на их освещённость становится несущественным. У лампочки Sun, напротив, местоположение роли не играет, а важен задаваемый ею угол наклона солнечных лучей - показываемый пунктирной линией. То есть лучи не исходят из точки в которой находится Sun, а заполняют всю сцену полем параллельных лучей.

Оптимальный диапазон параметров силы источников света тоже несколько отличается. Свежесозданный Point имеет предустановленную силу света 100 и там обычно выставляются значения в сотнях и тысячах. У Sun предустановленный параметр силы света равен 1 и, как правило, крутится где-то в диапазоне от 0.5 до 3.

Переходим непосредственно к получению рендера сцены. Ещё раз убеждаемся, что камера присутствует в сцене и жмём горячую кнопку F12. В основном окне редактора (или в том окне Blender, которое шире остальных открыто сейчас), где был вид сцены появится прямоугольник заполненный шахматным рисунком, который по отдельным квадратикам станет заполнятся итоговым изображением. Стандартные кнопки для зума (Numpad +, Numpad - и колёсико) в этом окне также работают.

Процесс рендера изображения
Нажимаем F12 или выбираем  рендер одиночного изображения в верхнем меню (первая строка)
Нажимаем F12 или выбираем рендер одиночного изображения в верхнем меню (первая строка)
Основное окно изменилось. Обратите внимание, что значок слева поменялся. Сверху справа видна полоса прогресса.
Основное окно изменилось. Обратите внимание, что значок слева поменялся. Сверху справа видна полоса прогресса.
Полоска продвигается, а в окне рассчитываются квадратные кусочки изображения, постепенно заполняя картинку.
Полоска продвигается, а в окне рассчитываются квадратные кусочки изображения, постепенно заполняя картинку.
Рендер завершился и теперь можно щёлкнуть на Image, выбрав Save As Image. Альтернативный способ - горячая кнопка F3
Рендер завершился и теперь можно щёлкнуть на Image, выбрав Save As Image. Альтернативный способ - горячая кнопка F3
Вводим имя файла. Слева видны предустановки - в каком формате будет сохранён файл.
Вводим имя файла. Слева видны предустановки - в каком формате будет сохранён файл.
Нажимаем Save as Image для сохранения картинки
Нажимаем Save as Image для сохранения картинки
Кнопка для переключения на вид с превьюшками файлов
Кнопка для переключения на вид с превьюшками файлов

Общий прогресс создания рендера отображается сверху, и здесь же его можно отменить, при желании. Когда картинка готова, то для сохранения выбираем пункт Image на панели и далее Save As Image. Если этот пункт горит серым, значит картинка ещё не отрендерилась до конца и нужно дождаться окончания процесса (либо принудительно остановить его, нажав на крестик правее полосы прогресса).

Когда открывается диалог сохранения изображения, то внизу слева можно выбрать формат (по умолчанию PNG), цветность, глубину цвета, качество.

Чтобы вернуться из этого окошка обратно в сцену нужно найти на его нижней панели самую левую иконку, нажать на неё и выбрать пункт 3D View.

Возврат в сцену из окна рендера
Нажать здесь и выбрать 3D View
Нажать здесь и выбрать 3D View

Теперь пробежимся по тем настройкам, от которых зависит общее качество рендера - панель Properties, вкладка Render (значок фотоаппарата). В первой графе (которая тоже называется Render) в строке Device скорее всего выбран CPU, то есть итоговое изображение рассчитывается силами процессора. Если у вас дискретная видеокарта, то, вероятно, появится возможность выбрать вариант GPU, чтобы рендером занималась видеокарта и он происходил быстрее.

Вкладка Render
Вкладка Render

В следующей графе, Dimensions, показаны настройки текущего разрешения, по умолчанию 1920 на 1080 с уровнем чёткости 50%. Чем меньше каждый из этих параметров, тем быстрее рендерится картинка, но и результат будет более размытым и менее детализированным. Для итогового рендера, когда мы уже вряд ли что-то будем менять в сцене и в настройках, уровень чёткости желательно выставить в 100%.

В графе Sampling находится ещё один важный параметр качества в разделе Samples: Render. По умолчанию для финального рендера установлено 128 проходов на каждый пиксель, а для рендера в редакторе 32. Чем больше проходов тем лучше, но процесс рендера замедляется довольно сильно, поэтому стоит подбирать значения по ситуации (часто 256 или 512 проходов уже смотрятся неплохо). К тому же повышение числа проходов в некоторых сценах может не так существенно влиять на качество.

Графа Sampling
Справа указано, что для финального рендера выставлено 512 сэмплов, а в редакторе картинка прогрессивно рендерится до 32 сэмплов
Справа указано, что для финального рендера выставлено 512 сэмплов, а в редакторе картинка прогрессивно рендерится до 32 сэмплов

Левее Samples в разделе Settings стоит обратить внимание на полезный параметр Clamp Indirect, который в первую очередь стоит покрутить, если на изображении возникают "светлячки" - грязь из отдельных светлых пикселей. Обычно они появляются, если в сцене присутствуют материалы с шейдером Glossy (или прочие, содержащие в себе эффект глянца).

Нивелирование светового шума
На рендере получается достаточно много шума из ярких пикселей
На рендере получается достаточно много шума из ярких пикселей
Подавляем их, попробовав выставить в Clamp Indirect 0.12 вместо 0
Подавляем их, попробовав выставить в Clamp Indirect 0.12 вместо 0

В графе Light Paths можно ускорить процесс рендера (иногда практически не потеряв в качестве картинки) путём уменьшения количества переотражений света - раздел Bounces: Max. Вместо предустановленных максимальных 12 отскоков световых лучей ставим, например, такое же, что и предлагаемый минимум - 3. Прочие параметры этого раздела тоже можно поуменьшать.

Ещё немного в скорости можно получить, выставив более оптимальные настройки в графе Performance. В разделе Tiles проставлены размеры кусочков из которых формируется изображение. По умолчанию там выставлен размер 64 на 64. Для рендера на процессоре (CPU) оптимальнее может быть более мелкий размер - 32 на 32 или 16 на 16. Для рендера на видеокарте (GPU) желательно ставить более крупные размеры, вроде 256 на 256, 512 на 512. Стоит поэкспериментировать, чтобы выяснить более удачные размеры на конкретном железе.

Ниже Tiles в некоторых случаях можно поставить галочку на опции Progressive Refine. Тогда рендер будет производится не по кускам, а прогрессивно - вся картинка появится сразу и будет постепенно улучшаться. Таким образом можно будет остановить рендер пораньше, именно в тот момент, когда качество проработки уже стало достаточным.

Чтобы снизить количество шума на картинке можно воспользоваться опцией Denoising (включается на вкладке Render Layers, следующей за Render), которая немного сгладит (замылит) картинку. При этом на стеклянных/зеркальных поверхностях могут появиться нежелательные разводы и артефакты. Чтобы сделать фильтр более аккуратным можно дополнительно покрутить настройки раздела Denoising.

Шумоподавление
Вкладка Render Layers - ставим галочку на Denoising. Теперь на рендере по ходу дела будет добавляться проход шумоподавления, причём он учитывает несколько кусков изображения, поэтому на самых краях видно ещё не сглаженные участки, до которых очередь дойдёт позже.
Вкладка Render Layers - ставим галочку на Denoising. Теперь на рендере по ходу дела будет добавляться проход шумоподавления, причём он учитывает несколько кусков изображения, поэтому на самых краях видно ещё не сглаженные участки, до которых очередь дойдёт позже.

Для перевода рендера в формат более реалистичной цветопередачи желательно заглянуть на вкладку Scene и в графе Color Management сменить Default на Filmic в разделе Render: View. А также sRGB поменять на Linear в разделе Sequencer: Color Space.

Color Management
Вкладка Scene
Вкладка Scene
Раскрыть графу Color Management
Раскрыть графу Color Management
В View параметр Default поменять на Filmic, в Color Space параметр sRGB поменять на Linear
В View параметр Default поменять на Filmic, в Color Space параметр sRGB поменять на Linear

Прочее полезное

У источников света есть свой отдельный параметр размера лампы и этот показатель может влиять на степень светового шума при рендере. Размер самих объектов в сцене тоже может оказывать своё влияние, если вся сцена содержит по сути гигантские или микроскопические объекты, которые только относительно друг друга кажутся нормальными.

Объекты сцены можно освещать не только специальными источникам света - в качестве самодельного источника может выступать объект со светящимся материалом, который обычно выносят за пределы кадра. Например, это может быть светящаяся плоскость или сфера.

В освещении также участвует фоновый свет, поэтому чтобы добиться совсем непроглядной темноты нужно понизить силу его влияния до 0. В то же время фоновый свет может содержать в себе HDRI-текстуру (как это часто используется в 3д-движках), чтобы имитировать более реалистичное освещение. Для того чтобы назначить HDRI изображение в качестве фонового цвета нужно открыть в панели Properties вкладку World, графа Surface (нажать Use Nodes, если не видно параметров). Здесь щёлкаем на кнопку с точкой правее параметра Color и в открывшемся окошке выбираем пункт Environment Texture. Теперь в режиме Rendered вся сцена будет заполнена фиолетовым светом, так как конкретная текстура ещё не выбрана. Чтобы выбрать её - щёлкаем на появившуюся в графе Surface кнопку Open. Изображения в HDRI формате можно взять, например на сайте Poly Haven (бывший HDRI Haven).

Добавление HDRI-освещения

При желании HDRI изображение можно сделать и самостоятельно. Для этого переключаем режим камеры в Panoramic и ниже меняем параметр Type на Equirectangular. Теперь просто запускаем рендер кадра, на котором отобразится вся окружающая камеру сцена в несколько искажённом виде. По сути это и есть HDRI карта освещения, осталось только сохранить её в нужном формате - в диалоге сохранения меняем PNG на OpenEXR и получаем файл с расширением .exr. Для получения более правильной HDRI стоит установить для рендера разрешение по Y в два раза меньше, чем по X. А также расставить в сцене какие-то светящиеся объекты, чтобы камера их увидела и, собственно, преобразовала в области светимости. Лишние объекты с такой сцены нужно убрать, чтобы они не попали в карту освещённости.

Пользовательская карта HDRI
Поставим камеру в центр и добавим вокруг неё 4 вытянутых объекта со светящимся зелёным материалом
Поставим камеру в центр и добавим вокруг неё 4 вытянутых объекта со светящимся зелёным материалом
Зайдём в настройки камеры и поставим режим Panoramic, тип Equirectangular
Зайдём в настройки камеры и поставим режим Panoramic, тип Equirectangular
Теперь просто рендерим изображение (F12). Вот что получилось.
Теперь просто рендерим изображение (F12). Вот что получилось.
А такой рендер получился после добавления вокруг камеры ещё 4-х объектов поменьше, увеличения силы света материала до 5 и помещения камеры вместе с объектами внутрь большой сферы с обычным диффузным материалом
А такой рендер получился после добавления вокруг камеры ещё 4-х объектов поменьше, увеличения силы света материала до 5 и помещения камеры вместе с объектами внутрь большой сферы с обычным диффузным материалом
Для сохранения полученного рендера как HDRI жмём Image - Save as Image (F3) и в диалоге осхранения меняем расширение с PNG на OpenEXR
Для сохранения полученного рендера как HDRI жмём Image - Save as Image (F3) и в диалоге осхранения меняем расширение с PNG на OpenEXR

Когда HDRI текстура установлена в качестве фонового света, то нас может не устраивать её расположение (так как, допустим, у нас уже выставлен кадр и хотелось бы подстроить освещение к нему, а не наоборот). Для того, чтобы повернуть текстуру как нам нужно - снова воспользуемся узлом Mapping. Откроем Node Editor, как для редактирования материала и на панели внизу переключим его с режима Object на режим World. Как видно, фоновое освещение тоже складывается из узлов, как и материалы. Подключим левее узла Environment Texture узел Mapping и добавим левее него узел Texture Cooridnate (через выходной параметр Generated). Теперь мировое освещение можно, например, вращать, меняя параметры Rotation узла Mapping.

Чтобы временно скрыть какой-то объект, оказавшийся в кадре, можно нажать горячую кнопку H. Что аналогично нажатию на значок глаза в левом верхнем окошке (Outliner) на нужном объекте в списке. Комбинация Alt H возвращает видимость всем скрытым объектам. Что касается рендера - скрытые подобным образом объекты всё равно будут нарисованы во время рендера изображения (хотя даже в режиме Rendered их не видно). Для того, чтобы исключить объекты именно с финального рендера - требуется нажать на значок фотоаппарата слева от объекта в списке, чтобы значок стал серым.

Если на объекте имеется некий материал, то при создании копии объекта (Shift D) на ней будет создан новый материал с такими же свойствами и его можно будет редактировать независимо. Если же создаётся клон объекта (Alt D), то у клона будет тот же самый материал.

Готовый материал также можно назначить на любые прочие объекты, достаточно нажать на розовый шарик левее названия материала и там появится выпадающий список со всеми материалами в сцене. Обратите внимание, что в этом списке перед названиями некоторых материалов может стоять 0 - это значит, что на данный момент в сцене эти материалы оказались не назначены ни на один объект.

Материалы без носителя
У материалов, отмеченных 0, в данных момент нет ни одного объекта-носителя
У материалов, отмеченных 0, в данных момент нет ни одного объекта-носителя

Если нужно применить один материал сразу к большому числу объектов, то не получится просто выделить их все и поменять материал. Правильный способ - выделить все нужные объекты и через Shift добавить последний, на котором есть материал, который мы хотим растиражировать. Далее нажимаем сочетание Ctrl L и в появившемся окошке Make Links выбираем вариант Materials. Теперь все эти объекты имеют один и тот же материал и его изменения отразятся сразу на всех них.

Вместо Ctrl L можно было нажать на стрелку под первым окном вкладки Materal и выбрать там вариант Copy Meterial to Others. Там же скрывается ещё пара опций - Copy Material и Paste Material. Они пригодятся, если хочется сделать отдельную копию материала, со всеми настройками, чтобы переделать её, не меняя сам оригинал. Более прямолинейный способ - просто сделать копию самого объекта с нужным материалов, тем самым получив новый независимый материал, после чего назначить уже этот материал из списка на какой-то другой объект.

Если вам не требуется рендерить фон на финальной картинке, а требуется только отрисовать сами объекты в кадре, то нужно включить прозрачность фона на итоговом рендере, чтобы Blender не занимался ненужной работой. Панель Properties, вкладка Render, графа Film - поставить галочку на пункте Transparent.

На итоговом кадре не только фон, но и прочие объекты могут создавать область прозрачности. Для этого нужно назначить им материал с шейдером Holdout. При этом у самого фона прозрачность должна быть тоже включена (пункт Transparent).Кстати, объекты с Holdout продолжают отбрасывать тени, хотя сами становятся невидимыми на рендере. Чтобы это убрать нужно выделить объект, зайти в панель Properties, вкладка Object, в самом низу открыть графу Cycles Settings этого объекта и убрать галочку с Shadow.

В Blender можно рендерить и двухмерные изображения, не обязательно трёхмерную сцену. Например, логотипы, значки, прочие плоские картинки. У плоского изображения обычно нет пространственных искажений, часто отсутствуют блики и тени, потому что не требуется делать акцент на его объёмности. Поэтому для плоских рендеров лучше перевести камеру в режим ортографической проекции (Ortographic) вместо перспективной и отключить прочие источники света кроме фона. Плюс можно добавить обводку по краям объектов, отметив галочку на параметре Freestyle (графа на вкладке Render). Тогда после рендера всего кадра Blender будет делать дополнительный проход, чтобы добавить поверх него обводку.

Плоская картинка
Переключим камеру в Ortographic
Переключим камеру в Ortographic
Даже выставив более прямолинейный вид в ортографической проекции, мы можем получить не особо плоское изображение, так как свет, тени и блики могут давать слишком ярко выраженный объём
Даже выставив более прямолинейный вид в ортографической проекции, мы можем получить не особо плоское изображение, так как свет, тени и блики могут давать слишком ярко выраженный объём
Отключим источники света, отрегулируем свет фона, попробуем дополнительно отключить тени и отсветы от светящихся материалов (вкладка Object, настройки в графе Cycles Settings). Теперь картинка приобрела более плоский вид.
Отключим источники света, отрегулируем свет фона, попробуем дополнительно отключить тени и отсветы от светящихся материалов (вкладка Object, настройки в графе Cycles Settings). Теперь картинка приобрела более плоский вид.
Включив опцию Freestyle (на вкладке Render) получим обводку в конце процесса рендеринга
Включив опцию Freestyle (на вкладке Render) получим обводку в конце процесса рендеринга

После того как изображение отрендерилось и готово к сохранению, можно внести в него ещё какие-то изменения на стадии композитинга. Например, подавить шумы уже на этом этапе. Для этого нужно открыть уже знакомый Node Editor, переставить режим на нижней панели с Shader на Compositing и отметить правее на панели галочку Use Nodes. Появится два связанных узла: Render Layers, замкнутый на Composite. Добавив между ними, например, узел Despeckle (Add - Filter - Despeckle), можно немного размыть изображение.

Режим композитинга
После того как рендер изображения готов на верхнем окне, в окошке Node Editor внизу переключаемся на режим Compositing
После того как рендер изображения готов на верхнем окне, в окошке Node Editor внизу переключаемся на режим Compositing
Отмечаем параметр Use Nodes
Отмечаем параметр Use Nodes
Если убрать связь между узлами, то в верхнем окне изображение рендера пропадёт.
Если убрать связь между узлами, то в верхнем окне изображение рендера пропадёт.
Добавим, например, узел Brigt/Contrast (на панели внизу через Add - Color - выбрать из списка) и отрегулируем яркость/контраст
Добавим, например, узел Brigt/Contrast (на панели внизу через Add - Color - выбрать из списка) и отрегулируем яркость/контраст

Также можно выполнять композитинг для прочих, уже сохранённых изображений, а не только того, что сейчас отрендерилось. Для этого нужно отключить узел Render Layers и добавить другой узел: Add - Input - Image. Открыть в узле Image файл картинки, нажав на Open и подключить его к выходу Composite вместо Render Layers, после чего добавлять прочие узлы в эту связь.

Коррекция загружаемых изображений
Добавляем узел для загружаемой картинки, Add - Input - Image
Добавляем узел для загружаемой картинки, Add - Input - Image
Добавляем файл с картинкой, щёлкнув на Open
Добавляем файл с картинкой, щёлкнув на Open
Теперь в окне сверху видна загруженная картинка (если мы не делали рендер, то самостоятельно переключаем верхнее окно с режима 3D View на UV/Image Editor нажав на самую левую иконку на его панели)
Теперь в окне сверху видна загруженная картинка (если мы не делали рендер, то самостоятельно переключаем верхнее окно с режима 3D View на UV/Image Editor нажав на самую левую иконку на его панели)
Теперь можно подключать прочие узлы и вносить изменения, например подкрутить яркость/контраст. Когда результат устраивает, то сохраняем картинку, как обычный рендер.
Теперь можно подключать прочие узлы и вносить изменения, например подкрутить яркость/контраст. Когда результат устраивает, то сохраняем картинку, как обычный рендер.

Текстуры, помимо всего прочего, могут помогать в процессе моделирования. Например, трипланарно наложенная текстура в клетку пригодится при моделировании игрового уровня, чтобы соотношение размеров элементов было более наглядным. Для этого нужно подключить подобную текстуру между Texture Coordinate (через Generated) и Diffuse (либо другому шейдеру на вход Color). Если же текстуры в клетку нет под руками, то в Blender есть своя встроенная Checker Texture (находится в списке по Add - Texture), у которой можно настроить цвет клеток и она не требует наличия подключенного слева узла Texture Coordinate.

Трипланарное наложение: локальные координаты
В данном случае используется своя текстура из 4-х квадратов и левее подключен узел Texture Coordinate
В данном случае используется своя текстура из 4-х квадратов и левее подключен узел Texture Coordinate
Здесь узел Checker (Add - Texture - Checker Texture) генерирует собственный настраиваемый клетчатый рисунок
Здесь узел Checker (Add - Texture - Checker Texture) генерирует собственный настраиваемый клетчатый рисунок

Вышеупомянутый способ может не подойти, если собираемый уровень состоит из нескольких объектов, потому что на каждом отдельном текстура будет наложена локально, не всегда совпадая с направлением прочих. Поэтому на несколько объектов нужно проецировать текстуру глобально - в этом поможет другой узел, который нужно подключать слева от Image Texture или Checker. Выбираем Add - Input - Geometry, появляется узел Geometry, который подключаем через выходящий параметр Position. Теперь если перемещать объект, то видно, что текстура начинает ползти по нему, так как её мировые координаты остаются неизменными. Соответственно, несколько объектов с этим материалом теперь можно будет выстроить в соответствии с этими общими для них всех направляющими.

Трипланарное наложение: глобальные кооридинаты
Подключаем слева узел Geometry, параметр Position
Подключаем слева узел Geometry, параметр Position
Теги:
Хабы:
+4
Комментарии40

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн