Otwieranie szuflad i szafek za pomocą określonych kluczy w Unity

W tym samouczku utworzymy prosty, interaktywny system w Unity, w którym szuflady i szafki można otwierać za pomocą określonego klucza. System ten pozwoli graczowi na interakcję z obiektami w scenie poprzez naciśnięcie wyznaczonego klawisza w celu ich otwierania i zamykania.

Warunki wstępne

  • Unity Hub zainstalowany
  • Unity Edytor (wersja 2019 lub nowsza)
  • Podstawowa znajomość C#

Konfiguracja projektu

  1. Otwórz Unity Hub i utwórz nowy projekt Unity.
  2. Skonfiguruj swoją scenę z szufladami, szafkami lub dowolnymi przedmiotami, z którymi chcesz wchodzić w interakcję.

Wdrożenie Systemu Interaktywnego

Krok 1: Utwórz interaktywny skrypt

'InteractiveObject.cs'

using UnityEngine;

public class InteractiveObject : MonoBehaviour
{
    public KeyCode interactionKey;
    public GameObject openState;
    public GameObject closedState;

    private bool isOpen = false;

    void Update()
    {
        if (Input.GetKeyDown(interactionKey))
        {
            ToggleObjectState();
        }
    }

    void ToggleObjectState()
    {
        isOpen = !isOpen;
        openState.SetActive(isOpen);
        closedState.SetActive(!isOpen);
    }
}

Krok 2: Skonfiguruj stany obiektów

  1. Utwórz dwa puste obiekty GameObjects jako obiekty podrzędne każdej szuflady lub szafki. Nazwij jednego "OpenState", a drugiego "ClosedState".
  2. Ustaw początkowe pozycje tych obiektów podrzędnych, aby reprezentowały stan otwarty i zamknięty szuflady lub szafki.
  3. Przypisz te obiekty podrzędne do zmiennych 'openState' i 'closedState' w skrypcie 'InteractiveObject.cs'.

Krok 3: Przypisz klucz interakcji

  1. Wybierz obiekt w scenie z dołączonym skryptem 'InteractiveObject.cs'.
  2. W oknie Inspektora ustaw zmienną 'interactionKey' na żądany KeyCode (np. KeyCode.E dla klawisza "E").

Krok 4: Testowanie systemu

  1. Odegraj scenę w Unity.
  2. Podejdź do szuflad lub szafek.
  3. Naciśnij wyznaczony klawisz (np. "E"), aby je otworzyć i zamknąć.

Wniosek

Pomyślnie wdrożyłeś interaktywny system w Unity, który umożliwia otwieranie i zamykanie szuflad i szafek za pomocą określonego klucza. System ten można dalej rozbudowywać, dodając animacje, efekty dźwiękowe lub bardziej złożone interakcje, aby poprawić wrażenia gracza. Możesz eksperymentować i dodawać dodatkowe funkcje, aby Twoje interaktywne obiekty były jeszcze bardziej wciągające.