При этом tvOS построена на базе iOSмобильной операционной системы Apple. Подробнее
См. Словарь, это действительно создает новые проблемы, такие как адаптация контента для работы с tvOS и для отображения на большом экране.
Есть два основных входа для tvOS:
- Пульт Apple TV Remote (обязательный ввод)
- Контроллеры Made For iOS (MFi) (необязательно)
Пульт Apple TV
Пульт Apple TV Remote (Siri Remote) — это многоцелевое устройство ввода, которое работает как традиционный контроллер навигации по меню, контроллер приложений, гироскоп, датчик ускорения и устройство для сенсорных жестов. Unity направляет входные данные Apple TV Remote в соответствующие API Unity, но не выполняет никакой другой обработки этих входных данных. Возможно, вашему приложению потребуется внести некоторые коррективы в схему ввода, чтобы использовать специальные функции ввода Apple TV Remote. Например, ваше приложение может рассматривать его как традиционный контроллер приложения с одной аналоговой осью и дополнительной кнопкой действия, или ваше приложение может использовать акселерометр для таких взаимодействий, как рулевое управление. Вы можете экспериментировать с различными схемами при переносе приложения на tvOS.
Сделано для iOS (MFi)
Unity предлагает Made For iOS (MFi) — стандартизированную поддержку контроллеров для iOS и tvOS. Контроллеры MFi предлагают готовые сопоставления ввода, и вы можете настроить сопоставления пользовательских действий в редакторе Unity (меню: Правка >** Настройки проекта > Диспетчер ввода** ). Дополнительную информацию см. в разделах Поддержка игровых контроллеров iOS и Игровые контроллерыУстройство для управления объектами и персонажами в игре.
См. в Словарь.
Еще два беспроводных контроллера MFi можно подключить к устройству Apple TV, что фактически превращает его в консоль. Ваше приложение может использовать контроллеры так же, как контроллеры iOS MFi, но вы должны обеспечить его удобство использования только с пультом Apple TV Remote. Система tvOS ограничивает количество дополнительных контроллеров двумя.
Вот некоторые технические подробности о доступе к определенным функциям TV Remote:
Кнопка или функция Apple TV Remote | Примечания |
---|---|
Touch area | Сопоставляется с обоими Input.touches (Touch.type установлен на непрямой и игнорируется графическим интерфейсом Unity), а также API ввода с джойстика (например, Input.GetAxis("Горизонтальный")). |
Touch area click | Сопоставляется с кнопкой A, которая затем сопоставляется с кнопкой джойстика 14 |
Gyroscope | Сопоставляется с Input.gyro. Input.gyro.attitude выводится из вектора гравитации и поэтому не вращается вокруг оси, параллельной вектору гравитации. То же самое относится и к Input.gyro.rotationRate. |
Acceleration | Сопоставляется с Input.acceleration. Примечание. Input.acceleration является производным от API гироскопа и может иметь некоторые нестабильности. SDK tvOS не имеет специального API-интерфейса акселерометра. |
Pause/Play button | Сопоставляется с кнопкой X, которая затем сопоставляется с кнопкой 15 джойстика. |
Menu button | Длительное нажатие вызывает переключатель задач tvOS. Вы не можете переопределить это поведение. Ваше приложение может обрабатывать короткие касания одним из двух способов: a) Возврат на главный экран системы tvOS, если UnityEngine.tvOS.Remote.allowExitToHome равно true.< бр> b) Разрешите вашему приложению реагировать на касания (которые соответствуют кнопке «Пауза»/кнопке джойстика 0, когда UnityEngine.tvOS.Remote.allowExitToHome имеет значение false. Это поведение по умолчанию. Ваше приложение должно переключаться между a) и b) в зависимости от его текущего состояния: – Если пользователь в данный момент взаимодействует с верхним меню, включите поведение a). – Если они взаимодействуют с приложением в режиме реального времени, включите поведение b) и вызовите меню паузы в приложении, когда они нажимают эту кнопку. |
Swipe to the edge of the remote | Генерирует нажатия кнопок вверх/вниз/влево/вправо на навигационной панели (крестовине). Список сопоставлений см. в разделе Поддержка игровых контроллеров iOS. |
Вы можете управлять режимами работы Apple TV Remote через специальный API следующим образом:
* UnityEngine.tvOS.Remote.allowExitToHome
* UnityEngine.tvOS.Remote.allowRemoteRotation
* UnityEngine.tvOS.Remote.reportAbsoluteDpadValues
* UnityEngine.tvOS.Remote.touchesEnabled
Примечание. Когда UnityEngine.tvOS.Remote.allowExitToHome имеет значение false, кнопка "Меню" отображается на кнопка джойстика 0. Это вызывает конфликт с окном Ввод по умолчанию, так как оно также использует кнопку джойстика 0 для отображения виртуального кнопка. Это приводит к тому, что кнопка меню запускает действия над элементами пользовательского интерфейса. Чтобы устранить эту проблему, удалите или измените привязку виртуальной кнопки «Отправить» в окне Ввод (меню: Редактировать > Настройки проекта, затем выберите категорию Ввод).