Plocka och släpp-system utan lager i Unity

I den här handledningen skapar vi ett enkelt plocka-och-släpp-system i Unity utan att använda ett inventeringssystem. Detta system gör det möjligt för spelaren att plocka upp föremål från miljön och släppa dem på en annan plats.

Förutsättningar

  • Unity Hub installerad
  • Unity Editor (version 2019 eller senare)
  • Grundläggande kunskaper i C#

Konfigurera projektet

  1. Öppna Unity Hub och skapa ett nytt Unity-projekt.
  2. Ställ in din scen med en spelarkaraktär och några föremål att interagera med.

Implementering av Pick and Drop-systemet

Steg 1: Skapa ett upphämtningsskript

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

Steg 2: Lägg till taggar till pickupobjekt

Tagga objekten du vill att spelaren ska kunna plocka upp med taggen "Pickup".

  1. Välj ett objekt i scenen.
  2. Klicka på rullgardinsmenyn "Tag" i inspektörsfönstret.
  3. Välj "Add Tag" och ange "Pickup".
  4. Applicera taggen på objektet.

Steg 3: Testa systemet

  1. Lägg till några objekt med taggen "Pickup" till din scen.
  2. Spela scenen i Unity.
  3. Klicka på ett taggat objekt för att plocka upp det.
  4. Högerklicka för att släppa det hållna objektet.

Slutsats

Du har framgångsrikt implementerat ett enkelt plocka-och-släpp-system utan att använda en inventering i Unity. Detta system låter spelaren interagera med föremål i scenen genom att plocka upp dem och släppa dem på olika platser. Utvidga gärna detta system genom att lägga till funktioner som objektsnäppning, objektrotation eller mer komplexa interaktioner.