Version: 2023.2
언어: 한국어
게임 컨트롤러 지원
게임 컨트롤러 입력 처리

게임 컨트롤러 감지

Unity는 프로젝트의 스크립트에서 Input.GetJoystickNames를 참조하는 경우에만 프로젝트에 게임 컨트롤러 프레임워크를 포함시킵니다.사용 가능한 경우 Unity iOS Runtime은 프레임워크를 동적으로 로드합니다.

사용 가능한 모든 컨트롤러의 리스트를 가져오려면 Input.GetJoystickNames를 호출합니다.언제든지 이 리스트를 다시 확인하여 컨트롤러가 부착 또는 분리되었는지 확인할 수 있습니다.

이 API를 호출하여 연결된 컨트롤러의 유형을 감지할 수 있습니다.이름은 다음 패턴을 따릅니다.[$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());
    }
}

추가 리소스:

게임 컨트롤러 지원
게임 컨트롤러 입력 처리