Începeți cu Android VR și Google Cardboard imagini panoramice

În cadrul conferinței Google I / O din 2014, Google a introdus vizualizatorul Cardboard VR, un dispozitiv ieftin fabricat din carton, care utilizează lentile și un telefon al utilizatorului pentru a oferi acces simplu la aplicațiile de realitate virtuală. Doi ani mai tarziu, Google a anuntat planurile de a se extinde pe aceasta platforma prin vanzarea unui viewer mai durabil cu un controler, cunoscut sub numele de Daydream View, care este construit pe baza aceluiasi concept de folosire a unui telefon ca principal furnizor VR. Pentru a obține mai multe aplicații dezvoltate care suportă această platformă, Google a lansat pachetele SDK de carton pentru Android (SDK standard și NDK), iOS, motorul de joc Unity și motorul de joc Unreal. 

Acest tutorial este primul dintr-o serie scurtă despre SDK Android Cardboard și Daydream. În această serie, vă vom arăta cum să utilizați unele dintre instrumentele SDK și afișările făcute pentru a adăuga funcții simple în aplicațiile dvs. Există un număr surprinzător de moduri în care puteți integra cartonașul SDK în aplicațiile dvs. pentru jocuri și multimedia! 

Mă voi concentra pe trei exemple care vă vor face să începeți în lumea dezvoltării VR: un vizualizator de fotosferă, un vizualizator video 360 și un cititor de intrare pentru controlerul Daydream. Ne vom concentra asupra vizualizatorului fotosferei în acest tutorial și vom revedea celelalte două subiecte în lecțiile ulterioare.

Descărcați cartonul SDK și executați proiectele de probă

Spre deosebire de cele mai multe biblioteci din Android, SDK pentru Android Cardboard nu este disponibil oficial într-un depozit la distanță care poate fi importat ca o dependență prin Gradle. Pentru a le utiliza, va trebui să clonați SDK-ul Android Cardboard de la GitHub pe computer prin Git. 

git clone https://github.com/googlevr/gvr-android-sdk.git

După ce ați descărcat SDK-ul, începeți să rulați unul dintre mostrele preambalate. În ecranul de lansare Android Studio, selectați Proiect de import. Apoi, selectați directorul rădăcină pentru SDK pe care tocmai l-ați clonat și apăsați O.K.

În acest moment, veți avea acces la toate componentele și eșantioanele bibliotecii disponibile în Carton SDK pentru Android. Puteți selecta una dintre mostrele care se execută pe dispozitivul dvs. din meniul derulant al modulului din partea de sus a ferestrei Android Studio. Pentru a vă asigura că totul funcționează conform așteptărilor, selectați mostre-sdk-simplepanowidget și faceți clic pe verde Alerga săgeată.

Odată ce eșantionul a fost compilat și instalat, ar trebui să vedeți un ecran cu informații despre Machu Picchu, complet cu o vedere care se rotește în jurul unei fotosfere atunci când mutați dispozitivul Android.

Acum, că puteți rula aplicațiile de probă de pe dispozitiv, să ne aruncăm o privire asupra creării de noi aplicații Android bazate pe carton.

Crearea unui vizualizator panoramic

Să începem prin crearea unui nou proiect Android cu o versiune minimă SDK de 19 (KitKat). După ce ați trecut prin pașii standard de selectare și de creare a unei șabloane de aplicații, va trebui să copiați bibliotecile necesare pentru proiectul dvs. din SDK de carton biblioteci director în dosarul rădăcină al proiectului dvs. Pentru acest exemplu, copiați următoarele foldere: comun, commonwidget, și panowidget.

Odată ce fișierele de bibliotecă se află în locul lor, deschideți-vă proiectul settings.gradle fişier. Va trebui să adăugați acele module de bibliotecă în proiect prin intermediul acestui fișier.

include: "app", "common", "commonwidget", "panowidget"

Apoi, va trebui să faceți referire la aceste biblioteci în dvs. build.gradle fișier în dependențe nod, permițându-vă să accesați componentele prefabricate pentru Carton. Va trebui, de asemenea, să adăugați biblioteca JavaNano Buffers Protocol, care este o generație de coduri și o bibliotecă de execuție pentru a ajuta la gestionarea resurselor limitate ale dispozitivelor Android.

dependență compile fileTree (dir: 'libs', include: ['* .jar']) testCompile 'junit: junit: 4.12' compile 'com.android.support:appcompat-v7:25.0.0' common ") compilați proiectul (': commonwidget') compilați proiectul (': panowidget') compilați com.google.protobuf.nano: protobuf-javanano: 3.0.0-alpha-7 '

După ce dependențele au fost configurate, deschideți proiectul AndroidManifest.xml. În partea de sus a fișierului, în cadrul manifesta nod, va trebui să adăugați INTERNET și READ_EXTERNAL_STORAGE permisiunile pentru cartușul SDK.

 

În cadrul activitate nod pentru dvs. Activitate principala clasă, adăugați a categorie la intenție-filtru pentru CARTON telespectator.

      

Acum, că procesul de configurare se face, putem săpăm în partea distractivă: codul. Acest proiect va citi o imagine a fotosferei app / src / main / active și puneți-l într-o VrPanoramaView. Puteți lua o imagine fotosphere prin intermediul aplicației standard Android cu cameră și plasați-o în acest director. Pentru acest exemplu, voi folosi o imagine numită openspace.jpg.

În fișierul de aspect pentru dvs. Activitate, adauga o VrPanoramaView pe care le veți folosi în aplicația dvs..

   

Apoi, deschideți Activitate principala clasă. Va trebui să obțineți mai întâi o referință la dvs. VrPanoramaView în onCreate (Bundle), și apoi vă puteți încărca Bitmap în ea prin loadPhotoSphere () metoda de ajutor pe care o vom defini într-un moment.

privat VrPanoramaView mVrPanoramaView; @Override protejate void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); mVrPanoramaView = (VrPanoramaView) findViewById (rd.pano_view); loadPhotoSphere (); 

loadPhotoSphere () preluă imaginea din folderul de materiale și o încarcă în VrPanoramaView cu VrPanoramaView.Options obiect. Merită remarcat faptul că aceste imagini pot fi relativ mari, astfel încât această operație ar apărea în mod normal pe un fir de fundal, deși această lecție va păstra totul pe firul UI pentru simplitate.

private void loadPhotoSphere () // Aceasta ar putea dura ceva timp. Ar trebui să facă pe un fir de fundal, dar bine pentru exemplul curent VrPanoramaView.Options options = noi VrPanoramaView.Options (); IntrareStream inputStream = null; AssetManager activManager = getAssets (); încercați inputStream = assetManager.open ("openspace.jpg"); options.inputType = VrPanoramaView.Options.TYPE_MONO; mVrPanoramaView.loadImageFromBitmap (BitmapFactory.decodeStream (inputStream), opțiuni); inputStream.close ();  captură (IOException e) Log.e ("Tuts +", "Excepție în loadPhotoSphere:" + e.getMessage ()); 

Observați că pentru VrPanoramaView.Options.inputType valoare, pe care o folosim TYPE_MONO. Aceasta înseamnă că VrPanoramaView se așteaptă să se afișeze o singură imagine de canal, în timp ce a tip de introducere de TYPE_STEREO_OVER_UNDER s-ar aștepta o imagine care este împărțită vertical cu ochiul stâng și drept văzând jumătățile de sus și de jos ale respectivei imagini.

Ultimul lucru pe care trebuie să-l faceți este să întrerupeți și să reluați redarea VrPanoramaView în onPause () și onResume (), precum și să o deconectați în mod corespunzător onDestroy ().

@Override protejate void onPause () mVrPanoramaView.pauseRendering (); super.onPause ();  @Override protejate void onResume () super.onResume (); mVrPanoramaView.resumeRendering ();  @Override protejate void onDestroy () mVrPanoramaView.shutdown (); super.onDestroy (); 

Acum, când am terminat de instalat aplicația, să mergem mai departe și să o executați. Aplicația dvs. ar trebui să afișeze fotosfera pe ecran și ar trebui să puteți muta telefonul în jur pentru a vedea porțiuni diferite ale imaginii.

Dacă apăsați pe pictograma de carton din colțul din dreapta jos al paginii Vedere, acesta va împărți imaginea în două imagini ușor decalate care pot fi văzute printr-un vizualizator de carton sau Daydream.

Deși nu este folosit în acest tutorial, este de remarcat, de asemenea, că VrPanoramaView poate accepta a VrPanoramaEventListener obiect care va notifica aplicația când o nouă imagine a reușit sau nu sa încărcat.

Concluzie

Felicitări - ați creat prima aplicație din carton, un vizualizator de imagini pentru imagini panoramice și fotosfere! Deși acesta este un exemplu simplificat, acesta vă oferă noțiunile de bază despre cum să creați propriile aplicații pentru a utiliza vizualizatorul de carton. Pentru un exemplu uimitor de aplicație care duce acest concept la un pas mai departe, recomand foarte mult aplicația Google pentru expediții. 

Sper că v-ați bucurat să vă scufundați degetele de la picioare în lumea VR. În următorul tutorial, vă voi arăta cum să redați fișiere video de 360 ​​de grade prin SDK-ul de carton.

Între timp, verificați câteva dintre celelalte cursuri și tutoriale ale Android VR, chiar aici pe Envato Tuts+.

  • Explorați VR cu Google Cardboard

    VR (realitatea virtuală) este o tehnologie interesantă care promite noi viziuni de experiență imersivă. Cu ajutorul SDK-ului Google Cardboard pentru Android, dezvoltând VR ...
    Sue Smith
    Android
  • Pokémon Go Style realitate augmentată cu Vuforia

    Cu succesul viral al Pokemon GO, toată lumea a vorbit despre realitatea augmentată. În acest tutorial ne vom uita la utilizarea Vuforia pentru realitatea augmentată ...
    Tin Megali
    Dezvoltarea mobilă
  • Creați un joc de realitate cu stilul Pokémon GO cu Vuforia

    În acest tutorial vom începe să construim o aplicație cu Realitatea Augmented folosind Vuforia pe unitatea 3D. Vom învăța cum să înființăm Vuforia și să începem să dezvoltăm un AR ...
    Tin Megali
    Dezvoltarea mobilă
  • Pokémon GO Style Augmented Reality: Marcatori

    Recent, Pokemon Go a luat lumea prin furtună. Una dintre cele mai interesante și mai interesante părți ale acestui joc este folosirea realității augmentate sau AR. AR este ...
    Derek Jensen
    Aplicatie mobila
Cod