Sdílet prostřednictvím


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é je možné přepínat prostřednictvím nastavení projektu.

Nastavení výkonného prostředí

Nastavení nízké kvality

Nastavení kvality Unity je důležité upravit na velmi nízké, aby se vaše aplikace spouštěla a dobře fungovala v příslušném framerate, zejména pro vývoj HoloLensu. Pro vývoj na imerzivních náhlavních soupravách můžete v závislosti na specifikacích desktopového výkonu prostředí VR stále dosáhnout rámové rychlosti bez nejnižších parametrů kvality.

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

Nastavení osvětlení

Podobně jako nastavení scény kvality je důležité nastavit optimální nastavení osvětlení pro aplikaci Mixed Reality. V Unity je nastavení Osvětlení, které má obvykle největší dopad na výkon vaší scény, je globální osvětlení v reálném čase. Globální osvětlení můžete vypnout tak, že přejdete do okna>Rendering>Lighting Nastavení> Realtime Global Lighting.

Je tu další nastavení osvětlení, pečené globální osvětlení. Toto nastavení může poskytovat výkonné a vizuálně působivé výsledky na imerzivních náhlavních soupravách, ale není použitelné pro vývoj pro HoloLens. Pečené globální osvětlení se počítá pouze pro statické objekty GameObjects, které nejsou nalezeny na scénách HoloLens kvůli povaze neznámého a měnícího se prostředí.

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

Poznámka:

Globální osvětlení v reálném čase je nastaveno na 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í s jedním předáním instanceng

V aplikacích hybridní reality se scéna vykreslí dvakrát: jednou pro každé oko. V porovnání s tradičním 3D vývojem se tím efektivně zdvojnásobí množství práce, kterou je potřeba vypočítat. Je důležité vybrat nejúčinnější cestu vykreslování v Unity, abyste ušetřili čas procesoru i GPU. Vykreslování s jedním průchodem optimalizuje kanál vykreslování Unity pro aplikace hybridní reality; Doporučujeme povolit toto nastavení 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>Project Nastavení> XR Plugin Management>OpenXR).
  2. V rozevírací nabídce Režim vykreslování vyberte Instance s jedním předáním.

Další podrobnosti o tomto postupu 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 jednou instancí dochází v případě, že vývojáři už mají existující vlastní shadery, které nejsou napsané pro vytváření instancí. Po povolení této funkce si vývojáři můžou všimnout, že některé objekty GameObject se vykreslují jenom v jednom oku. Důvodem je to, že přidružené vlastní shadery nemají odpovídající vlastnosti pro vytváření instancí.

Povolení sdílení vyrovnávací paměti hloubky

Pokud chcete dosáhnout lepší stability hologramu z vnímání uživatele, doporučujeme povolit vlastnost Sdílení vyrovnávací paměti hloubky v Unity. Když tuto možnost zapnete, Unity bude sdílet hloubkovou mapu 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 všechny snímky, které vaše aplikace vykresluje.

Povolení této funkce v projektu Unity

  1. Otevřete Nastavení OpenXR (přejděte na Upravit>Project Nastavení> XR Plugin Management>OpenXR).
  2. Z rozevírací nabídky Režim odeslání hloubky vyberte hloubku 16 bitů.

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

Aby platforma Windows Mixed Reality optimalizovala stabilitu hologramu, spoléhá na přesnou vyrovnávací paměť hloubky a odpovídá všem vykreslovaným hologramům na obrazovce. Díky sdílení hloubkové vyrovnávací paměti je tedy důležité při vykreslování barvy také vykreslit hloubku. Většina neprůhledných nebo průhledných materiálů v Unity ve výchozím nastavení vykresluje hloubku, ale průhledné a textové objekty se nevykreslí do hloubky, i když je to závislé na shaderů a dalších faktorech.

Pokud používáte shader Mixed Reality Toolkit Standard, vykreslíte hloubku pro průhledné objekty:

  1. Vyberte průhledný materiál, který používá shader STANDARD MRTK, a otevřete okno editoru inspektoru.
  2. V upozornění na sdílení hloubkové vyrovnávací paměti vyberte tlačítko Opravit hned. 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ápis na Zapnuto.

Důležité

Vývojáři by se měli při změně těchto hodnot při změně těchto hodnot a nastavení vzdálené roviny z fotoaparátu dávat pozor. Z-Boj nastane, když se dva herní objekty pokusí vykreslit na stejný pixel a kvůli omezením ve věrnosti vyrovnávací paměti hloubky (tj. hloubky z), Unity nedokáže rozpoznat, který objekt je před druhým objektem. Vývojáři si budou všimnout blikajícího mezi dvěma herními objekty, protože bojovali o stejnou hodnotu z-hloubky. To lze vyřešit přepnutím do 24bitového formátu hloubky, protože pro každý objekt bude větší rozsah hodnot, které se mají vypočítat pro jejich hloubku z z fotoaparátu.

Doporučuje se však, zejména pro vývoj HoloLens, upravit blízko a daleko roviny fotoaparátu na menší rozsah a zachovat 16bitový formát hloubky. Hloubka z je nelineárně mapovaná na rozsah hodnot podél blízkých a vzdálených rovin kamery. Můžete ho upravit tak, že ve scéně vyberete hlavní Kamera a v části Inspektor změníte hodnoty roviny výřezu near & far tak, aby se snížil jejich rozsah (tj. od 1000 m do 100 m nebo jiné hodnoty x atd.).

Důležité

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

Budova pro IL2CPP

Unity má zastaralou podporu back-endu skriptování .NET, a proto doporučuje, aby vývojáři pro sestavení sady Visual Studio pro UPW využili il2CPP . I když to přináší různé výhody, sestavení řešení sady Visual Studio z Unity pro IL2CPP může být pomalejší než stará metoda .NET. Proto důrazně doporučujeme postupovat podle osvědčených postupů při sestavování IL2CPP , abyste ušetřili čas iterace vývoje.

  1. Využití přírůstkového sestavování vytvořením projektu do stejného adresáře pokaždé, když znovu používáte předem připravené soubory.
  2. Zakázání kontroly antimalwarového softwaru pro složky projektu a sestavení
    • Otevřete ochranu před viry a hrozbami v aplikaci pro nastavení Windows 10.
    • V části Nastavení antivirové ochrany a ochrany před hrozbami 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í SSD pro sestavení

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

Poznámka:

Navíc může být užitečné nastavit Server mezipaměti, zejména pro projekty Unity s velkým množstvím prostředků (s výjimkou souborů skriptu) nebo neustále měnit scény nebo prostředky. Při otevírání projektu ukládá Unity opravňující prostředky do interního formátu mezipaměti na vývojářském počítači. Položky musí být znovu importovány, a proto je nutné je znovu zpracovat při úpravě. Tento proces lze provést jednou a uložit na server mezipaměti a následně sdílet s ostatními vývojáři, aby ušetřil čas místo toho, aby každý vývojář zpracovával opětovný import nových změn místně.

Vlastnosti publikování

Úvodní obrazovka Holographic

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

Přepnutí holografické úvodní obrazovky:

  1. Přejít na stránku Upravit>projekt Nastavení Player>
  2. Vyberte kartu Windows Store a otevřete část Úvodní obrázek.
  3. Použijte obrázek ve vlastnosti Windows Holographic Holographic Holographic > Splash Image .
    • Přepnutím možnosti Zobrazit úvodní obrazovku Unity povolíte nebo zakážete úvodní obrazovku Unity. Pokud nemáte licenci Unity Pro, zobrazí se úvodní obrazovka Unity s značkou Unity.
    • Pokud je použit holografický úvodní obrázek, zobrazí se vždy, jestli je zapnuté nebo zakázané políčko Zobrazit úvodní obrazovku Unity. Zadání vlastního holografického úvodního obrázku je dostupné jenom vývojářům s licencí Unity Pro.
Zobrazit úvodní obrazovku Unity Holographic Splash Image Chování
Zapnout Nic Zobrazit výchozí úvodní obrazovku Unity po dobu 5 sekund nebo dokud se aplikace nenačte, podle toho, co je delší.
Zapnout Vlastní Zobrazit vlastní úvodní obrazovku po dobu 5 sekund nebo až do načtení aplikace, podle toho, co je delší.
Vypnout Nic Umožňuje zobrazit průhlednou černou (nic), dokud se nenačte aplikace.
Vypnout Vlastní Zobrazit vlastní úvodní obrazovku po dobu 5 sekund nebo až do načtení aplikace, podle toho, co je delší.

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

Sledování ztráty

Náhlavní souprava hybridní reality závisí na tom, jak se prostředí kolem něj zobrazuje, aby vytvořily světem uzamčené souřadnicové systémy, které umožňují, aby hologramy zůstaly v poloze. Když náhlavní souprava nemůže najít sebe sama na světě, říká se, ž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 sledování ztracené oznámení, které pohodlně sleduje uživatele. Vlastní oznámení lze také poskytnout ve formě obrázku ztráty sledování. U aplikací, které závisejí na sledování celého prostředí, stačí, abyste Unity tuto možnost zpracovala až do doby, než se sledování znovu získá. Vývojáři můžou zadat vlastní image, která se zobrazí během ztráty sledování.

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

  1. Přejít na stránku Upravit>projekt Nastavení Player>
  2. Vyberte na kartě Windows Store a otevřete část Úvodní obrázek .
  3. Použijte obrázek pod vlastností Windows Holographic > Tracking Loss Image .

Odhlášení automatického pozastavení

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

Výslovný nesouhlas s automatickým chováním pozastavení:

  1. Přejít na stránku Upravit>projekt Nastavení Player>
  2. Vyberte kartu Windows Store a otevřete část Úvodní obrázek.
  3. Úprava zaškrtávacího políčka Windows Holographic > On Tracking Loss Pause and Show Image (Zobrazit obrázek )

Sledování událostí ztráty

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

Možnosti

Aby aplikace využila určité funkce, musí v manifestu deklarovat příslušné funkce. Deklarace manifestu je možné provést v Unity, aby byly zahrnuty do každého budoucího exportu projektu.

Možnosti pro aplikaci hybridní reality je možné povolit pomocí:

  1. Přejít na stránku Upravit>projekt Nastavení Player>
  2. Vyberte kartu Windows Store, otevřete oddíl Publikování Nastavení a vyhledejte seznam Schopností.

Mezi příslušné funkce pro 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
ObrázkyLibrary / VideosLibrary PhotoCapture nebo VideoCapture (při ukládání zachyceného obsahu)
Mikrofon VideoCapture (při záznamu zvuku), DiktováníRecognizer, GrammarRecognizer a KeywordRecognizer
InternetClient DiktováníRecognizer (a použití Unity Profiler)

Viz také