このマニュアルページは、 iOS から tvOS への移植を手助けすることを主眼においています。Apple TV プラットホーム(tvOS)は、 iOS プラットホームの設立時に構想され、ゲーム開発者に新しいパラダイムと挑戦をもたらしました。すでにモバイル用のゲームがあるなら、ワンクリックするだけで tvOS に配信できますが、Unityのインプット制御で正しく動作するようにゲームを改造したり、大きなテレビ画面でプレイされる事を考慮しなければいけなくなる事があります。
tvOS向けの開発には、以下のものが必要です。
otool -l
.Apple TV Remote (Siri Remote) は、古典的なメニューによる操作、ゲームコントローラー、ジャイロと加速度センサー、タッチジェスチャーデバイス等で使う事ができる、多目的の入力デバイスです。 TV Remote での入力は、 Unity で最小限の処理が行われ、大抵は Unity の API と連携します。
一般的に、どんなゲームでも Apple TV Remote の独特な入力機能を効果的に使うため、入力方法に多少の調整が必要になります。あるゲームでは、アナログスティックと複数のアクションボタンを持つ古典的なゲームコントローラーのように扱うのが一番効果的かもしれません。中には、加速度センサーをステアリングに使うのがよいゲームもあるでしょう。 tvOS にゲームを配信するときには、いくつかの方法を試してみた方がよいです。
特定の TV Remote の機能にアクセス方法の技術的な詳細を説明します。
Input.touches
(Touch.type
は Indirect
に設定され、 Unity GUI からは無視されます) と、 Input.GetAxis("Horizontal");
などのジョイスティック入力の API 両方にマップされます。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 のときに、アプリをタップに反応させます (“Pause” / joystick button 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 に設定され、デフォルト 入力 ウィンドウが Submit バーチャルボタン (joystick button 0 にマッピングされています) にバインドされている場合、Apple TV Remote の Menu ボタンも同じく joystick button 0 と認識されるため、Menu ボタンを押すと、UI エレメント上でアクションをトリガーします。この問題を回避するには、入力 ウィンドウで Submit バーチャルボタンバインディングを削除するか、変更する必要があります。
Unity エディターで Input Manager を開きます。最初の Submit 仮想入力 (virtual input) を見つけてそれを開き、Alt Positive Button を joystick button 14 に変更します。
シーン内で EventSystem ゲームオブジェクトを選択します。インスペクターで、EventSystem コンポーネントを見つけ、最初のフォーカスを受ける UI ゲームオブジェクトへの参照を First Selected プロパティーに設定します。Standalone Input Module コンポーネントの Force input module プロパティーを有効にする必要があるかもしれません。
すべてが正しく行われると、エディター実行中であれば UI をキーボードから操作できるようになり、デバイス実行中には TV Remote のスワイプとクリックで UI を操作できるようになります。
注意: TV Remote による操作は、 TV Simulator では機能しません。
ゲームセンターでは、ネイティブのリーダーボードの UI に提供するカスタムビジュアルリソースが必要です。ここでは、 Xcode にリソースを追加する方法を簡単に説明します。
tvOS has requirements on how much disk space your application can reserve. The main application installation bundle size can not exceed 4 GB. The limits for additional downloadable content are up to 2GB for in-use assets and up to 20GB of total downloadable content. Apple recommends On Demand Resources (ODR) for tvOS downloadable content, as it enables the best disk space management strategies for tvOS. Unity supports ODR via Asset Bundles. An ODR implementation guide can be found in our dedicated blogpost on the subject.