Система «вибери та відпусти» без інвентарю в Unity
У цьому підручнику ми створимо просту систему «підбирай і кидай» у Unity без використання системи інвентаризації. Ця система дозволить гравцеві підбирати об’єкти з навколишнього середовища та скидати їх у інше місце.
передумови
- Unity Встановлений концентратор
- Unity Редактор (версія 2019 або новіша)
- Базові знання C#
Налаштування проекту
- Відкрийте Unity Hub і створіть новий проект Unity.
- Налаштуйте свою сцену з персонажем гравця та деякими об’єктами для взаємодії.
Впровадження системи Pick and Drop
Крок 1: Створіть сценарій підйому
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;
}
}
}
Крок 2: додайте теги до об’єктів підйому
Позначте тегом "Pickup" об’єкти, які ви хочете, щоб гравець міг підібрати.
- Виберіть об’єкт на сцені.
- У вікні інспектора натисніть спадне меню "Tag".
- Виберіть "Add Tag" і введіть "Pickup".
- Застосуйте тег до об'єкта.
Крок 3: Тестування системи
- Додайте кілька об'єктів з тегом "Pickup" до вашої сцени.
- Розіграйте сцену в Unity.
- Натисніть на позначений об'єкт, щоб підняти його.
- Клацніть правою кнопкою миші, щоб скинути затриманий об’єкт.
Висновок
Ви успішно впровадили просту систему «підбери та відпусти» без використання інвентарю в Unity. Ця система дозволяє гравцеві взаємодіяти з об’єктами в сцені, підбираючи їх і скидаючи в різних місцях. Не соромтеся розширити цю систему, додавши такі функції, як прив’язка об’єктів, обертання об’єктів або більш складні взаємодії.