Jak jsem objevil virtuální realitu (2): Uživatel nebo vývojář?

Máte své oblíbené hry nebo programy, které vás baví a pohlcují? Trávíte ve virtuální realitě hodiny a hodiny? Nemyslíte, že je to trochu málo? Co takhle zkusit se na tenhle svět podívat ze zákulisí? Co si napsat něco vlastního?
Konečně máte svůj vysněný virtuální svět a uchylujete se do něj při každé volné chvíli. Možná vám dokonce krade i čas, který byste měli věnovat něčemu „užitečnějšímu“. Doufejme, že to nezašlo tak daleko, že by vám tahle kratochvíle (nemělo by se správně říkat „dlouhochvíle“?) začala ohrožovat rodinný a pracovní život.

Fungujete-li jako většina populace, pak se vám i tato zábava jednoho dne přejí. To je prostě fakt. Přijde den, kdy už vám cizí programy a hry nebudou stačit. Nejsou vlastně přesně tím, po čem jste toužili. Hledáte to pravé, ale kde nic tu nic. Přišel čas pustit se do vlastního vývoje. Neděste se. Ani zdaleka nemusí jít o bolestivý proces.

Přeskočme teď teorii, k té se ještě vrátíme. Takhle jsem na to šel já. Něco proběhlo hladce, někde jsem narazil. Některé překážky jsem zvládl, jiné se prostě změnily v nepokořené pomníčky a bylo třeba je obejít a hledat jinou cestu. Stejně jako v běžném životě. Vidíte, nic nového ani nečekaného.

Existují jedinci disponující schopností naprogramovat cokoli jen v textovém editoru. Pár takových jsem za svou kariéru poznal. Vždy jsem jim trochu záviděl, ale nikdy jsem jejich řady nerozšířil. Pro tyto situace mám v zásobě skvělou výmluvu: člověk zkrátka nemůže umět všechno, že ano? Třeba dokážu něco jiného, co oni ne (ale co?). Takže namísto abych se pokoušel ovládnout umění nízkoúrovňového přístupu, vydal jsem se po vyšlapané trase zvané multiplatformní engine. Zní to děsivě? Pro ty z vás, kdo by třeba nevěděli, co takové zaklínadlo znamená, vězte, že jde o prostředí, v němž často velmi jednoduše dospějete k výslednému programu, aniž bezpodmínečně musíte mít na stěně několik (svých) univerzitních diplomů.

V době, kdy jsem se do oceánu VR ponořil, byli na scéně dva velcí hráči: Unity a Unreal (od té doby se v zásadě příliš nezměnilo, ale o tom si povíme v osmé kapitole tohoto seriálu). Po chvíli čtení a diskusích s kolegy jsem zvolil Unity. Proč? Protože na rozdíl od Unrealu nabízela a stále nabízí podporu pro export do většiny platforem, včetně těch mobilních. Mě konkrétně přesvědčila i přítomnost volby pro XBox360 (ne že bych ji někdy využil, ale znáte to: co kdyby… ). Unreal se v tomto ohledu věnuje už jen nejnovějšímu XBox One. Za poslední dva roky se ale i ten významně zlepšil v podpoře mobilních platforem. Unity používá pro skriptování (pokud je využijete) C#, zatímco Unreal pracuje s C++. Pokud vám poslední věta nic neříká, netrapte se tím. Není to v tuto chvíli důležité. Navíc to pravděpodobně znamená, že máte mnohem volnější ruku v tom, které z vývojových prostředí zvolit. Což je vlastně dobrá zpráva, ne?

Začal jsem kurzem zakoupeným na Udemy. Byl skvělý. Schválně píšu „byl”, protože už v době jeho studia mě prudily drobné rozdíly mezi verzí Unity použitou ve výuce a tou akutální. Propast mezi učivem a skutečností se k dnešku ještě zvětšila. Takže pozor na to. Z dnešního pohledu je přesto „můj starý“ kurz stále užitečný: seznámí uživatele s vývojovým prostředím, se skriptovacími nástroji a základní filozofií používaných prvků. V čem se naopak člověk zcela ztratí, jsou skripty pro ovladače, chcete-li svůj výtvor přenést do HTC Vive. Nová verze SteamVR 2 kompletně přepsala způsob, jak se s nimi po programové stránce zachází… a ne vždy je úprava intuitivní a ne vždy je možná bez kompletního přepisu předváděného skriptu. Ale na druhou stranu: k namodelování svého prvního VR projektu to třeba nebudete potřebovat. Záleží jen na tom, jaké si napoprvé stanovíte cíle.

Dalším zdrojem informací je samozřejmě internet. Kromě tutoriálů a dokumentace Unity (nebo  Unrealu) je největší pokladnicí Youtube. Bohužel podobně jako u Udemy kurzů i tady převládají videa odkazující se na starší verze Unity a dalších knihoven. Patříte-li mezi ty, kdo rádi pracují s nejnovějšími verzemi, dostáváte se nutně do informační pasti, protože starší lekce nemusejí odpovídat skutečnosti už téměř v ničem. Kromě zmíněných změn v přístupu k ovladačům se třeba za poslední rok změnil i způsob tvorby 3D terénu (rozhodně k lepšímu). Zkrátka, právě v tuto chvíli je to s aktuálními a použitelnými návody těžké. Ovšem ne neřešitelné. Jedním z těch, kdo jsou ochotni sdílet své zkušenosti a přitom držet krok s dobou, je třeba youtube stránka VRwithAndrew, z níž lze čerpat i nyní.

Předpokládejme, že se skutečně pustíte do dobrodružství vlastního vývoje. Pojďme si popsat pár základních pojmů, s nimiž se můžete setkat a jež byste nejspíš měli znát.

Pohyb ve VR:

Přesouvat se ve VR z místa na místo má ve stávajícím pojetí VR své limity. Už v předchozím dílu seriálu jsme si vysvětlili, že prostor, v němž se uživatel pohybuje, je kontrolován nějakým druhem senzorů. Někde takové omezení vyřešili lišácky tím, že síť senzorů rozšířili a hráče/uživatele vybavují batůžkem s potřebným vybavením. Ve většině případů jsme ale limitováni herním prostorem vymezeným úhlopříčkou dvou základnových stanic. V místnosti tři na tři metry člověk tedy bez nárazu do stěn udělá tak nejvýš dva tři kroky. Možná spíš krůčky. Přidejte k tomu kabelový svazek, jenž vám plandá z helmy a neustále se vám motá pod nohy (ano, jsou i bezdrátové headsety – povíme si o nich už v přespříští kapitole zaměřené na aktuální i očekávané vybavení). Jistě, zručný řemeslník určitě může přijít s řešením, jež minimálně kabeláž povede shora, ale ve většině případů se do takové fáze úprav nikdo nedostane. Krok sem, krok tam se hodí, když uhýbáte překážkám, příšerám, střelám. Potřebujete-li se však v herním prostoru dostat někam dál, je potřeba sáhnout po jiném přístupu. Uznávanou metodou se stal tak zvaný teleport. Možná jste ten výraz už slyšeli. Ano, Startrek je jím pověstný. Jak asi tušíte, ve skutečnosti vás nikdo nerozkládá na paprsek energie a v cíli neskládá zase zpět. Ne, prostě ukážete virtuálním ukazovátkem na místo, kam máte namířeno, stisknete předdefinované teleportační tlačítko a šup, program překreslí scénu tak, abyste se ocitli na novém místě. Na tohle téma dnes ještě přijde řeč.

Co znamená hráč”:

Na rozdíl od „obyčejných” her vystupuje ve VR hráč/uživatel obvykle „sám za sebe”. Tomu se ve světě her říká FPS (First Person Shooter) - tedy střelec v první osobě. Pro jistotu zdůrazňuji, že to v žádném případě neznamená, že by hra/aplikace musela být jakkoli spojena se střelbou. Jen jde o terminus-technicus vyjadřující výše zmíněnou skutečnost: „koukám na svět jakoby vlastníma očima”. Pohledy na všechny scény ve VR zprostředkovávají kamery. Z toho už je tedy asi zřejmé, že pojem „vlastníma očima” je jen specifickým druhem „pohledu z té či oné kamery”. S touto znalostí se můžeme vrátit k teleportaci - efektu přesunu touto cestou lze dosáhnout v zásadě dvěma způsoby - buď programově změnit souřadnice právě používané kamery, nebo předat vládu kameře, která již na nových souřadnicích na svoji příležitost čeká. Každý přístup má, jak se dá očekávat, svá pro i proti. Záleží na konkrétní situaci.

Interakce se světem:

Na rozdíl od světa skutečného nás ve VR omezuje opravdu jen vlastní fantazie. Pustíte-li se do své tvorby, neptejte se jako první na „jak?“. Nejdřív vymyslete „co“. Věřte, že cesta k řešení se najde. Chcete-li hladit koťátko, můžete. Chcete-li procházet zdí, proč ne? Vlastně je mnohem snazší zdí procházet než nikoli. Chcete-li házet předměty, není nic jednoduššího. Pro svůj nový svět můžete využít fyzikálních zákonů, které vám tvůrci vývojového prostředí předpřipravili, můžete si ale nastavit úplně jiné, nad nimiž by Newtonovi vstávaly vlasy na hlavě hrůzou. Předmětům jediným atributem nastavíte hmotnost, jiným příznakem zařídíte, aby se věci od sebe odrážely stejně, jako by to udělaly ve skutečnosti. Pro již zmíněnou teleportaci můžete pracovat s portály v jakémkoli tvaru – dáváte-li před kruhovými základnami přednost tajemným dveřím, máte-je mít. Většinu předmětů můžete získat již hotovou z dodávaných knihoven tak zvaných assetů. Ty, které nenajdete přímo v Unity, můžete zkusit vyhledat v Asset storu. Nemálo z nich je k dispozici zdarma. Asset store nenabízí jen jednoduché modely. Lze v něm pořídit celé krajiny, dokonce celé světy.

O možnostech tvorby si můžeme vyprávět celé hodiny, dny nebo týdny. Ale myslíte-li to s vlastním vývojem vážně, není lepší cesty, než se do něj pustit. Na rozdíl od reálného světa, tady za své chyby nezaplatíte ani životem, ale nejspíš dokonce ani zdravím. Takže, na co ještě čekáte?

Závěrečný test: Co myslíte, jak dlouho trvá umístit do VR světa koulející se míček?

Příště: Nástroj nebo jen hra?

Upoutávka: Nepochybuji, že tohle by mi neskutečně slušelo! Ale přece kvůli pár kouskům nepojedu přes celé město? Kdybych si to tak mohla vyzkoušet přes internet...

Autor: Dalibor Boubín | sobota 13.4.2019 4:44 | karma článku: 17,69 | přečteno: 2925x