Pekárna – GPU Lightmapper
Manuál (v1.5)
Proč používat pekařství
Bakery je navržena jako alternativa ke stávajícím lightmapperům a zaměřuje se na řešení následujících problémů:
- Oprava různých artefaktů při pečení, jako jsou švy, úniky světla/stínů, nesprávné zakončení stínů atd. Vypečení světelné mapy by nemělo přinést větší problémy než vykreslení rámu kamery v offline rendereru.
- Pečeme všechny druhy světelných dat, nejen kompletní osvětlení nebo pouze GI. Ode dneška můžete Bakery požádat o generování smíšeného přímého a nepřímého osvětlení ze všech podporovaných světelných zdrojů a jejich stínových masek.
Osvětlení může být také pečeno na vrchol místo použití textur. - Směrové informace lze upéct ve formě dominantní směrové mapy (klasický „směrový“ režim v Unity), 3 map pro Radiosity Normal Mapping nebo 4 map pro per-pixel Spherical Harmonics (mnohem vyšší kvalita než klasické směrové). V jedné scéně na různých objektech lze použít více směrových režimů.
- Fyzická správnost. Výsledky pekárny byly důkladně porovnány s M ituba, známým nestranným rendererem. Na rozdíl od vestavěných řešení Unity podporuje Bakery správný útlum osvětlení s inverzní kvadrátem (nebo pokud se vám to nelíbí, můžete vždy použít režim útlumu kompatibilního s Unity).
- IES světelná podpora.
- Vybráno vykreslení (viz podrobnosti)
- Podpora LOD.
- Pečená prefabrikovaná podpora.
- Plánuje se pečení více přepínatelných světelných map na objekt.
Rychlý start
- Otevřete Unity, vytvořte novou scénu a importujte Bakery (A ssets->Importovat balíček->Vlastní balíček).


- Přidejte nějaký model nebo primitivum a označte jej jako Statický.


- Vyberte Směrové světlo (to, které Unity vytvořilo pro vás) a přidejte do něj komponentu Pekařské přímé světlo.
● Světelné zdroje pekárny jsou oddělené od světelných zdrojů Unity. - Bakery Direct Light má mnoho nastavení k vyladění, ale můžete jej snadno přizpůsobit světlu Unity. Klikněte na Přiřadit světelnou mapu v reálném čase. Světlo Bakery by nyní mělo mít stejnou nažloutlou barvu jako výchozí Directional Unity.
● Bakery Direct Light si může stěžovat na to, že projekt nepoužívá lineární intenzitu světla. Problém je v tom, že Unity ve výchozím nastavení aplikuje gama korekci na barvy světelného zdroje nesprávným způsobem. Správný režim lze povolit skriptováním a to dělá tlačítko „Opravit“. Pokud již máte mnoho světelných zdrojů nastaveno s nesprávným režimem intenzity a nechcete je znovu měnit, můžete opravu přeskočit. I když stisknete „Opravit“, můžete změnu kdykoli vrátit.

- Chcete-li získat stínované okolní osvětlení, vytvořte Skylight (Pekárna->Vytvořit->Skylight).

- Vyberte Skylight, dejte mu trochu namodralé barvy a klikněte na Přiřadit skybox scény k tomuto světlu. Díky tomu bude skybox přesně odpovídat osvětlení.
● Vždy to můžete udělat oběma způsoby: sladit skybox se světlíkem nebo světlík se skyboxem.

- Klikněte na Pekařství->Vykreslit světelnou mapu. Ve výchozím nastavení je aktivní režim plného osvětlení. Upeče přímý i nepřímý příspěvek ze všech světel. Pokud chcete kombinovat stíny v reálném čase s pečeným GI, změňte to na Nepřímé.
● Pekárna si může stěžovat, že používáte starý režim gama, a navrhnout jeho změnu. Pokud vám záleží na kvalitě osvětlení, důrazně doporučujeme použít lineární režim. Jedinou omluvou, proč ji nepoužívat, je situace, kdy již máte nastavený velký projekt s nesprávným gama a nechcete jej měnit.

- Klikněte na Vykreslit.
- Hotovo! Nyní byste měli mít upečený GI.

Nastavení vykreslování
Ke všem nastavením renderu se dostanete přes Bakery->Render Lightmap. Nastavení se uloží pro každou scénu. První možnost, kterou uvidíte (pojmenovaná Settings), umožňuje přepínat mezi Simple, Advanced a Experimental nastavením. Pro většinu úkolů stačí jednoduchý.
Společná nastavení:
- Režim vykreslení: definuje, jaké světelné mapy se mají péct.
- Plné osvětlení vytvoří kompletní přímé a nepřímé osvětlení. Pokud máte komponenty Unity i Bakery na stejném světle, budete muset ty Unity vypnout, abyste se vyhnuli dvojitému jasu.
- Nepřímý je základní smíšený režim. U každého světla se podívá na zaškrtávací políčko Bake to Indirect: pokud je zapnuto, světlo je vypáleno jako v režimu plného osvětlení. Pokud je VYPNUTO, peče se pouze nepřímý příspěvek (GI) z tohoto světla. V druhém případě byste měli na objektu ponechat světla Unity i Bakery, jedno poskytuje přímý příspěvek v reálném čase a druhé pro předem vypočítaný GI. Bake to Indirect je ve výchozím nastavení povoleno pro Skylights a Light Meshe, protože Unity nedokáže reprodukovat jejich osvětlení v reálném čase.
- Shadowmask je pokročilejší smíšený režim. Funguje tak, že generuje 2 typy světelných map – jednu s nepřímou barvou (jako v nepřímém režimu, takže zaškrtávací políčka Bake To Indirect stále platí) a druhou se stíny ze statických objektů. Má několik výhod:
- Stíny v reálném čase mohou vykreslit pouze několik dynamických objektů namísto celé scény.
- Stíny v reálném čase a pečené stíny se správně prolínají.
- Světla v reálném čase mohou vykreslovat nárazové, zrcadlové a další povrchové efekty, přičemž jsou stále zakryta vysoce kvalitními vypálenými stíny.
V současné době mohou s maskováním stínů komunikovat pouze Direct, Point a Spotlights (protože jsou to jediné typy, které Unity podporuje v reálném čase). Chcete-li povolit toto chování, musíte mít na stejném objektu světla Unity i Bakery a na druhém zaškrtnuté políčko Shadowmask. - Stínová maska na vzdálenost: toto zaškrtávací políčko je viditelné pouze v případě, že jste zvolili masku stínu a jednoduše přepíná stejně pojmenované nastavení v nastavení kvality projektu.
● Toto zaškrtávací políčko se na Unity 5.6.x nezobrazuje kvůli nedostatku odpovídajícího skriptovacího API. Místo toho jej můžete přepnout v okně Okno->Osvětlení->Smíšené osvětlení->Režim osvětlení.


Nahoře: Pekárna je nastavena na nepřímý režim a je aktivováno světlo v reálném čase. Peče se pouze GI.
Dole: Pekárna je nastavena na plný režim a světlo v reálném čase je vypnuté. GI i stíny jsou vypečené, ale z dynamické postavy není žádný stín.
Kompletnější srovnání režimu vykreslování, nyní s maskou Shadowmask:
Jak lze uzavřít, Distance Shadowmask je zatím nejkvalitnější dostupný režim, s jediným problémem nezastíněných dynamických objektů mimo rozsah dynamických stínů, zatímco běžný režim Shadowmask je také relativně levný na vykreslení.
Zde je také srovnání různých konfigurací světla pomocí režimu Shadowmask. Malé kostky jsou statické, zatímco kapsle jsou dynamické:
Vlevo: zcela propečené světlo. Střed: dynamické světlo s vypáleným GI. Vpravo: stín kapsle, hrbolek a zrcadlení jsou dynamické, ale kostkový stín a GI jsou vypálené.
Když se kamera dostatečně vzdálí nebo pokud jsou vypnuty dynamické stíny, bude stejná scéna vypadat takto:

- Kvůli starým omezením Unity může vykreslení světelných map Shadowmask ve verzích starších než 2017.3 vyčistit světelné sondy. Po upečení budou muset být znovu vykresleny. Ve verzích 2017.3 a novějších by se to stát nemělo.
- Směrový režim: definuje, jak se pečou směrové informace. Standardní světelné mapy ukládají pouze jednu barvu na texel, zatímco směrové světelné mapy dávají shaderům náznak toho, jak se osvětlení mění na polokouli kolem texelu. Tato data jsou vyžadována pro kombinaci plně světelně mapovaných oblastí s normálními mapami. Zapojením do vestavěného shaderu Bakery můžete také vytvořit přibližnou zrcadlovou odezvu. Dostupné režimy jsou:
– žádné: žádná směrová data, jedna barva na texel.
– Pečené normální mapy: 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
Sekce Kompatibilita.
- Dominantní směr: tento režim je podobný tomu, co pečou Enlighten a Progressive v Unity. Je kompatibilní s většinou shaderů, generuje pouze 1 další mapu a provozní režie je minimální. Nevýhodou je, že mapování nerovností vypadá poněkud slabě a šedě a může být zcela odlišné ve srovnání se stejným objektem pod osvětlením v reálném čase.
– RNM: založené na technice Radiosity Normal Mapping původně vynalezené pro HL2 (s videy) a později používané v mnoha hrách (např. Mirror's Edge). Vygeneruje celkem 3 HDR mapy, což je režim s nejvyššími nároky na paměť. Provozní režie je stále relativně nízká. Tento režim je přesnější než Dominant Direction. Je lepší při reprodukci povrchového kontrastu a manipulaci s barevnými světly ovlivňujícími normální mapy z různých úhlů.
– SH: na základě dokumentu „Precomputed Global Illumination in Frostbite“. Toto je režim nejvyšší kvality, který poskytuje mnohem lepší kontrast povrchu a představuje různě barevné osvětlení přicházející z různých směrů. Vygeneruje celkem 4 mapy, z nichž pouze jedna je HDR, a proto zabírá méně paměti než RNM. Režie za běhu je o něco vyšší než u RNM.
● RNM a SH lze použít pouze se shaderem Bakery nebo vyžadují úpravy vašich shaderů.
● V režimech RNM a SH se nevytvářejí standardní barevné světelné mapy. Musíte mít buď Bakery shader na všech materiálech ve scéně, nebo použít Lightmap Groups k oddělení RNM/SH objektů od ostatních.
● Mapy RNM a SH jsou aplikovány na objekty pomocí M aterialPropertyBlock, a proto nemusí být v okně Unity Lighting zcela zobrazeny.
● Režimy Dominant Direction, RNM a SH mohou vyžadovat o něco více samppro GI a Light Meshe, abyste získali srovnatelnou kvalitu.
– Texely na jednotku: přibližné množství pixelů světelné mapy na jednotku světa. Ovlivňuje množství a rozlišení generovaných světelných map.
● Pokud má objekt ručně přiřazenou lightmapu (prostřednictvím komponenty Bakery Lightmap Group Selector), bude tento parametr ignorovat.
Vlevo: 5 texelů na jednotku, vpravo: 20 texelů na jednotku.
Examphodnoty le, abyste mohli začít:
– Velká venkovní plocha: 1 – 5
– Střední venkovní plocha: 10-20
- Vysoce kvalitní interiér: 100
Mějte na paměti, že Texely na jednotku jsou základní rozlišení, ale každý objekt lze dodatečně vyladit pomocí možnosti „Měřítko ve světelné mapě“ na vykreslovačích sítě a také „Měřítko podle typu mapy“.
– Odrazy: kolikrát by se měly paprsky světla odrazit od povrchů. Pro venkovní scény (např. město) obvykle postačují nižší hodnoty, pro uzavřenější scény (interiéry, jeskyně) jsou vyžadovány vyšší hodnoty.

Všimněte si, jak více odrazů přináší více světla do uzavřených prostor.
– Samples: ovlivňuje kvalitu GI. Typické hodnoty jsou od 16 do 32.
Vlevo: samples = 4, vpravo: sample = 16. Odšumování je pro ilustrativní účely vypnuté.
-GPU Priority: zatímco GPU pracuje na světelných mapách, OS a další software může být méně citlivý. Tato možnost vám umožňuje vyvážit rychlost pečení a odezvu systému.
– Render: vytvoří světelné mapy pro všechny otevřené scény. – Render Selected Groups: vygeneruje pouze skupiny Lightmap obsahující vybrané objekty.
● Překreslí se nejen vybrané objekty, ale všechny Skupiny světelných map, do kterých patří. Ostatní světelné mapy nebudou aktualizovány. Pokud objekty nejsou součástí nějaké ručně přiřazené skupiny, pak bude část scény používající stejnou světelnou mapu předělána.
– Render Light Probes: peče světelné sondy pro všechny otevřené scény.
– Render Reflection Probes: peče reflexní sondy pro všechny otevřené scény.
– Aktualizace sondy Skybox: vytvoří sondy odrazu/světla skyboxu pro aktuální skybox.
– Zaškrtávací políčko Okluzní sondy: když stisknete tlačítko Render Light Probes, umožní Unity upéct okluzní sondy pomocí aktuálně vybraného vestavěného mapovače světla. Okluzní sondy zabraňují rozsvícení dynamických objektů ve stínu. V současné době neexistuje způsob, jak používat vlastní okluzní sondy v Unity, a místo toho musí volat své vlastní lightmappery, aby to udělaly. – Warnings: tyto možnosti ověří scénu po stisknutí jednoho z tlačítek Render a zobrazí varovná dialogová okna s žádostí o pokračování nebo zastavení procesu pečení. Jsou 3 možnosti:
– UV validace: zkontroluje, zda všechny modely mají plně správné UV mapování světla
– konkrétně pokud leží v rozsahu 0-1 a nepřekrývají se.
– Kontrola přepsání: zjistí, která světelná mapa files budou přepsány.
– Kontrola paměti: sdělí velmi přibližné množství požadované videopaměti.
– Sample count check: zkontroluje, zda některá světla, GI nebo AO nemají nepřiměřené hodnotyample počty, které mohou způsobit, že GPU zmizí z dostupných zdrojů. – Ověření prefabrikátů Lightmapped: ověřuje Lightmapped prefabrikáty a upozorní, zda budou některé prefabrikáty přepsány.
Pokročilá nastavení
- Upravit UV vycpávku: je-li povoleno, vyhledá modely s automaticky generovanými UV ("Generovat světelnou mapu UV" na aktivu) a dále je upraví tak, aby měly správné vycpávky mezi UV ostrůvky na síť. Okraj balíčku pro celý model v nastavení importéru je ignorován. Místo toho se vypočítají optimální hodnoty, daná plocha každé sítě a rozlišení světelné mapy.
- Odhlučnit: pokud je povoleno, použije se algoritmus odšumování. Pekárna používá odšumovač AI společnosti N vidia.
Vlevo: vypnuto odšumování, vpravo: zapnuto odšumování. - Oprava švů: pokud je povoleno, pokusí se spojit švy vytvořené nespojitostí UV záření. Užitečné pro hladkou geometrii, včetně výchozí koule Unity.
Vlevo: švy, vpravo: švy jsou pevné. - Rozdělení podle scény: pokud je načteno více scén najednou a tato možnost je povolena, každá scéna bude mít vlastní sadu světelných map, které nebudou sdíleny s ostatními. To může být užitečné pro omezení množství načtených textur, když jsou scény streamovány za běhu.
- Měřítko podle typu mapy: umožňuje různě škálovat rozlišení barev/masky stínů/směrových map.
NapřampBěžným případem je nepřímá barva s nízkým rozlišením, ale vysoce detailní maska stínu. Měřítko se použije po vykreslení světelných map, takže to neušetří čas pečení. Pokud je zapnuto „Upravit UV výplň“, výplň bude vycházet z mapy s nejnižším rozlišením, aby se zabránilo úniku texelu. - Kontrola předview: pokud je zaškrtnuto políčko Zobrazit kontrolu, Scene View vykreslí šachovnicový vzor na viditelných objektech, aby demonstroval velikost texelu světelné mapy. To je užitečné, abyste se ujistili, že před pečením používáte adekvátní hodnoty pro Texely na jednotku a další nastavení ovlivňující rozlišení.
Povolení kontroly předview donutí Bakery provést atlasové balení. Může to chvíli trvat, ale nemělo by to být déle než několik sekund. Stisknutím tlačítka Refresh checker (Kontrola obnovení) znovu atlasujete scénu poté, co jste něco změnili, abyste viděli změny.
Kontrola předview také používá náhodné barvy k zobrazení toho, jak bude scéna rozdělena do různých světelných map.
● Kontrola předview aktuálně nezobrazuje správné velikosti texelů pro terény.

- Emisní zvýšení: vynásobí jakoukoli povrchovou emisi tímto číslem. – Nepřímé zesílení: vynásobí veškeré odražené osvětlení tímto číslem. Stejné jako Nepřímá intenzita na světelných komponentech, ale globální.
- GI na zadní straně: určuje, kolik světla projde přední stranou k zadní straně a poté se odrazí od GI. To je zvláště užitečné pro tenké průsvitné povrchy, jako jsou listy. Hodnoty jsou v rozsahu 0-1:

Vlevo: zadní strana GI = 0, vpravo: zadní strana GI = 1. - Okolní okluze:jednoduchá nefyzická okolní okluze, kterou můžete použít na osvětlení finální scény pro estetické účely.
Vlevo: AO vypnuto, vpravo: AO zapnuto.
- Intenzita: řídí viditelnost AO efektu. Hodnota 0 efekt deaktivuje.
- Poloměr: určuje vzdálenost paprsku použitou v efektu AO. Menší hodnoty poskytují lokalizovanou okluzi (rohy, vrásky), zatímco vyšší hodnoty ji činí podobnější Skylight a vytvářejí stíny ze vzdálených objektů.
– Samples: ovlivňuje kvalitu okolní okluze. Typické hodnoty jsou od 4 do 32. - GI VRAM optimalizace: přepíná optimalizaci paměti používanou pro velmi velké scény, zejména při pečení příliš mnoha světelných map najednou. Pokud je povoleno, může vykreslování trochu zpomalit. Pokud je deaktivováno a scéna je příliš velká, může se stát, že pekařství zmizí z paměti.
- Auto: hádejte, zda je potřeba optimalizace na základě otevřených scén. Odhad je pouze přibližný, takže pokud víte, že scéna je obrovská, nastavte ji na Force On.
– Force On: vždy povoleno.
– Vynucení: vždy zakázáno. - Velikost dlaždic: stejná jako priorita GPU, ale místo abstraktní priority nastavíte velikost dlaždice. Pekárna rozděluje světelné mapy na menší dlaždice a aktualizuje je jednu po druhé. Menší velikost znamená více přerušení práce s GPU a může zvýšit odezvu systému.
- Temp path: dočasná files složka. Pekárna může během vykreslování vyžadovat několik gigabajtů volného místa. Mít tuto složku na SSD může vykreslování mírně zrychlit ve srovnání s HDD. V tuto chvíli se tato složka automaticky nečistí. Jeho obsah můžete kdykoli smazat (kromě vykreslování).
- Výstupní cesta: složku lightmap. Zde budou uloženy všechny lightmapy a také lightprobe a vertex color aktiva. Tato cesta je relativní k vaší složce Assets.
- Použijte scénu s názvem výstupní cesta: pokud je tato možnost povolena, výstupní cesta bude automaticky nastavena na složku se stejným názvem jako aktuálně aktivní scéna. Je to podobné tomu, jak se chovají vestavěné lightmapery Unity.
- Kombinujte s Enlighten GI v reálném čase: je-li povoleno, po stisknutí tlačítka Render se nejprve pokusí upéct pomocí Enlighten, aby vypočítal GI v reálném čase. Poté proběhne pravidelný proces světelného mapování Bakery. Pečený i GI v reálném čase budou spolupracovat.
- Pípnutí na konci: je-li povoleno, pekárna po dokončení pečení přehraje zvuk.
Experimentální nastavení
- Export geometrie a map: pokud je povoleno, Bakery exportuje scénu do jejího formátu před vykreslením. Pokud jste si jisti, že geometrie a textury scény a nastavení rozlišení světelné mapy nebyly změněny (např. pouze ladíte nastavení GI nebo světla), můžete toto zaškrtávací políčko deaktivovat, aby bylo další vykreslování rychlejší.
- Aktualizujte neupravená světla: pokud je povoleno, Bakery přepočítá světelné zdroje, které se od posledního vykreslení nezměnily. Pokud upravujete pouze jedno světlo a nechcete čekat na opětovné vykreslení ostatních světel, můžete toto zaškrtávací políčko deaktivovat.
- Aktualizujte upravená světla a GI: pokud je povoleno, Bakery přepočítá GI a světla, které byly změněny od posledního vykreslení.
- UV polstrování: 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.
- Odhlučnění: opravit světlé okraje: viditelné pouze při zapnuté funkci Odšumování. Někdy může neuronová síť používaná k odšumování vytvářet jasné okraje kolem stínů, jako když byl aplikován efekt zostření. Pokud je tato možnost povolena, pekárna se je pokusí odfiltrovat. Odšumování stage se může mírně zpomalit, pokud je povoleno.
Vlevo: po odstranění šumu je vidět světlý okraj; Vpravo: opraveno. - Optimalizace terénu: Je-li povoleno (výchozí), terény používají k postupu samostatnou techniku sledování paprskůtage jejich geometrie výškového pole. Jinak se s nimi zachází jako s jakýmkoliv jiným pletivem. Optimalizace terénu výrazně snižuje časovou a paměťovou stopu potřebnou pro krajiny s vysokým rozlišením.
Měřítko Ve Světelné mapě
Možnost Scale In Lightmap dostupná na všech vykreslovačích sítě ovlivní rozlišení objektu v automaticky generovaných atlasech světelných map. Také, podobně jako u vestavěných Lightmapperů Unity, nastavení této hodnoty na 0 způsobí, že objekt nebude mít žádné světelné mapy, ale bude vrhat stíny světelné mapy a ovlivní GI na pečených objektech.
Komponenty
Výběr skupiny světelné mapy pekárny
Určuje, která skupina Lightmap se má použít pro objekt a všechny jeho potomky.
Lightmap Group je termín, který Bakery používá pro kolekci objektů sdílejících 1 lightmapu. Skupiny mají vlastnosti, které Bakery říkají, jak zabalit objekty, jaká světla by je měla ovlivnit, pokud by byl výsledek zapečen do textury nebo vrcholů.
Ve výchozím nastavení jsou všechny statické objekty automaticky zabaleny do několika skupin světelných map, takže se nemusíte bát. Ruční definování skupin by se mělo používat pouze pro speciální účely, napřampten:
- Označení určitých objektů používá místo textur světelnou mapu pro jednotlivé vrcholy.
- Vypalování světelné mapy pomocí přesných nezmenšených UV, jak byly v modelovacím balíčku.
- Seskupení určitých oblastí úrovně za účelem použití jedné světelné mapy pro usnadnění streamování zdrojů nebo pro přepínání různých pečených osvětlení za běhu pomocí skriptů. –
- Pomocí tlačítka Vykreslit vybrané aktualizujte pouze seskupené objekty.
Chcete-li ručně definovat skupinu, vytvořte aktiva skupiny Lightmap, buď pomocí nabídky Aktiva->Vytvořit, nebo pomocí tlačítka Vytvořit nový v komponentě. Při použití tlačítka Vytvořit nový bude nový majetek vytvořen na základě těchto formulářů:
- Jméno: Název aktiva skupiny Lightmap k vytvoření.
- Režim balení:Tento selektor definuje režim balení skupiny Lightmap. K dispozici jsou 3 režimy:
- Originální UV: objekt a jeho děti budou vypáleny neupravenými UV. Žádné balení se neprovádí. To je užitečné pro modely, kdy více sítí sdílí stejné již zabalené UV rozložení.
- Atlas balíčku: objekt a jeho děti jsou zabaleny do vyhrazeného atlasu textur. Před verzí 1.3 každý sbalitelný potomek potřeboval mít komponentu, ale již to není nutné. Každé dítě bude zabaleno jako vlastní obdélník, kromě případů, kdy pekárna automaticky detekuje dítě s nepřekrývajícími se poddětmi, v takovém případě může jeden obdélník používat více objektů.
- Vertex: objekt a jeho děti budou místo textur používat vypálené osvětlení v barvě vrcholu. Všimněte si, že k tomu budete potřebovat vlastní shader, jako je Bakery Shader. Jeden jednoduchý shader („Pekárna/Simple Vertex Lightmapped“) je také zahrnut pro ukázku a referenci. viz
poznámky. - Směrový režim: umožňuje přepsat směrový režim ve skupině. Možnosti jsou stejné kromě Auto, která jednoduše použije globální nastavení.
- rozlišení: požadované rozlišení světelné mapy.
- Bitová maska: seznam přepínačů používaných k vyloučení světelných zdrojů z ovlivnění světelné mapy. Každý světelný zdroj Bakery má také nastavení bitové masky. Světla ovlivňují pouze skupiny světelných map, se kterými sdílejí alespoň jeden z těchto přepínačů. Výchozí nastavení znamená, že všechna světla ovlivňují všechny světelné mapy.
Pokud máte Lightmap Group s přiřazeným režimem P ack Atlas, objeví se na komponentě další nastavení:
- Přepsat rozlišení: přepíše rozlišení, které tento objekt a jeho potomci zabírají ve světelné mapě.
- rozlišení: ručně definované rozlišení. Napřample, pokud máte světelnou mapu s rozlišením 512 a je přiřazena 4 objektům s přepsaným rozlišením nastaveným na 256, Bakery vygeneruje jedinou světelnou mapu 512×512, kde každý objekt zabírá přesně 256×256 čtverec.
Pekárna Lightmapped Panelák
Tato komponenta, představená ve verzi 1.45, umožňuje prefabrikátům ukládat metadata lightmappingu. Takové prefabrikáty pak mohou být vytvořeny v jakékoli scéně, jak v editoru, tak za běhu.
Komponenta by měla být přidána přímo do kořenového objektu prefabrikátu. Protože se panel po upečení přepíše (stejně jako při stisknutí tlačítka „Použít“), je nutné, aby panel neměl žádné neaplikované změny (neměly by se přesouvat podřízené objekty, materiály a parametry skriptu by měly být beze změny atd.). Pokud jsou takové změny zjištěny, v uživatelském rozhraní komponenty se zobrazí chyba a po upečení se neuloží žádná metadata. Pokud je aktivováno varování „Ověření prefabrikátů pomocí světelné mapy“, všechny chyby prefabrikátů se také zobrazí v okně před pečením.
Lightmapped prefabrikáty podporují všechny funkce pekárny, jako jsou LOD, terény, směrové světelné mapy, RNM, SH, režimy pro jednotlivé vrcholy a masky stínů. Aby masky stínů fungovaly, potřebujete, aby součástí stejné prefabrikace byla i světla.
- Všimněte si, že prefabrikované stínové masky fungují pouze na Unity 2017.4 nebo novějších kvůli omezením API.
Po upečení bude do prefabrikátu přidán objekt s názvem „BakeryPrefabLightmapData“. Tento objekt obsahuje skript se všemi potřebnými daty pro použití světelných map.
Ovládání: - Uložit aktuální nastavení renderu do prefabrikátu: ukládá kopii aktuálního nastavení vykreslování na tento panel. To není vyžadováno, ale může být užitečné pro rychlé kopírování nastavení mezi scénami.
- Načíst nastavení renderu z prefabrikátu: nastaví aktuální nastavení vykreslování na nastavení uložená na prefabrikátu.
Pekárna přímé světlo
Nekonečně vzdálené směrové světlo (např. Slunce). Nastavení:
- Barva: barva.
- Intenzita: lineární multiplikátor barev.
- Šíření stínů: velikost světelného zdroje nebo jednoduše řečeno rozostření stínu. 0 = maximálně ostré stíny, 1 = maximálně rozmazané stíny. Technicky interpoluje z jednoho paprsku na širší kužel paprsků.
Vlevo: rozpětí stínů = 0.01, vpravo: 0.05. Všimněte si, jak stíny začínají ostré a se vzdáleností se postupně rozmazávají. - Shadow samples: ovlivnit kvalitu stínů. Čím menší je hodnota Shadow Spread, tím méně samppro čistý obraz jsou potřeba soubory. Typické hodnoty pro sluneční stíny jsou od 1 do 16. Nastavení sampméně až 0 způsobí, že stíny z tohoto světla zmizí.
- Bitová maska: seznam přepínačů používaných k vyloučení tohoto světelného zdroje z ovlivnění konkrétních skupin světelných map.
- Pečeme nepřímo: je-li povoleno, bude kompletní osvětlení (přímý i nepřímý příspěvek) z tohoto světla vypáleno v režimu vykreslování Nepřímý nebo Shadowmask. Nekompatibilní se zaškrtávacím políčkem Shadowmask.
- Stínová maska: peče pro toto světlo samostatnou masku stínů, takže lze míchat dynamické a statické stíny. Funguje pouze tehdy, když je režim vykreslování také nastaven na Shadowmask. Nekompatibilní se zaškrtávacím políčkem Bake To Indirect.
- Maska stínu Denoise: určuje, zda se má na masku stínu tohoto světla použít odšumování. Obvykle to není nutné, protože stíny nevykazují mnoho šumu, ale mohou být užitečné pro velmi široké rozmazané stíny (velké rozprostření stínů).
- Nepřímá intenzita: nefyzický GI multiplikátor pro toto světlo. Mělo by být 1 pro přirozené osvětlení, ale lze jej upravit pro více stylizované scény.
- Pokud má stejný objekt zapnuté světelné zdroje Unity i Bakery a neshodují se, zobrazí se 2 tlačítka:
– Porovnejte světelnou mapu v reálném čase: zkopírujte běžná nastavení z Unity light do Bakery light.
- Porovnejte v reálném čase se světelnou mapou: zkopírujte běžná nastavení z Bakery light do Unity light.
Pekárna Sky Light
Nekonečně vzdálené stínované okolní světlo (obloha). Nastavení:
- Barva: barva.
- Intenzita: lineární multiplikátor barev.
- Textura oblohy: volitelný prvek cubemap, např. HDRI panorama pro ovlivnění barev osvětlení z různých směrů.
● Rotující objekt GameObject oblohy otočí osvětlení z mapy krychle podle toho. - Samples: ovlivňuje kvalitu stínů. Typické hodnoty jsou od 8 do 32.
- Hemisférický: pokud je povoleno, bude osvětlení přicházet pouze shora (horní polokoule). Jinak ze všech směrů
Vlevo: nehemisférické, vpravo: hemisférické. - Bitová maska: seznam přepínačů používaných k vyloučení tohoto světelného zdroje z ovlivnění konkrétních skupin světelných map.
- Pečeme nepřímo: je-li povoleno, bude kompletní osvětlení (přímý i nepřímý příspěvek) z tohoto světla vypáleno v režimu vykreslování Nepřímý nebo Shadowmask. Toto je výchozí chování všech Sky Lights, protože neexistuje žádná verze v reálném čase, která by je emulovala v Unity.
- Pokud se nastavení oblohy a skybox aktuální scény neshodují, zobrazí se 2 tlačítka:
– Přizpůsobte toto světlo skyboxu scény: zkopírujte běžná nastavení z aktivního materiálu skyboxu do oblohy pekárny. V současné době může odpovídat pouze skyboxům pomocí shaderů „Skybox/Cubemap“ nebo „Skybox/Bakery skybox“.
– Přizpůsobte scénu skybox tomuto světlu: zkopírujte běžná nastavení z oblohy pekárny do skyboxu scény.
Pekárna Light Mesh
Emisní síťovina libovolného tvaru. Měl by být používán společně s komponentou Mesh Renderer nebo s komponentou Light nastavenou na režim Area. Nastavení.
- Barva: barva
- Intenzita: lineární multiplikátor barev.
- Uzávěrka: maximální vzdálenost osvětlení. Pekařství používá vzorec S kyforge falloff k vyvážení mezi správným inverzním spádem a praktickými limity. Je to nejlepší, když je mezní hodnota právě tam, kde je fyzický pokles velmi slabý.
- Samples v blízkosti: ovlivnit kvalitu osvětlení v blízkosti sítě. Typické hodnoty jsou od 16 do 64.
● „Samples Near“ je k dispozici pouze při zapnutém Self Shadow. - Samples Far: ovlivňuje kvalitu osvětlení daleko od sítě. Typické hodnoty jsou od 4 do 4096.
● Pekárna míchá 2 různé algoritmy pro oblast osvětlení založené na blízkosti texelu ke světlu. V blízkosti světla funguje podobně jako algoritmus GI, zatímco daleko je světlo aproximováno jako oblak virtuálních bodových světel.
● Pokud jsou výsledky stále špinavé/hlučné, zkuste nastavit Samples Blízko 0. Pak se použije pouze algoritmus VPL. Je také užitečné pro velmi jednoduchá světla, kde není důležitá přesnost (např. okenní světla na budově).
● Světelné sítě nepřijímají osvětlení samy o sobě a nedochází k jejich mapování.
● Jedna světlá síť s mnoha polygony se peče rychleji než mnoho jednoduchých světelných sítí.
Vlevo: Sampblízko = 0, Samples Far = 4096.
Uprostřed: Sampblízko = 0, Samples Far = 128.
Vpravo: Sampblízko = 16, Samples Far = 128.
Všimněte si, že vzhled osvětlení je podobný, ale méně kombinovanýamples se používají. - Vlastní stín: určuje, zda světelná síť sama vrhá stíny.
Vlevo: světlá síť nevrhá stín, vpravo: světlá síť vrhá stín. - Bitová maska: seznam přepínačů používaných k vyloučení tohoto světelného zdroje z ovlivnění konkrétních skupin světelných map.
- Pečeme nepřímo: je-li povoleno, bude kompletní osvětlení (přímý i nepřímý příspěvek) z tohoto světla vypáleno v režimu vykreslování Nepřímý nebo Shadowmask. Toto je výchozí chování pro všechny Light Meshe, protože neexistuje žádná verze v reálném čase, která by je emulovala v Unity.
- Nepřímá intenzita: nefyzický GI multiplikátor pro toto světlo. Mělo by být 1 pro přirozené osvětlení, ale lze jej upravit pro více stylizované scény.
- Pokud se nastavení materiálu sítě a světla neshodují, zobrazí se 2 tlačítka:
- Přizpůsobte světlo materiálu: zkopírujte běžná nastavení z neosvětleného síťového materiálu nebo osvětlení oblasti do světla pekárny.
- Přizpůsobte materiál světlu: zkopírujte běžná nastavení z Pekařského světla na neosvětlený síťový materiál nebo osvětlení oblasti.
Pekárna bodové světlo
Bodové světlo, nemá plochu. Navzdory fyzické nemožnosti je to užitečné pro hry a jediný způsob, jak sladit bodová a bodová světla Unity. Nastavení:
- Barva: barva.
- Intenzita: lineární multiplikátor barev.
- Šíření stínů: rozostření stínů. Přestože bodová světla nemají plochu, často je žádoucí, aby z nich byly stále rozmazané stíny. Pro tento účel jsou stíny simulovány, jako by byly vrženy ze sférického plošného světla. Tento parametr definuje poloměr takové virtuální koule a přímo ovlivňuje rozostření.
Vlevo: Rozprostření stínů = 0.5, vpravo: Rozprostření stínů = 1. - Fyzický pokles: pokud je povoleno, použije vzorec pro pokles Skyforge k vyvážení mezi správným poklesem inverzní druhé mocniny a praktickými limity. Jinak se pokusí napodobit pád Unity. Více se dozvíte v sekci B akery Shader Tweaks níže.
- Rozsah: pokud je fyzický pokles vypnutý, rovná se světelnému dosahu Unity. Pokud je povoleno, dojde pouze k mírnému slábnutí fyzického poklesu na okraji.
- Samples: ovlivňuje kvalitu stínů. Typické hodnoty jsou od 1 do 512. Nastavení sampméně až 0 způsobí, že stíny z tohoto světla zmizí.
- Projekční maska: typ masky/sušenky. Možnosti: – Omni: žádná maska, rovná se Unity's Point Light.
– cookie: projekce textury cookie. Další možnosti:
- Textura cookies: 2D textura. Bakery obsahuje původní Unity's Spot Light texturu (pojmenovanou ftUnitySpotTexture), kterou můžete použít k napodobení.
- Úhel: úhel promítání textury (podobně jako Unity's Spot Light).
- mapa krychle: cubemap cookie projekce. Další možnosti:
– Projektovaná mapa krychle: aktivum cubemap.
- IES: osvětlení je modulováno IES file data. Další možnosti:
– IES file: file s příponou .ies.

Zleva doprava: Omni, Cookie (výchozí textura místa), Cubemap, IES. - Bitová maska: seznam přepínačů používaných k vyloučení tohoto světelného zdroje z ovlivnění konkrétních skupin světelných map.
- Pečeme nepřímo: je-li povoleno, bude kompletní osvětlení (přímý i nepřímý příspěvek) z tohoto světla vypáleno v režimu vykreslování Nepřímý nebo Shadowmask. Nekompatibilní se zaškrtávacím políčkem Shadowmask.
- Stínová maska: peče pro toto světlo samostatnou masku stínů, takže lze míchat dynamické a statické stíny. Funguje pouze tehdy, když je režim vykreslování také nastaven na Shadowmask. Nekompatibilní se zaškrtávacím políčkem Bake To Indirect.
- Nepřímá intenzita: nefyzický GI multiplikátor pro toto světlo. Mělo by být 1 pro přirozené osvětlení, ale lze jej upravit pro více stylizované scény.
- Pokud má stejný objekt zapnuté světelné zdroje Unity i Bakery a neshodují se, zobrazí se 2 tlačítka:
– Přizpůsobte lightmaped real-time: zkopírujte běžná nastavení z Unity light do Bakery light.
– Porovnejte v reálném čase se světelnou mapou: zkopírujte běžná nastavení z Bakery light do Unity light.
Vylepšení pekařských stínovačů
Bakery nabízí volitelné úpravy shaderů, které lze použít na shadery Unity pro vylepšení grafiky. Nabídka ladění shaderů je přístupná přes Pekárna->Tweaks Shader.
Tyto možnosti opraví základní součásti Unity shaderu (ze složky CGIncludes), které používá většina vestavěných shaderů a shaderů třetích stran. Všechny úpravy ovlivní všechny projekty otevřené v této verzi editoru, ale lze je také snadno vrátit zpět.
● Shader Tweak aktuálně nefungují pro HDRP a LWRP.
Všechny dostupné úpravy jsou prezentovány jako tlačítka. Stisknutím tlačítka aplikujte úpravu a zůstane stisknutá. Zrušením stisknutí tlačítka změnu odstraníte. Aktuálně dostupné možnosti:
- Použít bikubickou interpolaci pro světelné mapy: použijte bikubickou interpolaci místo výchozí bilineární. Tato úprava docela dobře opravuje mnoho zubatých okrajů světelných map s nízkým rozlišením. V současné době funguje pouze na DX11 a moderních konzolích, zatímco ostatní platformy budou nadále používat bilineární interpolaci.

- Vlevo: výchozí bilineární filtrování. Vpravo: bikubické filtrování.
- Použijte násobení pro masku stínů: kombinujte statické a dynamické stíny pomocí násobení namísto minima. Z neznámých důvodů se Unity rozhodlo ve výchozím nastavení použít minimální operátor a vytváří artefakty, které nejsou přítomny při násobení:
Vlevo: oba stíny jsou zapečené.
Střed: sférický stín je dynamický a ostatní stíny jsou statické. V kombinaci s tímto vyladěním shaderu.
Vpravo: stejné jako uprostřed, ale bez úprav. - Použít fyzický pokles světla (dopředu): nahraďte výchozí útlum bodových/bodových světel v reálném čase fyzicky správným obráceným čtvercem. „Rozsah“ jej u okraje jen mírně zeslabne (odpovídá pekařským světlům se zaškrtávacím políčkem Physical Falloff). Ovlivňuje pouze dopředný renderer.
- Použít fyzický pokles světla (odložený): stejné jako výše, ale ovlivní pouze odložený renderer.
Vlevo: Úpadek Jednoty. Vpravo: fyzický pád.
Všimněte si nevyhnutelného nerealistického náhlého konce pádu Unity.
Mějte na paměti, že fyzický pokles působí jinak. Namísto škálování rozsahu přesně stejným gradientem od středu k okrajům je fyzický pokles ovlivněn hlavně jasem světla. „Rozsah“ je v tomto případě pouhou optimalizací, která jej u okrajů mírně slábne. Při nastavování světel s fyzickým výpadkem se důrazně doporučuje povolit tonemapper.
Horní řada: Úpadek Unity. Spodní řada: fyzický pokles.
Všimněte si, jak Unity měří osvětlení pomocí parametru range, zatímco fyzický pokles je pouze dodatečně maskován rozsahem.

Vlevo: žádné mapování, vpravo: povoleno neutrální mapování.
Všimněte si, jak si osvětlení zachovává jemný přechod, když je povoleno mapování tónů, a přitom je stále fyzicky jasné.
Nejlepší postupy
Chcete-li maximalizovat kvalitu a minimalizovat spotřebu paměti:
- Rozbalte si svůj modelovací balíček, nepoužívejte „Generovat UVs“ v Unity. Protože Unity i Bakery balí nezabalené objekty do atlasů jednoduše jako obdélníky (v tuto chvíli nemohou upravovat UV) a každý samostatně nezabalený objekt může mít plýtvaný UV prostor, tento prostor se hromadí a platíte více paměti za menší rozlišení. V 3dsmax je i automatické mapování ploch dostatečně dobré.
– Nastavte rozestup mezi UV grafy na 3 / rozlišení světelné mapy. Např. pokud víte, že určité objekty, které jste rozbalili, budou vykresleny do jediné světelné mapy 512×512, nastavte rozestup na 3/512 = 0.005859375.
– Pokuste se rozbalit veškerou neopakující se geometrii do co nejmenšího množství velmi hustých UV rozložení. V Unity vytvořte a přiřaďte položku Lightmap Group pro každé rozvržení se správným rozlišením a jednoduchým režimem.
– Nerozbalujte však těžkou opakující se geometrii do stejného atlasu, jinak ztratíte instanci - Použijte fyzický pokles.
- Nepracujte bez mapování tónů. Skutečné intenzity osvětlení jsou JASNÉ. Práce se scénou bez tonemapperu je stejná jako prohlížení neupraveného RAWu file z fotoaparátu místo použití očí. Vestavěné mapování neutrálních tónů Unity je dobrý začátek. Správný jas osvětlení zaručuje, že globální osvětlení bude dostatečně jasné, aniž by předstíralo jeho intenzitu.
Rozdíly mezi Light Mesh a emisními materiály
Emisní materiál:
- Šíří světlo během výpočtu GI, proto je „zdarma“, bez ohledu na to, kolik ok je emitujících.
- Malá a jasná světla mohou poskytovat nepřesné výsledky hlučnosti v závislosti na GIample počítat.
- Musí zabírat místo ve světelné mapě kvůli tomu, jak funguje GI v pekárně, a proto ho možná plýtvá. Také to znamená, že emisní objekty vyžadují platné UV záření a mají povolenou funkci „Cast shadows“.
Lehká síťovina:
- Osvětlení se počítá zvlášť pro každé světlo, proto je pomalejší než emisní materiály.
- Navrženo tak, aby poskytovalo čisté výsledky pro malá a jasná světla, a to i velmi daleko od nich.
- Nezabírá místo ve světelných mapách.
Poznámky Vertex Lightmap
Objekty mohou být pečeny na úrovni jednotlivých vertexů namísto textur, pokud mají tyto objekty nebo jejich rodiče komponentu Lightmap Group Selector s aktivem Lightmap Group nastaveným na režim Vertex. Světelné mapy Vertex jsou kompatibilní s maskami stínů a také s režimy Dominant Direction a SH.
● Pokud používáte směrové světelné mapy vrcholů, doporučujeme v Nastavení přehrávače zakázat kompresi vrcholů pro TEXCOORD2 a TEXCOORD3.
Použití vertex lightmap má své klady a zápory.
Pro:
- Nejsou potřeba žádné UV záření. Vhodné pro složitou geometrii, kterou nelze dobře rozbalit.
- Žádné plýtvání místem – výplň a prázdná místa ve světelné mapě nejsou problémem.
nevýhody: - Je zřejmé, že vertexová interpolace je méně jemná než texelová interpolace.
- Běžné techniky komprese textury se nepoužívají.
- Je potřeba upravený shader (pekárna takové shadery obsahuje).
- Odšumování není použito.
Data jsou uložena v následujících atributech vrcholů: - Mesh.colors ukládá barevnou světelnou mapu (nebo první koeficient světelné mapy SH).
- Mesh.uv2 může ukládat zabalený dominantní směr, masku stínu a část dat SH.
- Mesh.uv3 může ukládat další data SH.
Kompatibilita shaderů
Aby globální osvětlení fungovalo, potřebuje Bakery extrahovat informace o materiálu.
Před verzí 1.1 jednoduše zkontroloval běžné názvy parametrů shaderu jako _MainTex, _Color, _EmissionMap a _EmissionColor a použil je.
Vzhledem k tomu, že v1.1 Bakery podporuje GI z vlastních shaderů pomocí jejich stávající definice Meta Pass, mělo by to fungovat úplně stejně jako s vestavěnými lightmappery. Standardní, HDRP a LWRP shadery již obsahují správný Meta Passcode, stejně jako jakýkoli vlastní povrchový shader. Pro zcela vlastní (nepovrchové) shadery budete muset Meta Pass napsat sami (viz příručka Unity) nebo se spolehnout na starší chování Bakery (pomocí názvů parametrů shaderu). V současné době Bakery bere pouze albedo a emise z Meta Pass. Mapy krytí jsou stále převzaty podle názvu (alfa kanál _MainTex nebo _BaseColorMap), aby jejich rozlišení zůstalo nedotčené.
Režim Pečené normální mapy
Ve směrovém režimu Baked Normal Maps jsou normály převzaty z materiálů podle názvu a měly by se jmenovat _BumpMap. Dlaždice a offset jsou extrahovány z _MainTex_ST. Je však možné vytvořit zcela vlastní shadery s pokročilými funkcemi normálního mapování (např. prolnutí více vrstev) kompatibilními. Protože standardní Unity Meta Pass neexportuje normální informace, měl by být do vašeho shaderu přidán speciální rozšířený Bakery Meta Pass. Součástí pekárny jsou 2 example shadery implementující tento Meta Pass. Najdete je v
Majetek/pekárna/přamples/shaders. Zde je seznam rozdílů ve srovnání se standardním Meta Pass:
- Průkaz by se měl jmenovat „META_BAKERY“.
- Je třeba zahrnout Bakery/BakeryMetaPass.cginc.
- Pokud proměnná unity_MetaFragmentControl.z není 0, shader by měl vrátit světoprostorový normál.
- Vrácená hodnota by měla být zakódována pomocí BakeryEncodeNormal.
Shader pekárny
Od v1.4 Bakery obsahuje vlastní shadery s podporou pro vertex lightmapping a také směrové režimy RNM a SH. Umožňuje také vypočítat přibližné vypálené zrcadlení ze směrových dat.
Bakery shader není vyžadován pro běžné barevné světelné mapy, masky stínů a dominantní směr
režimu, protože tyto funkce stejně podporuje většina shaderů Unity.
V tuto chvíli existují 4 další shadery:
- Pekárna/Standardní: rozšiřuje běžný standardní shader. K dispozici jsou další možnosti:
-Allow Vertex Lightmaps: umožňuje použití tohoto materiálu s vertex lightmappingem.
– Allow RNM Lightmaps: umožňuje použití tohoto materiálu se směrovým režimem RNM.
– Allow SH Lightmaps: umožňuje použití tohoto materiálu se směrovým režimem SH.
● Všechny přepínače „Povolit“ povolují určitou cestu kódu v shaderu. Z výkonnostních důvodů se doporučuje v materiálu používat pouze jednu možnost „povolit“.
– Enable Lightmap Specular: vypočítá pečenou zrcadlení pomocí dat ze směrových režimů Dominant Direction, RNM nebo SH. Všimněte si, že kvůli nedostatku informací je účinek velmi přibližný. Pokud jste někdy v Unity 4 používali pečený specular, mělo by to být srovnatelné. Nejlépe vypadá ve spojení s vysoce narušenými normálními mapami, na rovných površích to tak dobré není.
– Enable VertexLM directional: pokud jsou přítomny světelné mapy vrcholů, určuje, že data Dominant Direction jsou uložena ve vrcholech a měla by být použita.
– Povolit VertexLM SH: pokud jsou přítomny světelné mapy vrcholů, určuje, že data SH jsou uložena ve vrcholech a měla by být použita.
– Enable VertexLM Shadowmask: pokud jsou přítomny světelné mapy vrcholů, určuje, že maska stínu je uložena ve vrcholech a měla by být použita.
– Nelineární SH: ve směrovém režimu SH může tato možnost zvýšit kontrast (blíže k zemi), ale trochu zpomalí shader.
– Force Bicubic Filter: umožňuje bikubické filtrování pro všechny další mapy. Pro úplné bikubické filtrování (včetně první barevné mapy) se doporučuje povolit jej také v Shader Tweaks. - Pekárna/Standardní zrcadlo: stejné jako Standard, ale pro zrcadlový pracovní postup.
- HDRenderPipeline/Bakery Lit: rozšiřuje HDRP Lit shader. V současné době má pouze jednu další možnost, a to Povolit SH Lightmaps. Tento shader je ve výchozím nastavení zip, aby se zabránilo chybám
- HDRP projekty a lze je nalézt v ssets/Bakery/shader/BakeryHDRPShader.zip nebo na github.
- Standard LightweightPipeline/Bakery (fyzicky):: rozšiřuje LWRP standardní PBR shader. V současné době má pouze dvě možnosti: Povolit světelné mapy RNM a Povolit světelné mapy SH. Tento shader lze nalézt na stránce Assets/Bakery/shader/BakeryLWRPShader.zip.
Většina shaderů Unity HDRP a LWRP shadery Standardní pekárna Pekárna HDRP Bake LWRP
HDR barevné světelné mapy Ano Ano Ano Ano Ano Stínová maska Ano Ano Ano Ano Ano Dominantní směr Ano Ano Ano Ano Ano RNM Žádný Žádný Ano Žádný Ano SH Žádný Žádný Ano Ano Ano Světelná mapa zrcadlová Žádný Žádný Ano Žádný Žádný Bikubické filtrování Ano s Shader Tweaks Žádný Ano s Shader Tweaks Žádný Žádný Vertexové světelné mapy Žádný Žádný Ano Žádný ŽÁDNÝ
● Všechno kromě běžných barevných světelných map vyžaduje ke svému fungování alespoň Shader Model 3.0.
● Světelné mapy Vertex s režimem SH vyžadují kvůli limitu interpolátoru alespoň Shader Model 4.0.
FAQ
Otázka: Má GI v reálném čase?
A: Ne.
Otázka: A co smíšené osvětlení?
A: Ano! Bakery podporuje pečení nepřímé samostatně pro použití se světly v reálném čase a také pečení statických stínů (shadowmask) a jejich kombinaci s dynamickými.
Otázka: Nemohu zprovoznit masku stínů
A: Zkontrolujte následující věci:
– Režim vykreslování Bakery je nastaven na Shadowmask
– Maskovaná světla mají na sobě světelné komponenty Unity i Bakery.
– Světelné komponenty Masked Bakery mají zaškrtnuté políčko „shadowmask“.
Otázka: Vykreslil jsem masky stínů, ale všechny stíny jsou dynamické
A: Jste v režimu Distance Shadowmask, to se očekává
- Přečtěte si o rozdílu:
https://docs.unity3d.com/Manual/LightMode-Mixed-Shadowmask.html https://docs.unity3d.com/Manual/LightMode-Mixed-DistanceShadowmask.html
– Pro přepínání mezi dvěma režimy můžete použít zaškrtávací políčko „Distance Shadowmask“ v hlavním okně Pekárny.
– Pokud používáte verzi 5.6, přejděte na Okno->Osvětlení->Smíšené osvětlení->Režim osvětlení a přepněte režim.
Otázka: Které platformy jsou podporovány?
Odpověď: Hry se světelnými mapami Bakery můžete odesílat na jakoukoli platformu. Ale pro použití Bakery budete potřebovat 64bitový Windows (7+) stroj s kartou Nvidia (6xx nebo novější).
Otázka: Je to progresivní? Zobrazuje aktualizace světelné mapy v reálném čase?
A: Ne. Jen ukazatel průběhu.
Otázka: Jak vyrobím panel se světelnou mapou?
A: Bakery v1.45:
– Viz L lightmapped Prefab komponent
Bakery v1.4 nebo starší:
- Vytvořte scénu pro váš panelák
- Vytvořte prázdný objekt GameObject s názvem !ftraceLightmaps
- Upečte scénu
- Nyní byste měli vidět komponentu přidanou k prázdnému objektu. Vložte to do prefabrikátu a ušetřete.
Takový prefabrikát bude vždy lightmapován. Všimněte si, že pečení kombinované scény s více prefabrikáty, jako jsou tyto, není podporováno.
Otázka: Jak mohu používat systém správy verzí git/collab/other s Bakery?
Odpověď: Bakery v1.45 a Unity 2017.1 nebo novější:
Všechno by prostě mělo fungovat. Ujistěte se, že všechny stroje mají stejnou verzi Unity a Bakery.
Měli byste se pouze zavázat ke svému projektu files a ignorujte složky Bakery (Assets/Bakery and nd Assets/Editor/x64/Bakery). Pokud se z nějakého důvodu rozhodnete odevzdat složky Bakery, ujistěte se, že ignorujete A ssets/Bakery/ftLocalStorage.asset a A ssets/Bakery/ftGlobalStorage.asset , abyste se vyhnuli synchronizaci světelných map.
Bakery v1.4 nebo starší / verze Unity starší než 2017.1:
Pokud používáte možnost „Upravit UV padding“ (která je ve výchozím nastavení zapnutá), mohou nastat určité potíže se synchronizací verzí mezi počítači, protože tato možnost následně zpracovává UV na stávajících modelech. Na těchto verzích kromě vaší scény musíte vložit ftGlobalStorage.asset, kde jsou uloženy pokyny pro zpracování modelu. Pokud UV stále vypadají rozbité na jiném počítači, zkuste vyměnit ftGlobalStorage ručně (ne pomocí správy verzí) a znovu importovat model kliknutím pravým tlačítkem.
Otázka: Jak mohu sdílet scénu s někým, kdo nemá nainstalovanou Bakery?
A: Kromě scény a jejích světelných map musíte zahrnout také několik skriptů, konkrétně: – ftLightmaps.cs
– ftLightmapsStorage.cs
– ftLocalStorage.cs
– ftGlobalStorage.cs
– ftModelPostProcessor.cs
Otázka: Jak mohu péct pomocí vlastních UV bez jakýchkoliv úprav?
A: Podívejte se na Lightmap Groups.
Otázka: Pokaždé, když upeču stejný model ve scéně A, jeho UV se stanou neplatnými pro scénu B a naopak, jak to napravím?
Odpověď: Důvodem je úprava polstrování U V. Upravuje UV záření v aktivu, takže rozestupy mezi UV grafy jsou optimální, což znamená, že nikdy přes sebe neprosakují a nedochází k velkému plýtvání místem. Unity má manuální možnost Pack Margin na modelových aktivech, ale je omezená, protože aplikuje stejnou přesnou hodnotu pro všechny sítě uvnitř modelu, zatímco každá síť může mít ve finální světelné mapě drasticky odlišnou velikost na základě její plochy.
Bakery ji proto přepíše automaticky vypočítanou výplní p er-mesh (místo výplně podle modelu). Protože se však „optimální“ liší v závislosti na rozlišení pečení, může být problematické znovu použít stejný prvek v izolovaných scénách s různou velikostí světelné mapy. Existuje několik způsobů, jak to vyřešit:
a) Vytvořte si vlastní optimální UV záření. Úprava vycpávky UV se vztahuje pouze na modely s automaticky generovaným rozvržením UV (také zaškrtávací políčko „Generate Lightmap UVs“) a nikdy se nedotýká vlastních dat. b) Použijte U V padding: zvyšte pouze zaškrtávací políčko a nejprve upečte scénu s nejnižším rozlišením a poté zbytek.
c) Stačí deaktivovat úpravu UV vycpávky.
d) Použijte 2 různé modely pro různá rozlišení světelných map, takže každý získá nejúčinnější sadu UV.
e) Pečte obě scény dohromady.
Otázka: Denoiser vyvolá chybu 505.
A: Aktualizujte ovladače.
Otázka: Jak mohu spustit pečení pomocí skriptování?
Odpověď: Jedná se o 3 kroky:
– Získejte objekt nastavení vykreslení:
ftLightmapsStorage storage = ftRenderLightmap.FindRenderSettingsStorage();
– Upravte nastavení. Úplný seznam lze vidět na ftLightmapsStorage.cs. Jako example, takto můžete omezit množství bounces a nastavit výstupní složku:
storage.renderSettingsBounces = 2; storage.renderSettingsOutPath = “MyFolder”;
– Vytvořte instanci Bakery, načtěte nastavení a pečte:
ftRenderLightmap bakery = new ftRenderLightmap(); bakery.LoadRenderSettings(); pekárna.RenderButton();
Hlášení chyb
Pokud narazíte na nějaké problémy s pekárnou, prosím:
- Kontaktujte mě kdekoli, nejlépe na fóru Unity.
- Udělejte si snímky obrazovky všech chyb nebo chyb.
- Pokud se jedná o chybu/selhání:
- Udělejte také snímek obrazovky konzole Unity s povoleným protokolováním informací/varování/chyb
- Zapamatujte si, jaký byl poslední text zobrazený v okně průběhu, protože to řekne, u které úlohy přesně k problému došlo.
Pekárna GPU Lightmapper manuál – Stáhnout [optimalizováno]
Pekárna GPU Lightmapper manuál – Stáhnout
Reference
- Uživatelská příručkamanual.tools