Ускоряем рендер многократно...

...имитацией эффекта Glossy Refraction на этапе пост-обработки.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Не знаю как у короны, но у Vray этот эффект нагибает любую рендер ферму, серьезно столкнулся с такой проблемой я при рендере этой сцены:

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Видно что шумит стекло, пришлось убавить сэмплинг и использовать всевозможные дефликеры, иначе ждать мне неделю, а так всего пара суток)) Апосля таких событий я сильно задумался о редшифте и иже с ним, но примерно в то же время попалась мне на глаза статья о том, как рендерится кадр в Doom (2016). Вот она. Классная статья, классный движок, классные приёмы оптимизации. Но как мне это поможет в работе, я тогда еще не совместил в голове. И вот, буквально сегодня руки дошли до эксперимента, результаты его меня вполне устроили, но об этом позже.


Давайте начнем с вводных данных, а именно материал в 3д максе и необходимые опции. Стандартный VrayMaterial у которого в слоте glossiness градиент в пределах 1-254 (это важно)

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Эту картинку я использовал как референс. Вот что действительно важно - так это маски. Маски - наше всё при пост-обработке. Я использовал пасс VrayExtraTex, куда и вставил текстуру из glossiness, Важно отключить сглаживание именно этого пасса, чтобы уберечь себя от ненужных артефактов по краям. Еще тут есть Cryptomatte, он пригодится, чтобы после всех операций над пикселями окно в раму вернуть, еще и с антиалиасингом, да и вообще просто жить без него не могу теперь.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Теперь смело выключаем текстуру с glossiness и ускоряемся в 12 (двенадцать!) раз.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Все, дальше работа в Nuke (Fusion если хотите, если повторите в фотошопе, будет вообще круть). Вот такая "расческа" у меня вышла, конечно до изящества в Doom далеко, никакие экспрешны я не использовал, и вместо понижения разрешения как в Doom я использовал обычный Box Blur, бокс мне показался более подходящим и считается он пошустрей чем Гаусс, но это не точно. В общем, не важно как это выглядит, все равно Nuke позволяет запихнуть все в одну гизму с парой ползунков для быстрой настройки.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Давайте пошагово разберем, что же тут к чему. Вот первый блок, тут все просто: пятикратное повторение размытия начиная от значения радиуса 20, заканчивая 240. Тут все на глаз, оглядываясь на референс. Если первые три блюра идут последовательно друг за другом, то два последних с высокой степенью размытия, идут от исходной картинки, так хайлайты сильнее и мне визуально нравится больше, но я пробовал и все последовательно и все от исходника. Почему именно пять блюров? Это оказалось минимально достаточным количеством, чтобы гладко их сшить, четыре уже видно стыки, шесть - избыток.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Следующая операция - получение индивидуальной маски на каждую степень размытия.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Тут я ничего лучше не придумал, кроме как воспользоваться топорным люма-кейером. Да можно изящнее, не спорю, зато наглядно и ползунки вручную покрутить можно. Каждый кейер режет свой диапазон из маски и выдает в альфа-канал свой кусочек.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Ну теперь-то осталось только это совместить.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Каждый размытый проход накладывается поверх предыдущего через Copy, подмешивается по своей маске. Получается 6 степеней размытия от 0 до 240 с плавными переходами.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Давайте глянем, что будет, если простой градиент заменить на более интересную текстуру.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Разумеется, результат не один-в-один. Такого и быть не могло. Но выигрыш в рендертайме колоссальный. И при этом стекло из Vray все равно шумит, хоть настройки я поставил выше своих средних (min shading rate=12, max subdivs=16, Noise threshold=0.01)

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Да, кстати, Cryptomatte, зачем он тут. Дак вот, после всех размытий получается такой результат.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

Мало того, что лесенка от маски, так еще и размыто все подряд. Для этого вычленяем маску по объекту и мерджим поверх основной картинки наш результат. Вуаля, эффект только на стекле.

Ускоряем рендер многократно... 3ds Max, Vray, Nuke, Комбинированные съемки, Doom, Компьютерная графика, Cgimedia, Видео, Длиннопост

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


Спасибо тем, кто осилил эту портянку))

PS: Это моя первая запись в сообщество CGI Media. Взято отсюда

CGI Media

2.9K поста6.5K подписчиков

Добавить пост

Правила сообщества

• Посты должны соответствовать тематике cообщества.

• Не допускается спам и нарушение правил сайта pikabu.

80
Автор поста оценил этот комментарий
пришлось убавить сэмплинг и использовать всевозможные дефликеры,
Иллюстрация к комментарию
раскрыть ветку
35
Автор поста оценил этот комментарий

Я конечно не разбираюсь в теме, но обычно читая тебя через некоторое время понимаешь о чём речь в посте, а тут

Иллюстрация к комментарию
раскрыть ветку
108
Автор поста оценил этот комментарий

ничего не понял, но выглядит круто+

раскрыть ветку
20
Автор поста оценил этот комментарий
Я нихера не понял, что ты сказал!
Но ты заговорил и достучался до сердца!
14
Автор поста оценил этот комментарий
"Я ничего не понял, но ты зажёг моё сердце!")