tvOS는 iOS를 기반으로 빌드하지만 tvOS 입력으로 작동하도록 콘텐츠를 조정하고 더 큰 화면에 표시하기 위해 콘텐츠를 조정하는 등 새로운 과제를 만듭니다.
다음의 두 가지 기본 입력이 tvOS에 제공됩니다.
Apple TV 리모트(Siri 리모트)는 다목적 입력 기기로서 전통적인 메뉴 내비게이션 컨트롤러, 앱 컨트롤러, 자이로스코프, 가속도 센서, 터치 제스처 기기로 사용됩니다. Unity는 Apple TV 리모트 입력을 해당 Unity API로 라우팅하지만 해당 입력에 대해 다른 처리는 수행하지 않습니다. Apple TV 리모트의 특정 입력 기능을 활용하려면 애플리케이션에서 입력 체계를 약간 수정해야 할 수도 있습니다. 예를 들어 애플리케이션은 하나의 아날로그 축과 추가 행동 버튼이 있는 기존 애플리케이션 컨트롤러처럼 다루거나 가속 센서를 사용하여 방향을 조정하는 애플리케이션도 있습니다. 앱을 tvOS에 이식할 때 다양한 입력 방식을 실험해볼 수 있습니다.
Unity는 iOS와 tvOS에 대한 표준화된 컨트롤러 지원인 Made For iOS(MFi)를 지원합니다. MFi 컨트롤러는 즉시 사용 가능한 입력 매핑을 제공하며 Unity 에디터(메뉴: Edit > Project Settings > Input Manager)에서 커스텀 행동 매핑을 설정할 수 있습니다. 자세한 내용은 iOS 게임 컨트롤러 지원 및 게임 컨트롤러를 참조하십시오.
Apple TV 기기에는 무선 MFi 컨트롤러를 두 개 더 연결할 수 있어서 효과적으로 콘솔로 전환할 수 있습니다. 애플리케이션은 iOS MFi 컨트롤러와 동일한 방식으로 컨트롤러를 사용할 수 있으나 Apple TV 리모트만으로도 유용해야 합니다. 현재 tvOS 시스템에 추가할 수 있는 컨트롤러의 개수는 두 개로 제한합니다.
다음은 특정 TV 리모트 기능에 하는 방법에 대한 기술 세부사항입니다.
Apple TV 리모트 버튼 또는 기능 | 참고: |
---|---|
터치 영역 | Input.touches(Touch.type은 Indirect로 설정되며 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) UnityEngine.tvOS.Remote.allowExitToHome이 true인 경우 tvOS 시스템 홈 화면으로 돌아갑니다. b) UnityEngine.tvOS.Remote.allowExitToHome이 false인 경우 앱이 이 탭에 반응하게 합니다(일시정지 버튼/조이스틱 버튼 0에 매핑됩니다). 이 방식이 기본값입니다. 앱은 현재 상태에 따라 a)와 b) 사이에서 전환해야 합니다. 사용자가 상단 메뉴를 사용 중이라면 a) 동작을 활성화합니다. 앱을 실시간으로 조작 중이라면 b) 동작을 활성화하고 이 버튼을 눌렀을 때 인앱 일시 정지 메뉴를 호출해야 합니다. |
리모트 모서리로 스와이프 | 방향 패드(D 패드) 상/하/좌/우 버튼 입력을 발생시킵니다. 매핑 리스트는 iOS 게임 컨트롤러 지원을 참조하십시오. |
다음과 같이 전용 API를 통해 Apple TV 리모트 작동 모드를 컨트롤할 수 있습니다. * UnityEngine.tvOS.Remote.allowExitToHome * UnityEngine.tvOS.Remote.allowRemoteRotation * UnityEngine.tvOS.Remote.reportAbsoluteDpadValues * UnityEngine.tvOS.Remote.touchesEnabled
참고: UnityEngine.tvOS.Remote.allowExitToHome이 false이면 메뉴 버튼이 조이스틱 버튼 0에 매핑됩니다. 조이스틱 버튼 0을 사용하여 Submit 가상 버튼을 매핑하기 때문에 기본 Input 창과 충돌을 일으킵니다. 그 결과 메뉴 버튼이 UI 요소 동작을 트리거하게 됩니다. 이 문제를 해결하려면 Input 창(메뉴: Edit > Project Settings, Input 카테고리 선택)에서 Submit 가상 버튼을 제거하거나 수정해야 합니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.