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.