Оптимизиране на изобразяването във V-Ray

Коментар от 2023 г. - спрете да страдате с 3ds Max, Ето защо. Следва оригиналната статия

В този урок ще навлезем в дебрите на V-Ray и ще анализираме неговите най-фини настройки, за да научим как да оптимизираме изобразяването и да получим висококачествено изображение за по-малко време.

vray_optimization_header

Въведение


Този урок е предназначен да обхване и обясни целия процес на оптимизиране на настройките на V-Ray за създаване на висококачествени рендери за по-малко време.

Често има много объркване около термина V-Ray семплиране и какви са „идеалните“ настройки. Повечето програми за изобразяване създават „Universal V-Ray Settings“, в които задават подразделенията на Image Sampler (Anti-Aliasing, или AA) Max на много висока стойност, около 50 или дори 100, след което просто намаляват стойността на прага на шума, докато рендирането е достатъчно чист, смятайки, че това е най-добрият начин за постигане на оптимално съотношение качество/скорост. Но с малко разбиране на това какво има под капака на V-Ray и как всъщност работи, можете да получите по-добри изображения за по-малко време за рендиране. Методът, който ще опиша в тази статия, в сравнение с най-разпространения, който описах по-горе, в някои сцени може да ви спести време за изобразяване от 3 до 13 пъти.

Е, нека първо да разгледаме някои основни неща за това как работят самото изобразяване и V-Ray семплирането. След това ще преминем към конкретна сцена, за да демонстрираме как да оптимизираме изобразяването, за да бъде по-бързо, по-добро и по-рязко. След това ще се научим да идентифицираме различните типове шум, които може да има в дадена сцена. И накрая, ще ви покажа стъпка по стъпка процедура за оптимизиране на всяка сцена, за да получите идеалния баланс между качество и скорост.

Ако вече знаете как работи V-Ray, щракнете тук, за да преминете направо към процедурата за оптимизация стъпка по стъпка.

RAYTRACING (проследяване на лъчи)


Когато рендирането започне, лъчите се изстрелват от камерата към сцената, за да съберат информация за геометрията в сцената, която ще се вижда в крайното изображение. Тези лъчи са насочени встрани от камерата и се наричат Първични лъчи (Понякога Camera Rays или Eye Rays) и са конфигурирани в Image Sampler (известен също като Anti-Aliasing или AA).

Докато първичният лъч пресича геометрията на сцената, допълнителни лъчи се изстрелват от тези пресечни точки в други области на сцената, за да се получи информация за осветление, сенки, индиректно осветление (GI), отражения, пречупвания, подповърхностно разсейване (SSS) и т.н. се наричат допълнителни лъчи Вторични лъчи и конфигуриран във V-Ray DMC семплер.

vray_optimization_figure_01Фигура 1. Опростена диаграма за проследяване на лъчи: Първичните лъчи се изстрелват от камерата в сцената, пресичат се с обекти в сцената и разпространяват вторичните лъчи към други части на сцената.

Отсега нататък ще наричаме „Лъчи“ „Проби“, тъй като целта на лъча (Лъч) е да получи информация за сцената „Проба“. Лъчи = Образци.

За да разберете какво се случва в сцената, трябва да пуснете куп първични и вторични проби. Колкото повече Проби, колкото повече V-Ray получава информация за сцената, съответно, толкова по-високо качество ще бъде рендирането и толкова по-малко ще съдържа шум. Както виждаш, шумът е причина за липсата на информация за местопроизшествието. Ако в сцената има шум, тогава V-Ray не е имал възможност да събере достатъчно информация за сцената. Да го обобщим: За да премахнете шума, трябва да дадете на V-Ray повече информация, а за да дадете на рендера повече информация за сцената, трябва да направите стойността на Samples по-голяма.

Брой първични проби, регулиран по стойности Мин. подраздели, Макс. подразделения, И Цветен праг в опциите на Image Sampler. Броят на вторичните проби се контролира от стойността Подраздели индивидуално във всеки източник на светлина, GI, материал и настройки Праг на шума Стойност на DMC Sampler. (Прагът на шума в Maya се нарича адаптивен праг)

И така, нека повторим основните термини:

Лъч = Проба

Първични проби = проби, персонализирани от Image Sampler на V-Ray (известен също като Anti-Aliasing или AA), предназначени да определят геометрията на сцената и да събират информация като текстури, дълбочина на рязкост (DOF) и замъгляване при движение).

Вторични проби = проби, които могат да се персонализират от DMC Sampler на V-Ray, предназначени да събират информация за осветление, GI, сенки, отражения, пречупвания и SSS

Шум = шум или липса на информация

Subdivs = корен квадратен от действителния брой проби. Subdivs^2 = Проби. Пример: 8 подраздела = 64 проби. (8^2 = 64)

В този урок ще разгледаме как най-добре да използваме тези първични и вторични проби, за да получим изображение без шум за кратко време.

Определение ЕЛЕМЕНТЪТ НА SAMPLERATE RENDER


Елементът SampleRate render е един от най-важните инструменти, които ще използваме за оптимизиране на рендирането. Това е начинът на V-Ray да ни покаже какво прави Image Sampler (AA) при определен пиксел. Той прави това, като маркира всеки пиксел с цвят, съответстващ на броя на първичните проби (AA), които съдържа. Това изображение може да се види в елемента за изобразяване SampleRate)

*Синият цвят означава малко количество първични проби (AA) в този пиксел.

*Зеленият цвят означава средния брой първични проби (AA) в този пиксел.

*Червеният цвят означава голям брой първични проби (AA) в този пиксел.

vray_optimization_figure_02Фигура 2. Елементът за рендиране на SampleRate (вдясно) показва колко първични семпли са използвани във всеки пиксел за рендиране (вляво)

И така, за сцена с Image Sampler (AA) 1 мин. и 10 макс. Subdiv (1 мин. и 100 макс. първични проби):

*Синият цвят означава 1 първична семпла (AA) в този пиксел.

*Зеленият цвят означава 50 първични проби (AA) в този пиксел.

*Червеният цвят означава 100 първични проби (AA) в този пиксел.

И за сцена с Image Sampler (AA) 1 мин. и 100 макс. Subdiv (1 мин. и 10 000 макс. първични семпли):

*Синият цвят означава 1 първична семпла (AA) в този пиксел.

*Зеленият цвят означава 5000 първични проби (AA) в този пиксел.

*Червеният цвят означава 10 000 първични проби (AA) в този пиксел.

Пример за сцена - как работи V-RAY?


В този урок ще работим с проста сцена, състояща се от: равнина с няколко сфери върху нея, няколко различни прости материала (включително дифузно, гланцово отражение, гланцово пречупване и SSS), две зонални светлини и куполна светлина с HDRI. GI активиран в режим Brute Force + Light Cache. Можете да изтеглите този файл Тук.

Ще започнем с основни настройки за рендиране със следните стойности:

  • Image Sampler (AA) = 1 мин. и 8 макс. подразделения.
  • Светлини, GI и всички материали 8 подразделения.
  • Шумов праг s= 0.01.
  • Също така оставяме всички други настройки по подразбиране.

vray_optimization_figure_03Фигура 3. Основно изобразяване.
1min & 8max Subdivs = Image Sampler (AA)
8 Subdiv = Светлини, GI и всички материали

Сега нека разгледаме по-подробно какво се случва по време на основно рендиране. Чрез настройките за рендиране вие казвате на рендера:

„Позволявам ви да използвате до 64 (8 Subdivs) първични проби (AA) във всеки пиксел, така че да разберете какво се случва там в сцената и да не правите толкова много шум, колкото шумовият праг позволява... Но за всеки от тези първични проби можете да създадете само 1 вторична извадка, за да разберете какво има там по отношение на светлина, сенки, GI и материали.

Може би се чудите: „Чакай, само една вторична проба за светлина, GI и всички материали? Да, ти караш! Трябва да има 64 проби (8 подраздела), не посочихме ли толкова много?“ Е, важно е да се отбележи, че IC (светлини), GI и материали имат стойност от 64 проби (8 Subdives) всеки - V-Ray разделя тази стойност на AA Max семпли във вашата сцена. Въпреки стойността от 64 проби за светлини и материали, трябва да имате предвид, че тази стойност е разделена на стойността на AA Max = 64 проби (8 Subdiv), което води до само една вторична проба за светлини, ГУ и материали. (64 вторични проби / 64 първични проби = 1 вторична проба).

Причината, поради която V-Ray прави това, е вътрешната формула, която е задала, за да поддържа тези две стойности в баланс. Логиката на разработчиците е следната: колкото повече първични проби, толкова пропорционално по-малко вторични проби са необходими, за да се разбере какво се случва в сцената (скоро ще видим, че това не винаги е вярно). Това балансиране между Image Sampler и DMC Sampler може да не ви е ясно в началото, но това е смисълът. Изводът е, че когато увеличите стойността на Image Sampler (AA), V-Ray се опитва да компенсира, като пропорционално намалява стойността на DMC Sampler. По-късно, ако още не сте заспали, можете да прецените DMC калкулатор, която е написана от автора на тази статия, която така усърдно превеждам в 5:02 сутринта, почти без да използвам речник =) Благодаря на гимназия № 32 в Иваново, където получавах 8 урока английски седмично.

И така, да се върнем към нашите папагали:

V-Ray се изобрази възможно най-готино, но съм обезпокоен от огромния брой червени пиксели в елемента за изобразяване SampleRate). Ето какво ни казва той:

„Не можах да разбера какво се случва в сцената, защото силно ме ограничихте в прага на шума. Дълго време използвах първични проби само с една вторична проба, но това не ми даде достатъчно информация за тези области."

Ако погледнем рендирането, ще забележим, че докато обектите (краищата на обектите) изглеждат доста добре, все още има някои шумни зони в изображението, където има сенки и отражения. Имаме шумно основно изобразяване и имаме две опции за намаляване на шума, за да постигнем качеството, което искаме.

* Вариант 1 - увеличение AA Max Subdivs - за да може V-Ray да вижда по-добре сцената, но отново само с една вторична проба за светлина, GI и материали.

* Вариант 2 - Увеличаване на количеството Подраздели в материали, осветление и GI. Кажете на V-Ray да запази броя на първичните проби, но вместо това му позволете да използва повече вторични проби.

Пример за сцена - опция 1 - увеличаване на стойността на AA MAX SUBDIVS


Е, нека опитаме първо, по начина, по който кривите визуализатори обикновено правят, за да получат по-малко шумно изобразяване.

  • Ние увеличаваме Image Sampler (AA) 1 минута и 100 макс. подразделения.
  • Оставяме IP, GI и материалите включени 8 подразделения.
  • Намалете прага на шума до 0.005 за да кажем на V-Ray, че искаме да изобразяваме без шум.

vray_optimization_figure_04Фигура 4. Вариант 1 - увеличаване на броя на подразделенията в AA Max
1min & 100max Subdivs = Image Sampler (AA)
8 Subdiv = BC, GI и всички материали
0,005 = Праг на шума.

Нека да разберем какво се случва с тези настройки. След като зададем тези настройки, казваме на V-Ray:

„Позволявам ви да използвате до 10 000 (100 subdiv) първични проби (AA) на пиксел, за да разберете какво се случва в сцената и да минимизирате шума, доколкото е възможно при даден праг на шума. Но за всеки първичен семпъл можете да създадете само един вторичен семпъл, за да разберете какво има в сцената със светлина, GI и материали.“

Помним това, защото Всеки IC, материал и GI има 64 проби (8 Subdiv), V-Ray разделя тази стойност на AA Max Samples. Въпреки че стойността е 64 проби, тя е разделена на AA Макс. 10 000 проби (100 Subdiv), което води до минимален брой от само една вторична проба за светлини, GI и материали. (64 вторични проби / 10 000 първични проби = 1 вторична проба).

V-ray завършва изобразяването на изображението и казва:

„Могах да разбера всичко, което се случва в сцената, за качеството и яснотата на картината, които посочихте. Но за да тествам сцената, на някои места трябваше да използвам до 10 000 първични проби с 1 вторична проба за светлина, GI и материали.“

Разглеждаме Вариант 1 и виждаме, че количеството шум е намаляло значително в сравнение с базовото изобразяване. Времето за изобразяване е увеличено до 11 минути 44 mec (9,8 пъти по-дълго). Но нямаме шум. Повечето хора в този момент ще си помислят, че това е най-добрият резултат, който може да се получи и че като че ли е готово.

Но какво ще стане, ако разгледаме вариант 2, за който говорихме по-рано? Въпреки увеличаването на AA Max Subdivs, какво ще се случи, ако вместо това увеличим стойностите на subdiv в IS, GI и Materials. Нека разберем.

Пример за сцена - вариант 2 - увеличаване на броя на подразделенията в IS, GI и материали


Сега нека опитаме нещо ново. Нека зададем стойността на Primary Samples на това, което беше в основните настройки, но да добавим Secondary Samples.

  • Оставяме Image Sampler (AA) на основни настройки 1 минута и 8 макс. подразделения.
  • Увеличаваме броя на подразделенията в IP, GI и материали до 80 подразделения всеки.
  • Оставете прага на шума 0.01

vray_optimization_figure_05Фигура 5. Вариант 2 - ентусиазиран брой подразделения в IS, GI и материали.
1min & 8max Subdivs = Image Sampler (AA)
80 Subdiv = светлини, GI и материали всеки.
0,01 = Праг на шума.

И така, нека да видим какво се случва във втория вариант. Като зададете параметри за изобразяване по този начин, вие казвате на V-Ray:

„Разрешавам ви да използвате до 64 (8 subdiv) първични проби (AA) на пиксел, за да разберете какво има в сцената и до 100 вторични проби.“

Не забравяйте, че GI, материалите и светлината са 64 000 проби (80 подразделения) всяка. V-Ray автоматично разделя всяка от тези стойности въз основа на AA Max Samples, зададени във вашата сцена. И въпреки 64 000 проби, тя е разделена на AA Max 64 проби (8 подразделения) и само 100 вторични проби за светлини, ГУ и материали (всяка). Вторични проби / 64 първични проби = 100 вторични проби).

V-Ray завършва изобразяването и казва:

„Мога да разбера какво се случва в сцената въз основа на нивото на прага на шума, което сте задали. Всъщност през повечето време трябваше да използвам всичките 64 първични проби на пиксел. И 100 вторични проби за светлина, материали и ГУ."

Виждаме, че шумът е изчезнал, но времето за изобразяване се е увеличило с 4,5 пъти (4m 38s) в сравнение с базовото изобразяване.

Но ако сравним с опция 1, виждаме, че опция 2 ни даде по-чисти резултати и се изобрази 2,2 пъти по-бързо.

vray_optimization_figure_06

Фигура 06. Опция 1 отляво и опция 2 отдясно. По-долу има изображение, увеличено 4 пъти, за да видите по-добре разликата в шума.

Защо така? Защо увеличаването на настройките на DMC Sampler (светлини/GI/subdiv материали) е по-добро от увеличаването на Sampler (AA)? Резултатът е по-бързо и по-чисто изобразяване.

Как работи оптимизацията


В основния рендер виждаме, че ръбовете на обекта изглеждат добре, шумът е главно в отражения и сенки. Ако си спомняте какво научихме по-рано: „Първичните проби (AA) са направени за „сондиране“ на основната геометрия на сцената, текстурите, DOF и замъгляването на движението в сцената. Докато вторичните проби „сондират“ GI, светлина, материали и сенки.“

И така, за да се отървете от шума, изборът между вариант 1 и 2 не е лесна задача. Защо да използвате отвертка, за да вършите работата на чук? Image Sampler (AA) вече е направил това, за което е проектиран - прави геометричните детайли (ръбовете на обектите) чисти и безшумни. Така че, вместо да снимате куп допълнителни първични семпли (AA) в сцената, за да премахнете шума, по-добре е да добавите семпли към DMC Sampler (светлини/GI/Material Subdivs), оставете го да прави това, за което е проектиран - да премахне шума в сенките, осветление, GI, отражения и пречупвания. Ето нашия отговор!

Сега можем да разберем защо "Universal V Ray Settings" от 1min и 100max AA като цяло няма да бъде най-ефективният метод за изобразяване на сцена - всъщност никога не е бил предназначен да бъде най-ефективният метод! Универсалните настройки на V-Ray са предназначени да направят V-Ray достъпен и лесен за потребители, които не се интересуват от оптимизация и не се занимават с това как V-Ray работи под капака. Това е просто начин да поставите V-Ray на автопилот. Това позволява на потребителя да контролира цялото качество на изобразяване, като регулира само един параметър - прага на шума. Ако има твърде много шум в рендирането, просто намалете прага на шума и V-Ray ще продължи да изстрелва първични проби (AA), докато най-накрая достигне прага на шума.

Но можем да оптимизираме вариант 2 още повече! от 5 минути 58 секунди преди 4 минути 53 секунди. С леко увеличение на шума.

vray_optimization_figure_07

Фигура 07. Вариант № 1. Отляво и Вариант № 2 Рендерът е оптимизиран още повече - отдясно. Скоростта на изобразяване е увеличена с 2,7 пъти!

Ето още един пример за оптимизация, този път по-фокусиран върху производителността на сцената.
Твърди се, че оптимизираното изобразяване (вдясно) е почти 35% по-бързо от общите настройки за изобразяване (вляво), като същевременно намалява шума и подобрява качеството на изобразяване. Също така обърнете внимание как отраженията са станали по-точни - забележими на пода към края на коридора.

vray_optimization_figure_08

Фигура 08. „Универсални настройки на V Ray“ отляво и оптимизирано рендериране отдясно.

Следва продължение…

11 мисли за „Оптимизация рендера в V-Ray

  1. Необходимо нещо, подкрепям автора.
    Очакваме продължението!!!

  2. Страхотен урок, продължението би било хубав подарък.
    Между другото, включете RSS, имате страхотни статии, ще се радвам да прочета нови

  3. Присъединявам се и очаквам продължението.
    Правя го в Maya, но обясненията са много полезни!

  4. Статията е глупост. Времето за изобразяване при същото качество ще бъде по-малко, ако включите подразделенията на минимум и изрязването на цвета на максимум. Да, половината от снимката ще бъде червена. Какво от това? AA семплерът се бори с шума по-добре от подразделенията на всеки елемент. Това е факт.

    1. Поне някой се усъмни в коректността, иначе човек има чувството, че всички коментари по-горе са написани или от ботове, или от хора, които не са разбрали какво пишат, след като са прочели статията веднъж.

      1. все едно статията е написана от пич от Blur ако знаеш какво е, оригинала е от Akin Bilgic. Струва ми се, че в Blur няма глупаци, за да пишат такива неща))

  5. Къде са продължението на статиите?
    Авторът не държи на думата си...((

    1. през 2016 г., с появата на Corona Render, тази статия вече не е актуална. Така и не успях да преведа статията.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *