Пякарня – GPU Lightmapper
Інструкцыя (v1.5)
Навошта выкарыстоўваць Bakery
Bakery распрацаваны як альтэрнатыва існуючым праграмам для адлюстравання святла і накіраваны на вырашэнне наступных праблем:
- Выпраўленне розных артэфактаў запякання, такіх як швы, уцечкі святла/цені, няправільныя тэрміналы ценяў і г. д. Запяканне карты святла не павінна прынесці больш праблем, чым візуалізацыя кадра камеры ў аўтаномным рэндэрэры.
- Выпяканне ўсіх відаў даных асвятлення, а не толькі поўнае асвятленне або толькі GI. На сённяшні дзень вы можаце папрасіць Bakery стварыць змешанае прамое і ўскоснае асвятленне ад усіх падтрымоўваных крыніц святла і іх ценявых масак.
Асвятленне можна таксама запякаць па вяршыні замест выкарыстання тэкстур. - Інфармацыя аб накіраванасці можа быць запечана ў выглядзе карты дамінантнага напрамку (класічны «накіраваны» рэжым у Unity), 3 карт для нармальнага адлюстравання выпраменьвання ці 4 карт для на піксель сферычных гармонікаў (значна больш высокай якасці, чым класічны напрамак). Некалькі рэжымаў накіраванасці можна выкарыстоўваць у адной сцэне на розных аб'ектах.
- Фізічная правільнасць. Вынікі Bakery былі ўважліва параўнаны з Mitsuba, вядомым аб'ектыўным рэндэрырам. У адрозненне ад убудаваных рашэнняў Unity, Bakery падтрымлівае правільнае паслабленне асвятлення ў зваротным квадраце (або, калі вам гэта не падабаецца, вы заўсёды можаце выкарыстоўваць рэжым паслаблення, сумяшчальны з Unity).
- Падтрымка святла IES.
- Рэндэрыраваць выбранае (гл. падрабязнасці)
- Падтрымка LOD.
- Запечаная зборная апора.
- Плануецца стварэнне некалькіх пераключаемых карт асвятлення для кожнага аб'екта.
Хуткі старт
- Адкрыйце Unity, стварыце новую сцэну і імпартуйце Bakery (A ssets->Import Package->Custom Package).


- Дадайце мадэль або прымітыў і пазначце гэта як Static.


- Выберыце Directional Light (той, які Unity стварыла для вас) і дадайце да яго кампанент Bakery Direct Light.
● Крыніцы святла для пякарні адрозніваюцца ад крыніц святла Unity. - Bakery Direct Light мае шмат параметраў, якія можна наладзіць, але вы можаце лёгка супаставіць яго са святлом Unity. Націсніце Match lightpapped to real-time. Цяпер святло Bakery павінна мець такі ж жаўтлявы колер, як накіраванае па змаўчанні Unity.
● Bakery Direct Light можа скардзіцца на тое, што ў праекце не выкарыстоўваецца лінейная інтэнсіўнасць святла. Праблема ў тым, што па змаўчанні Unity прымяняе гама-карэкцыю да колераў крыніцы святла няправільным спосабам. Правільны рэжым можа быць уключаны з дапамогай сцэнарыя, і гэта тое, што робіць кнопка «Выправіць». Калі ў вас ужо ёсць шмат крыніц святла, наладжаных з няправільным рэжымам інтэнсіўнасці, і вы не жадаеце іх зноў мяняць, вы можаце прапусціць выпраўленне. Нават калі вы націснеце «Выправіць», вы заўсёды можаце адмяніць змены ў любы час.

- Каб атрымаць ценявое навакольнае асвятленне, стварыце Skylight (Bakery->Create->Skylight).

- Выберыце Skylight, надайце яму блакітнаваты колер і націсніце Match scene skybox to this light. Гэта дазволіць дакладна адпавядаць асвятленню Skybox.
● Вы заўсёды можаце зрабіць гэта абодвума спосабамі: супаставіць скайбокс з мансардным вокнам або мансарднае акно з скайбоксам.

- Націсніце Bakery->Render Lightmap. Па змаўчанні актыўны рэжым Full Lighting. Ён будзе пячы як прамы, так і ўскосны ўклад усіх агнёў. Калі вы хочаце аб'яднаць цені ў рэальным часе з запечаным GI, змяніце яго на Indirect.
● Пякарня можа паскардзіцца, што вы выкарыстоўваеце стары гама-рэжым, і прапанаваць змяніць яго. Калі вам важна якасць асвятлення, настойліва рэкамендуецца выкарыстоўваць лінейны рэжым. Адзінае апраўданне не выкарыстоўваць гэта, калі ў вас ужо ёсць вялікі праект, настроены з няправільнай гамай, і вы не жадаеце яго мяняць.

- Націсніце Render.
- Гатова! Цяпер вы павінны запекчы ГІ.

Налады візуалізацыі
Усе налады візуалізацыі можна атрымаць праз Bakery->Render Lightmap. Налады захоўваюцца для кожнай сцэны. Першы параметр, які вы ўбачыце (пад назвай Настройкі), дазваляе пераключацца паміж Простымі, Пашыранымі і Эксперыментальнымі наладамі. Простага дастаткова для большасці задач.
Агульныя налады:
- Рэжым візуалізацыі: вызначае, якія карты святла запякаць.
- Поўнае асвятленне будзе генераваць поўнае прамое і ўскоснае асвятленне. Калі ў вас ёсць кампаненты Unity і Bakery на адным святле, вам трэба будзе адключыць кампаненты Unity, каб пазбегнуць падвойнай яркасці.
- Ускосныя гэта асноўны змешаны рэжым. Ён будзе глядзець на сцяжок Bake to Indirect на кожным свяцільні: калі ён уключаны, святло запякаецца, як у рэжыме поўнага асвятлення. Калі ён ВЫКЛЮЧАН, запякаецца толькі ўскосны ўклад (GI) ад гэтага святла. У апошнім выпадку вы павінны трымаць на аб'екце агні Unity і Bakery, адзін дае прамы ўклад у рэальным часе, а другі - для папярэдне вылічанага GI. Выпяканне да ўскоснага ўключана па змаўчанні для мансардных вокнаў і светлавых сетак, таму што Unity не можа прайграць іх асвятленне ў рэжыме рэальнага часу.
- Shadowmask - гэта больш дасканалы змешаны рэжым. Ён працуе, ствараючы 2 тыпы карт асвятлення - адзін з непрамым колерам (як у рэжыме ўскоснага, таму сцяжкі "Выпякаць да ўскоснага" па-ранейшаму прымяняюцца), а другі - з ценямі ад статычных аб'ектаў. Ён мае некалькі пераваг:
- Цені ў рэжыме рэальнага часу могуць адлюстроўваць толькі некалькі дынамічных аб'ектаў, а не ўсю сцэну.
- Рэальныя і запечаныя цені належным чынам спалучаюцца.
- Святло ў рэжыме рэальнага часу можа ствараць эфекты няроўнасці, люстранасці і іншыя эфекты паверхні, пры гэтым закрываючыся высакаякаснымі запечанымі ценямі.
У цяперашні час толькі Direct, Point і Spotlights могуць узаемадзейнічаць з ShadowMasking (таму што гэта адзіныя тыпы, якія Unity падтрымлівае ў рэжыме рэальнага часу). Каб уключыць такія паводзіны, у вас павінны быць агні Unity і Bakery на адным аб'екце, з уключаным сцяжком Shadowmask на апошнім. - Адлегласць Shadowmask: гэты сцяжок бачны толькі ў тым выпадку, калі вы абралі ценявую маску і проста пераключаеце аднолькава названы параметр у наладах якасці праекта.
● Гэты сцяжок не з'яўляецца ў Unity 5.6.x з-за адсутнасці адпаведнага API сцэнарыяў. Замест гэтага вы можаце пераключыць яго ў меню «Акно->Асвятленне->Змешанае асвятленне->Рэжым асвятлення».


Уверсе: для хлебабулачных вырабаў усталяваны непрамы рэжым, і святло ў рэжыме рэальнага часу ўключана. Выпякаецца толькі ГІ.
Унізе: Пякарня настроена на поўны рэжым, а святло ў рэжыме рэальнага часу адключана. І GI, і цені запечаны, але ад дынамічнага персанажа няма ценю.
Больш поўнае параўнанне рэжымаў візуалізацыі, цяпер з Shadowmask:
Як можна зрабіць выснову, Distance Shadowmask з'яўляецца самым якасным рэжымам, даступным да гэтага часу, з адзінай праблемай незацененых дынамічных аб'ектаў па-за дынамічным дыяпазонам ценяў, у той час як звычайны рэжым Shadowmask таксама адносна танны для візуалізацыі.
Вось таксама параўнанне розных канфігурацый святла з выкарыстаннем рэжыму Shadowmask. Маленькія кубікі статычныя, а капсулы дынамічныя:
Злева: цалкам запечаны светлы. Цэнтр: дынамічнае святло з запечаным GI. Справа: капсульная цень, выпукласць і люстранасць дынамічныя, але кубічная цень і GI запечаныя.
Калі камера адыдзе дастаткова далёка або калі дынамічныя цені адключаны, тая ж сцэна будзе выглядаць так:

- З-за старых абмежаванняў Unity візуалізацыя карт святла Shadowmask у версіях да 2017.3 можа ачысціць светлавыя зонды. Пасля выпякання іх трэба будзе ператапіць. Гэтага не павінна адбывацца ў версіях 2017.3 і больш новых.
- Рэжым накіраванасці: вызначае спосаб запісу накіраванай інфармацыі. Стандартныя карты асвятлення захоўваюць толькі адзін колер на тэксель, у той час як карты накіраванага асвятлення даюць шэйдэрам намёк на тое, як змяняецца асвятленне ў паўшар'і вакол тэкселя. Гэтыя даныя патрабуюцца для аб'яднання цалкам асветленых абласцей з нармальнымі картамі. Падключыўшы яго да ўбудаванага шэйдара Bakery, можна таксама атрымаць прыблізны люстраны водгук. Даступныя рэжымы:
– Няма: няма дадзеных пра накіраванасць, адзін колер на тэксель.
– Запечаныя нармальныя карты: still no directional data, but normal maps are taken into account when rendering the lightmap. There is no additional runtime overhead. Since lightmaps usually have lower resolution than normal maps, the result may look blurry. Other problems include aliasing at distance due to lack of mipmapping and denoising step potentially smudging the detail. To learn how to use custom shaders with procedural normals in this mode, read S hader
Раздзел сумяшчальнасці.
- Дамінуючы кірунак: гэты рэжым падобны да таго, што выпякаюць Enlighten і Progressive у Unity. Ён сумяшчальны з большасцю шэйдараў, стварае толькі 1 дадатковую карту і выдаткі на час выканання мінімальныя. Недахопам з'яўляецца тое, што адлюстраванне няроўнасцяў выглядае даволі цьмяным і шэрым і можа зусім адрознівацца ад таго ж аб'екта пры асвятленні ў рэжыме рэальнага часу.
– РНМ: заснаваны на тэхніцы Radiosity Normal Mapping, першапачаткова вынайдзенай для HL2 (s lides) і пазней выкарыстоўванай у многіх гульнях (напрыклад, Mirror's Edge). Ён стварае 3 карты HDR у агульнай складанасці, з'яўляючыся найбольш патрабавальным да памяці рэжымам з усіх. Накладныя выдаткі на час выканання па-ранейшаму адносна нізкія. Гэты рэжым больш дакладны, чым дамінантны кірунак. Ён лепш узнаўляе кантраст паверхні і апрацоўвае каляровыя агні, якія ўплываюць на карты нармаляў з розных ракурсаў.
– Ш.: заснавана на артыкуле «Папярэдне разлічанае глабальнае асвятленне пры абмаражэннях». Гэта рэжым самай высокай якасці, які забяспечвае значна лепшы кантраст паверхні і адлюстроўвае асвятленне рознага колеру з розных бакоў. Усяго стварае 4 карты, толькі адна з іх HDR, таму займае менш памяці, чым RNM. Накладныя выдаткі на час працы крыху вышэйшыя, чым у RNM.
● RNM і SH можна выкарыстоўваць толькі з шэйдарамі Bakery або патрабуюць карэкціроўкі вашых шэйдараў.
● У рэжымах RNM і SH стандартныя каляровыя карты святла не ствараюцца. Вам трэба альбо мець шэйдар Bakery на ўсіх матэрыялах сцэны, альбо выкарыстоўваць групы Lightmap для аддзялення аб'ектаў RNM/SH ад астатніх.
● Карты RNM і SH прымяняюцца да аб'ектаў з выкарыстаннем M aterialPropertyBlock і таму могуць быць не цалкам паказаны ў акне асвятлення Unity.
● Рэжымы "Дамінуючы кірунак", "RNM" і "SH" могуць запатрабаваць крыху больш сamples для GI і Light Meshes, каб атрымаць параўнальную якасць.
– Тэкселяў на адзінку: прыблізная колькасць пікселяў карты святла на сусветную адзінку. Уплывае на колькасць і раздзяленне створаных карт святла.
● Калі аб'ект мае прызначаную ўручную карту асвятлення (праз кампанент Выбар групы асвятлення Bakery Lightmap), ён будзе ігнараваць гэты параметр.
Злева: 5 тэкселяў на адзінку, справа: 20 тэкселяў на адзінку.
Exampзначэнні файла для пачатку:
– Вялікая адкрытая пляцоўка: 1 – 5
– Сярэдняя адкрытая пляцоўка: 10-20
– Якасны інтэр’ер: 100
Майце на ўвазе, што тэкселяў на адзінку з'яўляецца базавым раздзяленнем, але кожны аб'ект можна дадаткова наладзіць з дапамогай опцыі «Маштаб у карце асвятлення» на мэш-рэндэрэры, а таксама «Маштаб для тыпу карты».
– Адскокі: колькі разоў светлавыя прамяні павінны адбівацца ад паверхняў. Звычайна меншых значэнняў дастаткова для сцэн на адкрытым паветры (напрыклад, у горадзе), у той час як больш высокія значэнні патрабуюцца для больш закрытых сцэн (інтэр'еры, пячоры).

Звярніце ўвагу, што большая колькасць адскокаў прыносіць больш святла ў закрытыя прасторы.
– Сamples: уплывае на якасць ЖКТ. Тыповыя значэнні ад 16 да 32.
Злева: сamples = 4, справа: sample = 16. Зняцце шуму адключана ў ілюстрацыйных мэтах.
-GPU Priority: пакуль GPU працуе над картамі святла, АС і іншае праграмнае забеспячэнне можа стаць менш спагадным. Гэтая опцыя дазваляе балансаваць паміж хуткасцю выпечкі і хуткасцю рэагавання сістэмы.
– Рэндэрынг: стварае карты асвятлення для ўсіх адкрытых сцэн. – Рэндэрыраваць выбраныя групы: захоўвае толькі групы карт асвятлення, якія змяшчаюць выбраныя аб'екты.
● Будуць перамаляваны не толькі выбраныя аб'екты, але і ўсе групы карт асвятлення, да якіх яны належаць. Іншыя карты святла абнаўляцца не будуць. Калі аб'екты не ўваходзяць у якую-небудзь групу, прызначаную ўручную, то частка сцэны, якая выкарыстоўвае тую ж карту святла, будзе паўторна запякаць.
– Render Light Probes: выпякае светлавыя зонды для ўсіх адкрытых сцэн.
– Render Reflection Probes: запякае зонды адлюстравання для ўсіх адкрытых сцэн.
– Абнавіць зонд Skybox: запякае зонды адлюстравання/святла skybox для бягучага skybox.
– Сцяжок «Зонды аклюзіі»: калі націснута «Render Light Probes», Unity дазваляе запякаць зонды аклюзіі з дапамогай выбранага ўбудаванага картографа святла. Аклюзійныя зонды прадухіляюць асвятленне дынамічных аб'ектаў у зацененых месцах. У цяперашні час у Unity няма магчымасці выкарыстоўваць карыстальніцкія зонды аклюзіі, і для выканання гэтай працы яму трэба выклікаць уласныя прылады адлюстравання святла. – Папярэджанні: гэтыя параметры будуць правяраць сцэну пасля націску адной з кнопак Render і паказваць дыялогавыя вокны з папярэджаннямі з просьбай працягнуць або спыніць працэс выпякання. Ёсць 3 варыянты:
– Ультрафіялетавая праверка: правярае, ці ўсе мадэлі маюць поўнае карэктнае адлюстраванне святла UV
– у прыватнасці, калі яны знаходзяцца ў дыяпазоне 0-1 і не перакрываюцца.
– Праверка перазапісу: пакажа, якая карта святла files будуць перазапісаны.
– Праверка памяці: пакажа вельмі прыблізны аб’ём неабходнай відэапамяці.
– Сample count check: будзе правярацца, ці ёсць неабгрунтаваныя агні, GI або AOample лічыць, што можа прымусіць GPU выйсці з даступных рэсурсаў. – Праверка зборных пабудоў Lightmapped: правярае зборныя пабудовы Lightmapped і паведамляе, калі некаторыя зборныя пабудовы будуць перазапісаны.
Дадатковыя налады
- Адрэгулюйце УФ-запаўненне: калі ўключана, будзе шукаць мадэлі з аўтаматычна створанымі UV («Стварыць UV-малюнкі святла» на аб'екце) і дадаткова адрэгуляваць іх, каб мець належнае запаўненне паміж УФ-астраўкамі на сетку. Маржа пакета для ўсёй мадэлі ў наладах імпарцёра ігнаруецца. Замест гэтага разлічваюцца аптымальныя значэнні з улікам плошчы кожнай сеткі і дазволу карты асвятлення.
- Аслабленне шуму: калі ўключана, будзе прымяняцца алгарытм выдалення шумоў. У Bakery выкарыстоўваецца дэшумавальнік N vidia.
Злева: шумашумленне выключана, справа: шумашумалажэнне ўключана. - Выправіць швы: калі ўключана, будзе спрабаваць змяшаць швы, створаныя УФ-разрывамі. Карысна для плыўнай геаметрыі, у тым ліку стандартнай сферы Unity.
Злева: швы, справа: швы замацоўваюцца. - Разбіць па сцэне: калі некалькі сцэн загружаюцца адначасова і гэтая опцыя ўключана, кожная сцэна будзе мець свой уласны набор светлавых карт, якімі іншыя не будуць карыстацца. Гэта можа быць карысна для абмежавання колькасці тэкстур, загружаных пры трансляцыі сцэн падчас выканання.
- Маштаб для тыпу карты: дазваляе па-рознаму маштабаваць разрозненне колераў/ценявых масак/карт напрамкаў.
Напрыкладample, звычайным выпадкам будзе ўскосны колер з нізкім дазволам, але вельмі дэталізаваная ценявая маска. Звярніце ўвагу, што маштабаванне прымяняецца пасля візуалізацыі карт асвятлення, таму гэта не зэканоміць час запякання. Калі ўключана «Наладзіць УФ-запаўненне», запаўненне будзе заснавана на карце з самым нізкім раздзяленнем, каб прадухіліць уцечку тэкселяў. - Шашка прэview: калі сцяжок «Паказаць праверку» уключаны, сцэна View будзе адлюстроўваць шахматны ўзор на бачных аб'ектах, каб прадэманстраваць памер тэкселяў карты асвятлення. Гэта карысна, каб пераканацца, што вы выкарыстоўваеце адэкватныя значэнні тэкселяў на адзінку і іншыя налады, якія ўплываюць на раздзяленне, перш чым выпякаць.
Уключэнне праграмы праверкі папярэднеview прымусіць хлебазавод выканаць упакоўку атласа. Гэта можа заняць некаторы час, але не больш за некалькі секунд. Націсніце Праверку абнаўлення, каб паўторна атласаваць сцэну пасля таго, як вы нешта змянілі, каб убачыць змены.
Шашка прэview таксама выкарыстоўвае выпадковыя колеры, каб паказаць, як сцэна будзе разбіта на розныя карты асвятлення.
● Checker preview у цяперашні час не паказвае правільныя памеры тэкселяў для ландшафтаў.

- Узмацненне выпраменьвання: памнажае любое павярхоўнае выпраменьванне на гэты лік. – Ускоснае ўзмацненне: памнажае ўсё адбітае асвятленне на гэты лік. Тое самае, што я накіраваў інтэнсіўнасць на кампаненты святла, але глабальны.
- Backface GI: вызначае, колькі святла праходзіць праз пярэднія грані да задніх, а затым адбіваецца ад GI. Гэта асабліва карысна для тонкіх напаўпразрыстых паверхняў, такіх як лісце. Значэнні знаходзяцца ў дыяпазоне 0-1:

Злева: тыльны GI = 0, справа: тыльны GI = 1. - Аклюзія навакольнага асяроддзя: простая нефізічная навакольная аклюзія, якую можна прымяніць паверх канчатковага асвятлення сцэны ў эстэтычных мэтах.
Злева: AO выключана, справа: AO уключана.
- Інтэнсіўнасць: кантралюе бачнасць эфекту AO. Значэнне 0 адключае эфект.
- Радыус: вызначае адлегласць прамяня, якая выкарыстоўваецца ў эфекце AO. Меншыя значэнні даюць лакалізаваную аклюзію (куты, маршчыны), у той час як вялікія значэнні робяць яго больш падобным да Skylight, ствараючы цені ад аддаленых аб'ектаў.
– Сampлес: ўплывае на якасць аклюзіі навакольнага асяроддзя. Тыповыя значэнні ад 4 да 32. - Г. І. ВРАМ аптымізацыя: уключае аптымізацыю памяці, якая выкарыстоўваецца для вельмі вялікіх сцэн, асабліва калі адначасова запякаюць занадта шмат карт асьвятленьня. Калі ўключана, візуалізацыя можа крыху запаволіцца. Калі адключана і сцэна занадта вялікая, Bakery можа страціць памяць.
- Аўто: здагадайцеся, ці патрэбна аптымізацыя на аснове адкрытых сцэн. Здагадка толькі прыблізная, таму, калі вы ведаеце, што сцэна велізарная, усталюйце яе ў фарсіраванае ўключэнне.
– Прымусовае ўключэнне: заўсёды ўключаны.
– Прымусовае выключэнне: заўсёды адключаны. - Памер пліткі: тое самае, што і прыярытэт GPU, але замест абстрактнага прыярытэту вы задаеце памер пліткі. Bakery разбівае светлавыя карты на меншыя пліткі і абнаўляе па чарзе. Меншы памер азначае больш перапынкаў у працы GPU і можа зрабіць сістэму больш хуткай.
- Часовы шлях: часовы fileтэчку s. Bakery можа запатрабаваць некалькі гігабайт вольнай прасторы падчас візуалізацыі. Размяшчэнне гэтай папкі на цвёрдацельным назапашвальніку можа зрабіць рэндэрынг крыху больш хуткім у параўнанні з жорсткім дыскам. На дадзены момант гэтая тэчка не ачышчаецца аўтаматычна. Вы можаце выдаліць яго змесціва ў любы час (акрамя падчас візуалізацыі).
- Шлях выхаду: тэчка Lightmap. Тут будуць захаваны ўсе карты святла, а таксама светлавы зонд і колеры вяршыняў. Гэты шлях адносна вашай папкі Assets.
- Выкарыстоўваць сцэну з назвай шлях вываду: калі гэты параметр уключаны, выхадны шлях будзе аўтаматычна ўсталяваны ў тэчку з такой жа назвай, як і актыўная ў цяперашні час сцэна. Гэта падобна на тое, як паводзяць сябе ўбудаваныя карты святла Unity.
- Спалучайце з GI Enlighten у рэжыме рэальнага часу: калі ён уключаны, то пры націсканні кнопкі Render ён спачатку паспрабуе запякаць з Enlighten для разліку GI ў рэальным часе. Пасля гэтага адбудзецца рэгулярны працэс адлюстравання святла Bakery. І запечаны, і GI ў рэжыме рэальнага часу будуць працаваць разам.
- Гукавы сігнал па заканчэнні: калі ўключана, пякарня будзе прайграваць гук, калі выпечка скончыцца.
Эксперыментальныя ўстаноўкі
- Экспартаваць геаметрыю і карты: калі ўключана, Bakery будзе экспартаваць сцэну ў свой фармат перад візуалізацыяй. Калі вы ўпэўненыя, што геаметрыя і тэкстуры сцэны і налады дазволу карты святла не былі зменены (напрыклад, вы толькі наладжваеце GI або налады асвятлення), вы можаце адключыць гэты сцяжок, каб зрабіць наступны рэндэрынг больш хуткім.
- Абнавіць нязмененыя агні: калі ўключана, Bakery пералічыць крыніцы святла, якія не змяніліся з моманту апошняга візуалізацыі. Калі вы наладжваеце толькі адно святло і не жадаеце чакаць паўторнага візуалізацыі іншых свяцілень, вы можаце адключыць гэты сцяжок.
- Абнавіце змененыя фары і GI: калі ўключана, Bakery пералічыць GI і святло, якія былі зменены з моманту апошняга візуалізацыі.
- УФ-абіўка: increase only: only visible if Adjust UV padding is on. By default, optimal UV padding for a model asset is calculated only based on currently loaded scenes. If there are multiple instances of the same model using different lightmap resolution, the smallest one will define padding, so spacing between UV charts is large enough to prevent them from leaking over each other. However, baking the same model in 2 different isolated scenes will possibly break UVs in previous scenes while optimizing for the new one. This checkbox allows to prevent such behaviour by never decreasing the padding value, so it will be always optimized for the lowest resolution instance ever baked.
- Знішчэнне шуму: выпраўленне яркіх краёў: бачна, толькі калі ўключана Адшумленне. Часам нейронавая сетка, якая выкарыстоўваецца для выдалення шумоў, можа ствараць яркія краю вакол ценяў, як калі б быў ужыты эфект павышэння рэзкасці. Калі гэты параметр уключаны, Bakery паспрабуе адфільтраваць іх. Зняцце шуму сtage можа стаць крыху павольней, калі ўключана.
Злева: яркі край бачны пасля выдалення шуму; Справа: выпраўлена. - Аптымізацыя мясцовасці: Калі ўключана (па змаўчанні), Terrains выкарыстоўвае асобную тэхніку трасіроўкі прамянёў для прасоўванняtage іх геаметрыі поля вышыні. У адваротным выпадку яны разглядаюцца як любыя іншыя сеткі. Аптымізацыя рэльефу значна скарачае час і аб'ём памяці, неабходныя для пейзажаў з высокім разрозненнем.
Маштаб у Lightmap
Параметр Scale In Lightmap, даступны на ўсіх Mesh Renderer, уплывае на разрозненне аб'ектаў у аўтаматычна створаных атласах светлавых карт. Таксама, як і ва ўбудаваных картах святла Unity, усталяванне гэтага значэння ў 0 зробіць аб'ект не мець ніякіх карт святла, але адкіне цені карты святла і паўплывае на GI на запечаныя аб'екты.
Кампаненты
Выбар групы на карце асвятлення хлебабулачных вырабаў
Вызначае, якую групу Lightmap выкарыстоўваць для аб'екта і ўсіх яго даччыных элементаў.
Група карт святла - гэта тэрмін, які Bakery выкарыстоўвае для абазначэння калекцыі аб'ектаў, якія падзяляюць 1 карту святла. Групы маюць уласцівасці, якія паведамляюць Bakery, як спакаваць аб'екты, якое святло павінна на іх уплываць, ці павінен вынік быць запечаны ў тэкстуру або вяршыні.
Па змаўчанні ўсе статычныя аб'екты аўтаматычна пакуюцца ў некалькі груп карт асвятлення, таму вам не трэба турбавацца. Вызначэнне груп уручную павінна выкарыстоўвацца толькі для спецыяльных мэтаў, напрыкладampль:
- Для разметкі пэўных аб'ектаў замест тэкстур выкарыстоўваецца карта святла для кожнай вяршыні.
- Выпяканне карты асвятлення з выкарыстаннем дакладных немасштабаваных UV, як яны былі ў пакеце мадэлявання.
- Групаванне пэўных абласцей узроўню для выкарыстання адной карты святла для палягчэння перадачы рэсурсаў або пераключэння рознага яркага асвятлення падчас выканання з дапамогай сцэнарыяў. –
- Выкарыстанне кнопкі Render Selected для абнаўлення толькі згрупаваных аб'ектаў.
Каб уручную вызначыць групу, вы ствараеце Актывы групы Lightmap, выкарыстоўваючы меню «Актывы->Стварыць» або выкарыстоўваючы кнопку «Стварыць новы» ў кампаненце. Пры выкарыстанні кнопкі "Стварыць новы" новы актыв будзе створаны на аснове гэтых формаў:
- імя: Назва аб'екта групы Lightmap для стварэння.
- Рэжым упакоўкі: гэты селектар вызначае рэжым упакоўкі групы Lightmap. Ёсць 3 рэжыму:
- Арыгінал УФ: аб'ект і яго даччыныя аб'екты будуць запечаны з нязмененымі UV. Ўпакоўка не праводзіцца. Гэта карысна для мадэляў, калі некалькі сетак маюць адзін і той жа ўжо ўпакаваны УФ-макет.
- Пакет Atlas: аб'ект і яго даччыныя аб'екты спакаваныя ў спецыяльны атлас тэкстур. Да версіі 1.3 кожны даччыны элемент, які можна спакаваць, павінен быў мець кампанент, але ў гэтым больш няма неабходнасці. Кожны даччыны элемент будзе ўпакаваны як уласны прамавугольнік, за выключэннем выпадкаў, калі Bakery аўтаматычна вызначае даччыны элемент, які мае неперакрываючыя даччыныя элементы, і ў гэтым выпадку некалькі аб'ектаў могуць выкарыстоўваць адзін прамавугольнік.
- Вершыня: аб'ект і яго даччыныя аб'екты будуць выкарыстоўваць запечанае асвятленне колеру вяршыняў замест тэкстур. Звярніце ўвагу, што для гэтага вам спатрэбіцца карыстальніцкі шэйдар, напрыклад Bakery Shader. Адзін просты шэйдар (“Bakery/Simple Vertex Lightmapped”) таксама ўключаны для дэманстрацыі і даведкі. Глядзіце
нататкі. - Накіраваны рэжым: дазваляе перавызначыць накіраваны рэжым для групы. Параметры тыя ж, за выключэннем Auto, які будзе проста выкарыстоўваць глабальныя налады.
- дазвол: патрэбнае дазвол карты святла.
- Бітавая маска: спіс пераключальнікаў, якія выкарыстоўваюцца для выключэння ўплыву крыніц святла на карту святла. Кожная крыніца святла Bakery таксама мае настройку бітавай маскі. Агні ўплываюць толькі на групы карт асвятлення, з якімі яны маюць агульны хаця б адзін з гэтых пераключальнікаў. Налады па змаўчанні азначаюць, што ўсе агні ўплываюць на ўсе карты асвятлення.
Калі ў вас ёсць група Lightmap з прызначаным рэжымам P ack Atlas, у кампаненце з'явяцца дадатковыя налады:
- Перавызначэнне дазволу: перавызначыць разрозненне гэтага аб'екта і яго даччыных элементаў у карце святла.
- дазвол: вызначанае ўручную дазвол. Напрыкладample, калі ў вас ёсць карта асвятлення з раздзяленнем 512 і яна прызначана 4 аб'ектам з раздзяленнем перавызначэння, усталяваным на 256, Bakery згенеруе адну карту асвятлення 512×512, дзе кожны аб'ект займае роўна 256×256 квадратаў.
Пекарня Lightmapped Prefab
Уведзены ў версіі 1.45, гэты кампанент дазваляе зборным файлам захоўваць метаданыя адлюстравання святла. Такія прэфабы могуць быць створаны ў любой сцэне, як у рэдактары, так і падчас выканання.
Кампанент павінен быць дададзены непасрэдна ў каранёвы аб'ект прэфаба. Паколькі прэфаб будзе перазапісаны пасля запякання (гэтак жа, як і пры націсканні кнопкі «Ужыць»), патрабуецца, каб у прэфабе не было ніякіх неўжытых змен (даччыныя аб'екты не павінны быць перамешчаны, матэрыялы і параметры сцэнарыя павінна быць нязменным і г.д.). Калі такія змены будуць выяўлены, у інтэрфейсе кампанента будзе паказана паведамленне пра памылку, і метаданыя не будуць захаваны пасля запякання. Калі ўключана папярэджанне «Lightmapped зборная праверка», усе памылкі зборных таксама будуць паказаны ў акне перад запякання.
Зборныя блокі Lightmapped падтрымліваюць усе функцыі Bakery, такія як LOD, ландшафты, карты накіраванага асвятлення, RNM, SH, рэжымы для кожнай вяршыні і ценявыя маскі. Каб ценявыя маскі працавалі, вам трэба, каб свяцільні былі часткай таго ж зборнага блока.
- Звярніце ўвагу, што зборныя ценявыя маскі працуюць толькі на Unity 2017.4 або больш позняй версіі з-за абмежаванняў API.
Пасля выпякання аб'ект з назвай «BakeryPrefabLightmapData» будзе дададзены ў зборны блок. Гэты аб'ект змяшчае скрыпт з усімі неабходнымі дадзенымі для прымянення карт святла.
элементы кіравання: - Захаваць бягучыя налады візуалізацыі ў Prefab: захоўвае копію бягучых налад візуалізацыі на гэтым зборным фабрыцы. Гэта не абавязкова, але можа быць карысным для хуткага капіравання налад паміж сцэнамі.
- Загрузіць налады рэндэрынгу са зборных: усталёўвае бягучыя налады візуалізацыі на тыя, якія захоўваюцца на зборным фабрыцы..
Bakery Direct Light
Бясконца далёкае накіраванае святло (напрыклад, Сонца). Налады:
- колер: колер.
- Інтэнсіўнасць: лінейны множнік колеру.
- Распаўсюджванне цені: памер крыніцы святла або, прасцей кажучы, размытасць цені. 0 = максімум рэзкіх ценяў, 1 = максімум размытых ценяў. Тэхнічна гэта інтэрпаляцыя ад аднаго прамяня да больш шырокага конусу прамянёў.
Злева: распаўсюджванне цені = 0.01, справа: 0.05. Звярніце ўвагу, як цені пачынаюцца рэзкімі і паступова становяцца размытымі з адлегласцю. - Цень сampлес: ўплываюць на якасць ценяў. Чым меншае значэнне Shadow Spread, тым менш sampфайлы неабходныя для чыстага малюнка. Тыповыя значэнні сонечных ценяў - ад 1 да 16. Настройка sampпры пазначэнні 0 цені ад гэтага святла знікнуць.
- Бітавая маска: спіс пераключальнікаў, якія выкарыстоўваюцца для выключэння ўздзеяння гэтай крыніцы святла на пэўныя групы карт святла.
- Выпякаць да ўскоснага: калі ўключана, поўнае асвятленне (як прамое, так і ўскоснае) ад гэтага святла будзе запякаць у рэжыме ўскоснага або Shadowmask візуалізацыі. Несумяшчальны сцяжок Shadowmask.
- Ценявая маска: выпякае асобную ценявую маску для гэтага святла, так што дынамічныя і статычныя цені можна змешваць. Працуе, толькі калі для рэжыму візуалізацыі таксама ўстаноўлена Shadowmask. Несумяшчальна са сцяжком Bake To Indirect.
- Ценявая маска зняцця шуму: вызначае, ці трэба прымяненне шумавіння да ценявой маскі гэтага святла. Звычайна гэта неабавязкова, бо цені не ствараюць шмат шуму, але можа быць карысным для вельмі шырокіх размытых ценяў (вялікае распаўсюджванне ценяў).
- Ускосная інтэнсіўнасць: нефізічны множнік ГІ для гэтага святла. Павінен быць 1 для натуральнага асвятлення, але можа быць зменены для больш стылізаваных сцэн.
- Калі ў аднаго і таго ж аб'екта ўключаны крыніцы святла Unity і Bakery, і яны не супадаюць, з'явяцца 2 кнопкі:
– Суадносіце адлюстраванне святла з рэжымам рэальнага часу: скапіяваць агульныя налады з Unity light у Bakery light.
- Суадносіце рэжым рэальнага часу з адлюстраваннем святла: скапіяваць агульныя налады з Bakery light у Unity light.
Пякарня Sky Light
Бясконца далёкае зацененае навакольнае святло (неба). Налады:
- колер: колер.
- Інтэнсіўнасць: лінейны множнік колеру.
- Тэкстура неба: дадатковы элемент кубічнай карты, напрыклад, панарама HDRI, каб уплываць на колеры асвятлення з розных бакоў.
● GameObject Rotating skylight будзе паварочваць асвятленне з кубічнай карты адпаведна. - Sampлес: уплывае на якасць ценяў. Тыповыя значэнні ад 8 да 32.
- Паўсферычная: калі ўключана, асвятленне будзе ісці толькі зверху (верхняя паўсфера). Інакш з усіх бакоў
Злева: неполусферический, справа: полусферический. - Бітавая маска: спіс пераключальнікаў, якія выкарыстоўваюцца для выключэння ўздзеяння гэтай крыніцы святла на пэўныя групы карт святла.
- Выпякаць да ўскоснага: калі ўключана, поўнае асвятленне (як прамое, так і ўскоснае) ад гэтага святла будзе запякаць у рэжыме ўскоснага або Shadowmask візуалізацыі. Гэта паводзіны па змаўчанні для ўсіх Sky Lights, паколькі ў Unity няма версіі для іх эмуляцыі ў рэжыме рэальнага часу.
- Калі налады нябеснага святла і бягучага скайбокса сцэны не супадаюць, з'явяцца 2 кнопкі:
– Сумясціце гэтае святло са сцэнай skybox: скапіруйце агульныя налады з актыўнага матэрыялу skybox у skylight Bakery. У цяперашні час ён можа супастаўляць скайбоксы толькі з дапамогай шэйдараў «Skybox/Cubemap» або «Skybox/Bakery skybox».
– Супастаўце скайбокс сцэны з гэтым святлом: скапіруйце агульныя налады з нябеснага святла Bakery у скайбокс сцэны.
Хлебабулачная светлая сетка
Эмісійная сетка любой формы. Варта выкарыстоўваць разам з кампанентам Mesh Renderer або з кампанентам Light, усталяваным у рэжым Area. Налады.
- колер: колер
- Інтэнсіўнасць: лінейны множнік колеру.
- Адсечка: максімальная адлегласць асвятлення. Bakery выкарыстоўвае формулу падзення S kyforge, каб збалансаваць правільны адваротны квадрат падзення і практычныя межы. Лепш за ўсё, калі гранічнае значэнне - гэта месца, дзе фізічнае падзенне становіцца вельмі цьмяным.
- Sampпобач: паўплываць на якасць асвятлення каля сеткі. Тыповыя значэнні ад 16 да 64.
● «Сamples Near” даступны, толькі калі ўключаны Self Shadow. - SampЛес Далёкі: уплывае на якасць асвятлення далёка ад сеткі. Тыповыя значэнні ад 4 да 4096.
● Bakery змешвае 2 розныя алгарытмы для зональнага асвятлення на аснове блізкасці тэкселяў да святла. Блізка да святла ён працуе падобна на алгарытм GI, у той час як далёка святло апраксімуецца як воблака віртуальных кропкавых агнёў.
● Калі вы працягваеце атрымліваць брудныя/шумныя вынікі, паспрабуйце ўсталяваць Samples Блізка да 0. Тады выкарыстоўваецца толькі алгарытм VPL. Гэта таксама карысна для вельмі простых свяцілень, дзе дакладнасць не важная (напрыклад, аконныя свяцільні на будынку).
● Светлавыя сеткі не атрымліваюць асвятлення самі па сабе і не адлюстроўваюцца.
● Адна светлавая сетка з мноствам шматкутнікаў выпякаецца хутчэй, чым мноства простых светлавых сетак.
Злева: Сamples Near = 0, Samples Far = 4096.
Сярэдні: Сamples Near = 0, Samples Far = 128.
Справа: Сamples Near = 16, Samples Far = 128.
Звярніце ўвагу на тое, што асвятленне падобнае, але менш камбінаванаеampвыкарыстоўваюцца лес. - Цень сябе: вызначае, ці адкідвае светлавая сетка цені.
Злева: светлая сетка не адкідвае цень, справа: светлая сетка адкідвае цень ззаду. - Бітавая маска: спіс пераключальнікаў, якія выкарыстоўваюцца для выключэння ўздзеяння гэтай крыніцы святла на пэўныя групы карт святла.
- Выпякаць да ўскоснага: калі ўключана, поўнае асвятленне (як прамое, так і ўскоснае) ад гэтага святла будзе запякаць у рэжыме ўскоснага або Shadowmask візуалізацыі. Гэта паводзіны па змаўчанні для ўсіх Light Meshes, паколькі ў Unity няма версіі для іх эмуляцыі ў рэальным часе.
- Ускосная інтэнсіўнасць: нефізічны множнік ГІ для гэтага святла. Павінен быць 1 для натуральнага асвятлення, але можа быць зменены для больш стылізаваных сцэн.
- Калі матэрыял сеткі і налады асвятлення не супадаюць, з'явяцца 2 кнопкі:
– Падбярыце святло да матэрыялу: скапіяваць агульныя налады з неасветленага сеткаватага матэрыялу або зональнага асвятлення ў асвятленне Bakery.
– Падбярыце матэрыял да святла: скапіруйце агульныя налады з асвятлення для хлебабулачных вырабаў на неасветлены сеткаваты матэрыял або асвятленне ў вобласці.
Bakery Point Light
Кропкавы святло, не мае плошчы. Нягледзячы на фізічную немагчымасць, гэта карысна для гульняў і адзіны спосаб спалучаць кропкавыя і пражэктары Unity. Налады:
- колер: колер.
- Інтэнсіўнасць: лінейны множнік колеру.
- Распаўсюджванне цені: размытасць цені. Нягледзячы на тое, што кропкавыя свяцільні не маюць плошчы, часта хочацца мець ад іх размытыя цені. Для гэтага цені імітуюцца так, быццам яны адліваюцца ад сферычнага ўчастка святла. Гэты параметр вызначае радыус такой віртуальнай сферы, непасрэдна ўплываючы на размытасць.
Злева: распаўсюджванне ценю = 0.5, справа: распаўсюджванне ценю = 1. - Фізічнае падзенне: калі ўключана, будзе выкарыстоўвацца формула падзення Skyforge для балансавання паміж правільным адваротным квадратам падзення і практычнымі абмежаваннямі. У адваротным выпадку будзе спрабаваць імітаваць падзенне Unity. Даведайцеся больш у раздзеле B akery Shader Tweaks ніжэй.
- дыяпазон: калі фізічнае падзенне адключана, роўна далёкасці святла Unity. Калі гэта ўключана, толькі крыху знікне фізічнае падзенне на краі.
- Sampлес: ўплывае на якасць ценяў. Тыповыя значэнні ад 1 да 512. Настройка sampпры пазначэнні 0 цені ад гэтага святла знікнуць.
- Праекцыйная маска: тып маскі/печыва. Параметры: – Omni: без маскі, роўна кропкавым святлу Unity.
- Печыва: праекцыя тэкстуры печыва. Дадатковыя опцыі:
– Тэкстура печыва: 2D тэкстурны актыв. Bakery ўключае ў сябе арыгінальную тэкстуру Unity Spot Light (пад назвай ftUnitySpotTexture), якую вы можаце выкарыстоўваць для яе імітацыі.
- Кут: кут праекцыі тэкстуры (па аналогіі з Spot Light ад Unity).
- Кубічная карта: праекцыя cookie cubemap. Дадатковыя опцыі:
– Праектаваная кубічная карта: аб'ект cubemap.
– IES: асвятленне мадулюецца IES file дадзеныя. Дадатковыя опцыі:
– ІЭС file: file з пашырэннем .ies.

Злева направа: Omni, Cookie (кропкавая тэкстура па змаўчанні), Cubemap, IES. - Бітавая маска: спіс пераключальнікаў, якія выкарыстоўваюцца для выключэння ўздзеяння гэтай крыніцы святла на пэўныя групы карт святла.
- Выпякаць да ўскоснага: калі ўключана, поўнае асвятленне (як прамое, так і ўскоснае) ад гэтага святла будзе запякаць у рэжыме ўскоснага або Shadowmask візуалізацыі. Несумяшчальны сцяжок Shadowmask.
- Ценявая маска: выпякае асобную ценявую маску для гэтага святла, так што дынамічныя і статычныя цені можна змешваць. Працуе, толькі калі для рэжыму візуалізацыі таксама ўстаноўлена Shadowmask. Несумяшчальна са сцяжком Bake To Indirect.
- Ускосная інтэнсіўнасць: нефізічны множнік ГІ для гэтага святла. Павінен быць 1 для натуральнага асвятлення, але можа быць зменены для больш стылізаваных сцэн.
- Калі ў аднаго і таго ж аб'екта ўключаны крыніцы святла Unity і Bakery, і яны не супадаюць, з'явяцца 2 кнопкі:
– Суадносіце адлюстраванне святла з рэжымам рэальнага часу: скапіруйце агульныя налады са святла Unity на святло Bakery.
– Суадносіце рэжым рэальнага часу з адлюстраваннем святла: скапіруйце агульныя налады з асвятлення Bakery на асвятленне Unity.
Налады шэйдараў Bakery
Bakery прапануе дадатковыя мадыфікацыі шэйдараў, якія можна прымяніць да шэйдараў Unity для паляпшэння графікі. Доступ да меню налад шэдэраў можна атрымаць праз Bakery->Shader Tweaks.
Гэтыя параметры будуць выпраўляць асноўныя шэйдары Unity (з папкі CGIncludes), якія выкарыстоўваюцца большасцю ўбудаваных і старонніх шэйдараў. Усе мадыфікацыі закрануць усе праекты, адкрытыя з дапамогай гэтай версіі рэдактара, але іх таксама можна лёгка вярнуць.
● Налады шэйдэраў зараз не працуюць для HDRP і LWRP.
Усе даступныя мадыфікацыі прадстаўлены ў выглядзе кнопак. Націсніце кнопку, каб прымяніць змены, і яна застанецца націснутай. Адніміце кнопку, каб выдаліць мадыфікацыю. У цяперашні час даступныя варыянты:
- Выкарыстоўвайце бікубічную інтэрпаляцыю для карт асвятлення: выкарыстоўвайце бікубічную інтэрпаляцыю замест білінейнай па змаўчанні. Гэтая налада даволі добра выпраўляе шмат няроўных краёў карт асвятлення з нізкім разрозненнем. У цяперашні час ён працуе толькі на DX11 і сучасных кансолях, у той час як іншыя платформы будуць выкарыстоўваць білінейную інтэрпаляцыю.

- Злева: білінейная фільтрацыя па змаўчанні. Справа: бікубічная фільтрацыя.
- Выкарыстоўвайце множанне для ценявой маскі: камбінуйце статычныя і дынамічныя цені, выкарыстоўваючы множанне замест мінімуму. Па невядомых прычынах Unity вырашыў выкарыстоўваць мінімальны аператар па змаўчанні, і ён стварае артэфакты, якіх няма пры множанні:
Злева: абодва цені запечаныя.
Цэнтр: сферычная цень дынамічная, іншая цень статычная. У спалучэнні з гэтай наладай шэйдара.
Справа: тое самае, што ў цэнтры, але без налад. - Выкарыстоўваць фізічнае падзенне святла (наперад): замяніць паслабленне кропкавага/пражэктарнага святла ў рэжыме рэальнага часу на фізічна правільнае адваротнае квадрата. "Дыяпазон" толькі крыху прыглушыць яго каля краю (супадае з лямпачкамі Bakery і сцяжком Physical Falloff). Уплывае толькі на праграму візуалізацыі наперад.
- Выкарыстоўваць фізічнае асвятленне (адкладзенае): тое самае, што і вышэй, але ўплывае толькі на адкладзены рэндэрынг.
Злева: падзенне адзінства. Справа: фізічнае падзенне.
Звярніце ўвагу на непазбежны нерэалістычны рэзкі канец падзення Unity.
Майце на ўвазе, што фізічнае падзенне дзейнічае інакш. Замест маштабавання дыяпазону з сапраўды такім жа градыентам ад цэнтра да краёў, фізічнае падзенне ў асноўным залежыць ад яркасці святла. «Дыяпазон» у дадзеным выпадку - гэта простая аптымізацыя, якая злёгку блякне каля краёў. Настойліва рэкамендуецца ўключыць tonemapper пры наладжванні свяцілень з фізічным спадам.
Верхні шэраг: падзенне Unity. Ніжні шэраг: фізічнае падзенне.
Звярніце ўвагу, як Unity маштабуе асвятленне з дапамогай параметра дыяпазону, у той час як фізічнае падзенне толькі дадаткова маскіруецца дыяпазонам.

Злева: няма танальнага адлюстравання, справа: нейтральнае танальнае адлюстраванне ўключана.
Звярніце ўвагу на тое, як асвятленне захоўвае мяккі градыент, калі ўключана адлюстраванне тонаў, але фізічна яркае.
Лепшыя практыкі
Каб павялічыць якасць і мінімізаваць спажыванне памяці:
- Разгарніце свой пакет мадэлявання, не выкарыстоўвайце «Стварыць UV» у Unity. Паколькі і Unity, і Bakery пакуюць разгорнутыя аб'екты ў атласы проста ў выглядзе прамавугольнікаў (на дадзены момант яны не могуць змяняць UV), і кожны асобна разгорнуты аб'ект можа траціць УФ-прастору, гэтая прастора назапашваецца, і вы плаціце больш памяці за меншую раздзяляльнасць. У 3dsmax нават аўтаматычнае адлюстраванне Flatten Mapping дастаткова добрае.
– Усталюйце інтэрвал паміж УФ-дыяграмамі на 3 / lightmapResolution. Напрыклад, калі вы ведаеце, што пэўныя аб'екты, якія вы разгарнулі, будуць візуалізаваны ў адну карту святла 512×512, усталюйце інтэрвал 3/512 = 0.005859375.
– Паспрабуйце разгарнуць усю геаметрыю, якая не паўтараецца, у найменшую колькасць вельмі шчыльных УФ-макетаў. У Unity стварыце і прызначце актывы Lightmap Group для кожнага макета з адпаведным разрозненнем і простым рэжымам.
– Аднак не разгортвайце цяжкую паўтаральную геаметрыю ў адзін і той жа атлас, інакш вы страціце асобнік - Выкарыстоўвайце фізічны падзенне. падзенне Unity добрае толькі для гульняў без HDR без танальнай карты з адвольнай фальшывай інтэнсіўнасцю асвятлення.
- Не працуйце без танальнай карты. Рэальная інтэнсіўнасць асвятлення ЯРКАЯ. Працаваць са сцэнай без танальнага адлюстравання - гэта тое ж самае, што глядзець на неадрэдагаваны RAW file з камеры, а не з дапамогай вачэй. Убудаванае Neutral tonemapping - добры пачатак. Правільная яркасць асвятлення гарантуе, што глабальнае асвятленне будзе дастаткова яркім, не падрабляючы яго інтэнсіўнасць.
Адрозненні паміж Light Mesh і эмісійнымі матэрыяламі
Эмісійны матэрыял:
- Распаўсюджвае святло падчас вылічэння ГІ, таму з'яўляецца «бясплатным», незалежна ад таго, колькі сетак выпраменьвае.
- Маленькія і яркія агні могуць даць недакладныя шумныя вынікі ў залежнасці ад страўнікава-кішачнага гасцінцаample count.
- Павінен займаць месца на карце святла з-за таго, як працуе GI у Bakery, таму, магчыма, яго марнаваць. Таксама гэта азначае, што выпраменьвальныя аб'екты патрабуюць сапраўдных ультрафіялетаў і ў іх уключаны «Cast shadows».
Светлая сетка:
- Асвятленне разлічваецца асобна для кожнага святла, таму павольней, чым выпраменьвальныя матэрыялы.
- Распрацавана, каб даць чыстыя вынікі для маленькіх і яркіх агнёў, нават вельмі далёкіх ад іх.
- Не займае месца ў картах асвятлення.
Заўвагі Vertex Lightmap
Аб'екты могуць быць запяканы на ўзроўні кожнай вяршыні замест таго, каб мець тэкстуры, калі яны або іх бацькоўскія кампаненты маюць кампанент Selector Group Map з актывам Lightmap Group, усталяваным у рэжым Vertex. Карты святла Vertex сумяшчальныя з маскамі ценяў, а таксама з рэжымамі дамінантнага напрамку і SH.
● Рэкамендуецца адключыць сціск вяршыняў для TEXCOORD2 і TEXCOORD3 у наладах плэера, калі вы выкарыстоўваеце карты асвятлення вяршыняў, накіраваных.
Ёсць плюсы і мінусы выкарыстання карт асвятлення вяршыняў.
Плюсы:
- УФ не патрабуецца. Падыходзіць для складанай геаметрыі, якую немагчыма добра разгарнуць.
- Няма марнавання месца - запаўненне і пустыя прасторы ў карце святла не з'яўляюцца праблемай.
Мінусы: - Відавочна, што інтэрпаляцыя вяршыняў менш тонкая, чым інтэрпаляцыя тэкселяў.
- Звычайныя метады сціску тэкстуры не прымяняюцца.
- Неабходны мадыфікаваны шэйдар (Bakery уключае такія шэйдары).
- Шумозаглушение не ўжываецца.
Дадзеныя захоўваюцца ў наступных атрыбутах вяршыняў: - Mesh.colors захоўвае каляровую карту асвятлення (або першы каэфіцыент карты асвятлення SH).
- Mesh.uv2 можа захоўваць упакаваны дамінантны кірунак, ценявую маску і частку даных SH.
- Mesh.uv3 можа захоўваць дадатковыя дадзеныя SH.
Сумяшчальнасць з шэйдарамі
Каб глабальнае асвятленне працавала, Bakery неабходна здабываць матэрыяльную інфармацыю.
Да версіі 1.1 ён проста правяраў агульныя назвы параметраў шэйдараў, такія як _MainTex, _Color, _EmissionMap і _EmissionColor, і выкарыстоўваў іх.
Паколькі версія 1.1 Bakery падтрымлівае GI з карыстальніцкіх шэйдараў, выкарыстоўваючы іх існуючае вызначэнне Meta Pass, таму яна павінна працаваць сапраўды гэтак жа, як і з убудаванымі праграмамі адлюстравання святла. Стандартныя, HDRP і LWRP шэйдары ўжо ўтрымліваюць адпаведны метапароль, а таксама любы карыстацкі шэйдар паверхні. Для цалкам нестандартных (не павярхоўных) шэйдараў вам трэба альбо самастойна напісаць Meta Pass (звярніцеся да кіраўніцтва Unity), альбо абапірацца на састарэлыя паводзіны Bakery (выкарыстоўваючы імёны параметраў шэйдараў). У цяперашні час Bakery прымае толькі альбеда і выкіды з Meta Pass. Карты непразрыстасці па-ранейшаму бяруцца па назве (альфа-канал _MainTex або _BaseColorMap), каб захаваць іх разрозненне.
Рэжым Baked Normal Maps
У накіраваным рэжыме Baked Normal Maps нармалі бяруцца з матэрыялаў па імені і павінны называцца _BumpMap. Мозаіка і зрушэнне вынятыя з _MainTex_ST. Аднак можна зрабіць цалкам нестандартныя шэйдары з пашыранымі функцыямі звычайнага адлюстравання (напрыклад, змешванне некалькіх слаёў). Паколькі стандартны Unity Meta Pass не экспартуе звычайную інфармацыю, спецыяльны пашыраны Bakery Meta Pass павінен быць дададзены ў ваш шэйдар. Пякарня ўключае 2 экзampшэйдары, якія рэалізуюць гэты метапас. Вы можаце знайсці іх у
Актывы/пякарня/былampфайлы/шэйдары. Вось спіс адрозненняў у параўнанні са стандартным Meta Pass:
- Абанемент павінен мець назву «META_BAKERY».
- Неабходна ўключыць Bakery/BakeryMetaPass.cginc.
- Калі зменная unity_MetaFragmentControl.z не роўная 0, шэйдар павінен вяртаць нармальны паказчык сусветнай прасторы.
- Вернуты звычайны павінен быць закадзіраваны з дапамогай BakeryEncodeNormal.
Хлебабулачны Шэйдэр
Пачынаючы з версіі 1.4 Bakery ўключае ў сябе ўласныя шэйдары з падтрымкай адлюстравання святла вяршыняў, а таксама рэжымы накіраванасці RNM і SH. Гэта таксама дазваляе разлічыць прыблізную запечаную люстранасць на аснове дадзеных аб накіраванасці.
Шэйдэр Bakery не патрабуецца для звычайных каляровых карт асвятлення, масак ценяў і дамінантнага напрамку
рэжым, паколькі гэтыя функцыі ў любым выпадку падтрымліваюцца большасцю шэйдараў Unity.
На дадзены момант ёсць 4 дадатковых шэйдара:
- Bakery/Standard: пашырае стандартны шэйдэр. Даступныя дадатковыя опцыі:
-Allow Vertex Lightmaps: дазваляе выкарыстоўваць гэты матэрыял з вяршынямі Lightmapping.
– Дазволіць карты святла RNM: дазваляе выкарыстоўваць гэты матэрыял у рэжыме накіраванасці RNM.
– Дазволіць SH Lightmaps: дазваляе выкарыстоўваць гэты матэрыял у рэжыме накіраванасці SH.
● Усе перамыкачы «Дазволіць» уключаюць пэўны шлях кода ў шэйдары. Рэкамендуецца выкарыстоўваць толькі адну опцыю «дазволіць» у матэрыяле з меркаванняў прадукцыйнасці.
– Уключыць Lightmap Specular: разлічвае запечаныя люстры, выкарыстоўваючы даныя з рэжымаў накіраванасці Dominant Direction, RNM або SH. Звярніце ўвагу, што з-за недахопу інфармацыі, эфект вельмі прыблізны. Калі вы калі-небудзь выкарыстоўвалі запечаны specular у Unity 4, гэта павінна быць параўнальна. Гэта лепш за ўсё выглядае ў спалучэнні з картамі нармаляў з высокім узрушэннем, не так добра на плоскіх паверхнях.
– Уключыць напрамак VertexLM: калі мапы асвятлення вяршыняў прысутнічаюць, паказвае, што даныя дамінантнага напрамку захоўваюцца ў вяршынях і павінны выкарыстоўвацца.
– Уключыць VertexLM SH: калі карты асвятлення вяршыняў прысутнічаюць, паказвае, што дадзеныя SH захоўваюцца ў вяршынях і павінны выкарыстоўвацца.
– Enable VertexLM Shadowmask: калі карты асвятлення вяршыняў прысутнічаюць, паказвае, што ценявая маска захоўваецца ў вяршынях і павінна выкарыстоўвацца.
– Нелінейны SH: у накіраваным рэжыме SH гэтая опцыя можа палепшыць кантраст (бліжэй да сапраўднага), але робіць шэйдар крыху больш павольным.
– Прымусовы бікубічны фільтр: уключае бікубічны фільтр для ўсіх дадатковых карт. Для поўнай бікубічнай фільтрацыі (уключаючы першую каляровую карту) рэкамендуецца таксама ўключыць яе ў Shader Tweaks. - Пякарня/Стандарт Specular: тое ж, што і стандарт, але для люстранога працоўнага працэсу.
- HDRenderPipeline/Bakery Lit: пашырае шэйдар HDRP Lit. У цяперашні час у яго ёсць толькі адна дадатковая опцыя, а менавіта Дазволіць SH Lightmaps. Гэты шэйдар па змаўчанні сціснуты ў архіў, каб прадухіліць памылкі ў не
- Праекты HDRP і іх можна знайсці ў ssets/Bakery/shader/BakeryHDRPShader.zip або на github.
- LightweightPipeline/Bakery Standard (Physical Based): пашырае стандартны шэйдар LWRP PBR. У цяперашні час у яго ёсць толькі два варыянты: Дазволіць RNM Lightmaps і Allow SH Lightmaps. Гэты шэйдар можна знайсці ў Assets/Bakery/shader/BakeryLWRPShader.zip.
Большасць шэйдараў Unity Шэйдары HDRP і LWRP Хлебабулачны стандарт Пякарня HDRP Bakey LWRP
Каляровыя карты асвятлення HDR так так так так так Ценявая маска так так так так так Дамінуючы кірунак так так так так так РНМ няма няма так няма так SH няма няма так так так Lightmap люстраны няма няма так няма няма Бикубическая фільтрацыя Так, з дапамогай Shader Tweaks няма Так, з дапамогай Shader Tweaks няма няма Карты святла вяршыняў няма няма так няма НЯМА
● Для працы ўсяго, акрамя звычайных каляровых карт асвятлення, патрабуецца прынамсі Shader Model 3.0.
● Карты святла Vertex з рэжымам SH патрабуюць як мінімум Shader Model 4.0 з-за абмежавання інтэрпалятара.
FAQ
Пытанне: Ці ёсць у яго GI ў рэальным часе?
A: Не.
Пытанне: як наконт змешанага асвятлення?
A: Так! Bakery падтрымлівае выпяканне непрамых асобна для выкарыстання са святлом у рэальным часе, а таксама выпяканне статычных ценяў (shadowmask) і іх спалучэнне з дынамічнымі.
Пытанне: Я не магу прымусіць ценявую маску працаваць
A: Праверце наступныя рэчы:
– Рэжым візуалізацыі Bakery усталяваны на Shadowmask
– На свяцільнях у масках ёсць кампаненты святла Unity і Bakery.
– Кампаненты асвятлення Masked Bakery маюць уключаны сцяжок «Shadowmask».
Пытанне: Я адлюстраваў ценявыя маскі, але ўсе цені дынамічныя
A: Вы знаходзіцеся ў рэжыме Distance Shadowmask, гэта чакаецца
– Чытайце пра розніцу:
https://docs.unity3d.com/Manual/LightMode-Mixed-Shadowmask.html https://docs.unity3d.com/Manual/LightMode-Mixed-DistanceShadowmask.html
– Для пераключэння паміж двума рэжымамі вы можаце выкарыстоўваць сцяжок «Distance Shadowmask» у галоўным акне Bakery.
– Калі вы карыстаецеся 5.6, перайдзіце да Акно->Асвятленне->Змешанае асвятленне->Рэжым асвятлення, каб пераключыць рэжым.
Q: Якія платформы падтрымліваюцца?
A: Вы можаце пастаўляць гульні са светлавымі картамі Bakery на любой платформе. Але для выкарыстання Bakery вам спатрэбіцца 64-бітная машына з Windows (7+) з картай Nvidia (6xx або навей).
Пытанне: гэта прагрэсіўна? Ці паказвае ён абнаўленні карты святла ў рэжыме рэальнага часу?
A: Не. Проста індыкатар прагрэсу.
Пытанне: Як мне зрабіць зборны дом з картай святла?
A: Bakery v1.45:
– Глядзіце кампанент Lightmapped Prefab
Bakery v1.4 або старэй:
- Стварыце сцэну для свайго зборнага дома
- Стварыце пусты GameObject з імем !ftraceLightmaps
- Спячы сцэну
- Цяпер вы павінны ўбачыць кампанент, дададзены да пустога аб'екта. Пакладзеце яго ўнутр зборнай і захавайце.
Такая зборка заўсёды будзе асвятляцца. Звярніце ўвагу, што запяканне камбінаванай сцэны з некалькімі зборнымі сцэнамі, такімі як гэтыя, не падтрымліваецца.
Пытанне: Як мне выкарыстоўваць git/collab/іншую сістэму кантролю версій з Bakery?
A: Bakery v1.45 і Unity 2017.1 або навей:
Усё павінна проста працаваць. Пераканайцеся, што ўсе машыны маюць аднолькавую версію Unity і Bakery.
Вы павінны толькі здзейсніць свой праект files і ігнараваць папкі Bakery (Assets/Bakery a nd Assets/Editor/x64/Bakery). Калі па нейкай прычыне вы вырашыце замацаваць папкі Bakery, пераканайцеся, што вы ігнаруеце A ssets/Bakery/ftLocalStorage.asset і A ssets/Bakery/ftGlobalStorage.asset, каб пазбегнуць рассінхранізацыі светлавых карт.
Bakery v1.4 або старэй / версіі Unity старэйшыя за 2017.1:
Калі вы выкарыстоўваеце опцыю «Наладзіць UV-запаўненне» (якая ўключана па змаўчанні), могуць узнікнуць некаторыя цяжкасці з сінхранізацыяй версій на розных машынах, паколькі гэтая опцыя пасля апрацоўвае UV на існуючых мадэлях. У гэтых версіях, акрамя вашай сцэны, вам трэба націснуць ftGlobalStorage.asset, дзе захоўваюцца інструкцыі па апрацоўцы мадэлі. Калі UVs па-ранейшаму выглядаюць зламанымі на іншай машыне, паспрабуйце замяніць ftGlobalStorage ўручную (не праз кантроль версій) і паўторна імпартаваць мадэль, пстрыкнуўшы правай кнопкай мышы.
Пытанне: Як падзяліцца сцэнай з тым, у каго не ўсталявана Bakery?
A: Акрамя сцэны і яе светлавых карт, вы таксама павінны ўключыць некалькі скрыптоў, а менавіта: – ftLightmaps.cs
– ftLightmapsStorage.cs
– ftLocalStorage.cs
– ftGlobalStorage.cs
– ftModelPostProcessor.cs
Пытанне: Як мне выпякаць, выкарыстоўваючы ўласныя УФ без якіх-небудзь змяненняў у іх?
A: Праверце Lightmap Groups.
Пытанне: Кожны раз, калі я выпякаю адну і тую ж мадэль у сцэне А, яе UV-кадры становяцца несапраўднымі для сцэны В і наадварот, як мне гэта выправіць?
A: Прычына тут у U V рэгуляванні абіўкі. Ён мадыфікуе UV у актыве, так што інтэрвал паміж UV дыяграмамі з'яўляецца аптымальным, гэта значыць, што яны ніколі не перацякаюць адна на адну і не губляюць шмат месца. Unity мае ручную опцыю Pack Margin для актываў мадэлі, але яна абмежаваная, паколькі яна прымяняе аднолькавае дакладнае значэнне для ўсіх сетак у мадэлі, у той час як кожная сетка можа мець значна іншы памер у канчатковай карце святла ў залежнасці ад яе плошчы паверхні.
Такім чынам, Bakery замяняе гэта аўтаматычна разлічаным пракладкай p er-mesh (замест кожнай мадэлі). Аднак, паколькі «аптымальнае» адрозніваецца ў залежнасці ад раздзялення запякання, паўторнае выкарыстанне аднаго і таго ж актыву ў асобных сцэнах з розным памерам карты святла можа быць праблематычным. Ёсць некалькі спосабаў яе вырашэння:
а) Стварыце ўласны аптымальны UV. Рэгуляванне ўльтрафіялетавых пракладак прымяняецца толькі да мадэляў з аўтаматычна створаным макетам УФ (ён жа сцяжок «Стварыць карту святла UV») і ніколі не закранае карыстальніцкія даныя. b) Выкарыстоўвайце пракладку U V: павялічце толькі сцяжок і спачатку запякайце сцэну з самым нізкім раздзяленнем, а потым астатнія.
c) Проста адключыце рэгуляванне ўльтрафіялетавых пракладак.
d) Выкарыстоўвайце 2 розныя мадэлі для розных дазволаў карты святла, каб кожная атрымала найбольш эфектыўны набор UV.
д) Спячы абедзве сцэны разам.
Q: Denoiser выдае памылку 505.
A: Абнавіць драйверы.
Пытанне: як я магу запусціць запяканне з дапамогай сцэнарыяў?
A: Ёсць 3 этапы:
– Атрымаць аб'ект налад візуалізацыі:
ftLightmapsStorage захоўванне = ftRenderLightmap.FindRenderSettingsStorage();
– Змяніць налады. Поўны спіс можна ўбачыць на ftLightmapsStorage.cs. Як былыample, вось як вы можаце абмежаваць колькасць адмоў і ўсталяваць тэчку вываду:
storage.renderSettingsBounces = 2; storage.renderSettingsOutPath = “Мая папка”;
– Стварыце асобнік Bakery, загрузіце налады і выпякайце:
ftRenderLightmap пякарня = новы ftRenderLightmap(); bakery.LoadRenderSettings(); пякарня.RenderButton();
Паведамленне пра памылкі
Калі ў вас узніклі праблемы з Bakery, калі ласка:
- Звяжыцеся са мной у любым месцы, пажадана на форуме Unity.
- Рабіце скрыншоты любых памылак або памылак.
- Калі гэта памылка/збой:
- Таксама зрабіце скрыншот кансолі Unity з уключанай рэгістрацыяй інфармацыі/папярэджанняў/памылак
- Запомніце, які апошні тэкст быў паказаны ў акне прагрэсу, бо ён пакажа, у якім менавіта заданні ўзнікла праблема.
Кіраўніцтва Bakery GPU Lightmapper – Спампаваць [аптымізавана]
Кіраўніцтва Bakery GPU Lightmapper – Спампаваць
Спасылкі
- Кіраўніцтва карыстальнікаmanual.tools