У гэтым уроку мы залезем ў нетры V-Ray і разбяром яго самыя тонкія налады, каб навучыцца аптымізаваць рэндэру і атрымаць якасную карцінку за меншы час.
ўвядзенне
Гэты ўрок створаны каб ахапіць і растлумачыць ўвесь працэс аптымізацыі налад V-Ray для атрымання якаснага рэндэру за меншы час.
Часта ўзнікае шмат блытаніны вакол тэрміна V-Ray sampling і якія ў яго «ідэальныя» налады. Большасць візуалізатар ствараюць «Універсальныя налады V-Ray» у якіх ставяць у Image Sampler (Anti-Aliasing, або AA) Max subdives вельмі высокае значэнне, каля 50 ліў нават 100, затым проста паніжаюць значэнне noise threshold пакуль рэндэру не стане дастаткова чыстым, думаючы , што гэта лепшы спосаб дамагчыся аптымальных суадносін якасць / хуткасць. Але маючы невялікае ўяўленне, што ж знаходзіцца пад капотам V-Ray і як ён, на самай справе, працуе, вы можаце атрымаць карцінку лепш пры меншым часу рэндэру. Спосаб, які я апішу ў гэтым артыкуле, у параўнанні з самым распаўсюджаным, які я апісаў вышэй, у некаторых сцэнах можа зэканоміць ваш час рэндэру ў 3 - 13 разоў.
Што ж, спачатку разгледзім некаторыя базавыя рэчы пра тое, як працуе сам рэндэру і V-Ray sampling. Далей мы пяройдзем да канкрэтнай сцэне каб прадэманстраваць, як аптымізаваць рэндэру каб ён быў хутчэй, якасней і выразней. Затым мы навучымся выяўляць розныя віды шуму, якія могуць быць у сцэне. І ў канцы я пакажу пакрокавую працэдуру аптымізацыі любой сцэны каб атрымаць ідэальны баланс паміж якасцю і хуткасцю.
Калі вы ўжо ведаеце, ка уладкаваны V-Ray, націсніце сюды каб адразу перайсці да пакрокавай працэдуры аптымізацыі.
RAYTRACING (трасіроўка прамянёў)
Калі пачынаецца рэндэру, прамяні выстрэльваюць з камеры ў сцэну каб сабраць інфармацыю аб геаметрыі ў сцэне, якая будзе бачная на фінальнай малюнку. Гэтыя прамяні накіраваны ад камеры, называюцца Primary Rays (часам Camera Rays або Eye Rays) і наладжваюцца ў Image Sampler (таксама вядомы, як Anti-Aliasing або AA).
У той час, як Primary Ray перасякаюцца з геаметрыяй сцэны, дадатковыя прамяні выстрэльвае з гэтых кропак стрымання ў іншыя вобласці сцэны каб атрымаць інфармацыю пра асвятленне, ценях, адлюстраваным асвятленні (GI), адбіццё, праламленне, подповерхностных расьсейваньні (SSS) і інш. Гэтыя дадатковыя прамяні называюцца Secondary Rays і наладжваюцца ў V-Ray's DMC Sampler.
Малюнак 1. Спрошчаная схема трасіроўкі прамянёў (raytracing): Primary Rays выстрэльваюць з камеры ў сцэну, перасякаюцца з аб'ектамі сцэны і распаўсюджваюць Secondary Rays ў іншыя часткі сцэны.
З гэтага моманту мы будзем называць «Rays», як «Samples», таму што мэта прамяня (Ray) - атрымаць інфармацыю аб сцэне «Sample» (ад англ. - узор). Rays = Samples.
Каб зразумець, што ж адбываецца ў сцэне, неабходна выпусціць кучу Primary і Secondary Samples. Чым больш Samples, тым больш V-Ray атрымлівае інфармацыі аб сцэне, адпаведна, тым якасней будзе рэндэру і тым менш у ім будзе шуму. Як бачыце, шум - прычына недахопу інфармацыі аб сцэне. Калі ў сцэне ёсць шум, значыць у V-Ray не было магчымасці сабраць дастаткова інфармацыі аб сцэне. Пад вынік: каб прыбраць шум, вам неабходна прадаставіць V-Ray больш інфармацыі, а каб даць рэндэру больш інфармацыі аб сцэне, трэба зрабіць значэнне Samples больш.
Колькасць Primary Samples, рэгулюецца значэннямі Min Subdivs, Max Subdivs, і Color Threshold ў параметрах Image Sampler. Колькасць Secondary Samples рэгулюецца значэннем Subdivs індывідуальна ў кожным крыніцы святла, GI, матэрыяле і ў наладах Noise Threshold значэннем DMC Sampler. (Noise Threshold в Maya называецца Adaptive Threshold)
Такім чынам, паўторым асноўныя тэрмiны:
Ray = Sample
Primary Samples = samples наладжвальныя V-Ray's Image Sampler (таксама вядомыя, як Anti-Aliasing або AA), створаны для вызначэння геаметрыі сцэны і збору такой інфармацыі, як: тэкстуры, глыбіня рэзкасці (DOF), і размыццё ў руху).
Secondary Samples = samples cнастраиваемые V-Ray's DMC Sampler, створаны для збору інфармацыі аб асвятленні, GI, ценях, адбіццё, праламленне і SSS
Noise = шум або недахоп інфармацыі
Subdivs = квадратны корань з рэальнага колькасці Samples. Subdivs ^ 2 = Samples. Прыклад: 8 Subdivs = 64 Samples. (8 ^ 2 = 64)
У гэтым уроку мы разгледзім, як лепш за ўсё выкарыстоўваць гэтыя Primary і Secondary Samples, што б атрымаць малюнак без шумоў у кароткі прамежак часу.
Вызначэнне THE SAMPLERATE RENDER ELEMENT
The SampleRate render element - адзін з найбольш важных інструментаў, якія мы будзем выкарыстоўваць для аптымізацыі рэндэру. Гэта спосаб у V-Ray, паказаць нам, што Image Sampler (AA) робіць у пэўным пікселі. Ён робіць гэта, адзначаючы кожны піксель колерам, адпаведным колькасці Primary Samples (AA) у ім. Гэта малюнак можна глянуць у SampleRate render element)
* Блакітны колер азначае невялікая колькасць Primary Samples (AA) у гэтым пікселі.
* Зялёны колер азначае сярэдняя колькасць Primary Samples (AA) у гэтым пікселі.
* Чырвоны колер азначае вялікая колькасць Primary Samples (AA) у гэтым пікселі.
Малюнак 2. The SampleRate render element (справа) паказвае, колькі Primary Samples было задзейнічана ў кожным пікселі рэндэру (злева)
Такім чынам, для сцэны з Image Sampler (AA) 1 min і 10 max Subdivs (1 min і 100max Primary Samples):
* Блакітны колер азначае 1 Primary Samples (AA) у гэтым пікселі.
* Зялёны колер азначае 50 Primary Samples (AA) у гэтым пікселі.
* Чырвоны колер азначае 100 Primary Samples (AA) у гэтым пікселі.
І, для сцэны з Image Sampler (AA) 1 min і 100 max Subdivs (1 min і 10000max Primary Samples):
* Блакітны колер азначае 1 Primary Samples (AA) у гэтым пікселі.
* Зялёны колер азначае 5000 Primary Samples (AA) у гэтым пікселі.
* Чырвоны колер азначае 10000 Primary Samples (AA) у гэтым пікселі.
Сцэна прыклад - як жа працуе V-RAY?
У гэтым уроку мы будзем працаваць з простай сцэнай, якая складаецца з: плоскасці з некалькімі сферамі на ёй, некалькіх разнастайных простых матэрыялаў (уключаючы diffuse, glossy reflection, glossy refraction, і SSS), два аб'ёмных крыніцы святла (area light) і domelight з HDRI . GI ўключана ў рэжыме Brute Force + Light Cache. Гэты файл вы можаце спампаваць тут .
Мы пачнем з базавых настроек рэндэру з наступнымі значэннямі:
- Image Sampler (AA) = 1min & 8max Subdivs.
- Lights, GI, і Materials ўсе 8 Subdivs.
- Noise Threshold s = 0.01.
- Астатнія настаўленьні таксама пакідаем па змаўчанні
Малюнак 3. Базавы рэндэру.
1min & 8max Subdivs = Image Sampler (AA)
8 Subdivs = Lights, GI і ўсе матэрыялы
Зараз давайце ўважліва паглядзім, што ж адбываецца пры базавым рэндэру. Праз налады рэндэру, вы як бы кажаце рэндэру:
«Я дазваляю табе выкарыстоўваць да 64 (8 Subdivs) Primary Samples (AA) у кожным пікселі каб ты зразумеў, што там адбываецца ў сцэне і не рабіў шмат шуму, на колькі гэта дазваляе noise threshold ... Але Для кожнага з гэтых Primary Samples, ты можаш стварыць толькі 1 Secondary Sample каб зразумець, чё там па свеце, ценяў, GI і матэрыялам. »
Магчыма, у вас узнікае пытанне: «Стоп, усяго адзін Secondary Sample для святла, GI і ўсіх матэрыялаў? Ды ты гоніш! Павінна ж быць 64 Samples (8 Subdivs), мы ж столькі паказвалі? ». Што ж, важна адзначыць, што ІС (крыніцы святла), GI і матэрыялы маюць значэнне 64 Samples (8 Subdives) кожны - V-Ray дзеліць гэта значэнне на AA Max Samples ў вашай сцэне. Нягледзячы на значэнне ў 64 Samples для святла і матэрыялаў, вы павінны мець на ўвазе, што гэта значэнне дзеліцца на значэнне AA Max = 64 Samples (8 Subdivs), у выніку, мы маем усяго адзін Secondary Sample для святла, GI і матэрыялаў. (64 Secondary Samples / 64 Primary Samples = 1 Secondary Sample).
Прычына, па якой V-Ray гэта робіць - унутраная формула, устаноўленая для ўтрымання балансу гэтых двух значэнняў. Логіка распрацоўшчыкаў наступная: чым больш Primary Samples, тым прпорционально менш Secondary Samples патрабуецца каб зразумець, што адбываецца ў сцэне (хутка мы пераканаемся, што гэта не заўсёды справядліва). Гэтая балансіроўка паміж Image Sampler і DMC Sampler, па пачатку, можа быць вам не зразумелая, але галоўнае. вынесці наступнае: калі вы павялічваеце значэнне Image Sampler (AA), V-Ray стараецца кампенсаваць, прапарцыйным памяншэннем значэнне DMC Sampler. Пазней, калі вы яшчэ не заснулі, вы можаце ацаніць DMC Calculator , Які напісаў аўтар гэтага артыкула, якую я так старанна перакладаю ў 05:02 раніцы, амаль не карыстаючыся слоўнікам =) Дзякуй гімназіі №32 у г. Іванава, дзе я атрымліваў 8 ўрокаў ангельскай на тыдзень.
І так, вернемся да нашых чыюкам:
V-Ray отрендерил на столькі класна, на колькі мог, але мяне насцярожвае велічэзная колькасць чырвоных пікселяў ў SampleRate render element). Вось што ён нам гэтым кажа:
«Я не змог высветліць, што ж адбываецца ў сцэне, тк ты мяне моцна абмежаваў у noise threshold. Я доўга выкарыстаў Primary Samples з усяго адным Secondary Sample але гэта не дало мне дастаткова інфармацыі аб гэтых абласцях. »
Калі мы паглядзім на рэндэру, мы заўважым, што ў той час як аб'екты (краю аб'ектаў) выглядаюць досыць нядрэнна, всёже існуюць шумныя учаски на малюнку ў месцах ценяў і адлюстраванняў. Мы атрымалі шумны базавы рэндэру і ў нас ёсць два варыянты каб паменшыць шум каб атрымаць жаданае якасць.
* Варыянт 1 - павялічыць AA Max Subdivs - каб V-Ray лепш ўбачыў сцэну, але зноў з усяго адным Secondary Sample для святла, GI і матэрыялаў.
* Варыянт 2 - Павялічыць колькасць Subdivs ў матэрыялах, святле і GI. Сказаць V-Ray, каб ён пакінуў колькасць Primary Samples, але замест гэтага, дазволіць яму выкарыстаць больш Secondary Samples.
Сцэна прыклад - варыянт 1 - павелічэнне значэння AA MAX SUBDIVS
Што ж, давайце спачатку паспрабуем, тым спосабам, якім звычайна робяць криворукие візуалізатар каб атрымаць менш шумны рэндэру.
- Мы павялічваем Image Sampler (AA) 1min & 100max Subdivs.
- Пакідаем ІС, GI і матэрыялы па 8 Subdivs.
- Паніжаем Noise Threshold да 0.005 каб сказаць V-Ray што мы хочам рэндэру без шуму.
Малюнак 4. Варыянт 1 - павелічэнне колькасці сабдивов ў AA Max
1min & 100max Subdivs = Image Sampler (AA)
8 Subdivs = BC, GI і ўсе матэрыялы
0.005 = Noise Threshold.
Давайце разбярэмся, што ж адбываецца пры такіх наладах. Выставіўшы такія налады мы гаворым V-Ray:
«Я дазваляю табе выкарыстоўваць да 10 000 (100 subdivs) Primary Samples (AA) на піксель каб зразумець, што адбываецца ў сцэне і мінімізаваць шум, на колькі гэта магчыма пры зададзеным Noise Threshold. Але, для кожнага Primary Samples, ты можаш стварыць толькі па адным Secondary Sample для таго што б зразумець, што ў сцэне са святлом, GI і матэрыяламі. »
Ўспамінаем, што т.к. кожны ІС, матэрыял і GI маюць па 64 Samples (8 Subdivs), V-Ray дзеліць гэта значэнне на AA Max Samples. Нягледзячы на значэнне ў 64 Samples, яно дзеліцца на AA Max 10 000 Samples (100 Subdivs), у выніку, мы маем мінімальная колькасць - усяго п аднаму Secondary Sample для святла, GI і матэрыялаў. (64 Secondary Samples / 10000 Primary Samples = 1 Secondary Sample).
V-ray заканчвае пралік малюнкі і кажа:
«Я мог высветліць усё, што адбываецца ў сцэне для таго якасці і чысціні карцінкі, які ты паказаў. Але, каб прамацаць сцэну, мне прыйшлося месцамі выкарыстоўваць аж 10000 Primary Samples з 1 Secondary Samples на свет, GI і матэрыялы. »
Мы глядзім на Варыянт 1 і бачым, што колькасць шуму значна зменшылася, у параўнанні з базавым рэндэру. Час рэндэрыць павялічылася да 11 мін 44 мек (у 9,8 разоў даўжэй). Затое мы не маем шуму. Большасць людзей на гэтым моманце палічаць што гэта лепшы вынік, які можна атрымаць і што, накшталт, гатова.
Але што, калі мы разбяром варыянт 2, аб якім казалі раней? Нягледзячы на павелічэнне AA Max Subdivs, што адбудзецца, калі мы, замест гэтага павялічым значэння сабдивов ў ІС, GI і матэрыялах. Давайце высветлім.
Сцэна прыклад - варыянт 2 - павелічэнне колькасці сабдивов ў ІС, GI і матэрыялах
Цяпер давайце паспрабуем сёе-тое новенькае. Давайце паставім значэнне Primary Samples такм, якім яно было ў базавых наладах, але дадамо Secondary Samples.
- Мы пакідаем Image Sampler (AA) на базавых параметрах 1min & 8max Subdivs.
- Павялічваем колькасць сабдивов ў ІС, GI і матэрыялах да 80 Subdivs кожны.
- Пакідаем Noise Threshold 0.01
Малюнак 5. Варыянт 2 - захоплена колькасць сабдивов ў ІС, GI і матэрыялах.
1min & 8max Subdivs = Image Sampler (AA)
80 Subdivs = Lights, GI, and Materials each.
0.01 = Noise Threshold.
І так, давайце разбяром, што ж адбываецца ў другім варыянце. Усталёўваючы такія параметры рэндэру, вы как-бы кажаце V-Ray:
«Я дазваляю табе выкарыстоўваць да 64 (8 subdivs) Primary Samples (AA) на піксель каб зразумець, што ёсць у сцэне і да 100 Secondary Samples.»
Памятаем, што GI, матэрыялы і святло гэта 64000 семплов (80 сабдивов) кожны. V-Ray аўтаматычна дзеліць кожнае гэта значэнне зыходзячы з AA Max Samples, усталяванага ў вашай сцэне. І нягледзячы на 64000 семплов, яно дзеліцца AA Max 64 семплов (8 сабдивов), і толькі 100 другасных семплов для святла, GI і матэрыялаў (для кожнага). Secondary Samples / 64 Primary Samples = 100 Secondary Sample).
V-Ray заканчвае рэндэру і кажа:
«Я мог даведацца, што адбываецца ў сцэне зыходзячы іх ўзроўню якасці noise threshold, які вы ўстанавілі. Па факце, вялікую частку часу, я павінен быў выкарыстаць усе 64 Primary Samples на піксель. І 100 Secondary Samples для святла, матэрыялаў і ГІ. »
Мы бачым, што шумы сышлі, але час рэндэру павялічылася ў 4,5 разы (4м 38с) у параўнанні з базавым рэндэру.
Але калі мы параўнаем з варыянтам 1, мы ўбачым, што варыянт 2 даў нам выніку чысцей і отрендерил ў 2,2 разы хутчэй.
Малюнак 06. Варыянт 1 злева і варыянт 2 справа. Унізе - павялічанае ў 4 разы малюнак, каб лепш бачыць розніцу ў шумах.
Чаму так? Чаму, павелічэнне параметраў DMC Sampler settings (святло / GI / матэрыялы Subdivs) лепш, чым павелічэнне Sampler (AA)? Як выніку - рэндэру хутчэй і чысцей.
Як працуе аптымізацыя
У базавым рэндэру мы бачым, што грані аб'екта выглядаюць добра, шум пераважна ў адлюстраваннях і ценях. Калі вы памятаеце, што мы вучылі раней: «Primary Samples (AA) зробленыя для« прамацванне »асноўнай геаметрыі сцэны, тэкстур, DOF і motion blur ў сцэне. Тады як Secondary Samples - «прашчупваюць» GI, святло, матэрыялы і цені. »
І так, каб пазбавіцца ад шуму, выбар паміж варыянтам 1 і 2 - ня лёгкая задача. Навошта выкарыстоўваць адвёртку, каб зрабіць працу малатка? Image Sampler (AA) ужо зрабіў тое, для чаго ён быў распрацаваны, каб зрабіць - зрабіць геаметрычную дэталізацыю (краю аб'ектаў) чыстымі і бясшумнымі. Такім чынам, замест стральбы кучай дадатковых Primary Samples (AA) у сцэну, каб прыбраць шум, лепш дадаць samples ў DMC Sampler (святло / GI / Матэрыялы Subdivs), хай ён робіць тое, для чаго ён быў распрацаваны - прыбірае шум у цені, асвятленні, GI, адбіцця і праламлення. Вось наш адказ!
А зараз мы можам зразумець, чаму «Універсальныя V Ray-Настройкі» 1мин і 100 max АА, як правіла, не будуць найбольш эфектыўным метадам візуалізацыі сцэны - на самай справе ён ніколі не быў прызначаны быць найбольш эфектыўным метадам! Універсальныя налады V-Ray былі распрацаваны, каб зрабіць V-Ray даступным і лёгкім для карыстальнікаў, якія не клапоцяцца пра аптымізацыю і не замарочвацца, як V-Ray працуе пад капотам. Гэта проста спосаб паставіць V-Ray на аўтапілоце. Гэта дазваляе карыстальніку кантраляваць усе якасць рэндэрынгу шляхам карэкціроўкі толькі аднаго параметру - noise threshold. Калі занадта шмат шуму ў візуалізацыі, проста паніжаем noise threshold, і V-Ray будзе трымаць стральбы Primary Samples (AA) пакуль, нарэшце не дасягае noise threshold.
Але мы можам яшчэ больш аптымізаваць варыянт 2! Ад 5мин 58с да 4мин 53с. Пры нязначным павелічэнні шуму.
Малюнак 07. Варыянт № 1. злева, і Варыянт № 2 рэндэру аптымізаваны яшчэ больш - справа. Хуткасць рэндэрынгу павялічана ў 2.7x!
Вось яшчэ адзін прыклад аптымізацыі, на гэты раз больш арыентаваны на прадукцыйнасць сцэны.
Аптымізаваная візуалізацыя (справа) лічыцца амаль на 35% хутчэй, чым універсальныя налады рэндэрынгу (злева) пры адначасовым зніжэнні шуму і паляпшэнні якасць рэндэрынгу. Таксама адзначым, як адлюстравання сталі больш дакладнымі - прыкметна на падлозе да канца калідора.
Малюнак 08. «Універсальныя V Ray-Настройкі» злева, і аптымізаваны рэндэру справа.
Працяг будзе…
Сцэна прыклад - як жа працуе V-RAY?Павінна ж быць 64 Samples (8 Subdivs), мы ж столькі паказвалі?
Але што, калі мы разбяром варыянт 2, аб якім казалі раней?
Чаму так?
Чаму, павелічэнне параметраў DMC Sampler settings (святло / GI / матэрыялы Subdivs) лепш, чым павелічэнне Sampler (AA)?
Навошта выкарыстоўваць адвёртку, каб зрабіць працу малатка?