Приёмы работы с 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

Комментарии (40)


  1. starpearl
    23.07.2021 19:30
    +1

    C интересом прочитал ''1001 мелочь''. Сохранил в закладках.

    ''Недавно'' решил поиграться в 3d. Долго выбирал среду. В вариантах выбора был blender. В blender-е лично меня очень сильно раздражал скелет камеры = никак не мог приноровиться, куда именно она направлена. В итоге остановился на unreal-e, пытаюсь освоить именно его.


    1. thenonsense Автор
      23.07.2021 19:38
      +1

      Рад слышать.


  1. farcaller
    23.07.2021 21:46
    +3

    2.79'му уже около пяти лет. Почему бы не обновить содержимое и скриншоты для актуального релиза?


  1. umnicode
    23.07.2021 21:46
    +2

    Статья написана хорошо, но зачем проделывать такую работу для уже не слишком актуальной версии? Ведь уже вышли 2.8x, 2.9x ( 3.0 уже на подходе), а в них UI был полностью переработан.


    1. N-Cube
      24.07.2021 07:52

      Думаю, потому, что в новых версиях старые проекты могут не работать как раньше, а искать проблемы и исправлять - зачем, если есть версия, где все работает?


    1. professor88888
      24.07.2021 08:01
      -1

      2.7 актуальна по причинам:

      1) Наработан большой объём учебно-методического материала.

      2) Работает на старом железе, включая машины 2005 года выпуска (под ХР).

      Версии 2.8x, 2.9x, 3.0 имеют некоторые "плюшки" (Eevee, Grease Pencil и, наконец таки, Титры для видеомонтажа), но для повседневной работы версии 2.7 хватает с избытком - это уже самодостаточный полноценный редактор. Да, новые версии это прогресс, но, не всегда нужен Камаз, иногда и велосипеда достаточно.

      Пара примеров:

      1) в институте (где преподаю) на попечении 3 компьютерных класса - в них машины с 1 Гб оперативы и ХРюшей на борту. Апгрейд никто не обещает, но студентам учиться надо!!! Можно много мечтать о светлом будущем, но есть и суровая реальность. Кстати не забываем, что 2.8x, 2.9x, 3.0 - требует относительно свежих шейдеров на видюхе, иначе она просто не запуститься (например на интегрированной видеокарте не совсем свежей материнки, будь там хоть 16 Гигабайт оперативы и 10-я Винда).

      2) В октябре прошлого года пригласили поучить основам видеомонтажа на курсах повышения квалификации. Понаехали полсотни людей со всего края (города, сёла, деревни) каждый со своим ноутбуком, с которым в последствии и будут у себя на родине работать. Нужно было дать какой-нибудь видеоредактор!?? :О И что делать, если это априори сборная солянка железа и софта? Нужно еще и учитывать лицензионную чистоту софта - на местах за этим кое где ещё и следят. Выкрутился в этом случае благодаря Blender-у 2.7. Ну да, ещё тот хардкор! Но, так как сам последние лет семь предпочитаю видеомонтаж делать Blender-е, ничего страшного в этом не вижу. Да, новичку я бы посоветовал какой-нибудь Pinnacle Studio попробовать (в Adobe продукты вход чуть тяжелее - всё желание отобъётся), но когда встаёт вопрос доступности и легальности, особого выбора нет. Ну не VirtualDub же предлагать (который половину форматов не видит)?

      Вывод: зубной щеткой без моторчика зубы тоже можно чистить, хоть и придётся чуток руками поработать :)


      1. mistergrim
        24.07.2021 09:01
        +2

        2) Работает на старом железе, включая машины 2005 года выпуска (под ХР).
        А 3D Studio (не Max) вообще работает под DOS, и кому он сейчас нужен?
        3D — не та область, где можно экономить на железе прям вплоть до говна и палок.
        в институте (где преподаю) на попечении 3 компьютерных класса — в них машины с 1 Гб оперативы и ХРюшей на борту. Апгрейд никто не обещает, но студентам учиться надо!!! Можно много мечтать о светлом будущем, но есть и суровая реальность.
        Суровая реальность в том, что студенты учатся заведомо устаревшим вещам.
        Кстати не забываем, что 2.8x, 2.9x, 3.0 — требует относительно свежих шейдеров на видюхе, иначе она просто не запуститься (например на интегрированной видеокарте не совсем свежей материнки, будь там хоть 16 Гигабайт оперативы и 10-я Винда).
        OpenGL 3.3 он требует. Geforce 8800GT стоит ≈1000 рублей на барахолке.


        1. N-Cube
          24.07.2021 09:39

          Суровая реальность в том, что студенты учатся заведомо устаревшим вещам.

          Вы не поверите, но после изобретения красок художники все равно продолжали учиться рисовать углем. И даже после изобретения манипулятора типа мышь умеют рисовать карандашами и углем. Вы, наверное, страдаете, что в лучших музеях мира висят «устаревшие» картины:)


          1. mistergrim
            25.07.2021 00:05
            +2

            Ложная аналогия подобна котёнку с дверцей.
            Вы, наверное, и паяете дедовским паяльником, который разогревается паяльной лампой?


          1. Darth_Biomech
            25.07.2021 11:45

            Ни я ни один из моих знакомых художников рисовать углем или масляными красками не усились.


        1. professor88888
          24.07.2021 10:32
          +1

          "OpenGL 3.3 он требует. Geforce 8800GT стоит ≈1000 рублей на барахолке. "

          Согласен, но:

          1) Организациям (особенно бюджетникам) затруднительно делать апгрейд. Трудно обосновать траты на б/у компоненты (ни чеков, ни гарантии). Обычно одно списывается, другое покупается.Тендеры, закупки... это не так то и просто... Но это в идеале. Принимают решение на финансирование не пользователи, а руководство, до которого очень дооооолгий бюрократический путь.

          2) Частные лица (например студент). Зачастую рабочая лошадка - ноутбук.

          Со студентами тоже не так всё просто. С 2014 года наблюдается следующая тенденция - студенты и их семьи беднеют. Если лет пять назад, когда учеба стоила около 105 тыр. некоторые студенты (10-25%) могли себе позволить свежий компьютер перед началом учебы (в том числе Маки), то сейчас, при стоимости обучения чуть более 300 тыр. за семестр, многие работают на железе в основном 2015-2017 года. Подозреваю, что многие семьи влезли в кредиты и проблема апгрейда железа стоит не на первом плане. К четвёртому курсу примерно половина студентов так или иначе работают... не от хорошей жизни. Весь "жир" наблюдался примерно так в годах 2010-2014 во всех сферах. Всем актуально было 3D (типа дизайна интерьера), Web-дизайн. Народ вкладывался и в железо и в образование. Сейчас вектора поменялись. Например уже спадает хайп по той же робототехнике... И вообще, ждём квантовое железо! Тут больше вопросы к нашей экономике. Когда приоритеты станут понятными, туда развитие и пойдёт.


          1. N-Cube
            24.07.2021 11:47
            +1

            Последние версии блендера отлично на макбуках 2013 и 2014 года работают с интегрированным видео, если вам Eevee достаточно. Вот уж что-что, а блендер не требует дорогого железа для «бытового» использования.


          1. mistergrim
            25.07.2021 05:29

            Организациям (особенно бюджетникам) затруднительно делать апгрейд. Трудно обосновать траты на б/у компоненты (ни чеков, ни гарантии). Обычно одно списывается, другое покупается.Тендеры, закупки… это не так то и просто… Но это в идеале. Принимают решение на финансирование не пользователи, а руководство, до которого очень дооооолгий бюрократический путь.
            Бежать оттуда надо, ничему хорошему там не научат.


      1. thenonsense Автор
        24.07.2021 09:03

        Всё так.


      1. N-Cube
        24.07.2021 09:32

        Проще сказать, пока вы 1000 студентов научите в 3d, ваши критики еще будут по барахолкам бегать и искать 1000 подержанных видюх для новых версий софта, а потом на них бюджет не согласуют :)


  1. N-Cube
    24.07.2021 07:50

    Хорошо бы указывать номер билда и движок рендеринга. Многие возможности в разных билдах работают несколько иначе или не работают вовсе, а при смене рендерера может потребоваться много всего переделать, так что обычно проект делается сразу под конкретный рендерер. Так что я вполне понимаю автора, что он не хочет обновляться на новые версии - еще кучу времени придется потратить, чтобы найти билд (или не найти), в котором старые проекты рендерятся как ожидается.


    1. thenonsense Автор
      24.07.2021 08:57

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

      А проблем с переносом наработок в другие версии у меня как раз практически нет, потому как теми же плагинами не пользуюсь, то есть ничего такого сильно версионно-специфичного в сцене не применяется. Разве что перенастроить материалы под Eevee, потому что если уж потащил модели в новые версии редактора, то скорее всего ради использования с более реалтаймовым рендером (хотя Cycles там тоже никуда не делся).


      1. N-Cube
        24.07.2021 09:44

        Лично для меня Eevee необходим, потому что с ним можно на ноуте 2014 года с интегрированным видео неплохо жить. Да еще мне mantaflow нужен для геологических симуляций, так что старые версии не подходят, да и в новых периодически баги репортить приходится. Блендер мне нужен несколько раз в год и свои задачи он прекрасно решает. К примеру: https://mobigroup.github.io/ParaView-Blender-AR/


        1. thenonsense Автор
          24.07.2021 10:04

          Когда мне нужен Eevee, тогда я и работаю с какой-нибудь из новых. Сейчас, допустим, помимо 2.79 установлены 2.92 и 2.93 (до того часто стоял 2.83). Последняя ведёт себя немного капризно на Windows, не всегда стартуя с первого раза, хотя на Manjaro Linux и с ней тоже всё отлично.

          Раньше на ноутбуке долгое время были проблемы с новыми версиями - часть гизмо отсутствовали и в шейдерах связи были совершенно невидимыми. Потом, где-то к версии 2.83 это более мене стало работать в Линуксе, а потом я переставил более родную для ноута версию Windows, чтобы встал более адекватный драйвер и там тоже визуальные баги почти пропали.

          Сейчас железо другое и таких проблем уже нет, разве что совсем новые версии на выходе работают не всего гладко (вот как та же 2.93).

          Кстати, что касается Eevee, в моём понимании это оптимальный рендер для получения видеороликов. То, что он построен на принципах, подобных тем, что применяются в игровых движках - не так уж важно конкретно для меня, потому как я могу уже непосредственно в самом игровом движке отрендерить, что нужно.


          1. N-Cube
            24.07.2021 11:42

            Для себя я вообще не нашел преимуществ Cycles, а ресурсоемкость у него невероятная, по сравнению с Eevee. Меня интересуют именно видеоролики на выходе, к примеру https://m.youtube.com/channel/UCSEeXKAn9f_bDiTjT6l87Lg/videos (часть в ParaView сделана и часть в Blender). Хотя примеры рендеринга от разработчиков блендер наглядно демонстрируют преимущества Cycles для сложных сцен, у них уровень сложности несопоставим с моими потребностями. Думаю, и для обучения Eevee оптимален.


            1. thenonsense Автор
              24.07.2021 12:11

              Cycles куда более точный и "честный" рендер. Поэтому он незаменим когда требуется качественно показать все эти отскоки света, блики, переотражения, рассеивание и так далее. Понятно, что далеко не всегда это так уж нужно.

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

              Одним словом - Eevee и Cycles это как тёплое и мягкое. Для одних задач лучше одно, для других другое.

              Для примера - ролик на Cycles, ролик на Eevee:


              1. N-Cube
                24.07.2021 14:11
                +1

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


                1. thenonsense Автор
                  24.07.2021 15:04

                  Ну, данное сравнение такое, вольное и не слишком показательное - просто взял два рандомных своих ролика.

                  Понятное дело, что Eevee быстрее, потому как он практически реалтайм, за счёт того, что фейковый в тех местах, где это возможно. Незачем считать "честно", когда можно ограничится каким-то уровнем иллюзии.

                  На тяжёлые меши всегда можно наложить модификаторы Decimate или Remesh. Действительно огромные не особо запускал, но те же куски фрактала содержали в себе довольно много треугольников. Или, допустим, шерсть достаточно долго считается. А так, если сцена в принципе открылась, то тот же Cycles можно настроить, порезав ему количество световых отскоков, сэмплов, чтобы считалось быстрее. Использовать более простые шейдеры материала и так далее.

                  Кстати, вот ещё немного роликов:

                  Cycles
                  Eevee

                  А тут ролики с условным сравнением рендеров как Блендера, так и нескольких игровых движков на примере одной и той же модельки:

                  Blender, PlayCanvas, Godot, UE, Unigine


                  1. N-Cube
                    24.07.2021 16:44

                    О, у вас Eevee тоже использован для более натуральных объектов типа структур и деревьев. Как раз в геологии похожие объекты визуализировать нужно.


                    1. thenonsense Автор
                      24.07.2021 17:15

                      Ну, в той же машинке используются и Geometry Nodes и обычные частицы в режиме шерсти, которые были уже давно. Распределить мелкие объекты по большому можно и тем с способом и другим, только геометрические можно более разнообразно анимировать.

                      А в ролике с растением просто так совпало, что рендерил в eevee.


                      1. N-Cube
                        24.07.2021 17:22

                        Если интересно, вот тут геологические проекты блендера есть: https://github.com/mobigroup/ParaView-Blender-AR Простенькие, поскольку сделаны для выгрузки в модели виртуальной реальности для гугл и эппл, а там довольно скудная поддержка возможностей. Вдруг захочется поэкспериментировать:)


  1. unclegluk
    24.07.2021 13:51

    В Блендере раздражает группировка объектов: ее нет.


    1. denzill
      27.07.2021 08:08
      +1

      1. unclegluk
        28.07.2021 20:29

        Я серьезно. Не нашел ничего подобного, кроме коллекций. Нет этого меню, и ни Ctrl+g, ни Cmd+g не работают. Хотя, казалось бы, что проще-то.


  1. Pavel_01
    24.07.2021 19:26
    +1

    Спасибо за интересную статью. Вопрос который меня всегда интересовал, почему многие выбирают Blender , C4D вместо Autodesk Maya к примеру? Мне доводилось работать с 3D графикой и лично для меня Maya показалась самой простой и понятной:)


    1. N-Cube
      24.07.2021 19:49
      +2

      Maya Price TOTAL (https://www.autodesk.com/products/maya/overview)

      $1,700/year

      Savings of 34% compared to monthly price

      Еще вопросы есть?


      1. Pavel_01
        26.07.2021 13:01

        Это не аргумент:) так как, у Maya есть студ версия которую очень легко получить:)


    1. thenonsense Автор
      24.07.2021 19:55

      Спасибо.

      Ну, я при первой возможности заменил платный софт опенсурсным аналогом, когда более менее вернулся снова в 3д. Когда лет 15+ назад впервые использовал Блендер, то это случилось как раз потому, что 3D Макс просто не умел некоторых вещей, адекватным образом - вроде покраски по вертексам. А когда немного разобрался, то подумал - зачем мне вобще 3D Макс, Blender намного удобнее (пусть даже в те времена интерфейс был куда менее очевидным, пока капитально не втянешься, но в нём уже тогда вполне была своя логика). Я уж молчу, что после наработки навыков в не самых новых версиях Блендера в прочих 3д пакетах куда легче разобраться при желании и возможности.

      Неоправданно монструозную Maya даже не рассматривал никогда, мне тогда Макс нравился больше. Друзья вон ставили сразу Maya ("да ну, какой Макс - Майя же глыба, профессиональный пакет"), лепили ради фана по паре тяжёлых моделек "типа для игр", даже без понимания того, как делать правильно замкнутую сетку и на этом их изучение 3д в принципе заканчивалось.

      Это в принципе смешно, что все толпой носятся с этими дорогими программами и гнут пальцы, хотя по факту большинство пользуются ломанными версиями и вся их радость от продукта получается не благодаря желаниям компании-разработчика, а вопреки. Взять тот же Линукс и прочие опенсурсные вещи - если бы все их адекватно ценили и старались поддерживать, то они и развивались бы куда быстрее и сами задавали бы стандарты. Но нет, надо нахваливать все эти подписочные закрытые продукты, стоящие больных денег. При этом отчаянно по полной их пиратя, даже если особо и не нужно, уже просто по привычке. Типа если стандарт индустрии, то всё можно, да. Как по мне - если можно не ломать, так и не нужно. И всеми силами поддерживать опенсурсные инициативы.


      1. N-Cube
        25.07.2021 07:00

        Взять тот же Линукс и прочие опенсурсные вещи - если бы все их адекватно ценили и старались поддерживать, то они и развивались бы куда быстрее и сами задавали бы стандарты.

        Да куда уж быстрее? Уже лет 10 как я перестал читать список изменений к новым версиям ядра, потому что слишком много всего. Вот сами посмотрите: https://kernelnewbies.org/LinuxVersions Аналогично к блендеру - попробуйте к каждому релизу прочитать все внесенные изменения. Имхо, показатель качества сейчас - когда разработчики не боятся удалять и заменять старую функциональность, а вот в коммерческом софте обычно легаси трепетно хранят до смерти продукта.


        1. thenonsense Автор
          25.07.2021 18:11

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


          1. N-Cube
            26.07.2021 07:24

            Почти на любое железо вплоть до калькуляторов программируемых можно поставить линукс, притом несколько дистрибутивов заработают. Попробуйте сделать то же самое с виндоус и макось и увидите, у кого лучше поддержка оборудования. А если вы не против поставить закрытые драйверы, то и вовсе сложно найти оборудование, на котором линукс не работает. С программным обеспечением проблема, скорее, найти нужное, а не то, что нужного нет вовсе. Опять же, на современных языках программирования с морем доступных библиотек можно себе написать недостающее именно так, как хочется. На самом деле, линукс и опенсорс уже давно и качественно превзошли закрытые системы, потому и компания микрософт теперь выпускает свой линукс и поддерживает подсистему линукс в виндоус.


            1. thenonsense Автор
              26.07.2021 08:54

              Проблема то не в том, чтобы поставить. Ну запустил я Линукс на том же КПК, допустим, и что - вот ни разу не Windows Mobile, который там по дефолту стоит. Для юзера есть разница. Одного того, что просто система запустилась - недостаточно. Он хочет чтобы всё работало не хуже, чем под Windows, притом сразу, без лишних телодвижений. От того, что продвинутый юзер может поставить Линукс хоть куда, более менее нормально его настроить и довольствоваться теми возможностями, что в итоге получит - большинству ни жарко, ни холодно. Мол "пускай забавляются, а мы то обеспеченные и серьёзные, возьмём себе Apple M1, да и всё".

              Закрытые драйверы - это не вопрос хочу ли я конкретно поставить их или не хочу, это вопрос того, что производители Линукс-систем не могут полноценно интегрировать такой драйвер в систему, чтобы он работал идеально. И в целом у Линуса остаётся ряд проблем, например, те же драйвера wifi модулей часто не работают или ещё какая специфика. На ноутбуке у меня любая Win работала побыстрее чем Linux. На более новом ПК разница уже меньше, тот же Blender новый работает на Linux чуть ли не лучше чем под Windows. А вот Firefox в части некоторых сайтов (Youtube) и некоторые игровые движки (с не OpenGL рендером) - чуть похуже или ощутимо хуже. Понятно, что в целом у Линукса дела всё лучше и лучше год от года, но совсем уж розовые очки тоже не надо надевать.

              Майкрософт всё делает для себя, а не для людей. Не надо обольщаться. Это в принципе показательно - стоило Майкрософт изобразить заинтересованность в опенсурсе, как многие почему-то стали автоматически считать их вдруг сразу белыми и пушистыми. Почему-то забывая, что они всю дорогу старались вытравить любых конкурентов уже чуть ли не на уровне железа и продолжают это делать. Теперь вот Adobe поддерживает Blender, так что, они тоже вдруг перестали быть монополистами, подмявшими почти весь графический софт под себя?


              1. N-Cube
                26.07.2021 10:15

                Большинство пользователей, о которых вы пишите, выбирает личную технику вовсе не по техническим характеристикам и вовсе не для работы. А вот если вам нужно делать сервер на 5-10 лет стабильной работы, то вы точно знаете, что дебиан годится, а виндоус - нет. И когда я заказчику объясняю, что лицензии геопространственного ПО ArcGIS на 1000 облачных хостов будут стоить миллионы долларов, а QGIS бесплатен - ни одного желающего поставить коммерческое ПО нет. Аналогично, с коммерческого матлаба весь софт давно уже на питон переписывают - даже не в стоимости лицензий дело, а в несовместимости разных версий матлаба и его расширений (которых надо уйму для работы, стоят они дорого и очень дорого, и от версии к версии зачастую несовместимы). Если 15-20 лет от вас крупные компании просто шарахались при предложении использовать открытое ПО, то сейчас, порой, все наоборот. Помнится, лет 15 назад компания МТС нашу заявку на тендер с предложением использовать базу данных PostgreSQL не приняло с вердиктом ИТ-департамента - это студенты какие-то, мы с такими не работаем, нам нужны серьезные люди с Oracle.


                1. thenonsense Автор
                  26.07.2021 10:20

                  Я же не спорю, что опенсурс входит в жизнь всё больше и больше.


    1. Darth_Biomech
      25.07.2021 11:48
      +1

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