Tutorial Senter untuk Unity

Di banyak video game, senter berfungsi sebagai alat penting (atau elemen gameplay) yang meningkatkan pengalaman pemain. Senter adalah sumber cahaya portabel yang dapat dinyalakan dan dimatikan, biasanya meniru fungsi senter di dunia nyata. Pentingnya dalam permainan terletak pada kemampuannya untuk menciptakan ketegangan, menambah realisme, dan memberikan iluminasi di lingkungan gelap atau remang-remang.

Tangkapan Layar Isolasi Alien

Di bawah ini adalah tutorial singkat tentang cara mengatur senter yang dapat dikontrol di Unity yang dapat dinyalakan dan dimatikan dengan menekan tombol.

Menyiapkan Adegan

  • Buat proyek 3D baru di Unity (atau buka proyek yang sudah ada)
  • Impor aset apa pun yang diperlukan, seperti karakter atau lingkungan 3D jika belum

Ciptakan Sorotan

  • Klik kanan pada panel Hierarchy dan pilih "Create Empty" untuk membuat GameObject kosong.
  • Ganti nama GameObject baru menjadi "Flashlight."
  • Pastikan "Flashlight" GameObject dipilih di Hierarki.
  • Di panel Inspector, klik tombol "Add Component", cari "Light" lalu klik untuk add komponen Light ke "Flashlight" GameObject, dan ulangi langkah yang sama untuk menambahkan "AudioSource" komponen.
  • Konfigurasikan komponen Light ke pengaturan yang diinginkan, seperti mengatur Type ke "Spot" dan menyesuaikan parameter Range, Angle, dan Intensity.
  • Konfigurasikan komponen AudioSource dengan mengatur Volume, Jarak, dll.

Efek Spot Light dalam adegan Unity

Pasang Senter Ke Pemutar

  • Tarik dan jatuhkan "Flashlight" GameObject ke karakter pemain di panel Hierarchy untuk menjadikannya anak dari pemain.
  • Sesuaikan posisi dan putaran senter agar sejajar dengan tangan pemain atau posisi yang diinginkan.

Menerapkan Kontrol Senter

  • Buat skrip C# baru dengan mengklik kanan di panel Assets dan memilih 'Create -> C# Script', lalu beri nama "FlashlightController."
  • Klik dua kali skrip untuk membukanya di editor kode pilihan mana pun.
  • Hapus kode default dan ganti dengan skrip berikut:

'FlashlightController.cs'

using UnityEngine;

public class FlashlightController : MonoBehaviour
{
    // Public variables
    public AudioClip turnOnSound;
    public AudioClip turnOffSound;

    // Private variables
    private Light flashlight;
    private AudioSource audioSource;

    private void Start()
    {
        // Get Light component in the same GameObject
        flashlight = GetComponent<Light>();

        if (flashlight == null)
        {
            Debug.LogWarning("Light component is not attached. Attach a Light component manually.");
        }
        else
        {
            flashlight.enabled = false;
        }

        // Get or add AudioSource component to the same GameObject
        audioSource = GetComponent<AudioSource>();
        if (audioSource == null)
        {
            audioSource = gameObject.AddComponent<AudioSource>();
            audioSource.playOnAwake = false;
        }
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.F))
        {
            if (flashlight != null)
            {
                flashlight.enabled = !flashlight.enabled;

                // Play audio effect based on flashlight state
                if (flashlight.enabled)
                {
                    PlayAudioEffect(turnOnSound);
                }
                else
                {
                    PlayAudioEffect(turnOffSound);
                }
            }
            else
            {
                Debug.LogWarning("Cannot control flashlight as Light component is not attached.");
            }
        }
    }

    private void PlayAudioEffect(AudioClip clip)
    {
        if (clip != null)
        {
            audioSource.clip = clip;
            audioSource.Play();
        }
    }
}
  • Simpan skrip dan kembali ke Unity.
  • Lampirkan skrip "FlashlightController" ke "Flashlight" GameObject.
  • Pastikan komponen Light dan AudioSource terpasang ke objek game yang sama dengan skrip "FlashlightController".
  • Tetapkan klip audio khusus Anda ke variabel suara giliran 'On/Off'.

Uji Senter

  • Tekan tombol Mainkan untuk masuk ke mode Putar.
  • Pindahkan karakter di sekitar Adegan.
  • Tekan tombol "F" untuk menghidupkan dan mematikan senter.

Kesimpulan

Semoga tutorial ini membantu mempelajari cara membuat efek senter sorotan di Unity. Hal ini dapat ditingkatkan lebih lanjut dengan menambahkan fitur tambahan seperti kedipan cahaya atau menyesuaikan sudut kerucut sorotan berdasarkan input pemain.

Artikel yang Disarankan
Tutorial Lompat Dinding 3D dan 2D Pemain untuk Unity
Tutorial Pengontrol Worm 3D untuk Unity
Tutorial Pengontrol Pemain Top-Down untuk Unity
Pengendali Helikopter untuk Persatuan
Pengontrol Karakter Cara Menambahkan Kemampuan untuk Mendorong Benda Kaku di Unity
Pengontrol Pemain RTS dan MOBA untuk Unity
Menambahkan Dukungan Lompat Ganda ke Pengontrol Karakter Platformer 2D di Unity