Menampilkan Teks pada Objek Sentuh dalam Unity

Selamat datang di tutorial Unity ini, tempat Anda akan mempelajari cara membuat teks muncul saat menyentuh objek di game Anda. Interaksi sederhana ini dapat menambahkan elemen imersif pada proyek Anda. Tutorial ini akan berfungsi pada perangkat seluler dan desktop.

Langkah 1: Buat Proyek Unity

Jika Anda belum melakukannya, mulailah dengan membuka Unity dan membuat proyek 3D baru. Pastikan Anda telah menginstal aset yang diperlukan untuk lingkungan pengembangan pilihan Anda.

Langkah 2: Impor Objek 3D

Impor objek 3D ke dalam adegan Anda yang mewakili item yang akan berinteraksi dengan pemain. Ini bisa berupa kubus, bola, atau benda lain yang cocok untuk permainan Anda.

Langkah 3: Tambahkan Collider

Lampirkan komponen collider ke objek 3D Anda. Ini akan memungkinkannya mendeteksi ketika objek lain berinteraksi dengannya. Jenis collider yang umum mencakup Box Collider, Sphere Collider, atau Mesh Collider, bergantung pada bentuk objek Anda.

Langkah 4: Buat Kanvas dan Teks

Buat UI Canvas dengan mengklik kanan pada hierarki adegan, memilih UI, lalu Canvas. Di dalam kanvas, tambahkan komponen Teks yang akan menampilkan pesan Anda.

Langkah 5: Atur Canvas ke World Space

Ubah Mode Render komponen Canvas menjadi 'World Space'. Hal ini memungkinkan kanvas ada di ruang 3D game Anda.

Langkah 6: Posisikan Kanvas

Sesuaikan posisi kanvas agar sejajar dengan objek 3D Anda. Ini memastikan bahwa teks muncul di dekat objek saat dipicu.

Langkah 7: Tulis Skrip

Tulis script yang akan mendeteksi saat pemain berinteraksi dengan objek. Saat interaksi terjadi, aktifkan Canvas dan atur konten komponen Teks. Periksa contoh skrip di bawah ini:

'ObjectInteraction.cs'

using UnityEngine;
using UnityEngine.UI;

public class ObjectInteraction : MonoBehaviour
{
    public GameObject canvas;
    public Text displayText;

    private void Start()
    {
        canvas.SetActive(false);
    }

    private void Update()
    {
        // Use inline conditional to determine input position based on platform
        Vector3 inputPosition = (Input.touchCount > 0) ? Input.GetTouch(0).position : (Vector3)Input.mousePosition;

        // Raycast to determine if the touch or click hits the object
        Ray ray = Camera.main.ScreenPointToRay(inputPosition);

        RaycastHit hit;
        if (Physics.Raycast(ray, out hit) && hit.collider.gameObject == gameObject)
        {
            // Activate the canvas and set the text
            canvas.SetActive(true);
            displayText.text = "Your message here!";
        }
    }
}

Langkah 8: Tambahkan Skrip ke Objek

Lampirkan skrip C# ke objek 3D Anda, yang akan menangani logika interaksi dan menetapkan semua variabel yang diperlukan.

Langkah 9: Uji Game Anda

Jalankan game Anda dan uji interaksinya. Teks akan muncul ketika Anda mengklik atau menyentuh objek yang ditunjuk.