Apple TV 플랫폼은 iOS 플랫폼을 기반으로 하며 동시에 게임 개발자를 위한 새로운 패러다임과 도전과제를 제시합니다. 이미 기존에 존재하는 모바일 게임을 tvOS로 배포하는 작업은 단순히 클릭만 하면 가능하지만, 때로는 대형 TV 화면에서 플레이하거나 새 입력 컨트롤로 조작할 때 원활히 동작하기 위해서는 게임 콘텐츠를 tvOS에 맞게 다듬어야 합니다. 이 매뉴얼 페이지는 일차적으로 iOS에서 tvOS로의 전환에 대해 설명하는 것을 목표로 합니다.
tvOS용 개발을 위해서는 다음이 필요합니다.
otool -l
을 통해 실행파일의 LLVM 섹션을 분석하여 추정할 수 있습니다.Apple TV 리모트(Siri 리모트)는 다목적 입력 툴로서 전통적인 메뉴 내비게이션 컨트롤러, 게임 컨트롤러, 자이로 및 가속도 센서, 터치 제스처 장치로 사용됩니다. TV 리모트 입력은 Unity에서 최소한으로 처리되고 대부분은 해당 Unity API로 전송됩니다.
보통 각 게임은 고유의 Apple TV 리모트 입력 기능을 최대한 활용하기 위해 입력 체계를 약간 수정합니다. 일부 게임은 Apple TV 리모트를 전통적인 게임 컨트롤러에 하나의 아날로그 축 및 추가 액션 버튼이 있는 것처럼 다루어 활용하며 가속 센서를 사용하여 방향 조정을 하는 게임도 있습니다. 제작한 게임을 tvOS로 포팅할 때 다양한 입력 체계를 실험해 볼 것을 권장합니다.
다음은 특정 TV 리모트 기능에 하는 방법에 대한 기술 세부사항입니다.
Input.touches
(Touch.type
은 Indirect
로 설정되며 Unity GUI에 의해 무시됨)와 일반 조이스틱 입력 API(Input.GetAxis("Horizontal");
등) 모두에 매핑됩니다.Input.acceleration
및 Input.gyro
에 매핑됩니다. Input.acceleration
은 내부적으로 자이로스코프 API에서 파생되며 일부 불안정한 부분이 있을 수 있습니다. 유감스럽게도 tvOS SDK에는 전용 가속 센서 API가 없습니다. Input.gyro.attitude
는 중력 벡터에서 파생되며 따라서 중력 벡터에 평행한 축 주변 회전은 누락되어 있습니다. Input.gyro.rotationRate
도 마찬가지입니다.UnityEngine.Apple.TV.Remote.allowExitToHome
가 true인 경우)UnityEngine.Apple.TV.Remote.allowExitToHome
이 false이면 애플리케이션이 이 탭에 반응하게 합니다(“일시정지” 버튼/조이스틱 버튼 0에 매핑됩니다). 이것이 디폴트 동작입니다.UnityEngine.Apple.TV.Remote.allowExitToHome
UnityEngine.Apple.TV.Remote.allowRemoteRotation
UnityEngine.Apple.TV.Remote.reportAbsoluteDpadValues
UnityEngine.Apple.TV.Remote.touchesEnabled
경고: UnityEngine.Apple.TV.Remote.allowExitToHome
가 false이라면 Apple TV 리모트의 “메뉴” 버튼이 조이스틱 버튼 0으로 보고되고 디폴트 Input Manager의 “전송” 가상 버튼이 같은 조이스틱 버튼 0으로 할당되기 때문에 “메뉴” 버튼을 눌렀을 때 UI 요소의 동작을 트리거하게 됩니다. 이 문제를 우회하려면 Input Manager에서 “Submit” 버튼을 제거하거나 수정해야 합니다.
그러면 에디터 또는 Apple TV 리모트로 실행 중에 키보드를 통해, 또는 기기에서 실행 중에 스와이프와 클릭을 통해 UI를 조작할 수 있습니다.
참고: Apple TV 리모트 내비게이션은 TV 시뮬레이터에서 실행 중에는 작동하지 않습니다.
Game Center는 네이티브 리더보드UI 용 커스텀 비주얼 리소스를 제공하도록 요구합니다. 다음은 Xcode에서 설정하는 방법에 대한 간단한 설명입니다.
tvOS는 애플리케이션이 확보할 수 있는 디스크 공간 양에 엄격한 요구 사항을 두고 있습니다. 메인 애플리케이션 설치 번들 크기는 200MB를 초과해서는 안 됩니다. 그러나 추가 다운로드 가능 콘텐츠에 대한 제한은 훨씬 큽니다(사용 중 에셋에 대해 최대 2GB, 그리고 총 다운로드 가능 콘텐츠는 최대 20GB). Apple은 tvOS 다운로드 가능 콘텐츠에 대해 온 디맨드 리소스(On Demand Resources, ODR) 사용을 권장하며, 이렇게 하면 tvOS에서 최선의 디스크 공간 관리 전략을 활용할 수 있습니다. Unity는 에셋 번들을 통해 ODR을 지원합니다. ODR 구현 가이드는 전용 블로그포스트 페이지에서 확인하실 수 있습니다.