Wednesday 16 September 2015

Unity Tutorial Indonesia : Audio Source - Audio Script Manager [part 1]

Advertisement


Yo, sudah hampir 2 bulan vcg break membuat tutorial, alasan sederhana vcg lagi membuat proyek game semi 3D pertamanya, tapi tenang web ini bakal terus update untuk memberikan tutorial cara membuat game menggunakan Unity dan pastinya vcg akan menggunakan teknik-teknik yang mudah dipahami dan dimengerti.

Kunjungi FP kami Mata Lemon untuk mendapat info terbaru seputar tutorial dan game terbaru dari kami.

Setelah rame dengan fakta berita tentang seorang kuli panggul bernama Henry Jufri yang berhasil mengantongi 1200 dollar / bulan di bulan pertamanya atau sekitar Rp. 16 juta dengan membuat sebuah game edukasi, akhirnya banyak yang penasaran ingin membuat game sederhana.

Dan langsung saja, dalam membuat game baik hiburan atau edukasi dibutuhkan audio agar game semakin menarik, disini akan dijelaskan audio script manager pada unity dimana audio dapat diatur melalui script C#.



MULAI


A. Mainkan Audio Langsung Ketika Game Dijalankan

Buat 3 folder utama:
1. Scenes , dan simpan data scene yang sedang diproses.
2. Audio, masukkan audio ke dalam folder ini.
3. Scripts, buat script C# dan berinama "AudioManager" atau bebas sesuai selera.




Tambahkan objek kosong yang digunakan untuk menampung suara. Create Empty - Ubah nama menjadi "Music Background".




Tambahkan script "AudioManager" yang sudah dibuat ke objek "Music Background" dan tambahkan juga komponen AudioSource pada objek tersebut.




Klik Objek "MB" lihat pada inspektor - Audio Source. Hal yang mesti diperhatikan yaitu :
1. Audio Clip, untuk memainkan audio masukan musik ke kotak Audio Clip.
2. Play On Awake, digunakan agar ketika game dijalankan audio secara otomatis akan dimainkan
3. Loop, digunakan agar audio dimainkan berulang dan terus menerus
4. Volume, mengatur tinggi rendahnya suara yang dihasilkan
5. Min Distance, jika tinggi suara ingin ditambah tapi volume sudah full, tambahkan nilai komponen ini.

Jika sudah jalankan game.




B. Mendeklarasika AudioSource pada C#

- Pertama hapus ceklis "Play On Awake".
- Kedua kosongkan kotak Audio Clip.

Karena audio akan dimainkan melalui perintah listing program. Double Click pada Script "AudioManager" yang ada di folder "Scripts", kemudian tuliskan listing program dibawah.

A. AudioManager.cs

using UnityEngine;
using System.Collections;

public class AudioManager : MonoBehaviour {

                public AudioClip clipSatu;

                AudioSource audioSource;

                void Awake(){
                                audioSource = GetComponent<AudioSource>();
                }
               
                void Start(){
                                audioSource.clip = clipSatu;
                                audioSource.Play();
                }
}

Penjelasan tentang listing program akan dibahas pada [part 2]



Jika sudah, klik Objek "MB" lihat jendela inspektor - Audio Manager (Script).
Masukkan salah satu musik ke kotak Clip Satu. Clip Satu adalah AudioClip yang sudah dideklarasikan pada listing program.

Jalankan game dan lihat yang terjadi, pada tutorial ini kita bisa menambahkan banyak Clip dengan menggunakan listing program dan perintah "public AudioClip namaClip".




C. Mainkan Audio Ketika Tombol pada Keyboard atau Mouse ditekan

Buat sebuah C# script baru atau remake script "AudioManager" dengan listing program berikut :

B. AudioManager.cs

using UnityEngine;
using System.Collections;

public class AudioManager : MonoBehaviour {

                public AudioClip clipSatu;
                public AudioClip clipDua;
               
                AudioSource audioSource;

                void Awake(){
                                audioSource = GetComponent<AudioSource>();
                }
               
                void Update(){
                               
                                if(Input.GetKeyDown(KeyCode.O)){
                                                audioSource.clip = clipSatu;
                                                audioSource.Play();
                                }
                               
                                if(Input.GetKeyDown(KeyCode.P)){
                                                audioSource.clip = clipDua;
                                                audioSource.Play();
                                }
                }
}


Penjelasan tentang listing program akan dibahas pada [part 2]



Sama seperti cara di atas, masukkan audio clip pada kotak yang sudah dideklarasikan, pada script ke dua dibuat 2 AudioClip yang nantinya akan dimainkan menggunakan tombol "O" untuk clip pertama dan "P" untuk clip kedua.

Jalankan game dan coba klik O maka audio pertama akan diputar, kemudian klik P makan audio kedua akan diputar dan audio pertama akan berhenti.




D. Mainkan Audio ketika UI / GUI Texture Ditekan

Unity yang digunakan adalah versi 4.6 ke atas yang sudah memiliki komponent UI System.




Buat folder baru "Images" dan masukan tekstur yang akan digunakan sebagai Komponen UI Image. Ingat ubah jenis Texture menjadi "Sprite 2D & UI".




Tambahkan komponen UI Image dan atur posisi anchor point berada di tengah layar.





Klik UI Image pada hirarki, lihat jendela inspektor - Image(Script).
pada Source Image ganti image dengan image yang sudah disediakan.




Dan hasilnya seperti gambar di atas.




Karena yang digunakan adalah UI Image dan Image tidak memiliki fungsi seperti button sehingga ketika ditekan tidak akan terjadi apa-apa, maka tambahkan Komponen "Event trigger".



Ada banyak jenis event trigger, tapi yang sering digunakan :
1. PointerEnter, apa yang harus dilakukan si Image ketika kursor menyentuh Image.
2. PointerExit, apa yang harus dilakukan ketika kursor keluar dari daerah si Image
3. PointerDown, kondisi ketika image ditekan terus.
4. PointerUp, kondisi ketika jari diangkat setelah melakukan penekanan.
5. PointerClick, kondisi ketika si Image di tekan 1x

pada tutorial ini digunakan PointerDown, sehingga Image akan terus melakukan event sampai jari diangkat dari penekanan (yaaa pokonamah begitu nya....). Jadi nanti suara dari pistol akan terus dimainkan selama ada penekanan.

Oke selanjutnya buat sebuah C# script baru atau remake script "AudioManager".

C. AudioManager.cs

using UnityEngine;
using System.Collections;

public class AudioManager : MonoBehaviour {

                public AudioClip suaraPistol;
               
                AudioSource audioSource;
               
                private float timer;

                void Awake(){
                                audioSource = GetComponent<AudioSource>();
                }
               
                void Update(){
                                timer += Time.deltaTime;
                }
               
                public void KlikAudio(){
                                if(timer >= 3){
                                                timer = 0;
                                               
                                                audioSource.clip = suaraPistol;
                                                audioSource.Play();
                                }
                }
}




Seperti cara di atas, setelah script ditambahkan ke object "Music Background", lihat pada inspektor dan tambahkan suara pistol pada kotak Clip Suara pistol.





Jika sudah, tahap selanjutnya tambahkan script yang ada di Music Background ke UI Image :
1. Klik Image , lihat jendela inspektor - Pointer Down, klik tombol + untuk menambah script
2. Drag objek "Music Background" ke kotak kosong pada Pointer Down.

Alasan objek "MB" yang dimasukkan karena objek ini yang sebelumnya diberi script "AudioManager".




Tahap terakhir adalah tambahkan method yang sudah dibuat, pada listing ini sudah dibuat method void KlikAudio().

Jalankan game dan coba tekan UI Image pada jendela Game. maka audio akan dijalankan setiap setelah 3 detik berlangsung (lihat script untuk memahami).


PART 2 : Unity Tutorial Indonesia : Audio Source - Audio Script Manager [part 2]

Pada part 2 akan dibahas tentang penjelasan dan logika yang digunakan pada script "AudioManager" di atas.





EmoticonEmoticon