Sistem de alegere și aruncare fără inventar în Unity
În acest tutorial, vom crea un sistem simplu de pick-and-drop în Unity fără a folosi un sistem de inventar. Acest sistem va permite jucătorului să ridice obiecte din mediu și să le arunce într-o altă locație.
Cerințe preliminare
- Unity Hub instalat
- Unity Editor (versiunea 2019 sau o versiune ulterioară)
- Cunoștințe de bază C#
Configurarea Proiectului
- Deschideți Unity Hub și creați un nou proiect Unity.
- Configurați-vă scena cu un personaj jucător și câteva obiecte cu care să interacționați.
Implementarea sistemului Pick and Drop
Pasul 1: Creați un script de preluare
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;
}
}
}
Pasul 2: Adăugați etichete la obiectele de preluare
Etichetați obiectele pe care doriți ca jucătorul să le poată ridica cu eticheta "Pickup".
- Selectați un obiect din scenă.
- În fereastra Inspector, faceți clic pe meniul derulant "Tag".
- Selectați "Add Tag" și introduceți "Pickup".
- Aplicați eticheta pe obiect.
Pasul 3: Testarea sistemului
- Adaugă câteva obiecte cu eticheta "Pickup" la scena ta.
- Redați scena din Unity.
- Faceți clic pe un obiect etichetat pentru a-l ridica.
- Faceți clic dreapta pentru a arunca obiectul reținut.
Concluzie
Ați implementat cu succes un sistem simplu de preluare și aruncare fără a utiliza un inventar în Unity. Acest sistem permite jucătorului să interacționeze cu obiectele din scenă, ridicându-le și aruncându-le în diferite locații. Simțiți-vă liber să extindeți acest sistem adăugând caracteristici precum prinderea obiectelor, rotirea obiectelor sau interacțiuni mai complexe.