{"id":4097,"url":"\/distributions\/4097\/click?bit=1&hash=f95c19c90023160f596b73799a45f3db8fc9bb0f17f3e75e78c5ee9245a5d8f7","title":"DTF \u043f\u043e\u0441\u0435\u0442\u0438\u043b\u0430 \u043f\u043e\u043b\u0438\u0446\u0438\u044f \u043c\u043e\u0434\u044b \u0438 \u043e\u0446\u0435\u043d\u0438\u043b\u0430 \u0441\u0442\u0438\u043b\u044c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0433\u0440\u044b","buttonText":"\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c","imageUuid":"9cc5cf14-b790-551c-9815-6cb3489810c8"}

В чём рендерить

не используя заоблачное железо и платный софт. Скорее всего стоит посмотреть в сторону Blender, Godot либо webgl-решений.

Blender 2.79 (Cycles)

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

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

Запускал и записывал это всё на таком вот железе: ноутбук HP, процессор AMD A10 (4 ядра по 2Ghz), память 4Gb, Radeon HD8670m (dual graphics), Windows 8.1

Софт для 3д-рендера | Blender, PlayCanvas, Godot

Далее отдельно по каждому инструменту:

Blender

У Блендера всё было хорошо ещё лет 15+ назад. Другое дело, что многие узнали о нём относительно недавно - год, два тому назад. Но разговор сейчас не о том насколько Блендер популярен, а за то, что по сути можно использовать любую его версию, не только последние (таким образом можно подобрать версию Blender даже для довольно старого железа).

Одной из эталонных версий является 2.79b, последняя со старым интерфейсом, до последующего перехода на якобы модно-молодёжный интерфейс в 2.80. Оба варианта интерфейсов имеют как свои плюсы так и минусы, но в целом 2.79 производительнее и менее требователен к железу, поэтому я продолжаю его использовать несмотря на новые версии. В нём правда нет рендера eevee, но это даже не минус, потому как к eevee всё-равно нужен отдельный подход и настолько же "честно" просчитать картинку как cycles, она не способна. Cycles, в свою очередь, всю эту свою красоту вычисляет очень долго, поэтому когда речь идёт об отдельной картинке, то он вне конкуренции. А вот для анимации, особенно продолжительных, уже целесообразнее использование eevee, тем более что для движущейся картинки не так важна высокая степень детализации каждого кадра.

Cycles

Ролик начинается как раз с рендера в Blender 2.79 с использованием cycles. Размер картинки 1280 на 720, но с качеством 80%. 128 или 256 неоптимизированных сэмплов, без шумоподавления. В целом это меньшее качество, чем одиночный кадр для превьюшки этой статьи, который снят в 1980 на 1024 и большим сэмплингом.

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

Всего кадров было 120. Вычисление всех заняло на моём девайсе где-то около 8-9 часов. Собственно, можно было выставить более оптимальные параметры и получить результат не сильно хуже. Например, снимать в 834 на 480, 64 сэмпла, и не 120 кадров а 60.

последовательность отрендеренных кадров для последующей склейки

Eevee

Следующий вариант я рендерил в Блендере 2.90. Это была последняя стабильно запускающаяся у меня версия, потому как 2.91, например, не работала когда скачал её первый раз, а потом я и не пробовал снова. С тем же успехом можно было взять 2.83, по картинке вышло бы примерно то же самое, но, вероятно, чуть помедленнее.

На этот раз было уже 1280 на 720 с качеством 100% и 256 сэмплов (хотя сэмплирование в eevee - это далеко не то же самое, что в cycles). 120 кадров отрисовались примерно минут за 20. Ну и шум не образуется при таком методе рендера.

Визуализация рабочей области

В конце видео добавил вид на сценку внутри свежескачанного Blender 2.92, который в отличие от версии 2.91 запустился у меня сразу без проблем.

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

Blender 2.92, cycles, время рендера - 10 минут. 1280 на 720, качество 100%, 128 сэмплов, плюс пара настроек по оптимизации

Из забавного. На картинке выше представлен один кадр, отрисованный в Blender 2.92 с использованием cycles. Сами шейдеры при этом взяты такие же, как были настроены для сцены в eevee. Кадр рисовался 10 минут, таким образом на все 120 ушло бы 20 часов. То есть cycles в 2.79 справился раза в два быстрее при чуть более низком выставленном проценте качества.

Дело оказалось в настройке Use open shading language, при включённой опции рендер кадра длился на 4 минуты дольше. При её отключении и выставлении 80 процентного качества среднее время рендера показало уже 5 минут, что уже больше похоже на время затраченное cycles в старой версии. В целом это я к тому, что между старым и новым cycles разница может быть не такой существенной.

просто фрагмент скриншота сцены из Blender 2.92

Godot

Перейдём к игровым движкам. В целом их способы рендера похожи на eevee. Godot - наиболее доступный из нетребовательных движков, опенсурс, не требует регистраций и совсем мало весит. К тому же в нём есть не только продвинутые pbr-шейдеры, но и прочие полезные опции для 3д - экранные отражения и тени, глубина резкости, эффекты свечения, тонировка и автоэкспозиция, запекание света и так далее. То есть собрать визуал уровня eevee - не так уж сложно.

Правда большая часть этого великолепия будет работать только при выборе более требовательного рендера GLES 3, его и следует использовать для графики, если это возможно. GLES 2, тем не менее, может пригодится как более шустрый и простой вариант для визуализации анимаций, если GLES3 не поддерживается или работает слишком медленно.

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

В отличие от Blender'а в игровом движке картинка рисуется в реальном времени, к тому же придётся чем-то её дополнительно захватывать (OBS, например; я для захвата видео из Godot в данном случае использовал ShareX). Опять же, обычно нельзя создавать какие-то детализированные модели прямо внутри движка, хотя в случае Godot помимо обычных примитивов, можно использовать специальные примитивы с поддержкой булевых операций, что несколько расширяет возможности.

Godot 3.2.3. (GLES3)

Как и в случае с Blender у Godot есть более старые версии, хотя разница между требованиями не такая большая, если говорить о 3д. По крайней мере на текущий момент актуальна по сути любая из 3-их версий, хотя те что поновее имеют больше правок в мелочах. Более того, они останутся в некотором роде актуальными и после выхода 4-й версии, использующей другой рендер. Я сейчас пользуюсь версией 3.2.3, есть более новая 3.2.4.

Кстати, если уж говорить конкретно о визуализации, то на сборках Godot 4 делать рендеры можно было уже где-то с лета 2020-го. И хотя сами эти сборки ограниченной функциональности, но для того чтобы просто отрисовать и получить более красивую картинку, чем gles3 этого уже было достаточно.

WebGL

Ещё один вариант - решения, использующие webgl рендер. Все их плюсы и минусы в основном сводятся к тому, что они работают в браузере. Сюда можно отнести такие вещи как PlayCanvas, Three.js, Babylon.js, CocosCreator3d (хотя он более многостаночный, чем только webgl) и тому подобное.

Я пользуюсь PlayCanvas'ом, и по сравнению с GLES3 рендером в Godot местный webGL 2.0 выдаёт картинку примерно сравнимого уровня. Но в целом, конечно, графических опций здесь поменьше, хотя что-то из постэффектов можно подключить скриптами.

PlayCanvas (webgl 2.0)

Ещё пара слов

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

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

Отдельные отрендеренные кадры я склеивал опять же в Blender (в 2.79), используя его внутренний инструмент редактирования роликов и последовательностей изображений. Здесь как раз и требовалось сшить вместе не только отдельные кадры, но и ролики записанные вне Blender'а. Получилась одна большая последовательность из 5627 кадров, которая тоже какое-то незначительное время рендерилась.

Правда без дополнительных программ всё-таки не обошлось, потому как итоговый файл весил около 850 Мб и заливать такое на ютуб относительно долго. Поэтому дополнительно прогнал видео через ShotCut, пережав в 44 Мб без особых потерь в картинке. Собственно, если бы я не забросил на общий таймлайн цельные ролики, а использовал бы вместо них такие же последовательности картинок, то ещё на выходе из Блендера вес уже был бы более оптимальный.

финальное сжатие ролика в ShotCut
0
31 комментарий
Написать комментарий...
Yuriy

О! Beastformers)
Смоделили что под руку попалось, или таки какой-то проект?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Yuriy

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Yuriy

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

Ответить
Развернуть ветку
Талгат Бектемиров

Ничего не понимаю в тридэ, зашёл из-за картинки, так ещё и узнал как эти чумбы правильно назывались :) респектище.

Ответить
Развернуть ветку
Sacred Goat

У нас они назывались просто: робот-олень, робот-лось, робот-жираф и т. п. Редкий почему-то был робот-акула, и всем его хотелось. Но один раз двоюродный брат из Мурманска привез робота-обезьяну, кажется. Вот такого ни у кого вообще не было.

Ответить
Развернуть ветку
Alexander Kulkov
Автор

Да недавно попалась картинка с ними на глаза, вспомнил, замоделил по мотивам.

Ответить
Развернуть ветку
Yuriy

Эх... А я уж губу раскатал(

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Kovarniy Pi
поэтому я продолжаю его использовать несмотря на новые версии.

Ну и зря.

upd: Господи, ну и бред сумасшедшего.

Ответить
Развернуть ветку
lamurchik

В новом сайклс аж две разные нейросети шумадавки. Грех отказываться. Легаси - это легаси. 

Ответить
Развернуть ветку
Alexander Kulkov
Автор

Ну да, и требуют какие-нибудь карточки от Nvidia :) При том, что пакетное шумоподавление кадров в отдельном графическом пакете - куда дешевле, чем включать алгоритмы денойзинга непосредственно в процесс рендера.

Ответить
Развернуть ветку
lamurchik

Там два. Один чисто под ртх, второй для любых железок интелом написанный. Мой руйзен делает шумодав кадра за долю секунды им. 

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

Ответить
Развернуть ветку
Alexander Kulkov
Автор

Просто без денойзинга в Блендере тоже можно жить, это не панацея.

Ответить
Развернуть ветку
itsvekko

Ещё в UE4 можно, делается весьма легко, к железу нет заоблачных требований. 

Ответить
Развернуть ветку
Big Brother

Всего-то ядер побольше и памяти, чтобы не испытывать боль)

Ответить
Развернуть ветку
itsvekko

В 2016 я на ноуте с i3 и интегрированной видеокартой получал вполне хорошие картинки, а я тогда только впервые его открывал. На моем изображении куча полигонов, не скажу сколько, но я тогда не знал про такие понятия как запекание карт, поэтому тут хайполи модель. Так что ту модель, что представлена в статье, спокойно можно зарендерить в нормальном качестве, тем более, там есть режим рендера. В моем скрине же вообще реалтайм скриншот.

Ответить
Развернуть ветку
NinetyNinetyNine

" В чём рендерить не используя заоблачное железо и платный софт."

А какова конечная цель? Если исключительно для себя, то вполне нормально.

Но если вы хотите достигнуть современных стандартов качества виза и зарабатывать денежку 3Д анимацией, то такое неприемлемо, образец над подписью "Blender 2.92, cycles, время рендера - 10 минут. 1280 на 720, качество 100%, 128 сэмплов, плюс пара настроек по оптимизации" просто целиком состоит из шума.

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

Ответить
Развернуть ветку
splinefx

В 2.8х не "модно-молодёжный", а просто адекватный и удобный интерфейс, наконец-то поставивший блендер наравне с остальным софтом – в плане функционала он уже плюс-минус там был, но по удобству использования это была боль. Я долго ковырялся в настройках, и лишь спустя несколько вечеров и пару поломанных мной же файлов конфигурации я смог настроить более-менее сносное управление, похожее на таковое в Maya. С приходом 2.8х мне понадобилось лишь перебить управление вьюпортом на Alt + ЛКМ/СКМ/ПКМ. Плюс в какой-то из версий убрали отставание в производительности Cycles Windows-версии от версии для Linux. Плюс EEVEE, конечно же, в котором с прямыми руками можно вполне делать фотореалистичные картинки, пусть и фейковые, не говоря про моушен графику. Зависит от задач, иногда реально выручает. Плюс denoiser, в том числе для вьюпорта. Плюс новые фичи для скульптинга, новые браши, особенно браш для симуляции ткани. Плюс Grease Pencil на спидах (которым я не пользуюсь, но тем не менее). Плюс недавние Geometry Nodes, до которых у меня никак не доберутся руки, но видео впечатляют. В общем, я бы не был так категоричен по отношению к новой ветке) А там ещё и Everything Nodes подвезут, так вообще заживём.

Ответить
Развернуть ветку
Alexander Kulkov
Автор

Я не говорил, что новый интерфейс - это плохо. Я о том, что старый интерфейс тоже был вполне продуман и удобен, если в нём разобраться. Мне оба импонируют, только в старом больше функций на виду, а в новом как будто больший упор на использование поиска, чтобы найти нужную опцию. В целом же всё равно основная работа в Blender - это использование хоткеев.
Опять же, старый интерфейс производительнее, работает чуть шустрее, держит больший объем полигонов и так далее. При этом и новый достаточно быстр, чтобы это было прям какой-то проблемой. Но тем не менее.
Одно из действительно важных преимуществ новых Блендеров - коллекции. А так, много полезных нововведений, но если что, рисовать и лепить любой текстурой можно было ещё давным давно, без всяких новых брашей, как и делать какую-то специфическую процедурку через python или модификаторы, без всяких дополнительных geometry nodes, молчу уже про то, что позволяли всякие  дополнительные плагины.

Ответить
Развернуть ветку
splinefx

Ну так можно и в пейнте "Мону Лизу" нарисовать, если совсем утрировать, но зачем. Жизнь слишком коротка, чтобы тратить её на написание лишних специфических процедурок на питоне)

А по поводу скорости мне даже стало интересно, так что я скачал Gooseberry Benchmark и сцену с парикмахерской и прогнал рендер в 2.92 и в 2.79b – к сожалению, только на процессоре, потому что моя видеокарта слишком нова для 2.79b, а компилировать сборку с новыми CUDA-библиотеками я, понятное дело, не стал. Настройки не трогал, только выставил размер тайлов в старой версии вручную.

Windows 10 Home 20H2, i7 8700K, 32GB

Gooseberry Benchmark 1.0, 2472 кадр
2.92   | 22:58.22
2.79b | 43:33.06

Барбершоп
2.92   | 18:53.15
2.79b | 28:45.72

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

Но я ничего не навязываю, хозяин – барин; у каждого свои предпочтения.

Ответить
Развернуть ветку
Аккаунт

Комментарий недоступен

Ответить
Развернуть ветку
Ромуальд Царюк

Всё таки более-менее адекватное железо важно. Что-то я не совсем вдупляю как кадр из статьи 10 минут рендерился. Он не выглядит на эти 10 минут.  Либо там полигонов миллионы либо что-то не так настроено. Потому что дочерта шума. Может масштаб модели неправильный (например сотни метров в высоту) тогда приходится источник освещения выкручивать на огромные величины и по факту получать кучу шума. Но в целом 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Вася Вэ

почему?

Ответить
Развернуть ветку
lamurchik

blender porn

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
McRafe

Blender Octane Edition

Ответить
Развернуть ветку
Станислав Гадельшин

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

Ответить
Развернуть ветку
24 комментария
Раскрывать всегда
null