Unity 게임 컨트롤러 지원 가이드
이 문서는 Unity에서 게임 컨트롤러를 감지하고 입력을 처리하는 방법에 대해 설명합니다.
게임 컨트롤러 감지
Unity에서는 Input.GetJoystickNames
메서드를 사용하여 연결된 모든 게임 컨트롤러의 리스트를 가져올 수 있습니다. 이 리스트는 연결된 컨트롤러가 부착되거나 분리될 때마다 확인할 수 있습니다.
게임 컨트롤러의 이름은 다음과 같은 형식을 따릅니다:
[$profile_type, $connection_type] joystick $number by $model
- $profile_type:
basic
또는extended
- $connection_type:
wired
또는wireless
Unity가 하나 이상의 컨트롤러를 감지하면, 온스크린 터치 컨트롤을 비활성화하거나 컨트롤러 입력을 보완하도록 조정할 수 있습니다.
코드 예제
아래의 코드 샘플은 게임 컨트롤러가 기기에 연결되어 있는지 확인하는 방법을 보여줍니다.
using System.Collections;
using UnityEngine;
public class GameControllers : MonoBehaviour
{
private bool connected = false;
IEnumerator CheckForControllers() {
while (true) {
var controllers = Input.GetJoystickNames();
if (!connected && controllers.Length > 0) {
connected = true;
Debug.Log("Connected");
} else if (connected && controllers.Length == 0) {
connected = false;
Debug.Log("Disconnected");
}
yield return new WaitForSeconds(1f);
}
}
void Awake() {
StartCoroutine(CheckForControllers());
}
}
활용 예제
- 온스크린 버튼 비활성화: 컨트롤러가 연결되면 자동으로 화면상의 터치 버튼을 비활성화하여 사용자 경험을 향상시킬 수 있습니다.
- 입력 보완: 사용자가 키패드 입력 대신에 컨트롤러 입력을 사용할 경우, 입력 방식을 쉽게 전환할 수 있도록 설정할 수 있습니다.
- 컨트롤러 상태 알림: UI에 연결 상태를 표시하여 사용자에게 연결/분리 상태를 직관적으로 전달할 수 있습니다.
추가 리소스
Unity Technologies © 2022. Publication 2022.3
이 문서는 Unity의 게임 컨트롤러 지원을 보다 쉽게 이해하고 활용할 수 있는 안내서입니다. 실습 및 개발 시 이 가이드를 참고하여 보시기 바랍니다.