Hệ thống chọn và thả không có hàng tồn kho trong Unity

Trong hướng dẫn này, chúng ta sẽ tạo một hệ thống lấy và thả đơn giản trong Unity mà không cần sử dụng hệ thống kiểm kê. Hệ thống này sẽ cho phép người chơi nhặt đồ vật từ môi trường và thả chúng ở một vị trí khác.

Điều kiện tiên quyết

  • Unity Đã cài đặt trung tâm
  • Unity Trình chỉnh sửa (phiên bản 2019 trở lên)
  • Kiến thức cơ bản về C#

Thiết lập dự án

  1. Mở Unity Hub và tạo dự án Unity mới.
  2. Thiết lập cảnh của bạn với nhân vật người chơi và một số đối tượng để tương tác.

Triển khai hệ thống nhặt và thả

Bước 1: Tạo Tập lệnh Pickup

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;
        }
    }
}

Bước 2: Thêm thẻ vào đối tượng nhặt

Gắn thẻ những đồ vật mà bạn muốn người chơi có thể nhặt được bằng thẻ "Pickup".

  1. Chọn một đối tượng trong cảnh.
  2. Trong cửa sổ Thanh tra, nhấp vào danh sách thả xuống "Tag".
  3. Chọn "Add Tag" và nhập "Pickup".
  4. Áp dụng thẻ cho đối tượng.

Bước 3: Kiểm tra hệ thống

  1. Thêm một số đối tượng có thẻ "Pickup" vào cảnh của bạn.
  2. Phát cảnh trong Unity.
  3. Bấm vào một đối tượng được gắn thẻ để nhặt nó lên.
  4. Nhấp chuột phải để thả đối tượng đang giữ.

Phần kết luận

Bạn đã triển khai thành công hệ thống lấy và thả đơn giản mà không cần sử dụng khoảng không quảng cáo trong Unity. Hệ thống này cho phép người chơi tương tác với các đồ vật trong khung cảnh bằng cách nhặt và thả chúng ở các vị trí khác nhau. Hãy thoải mái mở rộng hệ thống này bằng cách thêm các tính năng như chụp đối tượng, xoay đối tượng hoặc các tương tác phức tạp hơn.

Bài viết được đề xuất
Mã hóa một hệ thống kiểm kê đơn giản bằng tính năng kéo và thả giao diện người dùng trong Unity
Tạo hệ thống chế tạo vật phẩm và kho đồ trong Unity
Tạo hệ thống đạn 2D đơn giản trong Unity
Cách kích hoạt đoạn cắt cảnh trong Unity
Hiển thị văn bản khi chạm vào đối tượng trong Unity
Phương pháp làm xáo trộn Unity và bảo vệ chống hack
Tạo ScriptableObjects trong Unity