Pick and Drop-system uden inventar i Unity

I denne tutorial opretter vi et simpelt pick-and-drop-system i Unity uden at bruge et lagersystem. Dette system giver spilleren mulighed for at samle genstande op fra omgivelserne og slippe dem et andet sted.

Forudsætninger

  • Unity Hub installeret
  • Unity Editor (version 2019 eller nyere)
  • Grundlæggende kendskab til C#

Opsætning af projektet

  1. Åbn Unity Hub og opret et nyt Unity-projekt.
  2. Indstil din scene med en spillerkarakter og nogle objekter at interagere med.

Implementering af Pick and Drop-systemet

Trin 1: Opret et afhentningsscript

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

Trin 2: Tilføj tags til pickup-objekter

Tag de objekter, du ønsker, at spilleren skal kunne samle op med tagget "Pickup".

  1. Vælg et objekt i scenen.
  2. Klik på rullemenuen "Tag" i Inspector-vinduet.
  3. Vælg "Add Tag" og indtast "Pickup".
  4. Anvend mærket på objektet.

Trin 3: Test af systemet

  1. Tilføj nogle objekter med "Pickup"-tagget til din scene.
  2. Afspil scenen i Unity.
  3. Klik på et mærket objekt for at samle det op.
  4. Højreklik for at slippe det tilbageholdte objekt.

Konklusion

Du har med succes implementeret et simpelt pick-and-drop-system uden at bruge en beholdning i Unity. Dette system giver spilleren mulighed for at interagere med objekter i scenen ved at samle dem op og tabe dem på forskellige steder. Du er velkommen til at udvide dette system ved at tilføje funktioner som objektsnapning, objektrotation eller mere komplekse interaktioner.

Foreslåede artikler
Kodning af et simpelt lagersystem med UI Drag and Drop i Unity
Unity Sådan opretter du en Shader
Unity C# Must-Know Operatører
Implementering af VR Headset Control i Unity
Oprettelse af kamerarysteeffekt i Unity
Implementering af teleportering i Unity
Interagere med objekter i Unity Game