Sistem Pick and Drop Tanpa Inventaris dalam Unity
Dalam tutorial ini, kita akan membuat sistem pick-and-drop sederhana di Unity tanpa menggunakan sistem inventaris. Sistem ini akan memungkinkan pemain untuk mengambil objek dari lingkungan dan menjatuhkannya di lokasi berbeda.
Prasyarat
- Unity Hub terpasang
- Unity Editor (versi 2019 atau lebih baru)
- Pengetahuan dasar C#
Menyiapkan Proyek
- Buka Unity Hub dan buat proyek Unity baru.
- Siapkan adegan Anda dengan karakter pemain dan beberapa objek untuk berinteraksi.
Menerapkan Sistem Pick and Drop
Langkah 1: Buat Skrip Pengambilan
using UnityEngine;
public class Pickup : MonoBehaviour
{
private Transform heldObject;
private Vector3 offset;
void Update()
{
if (heldObject != null)
{
MoveHeldObject();
CheckDrop();
}
else
{
CheckPickup();
}
}
void MoveHeldObject()
{
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
heldObject.position = new Vector3(mousePosition.x + offset.x, mousePosition.y + offset.y, 0);
}
void CheckPickup()
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
if (hit.collider != null && hit.collider.CompareTag("Pickup"))
{
heldObject = hit.transform;
offset = heldObject.position - Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
}
}
void CheckDrop()
{
if (Input.GetMouseButtonDown(1))
{
heldObject = null;
}
}
}
Langkah 2: Tambahkan Tag ke Objek Pengambilan
Tandai objek yang ingin pemain ambil dengan tag "Pickup".
- Pilih objek dalam adegan.
- Di jendela Inspektur, klik tarik-turun "Tag".
- Pilih "Add Tag" dan masukkan "Pickup".
- Terapkan tag ke objek.
Langkah 3: Menguji Sistem
- Tambahkan beberapa objek dengan tag "Pickup" ke adegan Anda.
- Mainkan adegan di Unity.
- Klik pada objek yang diberi tag untuk mengambilnya.
- Klik kanan untuk menjatuhkan objek yang ditahan.
Kesimpulan
Anda telah berhasil menerapkan sistem ambil dan lepas sederhana tanpa menggunakan inventaris di Unity. Sistem ini memungkinkan pemain untuk berinteraksi dengan objek dalam adegan dengan mengambil dan menjatuhkannya di lokasi berbeda. Jangan ragu untuk memperluas sistem ini dengan menambahkan fitur seperti pengambilan objek, rotasi objek, atau interaksi yang lebih kompleks.