Unity - létrehozása a virtuális valóság alkalmazások
Termékek és technológiák:
Unity, C #, virtuális valóság
Ez a cikk ismerteti:
- megteremtése alapvető UI egy virtuális valóság;
- csatlakozás külső adatokat az alkalmazásban a virtuális valóság;
- Az adatok kötelező szerencsejáték létesítmények Unity.
Virtuális valóság (VR) egyedülálló lehetőséget kínál nemcsak a fejlesztők, hanem szembesíti őket a nehéz feladatokat. Egyrészt lehetséges, hogy a merítés VR, nem kapcsolódik a jelenlegi paradigma kétdimenziós felületen. Másrészt, ott van a probléma létrehozásának lenyűgöző VR, ami valami egyszerűbb háromdimenziós ábrázolása egy kétdimenziós képernyőn. Szerencsére néhány alapjait alkalmazásfejlesztés és UI design hasonlóak, mint például létre a bemutatása „alap / részletes adatok» (master / részletek) fogadó felhasználói bevitelt és egymásra alkalmazásokat szolgáltatásokat. Ebben a cikkben azt fogja vizsgálni ezeket a területeket keretében üzleti alkalmazások a virtuális valóság, hogy érti, hogyan kell kezdeni, hogy saját VR-alkalmazásokat.
Miért VR?
Most van itt az ideje, hogy kezdjen el kidolgozni VR alkalmazások miatt a megjelenése kiváló eszközök, mint a Unity és a viszonylag kis piaci VR.
Alkalmazások létrehozása ezen VR-eszközök, mint a Samsung és a Google Gear VR karton, - egy jó kiindulási pont a fejlesztők számára, hogy a kezdők felkészítsék tartalom költségvetési értékesítési csatornák. Meg lehet portolni HoloLens, mert ugyanazokat az eszközöket és a tartalom is lehet ugyanaz a fejlődés alapja a vegyes valóság VR-alkalmazásokat. Az egyetlen különbség - a kód, amely elvégzi a feladatot (pl Gaze vagy raycast, amely azt fogja nézni a cikkben később), és a használata bizonyos egyedi jellemzők HoloLens, mint a beszéd, a térbeli feltérképezése (térbeli mapping) és gesztusok. Egy kis kutatás és kísérletezés, és tudja átalakítani a VR-alkalmazás HoloLens alkalmazás.
Nem megyek bele felesleges részletek VR képzési projekt. Ehelyett azt javasoljuk, hogy tanulmányozza a tervezetet Unity VR mintákat a Unity Asset Store (bit.ly/1qYLBX9). A projekt ebben a cikkben fogok létrehozni a semmiből, de használja a szkriptek a projekt Unity VR mintákat, hogy a meglévő kódot a közös feladatok (például, hogy az objektumot interaktív). Azt javasoljuk, hogy hozzon egy üres projekt, majd importálja Unity Unity VR mintákat a link jön létre ebben a cikkben a tervezet. Unity VR mintákat van egy csomó nagy tartalom, de ez épül, mint egy önálló alkalmazás, és adni néhány további beállítást végezni a jelenet benne jelenetek. Tartsa Unity VR mintákat nyitott és hozzáférhető, mivel van néhány szkript, hogy szükség lesz az én projekt. Ebben a cikkben, azt fogja használni Unity 5.3 támogatja az Android eszközöket ahhoz, hogy hozzon létre egy alkalmazás a Samsung Gear VR eszköz.
Kontraktor Travel System
Az első lépések
Ezután frissítse a lejátszó beállításai mobil VR. Ehhez menjen a Szerkesztés | Projekt beállítások | A játékos és válasszuk Egyéb beállítások. Ebben a részben van egy paraméter Virtual Reality Támogatott. Jelölje rá, hogy a világ elismert VR-alkalmazás. Ezzel a tárgy fő kamera, létező Unity akkor automatikusan átalakíthatók a VR kamrába.
Külhoni VR adhat előzetes elképzelést, hogy a hivatal, amelyhez az elküldött vagy a helyeket, hogy néz ki.
Most beállíthatja az alkalmazást, előkészíti a jelenetet. A hierarchia köbös doboz, hozzá a skálán az x = 10, y = 0,1 és z = 10. Visszaállítása kocka helyzetben a központtól, hogy az a koordinátái x = 0, y = 0 és z = 0 például lapított kockát a világon. Ennek köszönhetően, akkor kisebb lesz a falon a világot, hogy segítségével a felhasználók a térérzetet és bázisok (földelés), valamint egy hely a szervezetek a világon, ahol lesz található. Mivel a kétdimenziós alkalmazások, meg kell győződnie arról, hogy a felhasználó tudja, hol a tartalom jelenik meg, és az interakció vele. Ez segít a felhasználóknak navigálni a kérelmet. Ha ContosoTravel az összes intézkedés kerül sor határain belül a tárgy a falak a világ.
Ebben a világban, szükség van egy objektum, amely elvégzi az adatok elrendezésében alkalmazása révén. Készítsen Üres Játék objektumon a hierarchiában ablakot, és nevezze át a tárgyat TravelerManager. Ő a forrása minden adatot küldeni a kérelmet. Kiemelve a játék célja TravelerManager kattintson az Add Component | Új Script. Hívjon TravelerManager script, majd kattintson a Create és hozzáadása. Ez létrehoz egy új script TravelerManager logikai feldolgozás.
Alkalmazás Travel Management célja, hogy az összes utazó a szervezet. Ehhez egy új játék tárgy (Játék Object) a hierarchia (hierarchia), és nevezd meg TravelerTemplate. Ez az objektum jelenik meg minden utazó, jelennek meg a rendszerben. Ha ismeri a munkadarabok (prefabs), használja a karakter, saját maga által tervezett, vagy megragad valamit a Asset Store. Az alkalmazás azt fogja használni az alacsony poli karakter található az Asset Store, így a világ egy furcsa pillantást. TravelerTemplate, hogy megfeleljen minden játék létesítmény -. Billet, kocka, gömb, stb Azáltal TravelerTemplate, kapcsolja ki a játék célja kattintva melletti jelölőnégyzetet a neve a játék célja az Inspector ablakban. Ezután TravelerTemplate eltűnik.
Végül hozzáadjuk a projektben a következő scriptet a projekt Unity VR Minták: VREyeRaycast, VRInput, VRInteractiveItem és célkereszttel. A különleges cél ezen szkriptek, megbeszéljük mikor fogom használni őket később ebben a cikkben, de megmentett egy nagy része a munka.
Előkészítő TravelerManager
A Unity kattintson duplán a forgatókönyvet TravelerManager, hogy nyissa meg a MonoDevelop vagy Visual Studio. Add az alkatrész kódját rizzsel. 1.
Ábra. 1. A script komponens TravelerManager
A WWW GetTravelers tárgya Unity használják csatlakozni a megadott URL. Ha a hozam kulcsszó tárgy WWW vissza, amíg ellenőrzése után tulajdonságok isDone. A letöltés után az URL isDone tulajdonság megegyezik igaz, akkor a szöveg által visszaadott API-hívás továbbítjuk DisplayTravelers módszer. WWW objektum lehet használni aszinkron adatokat küldeni és fogadni, hogy az alkalmazás a jövőben funkcionalitása az objektumok hozzáadása kirendelt alkalmazottak. A teljes dokumentáció a témában lásd WWW. Unity helyben bit.ly/2alFoML link.
Akkor veszi az eredményt az API és átalakítja azt valami, hogy a felhasználó láthatja az alkalmazás. A show előtt küldött különböző helyeken a térképen, akkor létre kell hozni ezeket a helyeket a világban. Vissza a Unity designer, és hozzon létre egy üres játék célja a hierarchia fa gyökere. Hívja ezt egy üres játék célja Location Container. Telepítési hely Container pozícióját X = 0, Y = 0, Z = 0 (a közepén a világ). Az előnyös hely Container létre több üres leányvállalata játék tárgyak szétszórva az alsó a korábban létrehozott kocka. Ezek az üres játék tárgyak repülőtér, és az alsó oldalán a kocka olyan, mint egy térkép. A módszer DisplayTravelers amit keres egy város hely üzleti utazók és korrelál meg egy ilyen üres játék tárgyakat. Nevezze üres szerencsejáték létesítmények a nevét bármelyik repülőtéren. Régebben a BWI, MSP és SFO. Befejezni a repülőterek, hozzon létre egy címkét a játék Objects nevű Airport -, akkor képes lesz arra, hogy megtalálja az összes repülőtér az értéke a címkét. Címke létrehozásához kattintson a bal felső részén a Inspector ablakban az objektumot, kattintson a legördülő listából válassza az Új címke. Akkor hozzon létre egy új címkét a kivitelezésben, amikor a hozzárendelt üres játék tárgyak, amelyek ismét kérni e tárgyak egy tag.
Miután módszer getTravelers hozzá a kódot ábrán látható. 2.
Ábra. 2. Átalakítás Traveler JSON-tárgy játék Unity tárgyak
Az ingyenes script JSONObject Unity Asset Store (bit.ly/2akN9p9), akkor konvertálni a JSON-szöveget C # -code Traveler objektumot. Ezután a példányosításához módszert, akkor hozzon létre egy másolatot TravelerTemplate, hozzárendel egy alapértelmezett helyet, és adja meg a nevét a játék célja kiküldött. Erre szüksége lesz az alkalmazás a jövőben, mert ez lesz azonosítására az utas a listán. Következő, meg fogja találni az összes játék objektumok, Tagged repülőtér. Ez ad egy sor tárgyak Airport, akkor végigjárjuk, és megtalálja a megfelelő objektum nevét, hogy az utas a repülőtéren. Az előretöltött címkék könnyen megtalálja a kívánt játékot Airport felszereltsége. Végén a módszer az objektum hozzáadásához az utas TravelerList, így aztán nézze meg az adatokat ezen üzleti utazók. Szóval, van egy törzslistájában utazók, hogy jelennek meg a világban. Most van itt az ideje, hogy a felhasználók választhatnak az utas, így meg tudja mutatni részletes információk a munkavállaló.
Kiválasztása egy tárgyat az utas
A VR tartományban az utazó végezzük megvizsgálja a kérdést. Annak kiderítésére, hogy a felhasználó nézi bármely külföldi munkavállaló, akkor használja Raycast objektumot. Raycast - egy láthatatlan ray a kamera és lehetővé teszi a rendszer érzékeli, ha egy tárgy egy komponens-ütköztető (ütköztető komponens) metszi a gerenda. Segítségével raycast, a kód képes érzékelni, ha a felhasználó úgy néz ki minden olyan tárgy, válaszolnia kell erre. Korábban importált a forgatókönyvet VREyeRaycast, implementálja a logikát, hogy létre kell hozni Raycast a kamrában. Add VREyeRaycast script a Fő kamera. Azt is hozzá kell adni a célkereszt script a kamrába, hogy egy UI-alkatrész, mutatja, ahol a felhasználó keres.
Segítségével raycast, a kód képes érzékelni, ha a felhasználó úgy néz ki minden olyan tárgy, válaszolnia kell erre.
Raycast tárolja a kamerát, akkor frissítenie kell TravelerTemplate, hogy tudja, hogyan reagál a kereszteződés Raycast. Ehhez adjunk hozzá egy scriptet VRInteractiveItem TravelerTemplate. Ez a szkript egy gyors telepítést együttműködni az esemény keletkezik, amikor Raycast metszi egy tárgy elhagyja a tárgy, vagy akár megragadja a click esemény.
Ezután hozzon létre egy szkript, TravelerInteraction, amely végrehajtja az események a script VRInteractiveItem. Ehhez az alkalmazáshoz, akkor használja OnOver események OnOut és OnClick. Amikor a felhasználó nézi a Traveler objektum, amely megváltoztatja a megjelenését, és ha a felhasználó eltávolítja a nézetet, a megjelenése az objektum helyreáll. Ha a felhasználó úgy néz ki, a Traveler objektumot, és tesz egy kattintás, egy párbeszédablak jelenik meg, mutatja a nevét az utazó, helyzete és célpontja. Itt egy script TravelerInteraction:
Ebben a blokkban a kódot, akkor először megállapítja, hogy a dialógus ablak jelenik meg. Ha igen, akkor letiltja a párbeszéd elrejteni. Nem - kapsz egy szöveges objektum és hozzárendel egy nevet és rendeltetési hely Traveler. Amikor először létre Traveler objektum nevét adja meg az utazó, mint a neve a játék objektum, amely a munkavállaló. A LINQ kereshet a listán az üzleti utazók nevét, hogy több információt erről a munkavállaló. Az egyszerűség kedvéért a neve az utas vett részt, de a nagyobb és bonyolultabb rendszerek sokkal jobb, hogy egy egyedi azonosítót minden utazó. Mintegy LINQ emlékszem, hogy a teljesítmény - ez fontos a mobil VR-alkalmazás. LINQ képes megtenni sok mindent, de azon az áron, jelentős költség, ezért legyen óvatos, ha a LINQ, és alkalmazza azt csak akkor, ha nem tud nélküle, nem csak a kényelem kedvéért. Itt LINQ használják rövid kódot.
következtetés
Szeretném kifejezni hálámat a szakértői felülvizsgálati cikk Microsoft Tyuliperu Adam (Adam Tuliper).