Crear una aplicación 3D Flight Simulator para iOS y Android - Exportación de proyectos

En esta serie de tutoriales, crearemos una aplicación de simulador de vuelo utilizando ShiVa3D Suite. Para construir esta aplicación, cubriremos todos los temas necesarios para crear juegos 3D, aplicaciones educativas y aplicaciones 3D novedosas. En este tutorial, la cuarta y última entrega, nos centraremos en exportar la aplicación para múltiples plataformas..

La parte 3 de esta serie se centró en agregar el código y la unidad de prueba del producto final. En la parte 4, la última entrega de la serie, exportaremos la aplicación desde el Editor de ShiVa y la importaremos en la Herramienta de creación de ShiVa. Luego, explicaremos cómo convertir la aplicación en un ejecutable específico de la plataforma a través de la Herramienta de creación de ShiVa. Las plataformas que consideraremos son Android, iPad y iPhone. Daremos imágenes de pantalla del simulador a partir de dispositivos reales utilizados para las pruebas, un teléfono Motorola Droid con Android OS 2.2, un iPad2 con iOS 4.3 y un iPod Touch con iOS 4.3. Finalmente, en las 'Observaciones finales', daremos una conclusión a la serie..


También disponible en esta serie:

  1. Crear una aplicación de simulador de vuelo 3D para iOS y Android: descripción teórica
  2. Cree una aplicación 3D Flight Simulator para iOS y Android - Creación de entornos
  3. Crear una aplicación 3D Flight Simulator para iOS y Android - Programación de simulador
  4. Crear una aplicación 3D Flight Simulator para iOS y Android - Exportación de proyectos

Exportando el juego

Actualmente, el desarrollo del juego de simulador ha sido completado. Ahora exportaremos el simulador para dos plataformas diferentes para la creación: iOS, para la implementación en dispositivos iPad y iPhone / iPod Touch, y el sistema operativo Android, para la implementación en dispositivos con Android..

Exportar para iOS

En el Explorador de datos, en la carpeta Juegos, seleccione Simulador. En el menú del botón derecho, seleccione Exportar juego (si se le pide que guarde algo con el juego, seleccione Sí).


Desde el cuadro de diálogo Exportar, deje que el nombre del campo Exportar sea "Simulador". Asegúrese de que la casilla de verificación Carpeta local esté marcada y elija una carpeta local para exportar el juego. Además, marque la casilla de verificación Paquete de tiempo de ejecución (.stk) y elija iOS para la plataforma correspondiente.


Presiona "Exportar" para exportar el juego. Puede llevar un tiempo completar la exportación. Una vez completado, verá un cuadro de confirmación de la siguiente manera:


Exportar para Android

Esto es similar a la exportación para iOS, excepto que la plataforma para el paquete de tiempo de ejecución debe seleccionarse como Android.



La herramienta de autor ShiVa

Hasta ahora, hemos desarrollado el simulador sin escribir ningún código específico para las plataformas iOS o Android. Ahora usaremos la herramienta de creación ShiVa para convertir el simulador en tres aplicaciones diferentes, una para Android, una para iPhone / iPod touch y otra para iPad.

La plataforma android

Presente la herramienta de autor ShiVa. Selecciona la pestaña de Android. Presione la flecha debajo de 'O comience ahora ...'.


Se muestra el paso 1 de la herramienta de creación. Para 'Paquete de aplicaciones', seleccione de su sistema de archivos el archivo Simulator.stk exportado desde ShiVa Editor para Android. Para 'Icono', seleccione flight-48-48.png que es parte del archivo fuente que acompaña a esta serie. Para 'Pantalla de inicio', seleccione el vuelo-480-800.png que también forma parte del archivo fuente que acompaña a este artículo. Observe que la Herramienta de creación de ShiVa muestra una vista previa de los archivos de imagen especificados en las selecciones 'Icono' y 'Pantalla de inicio'. Presiona 'Paso 2: Creación' en la parte superior de la pantalla.


Se muestra el paso 2 de la herramienta de creación. Aquí, crearemos un archivo ejecutable de Android que se puede instalar directamente en un dispositivo Android. Seleccione 'Tipo de autoría' como 'Paquete APK' (si desea que se cree un proyecto de Eclipse en lugar de un ejecutable, seleccione 'Proyecto' en su lugar. La opción Proyecto no se ha probado en esta serie). Para el 'identificador de paquete', ingrese com.shiva3d.simulator. Deje que 'Versión' y 'Código de versión' permanezcan como 1.0.0 y 1, respectivamente. Pulse en 'Paso 3: Construir' encima de la pantalla.


Se muestra el paso 3 de la herramienta de creación. Seleccione 'Tipo de compilación' como 'Desarrollo'. La casilla de verificación 'Usar OpenGLES 1.1' debería estar desactivada (no hemos probado la compilación con esa casilla marcada). Como nos gustaría instalar el simulador en nuestro dispositivo Android como parte de la compilación, hemos marcado la casilla de verificación "Instalar en dispositivo conectado". Para que esa opción funcione, debe haber completado los pasos en "Preparar el dispositivo Android para la instalación" a continuación. Si la casilla de verificación 'Instalar en dispositivo conectado' no está marcada, la herramienta de creación creará el ejecutable de Android para la aplicación Simulator en la 'Carpeta de salida', que se puede instalar más adelante con la herramienta adb en Android.

Deje 'Audio backend' como 'Predeterminado'. Seleccione 'Soporte OS mínimo' como 'Android 2.2 (nivel de API: 8)'.


Defina una carpeta de salida para que la herramienta de creación almacene los archivos que genera durante el proceso de construcción. Deje que la selección de 'Custom post build script' permanezca como una opción 'No script'. Presiona el botón Construir.


Tomará un tiempo completar la construcción. Una vez que se complete la compilación, verá una confirmación en la consola indicando que la compilación se completó correctamente.


Si ha seleccionado la opción 'Instalar en dispositivo conectado', en este punto la aplicación Simulator se ha instalado en el dispositivo conectado. Independientemente de si esa opción se ha marcado o no, se ha creado un ejecutable de Android llamado Simulator-debug.apk en la carpeta de salida que definió en el Paso 3.

Preparar el dispositivo Android para la instalación

Si desea que Shiva 3D Authoring Tool instale el simulador en el dispositivo Android como parte de la compilación, debe preparar el dispositivo para la instalación. En primer lugar, en la configuración de la aplicación, marque 'Fuentes desconocidas', como se muestra a continuación.


Luego, en las opciones de desarrollo de su dispositivo, marque 'Depuración de USB' como se muestra a continuación.


Además, asegúrese de que su dispositivo esté conectado a su máquina de desarrollo a través de un cable USB (tenga en cuenta que cuando conecte un dispositivo Android en particular a su PC con Windows por primera vez, el sistema operativo Windows instalará el controlador de dispositivo adecuado en su computadora. debe apuntar el Asistente para agregar hardware a la ubicación de la carpeta de instalación del SDK de Android para que el asistente encuentre un controlador adecuado).

Simulador de pantallas para el dispositivo Android

El simulador se ha implementado en un teléfono Motorola Droid con sistema operativo Android 2.2. La siguiente figura muestra el acceso directo para Simulator en el menú de inicio de Android (el icono de inicio es el archivo de imagen denominado flight-48-48.png utilizado anteriormente en la herramienta de creación).


La siguiente es una captura de pantalla del simulador en un dispositivo Android.


La plataforma ipad

Ahora usaremos la herramienta de creación ShiVa para crear la aplicación Simulator para su implementación en un dispositivo iPad. Presente la herramienta de autor ShiVa. Seleccione la pestaña iPad. Presione la flecha debajo de 'O comience ahora ...'.


Se muestra el paso 1 de la herramienta de creación. Para 'Paquete de aplicaciones', seleccione de su sistema de archivos el archivo Simulator.stk exportado desde ShiVa Editor para iOS. Para 'Icono', seleccione el vuelo-72-72.png que es parte del archivo fuente que acompaña a esta serie. Para 'Pantalla de inicio', seleccione el vuelo-768-1024.png que también forma parte del archivo fuente que acompaña a esta serie. Observe que la Herramienta de creación de ShiVa muestra una vista previa de los archivos de imagen especificados en las selecciones 'Icono' y 'Pantalla de inicio'. Presiona 'Paso 2: Creación' en la parte superior de la pantalla.


Se muestra el paso 2 de la herramienta de creación. Aquí, crearemos un proyecto de Xcode que se puede utilizar para construir e instalar la aplicación en un dispositivo iPad. Seleccione 'Tipo de autoría' como 'Proyecto'. Para 'Identificador de paquete', ingrese com.shiva3d.simulator. Para 'Perfil de provisión', proporcione el perfil de provisión de desarrollo del Portal de aprovisionamiento de Apple. Para 'Identidad de firma', proporcione el nombre del desarrollador (u organización) en el llavero asociado con el certificado en su máquina de desarrollo Mac OS. Sea 'versión' 1.0.0. Pulse en 'Paso 3: Construir' encima de la pantalla.


Se muestra el paso 3 de la herramienta de creación. Seleccione 'Desarrollo' como 'Tipo de compilación'. La casilla de verificación 'Usar OpenGLES 1.1' debería estar desactivada (no hemos probado la compilación con esa casilla marcada). Proporcione una carpeta de salida para que la herramienta de creación cree una carpeta de proyecto de Xcode. Por ejemplo, definimos la carpeta de salida como / Users / cocoderkatz / Desktop / tmpiPad. Luego, la herramienta de creación creará una carpeta llamada /Users/cocoderkatz/Desktop/tmpiPad/Simulator_iPad.s3dxproj y copiará los archivos / carpetas del proyecto Xcode en esa carpeta. No cambie otras opciones. Presiona el botón Construir.


Una vez que se haya completado la compilación, verá un mensaje en la consola que indica que la herramienta de creación ha creado una carpeta de proyecto de Xcode y copiado los archivos relacionados en esa carpeta. Ahora, puede usar xCode para compilar y ejecutar la aplicación Simulator en un dispositivo iPad como lo haría normalmente con otros proyectos de Xcode.


Pantallas de simulador en un dispositivo iPad 2

El simulador se ha implementado en un dispositivo iPad 2 con iOS 4.3. La siguiente figura muestra el acceso directo para el simulador en el menú de inicio de un iPad 2 (el ícono de inicio es el archivo de imagen denominado flight-72-72.png utilizado anteriormente en la herramienta de creación).


La siguiente es una captura de pantalla del juego en un dispositivo iPad 2.


La plataforma iPhone

Ahora usaremos la herramienta de creación ShiVa para crear la aplicación Simulator para su implementación en un dispositivo iPhone / iPod touch. Presente la herramienta de autor ShiVa. Seleccione la pestaña iPhone. Presione la flecha debajo de 'O comience ahora ...'.


Se muestra el paso 1 de la herramienta de creación. Para 'Paquete de aplicaciones', seleccione de su sistema de archivos el archivo Simulator.stk exportado desde ShiVa Editor para iOS. Para 'Icono', seleccione el vuelo-114-114.png que es parte del archivo fuente que acompaña a esta serie. Para 'Pantalla de inicio', seleccione el vuelo-640-960.png que también forma parte del archivo fuente que acompaña a esta serie. Observe que la Herramienta de creación ShiVa muestra una vista previa de los archivos de imagen especificados en las selecciones 'Icono' y 'Pantalla de inicio'. Presiona 'Paso 2: Creación' en la parte superior de la pantalla.


Se muestra el paso 2 de la herramienta de creación. Aquí, crearemos un proyecto de Xcode que se puede usar para construir e instalar la aplicación en su dispositivo iPhone o iPod touch. Establezca el 'Tipo de autoría' en 'Proyecto'. Para 'Identificador de paquete', ingrese com.shiva3d.simulator. Para 'Perfil de provisión', proporcione el perfil de aprovisionamiento de desarrollo de Apple Provisioning Portal. Para 'Identidad de firma', proporcione el nombre del desarrollador (u organización) en el llavero asociado con el certificado en su máquina de desarrollo Mac OS. Sea 'versión' 1.0.0. Pulse en 'Paso 3: Construir' encima de la pantalla.


Se muestra el paso 3 de la herramienta de creación. Seleccione 'Desarrollo' como 'Tipo de compilación'. La casilla de verificación 'Usar OpenGLES 1.1' debería estar desactivada (no hemos probado la compilación con esa casilla marcada).


Proporcione una carpeta de salida para que la herramienta de creación cree una carpeta de proyecto de Xcode. Por ejemplo, definimos la carpeta de salida como / Users / cocoderkatz / Desktop / tmp. Luego, la herramienta de creación creará una carpeta llamada /Users/cocoderkatz/Desktop/tmp/Simulator_iPhone.s3dxproj y copiará los archivos / carpetas del proyecto Xcode en esa carpeta. No cambie otras opciones. Presiona el botón Construir.


Una vez que la compilación haya finalizado, verá un mensaje en la consola que indica que la herramienta de creación ha creado una carpeta de proyecto Xcode y copiado los archivos relacionados en esa carpeta. Ahora, puede usar Xcode para compilar y ejecutar la aplicación Simulator en un dispositivo iPhone o iPod Touch como lo haría normalmente con otros proyectos de Xcode..


Pantallas de simulador en dispositivos iPod Touch

El simulador se ha implementado en un iPod touch con iOS 4.3. La siguiente figura muestra el acceso directo para Simulator en el menú de inicio de iPod touch. El icono de inicio es el archivo de imagen denominado flight-114-114.png utilizado anteriormente en la herramienta de creación.


La siguiente es una captura de pantalla del juego en un iPod touch.



Observaciones finales

En esta serie, desarrollamos un simulador de vuelo simple utilizando ShiVa 3D Suite y lo implementamos en dispositivos Android e iOS. Las principales herramientas de desarrollo que utilizamos son el Editor ShiVa y la Herramienta de creación ShiVa. El Editor ShiVa se utiliza para desarrollar un juego 3D de una manera independiente de la plataforma. Permite al desarrollador crear gráficos 3D de la aplicación y el código correspondiente. La salida del Editor ShiVa es un archivo de exportación específico de la plataforma, por ejemplo, uno para el sistema operativo Android o uno para iOS. El archivo de exportación del Editor ShiVa se importa a la Herramienta de creación de ShiVa para generar un archivo ejecutable o un archivo de proyecto para la plataforma específica. Para el sistema operativo Android, generamos un archivo ejecutable de Android con la herramienta de creación ShiVa. Para iPad2 y iPhone / iPod, generamos los proyectos Xcode correspondientes usando la herramienta de creación ShiVa.

Una suite de productos para desarrollar aplicaciones multiplataforma sin escribir ningún código específico de la plataforma, ShiVa 3D Suite ofrece una gran ayuda a aquellos que estén interesados ​​en crear aplicaciones 3D para dispositivos iOS y Android. Visite ShiVa3D Suite para plataformas adicionales compatibles con ShiVa Editor y ShiVa Authoring Tool..

A continuación le ofrecemos comentarios adicionales sobre la aplicación del simulador que hemos analizado en esta serie..

Creación del terreno

Al desarrollar el simulador, presentamos varias características básicas de la funcionalidad de creación de terreno en ShiVa Editor. Se pueden agregar efectos visuales más sofisticados a un terreno. Por ejemplo, podría agregar nieve a las montañas, definir diferentes texturas como roca, suelo, vegetación o agua. Sin embargo, algunos de esos efectos visuales requerirán la importación de archivos de imagen que representan la textura particular del terreno. En otras palabras, necesitará recursos creados fuera de ShiVa 3D Suite..

El terreno que creamos tiene dimensiones limitadas. Requiere técnicas especiales para desarrollar un terreno que nunca termina, es decir, uno que tiene dimensiones infinitas. Para una discusión al respecto, consulte http://www.stonetrip.com/developer/forum/viewtopic.php?f=39&t=20668.

Unidades y variables

La noción de una unidad de distancia en Shiva3D Editor no es un concepto absoluto. Debe interpretarse en relación con la aplicación y el dispositivo en particular donde se va a ejecutar la aplicación. En el simulador, tres parámetros importantes relacionados con la unidad de distancia son

  • tamaño del terreno, que es 4,096 x 4,096 unidades;
  • Altitud inicial del plano, que es de 50 unidades, definida como la coordenada inicial del eje Y,
  • La variable V, que representa la velocidad, cuyo valor es 0.25..

A partir de una revisión de la función move () donde utilizamos la variable V, es fácil ver que el avión viaja a 0.25 unidades por cuadro. (Recuerde que se llama a la función move () en todos los cuadros). Si implementa la aplicación en un dispositivo que muestra 20 cuadros / segundo, la velocidad simulada será de 18,000 unidades / hora. Ahora, supongamos que una unidad de distancia corresponde a 30 pies. Entonces, teniendo en cuenta que 1 milla = 5,280 pies:

  • el tamaño del terreno es de aproximadamente 23.3 millas (= 4,096 unidades x 30 pies x 1 milla / 5,280 pies)
  • La altitud inicial del avión es de 1,500 pies (= 50 unidades x 30 pies)
  • la velocidad del avión es de aproximadamente 102.3 millas / hora (= 18,000 unidades / hora x 30 pies x 1 milla / 5,280 pies)

Podríamos haber asumido que una unidad de distancia corresponde a 50 pies. Luego, el tamaño del terreno, la altitud inicial del avión y la velocidad del avión cambiarían en consecuencia. Simplemente estamos comentando el hecho de que una unidad de distancia no es un valor físico absoluto. Es un parámetro de entrada a varias funciones en nuestro juego de simulador. Lo que realmente importa es si el usuario percibirá la dinámica simulada como sensible o no.

Otras dos variables que son importantes en términos de crear una experiencia de vuelo realista son dP y dR (ver pitch () y bank () arriba). El dP se usa para controlar la velocidad del tono, mientras que dR se usa para controlar la velocidad de balanceo y la velocidad de giro. Hemos determinado los valores finales para V, dP y dR por prueba y error después de implementar el Simulador en los dispositivos de destino varias veces.

Finalmente, notamos que los valores actuales para V, dP y dR en los listados de códigos anteriores parecían ser mejores para dispositivos iPad 2 y iPod touch que Motorola Droid. Probablemente esto se deba a que Motorola Droid, siendo un ejemplo temprano de teléfonos con Android, tiene una CPU más lenta que los otros dos. Con los valores revisados ​​establecidos de la siguiente manera, hemos observado dinámicas más realistas en Motorola Droid.

  • V = 0.75 (en lugar de 0.25)
  • dP = 0.2 (en lugar de 0.04)
  • dR = 0.15 (en lugar de 0.05)

Cómo extender el simulador

El lector interesado podría extender el simulador para hacerlo más atractivo. Algunas ideas se enumeran a continuación en orden creciente de complejidad..

  • Agrega sonido al juego que se juega cuando comienza una maniobra en particular. Un buen punto de partida es el tutorial en el Capítulo 7 de Shiva's Shiva Book..
  • Agrega puntos de referencia al terreno para que el avión pueda hacer slalom. Por cada objetivo perdido, asigne un punto de penalización y visualícelo en la pantalla.
  • Agrega un modelo de plano 3D para seguir delante de la cámara. Asigna los botones de control para maniobrar ese plano. Deja que las acciones del pulgar controlen la cámara. El usuario navegará el avión y la cámara para que el avión nunca se pierda de vista.