Unidad Android SDK de Android

10

Estoy familiarizado con Unity y en el proceso de aprendizaje de Android SDK cuando salió el anuncio sobre la unidad android basic.

¿Cuáles serían las ventajas y desventajas de usar el SDK de Android directamente versus el desarrollo con Unity Android?

lathomas64
fuente

Respuestas:

13

Actualización de Unity 5.x Hay un manual detallado sobre cómo escribir complementos de código nativo y llamarlos desde Unity http://docs.unity3d.com/Manual/PluginsForAndroid.html

Ya que Unity 4.x ya se lanzó, y Android experimentó muchos cambios, debe considerar esta respuesta como una referencia y no como un estado de la técnica, ya que podría estar desactualizada.

Lo sentimos, pero Ricket está equivocado: Unity proporciona acceso completo a través de API al SDK de Android, que también es necesario antes de trabajar en juegos de Android con Unity:

Antes de poder ejecutar los juegos de Unity para Android en el dispositivo real, deberá configurar su entorno de desarrollador de Android. Esto implica descargar e instalar el SDK de Android con las diferentes plataformas de Android y agregar su dispositivo físico a su sistema (esto se hace de manera un poco diferente dependiendo de si está desarrollando en Windows o Mac). Este proceso de configuración se explica en el sitio web del desarrollador de Android, y puede haber información adicional proporcionada por el fabricante de su dispositivo. Dado que este es un proceso complejo, proporcionamos un resumen básico de las tareas que deben completarse antes de que pueda ejecutar el código en su dispositivo Android o en el emulador de Android. Sin embargo, lo mejor es seguir las instrucciones paso a paso del portal de desarrolladores de Android.

Unity Android proporciona una API de secuencias de comandos para acceder a diversos datos de entrada y configuraciones. Puede encontrar más información sobre las nuevas clases de secuencias de comandos en la página de secuencias de comandos de Android. Exposición de código nativo C, C ++ o Java a secuencias de comandos

Unity Android le permite llamar a funciones personalizadas escritas en C / C ++ directamente (y Java indirectamente) desde scripts de C #. Para saber cómo vincular funciones nativas, visite la página de complementos.

fuente unidad manual

Unidad:

  • si ya tienes activos y modelos más complejos
  • aprovecha muchos formatos de archivo
  • progreso rápido si ya tienes un diseño y sabes cómo debería ser el juego

SDK de Android:

  • podría considerar esto para programar juegos 2D de inicio
  • buen comienzo para aprender conceptos básicos de Android, cuya experiencia se puede llevar a un mayor desarrollo con Unity

Si desea comenzar a desarrollar un juego en un cierto nivel de calidad y desea un éxito rápido, debe elegir Unity en lugar del SDK puro, porque Unity le brinda muchas herramientas que facilitan su desarrollo sin preocuparse por las pequeñas cosas.

daemonfire300
fuente
1
Entonces, si no conozco bien el SDK de Android, ¿sugeriría usarlo para el proyecto actual y potencialmente Unity para los posteriores una vez que lo tenga?
lathomas64
1
Sí, ya que quieres hacer un pequeño juego liviano, debes usar herramientas simples. A veces, un motor de juego completo es demasiado para un juego pequeño, eso es lo que experimenté a menudo, especialmente cuando intenté codificar juegos 2D dentro de motores 3D. Claro que es posible y fácil si tiene todos sus activos listos, pero es más trabajo de pensar, porque todavía necesita operar todo en el espacio Vector3.
daemonfire300
5

¡Bueno, son completamente diferentes! El SDK de Android te permite escribir aplicaciones de Android desde cero en Java. Unity es un paquete de creación de juegos en el que arrastra y suelta, agrega scripts, etc. y luego presiona un botón para exportar una aplicación completa de Android.

SDK de Android:

  • Escribe la aplicación desde cero
  • Control total sobre exactamente lo que hace y se ve tu juego; tu puedes hacer cualquier cosa
  • Mucho más trabajo y conocimiento involucrados
  • Escribe todo en Java

Unidad:

  • Cree un proyecto de juego, importe activos, organice sus escenas, etc. dentro de la interfaz de Unity
  • Acciones de script para los objetos en JavaScript, C # o Boo
  • Pruebe el juego en PC e impleméntelo en múltiples plataformas, incluido Android
  • No se necesita Java (no se necesita SDK de Android)
  • No hay control sobre la aplicación final; se ejecuta con el motor de Unity y no puede, por ejemplo, agregar un Android adicional Activity(como una 'pantalla') a su aplicación, o editarlo de cualquier manera, excepto en la interfaz de Unity
  • Tamaño de .apk grande porque todo el motor de Unity (aproximadamente 10 MB) está empaquetado en su aplicación, sin importar la cantidad que realmente use.

Tenga en cuenta que no tengo experiencia con la función Android de Unity (aunque sí tengo experiencia general de Unity), así que corríjame (o simplemente edite esta publicación) si la categoría de Unity está mal de alguna manera.

Ricket
fuente
1

A menos que conozca Java y no tenga absolutamente ningún C ++ o C #, nunca podría recomendarle usar la api de Android para otra cosa que no sea masoquismo o una interfaz para un servicio web. Esto viene de aproximadamente 5 años de trabajo en Android, para algunos de los principales jugadores. Le ahorraré el libro que podría escribir sobre este tema, pero la API de Android todavía no es lo suficientemente madura en diseño o implementación para el horario estelar. Y creo que antes de que llegue allí, la gente de Google necesitará hacer una búsqueda seria en cuanto a sus metodologías de desarrollo. Solo algo para pensar, ¿por qué todas las herramientas de terceros y las herramientas de soplado de API son propias del agua?

martín
fuente