Unity C# Tutorial Indonesia : Basic 27 - ParticleSystem



Dalam sebuah game selain pentingnya terdapat Objek baik 2D atau 3D, penting juga menambahkan efek partikel dalam sebuah game. Efek partikel akan membuat sebuah game menjadi semakin menarik.

Nah kali ini mimin mau coba jelasin bagaimana mengakses sebuah komponen partikel pada sebuah script C#.




Pertama tambahkan dulu Paket ParticleSystem yang sudah disediakan oleh Unity, jika ingin membuat sendiri juga bisa,

BACA JUGA : Mengenal Particle System versi 1
                         Mengenal Particle System versi 2



Pada jendela Project , buka folder Prefabs di dalam folder ParticleSystem, unity sudah menyediakan cukup banyak partikel yang bisa digunakan, tutorial kali ini mimin menggunakan partikel "afterburner".



Ceritanya mimin mau membuat sebuah roket dimana setelah hitungan ketiga efek partikel muncul, tambahkan objek Cylinder dan tambahkan juga particle "afterburner" ke dalam hirarki, jadikan partikel ini anak objek dari cylinder (seperti gambar atas), atur posisinya seperti roket.



Agar partikel tidak play otomatis ketika game dijalankan, klik objek partikel di hirarki kemudian lihat jendela inspektor, pada bagian afterburner hapus centang pada "Play On Awake".

Kenapa dimatikan ? karena nanti partikel akan diplay melalui script C#, itulah fokus utama tutorial kali ini.



Buat sebuah C# Script baru berinama "LatihanParticle.cs" dan tambahkan listing program berikut.
using UnityEngine;
using System.Collections;

public class LatihanParticle : MonoBehaviour {

                ParticleSystem partikel;
                float timer;
               
                void Awake(){
                                partikel = GetComponentInChildren<ParticleSystem>();
                }
               
                void Update(){
                                timer += Time.deltaTime;
                               
                                if(timer > 3){
                                                partikel.Play();
                                }
                }

}
Penjelasan :
Pertama dideklarasikan dulu variabel ParticleSystem dengan nama "partikel". Pada method Awake() digunakan GetComponentInChildren(), alasannya karena script ini diberikan ke objek Cylinder dan ParticleSystem terdapat pada objek anak "afterburner".

Jika timer sudah lebih dari 3 maka partikel dijalankan.



Tambahkan script ini ke objek Cylinder, jalankan game dan setelah 3 detik partikel akan dijalankan.

<bertanya>"Gimana kalo ada 2 partikel dalam 1 objek ?" </bertanya>

Kebetulan pada objek Cylinder ada 2 partikel yaitu "afterburner" dan "glow", kalo tadi sudah diplay terlihat cuma partikel "afterburner" yang muncul nah si "glow" nya masih mati.

Ada 3 cara agar kedua partikel tadi bisa dijalankan,
- Menggunakan variabel public

- Menggunakan Array
BACA JUGA : Tutorial Array

- Menggunakan GameObject.Find();
BACA JUGA : Tutorial GameObject




Kali ini mimin hanya mencoba menggunakan variabel public. Remake script "LatihanParticle.cs" menjadi 
using UnityEngine;
using System.Collections;

public class LatihanParticle : MonoBehaviour {

                public ParticleSystem partikel1;
                public ParticleSystem partikel2;
               
                float timer;

                void Update(){
                                timer += Time.deltaTime;
                               
                                if(timer > 3){
                                                partikel1.Play();
                                                partikel2.Play();
                                }
                }

}



Klik objek Cylinder dan lihat script "LatihanParticle" pada jendela Inspektor. Drag n Drop partikel "afterburner" ke kotak kosong Partikel 1 dan "Glow" ke kotak 2.

Jalankan game.

Tag : Basic
Back To Top