Doporučená nastavení pro Unity

Unity poskytuje sadu výchozích možností, které jsou obecně průměrným případem pro všechny platformy. Unity ale nabízí určitá chování specifická pro hybridní realitu, která se dají přepínat v nastavení projektu.

Výkonné nastavení prostředí

Nastavení nízké kvality

Je důležité upravit nastavení Unity Quality na Velmi nízká , aby vaše aplikace běžela a fungovala dobře při odpovídající snímkové frekvenci, zejména pro vývoj holoLens. Při vývoji na imerzivních náhlavních soupravách je v závislosti na specifikacích stolního počítače, které pohánějí prostředí VR, stále možné dosáhnout snímkové frekvence bez nejnižších parametrů kvality.

V Unity 2019 LTS+ můžete nastavit úroveň kvality projektu tak, že přejdete na Upravit>kvalitunastavení> projektu a kliknutím na šipku dolů nastavíte Výchozí na úroveň **Velmi nízká kvalita.

Nastavení osvětlení

Podobně jako u nastavení scény pro kvalitu je důležité nastavit optimální osvětlení pro vaši Mixed Reality aplikaci. V Unity je nastavení Osvětlení, které bude mít obvykle největší dopad na výkon vaší scény, globální osvětlení v reálném čase. Globální osvětlení můžete vypnout tak, že přejdete na Nastavení>globálního osvětlenípro vykreslování> oken.>

Je tu další nastavení osvětlení, Baked Global Lighting. Toto nastavení může poskytovat výkonné a vizuálně působivé výsledky u imerzivních náhlavních souprav, ale nedá se použít pro vývoj pro HoloLens. Baked Global Osvětlení se počítá pouze pro statické Objekty GameObject, které se ve scénách HoloLensu nenacházejí kvůli povaze neznámého a měnícího se prostředí.

Další informace najdete v článku Globální osvětlení od Unity .

Poznámka

Globální osvětlení v reálném čase je nastaveno pro každou scénu , a proto vývojáři musí tuto vlastnost uložit pro každou scénu Unity ve svém projektu.

Cesta vykreslování pomocí instance s jedním průchodem

V Mixed Reality aplikacích se scéna vykreslí dvakrát: jednou pro každé oko. V porovnání s tradičním 3D vývojem to efektivně zdvojnásobuje množství práce, kterou je potřeba vypočítat. Je důležité vybrat nejefektivnější cestu vykreslování v Unity, abyste ušetřili čas procesoru i GPU. Vykreslování s jednou instancí optimalizuje vykreslovací kanál Unity pro aplikace hybridní reality. Doporučujeme, abyste toto nastavení povolili ve výchozím nastavení pro každý projekt.

Povolení této funkce v projektu Unity

  1. Otevřete Nastavení OpenXR (přejděte na Upravit>nastavení> projektuSpráva modulů plug-in>XR OpenXR).
  2. V rozevírací nabídce Režim vykreslování vyberte Instanced s jedním průchodem.

Další podrobnosti o tomto přístupu vykreslování najdete v následujících článcích z Unity.

Poznámka

K jednomu běžnému problému s vykreslováním s jedním průchodem instance dochází v případě, že vývojáři už mají existující vlastní shadery, které nejsou napsané pro instanci. Po povolení této funkce si vývojáři můžou všimnout, že se některé objekty GameObjects vykreslují jenom jedním okem. Je to proto, že přidružené vlastní shadery nemají odpovídající vlastnosti pro instanci.

Informace o řešení tohoto problému najdete v tématu Single Pass Stereo Rendering pro HoloLens z Unity.

Povolit sdílení hloubkové vyrovnávací paměti

Pokud chcete dosáhnout lepší stability hologramu od vnímání uživatele, doporučujeme v Unity povolit vlastnost Sdílení hloubkové vyrovnávací paměti . Když tuto funkci zapnete, Unity bude sdílet mapu podrobností vytvořenou vaší aplikací s platformou Windows Mixed Reality. Platforma pak může lépe optimalizovat stabilitu hologramu speciálně pro vaši scénu pro jakýkoli daný rámec vykreslovaný vaší aplikací.

Povolení této funkce v projektu Unity

  1. Otevřete Nastavení OpenXR (přejděte na Upravit>nastavení> projektuSpráva modulů plug-in>XR OpenXR).
  2. V rozevírací nabídce Režim odeslání hloubky vyberte Hloubka 16 bitů.

Nastavení 16bitové hloubky vyrovnávací paměti se doporučuje zejména pro vývoj pro HoloLens. Výběr 16bitové verze v porovnání s 24bitovou verzí výrazně sníží požadavky na šířku pásma, protože bude potřeba přesunout nebo zpracovat méně dat. To znamená, že optimalizace přichází s určitými náklady. Ujistěte se, že rozumíte důsledkům uvedeným v polích Důležité níže.

Aby platforma Windows Mixed Reality optimalizovala stabilitu hologramů, spoléhá na to, že hloubková vyrovnávací paměť je přesná a odpovídá jakýmkoli vykresleným hologramům na obrazovce. Proto je při zapnuté sdílení hloubkové vyrovnávací paměti důležité při vykreslování barev také vykreslit hloubku. V Unity většina neprůhledných materiálů nebo materiálů TransparentCutout ve výchozím nastavení vykresluje hloubku, ale průhledné a textové objekty hloubku nevykreslí, i když to závisí na shaderech a dalších faktorech.

Pokud používáte shader Mixed Reality Toolkit Standard, vykreslujte hloubku průhledných objektů:

  1. Vyberte průhledný materiál, který používá standardní shader MRTK, a otevřete okno editoru inspektoru.
  2. V upozornění na sdílení vyrovnávací paměti pro hloubku vyberte tlačítko Opravit . To lze provést také ručně nastavením Režimu vykreslování na Vlastní; Pak nastavte Režim na Transparentní a nakonec nastavte Hloubkové zápisy na Zapnuto.

Důležité

Vývojáři by si měli dát pozor na Z-fighting při změně těchto hodnot spolu s nastavením kamery v blízké/vzdálené rovině. K Z-Fighting dochází, když se dva herní objekty pokusí vykreslit na stejný pixel a kvůli omezením přesnosti hloubkové vyrovnávací paměti (tj. hloubky z) unity nemůže rozlišit, který objekt je před druhým. Vývojáři si všimnou blikání mezi dvěma herními objekty, když bojují o stejnou hodnotu hloubky z. To se dá vyřešit přepnutím na 24bitový formát hloubky, protože pro každý objekt bude větší rozsah hodnot, se kterou se bude počítat pro hloubku z z fotoaparátu.

Doporučuje se však, zejména pro vývoj HoloLens, místo toho upravit blízké a vzdálené roviny fotoaparátu na menší rozsah a zachovat 16bitový formát hloubky. Hloubka z je nelineárně namapovaná na rozsah hodnot na blízké a vzdálené rovině kamery. Můžete to změnit tak, že ve scéně vyberete hlavní kameru a v části Inspektor změníte hodnoty Near & Far Clipping Plane tak, aby se snížil jejich rozsah (tj. z 1000 m na 100 m nebo jinou hodnotu x atd.).

Důležité

Unity nevytvoří vyrovnávací paměť vzorníku při použití 16bitového formátu hloubky. Některé efekty Unity UI a jiné efekty vyžadované vzorníkem proto nebudou fungovat, pokud není vybraný 24bitový formát hloubky, který vytvoří 8bitovou vyrovnávací paměť vzorníku.

Sestavování pro IL2CPP

Unity už nepodporuje back-end skriptování .NET, a proto vývojářům doporučuje, aby pro sestavení sady Visual Studio pro UPW používali IL2CPP . I když to přináší různé výhody, vytváření řešení sady Visual Studio z Unity pro IL2CPP může být pomalejší než stará metoda .NET. Proto důrazně doporučujeme dodržovat osvědčené postupy pro sestavování IL2CPP , abyste ušetřili čas na iteraci vývoje.

  1. Využití přírůstkového sestavování tak, že projekt sestavíte do stejného adresáře pokaždé a znovu v něm předdefinované soubory.
  2. Zakázání kontrol antimalwarového softwaru pro projekt & složek sestavení
    • Otevřete ochranu před internetovými útoky & v aplikaci nastavení Windows 10.
    • V části Nastavení ochrany před internetovými útoky & vyberte Spravovat nastavení.
    • V části Vyloučení vyberte Přidat nebo odebrat vyloučení.
    • Vyberte Přidat vyloučení a vyberte složku obsahující kód projektu Unity a výstupy sestavení.
  3. Použití disku SSD pro sestavení

Další informace najdete v článku Optimalizace časů sestavení pro IL2CPP .

Poznámka

Kromě toho může být výhodné nastavit server mezipaměti, zejména pro projekty Unity s velkým množstvím prostředků (s výjimkou souborů skriptů) nebo neustále se měnící scény nebo prostředky. Při otevření projektu unity uloží opravňující prostředky do interního formátu mezipaměti na počítači vývojáře. Položky musí být znovu importovány a tudíž znovu zpracovány při úpravě. Tento proces lze provést jednou a uložit na server mezipaměti a následně ho sdílet s dalšími vývojáři, abyste ušetřili čas, místo aby každý vývojář zpracovával nový import nových změn místně.

Vlastnosti publikování

Holografická úvodní obrazovka

HoloLens má procesor a GPU mobilní třídy, což znamená, že načítání aplikací může trvat o něco déle. Když se aplikace načítá, uživatelé uvidí jenom černou, takže se můžou divit, co se děje. Pokud je chcete během načítání ujistit, můžete přidat holografickou úvodní obrazovku.

Přepnutí holografické úvodní obrazovky:

  1. Přejít na stránku Přehrávač nastavení>projektu>
  2. Vyberte kartu Windows Store a otevřete oddíl Úvodní obrázek .
  3. Použijte obrázek ve vlastnosti Windows Holographic Holographic > Splash Image(Úvodní obrázek).
    • Přepnutím možnosti Zobrazit úvodní obrazovku Unity se povolí nebo zakáže úvodní obrazovka Unity. Pokud nemáte licenci Unity Pro, úvodní obrazovka Unity se vždy zobrazí.
    • Pokud se použije holografický úvodní obrázek , vždy se zobrazí bez ohledu na to, jestli je políčko Zobrazit úvodní obrazovku Unity povolené nebo zakázané. Zadání vlastní holografické image je dostupné jenom vývojářům s licencí Unity Pro.
Zobrazit úvodní obrazovku Unity Holografický úvodní obrázek Chování
Zapnout Žádné Zobrazovat výchozí úvodní obrazovku Unity po dobu 5 sekund nebo dokud se aplikace nenačte (podle toho, co je delší).
Zapnout Vlastní Zobrazovat vlastní úvodní obrazovku po dobu 5 sekund nebo dokud se aplikace nenačte (podle toho, co je delší).
Vypnout Žádné Zobrazovat průhlednou černou (nic), dokud se aplikace nenačte.
Vypnout Vlastní Zobrazovat vlastní úvodní obrazovku po dobu 5 sekund nebo dokud se aplikace nenačte (podle toho, co je delší).

Další informace najdete v dokumentaci k úvodní obrazovce Unity .

Sledování ztráty

Náhlavní souprava pro hybridní realitu závisí na tom, že při vytváření souřadnicových systémů, které umožňují, aby hologramy zůstaly v poloze, viděly prostředí kolem sebe. Když se náhlavní souprava nemůže najít na světě, znamená to, že náhlavní souprava ztratila sledování. V těchto případech nefungují funkce závislé na světem uzamčených souřadnicových systémech, jako jsou prostorové fáze, prostorové kotvy a prostorové mapování.

Pokud dojde ke ztrátě sledování, výchozím chováním Unity je zastavit vykreslování hologramů, pozastavit herní smyčku a zobrazit oznámení o ztrátě sledování, které pohodlně sleduje pohled uživatele. Vlastní oznámení lze také poskytovat ve formě obrázku ztráty sledování. U aplikací, které jsou na sledování závislé po celou dobu svého fungování, stačí nechat Unity, aby to zvládla celá, dokud se sledování znovu nezíská. Vývojáři mohou poskytnout vlastní obrázek, který se zobrazí během sledování ztráty.

Přizpůsobení sledování ztraceného obrázku:

  1. Přejít na stránku Přehrávač nastavení>projektu>
  2. Vyberte na kartě Windows Store a otevřete oddíl Úvodní obrázek .
  3. Použijte obrázek ve vlastnosti Windows Holographic > Tracking Loss Image ( Obrázek ztráty sledování ).

Výslovný nesouhlas s automatickým pozastavením

Některé aplikace nemusí vyžadovat sledování (např. aplikace pouze s orientací , například 360stupňové video diváky) nebo mohou potřebovat pokračovat ve zpracování bez přerušení, zatímco se sledování ztratí. Můžete se odhlásit z výchozí ztráty chování při sledování, ale zodpovídáte za skrytí nebo zakázání všech objektů, které by se ve scénáři sledování a ztráty nevykreslily správně. Ve většině případů je jediným obsahem, který se v takovém případě doporučuje vykreslit, obsah uzamčený tělem uprostřed hlavní kamery.

Odhlášení automatického pozastavení:

  1. Přejděte na stránku Upravit>přehrávač nastavení> projektu.
  2. Vyberte kartu Windows Store a otevřete oddíl Úvodní obrázek .
  3. Upravte zaškrtávací políčka Windows Holographic > On Tracking Loss Pause (Pozastavit při sledování) a Show Image (Zobrazit obrázek ).

Sledování událostí ztráty

Pokud chcete definovat vlastní chování při ztrátě sledování, zpracujte události ztráty globálního sledování.

Možnosti

Aby aplikace využívala určité funkce, musí ve svém manifestu deklarovat příslušné funkce. Deklarace manifestu se dají udělat v Unity, takže se zahrnou do každého budoucího exportu projektu.

Možnosti aplikace Mixed Reality je možné povolit:

  1. Přejít na stránku Přehrávač nastavení>projektu>
  2. Vyberte kartu Windows Store , otevřete oddíl Nastavení publikování a vyhledejte seznam Schopnosti .

Mezi možnosti povolení běžně používaných rozhraní API pro holografické aplikace patří:

Schopnost Rozhraní API vyžadující schopnost
SpatialPerception SurfaceObserver
Webcam PhotoCapture a VideoCapture
PicturesLibrary / VideosLibrary PhotoCapture nebo VideoCapture (při ukládání zachyceného obsahu)
Mikrofon VideoCapture (při záznamu zvuku), DictationRecognizer, GrammarRecognizer a KeywordRecognizer
InternetClient DictationRecognizer (a použití profileru Unity)

Viz také