Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Поддержка устройств ввода в tvOS

При этом 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 для отображения виртуального кнопка. Это приводит к тому, что кнопка меню запускает действия над элементами пользовательского интерфейса. Чтобы устранить эту проблему, удалите или измените привязку виртуальной кнопки «Отправить» в окне Ввод (меню: Редактировать > Настройки проекта, затем выберите категорию Ввод).

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3