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
- Åpne Unity Hub og lag et nytt Unity-prosjekt.
- 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".
- Velg et objekt i scenen.
- I Inspektør-vinduet klikker du på rullegardinmenyen "Tag".
- Velg "Add Tag" og skriv inn "Pickup".
- Bruk taggen på objektet.
Trinn 3: Testing av systemet
- Legg til noen objekter med "Pickup"-taggen til scenen din.
- Spill av scenen i Unity.
- Klikk på et merket objekt for å plukke det opp.
- 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.