Unity에서 특정 키로 서랍과 찬장 열기

이 튜토리얼에서는 특정 키를 사용하여 서랍과 찬장을 열 수 있는 간단한 대화형 시스템을 Unity에 만들겠습니다. 이 시스템을 사용하면 플레이어는 지정된 키를 눌러 개체를 열고 닫는 방식으로 장면의 개체와 상호 작용할 수 있습니다.

전제 조건

  • Unity 허브 설치됨
  • Unity 편집기(버전 2019 이상)
  • C#에 대한 기본 지식

프로젝트 설정

  1. Unity 허브를 열고 새 Unity 프로젝트를 만듭니다.
  2. 서랍, 찬장 또는 상호 작용할 개체를 사용하여 장면을 설정하세요.

대화형 시스템 구현

1단계: 대화형 스크립트 만들기

'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);
    }
}

2단계: 개체 상태 설정

  1. 각 서랍이나 찬장의 하위 개체로 두 개의 빈 GameObject를 만듭니다. 하나의 이름을 "OpenState"로 지정하고 다른 하나의 이름을 "ClosedState"로 지정하세요.
  2. 서랍이나 찬장의 열린 상태와 닫힌 상태를 나타내도록 이러한 하위 개체의 초기 위치를 설정합니다.
  3. 이러한 하위 개체를 'InteractiveObject.cs' 스크립트의 'openState''closedState' 변수에 할당합니다.

3단계: 상호작용 키 할당

  1. 'InteractiveObject.cs' 스크립트가 첨부된 장면에서 객체를 선택합니다.
  2. 검사기 창에서 'interactionKey' 변수를 원하는 KeyCode(예: "E" 키의 경우 KeyCode.E)로 설정합니다.

4단계: 시스템 테스트

  1. Unity에서 장면을 재생합니다.
  2. 서랍이나 찬장에 접근하십시오.
  3. 지정된 키(예: "E")를 눌러 열고 닫습니다.

결론

특정 키를 사용하여 서랍과 찬장을 열고 닫을 수 있는 대화형 시스템을 Unity에 성공적으로 구현했습니다. 이 시스템은 플레이어 경험을 향상시키기 위해 애니메이션, 음향 효과 또는 보다 복잡한 상호 작용을 추가하여 더욱 확장될 수 있습니다. 대화형 개체를 더욱 매력적으로 만들기 위해 자유롭게 실험하고 추가 기능을 추가해 보세요.