Как я могу поддерживать несколько типов контроллеров VR одновременно в A-Frame?

Я использую A-Frame и пытаюсь понять, как легко поддерживать сразу несколько типов контроллеров ( Oculus Touch, контроллеры HTC Vive и контроллеры Windows Mixed Reality), желательно с моделями контроллеров, отображаемыми в сцене, и с лазерами, которые позволяли бы пользователю нажимать на объекты.

Как мне это сделать?


person Connor Shea    schedule 18.01.2020    source источник


Ответы (1)


Я понял, как это сделать, и вот мое решение.

В вашем HTML вы можете использовать их для создания контроллеров (это должно быть внутри элемента a-scene):

<a-entity laser-controls="hand: left" raycaster="showLine: true; objects: .clickable;"></a-entity>
<a-entity laser-controls="hand: right" raycaster="showLine: true; objects: .clickable;"></a-entity>

Они также должны отображаться с реальными моделями контроллеров в сцене, и у каждого из них есть лазерный указатель.

Вот как это выглядит с контроллерами Oculus Touch (игнорируйте другие элементы в представлении):

Вид VR с обработанными контроллерами

По мере появления новых типов гарнитур, которые поддерживаются A-Frame (например, контроллеры Valve Index еще не поддерживаются), компонент управления лазером должен автоматически обновляться для их поддержки.

Дополнительную информацию о том, как использовать контроллеры в сцене A-Frame.

Я до сих пор не понял, как именно сделать возможным нажимать кнопки или объекты в окружающей среде с помощью лазера, мне нужно разобраться в этом дальше.

person Connor Shea    schedule 18.01.2020
comment
В качестве альтернативы, если вам нужны элементы управления типа лазерной указки, вы можете использовать компонент управления лазером - person Diego Marcos; 19.01.2020