Plukk og slipp-system uten inventar i Unity

I denne opplæringen lager vi et enkelt plukke-og-slipp-system i Unity uten å bruke et inventarsystem. Dette systemet lar spilleren plukke opp gjenstander fra miljøet og slippe dem på et annet sted.

Forutsetninger

  • Unity Hub installert
  • Unity Redaktør (versjon 2019 eller nyere)
  • Grunnleggende kunnskap om C#

Sette opp prosjektet

  1. Åpne Unity Hub og lag et nytt Unity-prosjekt.
  2. Sett opp scenen din med en spillerkarakter og noen gjenstander du kan samhandle med.

Implementering av Pick and Drop-systemet

Trinn 1: Lag et henteskript

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

Trinn 2: Legg til tagger til henteobjekter

Merk objektene du vil at spilleren skal kunne plukke opp med taggen "Pickup".

  1. Velg et objekt i scenen.
  2. I Inspektør-vinduet klikker du på rullegardinmenyen "Tag".
  3. Velg "Add Tag" og skriv inn "Pickup".
  4. Bruk taggen på objektet.

Trinn 3: Testing av systemet

  1. Legg til noen objekter med "Pickup"-taggen til scenen din.
  2. Spill av scenen i Unity.
  3. Klikk på et merket objekt for å plukke det opp.
  4. Høyreklikk for å slippe det holdte objektet.

Konklusjon

Du har implementert et enkelt plukke-og-slipp-system uten å bruke en beholdning i Unity. Dette systemet lar spilleren samhandle med objekter i scenen ved å plukke dem opp og slippe dem på forskjellige steder. Utvid gjerne dette systemet ved å legge til funksjoner som objektsnapping, objektrotasjon eller mer komplekse interaksjoner.

Foreslåtte artikler
Lage inventar og vareutformingssystem i enhet
Implementering av teleportering i Unity
Innebygd måte å jobbe med JSON i Unity Code
En praktisk tilnærming til modulær kode i enhet
Lag en Game Over Scene i Unity
Unity Hvordan lage en Shader
Bruke løkker (for, mens) for å gjenta kodeutførelse