Представляем инструменты XR

Godot предоставляет вам всю необходимую базовую поддержку для запуска XR-проекта. Однако на этой основе необходимо реализовать игровую механику, специфичную для XR. Хотя Godot делает это относительно простым, задача всё же может быть непростой.

По этой причине Godot разработал набор инструментов под названием Godot XR Tools, который реализует многие базовые механики, встречающиеся в играх XR, от передвижения до взаимодействия с объектами и пользовательского интерфейса.

Этот инструментарий предназначен для работы как со средами выполнения OpenXR, так и с WebXR. Мы будем использовать его в качестве основы для нашей документации. Он поможет разработчикам быстро приступить к работе, но и для более специфических случаев создание собственной логики также может быть полезным. В этом случае инструменты XR могут стать источником вдохновения.

Установка XR-инструментов

Продолжая наш проект, начатый в Настройка XR, мы хотим добавить библиотеку Godot XR Tools. Её можно скачать со страницы релизов Godot XR Tools. Найдите последнюю версию Godot 4 и в разделе Assets скачайте файл godot-xr-tools.zip. Он также находится в библиотеке ресурсов под названием "Godot XR Tools for Godot 4".

Если вы используете zip-архив, после скачивания распакуйте его. Вы увидите, что файлы находятся в подпапке godot-xr-tools. Внутри этой папки вы найдёте папку addons. Именно её вам нужно полностью скопировать в папку вашего проекта Godot. Ваш проект должен выглядеть примерно так:

../../_images/godot_xr_tools_root_folder.webp

Теперь откройте свой проект в Godot, если вы ещё этого не сделали, и подождите около минуты, пока он импортирует все ресурсы плагина. Если программа попросит указать путь к Blender, просто отключите импорт из Blender и перезапустите редактор.

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

Затем откройте меню Project и выберите Project Settings... Затем перейдите на вкладку Plugins и включите плагин.

../../_images/godot_xr_tools_enable.webp

После этого вам нужно закрыть и снова открыть свой проект, чтобы все было правильно включено.

Базовые руки

Чтобы получить представление о том, что происходит, мы добавим несколько стандартных компонентов, которые украсят нашу сцену, начнем с рук нашего игрока.

OpenXR поддерживает полное отслеживание рук, однако в настоящее время существуют значительные различия в возможностях между различными XR Runtimes.

Godot XR Tools предлагает надёжную альтернативу: набор готовых сцен для рук, реагирующих на нажатия на триггер и рукоятку контроллера. Эти руки доступны в низкополигональной и высокополигональной версиях, в нескольких конфигурациях, с несколькими файлами анимации для управления положением пальцев и различными текстурами.

В дереве сцен выберите узел левой руки XRController3D. Теперь нажмите кнопку Создать дочернюю сцену, чтобы добавить дочернюю сцену. Щелкните переключатель addons, чтобы выполнить поиск по папке addons. Затем найдите left_hand_low.tscn и выберите его.

Как видно из пути к этой сцене, низкополигональные модели находятся в подпапке lowpoly, а высокополигональные — в подпапке highpoly. Если вы планируете выпустить игру на мобильных устройствах, используйте низкополигональные версии.

Мы выбрали по умолчанию просто руку. Другие варианты:

  • tac_glove — на руке надета перчатка с открытыми пальцами

  • full_glove — на руке надета перчатка, которая закрывает всю руку

Наконец, каждая рука представлена в physics версии. Это демонстрирует все кости. Мы рассмотрим, как это можно использовать, в другом уроке.

Повторяем то же самое для правой руки.

../../_images/xr_tools_basic_hands.webp

Дополнительная информация

На следующих нескольких страницах мы продолжим добавлять функции в наш обучающий проект с использованием инструментов Godot XR. Более подробную информацию об этом наборе инструментов можно найти на страницах справки по инструментам <https://godotvr.github.io/godot-xr-tools/>`_.