Android Unity versus Android SDK

10

Saya akrab dengan Unity dan dalam proses belajar SDK android ketika pengumuman tentang android dasar kesatuan keluar.

Apa keuntungan dan kerugian menggunakan SDK android secara langsung versus pengembangan menggunakan Unity Android?

lathomas64
sumber

Jawaban:

13

Perbarui Unity 5.x Ada manual terperinci tentang cara menulis plugin kode asli dan memanggil mereka dari dalam Unity http://docs.unity3d.com/Manual/PluginsForAndroid.html

! Karena Unity 4.x telah dirilis, dan Android telah melalui banyak perubahan, Anda harus menganggap jawaban ini sebagai referensi dan bukan yang paling mutakhir karena mungkin sudah usang!

Maaf, tetapi Ricket salah: Unity menyediakan akses penuh melalui API ke Android SDK, yang juga diperlukan sebelum mengerjakan Game Android dengan Unity:

Sebelum Anda dapat menjalankan game Unity Android di perangkat yang sebenarnya, Anda harus mengatur lingkungan pengembang Android Anda. Ini melibatkan pengunduhan dan pemasangan Android SDK dengan berbagai plaform Android dan menambahkan perangkat fisik Anda ke sistem Anda (ini dilakukan agak berbeda tergantung pada apakah Anda mengembangkan pada Windows atau Mac). Proses pengaturan ini dijelaskan di situs web pengembang Android, dan mungkin ada informasi tambahan yang disediakan oleh produsen perangkat Anda. Karena ini adalah proses yang kompleks, kami telah menyediakan garis besar dasar tugas yang harus diselesaikan sebelum Anda dapat menjalankan kode pada perangkat Android Anda atau di emulator Android. Namun, hal terbaik yang harus dilakukan adalah mengikuti petunjuk langkah demi langkah dari portal pengembang Android.

Unity Android menyediakan API skrip untuk mengakses berbagai data input dan pengaturan. Anda dapat mengetahui lebih lanjut tentang kelas scripting baru di halaman Android scripting. Mengekspos Native C, C ++ atau Java Code to Script

Unity Android memungkinkan Anda untuk memanggil fungsi kustom yang ditulis dalam C / C ++ secara langsung (dan Java secara tidak langsung) dari skrip C #. Untuk mengetahui cara mengikat fungsi asli, kunjungi halaman plugin.

source unity manual

Kesatuan:

  • jika Anda sudah memiliki aset dan model yang lebih kompleks
  • manfaatkan banyak format file
  • Kemajuan cepat jika Anda sudah memiliki desain dan tahu seperti apa permainan itu

Android SDK:

  • mungkin mempertimbangkan ini untuk pemrograman game 2D pemula
  • awal yang baik untuk mempelajari dasar-dasar android yang pengalaman dapat diambil ke pengembangan lebih lanjut dengan Unity

Jika Anda ingin mulai mengembangkan permainan pada tingkat kualitas tertentu, dan ingin sukses cepat Anda harus memilih Unity daripada SDK murni, karena Unity memberi Anda banyak alat yang membuatnya lebih mudah untuk dikembangkan tanpa khawatir akan hal-hal kecil.

daemonfire300
sumber
1
jadi jika saya tidak tahu SDK android dengan baik Anda akan menyarankan menggunakannya untuk proyek saat ini dan berpotensi Unity untuk nanti setelah saya mengerti?
lathomas64
1
Yap, karena Anda ingin membuat gim kecil yang ringan, Anda harus menggunakan alat sederhana. Kadang-kadang seluruh mesin gim terlalu banyak untuk gim kecil, itulah yang sering saya alami, terutama ketika saya mencoba membuat kode game 2D dalam mesin 3D. Tentu itu mungkin, dan mudah jika Anda memiliki semua aset Anda siap, tetapi lebih banyak berpikir-kerja untuk dilakukan, karena Anda masih perlu mengoperasikan semuanya dalam ruang Vector3.
daemonfire300
5

Mereka benar-benar berbeda! Android SDK memungkinkan Anda menulis aplikasi Android dari awal di Jawa. Unity adalah paket pembuatan game tempat Anda seret-dan-lepas, tambahkan skrip, dll. Lalu tekan tombol untuk mengekspor aplikasi Android yang lengkap.

Android SDK:

  • Tulis aplikasi dari awal
  • Kontrol penuh atas apa yang permainan Anda lakukan dan terlihat; Anda dapat melakukan apapun
  • Banyak pekerjaan dan pengetahuan yang terlibat
  • Tulis semuanya di Jawa

Kesatuan:

  • Buat proyek game, impor aset, atur adegan Anda, dll. Dalam antarmuka Unity
  • Tindakan skrip untuk objek dalam JavaScript, C # atau Boo
  • Uji game di PC dan gunakan ke berbagai platform termasuk Android
  • Tidak perlu Java (tidak perlu Android SDK)
  • Tidak ada kontrol atas aplikasi final; itu berjalan dengan mesin Unity dan Anda tidak bisa misalnya menambahkan Android tambahan Activity(seperti 'layar') ke aplikasi Anda, atau mengeditnya dengan cara apa pun kecuali di antarmuka Unity
  • Ukuran .apk besar karena seluruh mesin Unity (sekitar 10MB) dikemas ke dalam aplikasi Anda, tidak peduli berapa banyak sebenarnya yang Anda gunakan.

Perhatikan bahwa saya tidak memiliki pengalaman dengan fungsi Android Unity (saya memiliki pengalaman Unity umum) jadi tolong perbaiki saya (atau cukup edit posting ini) jika kategori Unity salah dalam hal apa pun.

Ricket
sumber
1

Kecuali Anda tahu Java dan sama sekali tidak ada C ++ atau C #, saya tidak pernah bisa merekomendasikan menggunakan api android untuk apa pun selain masokisme atau ujung depan ke layanan web. Ini berasal dari sekitar 5 tahun bekerja di Android, untuk beberapa pemain utama. Saya akan berikan Anda buku yang bisa saya tulis tentang topik ini, tetapi api android belum cukup matang dalam desain atau implementasi untuk prime time. Dan saya pikir sebelum sampai di sana, orang-orang di google perlu melakukan pencarian jiwa yang serius untuk metodologi dev mereka. Hanya beberapa makanan untuk dipikirkan, mengapa semua alat bagian ketiga dan alat bantu pengembus API milik sendiri keluar dari air?

martin
sumber