SDK Unity Android contre Android

10

Je connais Unity et j'apprends le SDK Android lorsque l'annonce de l'unité Android de base est sortie.

Quels seraient les avantages et les inconvénients de l'utilisation directe du SDK Android par rapport au développement avec Unity Android?

lathomas64
la source

Réponses:

13

Mettre à jour Unity 5.x Il existe un manuel détaillé sur la façon d'écrire des plug-ins de code natif et de les appeler à partir d'Unity http://docs.unity3d.com/Manual/PluginsForAndroid.html

! Depuis que Unity 4.x est déjà sorti, et Android a subi de nombreux changements, vous devriez considérer cette réponse comme une référence et non comme un état de l'art car elle pourrait être obsolète!

Désolé, mais Ricket a tort: ​​Unity fournit un accès complet via l'API au SDK Android, qui est également requis avant de travailler sur les jeux Android avec Unity:

Avant de pouvoir exécuter les jeux Android Unity sur le périphérique réel, vous devez configurer votre environnement de développeur Android. Cela implique de télécharger et d'installer le SDK Android avec les différentes plateformes Android et d'ajouter votre appareil physique à votre système (cela se fait un peu différemment selon que vous développez sur Windows ou Mac). Ce processus de configuration est expliqué sur le site Web des développeurs Android, et le fabricant de votre appareil peut contenir des informations supplémentaires. Comme il s'agit d'un processus complexe, nous avons fourni un aperçu de base des tâches qui doivent être effectuées avant de pouvoir exécuter du code sur votre appareil Android ou dans l'émulateur Android. Cependant, la meilleure chose à faire est de suivre les instructions étape par étape à partir du portail des développeurs Android.

Unity Android fournit une API de script pour accéder à diverses données et paramètres d'entrée. Vous pouvez en savoir plus sur les nouvelles classes de script sur la page de script Android. Exposition de code natif C, C ++ ou Java à des scripts

Unity Android vous permet d'appeler des fonctions personnalisées écrites en C / C ++ directement (et Java indirectement) à partir de scripts C #. Pour savoir comment lier des fonctions natives, visitez la page des plugins.

manuel de l'unité source

Unité:

  • si vous avez déjà des actifs et des modèles plus complexes
  • profiter de nombreux formats de fichiers
  • progression rapide si vous avez déjà un design et savez à quoi devrait ressembler le jeu

SDK Android:

  • pourrait envisager cela pour la programmation de jeux 2D de démarrage
  • bon démarrage pour apprendre les bases d'Android dont l'expérience peut être prise en compte dans le développement ultérieur avec Unity

Si vous voulez commencer à développer un jeu à un certain niveau de qualité et que vous voulez un succès rapide, vous devez choisir Unity plutôt que le SDK pur, car Unity vous donne beaucoup d'outils qui facilitent le développement sans se soucier de petites choses.

daemonfire300
la source
1
Donc, si je ne connais pas bien le SDK Android, vous suggéreriez de l'utiliser pour le projet actuel et potentiellement Unity pour les versions ultérieures une fois que je l'aurai compris?
lathomas64
1
Oui, puisque vous voulez faire un petit jeu léger, vous devez utiliser des outils simples. Parfois, un moteur de jeu entier est beaucoup trop pour un petit jeu, c'est ce que j'ai souvent vécu, surtout lorsque j'ai essayé de coder des jeux 2D dans des moteurs 3D. Bien sûr, c'est possible et facile si vous avez tous vos actifs prêts, mais c'est plus de réflexion à faire, car vous devez toujours tout faire fonctionner dans l'espace Vector3.
daemonfire300
5

Eh bien, ils sont complètement différents! Le SDK Android vous permet d'écrire des applications Android à partir de zéro en Java. Unity est un package de création de jeux dans lequel vous faites glisser-déposer, ajoutez des scripts, etc., puis appuyez sur un bouton pour exporter une application Android complète.

SDK Android:

  • Écrivez l'application à partir de zéro
  • Contrôle complet sur exactement ce que fait et ressemble votre jeu; Tu peux faire n'importe quoi
  • Beaucoup plus de travail et de connaissances impliqués
  • Tout écrire en Java

Unité:

  • Créez un projet de jeu, importez des ressources, organisez vos scènes, etc. dans l'interface Unity
  • Actions de script pour les objets en JavaScript, C # ou Boo
  • Testez le jeu sur PC et déployez-le sur plusieurs plateformes, dont Android
  • Aucun Java requis (aucun SDK Android requis)
  • Aucun contrôle sur l'application finale; il fonctionne avec le moteur Unity et vous ne pouvez pas par exemple ajouter un Android supplémentaire Activity(comme un «écran») à votre application, ou le modifier de quelque manière que ce soit sauf dans l'interface Unity
  • Grande taille .apk car tout le moteur Unity (environ 10 Mo) est intégré à votre application, quelle que soit la quantité réellement utilisée.

Notez que je n'ai pas d'expérience avec la fonction Android d'Unity (j'ai cependant une expérience générale d'Unity), alors corrigez-moi (ou modifiez simplement ce message) si la catégorie Unity est incorrecte de quelque façon que ce soit.

Ricket
la source
1

À moins que vous ne connaissiez Java et absolument aucun C ++ ou C #, je ne pourrais jamais recommander d'utiliser l'API Android pour autre chose que le masochisme ou une interface pour un service Web. Cela vient de 5 ans de travail sur Android, pour certains des principaux acteurs. Je vais vous épargner le livre que j'ai pu écrire sur ce sujet, mais l'API Android n'est tout simplement pas assez mature pour la conception ou la mise en œuvre pour les heures de grande écoute. Et je pense qu'avant d'y arriver, les gens de google devront faire un examen approfondi de leurs méthodologies de développement. Juste quelques pistes de réflexion, pourquoi tous les outils de la troisième partie et les googles de soufflage d'API sont-ils des outils hors de l'eau?

Martin
la source