Поддержка геймпада и джойстика
Unity WebGLJavaScript API, который отображает 2D- и 3D-графику в веб-браузере. Вариант сборки Unity WebGL позволяет Unity публиковать контент в виде программ JavaScript, использующих технологии HTML5 и API рендеринга WebGL для запуска контента Unity в веб-браузере. Подробнее
См. в Словарь поддерживает Input и InputSystem для геймпадов и джойстиков для браузеров, поддерживать HTML5 Gamepad API.
Некоторые браузеры разрешают доступ к устройствам ввода только после того, как конечный пользователь взаимодействует с устройством, пока приложение находится в фокусе. Это мера безопасности, которая не позволяет конечному пользователю использовать подключенные устройства для снятия отпечатков пальцев в браузере. По этой причине ваше приложение должно инструктировать пользователя нажать кнопку на своем геймпаде/джойстике, прежде чем вы вызовете Input.GetJoystickNames() для проверки подключенного устройства.
Сенсорная поддержка
Unity WebGL официально не поддерживает мобильные устройства (см. Совместимость браузеров WebGL), но реализует Input.touches и другие связанные API в браузерах и на устройствах с поддержкой сенсорного ввода.
Ввод с клавиатуры и обработка фокуса
По умолчанию Unity WebGL обрабатывает весь ввод с клавиатуры, который получает веб-страница, независимо от того, находится ли в фокусе холст WebGL или нет. Это сделано для того, чтобы конечный пользователь мог начать использовать приложение с клавиатурой, не нажимая на холст WebGL.
Важно. Это может вызвать проблемы, если на странице есть другие элементы HTML, которые должны получать ввод с клавиатуры, например текстовые поля. Unity потребляет события ввода до того, как остальная часть страницы сможет их получить. Чтобы HTML-элементы получали ввод с клавиатуры, задайте для параметра WebGLInput.captureAllKeyboardInput значение false
. Когда вы делаете это, приложение получает ввод только в том случае, если холст WebGL имеет фокус.
Поддержка мобильных датчиков
Unity WebGL официально не поддерживает мобильные устройства (см. Совместимость WebGL с браузерами), но для браузеров и мобильных устройств с поддержкой сенсорного ввода Unity WebGL поддерживает следующие функции: датчики:
- Акселерометр с Input.acceleration
- LinearAcceleration с Gyroscope.userAcceleration
- Гироскоп с Gyroscope.rotationRate
- Гравитация с помощью Gyroscope.gravity
- Отношение с помощью Gyroscope.attitude
- Пакет Input System также поддерживает эти датчики.
Важно. Браузеры разрешают сенсорный ввод только в безопасном контексте. Это означает, что вы должны обслуживать страницу через HTTPS. Единственным исключением является http://localhost
, который вы можете использовать во время разработки.