Tutorial Unity Ala Kancil - Membuat Game Lengkap (Episode 2: Splash Screen) - IMedia9 - Connecting Inspiration

Breaking

Tuesday, February 5, 2013

Tutorial Unity Ala Kancil - Membuat Game Lengkap (Episode 2: Splash Screen)


Oke sodara2, pada postingan kali ini gue akan coba membahas tentang bagaimana caranya membuat splash screen dengan Unity. Splash screen adalah layar yang pertama kali muncul jika sebuah game di nyalain. Fungsinya ada 2: yang satu, untuk narsisme developernya, dan yang kedua, untuk nutuping proses loading aset game. Untuk sekarang, kita bikin splash screen untuk kebutuhan fungsi pertama dulu, yaitu Narsisme Sang Developer, hehehe. Kebetulan gue juga lagi coba2 bikin lambang narsis sendiri (biar kayak betmen) dan inilah lambangnya, keren nggak?

Ini lambang nggak sembarangan mas brow. Ada artinya. R itu inisial nama gue, merah putih lambang Indonesia, dan R nya keluar dari kotak karena ia lagi mengikuti tren yang ada zaman sekarang. Think Out Of The Box! Hehehe.

Untuk membuat splash screen ini yang perlu lo siapin pertama kali tentu saja, logo atau gambar yang bakal dijadiin splash screennya. Kalao udah gitu, buatlah project baru dengan Unity. Buka Unity, klik menu FILE--> NEW PROJECT terus bikin kek gini:


Klik Create. Terus tambahin TERRAIN. Udah pada bisa nambah Terrain di Unity kan? Belum? Sukuuur!


Tambahin LIGHT yang ngarah ke terrain kayak gini. Dan ini KUNCI membuat Splash Screen. Jungkir balikin itu Main Camera sampai ngarah tegak lurus ke Terrain. Lo bisa puter2 pake gizmo + mouse, atau yang paling gampang, lo atur koordinat rotation-nya.


Udah? Lo bisa liat perbedaan tampilan PREVIEW yg di kotak kecil buat mastiin kalo Main Camera udah nge-jungkir. Kalao udah, sekarang lo import gambar/logo lo ke Unity. Caranya: Klik Kanan di Panel Assets, sampai muncul menu kek gitu, terus pilih IMPORT NEW ASSETS...


Gambar tuh nggak bisa langsung muncul di Unity. Mesti ada yang nampung. Bikin aja pake Plane. Caranya gampang banget. Klik menu GAME OBJECT --> CREATE OTHER --> PLANE. Tempatin itu plane di tengah2 terrain (utak-atik koordinatnya), terus tarik aja gambar dari panel assets ke Plane langsung sampai bentuknya kayak gini:

  
Abis gitu lo atur ulang letak kameranya sampai di bagian PREVIEW logo lo muncul dengan baik. Biasanya sih, cara begini bakalan bikin gambar lo terbalik. Kalo emang terbalik, ya udah, atur aja Rotation Y-nya si Plane jadi 180. Pasti bakalan bener! Nggak percaya? Cobaian aje, bos! Hasilnya nanti mesti kayak gini nih:


Eit, jangan heran kalo tampilan editor gue rada beda sekarang. Soalnya gue lagi pasang mode Wireframe. Biar keliatan jelas posisi Plane + Terrain. Tuh, lihat.
1. Kamera yang jungkir
2. Plane yang udah dipasangin gambar
3. Bentuk Preview yang harus nongol. Kalau udah begini bentuknya berarti, sudah betuuuul!
Coba kita tes dulu, klik tuh tombol Play-nya.


Ta-daaaaa! Splash Screennya sudah jadi, hehehe. Lambangnya keren banget ya? Eh, tapi ini belum selesai. Yang namanya Splash Screen nggak bakalan keliatan fungsinya kalo belum ada 2 Scene. Jadi langkah selanjutnya adalah bikin Scene baru yang akan dijadiin Game Menu (nantinya)


Nah, sekarang adalah masuk ke bagian yang gue suka (dan kayaknya juga jadi bagian buat yang sebagian orang nggak pada suka), waktunya kita SCRIPTIIIIING! It's Coding Time, mas brow! Bagi anda yang belum pernah coding, mungkin bagian ini tidak terlalu membuat anda pusing. Tapi bagi anda yang pernah coding, khususnya pemrograman desktop kek Delphi, C, VB dll, bagian ini PASTI akan membuat anda sangat pusing. Loh kok? 

Iya, karena Unity punya gaya skrip yang berbeda. Semua skrip yang ditulis di Unity akan diproses SETIAP FRAME, dan hal ini beda banget dengan gaya pemrograman desktop konvensional yang memproses baris code mulai dari MAIN UNIT. Jadi kalo lo mau cari ini Unity main unitnya di mana? Ya nggak bakalan nemu. Tapi buat ente2 yang pernah main2 Adobe Flash, nah, skripnya Unity persis kek gitu. Kalo Adobe Flash nyisipin skrip di setiap FRAME, maka Unity nyisipin skrip di setiap GameObject. 

Langkah pertama untuk bikin skrip adalah dengan membuat skrip baru. Caranya Klik Kanan di panel Assets, dan pilih menu: CREATE --> C# SCRIPT (Sorry berat buat Boo & Javascript User! Gue cuma bikinin tutorial pake C#. Buat bahasa yang lain lo cari sendiri ya padanannya)


Buka scriptnya pake MonoDevelop dan ketikkan perintah berikut:

using UnityEngine;
using System.Collections;

public class SplashScreen : MonoBehaviour {
   
    public bool Activated;
    public float DelayTime;
    public string NextScene;
   
    IEnumerator ExecuteSplashScreen(){
        if (Activated){
            yield return new WaitForSeconds(DelayTime);
            Application.LoadLevel(NextScene);
        }   
    }   

    // Use this for initialization
    void Start () {
        StartCoroutine(ExecuteSplashScreen());
    }
   
    // Update is called once per frame
    void Update () {
   
    }
}



Kalao scriptnya udah diketik, pastiin nggak ada error, lo tarik deh itu skripnya ke Terrain. Nanti bakalan muncul panel baru di pojok kanan. Nah, inilah salah satu kehebatan Unity. Skrip yang kita tulis, kalo ditambahin identifier PUBLIC di sebelah kiri nama tipe variabel, variabel itu bakalan muncul secara otomatis di panel Unity Editor. Sehingga bisa diatur nilainya dari luar skrip. Hal ini gede banget pengaruhnya dalam pembuatan skrip di Unity secara keseluruhan. Artinya, lo bisa pasang Skrip bikinan orang lain (lo ga perlu tahu isinya apaan), tapi tetep lo bisa edit dan konfigurasi sesuai dengan kebutuhan melalui Unity Editor. Bener2 surga bagi orang2 yang buta coding, mas bro.

Oke, lanjut lagi. Begitu variabel2 ini udah keluar di editor, baru kita masukin angka2nya sesuai dengan kebutuhan:

1. Activated
Ini adalah variabel wajib di semua skrip bikinan gue. Lo mau hapus juga terserah sih, tapi kalo gue selalu pake ini buat bisa toggle skripnya aktif apa kagak. Sekarang sih kegunannya belum terlalu keliatan. Tapi kalo gue udah bikin banyak class dalam skrip nah, itu, baru ngaruh. Tapi itu mah kapan2 aja ngejelasinya. Pokoknya ini di centang kalo mau diaktifin skripnya

2. Delay Time
Mau berapa detik tuh Splash Screennya

3. Next Scene
Ini diisi dengan Scene yang bakalan muncul setelah Splash Screen. Di ketik sesuai namanya


Selesai? Belum. Masih ada satu langkah lagi buat mastiin skrip kita jalan. Yaitu dengan "mendaftarkan" semua Scene yang ada dalam project. Caranya, lo aktifin Scene 1 yang ada Splash Screennya lalu klik menu FILE --> BUILD SETTING dan klik ADD CURRENT. Habis gitu, lo balik lagi aktifikn Scene 2 yang belum kita apa2in tadi, lalu klik juga menu FILE --> BUILD SETTING dan klik ADD CURRENT. Sampai hasilnya kayak begini:


Kalau sudah begitu, coba di Play. Apa yang terjadi? Apakah Splash Screennya sudah berjalan sesuai dengan mestinya? Begitu habis waktu delaynya masuk ke scene yang lain? Kan? Kan? Eh? Nggak jalan? Jiaaaaah, terus dari tadi gue nyerocos cas-cis-cus begitu lo ngapain aja kalo masih nggak jalan juga? Pasti ada yang salah tuh. Coba ikutin lagi langkah2nya dengan baik dan benar. Jangan buru-buru. Kebanyakan makan mie instant sih lo. Penginnya serba instant malah lupa masukin bumbu, kan nggak enak tuh rasa mienya. Eh, ini kenapa malah jadi ngomongin mie?
Ya sudah, sekian dulu pembahasan kita soal Splash Screen. Nantikan postingan gue selanjutnya mengenai Game Menu di Tutorial Unity - Membuat Game Lengkap (Episode 3: Game Menu).
See you again!

No comments:

Post a Comment