Система «вибери та відпусти» без інвентарю в Unity

У цьому підручнику ми створимо просту систему «підбирай і кидай» у Unity без використання системи інвентаризації. Ця система дозволить гравцеві підбирати об’єкти з навколишнього середовища та скидати їх у інше місце.

передумови

  • Unity Встановлений концентратор
  • Unity Редактор (версія 2019 або новіша)
  • Базові знання C#

Налаштування проекту

  1. Відкрийте Unity Hub і створіть новий проект Unity.
  2. Налаштуйте свою сцену з персонажем гравця та деякими об’єктами для взаємодії.

Впровадження системи 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" об’єкти, які ви хочете, щоб гравець міг підібрати.

  1. Виберіть об’єкт на сцені.
  2. У вікні інспектора натисніть спадне меню "Tag".
  3. Виберіть "Add Tag" і введіть "Pickup".
  4. Застосуйте тег до об'єкта.

Крок 3: Тестування системи

  1. Додайте кілька об'єктів з тегом "Pickup" до вашої сцени.
  2. Розіграйте сцену в Unity.
  3. Натисніть на позначений об'єкт, щоб підняти його.
  4. Клацніть правою кнопкою миші, щоб скинути затриманий об’єкт.

Висновок

Ви успішно впровадили просту систему «підбери та відпусти» без використання інвентарю в Unity. Ця система дозволяє гравцеві взаємодіяти з об’єктами в сцені, підбираючи їх і скидаючи в різних місцях. Не соромтеся розширити цю систему, додавши такі функції, як прив’язка об’єктів, обертання об’єктів або більш складні взаємодії.