Creați un App 3D Flight Simulator pentru iOS și Android - Project Export

În această serie de tutori, vom crea o aplicație de simulator de zbor folosind ShiVa3D Suite. Pentru a construi această aplicație, vom acoperi toate subiectele necesare pentru crearea de jocuri 3D, aplicații educaționale și aplicații 3D noutate. În acest tutorial, cea de-a 4-a și ultima tranșă, ne vom concentra pe exportul aplicației pentru mai multe platforme.

Partea 3 din această serie sa axat pe adăugarea codului și a unității de testare a produsului final. În partea a 4-a, ultima tranșă a seriei, vom exporta aplicația din ShiVa Editor și vom importa în ShiVa Authoring Tool. Apoi, vom explica cum să convertim aplicația într-un executabil specific platformei, prin Instrumentul de creație ShiVa. Platformele pe care le vom lua în considerare sunt Android, iPad și iPhone. Vom oferi imaginile de pe ecran ale Simulatorului din dispozitivele reale utilizate pentru testare, un telefon Motorola Droid cu Android OS 2.2, un iPad2 cu iOS 4.3 și un iPod Touch cu iOS 4.3. În cele din urmă, în "Observațiile finale", vom da o concluzie seriei.


Disponibile și în această serie:

  1. Creați un App 3D Flight Simulator pentru iOS și Android - Prezentare teoretică
  2. Creați un App 3D Flight Simulator pentru iOS și Android - crearea de mediu
  3. Creați un App 3D Flight Simulator pentru iOS și Android - Programare Simulator
  4. Creați un App 3D Flight Simulator pentru iOS și Android - Project Export

Exportarea jocului

În prezent, dezvoltarea jocului Simulator a fost finalizată. Acum vom exporta Simulatorul pentru două platforme diferite pentru creare: iOS, pentru implementarea în dispozitivele iPad și iPhone / iPod Touch și sistemul de operare Android, pentru implementarea pe dispozitive cu Android.

Exportați pentru iOS

În Data Explorer, în dosarul Jocuri, selectați Simulator. Din meniul cu butonul din dreapta, selectați Exportă joc (dacă este cerut să salvați ceva cu jocul, selectați Da).


În caseta de dialog Export, lăsați numele câmpului Export să fie "Simulator". Asigurați-vă că caseta de selectare Local folder este bifată și alegeți un folder local pentru a exporta jocul. De asemenea, bifați caseta de selectare Runtime (.stk) și alegeți iOS pentru platforma corespunzătoare.


Apăsați "Export" pentru a exporta jocul. Ar putea dura ceva timp pentru a finaliza exportul. După finalizare, veți vedea o casetă de confirmare după cum urmează:


Exportați pentru Android

Acest lucru este similar cu exportul pentru iOS, cu excepția faptului că platforma pentru pachetul Runtime trebuie selectată ca Android.



Instrumentul de creație ShiVa

Până acum, am dezvoltat Simulatorul fără a scrie orice cod specific pentru platformele iOS sau Android. Acum vom folosi instrumentul ShiVa Authoring pentru a transforma Simulatorul în trei aplicații diferite, unul pentru Android, unul pentru iPhone / iPod touch și unul pentru iPad.

Platforma Android

Aduceți ShiVa Authoring Tool. Selectați fila Android. Apăsați pe săgeata de sub "Sau începeți acum ...".


Apare Pasul 1 al Instrumentului de creație. Pentru "pachetul de aplicații", selectați din sistemul de fișiere fișierul Simulator.stk exportat din ShiVa Editor pentru Android. Pentru "Icon", selectați flight-48-48.png care face parte din arhiva sursă care însoțește această serie. Pentru "Splashscreen de pornire", selectați zborul-480-800.png care face parte și din arhiva sursă care însoțește acest articol. Observați că instrumentul ShiVa Authoring Tool afișează o previzualizare a fișierelor imagine specificate în selecțiile "Icon" și "Startup splashscreen". Apăsați pe "Pasul 2: Creați" deasupra ecranului.


Este afișat pasul 2 al Instrumentului de creație. Aici vom crea un fișier executabil Android ce poate fi instalat direct într-un dispozitiv Android. Selectați "Tip de autor" ca "Pachet APK" (Dacă doriți ca un proiect Eclipse să fie creat în locul unui executabil, selectați în loc de "Proiect". Opțiunea Project nu a fost testată în această serie). Pentru "identificatorul pachetului", introduceți com.shiva3d.simulator. Fie 'versiunea' și 'codul versiunii' să rămână ca 1.0.0 și, respectiv, 1. Apăsați pe "Pasul 3: Construiți" deasupra ecranului.


Este afișat pasul 3 al Instrumentului de creație. Selectați "Construiți tipul" ca "Dezvoltare". Caseta de selectare "Utilizați OpenGLES 1.1" nu trebuie bifată (nu am testat construirea cu această casetă de selectare). Deoarece am dori să instalați Simulatorul în dispozitivul nostru Android, ca parte a construirii, am bifat caseta de selectare "Instalare pe dispozitiv conectat". Pentru ca această opțiune să funcționeze, trebuie să fi finalizat pașii din "Pregătiți dispozitivul Android pentru instalare" de mai jos. Dacă nu este bifată caseta de validare "Instalare pe dispozitiv conectat", Instrumentul de creație va crea executabilul Android pentru aplicația Simulator din "Dosarul de ieșire", care poate fi instalat ulterior utilizând instrumentul adb în Android.

Lăsați "Backend audio" ca "Default". Selectați "Suport pentru OS minim" ca fiind "Android 2.2 (nivel API: 8)".


Definiți un dosar de ieșire pentru Instrumentul de creație pentru a stoca fișierele pe care le generează în timpul procesului de construire. Să alegeți opțiunea "Custom script build build" să rămână opțiunea "Nici un script". Apăsați butonul Build.


Va dura ceva timp pentru a finaliza construcția. Odată ce construirea este finalizată, veți vedea o confirmare în consola care va spune că construirea a fost terminată cu succes.


Dacă ați selectat opțiunea "Instalare pe dispozitiv conectat", în acest moment aplicația Simulator a fost instalată pe dispozitivul conectat. Indiferent dacă această opțiune a fost verificată sau nu, a fost creat un executabil Android numit Simulator-debug.apk în directorul de ieșire pe care l-ați definit în Pasul 3.

Pregătește dispozitivul Android pentru instalare

Dacă doriți ca Shiva 3D Authoring Tool să instaleze Simulatorul în dispozitivul Android ca parte a construirii, trebuie să pregătiți dispozitivul pentru instalare. În primul rând, în Setările aplicației, bifați "Surse necunoscute", după cum se arată mai jos.


Apoi, în opțiunile de dezvoltare ale dispozitivului dvs., bifați "Debugging USB", după cum se arată mai jos.


De asemenea, asigurați-vă că dispozitivul dvs. este conectat la dispozitivul de dezvoltare printr-un cablu USB (rețineți că atunci când conectați pentru prima dată un anumit dispozitiv Android la PC-ul Windows, Windows OS va instala driverul de dispozitiv corespunzător în computerul dvs. trebuie să îndreptați Expertul Adăugare Hardware la locația folderului de instalare SDK pentru Android pentru a găsi un driver potrivit).

Ecranele de simulare pentru dispozitivul Android

Simulatorul a fost implementat pe un telefon Motorola Droid cu Android 2.2 OS. Figura de mai jos prezintă comanda rapidă pentru Simulator din meniul de pornire Android (pictograma de pornire este fișierul imagine denumit flight-48-48.png folosit mai sus în instrumentul de creație).


Următoarea este o captură de ecran a Simulatorului de pe un dispozitiv Android.


Platforma iPad

Acum vom folosi ShiVa Authoring Tool pentru a crea aplicația Simulator pentru implementare pe un dispozitiv iPad. Aduceți ShiVa Authoring Tool. Selectați fila iPad. Apăsați pe săgeata de sub "Sau începeți acum ...".


Apare Pasul 1 al Instrumentului de creație. Pentru "pachetul de aplicații", selectați din sistemul de fișiere fișierul Simulator.stk exportat din ShiVa Editor pentru iOS. Pentru "Pictogramă", selectați zborul-72-72.png care face parte din arhiva sursă care însoțește această serie. Pentru "Startup splashscreen", selectați zborul-768-1024.png care face parte și din arhiva sursă care însoțește această serie. Observați că ShiVa Authoring Tool afișează o previzualizare a fișierelor imagine specificate în selecțiile "Icon" și "Startup splashscreen". Apăsați pe "Pasul 2: Creați" deasupra ecranului.


Este afișat pasul 2 al Instrumentului de creație. Aici vom crea un proiect Xcode care poate fi folosit pentru construirea și instalarea aplicației pe un dispozitiv iPad. Selectați "Tip autor" ca "Proiect". Pentru "Identificatorul pachetului", introduceți com.shiva3d.simulator. Pentru "Profilul furnizării", furnizați profilul de furnizare a dezvoltării de la portalul de furnizare a produselor Apple. Pentru "semnarea identității", furnizați numele dezvoltatorului (sau organizației) în lanțul cheie asociat cu certificatul din mașina dvs. de dezvoltare Mac OS. Fie 'Version' 1.0.0. Apăsați pe "Pasul 3: Construiți" deasupra ecranului.


Este afișat pasul 3 al Instrumentului de creație. Selectați "Dezvoltare" ca "Tip construit". Caseta de selectare "Utilizați OpenGLES 1.1" nu trebuie bifată (nu am testat construirea cu această casetă de selectare). Furnizați un director de ieșire pentru Instrumentul de creație pentru a crea un folder de proiect Xcode. De exemplu, definim directorul de ieșire pentru a fi / Users / cocoderkatz / Desktop / tmpiPad. Apoi, Instrumentul de creație va crea un folder numit /Users/cocoderkatz/Desktop/tmpiPad/Simulator_iPad.s3dxproj și va copia fișierele / folderele proiectului Xcode sub acel director. Nu modificați alte opțiuni. Apăsați butonul Build.


După finalizarea construcției, veți vedea un mesaj în consola că instrumentul de creație a creat un folder de proiect Xcode și a copiat fișierele asociate în acel folder. Acum, puteți utiliza xCode pentru a construi și a rula aplicația Simulator pe un dispozitiv iPad așa cum ați face în mod normal cu alte proiecte Xcode.


Simulatorul se afișează pe un dispozitiv iPad 2

Simulatorul a fost implementat pe un dispozitiv iPad 2 cu iOS 4.3. Figura de mai jos prezintă comanda rapidă pentru Simulator dintr-un meniu de pornire iPad 2 (Pictograma de pornire este fișierul imagine numit flight-72-72.png folosit mai sus în instrumentul de creație).


Următoarea este o captură de ecran a jocului de pe un dispozitiv iPad 2.


Platforma iPhone

Acum vom folosi ShiVa Authoring Tool pentru a crea aplicația Simulator pentru implementare pe un dispozitiv iPhone / iPod touch. Aduceți ShiVa Authoring Tool. Selectați fila iPhone. Apăsați pe săgeata de sub "Sau începeți acum ...".


Apare Pasul 1 al Instrumentului de creație. Pentru "pachetul de aplicații", selectați din sistemul de fișiere fișierul Simulator.stk exportat din ShiVa Editor pentru iOS. Pentru "Icon", selectați flight-114-114.png care face parte din arhiva sursă care însoțește această serie. Pentru "Splashscreen de pornire", selectați flight-640-960.png care face parte și din arhiva sursă care însoțește această serie. Observați că ShiVa Authoring Tool afișează o previzualizare a fișierelor imagine specificate în selecțiile "Icon" și "Startup splashscreen". Apăsați pe "Pasul 2: Creați" deasupra ecranului.


Este afișat pasul 2 al Instrumentului de creație. Aici vom crea un proiect Xcode care poate fi folosit pentru construirea și instalarea aplicației pe dispozitivul iPhone sau iPod touch. Setați tipul de "autor" la "proiect". Pentru "Identificatorul pachetului", introduceți com.shiva3d.simulator. Pentru "Profilul furnizării" furnizați profilul de provizioane de dezvoltare de la Apple Provisioning Portal. Pentru "semnarea identității", furnizați numele dezvoltatorului (sau organizației) în lanțul cheie asociat cu certificatul din mașina dvs. de dezvoltare Mac OS. Fie 'Version' 1.0.0. Apăsați pe "Pasul 3: Construiți" deasupra ecranului.


Este afișat pasul 3 al Instrumentului de creație. Selectați "Dezvoltare" ca "Tip construit". Rubrica "Utilizați OpenGLES 1.1" ar trebui să fie debifată (nu am testat construirea cu această casetă de selectare).


Furnizați un director de ieșire pentru Instrumentul de creație pentru a crea un folder de proiect Xcode. De exemplu, definim directorul de ieșire pentru a fi / Users / cocoderkatz / Desktop / tmp. Apoi, Instrumentul de creație va crea un folder numit /Users/cocoderkatz/Desktop/tmp/Simulator_iPhone.s3dxproj și va copia fișierele / folderele proiectului Xcode sub acel dosar. Nu modificați alte opțiuni. Apăsați butonul Build.


După finalizarea construcției, veți vedea un mesaj în consola că instrumentul de creație a creat un folder de proiect Xcode și a copiat fișierele aferente din acel folder. Acum, puteți utiliza Xcode pentru a construi și a rula aplicația Simulator într-un dispozitiv iPhone sau iPod Touch așa cum ați face în mod normal cu alte proiecte Xcode.


Ecrane de simulatoare pe dispozitive iPod Touch

Simulatorul a fost implementat într-un iPod touch cu iOS 4.3. Figura de mai jos arată comanda rapidă pentru Simulator din meniul de pornire al iPod touch. Pictograma de pornire este fișierul imagine numit flight-114-114.png folosit mai sus în instrumentul de creație.


Următoarea este o captură de ecran a jocului pe un iPod touch.



Concluzii finale

În această serie, am dezvoltat un simplu simulator de zbor utilizând ShiVa 3D Suite și l-am instalat pe dispozitive Android și iOS. Principalele instrumente de dezvoltare folosite au fost ShiVa Editor și ShiVa Authoring Tool. Editorul ShiVa este folosit pentru a dezvolta un joc 3D într-un mod independent de platformă. Acesta permite dezvoltatorului să creeze grafică 3D a aplicației și a codului corespunzător. Ieșirea din ShiVa Editor este un fișier de export specific platformei, de ex. unul pentru sistemul de operare Android sau unul pentru iOS. Fișierul de export din Editorul ShiVa este apoi importat în ShiVa Authoring Tool pentru a genera un fișier executabil sau un fișier proiect pentru platforma respectivă. Pentru sistemul de operare Android, am generat un fișier executabil Android utilizând ShiVa Authoring Tool. Pentru iPad2 și iPhone / iPod, am generat proiecte Xcode corespunzătoare utilizând ShiVa Authoring Tool.

O suită de produse pentru a dezvolta aplicații cross-platform, fără a scrie coduri specifice platformei, ShiVa 3D Suite oferă un mare ajutor celor care sunt interesați să creeze aplicații 3D pentru dispozitive iOS și Android. Vizitați ShiVa3D Suite pentru platforme suplimentare, suportate de ShiVa Editor și ShiVa Authoring Tool.

Mai jos vom da comentarii suplimentare despre aplicația Simulator discutată în această serie.

Crearea terenurilor

În timpul dezvoltării simulatorului, am introdus diferite funcții de bază ale funcționalității de creare a terenului în Editorul ShiVa. Efectele vizuale mai sofisticate pot fi adăugate pe un teren. De exemplu, puteți adăuga zăpada în munți, puteți defini texturi diferite, cum ar fi roca, solul, vegetația sau apa. Cu toate acestea, unele dintre aceste efecte vizuale vor necesita importarea de fișiere imagine reprezentând textura specifică a terenului. Cu alte cuvinte, veți avea nevoie de resurse create în afara suitei 3D ShiVa.

Terenul pe care l-am creat are dimensiuni limitate. Aceasta necesită tehnici speciale pentru a dezvolta un teren care nu se termină niciodată, adică unul care are dimensiuni infinite. Pentru o discuție în acest sens, vizitați http://www.stonetrip.com/developer/forum/viewtopic.php?f=39&t=20668.

Unități și variabile

Noțiunea de unitate de distanță în Editorul Shiva3D nu este un concept absolut. Aceasta ar trebui interpretată în raport cu aplicația și cu dispozitivul special în care va funcționa aplicația. În Simulator, trei parametri importanți legați de unitatea de distanță sunt

  • mărimea terenului, care este de 4.096 x 4.096 unități;
  • altitudinea inițială a planului, care este de 50 de unități, definită ca coordonată inițială a axei Y.,
  • variabila V, reprezentând viteza, a cărei valoare este de 0,25.

Din examinarea funcției move () în care utilizăm variabila V, este ușor de văzut că planul călătorește la 0,25 unități pe cadru. (Amintiți-vă că mutarea funcției () este apelată la fiecare cadru.) Dacă implementați aplicația într-un dispozitiv care afișează 20 de cadre pe secundă, viteza simulată va fi de 18.000 de unități pe oră. Acum, să presupunem că o unitate de distanță corespunde la 30 de picioare. Apoi, având în vedere că 1 mile = 5.280 de metri:

  • mărimea terenului este de aproximativ 23,3 mile (= 4,096 unități x 30 de picioare x 1 mile / 5,280 de picioare)
  • altitudinea inițială a planului este de 1.500 de picioare (= 50 unități x 30 de picioare)
  • viteza avionului este de aproximativ 102,3 mile / oră (= 18,000 unități / oră x 30 de picioare / 1 mile / 5,280 de picioare)

Am fi putut presupune că o unitate de distanță corespunde la 50 de picioare. Apoi, mărimea terenului, altitudinea inițială a avionului și viteza avionului s-ar schimba în consecință. Pur și simplu comentăm faptul că o unitate de distanță nu este o valoare fizică absolută. Acesta este un parametru de intrare pentru diferite funcții în jocul nostru Simulator. Ceea ce contează cu adevărat este dacă utilizatorul va percepe dinamica simulată ca sensibilă sau nu.

Alte două variabile care sunt importante în ceea ce privește crearea unei experiențe realiste de zbor sunt dP și dR (vezi pitch () și bank () de mai sus). Valoarea dP este utilizată pentru a controla rata de pas, în timp ce dR este folosit pentru a controla rata de rotire și rata de întoarcere. Am determinat valorile finale pentru V, dP și dR prin încercare și eroare după ce am implementat Simulatorul în dispozitivele țintă de mai multe ori.

În final, rețineți că valorile curente pentru V, dP și dR din lista de coduri de mai sus păreau a fi o potrivire mai bună pentru dispozitivele iPad 2 și iPod touch decât Motorola Droid. Acest lucru se datorează, probabil, faptului că Motorola Droid, fiind un prim exemplu de telefoane Android, are un CPU mai lent decât celelalte două. Cu valorile revizuite stabilite după cum urmează, am observat o dinamică mai realistă în Motorola Droid.

  • V = 0,75 (în loc de 0,25)
  • dP = 0,2 (în loc de 0,04)
  • dR = 0,15 (în loc de 0,05)

Cum de a extinde simulatorul

Cititorul interesat ar putea extinde Simulatorul pentru a face mai atrăgător. Unele idei sunt enumerate mai jos în ordine crescătoare a complexității.

  • Adăugați un sunet la jocul care se joacă când începe o anumită manevră. Un bun punct de plecare este tutorialul din capitolul 7 al cărții lui Shando Shiva.
  • Adăugați repere în teren, pentru ca planul să fie înclinat spre slalom. Pentru fiecare țintă ratată, atribuiți un punct de penalizare și afișați-l pe ecran.
  • Adăugați un model 3D plan pentru a urma în fața camerei. Alocați butoanele de comandă pentru a manevra avionul respectiv. Lăsați acțiunile de degetul mare să controleze camera. Utilizatorul va naviga în avion și aparatul foto, astfel încât avionul să nu iasă niciodată din vedere.
Cod