Tutorial Unity - Fade In - IMedia9 - Connecting Inspiration

Breaking

Thursday, March 27, 2014

Tutorial Unity - Fade In


Ada yang nanya ke gue, "gimana caranya bikin fadein di Unity?". terus gue jawab, buka google, cari forum Unity dan baca aja sendiri. Gampang kan? Eh, dia malah nimpuk gue pake sendal. Pundung kayaknya, hehehe. Pertanyaan itu sebenarnya udah lama banget di tanyaian sejak tahun 2009 (pas awal2 Unity baru launching), tapi sekarang masih aja ada yang nanya.

Bagi sebagian orang, bikin fadeIn di Unity itu simple, tapi bagi sebagian yang lain butuh perjuangan sampai berdarah-darah. Gue inget dulu, gue juga butuh waktu 3 minggu cuman bisa bikin efek fadeIn doang (saking nggak ngertinya dengan yang namanya Unity). Sekarang sih, gue udah bikin prefab sendiri, jadi kalau gue butuh FadeIn, FadeOut, atau FadeInOut tinggal drag, setang-seting, Play!
Mantaaabs.

Lo mau prefab bikinan gue? Wani piro? Wkwkwkwk. Nggak lah, prefab gue nanti bakalan gue bagi2 secara gratis, tapi bukan di blog ini. Di situs gue yang lain. Untuk blog, tetep pada judulnya yaitu bikin tutorial! Jadi di sini, gue bakal kasih tahu (buat lo-lo yang belum tahu, cara bikin fadeIn di Unity). Caranya adalah  bikin project baru di Unity. Terus langsung klik Play. Gimana hasilnya?


Langsung "blek" muncul gitu doang kan? Emang defaultnya gitu. Kalau nambahin efek FadeIn caranya tambahin sebuah script C# caranya klik kanan di panel Assets, terus klik Create -> C# Script.

 

Ketik deh kode sebagai berikut. Lo bisa ngetik kan?

using UnityEngine;
using System.Collections;

public class FadeIn : MonoBehaviour {

    public Texture2D fadeTexture;
    public float fadeSpeed = 5.0f;
    public float alpha = 1.0f;

    // Use this for initialization
    void Start () {
        alpha = 1.0f;
    }
   
    // Update is called once per frame
    void Update () {
   
    }

    void OnGUI(){
        if (alpha > -1){
            alpha -= fadeSpeed * Time.deltaTime / 10;
            if (alpha < 1){
                Color temp = GUI.color;
                temp.a = alpha;
                GUI.color = temp;
                GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), fadeTexture);
            }
        }
    }
}


Ide dari script ini adalah, pasang gambar item terus gambar itu dibikin menghilang secara perlahan dengan ngurangin nilai alpha-nya. Inget kalau script di Unity dipanggil setiap frame, jadi baris  
alpha -= fadeSpeed * Time.deltaTime / 10; .  
Akan looping secara ostosmastis. Habis itu, impor sebuah gambar apa aja, bebas, terserah. Tapi kalau bisa gambarnya warna item. Soalnya kalo fadeIn kan biasanya dimulai dari warna item. Tapi gambarnya terserah aja sih. Bebas. Warna item aja pokoknya.

Pasang scriptnya di MainCamera, tarik si gambar itemnya. Terus klik Play.


Udah gitu doang. Keren kan? *yang bilang nggak keren, nggak pren!*

No comments:

Post a Comment