Cara Membuat Lampu Lalu Lintas di Unity
Tutorial ini akan memandu Anda melalui proses pembuatan sistem lampu lalu lintas sederhana di Unity menggunakan C#. Anda akan mempelajari cara mengatur lampu lalu lintas, menambahkan logika untuk mengendalikannya, dan mensimulasikan sistem lampu lalu lintas yang berfungsi.
Prasyarat
- Pengetahuan dasar tentang antarmuka Unity
- Pemahaman dasar tentang pemrograman C#
- Unity diinstal di komputer Anda (versi terbaru apa pun)
Langkah 1: Menyiapkan Adegan
Pertama, kita perlu menyiapkan suasana di Unity dengan tiga lampu (Merah, Kuning, dan Hijau) untuk mensimulasikan sistem lampu lalu lintas.
- Buka Unity dan buat proyek baru.
- Di jendela Hierarchy, buat tiga objek 3D yang mewakili lampu lalu lintas. Anda dapat menggunakan Spheres untuk setiap lampu. Ubah nama menjadi RedLight, YellowLight, dan GreenLight.
- Letakkan mereka di atas satu sama lain dalam tampilan Scene untuk mensimulasikan lampu lalu lintas vertikal. Sesuaikan posisi dan skalanya sesuai kebutuhan.
- To make them look like real traffic lights, assign different colors to each sphere:
- Pilih RedLight dan ubah warna materialnya menjadi merah.
- Pilih YellowLight dan ubah warna materialnya menjadi kuning.
- Pilih GreenLight dan ubah warna materialnya menjadi hijau.
Langkah 2: Membuat Skrip Lampu Lalu Lintas
Sekarang, kita akan menulis skrip untuk mengendalikan perilaku lampu lalu lintas. Skrip ini akan mengubah lampu lalu lintas menjadi merah, kuning, dan hijau secara berkala.
- Di folder Assets, klik kanan dan pilih Create > C# Script. Beri nama TrafficLightController.
- Buka skrip di editor kode pilihan Anda dan tulis kode berikut:
using System.Collections;
using UnityEngine;
public class TrafficLightController : MonoBehaviour
{
public GameObject redLight;
public GameObject yellowLight;
public GameObject greenLight;
public float redLightDuration = 5f;
public float yellowLightDuration = 2f;
public float greenLightDuration = 5f;
private void Start()
{
StartCoroutine(TrafficLightCycle());
}
IEnumerator TrafficLightCycle()
{
while (true)
{
// Red light on
redLight.SetActive(true);
yellowLight.SetActive(false);
greenLight.SetActive(false);
yield return new WaitForSeconds(redLightDuration);
// Green light on
redLight.SetActive(false);
yellowLight.SetActive(false);
greenLight.SetActive(true);
yield return new WaitForSeconds(greenLightDuration);
// Yellow light on
redLight.SetActive(false);
yellowLight.SetActive(true);
greenLight.SetActive(false);
yield return new WaitForSeconds(yellowLightDuration);
}
}
}
Skrip ini mendefinisikan siklus sederhana di mana lampu merah, hijau, dan kuning menyala dan mati secara berurutan.
Langkah 3: Menetapkan Lampu ke Naskah
Sekarang skrip sudah siap, kita perlu menautkan objek lampu ke skrip sehingga skrip mengetahui lampu mana yang harus dikontrol.
- Pilih Kamera Utama atau buat GameObject kosong di dalam adegan untuk menampung skrip. Beri nama TrafficLightController.
- Pada Inspector, klik Add Component dan lampirkan skrip TrafficLightController.
- Assign the traffic light spheres to the script:
- Tarik objek RedLight ke dalam kolom redLight dalam skrip.
- Tarik objek YellowLight ke dalam bidang yellowLight.
- Tarik objek GreenLight ke dalam bidang greenLight.
Langkah 4: Menguji Sistem Lampu Lalu Lintas
Sekarang, saatnya menguji sistem lampu lalu lintas dan melihat apakah semuanya berfungsi seperti yang diharapkan.
- Tekan tombol Play di bagian atas editor Unity.
- Amati sistem lampu lalu lintas yang sedang bekerja. Lampu merah, hijau, dan kuning akan berganti berdasarkan interval waktu yang Anda tentukan dalam skrip.
Jika semuanya berfungsi, Anda akan melihat lampu merah menyala selama 5 detik, diikuti lampu hijau selama 5 detik, lalu lampu kuning selama 2 detik, berulang terus menerus.
Langkah 5: Menyesuaikan Lampu Lalu Lintas
Anda dapat dengan mudah menyesuaikan sistem lampu lalu lintas dengan mengubah interval waktu untuk setiap lampu. Di jendela Inspector, ubah kolom redLightDuration, yellowLightDuration, dan greenLightDuration untuk mengubah lamanya waktu lampu menyala.
Misalnya, Anda dapat membuat lampu merah menyala lebih lama untuk mensimulasikan persimpangan yang ramai atau menyesuaikan durasi lampu kuning untuk transisi yang lebih cepat.
Kesimpulan
Anda telah berhasil membuat sistem lampu lalu lintas sederhana di Unity. Dengan mengikuti tutorial ini, Anda telah mempelajari cara mengendalikan GameObjects dengan C# dan menerapkan loop berjangka waktu untuk mensimulasikan sistem di dunia nyata. Dari sini, Anda dapat mengembangkan proyek ini dengan menambahkan lebih banyak fitur seperti lampu pejalan kaki, penghitung waktu mundur, atau peraturan lalu lintas yang lebih rumit.