Unity 6.3
0 онлайн 42 гостей 3 в системе
Вход

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

В то время как tvOS строится на основе iOS, он создает новые проблемы, такие как адаптация контента для работы с tvOS вводами и для отображения на большом экране.

Существует два основных входа для tvOS:

  • Пульт дистанционного управления Apple TV
  • Для контроллеров iOS (MFi)

Apple TV Пульт дистанционного управления

Apple TV Remote (Siri Remote) является многоцелевым устройством ввода, которое работает как традиционный контроллер навигации по меню, контроллер приложения, гироскоп, датчик ускорения и как сенсорное устройство жестов. Unity направляет ввод Apple TV Remote на соответствующий Unity APIs, но не выполняет никакой другой обработки этого ввода. Вашему приложению могут потребоваться некоторые настройки схемы ввода, чтобы использовать специфические функции ввода Apple TV Remote. Например, ваше приложение может рассматривать его как традиционный контроллер приложения, с одной аналоговой осью и дополнительной кнопкой действия, или ваше приложение может использовать акселерометр для взаимодействия, такого как рулевое управление. Вы можете экспериментировать с различными схемами при переносе приложения на tvOS.

Сделано для iOS (MFi)

Unity предоставляет Сделано для iOS (MFi), который является стандартизированной поддержкой контроллера для iOS и tvOS. MFi контроллеры предлагают из коробки сопоставления входа, и вы можете настроить изготовленные на заказ сопоставления действия от Изменить > Project Настройки > Менеджер ввода. Для получения дополнительной информации см. Ручка Game Вход контроллера и Game Контролеры.

Два дополнительных беспроводных MFi контроллера могут быть подключены к устройству Apple TV, что превращает его в консоль. Ваше приложение может использовать контроллеры так же, как и контроллеры iOS MFi, но вы должны обеспечить его использование только с Apple TV Remote. Система tvOS ограничивает количество дополнительных контроллеров двумя.

Вот некоторые технические детали доступа к конкретным функциям TV Remote:

Особенности Описание
Сенсорная зона Сопоставляет как 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) Вернуться на главный экран системы tvOS, если UnityEngine.tvOS.Remote.allowExitToHome это правда.
b) Пусть ваше приложение отвечает на краны (которая отображается на кнопку Пауза /джойстик кнопка 0 когда UnityEngine.tvOS.Remote.allowExitToHome false. Это поведение по умолчанию.
Ваше приложение должно переключаться между a) и b) на основе его текущего состояния:
- Если пользователь в настоящее время взаимодействует с верхним меню, включить поведение a).
- Если пользователь взаимодействует с приложением в реальном времени, включите поведение b) и вызвать в приложении меню паузы, когда они нажмут эту кнопку.
Проведите пальцем по краю пульта Генерирует направленные нажатия кнопок (D-pad) вверх/вниз/влево/вправо.
Для списка отображений см. Game Отображение входа контроллера.

Вы можете управлять Apple TV Remote режимов работы через выделенный API следующим образом:

Примечание: Когда UnityEngine.tvOS.Remote.allowExitToHome false, кнопка Меню сопоставляется с джойстик кнопка 0. Это вызывает конфликт с стандартным Вводимые ресурсы окно, потому что оно также использует джойстик кнопка 0 для привязки виртуальной кнопки Submit. Из-за этого кнопка Menu запускает действия у элементов интерфейса. Чтобы это исправить, удалите или измените привязки виртуальной кнопки Submit в Вводимые ресурсы окно (меню: Изменить > Project Настройки, затем выберите Вводимые ресурсы (категория).