Unity Android kontra Android SDK

10

Znam Unity i właśnie uczę się SDK Androida, kiedy pojawiło się ogłoszenie o unity android basic.

Jakie byłyby zalety i wady bezpośredniego korzystania z zestawu Android SDK w porównaniu z programowaniem przy użyciu Unity Android?

lathomas64
źródło

Odpowiedzi:

13

Aktualizacja Unity 5.x Szczegółowy podręcznik na temat pisania wtyczek natywnych i wywoływania ich z poziomu Unity http://docs.unity3d.com/Manual/PluginsForAndroid.html

! Ponieważ Unity 4.x zostało już wydane, a Android przeszedł wiele zmian, powinieneś rozważyć tę odpowiedź jako odniesienie, a nie najnowszą technologię, ponieważ może być nieaktualna!

Przepraszamy, ale Ricket się myli: Unity zapewnia pełny dostęp za pośrednictwem interfejsu API do zestawu SDK systemu Android, który jest również wymagany przed rozpoczęciem pracy z grami na Androida z Unity:

Aby móc uruchomić gry Unity Android na rzeczywistym urządzeniu, musisz skonfigurować środowisko programistyczne Androida. Obejmuje to pobranie i zainstalowanie zestawu Android SDK z różnymi platformami Android oraz dodanie urządzenia fizycznego do systemu (dzieje się to nieco inaczej w zależności od tego, czy programujesz w systemie Windows, czy Mac). Ten proces instalacji jest wyjaśniony na stronie internetowej programisty Androida, a producent urządzenia może podać dodatkowe informacje. Ponieważ jest to złożony proces, przedstawiliśmy podstawowy zarys zadań, które należy wykonać, zanim będzie można uruchomić kod na urządzeniu z Androidem lub w emulatorze Androida. Najlepiej jednak postępować zgodnie z instrukcjami krok po kroku z portalu dla programistów Androida.

Unity Android zapewnia skrypty API umożliwiające dostęp do różnych danych wejściowych i ustawień. Możesz dowiedzieć się więcej o nowych klasach skryptów na stronie skryptów Androida. Udostępnianie skryptu natywnego kodu C, C ++ lub Java

Unity Android pozwala na wywoływanie niestandardowych funkcji napisanych w C / C ++ bezpośrednio (i Java pośrednio) ze skryptów C #. Aby dowiedzieć się, jak powiązać funkcje rodzime, odwiedź stronę wtyczek.

instrukcja jedności źródła

Jedność:

  • jeśli masz już zasoby i bardziej złożone modele
  • skorzystać z wielu formatów plików
  • szybki postęp, jeśli masz już projekt i wiesz, jak powinna wyglądać gra

Android SDK:

  • może rozważyć to przy programowaniu początkowych gier 2D
  • dobry start, aby nauczyć się podstaw Androida, które doświadczenie można wykorzystać w dalszym rozwoju dzięki Unity

Jeśli chcesz rozpocząć tworzenie gry na określonym poziomie jakości i chcesz szybkiego sukcesu, powinieneś wybrać Unity zamiast czystego SDK, ponieważ Unity oferuje wiele narzędzi, które ułatwiają rozwój bez martwienia się o małe rzeczy.

daemonfire300
źródło
1
więc jeśli nie znam dobrze zestawu SDK dla Androida, sugerowałbyś użycie go w bieżącym projekcie i potencjalnie Unity dla późniejszych, gdy tylko go zrozumiem?
lathomas64
1
Tak, ponieważ chcesz stworzyć małą, lekką grę, powinieneś użyć prostych narzędzi. Czasami cały silnik gry to zdecydowanie za dużo jak na małą grę, tego często doświadczałem, szczególnie kiedy próbowałem kodować gry 2D w silnikach 3D. Oczywiście jest to możliwe i łatwe, jeśli masz wszystkie swoje zasoby gotowe, ale jest to więcej do przemyślenia, ponieważ nadal musisz operować wszystkim w przestrzeni Vector3.
daemonfire300
5

Cóż, są zupełnie inni! Zestaw Android SDK umożliwia pisanie aplikacji na Androida od zera w Javie. Unity to pakiet do tworzenia gier, w którym przeciągasz i upuszczasz, dodajesz skrypty itp., A następnie naciskasz przycisk, aby wyeksportować kompletną aplikację na Androida.

Android SDK:

  • Napisz aplikację od podstaw
  • Pełna kontrola nad tym, co dokładnie robi Twoja gra i jak wygląda; możesz wszystko
  • W grę wchodzi znacznie więcej pracy i wiedzy
  • Napisz wszystko w Javie

Jedność:

  • Stwórz projekt gry, importuj zasoby, aranżuj sceny itp. W interfejsie Unity
  • Skrypty dla obiektów w JavaScript, C # lub Boo
  • Przetestuj grę na PC i wdróż na wielu platformach, w tym na Androidzie
  • Nie wymaga Java (nie jest wymagany zestaw SDK systemu Android)
  • Brak kontroli nad ostateczną aplikacją; działa z silnikiem Unity i nie można na przykład dodać do aplikacji dodatkowego Androida Activity(takiego jak „ekran”) ani edytować go w jakikolwiek inny sposób, z wyjątkiem interfejsu Unity
  • Duży rozmiar .apk, ponieważ cały silnik Unity (około 10 MB) jest zapakowany w twoją aplikację, bez względu na to, ile z niej faktycznie używasz.

Pamiętaj, że nie mam doświadczenia z funkcją Android Unity (ale mam ogólne doświadczenie Unity), więc popraw mnie (lub po prostu edytuj ten post), jeśli kategoria Unity jest w jakikolwiek sposób błędna.

Ricket
źródło
1

O ile nie znasz Java i absolutnie nie C ++ lub C #, nigdy nie poleciłbym używania interfejsu API Androida do niczego innego niż masochizm lub interfejs użytkownika do usługi internetowej. Wynika to z około 5 lat pracy na Androidzie dla niektórych głównych graczy. Oszczędzę ci książki, którą mógłbym napisać na ten temat, ale interfejs API Androida po prostu nie jest jeszcze wystarczająco dojrzały w projektowaniu lub implementacji, aby być w najlepszej chwili. I myślę, że zanim to się tam stanie, ludzie w Google będą musieli przeprowadzić poważne poszukiwania duszy w zakresie swoich metodologii deweloperów. Tylko trochę do przemyślenia, dlaczego wszystkie narzędzia trzeciej części i API wydmuchujące googles własne narzędzia z wody?

jaskółka oknówka
źródło