Sistem de alegere și aruncare fără inventar în Unity

În acest tutorial, vom crea un sistem simplu de pick-and-drop în Unity fără a folosi un sistem de inventar. Acest sistem va permite jucătorului să ridice obiecte din mediu și să le arunce într-o altă locație.

Cerințe preliminare

  • Unity Hub instalat
  • Unity Editor (versiunea 2019 sau o versiune ulterioară)
  • Cunoștințe de bază C#

Configurarea Proiectului

  1. Deschideți Unity Hub și creați un nou proiect Unity.
  2. Configurați-vă scena cu un personaj jucător și câteva obiecte cu care să interacționați.

Implementarea sistemului Pick and Drop

Pasul 1: Creați un script de preluare

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

Pasul 2: Adăugați etichete la obiectele de preluare

Etichetați obiectele pe care doriți ca jucătorul să le poată ridica cu eticheta "Pickup".

  1. Selectați un obiect din scenă.
  2. În fereastra Inspector, faceți clic pe meniul derulant "Tag".
  3. Selectați "Add Tag" și introduceți "Pickup".
  4. Aplicați eticheta pe obiect.

Pasul 3: Testarea sistemului

  1. Adaugă câteva obiecte cu eticheta "Pickup" la scena ta.
  2. Redați scena din Unity.
  3. Faceți clic pe un obiect etichetat pentru a-l ridica.
  4. Faceți clic dreapta pentru a arunca obiectul reținut.

Concluzie

Ați implementat cu succes un sistem simplu de preluare și aruncare fără a utiliza un inventar în Unity. Acest sistem permite jucătorului să interacționeze cu obiectele din scenă, ridicându-le și aruncându-le în diferite locații. Simțiți-vă liber să extindeți acest sistem adăugând caracteristici precum prinderea obiectelor, rotirea obiectelor sau interacțiuni mai complexe.