Full Transcript

Machine Translated by Google Machine Translated by Google Projekty virtuální reality Unity Druhé vydání Jonathan Linowes BIRMINGHAM – MUMBAJ Machine Translated by Google Projekty virtuální reality Unity Druhé vydání Copyri...

Machine Translated by Google Machine Translated by Google Projekty virtuální reality Unity Druhé vydání Jonathan Linowes BIRMINGHAM – MUMBAJ Machine Translated by Google Projekty virtuální reality Unity Druhé vydání Copyright 2018 Packt Publishing Všechna práva vyhrazena. Žádná část této knihy nesmí být reprodukována, ukládána do vyhledávacího systému nebo přenášena v jakékoli formě nebo jakýmikoli prostředky bez předchozího písemného souhlasu vydavatele, s výjimkou případu krátkých citací vložených do kritických článků nebo recenzí. Při přípravě této knihy bylo vynaloženo veškeré úsilí, aby byla zajištěna přesnost uváděných informací. Informace obsažené v této knize jsou však prodávány bez záruky, ať už výslovné nebo předpokládané. Ani autor(i), ani Packt Publishing ani jeho prodejci a distributoři nenesou odpovědnost za jakékoli škody způsobené nebo údajné, že byly přímo či nepřímo způsobeny touto knihou. Společnost Packt Publishing se snažila poskytovat informace o ochranných známkách o všech společnostech a produktech zmíněných v této knize s použitím velkých písmen. Packt Publishing však nemůže zaručit přesnost těchto informací. Editor: Kunal Chaudhari Editor akvizice: Reshma Raman Editor vývoje obsahu: Onkar Wani Technický redaktor: Ralph Rosario Copy Editor: Safis Editing Koordinátor projektu: Devanshi Doshi Korektor: Safis Editing Indexátor: Aishwarya Gangawane Grafika: Jason Monteiro Koordinátor produkce: Deepika Naik Poprvé zveřejněno: září 2015 Druhé vydání: květen 2018 Výrobní číslo: 1180518 Vydalo Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, Velká Británie. ISBN 978-1-78847-880-9 Machine Translated by Google Tato kniha je věnována manželce Lisamy, nejlepší přítelkyni a spřízněné duši a úžasné rodině, kterou jsme společně vytvořili: Rayně, Jarrettovi, Stevenovi a Shiře, kteří ve svých srdcích vědí, že budoucnost je na nich. Machine Translated by Google Mapt je online digitální knihovna, která vám poskytuje plný přístup k více než 5 000 knih a videí a také špičkovým nástrojům, které vám pomohou naplánovat váš osobní rozvoj a pokročit ve vaší kariéře. Pro více informací navštivte naše webové stránky. Proč se přihlásit k odběru? Věnujte méně času učení a více času kódování s praktickými e-knihami a videi od více než 4 000 profesionálů Zlepšete své učení pomocí plánů dovedností vytvořených speciálně pro vás Získejte zdarma e-knihu nebo video každý měsíc Mapt je plně prohledávatelný Kopírování a vkládání, tisk a přidávání obsahu do záložek PacktPub.com Věděli jste, že Packt nabízí verze e-knih každé vydané knihy se soubory PDF a ePub? Upgradovat na verzi eKnihy můžete na adrese a jako zákazník tištěné knihy máte nárok na slevu na kopii eKnihy. Kontaktujte nás pro více podrobností. na Na adrese si také můžete přečíst sbírku bezplatných technických článků, přihlásit se k odběru řady bezplatných zpravodajů a získat exkluzivní slevy a nabídky na knihy a elektronické knihy Packt. Machine Translated by Google Přispěvatelé O autorovi Jonathan Linowes založil Parkerhill Reality Labs, pohlcující mediální nezávislé studio a je vývojářem sady nástrojů BridgeXR, hry Power Solitaire VR a připravované hry Chess Or Die. Je to VR/AR evangelista, vývojář Unity, podnikatel a učitel. Jonathan má BFA ze Syracuse University a MS z MIT Media Lab. Zastával technické vedoucí pozice v Autodesku a dalších společnostech. Je autorem Unity Virtual Reality Projects (první vydání 2015), Cardboard VR Projects pro Android (2016) a Augmented Reality for Developers (2017), které všechny vydal Packt. Machine Translated by Google O recenzentovi Krystian Babilinski je zkušený Unity Developer s rozsáhlými znalostmi v oblasti 3D designu a od roku 2015 vyvíjí profesionální AR/VR aplikace. Vedl Babilin Applications, skupinu Unity Design, která podporovala vývoj open source a zapojila se do Unity Community. Nedávno Krystian vydal knihu s návody na rozšířenou realitu s názvem Rozšířená realita pro vývojáře. Krystian nyní vede vývoj ve společnosti Parkerhill Reality Labs, která vydává multiplatformní VR hry. Packt hledá autory, jako jste vy Pokud se chcete stát autorem knihy Packt, navštivte a přihlaste se ještě dnes. Spolupracovali jsme s tisíci vývojářů a technologických profesionálů, jako jste vy, abychom jim pomohli sdílet jejich poznatky s globální technickou komunitou. Můžete podat obecnou žádost, přihlásit se na konkrétní aktuální téma, pro které nabíráme autora, nebo odeslat svůj vlastní nápad. Machine Translated by Google Obsah Předmluva 1 Kapitola 1: Prakticky vše pro každého Co je pro vás 9 virtuální realita? 10 Typy náhlavních displejů Desktop VR 12 Mobile VR 12 12 Rozdíl mezi virtuální realitou a rozšířenou realitou Aplikace versus hry Jak 13 virtuální realita skutečně funguje 14 Stereoskopické 3D sledování Sledování 17 hlavy Typy zážitků VR 18 Technické 20 dovednosti, které jsou pro VR 22 důležité O čem tato kniha pojednává Kdo jsi? 23 25 25 Shrnutí 26 Kapitola 2: Obsah, objekty a měřítko Začínáme s 27 Unity 27 Vytvoření nového projektu Unity 28 Editor Unity 28 Výchozí světový prostor 30 Vytvoření jednoduchého dioráma 31 Přidání kostky 31 Přidání letadla 32 Přidání koule a nějakého materiálu 34 Změna zobrazení scény 36 Přidání fotografie 37 Barvení základní roviny 40 Nástroje pro měření 40 Mějte jednotkovou kostku po ruce 40 Použití mřížkového projektoru 41 Měření postavy Ethana 44 Používání obsahu třetích stran 45 Vytváření 3D obsahu pomocí Blenderu 47 Úvod do Blenderu 48 Jednotková kostka 51 UV textura obrázek 52 Machine Translated by Google Obsah Import do Unity 56 Několik postřehů 57 Vytváření 3D obsahu ve VR 59 Export a import modelů Tilt Brush 60 Publikování a import pomocí Google Poly 62 Úpravy Unity ve VR pomocí EditorXR 64 Nastavení EditorXR 65 Pomocí EditorXR 66 souhrn 69 Kapitola 3: VR Build and Run 71 Podpora a sady nástrojů Unity VR 72 Integrovaná podpora VR Unity 73 Sady nástrojů pro konkrétní zařízení 74 Aplikační sady nástrojů 75 Web a VR založená na JavaScriptu 75 3D světy 76 Povolení virtuální reality pro vaši platformu 76 Nastavení vaší cílové platformy 78 Nastavení XR SDK 78 Instalace sady nástrojů zařízení 79 Vytvoření prefabrikátu přehrávače MeMyselfEye 79 Stavba pro SteamVR 81 Budova pro Oculus Rift 83 Budova pro Windows Immersive MR 85 Nastavení vývojářského režimu Windows 10 86 Instalace podpory UWP ve Visual Studiu 87 Sestavení UWP 89 Nastavení pro zařízení Android 91 Instalace sady Java Development Kit (JDK) 91 Instalace Android SDK 92 Prostřednictvím nástrojů příkazového řádku 94 Informace o umístění kořenové cesty sady Android SDK 95 Instalace ladění a připojení zařízení USB 95 Konfigurace externích nástrojů Unity 96 Konfigurace nastavení Unity Player pro Android 97 Budova pro GearVR a Oculus Go 98 Budování pro Google VR 99 Google Daydream 99 Google Cardboard 101 Režim Google VR Play 102 Nastavení pro zařízení iOS 103 Mít Apple ID 103 Nainstalujte Xcode 104 Konfigurace nastavení Unity Player pro iOS 104 [ii] Machine Translated by Google Obsah Shrnutí Build 105 And Run 105 Kapitola 4: Ovládání založené na pohledu 106 Ethan, chodec Uměle 106 inteligentní Ethan Pekárna 107 NavMesh Náhodný 109 chodec ve městě Skript 111 RandomPosition "Zombie-ize" 112 Ethan! 114 Jdi, kam hledám 115 Skript LookMoveTo 116 Přidání kurzoru zpětné vazby 119 Pozorování přes překážky 120 Kdyby pohled mohl zabíjet 121 Skript KillTarget 121 Přidání částicových efektů 123 Čištění 125 Krátký úvod do programování Unity C# 125 souhrn 128 Kapitola 5: Praktické interaktivní prvky 129 Nastavení scény 130 Vytvoření balónu 130 Dělat z toho prefabrikát 131 Základní tlačítkový vstup 132 Pomocí tlačítka Fire1 133 Spouštěcí tlačítko OpenVR 135 Ovladač Daydream cvaká 136 Dotazování na kliknutí 137 Naše vlastní funkce tlačítka rozhraní 138 Vytváření a vypouštění balónků 139 Nafukování balónku při stisknutí 142 Použití skriptovatelných objektů pro vstup 143 Vytvoření skriptovatelného objektu 145 Vyplnění vstupního objektu akce 147 Přístup k objektu vstupní akce 148 Simulační testování se skriptovatelnými objekty 149 Použití událostí Unity pro vstup 149 Vyvolání našich vstupních akcí 151 Přihlášení k odběru vstupních událostí 152 Opravdu pomocí rukou 154 Rodičovské balónky do ruky 154 Praskání balónků 156 Interaktivní položky 158 [iii] Machine Translated by Google Obsah Interaktivní pomocí SteamVR Interaction System 159 Interaktivní prvky pomocí Daydream VR Elements 161 souhrn 163 Kapitola 6: Uživatelské rozhraní World Space 164 Studium principů návrhu VR 165 Znovu použitelné výchozí plátno 168 HUD hledí 172 Kurzor zaměřovacího kříže 174 HUD čelního skla 176 Herní prvek uživatelského rozhraní 179 Pomocí TextMeshPro 181 Informační bublina 182 In-game dashboard se vstupními událostmi 185 Vytvoření dashboardu s tlačítky 186 Připojení vodní hadice k tlačítkům 188 Aktivace tlačítek ze skriptu 190 Pohledem zvýrazněte tlačítko 191 Podívejte se a kliknutím vyberte 193 Podívejte se a začněte vybírat 194 Ukazování a klikání pomocí komponent VR 195 Pomocí Unity UI a SteamVR 196 Používání Unity UI a Daydream 198 Vytvoření palety nabídek založené na zápěstí 199 souhrn 200 Kapitola 7: Pohyb a pohodlí 201 Porozumění postavám Unity 201 Součásti jednoty 201 Komponenta Fotoaparát 202 Komponenta tuhého tělesa 202 Komponenta Character Controller 203 Standardní aktiva Unity 203 Řadič třetí osoby 205 AITtřetíPersonController 205 FPSController z pohledu první osoby 206 RigidBodyFPSController 206 Použití klouzavé lokomoce 207 Pohybujte se směrem, kterým se díváte 207 Mějte nohy na zemi 208 Neprocházejte pevnými předměty 209 Nespadněte z okraje světa 211 Přešlapování malých předmětů a zvládání nerovného terénu 212 Spuštění a zastavení pohybu 213 Přidání komfortního režimu lokomoce 214 [iv] Machine Translated by Google Obsah Další úvahy o lokomoci 216 Techniky pro teleportaci 217 Podíváme se na teleport 217 Teleportace mezi povrchy 220 Body spawn teleportu 222 Další úvahy o teleportu 226 Sady nástrojů pro teleportaci 227 Teleportování pomocí SteamVR Interaction System 228 Teleportování pomocí Daydream Elements 230 Resetování středu a polohy 231 Podpora teleportace v měřítku místnosti 232 Správa VR kinetózy 233 souhrn 235 Kapitola 8: Hra s fyzikou a ohněm 236 Fyzika jednoty 236 Skákací míče 238 Správa herních objektů 242 Ničení spadlých předmětů 243 Nastavení omezené životnosti 243 Implementace objektového fondu 244 Hra Headshot 249 Pádlo míčová hra 253 Deflektor versus pádlo 256 Střílečka míčová hra 257 Odšťavnění scény 261 Velké ohnivé koule 261 Prostředí lebky 266 Synchronizace zvuku 267 souhrn 270 Kapitola 9: Prozkoumávání interaktivních prostorů 271 Level design s Blenderem 271 Vymezení stěn 272 Přidání stropu 276 Sestavení scény v Unity 279 Úroveň galerie 280 Souprava uměleckých děl 281 Plán výstavy 284 Přidávání obrázků do galerie 285 Správa informačních dat o umění 288 Pomocí seznamů 288 Použití datových struktur 290 Použití skriptovatelných objektů 291 [v] Machine Translated by Google Obsah Zobrazení informací o umění 295 Vytvoření titulní plakety 296 Detaily interaktivních informací 297 Úprava poměru stran obrazu 300 Pohyb po galerii 302 Teleportování mezi obrázky 302 Teleportování pomocí SteamVR Interaction System 302 Teleportování pomocí Daydream Elements 304 Úvahy o měřítku místnosti 305 Animace průjezdu 306 souhrn 309 Kapitola 10: Použití všech 360 stupňů 310 360stupňových médií 310 Rovnoúhlé projekce 311 VR hackuje vaše 180stupňová média v 313 zorném poli 314 Stereo 360stupňová média 314 Zábava s fotografickými glóby 315 Křišťálové koule 315 Globusy 318 Vykreslování sférických fotek 321 Psaní vlastního Inward shaderu 322 Magické koule 324 Photospheres 326 Přehrávání 360stupňových videí 327 Použití Unity skyboxů 331 Šestistranné nebo cubemap skyboxy 331 Sférické panoramatické skyboxy 360 333 video skyboxy 336 3D stereo skyboxy 336 Zachycení 360 stupňů v Unity 337 Snímání krychlových map a reflexních sond 337 Použití balíčku třetí strany pro zachycení 360° obrazu 339 Unity vestavěné stereo 360 zachycování obrazu a videa 341 souhrn 343 Kapitola 11: Animace a vyprávění VR příběhů 344 Skládání našeho příběhu 344 Shromažďování majetku 346 Vytvoření úvodní scény 346 Časové osy a zvukové stopy 349 Použití časové osy k aktivaci objektů 352 Nahrávání animované stopy 354 Rostoucí strom 355 [ vi ] Machine Translated by Google Obsah Rostoucí pták 356 Pomocí editoru animací 356 Vlající hnízdo 356 Animace dalších vlastností 360 Animace světel 360 Animace vlastnosti skriptované komponenty 361 Řízení částicových systémů 364 Používání animačních klipů 366 Třesení vajíčkem 366 Použití ovladačů Animator Definice 369 pro animaci a animátor ThirdPersonController 369 Animátor Živí ptáci Animátor Učíme se 370 létat Hackování ptáků 371 Odlétají! 373 375 376 Vytvoření interaktivního příběhu 378 Podívejte se 378 na hraní Resetování původního 380 nastavení scény Více nápadů 381 na interaktivitu 382 Shrnutí Kapitola 12: Sociální VR Metaverse Síť 383 pro více hráčů Síťové služby 384 Architektura sítě Lokální 384 versus server Síťový systém 385 Unity 386 388 Nastavení jednoduché scény 388 Vytváření prostředí scény 389 Vytvoření hlavy avatara 390 Přidání sítě pro více hráčů 391 Správce sítě a HUD 392 Transformace síťové identity a synchronizace 392 Běh jako hostitel 393 Přidání spawn pozic 394 Spuštění dvou instancí hry 394 Spojení Avatara s postavou z první osoby 396 Přidání dohazovací lobby 398 Synchronizace objektů a vlastností 400 Nastavení míčové hry headshot 401 Tření míče přes síť 404 Synchronizace míčové transformace 405 Synchronizace stavových proměnných 406 Pokročilá síťová témata 408 [vii] Machine Translated by Google Obsah Možnosti hlasového chatu 409 Pomocí platformy Oculus a avatarů 410 Kontrola oprávnění platformy Oculus 411 Přidání místního avatara 412 Přidávání vzdálených avatarů 413 Vytváření a sdílení vlastních místností VRCat 415 Příprava a budování světa 416 souhrn 418 Kapitola 13: Optimalizace pro výkon a pohodlí 420 Použití Unity Profiler a Stats 421 Okno Statistiky 421 Přehled Profileru 423 Optimalizace vašeho umění 424 Nastavení scény 425 Decimující modely 429 Průhledné materiály 431 Úrovně detailů 432 Optimalizace vaší scény pomocí statických objektů 436 Nastavení scény 436 Osvětlení a pečení 437 Vyřazení okluze 439 Optimalizace kódu 440 Pochopení životního cyklu Unity 441 Psaní efektivního kódu 443 Vyhněte se drahým voláním API 444 Optimalizace vykreslování 445 Život je várka 446 Víceprůchodové vyplnění pixelů 447 Shadery optimalizované pro VR 448 Výkon za běhu a ladění 449 Snít 450 Oculus 451 souhrn 451 Další knihy, které se vám mohou líbit 453 Index 457 [viii] Machine Translated by Google Předmluva Dnes jsme svědky rozmachu virtuální reality (VR), vzrušující nové technologie a kreativního média, které slibuje zásadním způsobem změnit způsob, jakým komunikujeme s našimi informacemi, přáteli a světem obecně. Na VR head-mounted display (HMD) můžete sledovat stereoskopické 3D scény. Pohybem hlavy se můžete rozhlížet kolem sebe, procházet se prostorem se sledováním v měřítku místnosti a komunikovat s virtuálními objekty pomocí pozičních ručních ovladačů. S VR se zapojíte do plně pohlcujících zážitků. Jako byste se skutečně ocitli v nějakém jiném virtuálním světě. Tato kniha využívá praktický, projektový přístup, aby vás naučila specifikům vývoje virtuální reality pomocí herního enginu Unity 3D. Procházíme řadou praktických projektů, podrobných výukových programů a hloubkových diskusí pomocí Unity 2018 a dalšího bezplatného nebo open source softwaru. Zatímco technologie VR rychle postupuje, pokusíme se zachytit základní principy a techniky, které můžete použít k vytváření vlastních her a aplikací pro VR. pohlcující a pohodlné. Naučíte se, jak používat Unity k vývoji aplikací VR, které lze zažít se zařízeními, jako je Oculus Rift, Google Daydream, HTC VIVE a další. Budeme se zabývat technickými aspekty, které jsou obzvláště důležité a možná jedinečné pro VR. Na konci této knihy budete připraveni rozvíjet bohaté a interaktivní zážitky z virtuální reality. O autorovi a tomto druhém vydání Před lety jsem studoval 3D počítačovou grafiku na vysoké škole a design uživatelského rozhraní na postgraduální škole a poté jsem založil malou softwarovou společnost vyvíjející 3D grafický engine pro správu technických výkresů AutoCADu. Podnik jsme prodali společnosti Autodesk. V následujících letech jsem se zaměřil na vývoj 2D webových aplikací, blogoval o svých technických dobrodružstvích a věnoval se několika novým startupům. Pak jsem v březnu 2014 četl o tom, že Facebook koupil Oculus za 2 miliardy dolarů; což mě rozhodně zaujalo. Okamžitě jsem si objednal svůj první VR headset, vývojářskou sadu Oculus DK2, a začal vyvíjet malé VR projekty v Unity. Machine Translated by Google Předmluva V únoru 2015 mě napadlo napsat knihu o vývoji Unity VR. Packt můj návrh okamžitě přijal a najednou jsem si uvědomil: "Ach ne! Musím to udělat!" Během 6 měsíců, v srpnu 2015, vyšlo první vydání této knihy. To je krátká doba na to, abyste přešli od návrhu k osnově k návrhům kapitol, ke kontrole až ke konečnému návrhu a publikaci. Byl jsem posedlý. Tehdy jsem své ženě řekl, že mám pocit, že kniha žije vlastním životem, "je ve mně a snaží se dostat ven, jen jí musím uhnout z cesty." Odpověděla: "Zdá se, že jsi těhotná." V době psaní tohoto článku byl Google Cardboard věc, ale neexistovala žádná spotřebitelská zařízení VR. DK2 neměl žádné ruční ovladače, pouze herní ovladač pro XBox. Měsíce po vydání knihy, v listopadu 2015, přišlo HTC Vive na trh s pokojovou váhou a pozičně sledovanými ručními ovladači. V březnu 2016 byla vydána spotřebitelská verze Oculus Rift. Až v prosinci 2016, téměř rok a půl poté, co kniha vyšla, Oculus vydal své pozičně sledované ruční ovladače Touch. Od prvního vydání této knihy přišlo na trh mnoho nových VR zařízení, hardwarové a softwarové funkce se zlepšily a herní engine Unity nadále přidává nativní integrace VR SDK a nové funkce na jejich podporu. Oculus, Google, Steam, Samsung, PlayStation, Microsoft a mnoho dalších se připojilo k potyčce, protože odvětví se neustále zrychluje a kvete. Mezitím, v roce 2016, jsem byl spoluautorem další knihy s Packtem, Cardboard VR Projects for Android, což je kniha mimo Unity VR využívající Java a Android Studio k vytváření Google Daydream a kartonových aplikací. (V té knize si sestavíte a používáte svůj vlastní domácí 3D grafický engine pro mobilní zařízení). V roce 2017 jsem pak s Packtem napsal třetí knihu, Augmented Reality for Developers, vzrušující a aktuální knihu projektů založených na Unity pro aplikace AR na zařízeních iOS, Android a HoloLens. Když nadešel čas začít toto druhé vydání Unity Virtual Reality Projects, očekával jsem, že to bude relativně jednoduchý úkol aktualizace na aktuální verzi Unity, přidání podpory pro polohově sledované ruční ovladače a sem tam pár vylepšení. Není to tak jednoduché! I když se mnoho ze základů a rad v prvním vydání nezměnilo, jako průmysl jsme se za těch pár krátkých let hodně naučili. Například opravdu není skvělý nápad implementovat trampolínu ve VR (jeden z našich projektů, který byl v této edici zrušen), protože to může skutečně způsobit kinetózu! Machine Translated by Google Předmluva Pro toto druhé vydání je kniha výrazně přepracována a rozšířena. Každá kapitola a projekt byly aktualizovány. Některá témata jsme rozdělili do vlastních kapitol se zcela novými projekty, jako je audio ohnivá koule (, Playing with Physics and Fire), animace (, Animace a VR Storytelling) a optimalizace ( , Optimalizace pro výkon a pohodlí). Upřímně doufám, že tato kniha bude pro vás zábavná, vzdělávací a užitečná, protože všichni usilujeme o vytvoření skvělého nového obsahu pro VR a prozkoumání tohoto úžasného nového média. Pro koho je tato kniha Pokud se zajímáte o virtuální realitu, chcete se naučit, jak funguje, nebo si chcete vytvořit vlastní VR zážitky, tato kniha je pro vás. Ať už nejste programátor a neznáte 3D počítačovou grafiku, nebo máte zkušenosti s obojím, ale ve virtuální realitě jste nováčkem, tato kniha vám bude hodit. Jakákoli zkušenost v Unity je výhodou. Pokud jste v Unity noví, můžete si tuto knihu vyzvednout i vy, i když si možná budete chtít nejprve projít některé z vlastních úvodních výukových programů Unity dostupných na jejich webových stránkách ( ). Vývojáři her již mohou být obeznámeni s koncepty v této knize znovu aplikovanými na projekty VR, zatímco se učí mnoho dalších nápadů specifických pro VR. Návrháři mobilních a 2D her, kteří už Unity umějí používat, objeví další dimenzi! Inženýři a 3D návrháři mohou chápat mnoho 3D konceptů, ale naučí se používat engine Unity pro VR. Vývojáři aplikací mohou ocenit potenciální neherní využití VR a možná se budou chtít naučit nástroje, jak toho dosáhnout. O čem tato kniha pojednává , Prakticky vše pro každého, je úvodem do nových technologií a příležitostí ve spotřebitelské virtuální realitě ve hrách a neherních aplikacích, včetně vysvětlení stereoskopického sledování a sledování hlavy. , Content, Objects a Scale představuje herní engine Unity, když vytváříme jednoduchou diorámovou scénu a kontroluje import 3D obsahu vytvořeného pomocí jiných nástrojů, jako je Blender, Tilt Brush, Google Poly a Unity EditorXR. , VR Build and Run, vám pomůže nastavit váš systém a projekt Unity tak, aby se vytvořil a spustit na cílových zařízeních, včetně SteamVR, Oculus Rift, Windows MR, GearVR, Oculus Go a Google Daydream. Machine Translated by Google Předmluva , Gaze-Based Control, zkoumá vztah mezi VR kamerou a objekty ve scéně, včetně 3D kurzorů a paprskových děl založených na pohledu. Tato kapitola také představuje skriptování Unity v programovacím jazyce C#. , Handy Interactables, se dívá na události uživatelského vstupu pomocí tlačítek ovladače a interakčních objektů, pomocí různých softwarových vzorů včetně dotazování, skriptovatelných objektů, událostí Unity a interakčních komponent poskytovaných se sadou nástrojů SDK. , World Space UI, implementuje mnoho příkladů uživatelského rozhraní (UI) pro VR pomocí a Světové vesmírné plátno Unity, včetně head-up displeje (HUD), informačních bublin, objektů ve hře a palety nabídek na zápěstí. , Locomotion and Comfort, ponoří se do technik pro pohyb ve VR scénu, pozorně se díváte na objekty a komponenty postav z první osoby Unity, pohyb, teleportaci a VR v měřítku místnosti. , Playing with Physics and Fire, prozkoumává fyzikální engine Unity, fyzikální materiály, částicové systémy a další skriptování v jazyce C#, zatímco vytváříme hru s paddle ball, která šlehá ohnivé koule v čase do vaší oblíbené hudby. , Exploring Interactive Spaces, učí, jak vybudovat interaktivní uměleckou galerii, včetně designu úrovní, osvětlení uměleckých děl, správy dat a teleportace vesmírem. Použití všech 360 stupňů vysvětluje 360stupňová média a používá je v různých oblastech příklady, včetně glóbů, koulí, fotosfér a skyboxů. , Animace a VR Storytelling vytváří kompletní VR příběhový zážitek pomocí importovaných 3D prostředků a zvukové stopy a časových os a animací Unity. , Social VR Metaverse zkoumá implementace pro více hráčů pomocí Unity Síťové komponenty a také vývoj pro avatary platformy Oculus a VRCat pokoje. , Optimalizace pro výkon a pohodlí, ukazuje, jak používat okno Unity Profiler and Stats ke snížení latence ve vaší VR aplikaci, včetně optimalizace vašeho 3D umění, statického osvětlení, efektivního kódování a vykreslování GPU. Machine Translated by Google Předmluva Abych z této knihy vytěžil maximum Než začneme, je několik věcí, které budete potřebovat. Vezměte si svačinu, láhev vody nebo šálek kávy. Kromě toho budete potřebovat PC (Windows nebo Mac) s nainstalovaným Unity 2018. Nepotřebujete super výkonný počítač. Zatímco Unity může být bestie, která dokáže vykreslit složité scény, a výrobci VR jako Oculus zveřejnili doporučené specifikace pro PC hardware, ve skutečnosti si vystačíte s méně; dokonce i notebook postačí pro projekty v této knize. Chcete-li získat Unity, , vyberte Osobní a stáhněte si instalační program. přejděte na Bezplatná osobní verze je v pořádku. Volitelně také využíváme open source projekt Blender pro 3D modelování. Tato kniha není o Blenderu, ale pokud budete chtít, použijeme ji. Chcete-li získat Blender, přejděte na a postupujte podle pokynů pro vaši platformu. Důrazně se doporučuje přístup k náhlavnímu displeji virtuální reality (HMD) , abyste si vyzkoušeli své sestavení a získali první zkušenosti s projekty vyvinutými v této knize. Ačkoli to není zcela nutné, můžete při práci v Unity používat režimy emulace. V závislosti na vaší platformě může být nutné nainstalovat další vývojové nástroje. Kapitola 3, VR Build and Run, se zabývá podrobnostmi toho, co potřebujete pro každé zařízení a platformu, včetně SteamVr, Oculus Rift, Windows MR, GearVR, Oculus Go, Google Daydream a dalších. To by mělo dělat jen PC, software Unity, zařízení VR, další nástroje popsané v kapitole 3, VR Build and Run, a můžeme začít! Některé projekty budou úplnější, pokud si stáhnete související aktiva z webu Packt, jak je uvedeno níže. Stáhněte si aktiva projektu a soubory s ukázkovým kódem Aktiva projektu a soubory vzorových kódů pro tuto knihu si můžete stáhnout ze svého. Pokud adrese a jste tuto knihu zakoupili jinde, můžete navštívit účet na zaregistrovat se, aby vám byly soubory zaslány přímo e-mailem. Machine Translated by Google Předmluva Soubory kódu si můžete stáhnout podle následujících kroků: 1. Přihlaste se nebo se. zaregistrujte na adrese 2. Vyberte kartu PODPORA. 3. Klikněte na Code Downloads & Errata. 4. Do pole Hledat zadejte název knihy a postupujte podle pokynů na obrazovce instrukce. Po stažení souboru se ujistěte, že jste složku rozbalili nebo extrahovali pomocí nejnovější verze: WinRAR/7-Zip pro Windows Zipeg/iZip/UnRarX pro Mac 7-Zip/PeaZip pro Linux Balíček kódů pro knihu je také hostován na GitHubu na adrese. V případě, že existuje aktualizaci na kód, bude aktualizován ve stávajícím úložišti GitHub. K dispozici máme také další balíčky kódů z našeho bohatého katalogu knih a videí. Zkontroluj je! na Stáhněte si barevné obrázky Poskytujeme také soubor PDF, který obsahuje barevné obrázky screenshotů/diagramů použitých v této knize. Stáhnout si ho můžete zde: https:. Použité konvence V této knize se používá řada textových konvencí. : Označuje kódová slova v textu, názvy databázových tabulek, názvy složek, názvy souborů, přípony souborů, názvy cest, fiktivní adresy URL, vstup uživatele a popisovače Twitteru. Zde je příklad: "Připojte stažený soubor obrazu disku jako jiný disk ve vašem systému." Machine Translated by Google Předmluva Blok kódu je nastaven následovně: Když chceme upozornit na určitou část bloku kódu, jsou příslušné řádky nebo položky nastaveny tučně: Tučné: Označuje nový termín, důležité slovo nebo slova, která vidíte na obrazovce. Například slova v nabídkách nebo dialogových oknech se v textu objevují takto. Zde je příklad: "Vyberte systémové informace z panelu Správa." Varování nebo důležité poznámky se zobrazují takto. Tipy a triky vypadají takto. Machine Translated by Google Předmluva Být v kontaktu Zpětná vazba od našich čtenářů je vždy vítána. Obecná zpětná vazba: E- a uveďte název knihy v mailový předmět vaší zprávy. Máte-li dotazy týkající se jakéhokoli aspektu této knihy, pošlete e-mail nás na. Errata: Přestože jsme vynaložili veškerou péči, abychom zajistili přesnost našeho obsahu, dochází k chybám. Pokud jste v této knize našli chybu, budeme rádi, když nám ji nahlásíte. Navštivte prosím , vyberte svou knihu, klikněte na odkaz Errata Submission Form a zadejte podrobnosti. Pirátství: Pokud na internetu narazíte na jakékoli nelegální kopie našich děl v jakékoli podobě, byli bychom vděční, kdybyste nám poskytli adresu místa nebo název webu. Kontaktujte nás prosím na s odkazem na materiál. Máte-li zájem stát se autorem: Pokud existuje téma, se kterým máte odborné znalosti, a máte zájem buď napsat nebo přispět do knihy, navštivte. Recenze Zanechte prosím recenzi. Jakmile tuto knihu přečtete a použijete, proč nezanechat recenzi na webu, kde jste ji zakoupili? Potenciální čtenáři pak mohou vidět a používat váš nezaujatý názor k rozhodování o nákupu, my v Packt můžeme pochopit, co si myslíte o našich produktech, a naši autoři mohou vidět vaši zpětnou vazbu na jejich knihu. Děkuji! Pro více informací o Packt navštivte. Machine Translated by Google Prakticky vše pro 1 Každý Tato věc virtuální reality zpochybňuje, co to znamená „být někde“? Před mobilními telefony byste někomu zavolali a nemělo by smysl říkat: "Hej, kde jsi?" Víš, kde jsou, zavolal jsi jejich domu, tam jsou. Pak se objeví mobilní telefony a vy začnete slyšet, jak lidé říkají: "Ahoj, jsem ve Starbucks," protože osoba na druhém konci nemusí nutně vědět, kde jste, protože jste se odpojili od svého dům pro hlasovou komunikaci. Takže když jsem viděl demo VR, měl jsem vizi návratu domů a moje žena nechala děti usadit, má pár minut pro sebe a leží na gauči s brýlemi na obličeji. Přijdu k ní a poklepu jí na rameno a říkám: "Hej, kde jsi?" Je to super zvláštní. Ten člověk sedí přímo před vámi, ale vy nevíte, kde je jsou. -Jonathan Stark, mobilní expert a podcaster Vítejte ve virtuální realitě (VR)! V této knize prozkoumáme, co je potřeba k tomu, abychom si sami vytvořili zážitky z virtuální reality. Projdeme si řadu praktických projektů, návodů krok za krokem a hloubkových diskusí s využitím herního enginu Unity 3D a dalšího bezplatného nebo open source softwaru. Přestože technologie virtuální reality rychle postupuje, pokusíme se zachytit základní principy a techniky, které můžete použít, aby vaše hry a aplikace pro VR byly pohlcující a pohodlné. Machine Translated by Google Prakticky vše pro každého Kapitola 1 V této první kapitole definujeme virtuální realitu a ukážeme, jak ji lze aplikovat nejen na hry, ale také na mnoho dalších oblastí zájmu a produktivity. Tato kapitola pojednává o následujících tématech: Co je virtuální realita? Rozdíly mezi virtuální realitou a rozšířenou realitou Jak se VR aplikace mohou lišit od VR her Typy VR zážitků Technické dovednosti, které jsou nezbytné pro vývoj VR Co je pro vás virtuální realita? Dnes jsme svědky rostoucí spotřebitelské virtuální reality, vzrušující technologie, která slibuje, že zásadním způsobem změní způsob, jakým komunikujeme s informacemi, našimi přáteli a světem obecně. Co je virtuální realita? Obecně je VR počítačově generovaná simulace 3D prostředí, která se osobě, která ji zažívá, jeví jako velmi reálná pomocí speciálního elektronického vybavení. Cílem je dosáhnout silného pocitu přítomnosti ve virtuálním prostředí. Dnešní spotřebitelská technologická VR zahrnuje nošení HMD (head-mounted display brýle) pro sledování stereoskopických 3D scén. Můžete se rozhlížet pohybem hlavy a procházet se pomocí ručních ovladačů nebo pohybových senzorů. Jste zapojeni do plně pohlcujícího zážitku. Je to, jako byste se skutečně ocitli v nějakém jiném virtuálním světě. Následující obrázek ukazuje, že já, autor, zažívám Oculus Rift Development Kit 2 (DK2) v roce 2015: Machine Translated by Google Prakticky vše pro každého Kapitola 1 Virtuální realita není novinkou. Je tu po celá desetiletí, i když skrytá v akademických výzkumných laboratořích a špičkových průmyslových a vojenských zařízeních. Bylo to velké, neohrabané a drahé. Ivan Sutherland vynalezl první HMD v roce 1965 (viz ). Bylo to připoutané ke stropu! V minulosti bylo učiněno několik neúspěšných pokusů uvést na trh produkty virtuální reality na spotřebitelské úrovni. V roce 2012 Palmer Luckey, zakladatel společnosti Oculus VR LLC, předvedl Johnu Carmackovi, slavnému vývojáři klasických videoher Doom, Wolfenstein 3D a Quake, ukázku provizorního displeje VR namontovaného na hlavě. Společně rozběhli úspěšnou kampaň na Kickstarteru a nadšené komunitě vydali vývojářskou sadu s názvem Oculus Rift Development Kit 1 (DK1). To upoutalo pozornost investorů i Marka Zuckerberga a v březnu 2014 společnost Facebook koupil za 2 miliardy dolarů. Bez produktu, bez zákazníků a s nekonečným příslibem pomohly peníze a pozornost, které to přitáhlo, nastartovat novou kategorii spotřebních produktů. Současně ostatní také pracují na svých vlastních produktech, které byly brzy uvedeny na trh, včetně HTC VIVE od Steamu, Google Daydream, Sony PlayStation VR, Samsung Gear VR, pohlcující Mixed Reality od Microsoftu a dalších. Stále jsou zaváděny nové inovace a zařízení, která vylepšují zážitek z VR. Většina základního výzkumu již byla provedena a technologie je nyní cenově dostupná z velké části díky masovému přijetí zařízení, která fungují na mobilní technologii. Existuje obrovská komunita vývojářů se zkušenostmi s vytvářením 3D her a mobilních aplikací. Tvůrci kreativního obsahu se přidávají a média o tom mluví. Konečně je virtuální realita skutečná! Řekni, co? Je virtuální realita skutečná? Ha! Pokud je to virtuální, jak to může být... Oh, nevadí. Nakonec se dostaneme přes zaměření na vznikající hardwarová zařízení a uznáme, že obsah je král. Současnou generaci 3D vývojového softwaru (komerčního, bezplatného a open source), který zplodil nepřeberné množství nezávislých nebo nezávislých vývojářů her, lze také použít k vytváření neherních VR aplikací. Přestože VR nachází většinu svých nadšenců v herní komunitě, potenciální aplikace sahají daleko za to. Každý podnik, který v současnosti používá 3D modelování a počítačovou grafiku, bude efektivnější, pokud bude používat technologii VR. Pocit pohlcující přítomnosti, který nabízí VR, může zlepšit všechny běžné online zážitky dneška, včetně inženýrství, sociálních sítí, nakupování, marketingu, zábavy a rozvoje podnikání. Prohlížení 3D webů pomocí VR headsetu může být v blízké budoucnosti stejně běžné jako dnes navštěvovat běžné ploché weby. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Typy hlavových displejů V současné době existují dvě základní kategorie HMD pro virtuální realitudesktop VR a mobilní VR, i když rozdíly se stále více stírají. Nakonec bychom mohli mluvit jen o platformách jako u tradičních počítačů, pokud jde o operační systémWindows, Android nebo konzolovou VR. Stolní VR Se stolním VR (a konzolovým VR) je vaše náhlavní souprava periferním zařízením pro výkonnější počítač, který zpracovává náročnou grafiku. Počítač může být Windows PC, Mac, Linux nebo herní konzole, ačkoli Windows je zdaleka nejprominentnějším PC a PS4 je bestsellerem, pokud jde o konzolovou VR. S největší pravděpodobností je náhlavní souprava připojena k počítači pomocí drátů. Hra běží na vzdáleném počítači a HMD je periferní zobrazovací zařízení se vstupem pro snímání pohybu. Termín desktop je nešťastné nesprávné pojmenování, protože je stejně pravděpodobné, že bude umístěn buď v obývacím pokoji nebo v pracovně. Oculus Rift () je příkladem zařízení, kde mají brýle integrovaný displej a senzory. Hry běží na samostatném PC. Mezi další stolní náhlavní soupravy patří HTC VIVE, PlayStation VR od Sony a pohlcující Mixed Reality od Microsoftu. Stolní VR zařízení spoléhají na stolní počítač (obvykle prostřednictvím video a USB kabelů) pro napájení CPU a grafického procesoru (GPU) , kde více je lepší. Přečtěte si prosím doporučené požadavky na specifikace pro vaše konkrétní zařízení. Pro účely této knihy však v našich projektech nebudeme mít žádné náročné vykreslování a vystačíte si s minimálními specifikacemi systému. Mobilní VR Mobilní VR pochází z Google Cardboard (), jednoduchého pouzdra pro dva objektivy a slot pro váš mobilní telefon. Displej telefonu se používá k zobrazení dvou stereoskopických pohledů. Má rotační sledování hlavy, ale nemá žádné polohové sledování. Cardboard také poskytuje uživateli možnost kliknout nebo klepnout na jeho stranu a provádět výběry ve hře. Složitost snímků je omezená, protože k vykreslování zobrazení na obrazovce telefonu používá procesor vašeho telefonu. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Google Daydream a Samsung GearVR vylepšily platformy tím, že vyžadovaly výkonnější minimální specifikace včetně vyššího výpočetního výkonu v mobilním telefonu. Náhlavní soupravy GearVR obsahují pohybové senzory, které pomáhají telefonnímu zařízení. Tato zařízení také představila ruční ovladač se třemi stupni volnosti (DOF) , který lze použít jako laserové ukazovátko v rámci zážitků VR. Další generace mobilních zařízení VR zahrnuje náhlavní soupravy typu vše v jednom, jako je Oculus Go, s integrovanými obrazovkami a procesory, což eliminuje potřebu samostatného mobilního telefonu. Novější modely mohou obsahovat hloubkové senzory a procesory prostorového mapování pro sledování polohy uživatele ve 3D prostoru. Sečteno a podtrženo, projekty v této knize prozkoumají funkce od nejvyšších po nejnižší úrovně spotřebitelského spektra zařízení VR. Obecně však naše projekty nevyžadují velký výpočetní výkon ani nevyžadují špičkovou schopnost VR, takže můžete začít s vývojem pro VR na jakémkoli z těchto typů zařízení, včetně Google Cardboard a běžného mobilního telefonu. Pokud máte zájem vyvíjet VR aplikace pro Google Daydream na Androidu přímo v Javě a ne přes herní engine Unity, podívejte se také na další autorovu knihu Cardboard VR Projects for Android od Packt Publishing ( ). Rozdíl mezi virtuální realitou a rozšířenou realitou Asi stojí za to si ujasnit, co virtuální realita není. Sesterskou technologií VR je rozšířená realita (AR), která kombinuje počítačem generované snímky (CGI) s pohledy na skutečný svět. AR na chytrých telefonech v poslední době vzbudilo široký zájem uvedením Apple ARKit pro iOS a Google ARCore pro Android. Kromě toho je nyní sada nástrojů Vuforia AR integrována přímo do herního enginu Unity, což pomáhá ještě více podporovat přijetí této technologie. AR na mobilním zařízení překrývá CGI přes živé video z kamery. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Nejnovější inovace v AR jsou nositelné AR headsety, jako jsou HoloLens a Magic Leap od Microsoftu , které zobrazují počítačovou grafiku přímo ve vašem zorném poli. Grafika není smíchána do obrazu videa. Pokud jsou VR náhlavní soupravy jako uzavřené brýle, AR náhlavní soupravy jsou jako průsvitné sluneční brýle, které kombinují skutečné světelné paprsky s CGI. Výzvou pro AR je zajistit, aby CGI bylo konzistentně zarovnáno a mapováno na objekty v prostoru reálného světa a aby se eliminovala latence při pohybu, aby (CGI a objekty v prostoru reálného světa) zůstaly zarovnány. AR je pro budoucí aplikace stejně příslibem jako VR, ale je to jiné. Přestože má AR v úmyslu zapojit uživatele do jeho aktuálního prostředí, virtuální realita je plně pohlcující. V AR můžete otevřít ruku a vidět srub spočívající ve vaší dlani, ale ve VR se přenesete přímo do srubu a můžete se v něm procházet. Začínáme také vídat hybridní zařízení, která kombinují funkce VR a AR a umožňují přepínat mezi režimy. Máte-li zájem o vývoj aplikací pro AR, podívejte se také do autorovy knihy Augmented Reality for Developers od Packt Publishing ( ). Aplikace versus hry Virtuální realita na spotřebitelské úrovni začala hraním her. Hráči videoher jsou již zvyklí na vysoce interaktivní hyperrealistická 3D prostředí. VR jen zvyšuje ante. Hráči jsou prvními osvojiteli špičkové grafické technologie. Masová výroba herních konzolí a komponent na bázi PC v řádu desítek milionů a konkurence mezi prodejci vede k nižším cenám a vyššímu výkonu. Vývojáři her následují příklad, často posouvají stav techniky a ždímají z hardwaru a softwaru každý kousek výkonu. Hráči jsou velmi náročná parta a trh neustále posiluje, aby byli spokojeni. Není žádným překvapením, že mnoho, ne-li většina, ze současné vlny hardwarových a softwarových společností VR, se nejprve zaměřuje na průmysl videoher. Většina aplikací pro VR v Oculus Store, jako je Rift ( ), GearVR () a Google Play pro Daydream ( ) jsou například hry. A samozřejmě, platforma Steam VR ( ) je téměř výhradně o hraní. Hráči jsou nejvíc nadšené zastánce VR a vážně oceňují jeho potenciál. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Herní vývojáři vědí, že jádrem hry jsou herní mechanismy neboli pravidla, která jsou do značné míry nezávislá na skinu, nebo tematickém tématu hry. Herní mechanismy mohou zahrnovat hádanky, náhodu, strategii, načasování nebo svalovou paměť. VR hry mohou mít stejné mechanické prvky, ale může být nutné je upravit pro virtuální prostředí. Například postava z první osoby kráčející v konzolové videohře je pravděpodobně asi 1,5krát rychlejší, než je její skutečné tempo v reálném životě. Pokud by tomu tak nebylo, měl by hráč pocit, že hra je příliš pomalá a nudná. Vložte stejnou postavu do VR scény a budou mít pocit, že je příliš rychlá; mohlo by to pravděpodobně způsobit, že se hráč bude cítit nevolně. Ve VR chcete, aby vaše postavy chodily normálním, pozemským tempem. Ne všechny videohry budou dobře mapovat VR; nemusí být zábavné být uprostřed válečné zóny, když tam skutečně jste. To znamená, že virtuální realita se používá i v jiných oblastech než hraní her. Přestože hry zůstanou důležité, neherní aplikace je nakonec zastíní. Tyto aplikace se mohou od her lišit v mnoha ohledech, přičemž ty nejvýznamnější kladou mnohem menší důraz na herní mechanismy a větší důraz buď na samotný zážitek, nebo na cíle specifické pro aplikaci. To samozřejmě nevylučuje některé herní mechanismy. Aplikace může být například specificky navržena tak, aby trénovala uživatele ve specifické dovednosti. Někdy je gamifikace obchodní nebo osobní aplikace zábavnější a efektivnější při prosazování požadovaného chování prostřednictvím konkurence. Obecně platí, že neherní VR aplikace jsou méně o výhrách a více o zážitku samotném. Zde je několik příkladů druhů neherních aplikací, se kterými lidé pracují na: Cestování a turistika: Navštivte vzdálená místa, aniž byste opustili svůj domov. Navštivte umělecká muzea v Paříži, New Yorku a Tokiu za jedno odpoledne. Projděte se po Marsu. Můžete si dokonce užít Holi, jarní festival barev, v Indii, když sedíte ve své zimní chatě ve Vermontu. Strojírenství a průmyslový design: Počítačem podporovaný návrhářský software, jako je AutoCAD a SOLIDWORKS, byl průkopníkem v trojrozměrném modelování, simulaci a vizualizaci. Díky VR mohou inženýři a designéři přímo zažít konečný produkt ještě předtím, než je skutečně postaven, a hrát si se scénáři co kdyby za velmi nízkou cenu. Zvažte opakování nového designu automobilu. Jak to vypadá? Jak to funguje? Jak to vypadá, když sedíte na sedadle řidiče? Machine Translated by Google Prakticky vše pro každého Kapitola 1 Architektura a stavební inženýrství: Architekti a inženýři vždy konstruovali zmenšené modely svých návrhů, i když jen proto, aby představili nápady klientům a investorům, nebo, což je důležitější, aby potvrdili mnoho předpokladů o návrhu. V současné době se k vytváření virtuálních modelů z architektonických plánů běžně používá modelovací a renderovací software. Díky VR mohou být rozhovory se zúčastněnými stranami mnohem sebevědomější. Další pracovníci, jako jsou návrháři interiérů, HVAC a elektrotechnici, mohou být do procesu zapojeni dříve. Nemovitosti: Realitní makléři si rychle osvojili internet a vizualizační technologie, aby přilákali kupující a uzavřeli prodej. Weby pro vyhledávání nemovitostí byly jedny z prvních úspěšných použití webu. Online panoramatické video návody na prodej nemovitostí jsou dnes samozřejmostí. S VR mohu být v New Yorku a najít si bydlení v Los Angeles. Medicína: Potenciál VR pro zdraví a medicínu může být doslova otázkou života a smrti. Nemocnice každý den používají MRI a další skenovací zařízení k výrobě modelů našich kostí a orgánů, které se používají pro lékařskou diagnostiku a případně předoperační plánování. Použití VR ke zlepšení vizualizace a měření poskytne intuitivnější analýzu. Virtuální realita se také používá pro simulaci chirurgie pro školení studentů medicíny. Duševní zdraví: Zkušenosti s virtuální realitou se ukázaly jako účinné v terapeutickém kontextu při léčbě posttraumatické stresové poruchy (PTSD) v takzvané expoziční terapii, kdy pacient pod vedením vyškoleného terapeuta konfrontuje své traumatické vzpomínky prostřednictvím převyprávění zážitku. Podobně se VR používá k léčbě arachnofobie (strachu z pavouků) a strachu z létání. Vzdělání: Vzdělávací příležitosti pro VR jsou až příliš zřejmé na to, abychom je zmínili. Jedním z prvních úspěšných zážitků ve VR je Titans of Space, který vám umožní prozkoumat sluneční soustavu z první ruky. Ve vědě, historii, umění a matematice pomůže VR studentům všech věkových kategorií, protože, jak se říká, exkurze jsou mnohem efektivnější než učebnice. Školení: Toyota předvedla VR simulaci vzdělávání řidičů, aby poučila teenagery o rizicích roztržitého řízení. V dalším projektu si studenti odborných učilišť vyzkoušeli obsluhu jeřábů a další těžké stavební techniky. Školení pro záchranáře, policii a hasiče a záchranáře lze obohatit o VR tím, že představí vysoce rizikové situace a alternativní virtuální scénáře. Národní fotbalová liga (NFL) a univerzitní týmy hledají VR pro atletický trénink. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Zábava a žurnalistika: Prakticky navštěvujte rockové koncerty a sportovní akce. Sledujte hudební videa Erotica. Znovu zažijte novinky, jako byste byli osobně přítomni. Užijte si 360stupňové filmové zážitky. Umění vyprávění promění virtuální realita. Páni, to je pěkný seznam! To je jen nízko visící ovoce. Účelem této knihy není ponořit se příliš hluboko do žádné z těchto aplikací. Spíše doufám, že tento průzkum pomůže stimulovat vaše myšlení a poskytne představu o tom, jak má virtuální realita potenciál být prakticky čímkoli pro každého. Jak virtuální realita skutečně funguje Co tedy na VR všechny tak nadchlo? S nasazenou náhlavní soupravou zažijete syntetické scény. Vypadá 3D, působí jako 3D a možná máte dokonce pocit, že jste tam ve virtuálním světě. Nápadně zřejmá věc je: VR vypadá a působí opravdu skvěle! Ale proč? Ponoření a přítomnost jsou dvě slova používaná k popisu kvality zážitku VR. Svatým grálem je zvýšit obojí do bodu, kdy se to zdá tak skutečné, že zapomenete, že jste ve virtuálním světě. Ponoření je výsledkem emulace smyslového vstupu, který vaše tělo přijímá (vizuální, sluchový, motorický atd.). To lze vysvětlit technicky. Přítomnost je viscerální pocit, který vás přenáší hlubokým emocionálním nebo intuitivním pocitem. Dalo by se říci, že imerze je věda VR a přítomnost je umění. A to je, příteli, skvělé. Aby zážitek z VR fungoval, spojuje se řada různých technologií a technik, které lze rozdělit do dvou základních oblastí: 3D prohlížení Sledování pozice hlavy Jinými slovy, displeje a senzory, jako jsou ty zabudované do dnešních mobilních zařízení, jsou velkým důvodem, proč je dnes VR možná a cenově dostupná. Předpokládejme, že systém VR přesně ví, kde se v daném okamžiku nachází vaše hlava. Předpokládejme, že dokáže okamžitě stereoskopicky vykreslit a zobrazit 3D scénu pro tento přesný úhel pohledu. Poté, kdekoli a kdykoli se pohnete, uvidíte virtuální scénu přesně tak, jak byste měli. Budete mít téměř dokonalý vizuální VR zážitek. To je v podstatě vše. Ta-dah! Machine Translated by Google Prakticky vše pro každého Kapitola 1 No, ne tak rychle. Doslova. Stereoskopické 3D zobrazení Stereografie s rozdělenou obrazovkou byla objevena nedlouho po vynálezu fotografie, podobně jako populární prohlížeč stereografů z roku 1876 zobrazený na následujícím obrázku (BW Kilborn & Co, Littleton, New Hampshire; viz ). Stereo fotografie má oddělené pohledy pro levé a pravé oko, které jsou mírně posunuté, aby se vytvořila paralaxa. To oklame mozek, aby si myslel, že je to skutečně trojrozměrný pohled. Zařízení obsahuje samostatné čočky pro každé oko, které vám umožní snadno zaostřit na fotografii zblízka: Podobně je vykreslení těchto stereo zobrazení vedle sebe první úlohou kamery s podporou VR v Unity. Řekněme, že máte nasazenou VR náhlavní soupravu a držíte hlavu velmi nehybně, takže obraz vypadá jako zmrazený. Stále to vypadá lépe než jednoduchý stereograf. Proč? Staromódní stereograf má relativně malé obrázky dvojčat pravoúhle vázané. Když je vaše oko zaostřeno na střed pohledu, 3D efekt je přesvědčivý, ale uvidíte hranice pohledu. Pohybujte očima (i s nehybnou hlavou) a jakýkoli zbývající pocit ponoření se úplně ztratí. Jste jen pozorovatel zvenčí, který nahlíží do diorámatu. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Nyní zvažte, jak vypadá obrazovka VR bez náhlavní soupravy (viz následující snímek obrazovky): První věc, které si všimnete, je, že každé oko má soudkovitý pohled. proč tomu tak je? Objektiv headsetu je velmi širokoúhlý. Takže když se přes něj podíváte, máte pěkně široké zorné pole. Ve skutečnosti je tak široký (a vysoký), že to deformuje obraz (jehelníkový efekt). SDK grafického softwaru dělá inverzní zkreslení (soudkové zkreslení) , takže nám to přes čočky vypadá správně. To se nazývá korekce zkreslení oka. Výsledkem je zdánlivé zorné pole (FOV) , které je dostatečně široké, aby zahrnovalo mnohem více vašeho periferního vidění. Například Oculus Rift má FOV asi 100 stupňů. (Více mluvíme o FOV v , Použití všech 360 stupňů.) Samozřejmě je také mírně posunutý úhel pohledu z každého oka, srovnatelný se vzdáleností mezi vašimi očima nebo Inter Pupillar Distance (IPD). IPD se používá k výpočtu paralaxy a může se lišit od jedné osoby k druhé. (Nástroj Oculus Configuration Utility je dodáván s nástrojem pro měření a konfiguraci vašeho IPD. Případně můžete o přesné měření požádat svého očního lékaře.) Může to být méně zřejmé, ale když se podíváte blíže na obrazovku VR, uvidíte barevné výtažky, jako byste se dostali na barevnou tiskárnu, jejíž tisková hlava není správně zarovnána. Toto je záměrné. Světlo procházející čočkou se láme v různých úhlech na základě vlnové délky světla. Vykreslovací software opět provádí inverzní separaci barev, aby nám to vypadalo správně. Toto se nazývá korekce chromatické aberace. Pomáhá to, aby obraz vypadal opravdu ostře. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Pro získání přesvědčivého obrazu je také důležité rozlišení obrazovky. Pokud má příliš nízké rozlišení, uvidíte pixely nebo to, co někteří označují jako efekt dvířek obrazovky. Šířka a výška pixelu displeje je často uváděná specifikace při porovnávání HMD, ale důležitější může být hodnota pixelů na palec (PPI). Další inovace v technologii zobrazení, jako je rozmazání pixelů a foveated rendering (zobrazení detailů ve vyšším rozlišení přesně tam, kam se dívá oko), také pomohou snížit efekt dvířek obrazovky. Když zažíváte 3D scénu ve VR, musíte vzít v úvahu také počet snímků za sekundu (FPS). Pokud je FPS příliš pomalé, bude animace vypadat trhaně. Mezi věci, které ovlivňují FPS, patří mimo jiné výkon GPU a složitost scény Unity (počet polygonů a výpočty osvětlení). To je ve VR složeno, protože musíte scénu nakreslit dvakrát, jednou pro každé oko. Technologické inovace, jako jsou GPU optimalizované pro VR, interpolace snímků a další techniky zlepší snímkovou frekvenci. Pro nás, vývojáře, lze ve VR uplatnit techniky ladění výkonu v Unity, jaké používají vývojáři mobilních her. (O optimalizaci výkonu si povíme více v části Optimalizace pro výkon a pohodlí.) Tyto techniky a optika pomáhají, aby 3D scéna vypadala realisticky. , Zvuk je také velmi důležitý, důležitější, než si mnoho lidí uvědomuje. VR byste měli zažít při nošení stereo sluchátek. Ve skutečnosti, když je zvuk udělaný dobře, ale grafika je dost mizerná, stále můžete mít skvělý zážitek. Vidíme to často v televizi a kině. Totéž platí ve VR. Binaurální zvuk poskytuje každému uchu vlastní stereofonní pohled na zdroj zvuku takovým způsobem, že si váš mozek představí jeho umístění ve 3D prostoru. Nejsou potřeba žádná speciální odposlechová zařízení. Běžná sluchátka budou fungovat (reproduktory ne). Nasaďte si například sluchátka a navštivte Virtuální holičství na adrese. Skutečný 3D zvuk poskytuje ještě realističtější prostorové vykreslení zvuku, kde se zvuky odrážejí od okolních zdí a mohou být zakryty překážkami ve scéně, aby se zlepšil zážitek z pohledu první osoby a realističnost. A konečně, VR headset by měl pohodlně sedět na vaší hlavě a obličeji, aby bylo snadné zapomenout, že je máte nasazené, a měl by blokovat světlo ze skutečného prostředí kolem vás. Sledování hlavy Máme tedy pěkný 3D obraz, který lze zobrazit v pohodlné náhlavní soupravě VR se širokým zorným polem. Kdyby to bylo ono a pohnuli byste hlavou, měli byste pocit, jako byste měli na obličeji přilepenou krabici s diorámem. Pohněte hlavou a krabice se pohne spolu s ní, a to je podobné, jako když držíte starožitný stereograf nebo dětský View-Master. Naštěstí je VR mnohem lepší. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Náhlavní souprava VR má uvnitř pohybový senzor (IMU), který detekuje prostorové zrychlení a rychlosti otáčení ve všech třech osách, čímž poskytuje to, čemu se říká šest stupňů volnosti. Jedná se o stejnou technologii, která se běžně vyskytuje v mobilních telefonech a některých ovladačích konzolových her. Když je nasazen na náhlavní soupravě, když pohnete hlavou, vypočítá se aktuální úhel pohledu a použije se při kreslení dalšího snímku. Toto se nazývá detekce pohybu. Předchozí generace mobilních pohybových senzorů byla dost dobrá na to, abychom mohli hrát mobilní hry na telefonu, ale pro VR to není dostatečně přesné. Tyto nepřesnosti (chyby zaokrouhlování) se časem hromadí, protože snímač je vzorkován tisíckrát za sekundu a člověk může nakonec ztratit přehled o tom, kde se ve skutečném světě nacházely. Tento posun byl hlavním nedostatkem staršího telefonu Google Cardboard VR. Zaznamenalo pohyb vaší hlavy, ale ztratilo přehled o orientaci vaší hlavy. Současná generace telefonů, jako je Google Pixel a Samsung Galaxy, které odpovídají specifikacím Daydream, má vylepšené senzory. Špičkové HMD odpovídají za drift se samostatným mechanismem pro sledování polohy. Oculus Rift to dělá se sledováním polohy zevnitř ven, kde pole (neviditelných) infračervených LED diod na HMD čte externí optický senzor (infračervená kamera), aby určil vaši polohu. Aby sledování hlavy fungovalo , musíte zůstat v zorném poli kamery. Alternativně technologie Steam VR VIVE Lighthouse provádí sledování polohy zvenčí, kde jsou v místnosti umístěny dva nebo více hloupých laserových zářičů (podobně jako lasery ve čtečce čárových kódů u pokladny) a optický senzor na náhlavní soupravě čte paprsky k určení vaší polohy. Náhlavní soupravy Windows MR nepoužívají žádné externí senzory ani kamery. Spíše jsou zde integrované kamery a senzory pro provádění prostorového mapování místního prostředí kolem vás, aby bylo možné lokalizovat a sledovat vaši pozici v reálném 3D prostoru. Ať tak či onak, primárním účelem je přesné zjištění polohy vaší hlavy a dalších podobně vybavených zařízení, jako jsou ruční ovladače. Společně polohu, sklon a směr vaší hlavy nebo polohu hlavy používá grafický software k překreslení 3D scény z tohoto úhlu pohledu. Grafické enginy jako Unity jsou na tom opravdu dobře. Nyní řekněme, že se obrazovka aktualizuje rychlostí 90 FPS a vy hýbete hlavou. Software určí polohu hlavy, vykreslí 3D pohled a nakreslí jej na obrazovku HMD. Stále však hýbete hlavou. Takže v době, kdy je zobrazen, je obrázek trochu zastaralý s ohledem na vaši aktuální pozici. Tomu se říká latence a může vám způsobit nevolnost. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Nevolnost způsobená latencí ve VR nastává, když pohybujete hlavou a váš mozek očekává, že se svět kolem vás změní přesně synchronizovaně. Jakékoli znatelné zpoždění vám může být přinejmenším nepříjemné. Latenci lze měřit jako dobu od načtení snímače pohybu do vykreslení odpovídajícího obrázku nebo zpoždění mezi snímačem a pixelem. Podle Johna Carmacka z Oculusu: Celková latence 50 milisekund bude reagovat, ale stále bude znatelné zpoždění. 20 milisekund nebo méně poskytne minimální úroveň latence, která je považována za přijatelnou. Existuje řada velmi chytrých strategií, které lze použít k implementaci kompenzace latence. Podrobnosti jsou mimo rozsah této knihy a nevyhnutelně se změní, jak výrobci zařízení zdokonalují technologii. Jednou z těchto strategií je to, co Oculus nazývá timewarp, který se snaží uhodnout, kde bude vaše hlava v době, kdy je vykreslování dokončeno, a používá budoucí pozici hlavy namísto skutečně detekované. To vše je řešeno v SDK, takže jako vývojář Unity to nemusíte řešit přímo. Mezitím si jako vývojáři VR musíme být vědomi latence a dalších příčin kinetózy. Latenci lze snížit rychlejším vykreslováním každého snímku (zachování doporučených FPS). Toho lze dosáhnout tím, že odrazíte hlavu od příliš rychlého pohybu a použijete jiné techniky, abyste se cítili uzemněni a pohodlně. Další věc, kterou Rift dělá pro zlepšení sledování hlavy a realismu, je to, že používá skeletální znázornění krku, takže všechny rotace, které přijímá, jsou přesněji mapovány na rotaci hlavy. Například pohled dolů na klín vytváří malý posun dopředu, protože ví, že není možné otočit hlavu dolů na místě. Kromě sledování hlavy, stereografie a 3D zvuku lze zážitky z virtuální reality vylepšit sledováním těla, sledováním rukou (a rozpoznáváním gest), sledováním pohybu (například běžecké pásy VR) a ovladači s haptickou zpětnou vazbou. Cílem toho všeho je zvýšit váš pocit ponoření a přítomnosti ve virtuálním světě. Typy zážitků VR Neexistuje jen jeden druh zážitku z virtuální reality. Ve skutečnosti je jich mnoho. Zvažte následující typy zážitků virtuální reality: Diorama: V nejjednodušším případě postavíme 3D scénu. Sledujete to z pohledu třetí osoby. Vaše oko je fotoaparát. Ve skutečnosti je každé oko samostatnou kamerou, která vám poskytuje stereografický pohled. Můžete se rozhlédnout. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Zážitek z pohledu první osoby: Tentokrát jste ponořeni do scény jako volně se pohybující avatar. Pomocí vstupního ovladače (klávesnice, herního ovladače nebo jiné techniky) se můžete procházet a prozkoumávat virtuální scénu. Interaktivní virtuální prostředí: Je to jako zážitek z pohledu první osoby, ale má další funkci, když jste ve scéně, můžete interagovat s objekty v ní. Ve hře je fyzika. Objekty na vás mohou reagovat. Můžete dostat konkrétní cíle, kterých chcete dosáhnout, a výzvy s herními mechanismy. Můžete dokonce získat body a udržet skóre. Tvorba 3D obsahu: Ve VR vytvářejte obsah, který lze zažít ve VR. Google Tilt Brush je jedním z prvních trháků, stejně jako Oculus Medium a Google Blocks a další. Unity pracuje na EditorXR pro vývojáře Unity, aby mohli pracovat na svých projektech přímo ve VR scéně. Jízda na kolejích: Při tomto druhu zážitku sedíte a jste přepravováni prostředím (nebo se prostředí kolem vás mění). Prostřednictvím této virtuální reality se můžete například projet na horské dráze. Nemusí se však nutně jednat o extrémní vzrušující jízdu. Může to být jednoduchá prohlídka nemovitostí nebo dokonce pomalý, snadný a meditativní zážitek. 360stupňová média: Představte si panoramatické snímky pořízené pomocí GoPro na steroidech, které se promítají na vnitřní stranu koule. Jste umístěni ve středu koule a můžete se dívat všude kolem. Někteří puristé tuto virtuální realitu nepovažují za skutečnou , protože vidíte projekci a ne vykreslování modelu. Může však poskytnout účinný pocit přítomnosti. Sociální VR: Když více hráčů vstoupí do stejného prostoru VR a mohou vidět a mluvit s avatary toho druhého, stává se to pozoruhodným společenským zážitkem. V této knize budeme implementovat řadu projektů, které demonstrují, jak vybudovat každý z těchto typů zážitku VR. Pro stručnost to musíme udržet čisté a jednoduché, s návrhy oblastí pro další zkoumání. Technické dovednosti, které jsou pro VR důležité Každá kapitola knihy představuje nové technické dovednosti a koncepty, které jsou důležité, pokud si chcete vytvořit vlastní aplikace virtuální reality. V této knize se dozvíte o následujícím: Světové měřítko: Při budování pro zážitek z VR je důležitá pozornost věnovaná 3D prostoru a měřítku. Jedna jednotka v Unity se ve virtuálním světě obvykle rovná jednomu metru. Machine Translated by Google Prakticky vše pro každého Kapitola 1 Ovládání z pohledu první osoby: Existují různé techniky, které lze použít k ovládání pohybu vašeho avatara (kamery z pohledu první osoby), výběru na základě pohledu, sledovaných ovladačů ručního vstupu a pohybů hlavy. Ovládací prvky uživatelského rozhraní: Na rozdíl od běžných videoher (a mobilních) jsou všechny součásti uživatelského rozhraní ve VR ve světových souřadnicích, nikoli v souřadnicích obrazovky. Prozkoumáme způsoby, jak uživatelům prezentovat upozornění, tlačítka, voliče a další ovládací prvky uživatelského rozhraní , aby mohli interagovat a provádět výběr. Fyzika a gravitace: Rozhodující pro pocit přítomnosti a ponoření do VR je fyzika a gravitace světa. Využijeme fyzikální engine Unity ve svůj prospěch. Animace: Pohybující se objekty ve scéně se nazývají animaceduh! Může být buď po předem definovaných cestách, nebo může používat skriptování AI (umělá inteligence), které sleduje logický algoritmus v reakci na události v prostředí. Služby pro více uživatelů: Síť v reálném čase a hry pro více uživatelů není snadné implementovat, ale online služby to usnadňují, aniž byste museli být počítačovým inženýrem. Vytvářejte, spouštějte a optimalizujte: Různé HMD používají různé sady SDK pro vývojáře a prostředky k vytváření aplikací, které cílí na konkrétní zařízení. Zvážíme techniky, které vám umožní používat jedno rozhraní pro více zařízení. Pochopení procesu vykreslování a optimalizace výkonu je klíčovou dovedností pro vývoj VR. Budeme psát skripty v jazyce C# a používat funkce Unity tak, jak a kdy budou potřeba k tomu, abychom věci dokončili. Existují však technické oblasti, které nebudeme pokrývat, jako je realistické vykreslování, shadery, materiály a osvětlení. Nebudeme se zabývat modelovacími technikami, terény nebo humanoidními animacemi. Nebudeme také diskutovat o herních mechanismech, dynamice a strategiích. To vše jsou velmi důležitá témata, která mohou být pro vás (nebo pro někoho ve vašem týmu) nezbytná, abyste se kromě této knihy naučili, abyste vytvořili kompletní, úspěšné a pohlcující aplikace VR. Pojďme se tedy podívat, co tato kniha vlastně pokrývá a komu vychází vstříc. Machine Translated by Google Prakticky vše pro každého Kapitola 1 O čem tato kniha pojednává Tato kniha využívá praktický, projektový přístup k výuce specifik vývoje virtuální reality pomocí enginu pro vývoj her Unity 3D. Dozvíte se, jak používat Unity 2018 k vývoji aplikací VR, které lze zažít se zařízeními, jako je Oculus Rift nebo Google Cardboard, a se všemi druhy zařízení mezi nimi. Máme však malý problém, že technologie jde velmi rychle kupředu. To je samozřejmě dobrý problém. Ve skutečnosti je to úžasný problém, pokud nejste vývojář uprostřed projektu nebo autor knihy o této technologii! Jak se dá napsat kniha, která v den vydání nemá zastaralý obsah? V celé knize jsem se snažil destilovat některé univerzální principy, které by měly přežít jakýkoli krátkodobý pokrok v technologii virtuální reality, což zahrnuje následující: Kategorizace různých typů VR zkušeností s ukázkovými projekty Důležité technické nápady a dovednosti, zejména ty, které jsou důležité pro vytváření aplikací VR Obecná vysvětlení, jak zařízení a software VR fungují Strategie pro zajištění uživatelského komfortu a prevence VR kinetózy Pokyny k používání herního enginu Unity k vytváření zážitků ve VR Jakmile se VR stane mainstreamem, mnohé z těchto lekcí budou možná spíše samozřejmé než zastaralé, stejně jako by dnes byla vysvětlení z 80. let, jak používat myš, prostě hloupá. Kdo jsi? Pokud se zajímáte o virtuální realitu, chcete se naučit, jak funguje, nebo si chcete VR zážitky vytvářet sami, tato kniha je pro vás. Provedeme vás řadou praktických projek

Use Quizgecko on...
Browser
Browser