Image Sampler – Adaptive

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео
В миналият урок обсъдихме варианта, че освен този фиксиран метод на разположение на семпълите за всеки пиксел.
Съществува и такъв, който е на базата на някакво адаптиране и на базата на автоматична преценка на това, колко и къде да бъдат разположени семпълите.
Да го видим отново с пример в "max".
Ще използваме същата сцена и от настройките, които имаме запазваме всичко и променяме само типа на "antialiasing" да бъде адаптив.
Трите типа, които остават са тип, при които се адаптира този брой на семпълите, но работят по различен начин.
Първият, най-масово използван е адаптив.
В предишните версии се нарича "adaptive dmc".
"roll-out" се смени Това са неговите параметри.
За разлика от предишният метод, в който този "roll-out" няма никакво значение като изключим отивам само "global subdivisions", за този тип адаптив двата "roll-outs" са направени да работят заедно.
Ще го обясним, започваме с минимум и максимум субдивижънс.
Това са двата параметъра, които определят броя на семпълите.
Но събдивижънс значи числото на квадрат.
Минимум един семпъл ще е разположен за всеки пиксел.
И максимум 16 за всеки пиксел.
Това са стойностите по подразбиране.
Кога да използва един семпъл, кога 16 и на каква база да става избора за този брой? Взима се предвид от тази отметка.
Тази стойност, която в момента не е активна, тъй като сложана ето тази.
Това значи, че няма да вземе предвид тази стойност, а ще вземе от "global dmc".
Ето тази стойност- "noise threshold".
Която в случаят е еднаква.
Тази адаптивност за броя на семпълите ще зависи от тази стойност.
Това е критерият, по който се определя броя.
А какво представлява тази стойност? Това е числовата разлика в стойността за цвета на два съседни пиксела.
Когато тази разлика е по-голяма, ще се добавят повече семпъли.
Щом достигне границата и стане по-малка, независимо колко семпъла са прибавени, изчисленията за него приключват.
Тази стохност е висока, но за стойност по подразбиране е добре.
Ще работим с нея, достатъчно бърза е.
Другият параметър, който влияе на тази адаптивност е "adaptive amount".
Kакво значи той? Kогато е 1 параметърът, значи, че 100% от семпълите ще бъдат адаптивни.
Щом тук е 0, винаги ще се използва максималния брой за семпъли, които са зададени тук -16.
Това няма никакъв смисъл тъй като по този начин работи "fixed rate".
Щом е средна стoйност, както е в момента - 0,85.
Това са само 15% от максималния брой.
Те бъдат излъчени за всеки пиксел.
За да стане по-лесна математиката и да стане по-нагледно ще го променя на 0,5.
При минимален брой на семпълите - 1 и максимален брой - 16, при "adaptive amount" 0,5 значи че 8 от тях, със сигурност ще бъдат изчислени за всеки пиксел.
Стойността между 8 и 16 "v-ray" ще прецени дали да я използва.
С добавяне на нови семпъли, на базата на тази стойност.
Ако тя продължава да е по-висока от прага, добавя семпъли, докато не достигне максимума.
Щом тази стойност е 85 само 15% от тези 16, ще бъдат пресмятани.
Преди да започне да добавя към максималната стойност.
Но това не е съвсем така тъй като имаме една допълнителна опция за минимум "samples", независимо каква стойност сме дали.
Първоначалното пресмятане ще бъде винаги с 8 семпъла.
Въпреки сметката, която направихме.
Тази стойност е ниска и за да изясним отново, как се намества този фактор ще го върна на 0,5.
А това ще е 10.
Как работи "v-ray" в случая? Би трябвало да започне да разполага 1 семпъл и да прецени до 100, колко семпъла да сложи.
Сега няма да започне с 1, а с 8.
Това е сложeно като минимум за тази стойност.
В момента започва да пресмята стойности между 8 и 100.
50% от тези 100 ще бъдат пресметнати със сигурност, заради тази стойност.
50 от тези "samples", ще бъдат сметнати за сигурност.
Това от своя страна елиминира този параметър.
Минимум 8, защото минимума, който ще кастне е 50 Тази стойност между 50 и 100, ще започна да пресмята на базата на този праг.
Това е основното свойство и основният принцип, който използвам при универсалните настройки за този рендер.
Но той води до увеличаване на времето, ще обсъдим и това.
Това, което ще използваме е 0,85 или 15% със сигурност от максимума, който е 16.
Да започнем с 8 минимум.
Това са стойностите по подразбиране, с които в много от сцените работи добре.
В следващи проекти ще видим, как тези стойности можем да ги променим, за да оптимизираме времето и качеството.
Да направим един тест рендер с настройките по подразбиране.
Останала е рендер маската, махам я.
Получаваме този рендер, при максимум 4 субдивижъна.
При "fixed rate", 4 субдивижъна имаме 21 секунди.
Да сравним качеството.
Добавям коментар - "adaptive 4max".
Той ще бъде А, а с 4 "fixed rate", да бъде Б.
Съвсем лека промяна забелязвам.
Само там, където имаме широка част с равен тон.
Където "fixed rate" се справя по-добре.
Във всички други области, адаптив субдивижъна се е справил много добре.
В широките области, където имаме плавен преход на сенки или на тонове.
Те са проблемни за всички видове семплъри.
В случаят, особено без да приближавам толкова, не виждам никаква разлика.
Разликата във времето е 17 секунди срещу 21.
Това е осезаемо.
Тук няма смисъл да променям максималните субдивижъни да бъдат 1, защото това автоматично ще доведе до кастване само на 1 семпъл за всеки пиксел.
То е същата като използването на "fixed rate" с 1.
Сравняваме следващият резултат, който беше с 12 субдивижъна за "fixed rate.
И 12 максимум за адаптив.
Времето 24 секунди.
Запазвам, добави коментар Сравняваме ги с "fixed 12".
Основната разлика е само в плавният преход и там където имаме голяма зона.
Тук не значи, че сме добавили повече семпъли от предишният ни рендер.
Всъщност значи, защото се е увеличило времето.
Но на практика не сме достигнали максимума.
При "fixed rate" е достигнат със сигурност, от 12 на квадрат.
Тук използваме някаква междинна стойност.
Това е довело до намаляване на времето.
Това е рендер, който е на базата на "noise threshold" 0,01.
Това е по подразбиране.
Ако увеличим тази чувствителност, трябва да намалим тази стойност на 0,05.
Да направим още един тест рендер.
Сега не увеличаваме броя на семпълите, а завишаваме критериите, по които да бъдат каствани повече към максимум брой на семпъли.
Направихме го с промяната на "noise threshold".
Това е новият рендер, запазвам преди да го обсъдим, добавям коментар "adaptive" 12 субдивижъна, и "noise threshold" 0,05.
Сравняваме времето, 49 секунди.
Правиме изображението да бъде А.
Предишният рендер със същият брой максимални субдивижъни, но с по-висок праг на чувствителност към разликата в цвета, да бъде Б.
Проблемите, които имаше предишният рендер, вече са доста по-изчистени.
Да направим сравнението с "fixed rate" и 12 субдивижъна.
Разликата е все по-малка и по-слабо осезаема.
Но ако трябва да сравним времето, тук имаме 2 минути и 46 секунди, А тук само 49 секунди, за почти същият резултат.
Този адаптивен метод наистина доста сваля времето за рендериране.
Като запазва качеството, което го прави най-често използваният.
В следващият урок ще видим, как работи следващият метод, който е "adaptive subdivision".

Въпроси и отговори

  • Защо се получава този Noise

    Cveti Arsova:

    Здравейте, при мен проблема е, че съм с малко по-високата версия на V-Ray (3.40) и менюто с настройките за Image sampler е доста различно. Имате ли някаква идея защо крайното изображение излиза по този начин?

    Cveti Arsova:

    Отговорих си сама, след като гледах следващите уроци, и разбрах, че тези настройки не са за този Type. Да разбирам ли, че в новата версия Bucket = Fixed type, a Progressive =Adaptive type?

    Ивайло Искренов:

    Здравей,
    при теб Image Sampler-a e избрано да бъде Progressive, избери от падащото меню Bucket и настройките надолу ще се променят, както са за Adaptive от урока. В момента с Progressive рендерираш за време - избрано е рендера да приключи след 1 min. За една минута изображението "прогресивно" се обновява и е стигнало до тук. Просто времето е прекалено кратко, за да завърши рендера на по-добро ниво за тази сцена (и PC-то с което рендерираш разбира се).

    Cveti Arsova:

    Открих грешката си, след като изгледах няколко клипа напред и видях, че за Progressive type настройките са други, но все пак може ли да ме посъветвате за краен рендер при min sudivis - 100 само времето за рендериране ли да увелича?

    Ивайло Искренов:

    В Progressive mode в общи линии нещата зависят главно от два параметъра - времето за рендериране (Render time) и "нивото" на шума (Noise threshold). Ако увеличиш времето - ще повишиш качеството. Ако намалиш Noise Thresh също ще повишиш чистотата в рендера. Аз лично предпочитам да използвам Progressive mode за тестови рендери - определяш крайното време за рендера и придобиваш цялостна представа за това как ще изглежда рендера. За финален рендер обаче предпочитам Bucket mode. Тогава оставям рендер енджина да направи калкулациите до край (на базата на другите зададени параметри) без да е приоритетно времето за рендериране.

    Cveti Arsova:

    Много благодаря за съвета!

    Ivan:

    Доколкото разбирам (нов съм във vray, но съм ползвал други рендери), в по-новите версии на vray adaptive и fixed са обединени в общ тип - bucket и всъщност чрез избиране на възможността да има или да няма максимален брой subdivisions определяме дали сме в адаптивен или фиксиран режим. Съответно слагането на отметка на max subdivs активира възможността за фина настройка посредством treshold-a. Правилно ли съм разбрал ? Версията е 3.6 при мен.

    Ивайло Искренов:

    Здраевй Ivan,
    да - логиката е такава - в предишните версии на V-ray трите типа Fixed / Adaptive / Adaptive subdivision се рендерират с бъкети, а не прогресивно. Според мен заради ограниченото приложение на първия и последния тип и заради това, че повечето потребители не знаят кога кой ти е по-подходящ, в новите версии тези опции са обединени в Bucket и е оставена и възможността за прогресивно рендериране с Progresive. Ако не сложим отметката на Мах subdives в Bucket Image Sampler, тогава сме в фиксиран режим защото винаги за всеки пиксел ще бъдат използвани конкретно и точно число семпли. Ако сложим отметката на Мах subdives, тогава вече сме в адаптивен режим и енджина избира стойност между Min и Max на базата на Noise Tresh.

  • Ивайло Искренов:

    Здравей,
    кликни с десен бутон на зеленият бутон Default и избери Switch to Expert. Така ще се появят всички опции на V-Ray. В Image sampler смени от падащото меню на Bucket (то вече замества Adaptive) и ще имаш достъп до същите настройки както в по-старите версии

  • Каква е разликата между Noise threshold в настройките на Bucket Image sampler и Noise threshold в настройките на Global DMC?

    Петър Жерков:

    Здравейте. При Вас не виждам двете опции за Noise threshold. Прилагам снимка, за да стане по-ясно. Каква е разликата между Noise threshold в настройките на Bucket Image sampler и Noise threshold в настройките на Global DMC?

    Ивайло Искренов:

    Здравей, въпроса ти е много уместен и найстина еднаквите имена водят до леко объркване, но ще се опитам да обяся разликата, по начина по които аз я разбирам. Noise threshold в Image Sampler е основният, главният контрол на качеството и антиалайзинга за цялото изображение, докато Noise threshold в DMC е отделен контрол за семплирането на шейдърите, рефлекциите, рефракциите, GI... В реалност в много редки случай ще се налага промяна на Noise threshold в DMC, докато се използва Noise threshold в Image Sampler като главнен контрол. В най-новата версия на V-Ray, тази опция от DMC дори вече е скрита и не може да се променя през интерфейса.