Gear VR alkalmazás fejlesztés Unity alatt

UnityA Gear VR-ra való fejlesztés egyik legegyszerűbb módja a Unity 3D használata. A Unity 3D egy olyan Windows és OS X alatt is futó fejlesztőeszköz, amiben egy grafikus felületen tudod megalkotni a VR-ben látható 3D világot, aminek az egyes elemeit C# vagy JavaScript segítségével keltheted életre. A Unity alatt elkészített programokat Windows-ra, Android-ra, iPhone-ra, Mac-re és más hardverekre is le tudod fordítani, így Gear VR mellett akár Oculusra, vagy a későbbiekben más VR sisakra is könnyen, akár néhány kattintással portolhatod majd a programodat. És ha mindez nem lenne elég, a Unity használata évi $100.000 bevétel (kb. 28 millió Ft) alatt ingyenes.

Ebben a cikkben a fejlesztéshez szükséges szoftverek telepítéséhez, és az első Gear VR-os alkalmazás elkészítéséhez találtok segítséget.

Szoftvertelepítés

Az Android alkalmazások fejlesztéséhez mindenekelőtt telepítened kell az Android Studio nevű programot. Ennek futtatásához Java Development Kit (JDK) 7-re lesz szükséged, de ha minden igaz, telepítéskor ezt az Android Studio maga elintézi.

Ahhoz, hogy a telefonodat lásd Android Studio alatt, engedélyezned kell az USB debugging funkciót. Ehhez a beállításoknál a System menüpont alatt az About device-nál keresd meg a Build numbert, és nyomd meg hétszer. Ha jól csináltad, megjelenik egy értesítés, hogy a fejlesztői beállítások elérhetővé váltak. A beállításoknál most válaszd a Developer options-t, és engedélyezt az USB debugging opciót. Windows alatt szükséged lehet a telefon driverének a telepítésére (akkor is, ha az Intézőben amúgy látni szoktad a telefonodat), amit a Samsung oldaláról tölthetsz le.

Ahhoz, hogy a programodat telepíteni tudd majd a telefonodra, a beállításoknál a Lock screen and security menüpont alatt az “Unknown source”-nak engedélyezve kell lennie.

Dugd rá a gépedre a telefonodat, indítsd el az Android Studio-t, és ha mindent jól csináltál, a Tools / Android / Android Device Monitor menüpontban a Devices fülön a Name-nél a név végén látnod kell a telefonod 16 karakter hosszú azonosítószámát. Ezt jegyezd fel, mert még szükséged lesz rá. (Alternatív megoldásként a Find Device ID PRO nevű Android alkalmazást is használhatod az azonosító megszerzéséhez.)

Töltsd le és telepítsd az Oculus Mobile SDK-t, ami az Oculusra való fejlesztéshez szükséges. Ugyaninnen szükséged lesz az Oculus Utilities for Unity 5-re is (ezt nem kell külön telepíteni), hogy Unity alatt is tudj Gear VR-ra fejleszteni.

Töltsd le a Unity ingyenes változatát és telepítsd ezt is! Ez a fejlesztőkörnyezet, amit használni fogsz.

Az első Gear VR program

A Unity oldalán rengeteg videó található, aminek a segítségével elsajátíthatod a program használatát. A legegyszerűbb tutorialban a Roll-a-ball nevű program elkészítését követheted végig. Itt betekintést nyerhetsz a Unity használatának alapjaiba, ezért érdemes végigmenni rajta, hogy aztán a kész programot Gear VR alatt futtathassuk majd. Ha ezt a lépést kihagynád, elég, ha csinálsz egy új 3D Unity projektet, és a GameObject / 3D Object / Cube menüpont használatával létrehozol egy új kockát.

Ha kész van a tesztprogram vagy a kocka, az Assets / Import Package / Custom Package… menüpontban válaszd ki azt a könyvtárat, ahova kicsomagoltad az Oculus Utilities for Unity 5 tartalmát, és kattints a OculusUtilities.unitypackage fájlra! A feljövő ablakban hagyj mindent kipipálva és kattints az Importra! Így most már minden elérhető lesz a Unity projektedben, ami a Gear VR-ra való fejlesztéshez szükséges.

Ahhoz, hogy a telefonon a Gear VR-nak megfelelő sztereó képet lásd, a Unityban lévő kamerát az OVRCameraRig-re kell cserélni. A Hierarchy ablakban válaszd ki a Main Camera-t, majd az Inspector ablakban vedd ki a Main Camera melletti jelölőnégyzetet, hogy letiltsd annak használatát! A Project ablakban az Assets alatt válaszd az OVR könyvtárat, azon belül pedig a Prefabs-ot, jelöld ki az OVRCameraRig-et, és húzd a Hierarchy ablakba! Hogy a megfelelő helyre nézzen, válaszd ki az OVRCameraRig-et a Hierarchy ablakban, és az Inspector-ban a Position-t állítsd X = 0; Y = 10; Z = -15-re, a Rotation-t pedig X = 35; Y = 0; Z = 0-ra!

Amennyiben a Roll-a-ball tutorialon végigmentél, és nincs gamepad-ed, a PlayerController.cs-ben az Input.GetAxis-ok paramétereit cseréld “Mouse X”-re és “Mouse Y”-ra, így a golyót a touchpaddal tudod majd irányítani.

A program lefordítása és futtatása

Ahhoz, hogy egy program Gear VR alatt futni tudjon, alá kell írni az alkalmazást egy Oculus Signature File-al. Korábban megszereztük a telefonod Device ID-jét, aminek a segítségével készülékspecifikus aláírás gyártható (azaz a programod csak a te telefonodon fog futni). Ehhez nyisd meg az OSIG Generator oldalt, add meg a Device ID-det, és a kapott fájt másold be a programod Assets / Plugins / Android / assets könyvtárába!

Válaszd a File / Build Settings menüpontot, azon belül az Androidot, és fordítsd le az alkalmazásodat! Ha a Unity az Android SDK könyvtárát keresi, add meg a C:\Users\[UserName]\AppData\Local\Android\sdk könyvtárat (az [UserName] helyett a Windowsos felhasználóneveddel)! A kapott .apk file-t másold rá a telefonodra, és telepítsd!

A programod bekerül az alkalmazásaid közé (az Oculus Home-ban ettől még nem lesz elérhető), itt kattints rá, és amikor megjelenik az “Insert device” figyelmeztetés, dugd be a telefonodat a Gear VR-ba! Ezzel el is indítottad első Gear VR programodat.