Lompat ke konten Lompat ke sidebar Lompat ke footer

Membuat Native Android Plugin Untuk Unity


 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform. Hasil output game engine ini sanggup di porting ke dalam beberapa platform, mulai windows, Mac, iOS, Android, Windows Phone, dan masih banyak platform lainnya. Hal ini tentu sangat-sangat menguntungkan pengguna unity sebab sekali develop game yang dihasilkan sanggup dipublish ke dalam banyak sekali platform sesuai dengan keinginan.

Sayangnya, sebab game yang dihasilkan sifatnya ialah multi platform maka tidak jarang ada fitur spesifik yang miss dan tidak sanggup dibentuk dengan Unity. Contoh untuk platform Android. Setahu saya Unity (sebelum dibentuk plugin spesifik) tidak sanggup dipakai untuk menciptakan fitur share, notifikasi, widget, background service, dsb. Saya belum banyak meng-explore ihwal hal ini, barangkali kalau saya salah mohon dibenarkan.

Untungnya, Unity mengizinkan pemanggilan kelas native Android semoga fitur-fitur tersebut sanggup diintegrasikan bersama Unity.  Langkahnya kurang lebih kita buat terlebih dahulu Android plugin untuk unity, kemudian kita panggil plugin tersebut untuk menjalankan fungsi native Android.

Ok.. Langsung saja ke intinya.. Pada artikel kali ini saya akan mencoba menjelaskan sedikit ihwal cara menciptakan Android plugin untuk Unity. Sebelum memulai kita lihat dulu apa saja alat dan bahanya :
1. Unity, pada tutorial ini saya menggunakan unity 4.5.1. Uniti sanggup di download disini.
2. Eclipse ADT (Android Developer Tools). Merupakan modifikasi dari eclipse IDE. ADT sanggup di download di situs resmi Android developer disini.
3. Android SDK, biasanya satu paket ketika mendownload ADT. 
4. Device Android. Kalau tidak ada sanggup menggunakan Android emulator

Setelah alat dan materi siap pribadi saja ke stepnya...

Note : Bagi yang ingin mendownload projectnya terlebih dahulu sebagai materi berguru klik disini

Langkah 1. Buat Unity project untuk platform Android
langkah pertama buat unity project. Kemudian switch platformnya ke platfrm android. Untuk switch platform klik file >> build settings

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Tentukan bundle identifier pada player setting. Lihat gambar

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Langkah 2. Buat Android Project
Untuk menciptakan Android plugin kita buat dulu Android project. Caranya buka Eclipse ADT kemudian buat project Android gres ibarat pada gambar di bawah

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Kita tentukan nama aplikasinya. Untuk nama packagenya usahakan sama dengan nama package pada langkah 1. 

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Tentukan lokasi project. Buat 1 activity hanya untuk contoh, semoga kita sanggup memastikan aplikasi kita sanggup berjalan sebelum di-include ke unity.

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

 Untuk menciptakan activity cukup next-next aja. Ikuti ibarat gambar di bawah.


 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Selanjutnya kita akan mencoba native plugin ini dengan mencobanya ke device. Colokkan perangkat Android Anda di komputer. Atau Anda sanggup menjalankan emulator. Buka DDMS dan pastikan koneksi PC - Device sudah berhasil.

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Kemudian run aja. Tekan button 'run' pada kafetaria atas. Lihat statusnya pada console.

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Tunggu beberapa saat, jikalau sanksi berhasil seharusnya di devica Anda akan muncul tampilan ibarat pada gambar di bawah.

Langkah 4. Buat Android plugin untuk Unity
Langkah selanjutnya kita akan menciptakan plugin yang sanggup dipanggil di Unity. Pertama buat kelas NativeAndroidBridge.java. 

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

adapun isi dari kelas tersebut ialah sbb :

NativeAndroidBridge.java
package com.duniadigit.androidplugin;  public class NativeAndroidBridge{  private static int number = 0;    public static int getNumber(){   number += 1;   return number;  } } 

Kemudian kita atur properti project menjadi library. Hal ini sebab memang project ini nantinya hanya dijadikan library embel-embel untuk Unity. Stepnya ibarat pada gambar di bawah :

Pertama klik kanan project >> properties

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Pada belahan Android >> klik Is Library

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Kemudian lihar pada folder bin. Maka ada androidplugin.jar

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Langkah 5. Import dan buat kelas Bridge di unity
Kemudian langkah selanjutnya  kita import ke unity. Buat folder /Plugins/Android. Kita drag & drop file androidplugin.jar tadi ke folder ini.

Note : Folder jangan dirubah. Selalu paka folder /Plugins/Android

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity


Kemudian buat kelas yang menjadi jembatan antara android plugin dengan unity. Disini saya menciptakan kelas NativeAndroidBrige.cs

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Adapun isi dari kelas ini ialah sbb :

using UnityEngine; using System.Collections;  public class NativeAndroidBridge : MonoBehaviour {  public static int GetNumber(){   int number = 0;    if(Application.platform == RuntimePlatform.Android){    AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.duniadigit.androidplugin.NativeAndroidBridge");    number = androidJavaClass.CallStatic("getNumber");   }    return number;  } } 

Langkah 6. Test
Langkah selanjutnya ialah melaksanakan test apakah plugin ini berjalan dengan baik atau tidak. Untuk melakukannya saya buat kelas tambahan. Saya beri nama GameGUI.cs

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity


Adapun isi dari GameGUI ialah sbb :

using UnityEngine; using System.Collections;  public class GameGUI : MonoBehaviour {  private int number;   void OnGUI(){   GUI.Box(new Rect(0,0,Screen.width, 25), number.ToString());   bool isButtonPressed = GUI.Button(new Rect(0,30,100,25), "Get Number");   if(isButtonPressed){    number = NativeAndroidBridge.GetNumber();   }  } } 

Implementasikan eklas tersebut ke dalam scene. Pada teladan ini saya meletakkan script ini ke object camera.

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

Karena plugin ini hanya berjalan di Android, maka kembali colokkan device Anda ke PC. Kemudian klik file >> build & run atau ctrl+B. Hasilnya ialah sbb :

 Unity merupakan game engine dimana game yang dihasilkan bersifat multi platform Membuat Native Android Plugin untuk Unity

KESIMPULAN
Tutorial ini ialah tutorial sederhana menciptakan plugin Android untuk Unity. Pada tutorial ini plugin akan menawarkan result balik berupa angka. Sedangkan unity hanya bertugas meminta angka tersebut kepada plugin.


Ok... sekian artikel yang sanggup saya sampaikan. Terima kasih telah membaca. Semoga bermanfaat dan   terus berkarya ^^

Download link project klik disini




Sumber http://duniadigit.blogspot.com/