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.

Föreslagna artiklar
Skapa samlarföremål och power-ups i Unity
Hur man lägger till Sniper Scope Effect i Unity
Arbeta med strängar och manipulera textdata i Unity
Unity Obfuscation Methods och Anti-Hack Protection
Implementering av kinetiska interaktioner i enhet
Öppna lådor och skåp med specifika nycklar i Unity
Implementering av teleportering i Unity