Unity Android versus Android SDK

10

Ich bin mit Unity vertraut und bin gerade dabei, Android SDK zu lernen, als die Ankündigung über Unity Android Basic herauskam.

Was wären die Vor- und Nachteile der direkten Verwendung des Android SDK gegenüber der Entwicklung mit Unity Android?

lathomas64
quelle

Antworten:

13

Update Unity 5.x Es gibt ein detailliertes Handbuch zum Schreiben nativer Code-Plugins und zum Aufrufen von Unity in Unity http://docs.unity3d.com/Manual/PluginsForAndroid.html

! Da Unity 4.x bereits veröffentlicht wurde und Android viele Änderungen vorgenommen hat, sollten Sie diese Antwort als Referenz und nicht als Stand der Technik betrachten, da sie möglicherweise veraltet ist!

Entschuldigung, aber Ricket ist falsch: Unity bietet über die API vollen Zugriff auf das Android SDK, das auch erforderlich ist, bevor Sie an Android-Spielen mit Unity arbeiten:

Bevor Sie Unity Android-Spiele auf dem tatsächlichen Gerät ausführen können, muss Ihre Android-Entwicklerumgebung eingerichtet sein. Dies beinhaltet das Herunterladen und Installieren des Android SDK mit den verschiedenen Android-Plattformen und das Hinzufügen Ihres physischen Geräts zu Ihrem System (dies geschieht etwas anders, je nachdem, ob Sie unter Windows oder Mac entwickeln). Dieser Einrichtungsvorgang wird auf der Android-Entwickler-Website erläutert. Möglicherweise werden vom Hersteller Ihres Geräts zusätzliche Informationen bereitgestellt. Da dies ein komplexer Prozess ist, haben wir einen grundlegenden Überblick über die Aufgaben gegeben, die ausgeführt werden müssen, bevor Sie Code auf Ihrem Android-Gerät oder im Android-Emulator ausführen können. Befolgen Sie jedoch am besten Schritt für Schritt die Anweisungen des Android-Entwicklerportals.

Unity Android bietet Skript-APIs für den Zugriff auf verschiedene Eingabedaten und Einstellungen. Weitere Informationen zu den neuen Skriptklassen finden Sie auf der Android-Skriptseite. Native C-, C ++ - oder Java-Code Skripten aussetzen

Mit Unity Android können Sie benutzerdefinierte Funktionen, die in C / C ++ geschrieben wurden, direkt (und indirekt in Java) aus C # -Skripten aufrufen. Informationen zum Binden nativer Funktionen finden Sie auf der Plugins-Seite.

Handbuch zur Quelleneinheit

Einheit:

  • wenn Sie bereits Assets und komplexere Modelle haben
  • Nutzen Sie viele Dateiformate
  • Schneller Fortschritt, wenn Sie bereits ein Design haben und wissen, wie das Spiel aussehen soll

Android SDK:

  • könnte dies für die Programmierung von Starter-2D-Spielen in Betracht ziehen
  • Guter Start, um Android-Grundlagen zu lernen, welche Erfahrungen mit Unity in die Weiterentwicklung einfließen können

Wenn Sie ein Spiel auf einem bestimmten Qualitätsniveau entwickeln möchten und schnell erfolgreich sein möchten, sollten Sie Unity dem reinen SDK vorziehen, da Unity Ihnen viele Tools bietet, die die Entwicklung erleichtern, ohne sich um kleine Dinge kümmern zu müssen.

daemonfire300
quelle
1
Wenn ich das Android SDK nicht gut kenne, würden Sie vorschlagen, es für das aktuelle Projekt und möglicherweise Unity für spätere Projekte zu verwenden, sobald ich es verstanden habe.
lathomas64
1
Ja, da Sie ein kleines, leichtes Spiel erstellen möchten, sollten Sie einfache Tools verwenden. Manchmal ist eine ganze Spiel-Engine viel zu viel für ein kleines Spiel, das habe ich oft erlebt, besonders wenn ich versucht habe, 2D-Spiele in 3D-Engines zu codieren. Sicher, es ist möglich und einfach, wenn Sie alle Ihre Assets bereit haben, aber es ist mehr Denkarbeit, weil Sie immer noch alles im Vector3-Raum betreiben müssen.
Daemonfire300
5

Nun, sie sind ganz anders! Mit dem Android SDK können Sie Android-Apps in Java von Grund auf neu schreiben. Unity ist ein Paket zur Erstellung von Spielen, in dem Sie per Drag & Drop Skripte usw. hinzufügen und dann auf eine Schaltfläche klicken, um eine vollständige Android-Anwendung zu exportieren.

Android SDK:

  • Schreiben Sie die App von Grund auf neu
  • Vollständige Kontrolle darüber, was Ihr Spiel genau macht und wie es aussieht. du kannst alles machen
  • Viel mehr Arbeit und Wissen
  • Schreiben Sie alles in Java

Einheit:

  • Erstellen Sie ein Spielprojekt, importieren Sie Assets, ordnen Sie Ihre Szenen usw. in der Unity-Oberfläche an
  • Skriptaktionen für die Objekte in JavaScript, C # oder Boo
  • Testen Sie das Spiel auf dem PC und stellen Sie es auf mehreren Plattformen bereit, einschließlich Android
  • Kein Java erforderlich (kein Android SDK erforderlich)
  • Keine Kontrolle über die endgültige App; Es läuft mit der Unity-Engine und Sie können ActivityIhrer App beispielsweise kein zusätzliches Android (wie einen "Bildschirm") hinzufügen oder auf irgendeine Weise bearbeiten, außer in der Unity-Oberfläche
  • Große APK-Größe, da die gesamte Unity-Engine (ca. 10 MB) in Ihre Anwendung gepackt ist, unabhängig davon, wie viel davon Sie tatsächlich verwenden.

Beachten Sie, dass ich keine Erfahrung mit der Android-Funktion von Unity habe (ich habe jedoch allgemeine Erfahrungen mit Unity). Bitte korrigieren Sie mich (oder bearbeiten Sie diesen Beitrag einfach), wenn die Unity-Kategorie in irgendeiner Weise falsch ist.

Ricket
quelle
1

Wenn Sie nicht Java und absolut kein C ++ oder C # kennen, kann ich die Verwendung der Android-API niemals für etwas anderes als Masochismus oder ein Front-End für einen Webdienst empfehlen. Dies kommt von ungefähr 5 Jahren Arbeit an Android für einige der Hauptakteure. Ich werde Ihnen das Buch ersparen, das ich zu diesem Thema schreiben könnte, aber die Android-API ist noch nicht ausgereift genug in Design oder Implementierung für die Hauptsendezeit. Und ich denke, bevor es dort ankommt, müssen die Leute bei Google ernsthaft nach ihren Entwicklungsmethoden suchen. Nur ein paar Denkanstöße, warum sind alle Werkzeuge des dritten Teils und die APIs, die Brillen googeln, eigene Werkzeuge aus dem Wasser?

Martin
quelle