Как сделать рендер быстрее блендер

Добавил пользователь Morpheus
Обновлено: 04.10.2024

Привет, меня зовут Сергей Мингулин, я — 3D-художник, посмотреть на мои проекты можно здесь. Это — третья статья из цикла о визуализации в Blender.

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

Настройка рендера

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

Заходим во вкладку Render Properties. В разделе Sampling мы можем контролировать качество финального рендера, изменяя числовое значение в строке Render. Но это прямо влияет на производительность и скорость рендера, так что в своей работе я обычно выставляю значение для Render — на 1200. При этом настройки Max Bounces в разделе Light Paths остаются практически без изменений.

Наконец, перед рендером включаем во вкладке View Layer Properties необходимые renderpass`ы в разделах Data, Light, Cryptomatte. И вместо Denoising, который находится в самом низу этой же вкладке, активируем Denoising Data из раздела Data.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

После того, как изображение отрендерилось, переходим во вкладку Compositing и ставим галочку на Use Nodes и Backdrop в выдвигающейся панели справа. Перед нами появились отрендеренная картинка и ноды, с которыми мы теперь можем работать, редактируя изображение прямо в программе.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

По умолчанию будет доступен только нод Render Layers, в котором активны ранее выбранные нами аутпуты. Для этого мы и включали все те настройки на предыдущем этапе.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Обработка в Blender после рендера

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Избавиться от шумов можно несколькими способами, самый простой из которых — установить большее значение сэмплов. Оптимальное количество сэмплов зависит от конкретной сцены. В моём случае достаточно 1200.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Чем больше освещён объект, тем меньше шумов. Больше всего их появляется в затенённых местах (см. пример выше).

Конечно, получить качественную картинку без денойза можно, установив, к примеру, 2000 сэмплов. Но всё зависит от ограничений железа и времени, которое вы можете потратить на ожидание.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

По умолчанию в Glare стоит Streaks — режим, в котором свет тянется от источника полосами. Переключаемся на Fog Glow и получаем более-менее правдоподобное свечение.

Здесь же есть следующие настройки:

1.Качество свечения (high, medium, low).

3.Threshold — настройка, которая определяет, какие объекты будут давать блики. Чем ниже порог, который мы выставим, тем больше будет таких объектов. Соответственно, высокий порог — свет излучают только наиболее яркие объекты.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

4. Size — интенсивность излучения (от 6 до 9)

Cryptomatte — ещё один полезный нод, который представляет собой аналог PhotoShop в блендере и работает по принципу масок. Чтобы его использовать, необходимо перед рендером активировать соответствующие настройки в панели справа.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Далее вызываем нод через Search и подключаем к Render Layers (CryptoMaterial и Image).

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Здесь у нас есть 3 режима:

Image — изображение, полученное на выходе с рендера;

Matte — показ выбранной области;

Pick — выбор;

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Закончив, миксуем итоговый Image с рендером. Вот так, например, выглядит изменённый фон:

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Особенности плёночного изображения

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

Плёночное фото имеет:

1) меньший динамический диапазон в сравнении с рендером;

2) искажения, связанные с особенностями оптики;

3) искажения, появившиеся во время проявки и сканирования.

Кроме того, любая оптика имеет своё фокусное расстояние и светосилу, от которых зависит глубина резкости кадра.

Чтобы кадр вышел достоверным в воспроизведении плёночного снимка, возвращаемся на этап до рендера и в настройках камеры выставляем нужное значение Focal Lenght (фокусное расстояние), активируем Depth of Field.

В Depth of Field нас интересует настройка Distance, которую мы можем изменить вручную в попытке поймать в фокус нужный объект или зону кадра, либо выбрать пипеткой конкретный объект, который должен остаться резким.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Ещё один способ настроить фокус на части объекта — создать объект Empty и разместить в нужной точке, после чего выбрать его в Focus Object.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

На размытие также влияет параметр F-Stop (светосила): чем ближе значение к единице, тем сильнее размытие.

Итак, у плёночных фотоаппаратов динамический диапазон меньше, чем у цифрового кадра. Это значит, что в тени и на свету изображение не будет таким же проработанным, как в рендере. Кроме того, точки чёрного и белого в случае плёнки смещены.

Добиться аналогичного эффекта можно через compositor в самом Blender с помощью RGB Curves, или же в Photoshop.

Рендер и обработка в Blender. Часть 1 Xyz, 3D, 3D моделирование, Blender, Компьютерная графика, Гифка, Длиннопост

Кроме того, плёночный фотоаппарат неизбежно даёт ряд искажений. Чтобы сымитировать их, вызываем в композиторе Lens Distortion и подключаем Image.

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

Jitter — даёт эффект зернистости плёнки.

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

Настройка сцены

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


Обычно я всегда удаляю сразу всё т.к. в самом начале оно всё мешает. Особенно эта лампа, которая светит прямо в глаза! (нет)


Камерамэн

Вот так это выглядит.


Так же очень важен момент, что камера должна иметь ортогональную проекцию и верный ортогональный размер. Вот мои настройки:



Для удобства оперирования объектами, рендером и вообще порядка в сцене используются (мной) слои.

Но есть ещё один слой…

Солнце светит. Или не солнце. Или не светит.

Установки рендера

Собственно в этом и заключается часть настроек: снижаем размер итогового изображения (конкретно в этом примере это 38% от 256х256), убираем сглаживание anti-aliasing, во вкладке Shading ставим Alpha: Transparent (по стандарту там Sky).



(на самом деле не очень)

То, к чему я пришёл уже почти после первых версий игры. Когда-то эта идея забылась, но вспоминалась, когда я хотел было сделать свою ДДНТ (где кстати тоже есть Взертос), в том проекте я ориентировался на графику Доты2 и тут сидела подсказка, суть которой в том, что…

Всё что ниже, ближе к полу — темнее, всё что выше — светлее. Используй умный градиент, дубина!

Следующей мыслью было то, чтобы взять координату по Z и уже на основе этой координаты считать градиенты. И собственно это помогло. Далее нужно было ещё придумать как же так на каждый материал это ставить. НА КАЖДЫЙ ?! ЧТО?! ДА У МЕНЯ 100500 МОДЕЛЕЙ УЖЕ ГОТОВО.


Приветствуются любые вопросы относительно этой темы.

Было бы вам интересно такое и подобное? Про Блендер и всякое около разработческое.

Тема простенькая, но может кому будет интересна. Хоть что-то напишу, а то совсем забросил и 3D, и писать о 3D.

Cейчас делаю заочнику визуализацию для какого-то предмета в универе - что-то о сплайнах. Сцена простейшая - несколько торов, в которые изгибаясь входит 1-вертексный меш, анимированный вдоль сплайна, оставляя за собой след из разноцветных частиц - линия как будто растёт. Частицы эти рендерятся как Halo, теней нет, сложных материалов и геометрии тоже. Итого один кадр в 720p - рендерится 1.7 секунды. Вроде бы быстро, но кадров всего 1000. Полчаса на такую херню, простите меня!

Взял и в настройках рендера в панельке Perfomance выставил количество тайлов в 3х1 - у меня трёхядерный процессор, и таким образом на каждый кадр ядрам сразу выдаётся вся информация, которую они будут "думать" о текущем кадре, не перебивая работу подгрузкой информации о новом тайле. Ну, это если объяснять "на пальцах". И даже не уверен, что всё именно так.
Но время рендера снизилось до 0.7 секунды. Уже лучше.

Но надо всегда помнить, что это действует, как и любое другое действие, только на не скрытые объекты. Если одна деталь скрыта, то она так и останется анимированной в старом формате. Например, у нас есть анимаиця длинной в 64 фрейма. А камера, когда мы увеличили длительность анимации в шесть раз, скажем (S -> 6 в Dope Sheet Editor'е) оказалась скрытой.

Все не скрытые объекты, точнее их кейфреймы, правильно растнулись по новому таймлайну в 384 фрейма, а скрытая камера так и осталась растянута на 64 фрейма, что конечно приводит к глюкам. Поэтому надо всегда сначала убедиться, что все объекты которые участвуют в анимации unhide у нас.

Печально, кстати, что маркеры для камеры приходиться вручную потом переносить. На них Dope Sheet не действует. Впрочем может их можно двигать тоже как-то. Надо в меню Marker посмотреть

UPD: Но, с вышеуказанными методами проблема в том, что если мне, например надо сделать анимацию длинной в 37 кадров в шесть раз медленнее, то и рендерить мне придется 37*6=222 кадра. При одной только мысли о том, сколько это будет рендерится, я чего то опупел.

Поэтому, в блендере есть замечательный видеоредактор, который как и почивший VirtualDub умеет замедлять и ускорять уже отрендеренную анимацию, то есть *.avi-шки и прочее.
Вот тутор

Нужная инфа начинается с 3 минуты

Вкратце:
01. Надо загрузить и выбрать нашу загруженную анимацию (Add: Movie)
02. Выбрать плагин Speed Control (Add: Effect Strip: Speed Control)
03. Выбираем видел и в боковой панельке EditStrip выставляем в поле Length нужное ускорение или замедление. Поскольку в блендере операции арифметические можно производить прямо в окнах интерфейса, то просто пишем в окошечке 37*6
04. Копируем получившееся количество фреймов в End таймлайна (Что бы хватило кадров)
05. Жмем Animation и ждем.

P.S. Но блен, проблема в том, что видео становится "рваным". Получаем неровный переход между кадрами, вот в чем проблема.
UPD: Которую легко побороть если увеличить FPS.
The only way to slow an animation without incurring problems with it getting jumpy is to increase the number of frames rendered. It's a simple matter of basic math. Video/film runs at a frame rate of 30 or 24 frames per second (fps) respectively (figures are common but not exclusive, btw). So every second of animation requires either 30 frames or 24 frames; either frame rate is quite acceptable. The lowest frame rate before starting to see problems is around 18fps. Lower than that and your eyes+mind can detect the shift from frame to frame, causing a strobing effect (jittery-looking motion).

Slowing things down means that the same action is spread over more seconds. So instead of 24 frames of action (1 second normally) you'll need 48 frames = 2 seconds for the same action at half speed. Even slower rates use the same math. Three times slower = 3 x 24 = 72 frames for the same action that took 24 frames at "normal" speed.


То есть, грубо говоря, у меня анимация состоит из 36 фреймов. При fps = 24. То есть на каждый фрейм имеем 24 кадра. Что бы потом уменьшить скорость анимации в шесть раз надо позаботится что бы на каждый фрейм было все так же 24 кадра, при плэйбэке замедленном в шесть раз. Хохо, 24*6=144 Получается с таким FPS надо рендерить в видеофайл, что бы потом с помощью видеоредактора замедлить уже готовое видео в шесть раз.
Что бы это сделать надо шаманить с Custom Properties

Что бы получить мои 144 кадров, надо 24/0.1666666666666666666666666666666667 Хыхыхы, блендер это даже понял.
UPD: Получается плавная анимация, да. Но с какими-то артефактми. Лан, гоу брутфорс. Тупо рендерим опять 217 кадров и все.

Это третья статья из цикла по работе в Blender. Вот ссылки на все три, выбирай ту, которая тебе нужна:

Эта статья поможет новичкам научиться рендерить и обрабатывать свои модели для портфолио или проекта. Ты узнаешь, как пользоваться инструментами Blender и Photoshop, чтобы сделать сочную картинку. Внимательное изучение статьи займет около 10 минут. Если возникнут вопросы — пиши в чат-бот (кнопка справа внизу). Там на связи живой менеджер :) Он поможет разобраться.

Если ты ни разу в жизни не пользовался Blender, для тебя у нас есть бесплатный курс Intro Blender. Ты научишься моделить простые формы, выучишь хоткейсы и поймешь как устроен технический процесс моделинга в Blender.

Чтобы сохранить volume иллициев и убрать кривое отображение, нужно рендерить в Cycles. Заходим во вкладку Render Properties. В разделе Sampling изменяем числовое значение в строке Render, чтобы поменять качество финального рендера. Но это влияет на производительность и скорость рендера, так что в своей работе мы выставляем значение для Render — 1200. При этом настройки Max Bounces в разделе Light Paths остаются почти без изменений. Единственный параметр, который мы немного меняем — это Volume (ставим "2" вместо "0"). Это нагрузит систему, но улучшит отображение тумана и свечения.

Вторая вкладка, которая нас интересует — Output Properties. Выставляем разрешение "2000”. Этого достаточно для портфолио на Artstation, алгоритмы сайта все равно "сожмут" итоговую картинку.

Наконец, включаем во вкладке View Layer Properties необходимые renderpass`ы в разделах Data, Light, Cryptomatte. Вместо Denoising внизу этой вкладки, активируем Denoising Data из раздела Data.

Читайте также: