Jak na aplikace fungující současně na PC i PC VR?

Jak na aplikace fungující současně na PC i PC VR? Tagy: Vývoj aplikací
| Publikováno dne

Aplikace pro počítač a aplikace pro virtuální realitu? Jde o 2 rozlišné technologie? Pokud je na pozadí počítač, na němž aplikace běží, pak nikoli. To, v čem se aplikace liší, je pouze použití ovladačů.

U PC aplikace máme na vstupu myš a klávesnici. Na výstupu poté monitor(y). U PC VR aplikace jsou pak na vstupu ruce / ruční ovladače a částečně VR brýle, které jsou současně i výstupem nahrazujícím monitor.

Z podstaty věci, o běh aplikace se v tomto případě stará počítač - ať už umístěný lokálně v místnosti, nebo vzdáleně v serverovně.

Jaká je výhoda VR a jaká PC VR? A jak je skloubit?

Vezměme si příklad prezentace developerského projektu ve virtuální realitě. Využití virtuální reality při prodeji developerských prodejů může dávat smysl, jelikož umožňuje detailní představení i tisíce kilometrů vzdálených nemovitostí. Ve srovnání s tradičně používanými 2D vizualizacemi, při PC VR se snažíme docílit obdobné vizuální kvality, avšak při pocitu, že uživatel se v nemovitosti skutečně nachází.

Ovšem, PC VR má jeden zásadní nedostatek, a tím je rozšířenost VR brýlí. I kdybychom nahradili potřebu fyzického počítače streamováním (a tím zaručili, že každý uživatel při dostatečném připojení ve svém VR headsetu uvidí naši aplikaci v maximální možné kvalitě a plynulosti), stále jsme podmíněni tím, že potenciální zákazník musí VR headset vlastnit.

Oproti tomu, při PC aplikaci, aplikaci je možné si projít na jakémkoli výkonnějším počítači. V případě streamování pak na jakémkoliv počítači, případně s integrací dotekového ovládání i mobilním telefonu.

Skloubíme-li oba světy, získáme aplikaci, prostřednictvím níž prodejci mohou nabídnout komukoli projití si nabízených nemovitostí v klidu a z domova, a následně zákazníky pozvat i na prohlídku ve virtuální realitě.

Při tom všem, na pozadí je stále jedna aplikace.

Jak vytvořit aplikaci pro PC i PC VR současně?

Ve VrealMaticu vyvíjíme PC a VR aplikace v Unreal Engine. Tato volba má logické opodstatnění - jednak jde o jeden z nejlepších enginů na trhu, ale druhak i umožňuje dynamický přepočet shaderů, jež se starají o vizuální kvalitu obrazu.

Na základě požadavků a potřeb jednotlivých projektů je pak možné se dynamicky rozhodovat o tom, jaké konkrétní nastavení renderingu se pro konkrétní určení aplikace bude volit, případně obě aplikace mohou mít nastavení společné. V takovém případě jde opravdu jen o jednu aplikaci, na jejímž začátku si pouze uživatel zvolí, zda má běžet na PC obrazovce nebo připojených VR brýlích.

V případě rozdílného nastavení jde poté o 2 aplikace, přičemž technicky jde o jednu aplikaci, přičemž vykompilovanou do 2 rozdílných balíčků s odlišným nastavením renderingu.

Jedna aplikace pro PC a PC VR

Pracujeme-li se stejným nastavením renderingu a dalších nastavení aplikace, rozdílnost mezi PC a PC VR verzí je pouze v použitých ovladačích.

Typ ovladače poté můžeme vyloučit do samostatného sublevelu a mít následnou strukturu levelů aplikace:

  • Sublevel Aplikace (3D prostředí, chování apod.)
  • Sublevel s ovladači pro používání aplikace na PC
  • Sublevel s ovladači pro používání aplikace na PC VR
  • Skloubením Sublevelu Aplikace a PC ovladačů pak získáme level pro PC
  • Skloubením Sublevelu Aplikace a PC VR ovladačů pak získáme level pro PC VR

Na základě počáteční obrazovky vyžadující výběr módu (PC / PC VR) pot= spustíme buď level pro PC nebo PC VR.

Uděláme li aktualizaci v sublevelu aplikace, tato změna se automaticky projeví jak v levelu pro PC, tak levelu pro PC VR, jelikož oba levely pouze level Aplikace rozšiřují o specifické funkce koncového zařízení.

Oddělené aplikace pro PC a PC VR

V tomto režimu si můžeme počáteční obrazovku ušetřit. Definici, zda se má aplikace spouštět ve VR režimu, či nikoliv, zadáváme v rámci nastavení packagingu (vykompilování výsledné aplikace). Na co však opomenout nemůžeme, to je přiřazená správného levelu (PC / PC VR) pro packaging na základě cílového zařízení.

Zda před packagingem provedeme změny v nastavení renderingu a přepočet shaderů, případně jiné změny, je čistě jen na nás a potřebách funkcí grafického výstupu.