Приёмы работы с Blender версии 2.79, продолжение. На этот раз затронуты материалы и получение финального рендера изображения. Для понимания более базовых принципов и инструментов рекомендуется обратится к предыдущей статье.
Материалы
Для того, чтобы назначать объекту материал и редактировать его свойства, понадобится найти на панели Properies (находится слева, ниже окошка Outliner'а, в котором отображается список объектов на сцене) вкладку Material (обозначена розовым шариком).
Когда объект выделен в сцене (или выбран в списке Outliner'a), то на вкладке Material будут видны параметры материала текущего объекта. Если объект не может иметь материалов (камера, лампа и так далее), то и подобной вкладки у него не появляется.
По умолчанию у добавляемых в сцену примитивов материалы отсутствуют (если выбран рендер Cycles) и в окне вкладки материалов пусто. Чтобы добавить простейший материал нужно нажать в том окне кнопку + New и на объекте появится материал с шейдером Diffuse.Сам объект визуально почти не изменится, оставаясь всё таким же белым, зато теперь можно менять его цвет и насыщенность, щёлкнув по параметру Color.
Добавление нового материала
Щелкая по параметру 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 в нижнем окне
Добавление новых шейдеров
Стоит освоить один из ключевых приёмов - смешивание шейдеров. Новые шейдеры добавляются через пункт Add на нижней панельке окошка Node Editor (Add - Shader - выбрать нужный из списка). Далее, чтобы смешать два шейдера вместе нужно добавить особый узел, Mix Shader, и затем присоединить их выходы к нему (находится в том же списке Add - Shader). По умолчанию смешивание двух компонентов происходит в пропорции 1 к 1, но двигая ползунок можно регулировать степень влияния каждого компонента.
По сути, фактор смешивания в Mix Shader (параметр Fac) представляет собой элементарную маску, которая в крайних положениях ползунка может быть либо полностью чёрной (виден только первый компонент смешивания) либо полностью белой (виден только второй компонент смешивания), а в промежуточных положениях даёт различные градации серого (оба компонента вносят свою долю в результат).
Смешивание шейдеров
Если хочется более интересного смешения, можно подключать к MixFactor, например, текстуры. Для простоты, в узлах NodeEditor уже содержится несколько предустановленных текстур, например, процедурные Musgrave Texture, Voronoi Texture и Wave Texture для достаточно наглядных хаотических либо упорядоченных узоров. Если подключить такую текстуру к параметру Color узла Diffuse, то можно увидеть, что объект заполнен тёмными и светлыми областями. Если же эта текстура подключена к параметру Fac узла Mix Shader, то в тёмных областях будет преобладать один из компонентов смешивания, а в белых другой.
Кстати, параметр каждого узла справа может быть подключен в разное количество мест одновременно. Например, текстура через параметр Color может быть подключена сразу и к цветам нескольких узлов, или, например, в то же время и к параметру Fac.
Ещё один полезный вариант - использовать в качестве фактора смешивания узел Freshnel (формула для упрощённого расчёта эффекта Френеля). При таком смешивании на тех частях объекта, на которые мы смотрим под углом, будет более выражен один из компонентов, а на тех, куда мы смотрим более прямо - другой компонент Наиболее частое использование - более реалистично выглядящая поверхность воды или стекла, когда по Френелю смешиваются шейдеры Glass (прозрачность при прямом взгляде) и Glossy (зеркальность и непрозрачность при взгляде под углом).
Френель в качестве фактора смешивания
Если материал должен просто накладывать на объект произвольное изображение, тогда нужно добавить узел ImageTexture, в котором есть диалог загрузки пользовательского изображения. Далее присоединить его к параметру Color, того же стандартного узла Diffuse (или Principled). Пока изображение не выбрано материал будет фиолетового цвета. Когда мы укажем текстуру, то... скорее всего изображение всё ещё не будет наложено на объект. Происходит это по причине того, что у материала в данном случае нет информации о том, как следует разместить текстуру по поверхности объекта.
Добавление текстуры к шейдеру
Для того, чтобы изображение наложилось хотя бы как-нибудь, при отсутствии нормальной развёртки, можно воспользоваться парой простых методов: создать автоматическую текстурную развёртку для объекта или добавить в материал ещё один узел, который будет задавать принципы проецирования текстуры на объект.
В первом способе нужно просто зайти на вкладку Data текущего выделенного объекта и нажать на плюсик слева в окошке графы UVMaps. После чего сгенерируется автоматическая развёртка и в это окошко добавится строчка UVMap (предустановленное имя для каждой новой авторазвёртки ). Теперь на объекте появится изображение, хотя и будет наложено, скорее всего, с различными растяжками и прочими дефектами.
Упрощённое добавление авторазвёртки
Другой способ - добавим узел Texture Coordinate и подключим исходящий параметр Generated к входящему параметру Vector, на левой стороне узла Image Texture. После чего переключим метод проецирования с плоского (Flat) на объёмный - нужно нажать на третью кнопку в узле Image Texture (Flat) и выставить там другой вариант (Box либо Sphere).
Узел Texture Coordinate
Что в первом, что во втором случае пригодится узел Mapping для изменения размера. Этот и прочие преобразующие/конвертирующие узлы следует подключать в правильные места, например, Mapping подключенный между Texture Coordinate и Image Texture будет вмешиваться в передаваемый вектор (в том числе регулировать размер текстуры), а если его поместить уже после Image Texture к линии Color, то он будет регулировать уже цвет (а не размер, поворот и смещение текстуры).
Узел Mapping
Для придания материалу эффекта микрорельефа любые текстуры можно подключать к параметру Displacement финального узла Material Output.
Эффект псевдорельефа
Рендер изображения
Главное, что нам понадобится для получения рендера - это обязательное наличие в сцене камеры. Добавляем её, если она отсутствует.
Нужно понимать, что камера смотрит на сцену со своей точки зрения и обычно показывает не то, что мы видим, работая в редакторе. Чтобы "прилететь" своим взором в текущий ракурс камеры нужно нажать Numpad 0 на цифровой клавиатуре. Повторное нажатие Numpad 0 вернёт нас обратно в тот вид из которого мы "улетели". Если же двинуть мышью с зажатой средней кнопкой мыши, то мы выйдем из ракурса камеры, но в более близкий к нему угол зрения.
Если же мы хотим, чтобы камера сама встала в тот вид, который у нас перед глазами в данный момент, то нужно нажать сочетание Ctrl Numpad 0. При этом стоит немного отдалиться от текущего вида, потому как обычно прилетевшая камера немного приближает картинку. Вышеописанные манипуляции с камерой также можно найти в меню View - Cameras.
Для более точной подстройки ракурса можно дополнительно подвигать саму камеру, выделив её, как объект (здесь пригодится переключить систему координат объекта с Global на Local). Если перейти в вид из камеры, когда она выделена, то можно просто потаскать её в стороны, нажав G (либо набирая GX, GY или GZ для перемещения точно вдоль осей) или покрутить, нажав R (соответственно, RX, RY, RZ).
Выставление камеры
Ещё более удобный способ подстройки ракурса - временно переключиться в Walk Mode. Для этого приходим в вид из камеры (выделять саму камеру как объект не требуется) и жмём комбинацию Shift F. По центру экрана появится прицел и станет возможно управлять текущим видом с помощью кнопок W A S D, а нажатие пробела приближает к тому объекту, что сейчас находится в прицеле. По первому щелчку мыши Walk Mode переключится в стандартный Fly Mode.
Возможно, когда выбран вид из камеры, то по какой-то причине задний фон обрезается и часть дальних объектов не отображается. Это происходит потому, что у камеры есть параметр дальности отрисовки, отсекающий лишнее. Чтобы камера захватывала большее пространство нужно выделить её, тогда на панели Properties один из последних значков изменится на камеру (вкладка Data). Переходим туда и, находясь в графе Lens, выставляем большее значение, чем стандартное 100 в разделе Clipping: End.
Дальность камеры
Когда мы смотрим на сцену из камеры и на сцене включен режим рендера, то всё что находится за пределами камеры тоже пытается отрендерится. Для некоторой оптимизации можно поставить галочку на параметре Border (панель Properties, вкладка Render, графа Dimensions, внизу), тогда при виде из камеры то, что выходит за границу её видимости рендерится не будет.
Кроме камеры нам, вероятно, понадобится источник света, так как одного фонового света часто недостаточно. Например, точечный источник света (Point) или солнечный (Sun).
Для лампочки Point конкретное место размещения имеет важность, если объекты будут находится слишком далеко от него, то его влияние на их освещённость становится несущественным. У лампочки Sun, напротив, местоположение роли не играет, а важен задаваемый ею угол наклона солнечных лучей - показываемый пунктирной линией. То есть лучи не исходят из точки в которой находится Sun, а заполняют всю сцену полем параллельных лучей.
Оптимальный диапазон параметров силы источников света тоже несколько отличается. Свежесозданный Point имеет предустановленную силу света 100 и там обычно выставляются значения в сотнях и тысячах. У Sun предустановленный параметр силы света равен 1 и, как правило, крутится где-то в диапазоне от 0.5 до 3.
Переходим непосредственно к получению рендера сцены. Ещё раз убеждаемся, что камера присутствует в сцене и жмём горячую кнопку F12. В основном окне редактора (или в том окне Blender, которое шире остальных открыто сейчас), где был вид сцены появится прямоугольник заполненный шахматным рисунком, который по отдельным квадратикам станет заполнятся итоговым изображением. Стандартные кнопки для зума (Numpad +, Numpad - и колёсико) в этом окне также работают.
Процесс рендера изображения
Общий прогресс создания рендера отображается сверху, и здесь же его можно отменить, при желании. Когда картинка готова, то для сохранения выбираем пункт Image на панели и далее Save As Image. Если этот пункт горит серым, значит картинка ещё не отрендерилась до конца и нужно дождаться окончания процесса (либо принудительно остановить его, нажав на крестик правее полосы прогресса).
Когда открывается диалог сохранения изображения, то внизу слева можно выбрать формат (по умолчанию PNG), цветность, глубину цвета, качество.
Чтобы вернуться из этого окошка обратно в сцену нужно найти на его нижней панели самую левую иконку, нажать на неё и выбрать пункт 3D View.
Возврат в сцену из окна рендера
Теперь пробежимся по тем настройкам, от которых зависит общее качество рендера - панель Properties, вкладка Render (значок фотоаппарата). В первой графе (которая тоже называется Render) в строке Device скорее всего выбран CPU, то есть итоговое изображение рассчитывается силами процессора. Если у вас дискретная видеокарта, то, вероятно, появится возможность выбрать вариант GPU, чтобы рендером занималась видеокарта и он происходил быстрее.
В следующей графе, Dimensions, показаны настройки текущего разрешения, по умолчанию 1920 на 1080 с уровнем чёткости 50%. Чем меньше каждый из этих параметров, тем быстрее рендерится картинка, но и результат будет более размытым и менее детализированным. Для итогового рендера, когда мы уже вряд ли что-то будем менять в сцене и в настройках, уровень чёткости желательно выставить в 100%.
В графе Sampling находится ещё один важный параметр качества в разделе Samples: Render. По умолчанию для финального рендера установлено 128 проходов на каждый пиксель, а для рендера в редакторе 32. Чем больше проходов тем лучше, но процесс рендера замедляется довольно сильно, поэтому стоит подбирать значения по ситуации (часто 256 или 512 проходов уже смотрятся неплохо). К тому же повышение числа проходов в некоторых сценах может не так существенно влиять на качество.
Графа Sampling
Левее Samples в разделе Settings стоит обратить внимание на полезный параметр Clamp Indirect, который в первую очередь стоит покрутить, если на изображении возникают "светлячки" - грязь из отдельных светлых пикселей. Обычно они появляются, если в сцене присутствуют материалы с шейдером Glossy (или прочие, содержащие в себе эффект глянца).
Нивелирование светового шума
В графе 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.
Шумоподавление
Для перевода рендера в формат более реалистичной цветопередачи желательно заглянуть на вкладку Scene и в графе Color Management сменить Default на Filmic в разделе Render: View. А также sRGB поменять на Linear в разделе Sequencer: Color Space.
Color Management
Прочее полезное
У источников света есть свой отдельный параметр размера лампы и этот показатель может влиять на степень светового шума при рендере. Размер самих объектов в сцене тоже может оказывать своё влияние, если вся сцена содержит по сути гигантские или микроскопические объекты, которые только относительно друг друга кажутся нормальными.
Объекты сцены можно освещать не только специальными источникам света - в качестве самодельного источника может выступать объект со светящимся материалом, который обычно выносят за пределы кадра. Например, это может быть светящаяся плоскость или сфера.
В освещении также участвует фоновый свет, поэтому чтобы добиться совсем непроглядной темноты нужно понизить силу его влияния до 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
Когда HDRI текстура установлена в качестве фонового света, то нас может не устраивать её расположение (так как, допустим, у нас уже выставлен кадр и хотелось бы подстроить освещение к нему, а не наоборот). Для того, чтобы повернуть текстуру как нам нужно - снова воспользуемся узлом Mapping. Откроем Node Editor, как для редактирования материала и на панели внизу переключим его с режима Object на режим World. Как видно, фоновое освещение тоже складывается из узлов, как и материалы. Подключим левее узла Environment Texture узел Mapping и добавим левее него узел Texture Cooridnate (через выходной параметр Generated). Теперь мировое освещение можно, например, вращать, меняя параметры Rotation узла Mapping.
Чтобы временно скрыть какой-то объект, оказавшийся в кадре, можно нажать горячую кнопку H. Что аналогично нажатию на значок глаза в левом верхнем окошке (Outliner) на нужном объекте в списке. Комбинация Alt H возвращает видимость всем скрытым объектам. Что касается рендера - скрытые подобным образом объекты всё равно будут нарисованы во время рендера изображения (хотя даже в режиме Rendered их не видно). Для того, чтобы исключить объекты именно с финального рендера - требуется нажать на значок фотоаппарата слева от объекта в списке, чтобы значок стал серым.
Если на объекте имеется некий материал, то при создании копии объекта (Shift D) на ней будет создан новый материал с такими же свойствами и его можно будет редактировать независимо. Если же создаётся клон объекта (Alt D), то у клона будет тот же самый материал.
Готовый материал также можно назначить на любые прочие объекты, достаточно нажать на розовый шарик левее названия материала и там появится выпадающий список со всеми материалами в сцене. Обратите внимание, что в этом списке перед названиями некоторых материалов может стоять 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 будет делать дополнительный проход, чтобы добавить поверх него обводку.
Плоская картинка
После того как изображение отрендерилось и готово к сохранению, можно внести в него ещё какие-то изменения на стадии композитинга. Например, подавить шумы уже на этом этапе. Для этого нужно открыть уже знакомый Node Editor, переставить режим на нижней панели с Shader на Compositing и отметить правее на панели галочку Use Nodes. Появится два связанных узла: Render Layers, замкнутый на Composite. Добавив между ними, например, узел Despeckle (Add - Filter - Despeckle), можно немного размыть изображение.
Режим композитинга
Также можно выполнять композитинг для прочих, уже сохранённых изображений, а не только того, что сейчас отрендерилось. Для этого нужно отключить узел Render Layers и добавить другой узел: Add - Input - Image. Открыть в узле Image файл картинки, нажав на Open и подключить его к выходу Composite вместо Render Layers, после чего добавлять прочие узлы в эту связь.
Коррекция загружаемых изображений
Текстуры, помимо всего прочего, могут помогать в процессе моделирования. Например, трипланарно наложенная текстура в клетку пригодится при моделировании игрового уровня, чтобы соотношение размеров элементов было более наглядным. Для этого нужно подключить подобную текстуру между Texture Coordinate (через Generated) и Diffuse (либо другому шейдеру на вход Color). Если же текстуры в клетку нет под руками, то в Blender есть своя встроенная Checker Texture (находится в списке по Add - Texture), у которой можно настроить цвет клеток и она не требует наличия подключенного слева узла Texture Coordinate.
Трипланарное наложение: локальные координаты
Вышеупомянутый способ может не подойти, если собираемый уровень состоит из нескольких объектов, потому что на каждом отдельном текстура будет наложена локально, не всегда совпадая с направлением прочих. Поэтому на несколько объектов нудно проецировать текстуру глобально - в этом поможет другой узел, который нужно подключать слева от Image Texture или Checker. Выбираем Add - Input - Geometry, появляется узел Geometry, который подключаем через выходящий параметр Position. Теперь если перемещать объект, то видно, что текстура начинает ползти по нему, так как её мировые координаты остаются неизменными. Соответственно, несколько объектов с этим материалом теперь можно будет выстроить в соответствии с этими общими для них всех направляющими.
Трипланарное наложение: глобальные кооридинаты
Комментарии (40)
farcaller
23.07.2021 21:46+32.79'му уже около пяти лет. Почему бы не обновить содержимое и скриншоты для актуального релиза?
umnicode
23.07.2021 21:46+2Статья написана хорошо, но зачем проделывать такую работу для уже не слишком актуальной версии? Ведь уже вышли 2.8x, 2.9x ( 3.0 уже на подходе), а в них UI был полностью переработан.
N-Cube
24.07.2021 07:52Думаю, потому, что в новых версиях старые проекты могут не работать как раньше, а искать проблемы и исправлять - зачем, если есть версия, где все работает?
professor88888
24.07.2021 08:01-12.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 же предлагать (который половину форматов не видит)?
Вывод: зубной щеткой без моторчика зубы тоже можно чистить, хоть и придётся чуток руками поработать :)
mistergrim
24.07.2021 09:01+22) Работает на старом железе, включая машины 2005 года выпуска (под ХР).
А 3D Studio (не Max) вообще работает под DOS, и кому он сейчас нужен?
3D — не та область, где можно экономить на железе прям вплоть до говна и палок.в институте (где преподаю) на попечении 3 компьютерных класса — в них машины с 1 Гб оперативы и ХРюшей на борту. Апгрейд никто не обещает, но студентам учиться надо!!! Можно много мечтать о светлом будущем, но есть и суровая реальность.
Суровая реальность в том, что студенты учатся заведомо устаревшим вещам.
OpenGL 3.3 он требует. Geforce 8800GT стоит ≈1000 рублей на барахолке.Кстати не забываем, что 2.8x, 2.9x, 3.0 — требует относительно свежих шейдеров на видюхе, иначе она просто не запуститься (например на интегрированной видеокарте не совсем свежей материнки, будь там хоть 16 Гигабайт оперативы и 10-я Винда).
N-Cube
24.07.2021 09:39Суровая реальность в том, что студенты учатся заведомо устаревшим вещам.
Вы не поверите, но после изобретения красок художники все равно продолжали учиться рисовать углем. И даже после изобретения манипулятора типа мышь умеют рисовать карандашами и углем. Вы, наверное, страдаете, что в лучших музеях мира висят «устаревшие» картины:)
mistergrim
25.07.2021 00:05+2Ложная аналогия подобна котёнку с дверцей.
Вы, наверное, и паяете дедовским паяльником, который разогревается паяльной лампой?
Darth_Biomech
25.07.2021 11:45Ни я ни один из моих знакомых художников рисовать углем или масляными красками не усились.
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-дизайн. Народ вкладывался и в железо и в образование. Сейчас вектора поменялись. Например уже спадает хайп по той же робототехнике... И вообще, ждём квантовое железо! Тут больше вопросы к нашей экономике. Когда приоритеты станут понятными, туда развитие и пойдёт.
N-Cube
24.07.2021 11:47+1Последние версии блендера отлично на макбуках 2013 и 2014 года работают с интегрированным видео, если вам Eevee достаточно. Вот уж что-что, а блендер не требует дорогого железа для «бытового» использования.
mistergrim
25.07.2021 05:29Организациям (особенно бюджетникам) затруднительно делать апгрейд. Трудно обосновать траты на б/у компоненты (ни чеков, ни гарантии). Обычно одно списывается, другое покупается.Тендеры, закупки… это не так то и просто… Но это в идеале. Принимают решение на финансирование не пользователи, а руководство, до которого очень дооооолгий бюрократический путь.
Бежать оттуда надо, ничему хорошему там не научат.
N-Cube
24.07.2021 09:32Проще сказать, пока вы 1000 студентов научите в 3d, ваши критики еще будут по барахолкам бегать и искать 1000 подержанных видюх для новых версий софта, а потом на них бюджет не согласуют :)
N-Cube
24.07.2021 07:50Хорошо бы указывать номер билда и движок рендеринга. Многие возможности в разных билдах работают несколько иначе или не работают вовсе, а при смене рендерера может потребоваться много всего переделать, так что обычно проект делается сразу под конкретный рендерер. Так что я вполне понимаю автора, что он не хочет обновляться на новые версии - еще кучу времени придется потратить, чтобы найти билд (или не найти), в котором старые проекты рендерятся как ожидается.
thenonsense Автор
24.07.2021 08:57На самом деле версия 2.79 как простой надёжный молоток, который умеет всё основное, что нужно. Даже сверх того, учитывая, что львиную долю его встроенных возможностей даже не особо использую, не говоря уже о плагинах, которых там просто море. То есть он всегда актуален, как по мне, и к железу не требователен - то есть куда ни приду, на любом девайсе можно поставить и запустить.
А проблем с переносом наработок в другие версии у меня как раз практически нет, потому как теми же плагинами не пользуюсь, то есть ничего такого сильно версионно-специфичного в сцене не применяется. Разве что перенастроить материалы под Eevee, потому что если уж потащил модели в новые версии редактора, то скорее всего ради использования с более реалтаймовым рендером (хотя Cycles там тоже никуда не делся).
N-Cube
24.07.2021 09:44Лично для меня Eevee необходим, потому что с ним можно на ноуте 2014 года с интегрированным видео неплохо жить. Да еще мне mantaflow нужен для геологических симуляций, так что старые версии не подходят, да и в новых периодически баги репортить приходится. Блендер мне нужен несколько раз в год и свои задачи он прекрасно решает. К примеру: https://mobigroup.github.io/ParaView-Blender-AR/
thenonsense Автор
24.07.2021 10:04Когда мне нужен Eevee, тогда я и работаю с какой-нибудь из новых. Сейчас, допустим, помимо 2.79 установлены 2.92 и 2.93 (до того часто стоял 2.83). Последняя ведёт себя немного капризно на Windows, не всегда стартуя с первого раза, хотя на Manjaro Linux и с ней тоже всё отлично.
Раньше на ноутбуке долгое время были проблемы с новыми версиями - часть гизмо отсутствовали и в шейдерах связи были совершенно невидимыми. Потом, где-то к версии 2.83 это более мене стало работать в Линуксе, а потом я переставил более родную для ноута версию Windows, чтобы встал более адекватный драйвер и там тоже визуальные баги почти пропали.
Сейчас железо другое и таких проблем уже нет, разве что совсем новые версии на выходе работают не всего гладко (вот как та же 2.93).
Кстати, что касается Eevee, в моём понимании это оптимальный рендер для получения видеороликов. То, что он построен на принципах, подобных тем, что применяются в игровых движках - не так уж важно конкретно для меня, потому как я могу уже непосредственно в самом игровом движке отрендерить, что нужно.
N-Cube
24.07.2021 11:42Для себя я вообще не нашел преимуществ Cycles, а ресурсоемкость у него невероятная, по сравнению с Eevee. Меня интересуют именно видеоролики на выходе, к примеру https://m.youtube.com/channel/UCSEeXKAn9f_bDiTjT6l87Lg/videos (часть в ParaView сделана и часть в Blender). Хотя примеры рендеринга от разработчиков блендер наглядно демонстрируют преимущества Cycles для сложных сцен, у них уровень сложности несопоставим с моими потребностями. Думаю, и для обучения Eevee оптимален.
thenonsense Автор
24.07.2021 12:11Cycles куда более точный и "честный" рендер. Поэтому он незаменим когда требуется качественно показать все эти отскоки света, блики, переотражения, рассеивание и так далее. Понятно, что далеко не всегда это так уж нужно.
Так как считать на Cycles долго, то я предпочитаю его использовать преимущественно для рендера одиночных кадров. В принципе, когда есть время и желание, то и небольшие ролики на нём посчитать можно, особенно если провести различные оптимизации сцены, не ставить слишком большое количество сэмплов, взять разрешение поменьше, рендерить меньше кадров чтобы растянуть их потом по времени на этапе сборки ролика из картинок, рендерить объекты отдельно от фона (особенно, когда они с ним не связаны) и так далее.
Одним словом - Eevee и Cycles это как тёплое и мягкое. Для одних задач лучше одно, для других другое.
Для примера - ролик на Cycles, ролик на Eevee:
N-Cube
24.07.2021 14:11+1Спасибо за сравнение, интересно. По поему опыту, Cycles не годится для визуализации реальных объектов - скажем, выделенных геологических объектов по модели плотности среды, поскольку эти поверхности состоят из миллионов разнокалиберных ячеек и имеют некорректную топологию (самопересечения, вырожденные треугольники и все прочее). Eevee же более всеяден и с автоматической корректировкой мешей позволяет все отрендерить. Тем более, что в следующих версиях обещают Eevee сильно улучшить и ускорить.
thenonsense Автор
24.07.2021 15:04Ну, данное сравнение такое, вольное и не слишком показательное - просто взял два рандомных своих ролика.
Понятное дело, что Eevee быстрее, потому как он практически реалтайм, за счёт того, что фейковый в тех местах, где это возможно. Незачем считать "честно", когда можно ограничится каким-то уровнем иллюзии.
На тяжёлые меши всегда можно наложить модификаторы Decimate или Remesh. Действительно огромные не особо запускал, но те же куски фрактала содержали в себе довольно много треугольников. Или, допустим, шерсть достаточно долго считается. А так, если сцена в принципе открылась, то тот же Cycles можно настроить, порезав ему количество световых отскоков, сэмплов, чтобы считалось быстрее. Использовать более простые шейдеры материала и так далее.
Кстати, вот ещё немного роликов:
Cycles
Eevee
А тут ролики с условным сравнением рендеров как Блендера, так и нескольких игровых движков на примере одной и той же модельки:
Blender, PlayCanvas, Godot, UE, Unigine
N-Cube
24.07.2021 16:44О, у вас Eevee тоже использован для более натуральных объектов типа структур и деревьев. Как раз в геологии похожие объекты визуализировать нужно.
thenonsense Автор
24.07.2021 17:15Ну, в той же машинке используются и Geometry Nodes и обычные частицы в режиме шерсти, которые были уже давно. Распределить мелкие объекты по большому можно и тем с способом и другим, только геометрические можно более разнообразно анимировать.
А в ролике с растением просто так совпало, что рендерил в eevee.
N-Cube
24.07.2021 17:22Если интересно, вот тут геологические проекты блендера есть: https://github.com/mobigroup/ParaView-Blender-AR Простенькие, поскольку сделаны для выгрузки в модели виртуальной реальности для гугл и эппл, а там довольно скудная поддержка возможностей. Вдруг захочется поэкспериментировать:)
unclegluk
24.07.2021 13:51В Блендере раздражает группировка объектов: ее нет.
denzill
27.07.2021 08:08+1да ладно? Камрад, да ты шутишь...
https://docs.blender.org/manual/en/2.79/editors/3dview/object/properties/relations/groups.htmlunclegluk
28.07.2021 20:29Я серьезно. Не нашел ничего подобного, кроме коллекций. Нет этого меню, и ни Ctrl+g, ни Cmd+g не работают. Хотя, казалось бы, что проще-то.
Pavel_01
24.07.2021 19:26+1Спасибо за интересную статью. Вопрос который меня всегда интересовал, почему многие выбирают Blender , C4D вместо Autodesk Maya к примеру? Мне доводилось работать с 3D графикой и лично для меня Maya показалась самой простой и понятной:)
N-Cube
24.07.2021 19:49+2Maya Price TOTAL (https://www.autodesk.com/products/maya/overview)
$1,700/year
Savings of 34% compared to monthly price
Еще вопросы есть?
Pavel_01
26.07.2021 13:01Это не аргумент:) так как, у Maya есть студ версия которую очень легко получить:)
thenonsense Автор
24.07.2021 19:55Спасибо.
Ну, я при первой возможности заменил платный софт опенсурсным аналогом, когда более менее вернулся снова в 3д. Когда лет 15+ назад впервые использовал Блендер, то это случилось как раз потому, что 3D Макс просто не умел некоторых вещей, адекватным образом - вроде покраски по вертексам. А когда немного разобрался, то подумал - зачем мне вобще 3D Макс, Blender намного удобнее (пусть даже в те времена интерфейс был куда менее очевидным, пока капитально не втянешься, но в нём уже тогда вполне была своя логика). Я уж молчу, что после наработки навыков в не самых новых версиях Блендера в прочих 3д пакетах куда легче разобраться при желании и возможности.
Неоправданно монструозную Maya даже не рассматривал никогда, мне тогда Макс нравился больше. Друзья вон ставили сразу Maya ("да ну, какой Макс - Майя же глыба, профессиональный пакет"), лепили ради фана по паре тяжёлых моделек "типа для игр", даже без понимания того, как делать правильно замкнутую сетку и на этом их изучение 3д в принципе заканчивалось.
Это в принципе смешно, что все толпой носятся с этими дорогими программами и гнут пальцы, хотя по факту большинство пользуются ломанными версиями и вся их радость от продукта получается не благодаря желаниям компании-разработчика, а вопреки. Взять тот же Линукс и прочие опенсурсные вещи - если бы все их адекватно ценили и старались поддерживать, то они и развивались бы куда быстрее и сами задавали бы стандарты. Но нет, надо нахваливать все эти подписочные закрытые продукты, стоящие больных денег. При этом отчаянно по полной их пиратя, даже если особо и не нужно, уже просто по привычке. Типа если стандарт индустрии, то всё можно, да. Как по мне - если можно не ломать, так и не нужно. И всеми силами поддерживать опенсурсные инициативы.
N-Cube
25.07.2021 07:00Взять тот же Линукс и прочие опенсурсные вещи - если бы все их адекватно ценили и старались поддерживать, то они и развивались бы куда быстрее и сами задавали бы стандарты.
Да куда уж быстрее? Уже лет 10 как я перестал читать список изменений к новым версиям ядра, потому что слишком много всего. Вот сами посмотрите: https://kernelnewbies.org/LinuxVersions Аналогично к блендеру - попробуйте к каждому релизу прочитать все внесенные изменения. Имхо, показатель качества сейчас - когда разработчики не боятся удалять и заменять старую функциональность, а вот в коммерческом софте обычно легаси трепетно хранят до смерти продукта.
thenonsense Автор
25.07.2021 18:11Могло быть ещё быстрее, просто он даже в таких условиях неплохо развивался. Опять же, некоторых вещей ходовых в опенсурс варианте до сих пор нет или довольно ограниченные. Да и многие Линукс-дистрибутивы продолжают испытывать проблемы из за закрытости драйверов и в принципе нежелания части производителей поддерживать открытое ПО.
N-Cube
26.07.2021 07:24Почти на любое железо вплоть до калькуляторов программируемых можно поставить линукс, притом несколько дистрибутивов заработают. Попробуйте сделать то же самое с виндоус и макось и увидите, у кого лучше поддержка оборудования. А если вы не против поставить закрытые драйверы, то и вовсе сложно найти оборудование, на котором линукс не работает. С программным обеспечением проблема, скорее, найти нужное, а не то, что нужного нет вовсе. Опять же, на современных языках программирования с морем доступных библиотек можно себе написать недостающее именно так, как хочется. На самом деле, линукс и опенсорс уже давно и качественно превзошли закрытые системы, потому и компания микрософт теперь выпускает свой линукс и поддерживает подсистему линукс в виндоус.
thenonsense Автор
26.07.2021 08:54Проблема то не в том, чтобы поставить. Ну запустил я Линукс на том же КПК, допустим, и что - вот ни разу не Windows Mobile, который там по дефолту стоит. Для юзера есть разница. Одного того, что просто система запустилась - недостаточно. Он хочет чтобы всё работало не хуже, чем под Windows, притом сразу, без лишних телодвижений. От того, что продвинутый юзер может поставить Линукс хоть куда, более менее нормально его настроить и довольствоваться теми возможностями, что в итоге получит - большинству ни жарко, ни холодно. Мол "пускай забавляются, а мы то обеспеченные и серьёзные, возьмём себе Apple M1, да и всё".
Закрытые драйверы - это не вопрос хочу ли я конкретно поставить их или не хочу, это вопрос того, что производители Линукс-систем не могут полноценно интегрировать такой драйвер в систему, чтобы он работал идеально. И в целом у Линуса остаётся ряд проблем, например, те же драйвера wifi модулей часто не работают или ещё какая специфика. На ноутбуке у меня любая Win работала побыстрее чем Linux. На более новом ПК разница уже меньше, тот же Blender новый работает на Linux чуть ли не лучше чем под Windows. А вот Firefox в части некоторых сайтов (Youtube) и некоторые игровые движки (с не OpenGL рендером) - чуть похуже или ощутимо хуже. Понятно, что в целом у Линукса дела всё лучше и лучше год от года, но совсем уж розовые очки тоже не надо надевать.
Майкрософт всё делает для себя, а не для людей. Не надо обольщаться. Это в принципе показательно - стоило Майкрософт изобразить заинтересованность в опенсурсе, как многие почему-то стали автоматически считать их вдруг сразу белыми и пушистыми. Почему-то забывая, что они всю дорогу старались вытравить любых конкурентов уже чуть ли не на уровне железа и продолжают это делать. Теперь вот Adobe поддерживает Blender, так что, они тоже вдруг перестали быть монополистами, подмявшими почти весь графический софт под себя?
N-Cube
26.07.2021 10:15Большинство пользователей, о которых вы пишите, выбирает личную технику вовсе не по техническим характеристикам и вовсе не для работы. А вот если вам нужно делать сервер на 5-10 лет стабильной работы, то вы точно знаете, что дебиан годится, а виндоус - нет. И когда я заказчику объясняю, что лицензии геопространственного ПО ArcGIS на 1000 облачных хостов будут стоить миллионы долларов, а QGIS бесплатен - ни одного желающего поставить коммерческое ПО нет. Аналогично, с коммерческого матлаба весь софт давно уже на питон переписывают - даже не в стоимости лицензий дело, а в несовместимости разных версий матлаба и его расширений (которых надо уйму для работы, стоят они дорого и очень дорого, и от версии к версии зачастую несовместимы). Если 15-20 лет от вас крупные компании просто шарахались при предложении использовать открытое ПО, то сейчас, порой, все наоборот. Помнится, лет 15 назад компания МТС нашу заявку на тендер с предложением использовать базу данных PostgreSQL не приняло с вердиктом ИТ-департамента - это студенты какие-то, мы с такими не работаем, нам нужны серьезные люди с Oracle.
Darth_Biomech
25.07.2021 11:48+1Майя для персонажной анимации заточена, причем используется в основном в крупных фирмах. Для всего остального (Причем даже для персонажной анимации при ряде условий) есть альтернативы лучше - как результат майя тебе не нужна если ты не Пиксар.
starpearl
C интересом прочитал ''1001 мелочь''. Сохранил в закладках.
''Недавно'' решил поиграться в 3d. Долго выбирал среду. В вариантах выбора был blender. В blender-е лично меня очень сильно раздражал скелет камеры = никак не мог приноровиться, куда именно она направлена. В итоге остановился на unreal-e, пытаюсь освоить именно его.
thenonsense Автор
Рад слышать.