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

  1. Buka Unity Hub dan buat proyek Unity baru.
  2. 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".

  1. Pilih objek dalam adegan.
  2. Di jendela Inspektur, klik tarik-turun "Tag".
  3. Pilih "Add Tag" dan masukkan "Pickup".
  4. Terapkan tag ke objek.

Langkah 3: Menguji Sistem

  1. Tambahkan beberapa objek dengan tag "Pickup" ke adegan Anda.
  2. Mainkan adegan di Unity.
  3. Klik pada objek yang diberi tag untuk mengambilnya.
  4. 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.

Artikel yang Disarankan
Mengkodekan Sistem Inventaris Sederhana Dengan UI Drag and Drop di Unity
Membuat Sistem Inventory dan Item Crafting dalam Kesatuan
Pendekatan Praktis terhadap Kode Modular dalam Unity
Persatuan Cara Membuat Shader
Membuka Laci dan Lemari dengan Kunci Tertentu dalam Kesatuan
Membuat Game Puzzle di Unity
Membuat Game Berbasis Giliran dalam Persatuan