Version: Unity 6.0 (6000.0)
언어 : 한국어
tvOS용 개발
Unity UI에서 앱 내비게이션 설정

tvOS에서 지원하는 입력 기기

tvOS는 iOS를 기반으로 빌드하지만 tvOS 입력으로 작동하도록 콘텐츠를 조정하고 더 큰 화면에 표시하기 위해 콘텐츠를 조정하는 등 새로운 과제를 만듭니다.

다음의 두 가지 기본 입력이 tvOS에 제공됩니다.

  • Apple TV 리모트
  • MFi(Made For iOS) 컨트롤러

Apple TV 리모트

Apple TV 리모트(Siri 리모트)는 전통적인 메뉴 내비게이션 컨트롤러, 앱 컨트롤러, 자이로스코프 및 가속도 센서, 터치 제스처 기기로 사용되는 다목적 입력 기기입니다. Unity는 Apple TV 리모트 입력을 해당 Unity API로 라우팅하지만, 해당 입력에 대해 다른 처리 작업은 수행하지 않습니다. 애플리케이션이 Apple TV 리모트의 특정 입력 기능을 활용하려면 입력 체계를 조정해야 할 수 있습니다. 예를 들어 애플리케이션은 하나의 아날로그 축과 추가 동작 버튼을 사용하여 기존 애플리케이션 컨트롤러처럼 처리하거나, 가속 센서를 스티어링과 같은 상호 작용에 사용할 수 있습니다. 앱을 tvOS로 포팅할 때 다양한 체계를 실험할 수 있습니다.

Made for iOS(MFi)

Unity는 iOS 및 tvOS용 표준 컨트롤러 지원인 MFi(Made For iOS)를 제공합니다. MFi 컨트롤러는 기본적으로 사용 가능한 입력 매핑을 제공하며, Edit > Project Settings > Input Manager에서 커스텀 액션 매핑을 설정할 수 있습니다. 자세한 내용은 게임 컨트롤러 입력 처리게임 컨트롤러를 참조하십시오.

Apple TV 기기에 두 개의 무선 MFi 컨트롤러를 추가로 연결하여 효율적으로 콘솔로 전환할 수 있습니다. 애플리케이션은 iOS MFi 컨트롤러와 동일한 방식으로 컨트롤러를 사용할 수 있지만 Apple TV 리모트에서만 사용 가능한지 확인해야 합니다. tvOS 시스템은 추가 컨트롤러 수를 2개로 제한합니다.

다음은 특정 TV 리모트 기능에 하는 방법에 대한 기술 세부사항입니다.

기능 설명
터치 영역 Input.touches(Touch.typeIndirect로 설정되며 Unity GUI에 의해 무시됨)와 조이스틱 입력 API(Input.GetAxis(“Horizontal”) 등) 모두에 매핑됩니다.
터치 영역 클릭 A 버튼에 매핑된 다음 조이스틱 버튼 14에 매핑됩니다.
자이로스코프 Input.gyro에 매핑됩니다. Input.gyro.attitude는 중력 벡터에서 파생되므로 중력 벡터와 평행하게 축 주위를 회전하지 않습니다. 이는 Input.gyro.rotationRate에도 동일하게 적용됩니다.
가속도 Input.acceleration에 매핑됩니다.
참고: Input.acceleration은 자이로스코프 API에서 파생되며 불안정성이 있을 수 있습니다. tvOS SDK에는 전용 가속 센서 API가 없습니다.
일지정지/재생 버튼 X 버튼에 매핑된 다음 조이스틱 버튼 15에 매핑됩니다.
메뉴 버튼 길게 누르면 tvOS 작업 스위처가 호출됩니다. 이 동작은 오버라이드할 수 없습니다.
앱은 다음 두 가지 방법 중 하나로 짧은 탭을 처리할 수 있습니다.
a) tvOS 시스템 홈 화면으로 돌아갑니다(UnityEngine.tvOS.Remote.allowExitToHome이 true인 경우).
b) 앱이 탭에 반응하도록 합니다(UnityEngine.tvOS.Remote.allowExitToHome이 false일 때 일시 정지 버튼/조이스틱 버튼 0에 매핑됨). 기본 동작입니다.
앱은 현재 상태에 따라 a)b)를 전환해야 합니다.
- 사용자가 현재 상단 메뉴와 상호 작용 중인 경우 동작 a)를 활성화합니다.
- 사용자가 앱과 실시간으로 상호 작용하는 경우 동작 b)를 활성화하고, 사용자가 이 버튼을 누르면 인앱 일시 정지 메뉴를 호출합니다.
리모트 모서리로 스와이프 D패드(방향 패드) 위/아래/왼쪽/오른쪽 버튼 누름을 생성합니다.
매핑 목록은 게임 컨트롤러 입력 매핑을 참조하십시오.

다음과 같이 전용 API를 통해 Apple TV 리모트 작동 모드를 컨트롤할 수 있습니다.

참고: UnityEngine.tvOS.Remote.allowExitToHome이 false이면 Menu 버튼이 조이스틱 버튼 0에 매핑됩니다. 이는 조이스틱 버튼 0을 사용하여 Submit 가상 버튼을 매핑하기 때문에 기본 Input 창과 충돌합니다. 그러면 Menu 버튼이 UI 요소에 대한 행동을 트리거합니다. 이 문제를 수정하려면 Input 창의 Submit 가상 버튼 바인딩을 제거하거나 수정합니다(메뉴: Edit > Project Settings를 선택한 다음 Input 카테고리를 선택).

tvOS용 개발
Unity UI에서 앱 내비게이션 설정