Unity에서 특정 키로 서랍과 찬장 열기
이 튜토리얼에서는 특정 키를 사용하여 서랍과 찬장을 열 수 있는 간단한 대화형 시스템을 Unity에 만들겠습니다. 이 시스템을 사용하면 플레이어는 지정된 키를 눌러 개체를 열고 닫는 방식으로 장면의 개체와 상호 작용할 수 있습니다.
전제 조건
- Unity 허브 설치됨
- Unity 편집기(버전 2019 이상)
- C#에 대한 기본 지식
프로젝트 설정
- Unity 허브를 열고 새 Unity 프로젝트를 만듭니다.
- 서랍, 찬장 또는 상호 작용할 개체를 사용하여 장면을 설정하세요.
대화형 시스템 구현
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단계: 개체 상태 설정
- 각 서랍이나 찬장의 하위 개체로 두 개의 빈 GameObject를 만듭니다. 하나의 이름을 "OpenState"로 지정하고 다른 하나의 이름을 "ClosedState"로 지정하세요.
- 서랍이나 찬장의 열린 상태와 닫힌 상태를 나타내도록 이러한 하위 개체의 초기 위치를 설정합니다.
- 이러한 하위 개체를 'InteractiveObject.cs' 스크립트의 'openState' 및 'closedState' 변수에 할당합니다.
3단계: 상호작용 키 할당
- 'InteractiveObject.cs' 스크립트가 첨부된 장면에서 객체를 선택합니다.
- 검사기 창에서 'interactionKey' 변수를 원하는 KeyCode(예: "E" 키의 경우 KeyCode.E)로 설정합니다.
4단계: 시스템 테스트
- Unity에서 장면을 재생합니다.
- 서랍이나 찬장에 접근하십시오.
- 지정된 키(예: "E")를 눌러 열고 닫습니다.
결론
특정 키를 사용하여 서랍과 찬장을 열고 닫을 수 있는 대화형 시스템을 Unity에 성공적으로 구현했습니다. 이 시스템은 플레이어 경험을 향상시키기 위해 애니메이션, 음향 효과 또는 보다 복잡한 상호 작용을 추가하여 더욱 확장될 수 있습니다. 대화형 개체를 더욱 매력적으로 만들기 위해 자유롭게 실험하고 추가 기능을 추가해 보세요.