Перейти к содержимому

VR Jester API

API распознавания жестов виртуальной реальности для Vivecraft и QuestCraft

FabricNeoForgeForgeQuilt
Загрузчики
FabricNeoForgeForgeQuilt
Скачиваний на Modrinth
19,1 тыс.
Подписчиков на Modrinth
27
версии
53
Обновлён
4 августа 20264 авг.
Опубликован
в 2023
Это библиотека — она нужна другим модам и сама ничего не добавляет в игру

Коротко о моде

Библиотека — нужна другим модам
Работает на Fabric, NeoForge, Forge и Quilt
Для Minecraft 1.20.1–1.20.2, 1.21.1 …
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.21.1-2.0.1-fabric от 4 августа 2026
Нужен Vivecraft, Fabric API и Architectury API
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.19.2–1.19.4, 1.20.1–1.20.2, 1.21.1 …
Описание переведено автоматическиПоказать оригинал (EN)

API распознавания жестов виртуальной реальности для Minecraft VR

Играете в Vivecraft или QuestCraft? Любите моды? Когда-нибудь хотели, чтобы моды были более совместимы с VR? Больше не ждите. Это решение как для разработчиков, так и для игроков!

Этот API позволяет разработчикам модов для Minecraft легко добавить поддержку своего мода для большей совместимости с VR. Создавайте любые пользовательские жесты, привязанные к любым клавишам, и запускайте события. Больше не нужно привязывать кнопки контроллера к клавишам клавиатуры. С этим API ваше тело — это контроллер.

Демо:

Установка:

  1. Установите необходимые моды-зависимости. Обратите внимание, что Questbind требуется только для использования QuestCraft.
  2. Скачайте мод VR Jester API и поместите его в папку mods.
  3. Запустите Minecraft. Необходимые файлы конфигурации создадутся при инициализации.

Использование:

  1. Находясь в Minecraft VR, привяжите одну из кнопок контроллера к "Gesture Listener Trigger". Рекомендую кнопку захвата. Для Vivecraft вы должны сделать это через меню привязок контроллера Steam VR. Для QuestCraft вы делаете это через QuestBind.
  2. Есть 2 способа создания жестов:

    • Используя команду /gesture
    • Изменяя config/gesture_store.json напрямую, где хранятся жесты. Пример хранилища жестов:
    "GESTURE 1": {
      "RIGHT_CONTROLLER|LEFT_CONTROLLER": [
        {
          "vrDevice": "RIGHT_CONTROLLER|LEFT_CONTROLLER",
          "movement": "forward",
          "elapsedTime": 0,
          "speed": 0.0,
          "direction": {
            "x": 0.0,
            "y": 0.0,
            "z": 0.0
          },
          "devicesInProximity": {}
        }
      ]
    },
    ...
  3. После создания жестов вы можете привязать их к клавишам в config/VRJesterAPI.cfg, создав объекты ключ-значение в поле "GESTURE_KEY_MAPPINGS". Названия привязок клавиш можно найти в .minecraft/options.txt. (Примечание: фактическая строка KeyMapping отдельной привязки клавиши в этом файле находится между key_ и двоеточием. Например: key_key.inventory:18) Поле "KEY_ACTION" определяет, вызывает ли распознанный жест одиночное нажатие клавиши или удержание клавиши. Удержание срабатывает, когда вы удерживаете жест на месте после его распознавания.
"GESTURE_KEY_MAPPINGS": {
   "GESTURE 1": {
      "KEY_MAPPING": "examplemod.key.ability_1",
      "KEY_ACTION": "click"
   },
   "GESTURE 2": {
      "KEY_MAPPING": "key.hotbar.2,key.sneak",
      "KEY_ACTION": "hold"
   },
   "GESTURE 3": {
      "KEY_MAPPING": "key.keyboard.j",
      "KEY_ACTION": "click"
   }
}

Скачать: ![modrinth] ![curseforge]

Информация:

  • Считайте каждый объект внутри квадратных скобок [ ] всего лишь частью жеста. Вы можете добавить несколько таких объектов GestureComponent. Этот API распознаёт жесты любой сложности! Просто знайте, что чем сложнее жест, тем труднее правильно его выполнить, чтобы он совпал с сохранённым жестом.
  • Различные значения для "movement": forward, back, left, right, up, down. Направление движения относительно направления вашего взгляда в момент нажатия Jester Trigger, который запускает слушатель жестов. Простой пример: удар в том же направлении, куда вы смотрите, будет распознан как "forward".
  • Различные значения для "vrDevice": RIGHT_CONTROLLER, LEFT_CONTROLLER, HEAD_MOUNTED_DISPLAY, и если вы хотите, чтобы жест распознавался на нескольких VR-устройствах, вы можете использовать 'логическое или' с помощью вертикальной черты |, например так: RIGHT_CONTROLLER|LEFT_CONTROLLER|HEAD_MOUNTED_DISPLAY
  • "elapsedTime" указывается в миллисекундах. Так, значение 2000 будет означать, что эта часть жеста длится 2 секунды. Это хорошо подойдёт для чего-то вроде замаха с накоплением.
  • Поле "speed" — это значение типа float, представляющее скорость этого GestureComponent. Приличный порог для распознавания скорости удара будет 1500.0-2000.0, и не стесняйтесь экспериментировать со значениями сколько угодно.
  • Поле "direction" принимает значения типа float x,y,z, которые создают нормализованный 3D-вектор. Пример использования: {0.0, 1.0, 0.0}, чтобы распознать, когда рука игрока направлена вверх. Есть определённый порог, так что это не должно быть точным.
  • И наконец, "devicesInProximity", который форматируется так:

    "devicesInProximity": {
      "LEFT_CONTROLLER": 20
    }

    Этот пример означает, что vrDevice данного GestureComponent должен находиться в близости от левого контроллера в течение 20 тиков.

  • Подпишитесь на шину событий, чтобы обрабатывать события, вызванные распознанным жестом (Forge), или зарегистрируйтесь в интерфейсе обратного вызова событий (Fabric).

Forge:

@SubscribeEvent
public void onGestureEvent(GestureEvent event) {
    // gesture handler code here -> event.getGestureName()
}

Fabric:

public static void init() {
    GestureEventCallback.EVENT.register((gestureEvent) -> {
        // gesture handler code here -> gestureEvent.getGestureName()
    });
}

В планах:

В будущем добавлю распознавание непрерывных жестов, больше настроек и оптимизации.

*Обновление 27.03.2025* — знаю, что давно не обновлял, но я полностью намерен вернуться к этому моду. Я работал над другими проектами. Извиняюсь за неудобства.

Частые вопросы

Как установить VR Jester API?

Установите Fabric под свою версию Minecraft, скачайте VR Jester API под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть VR Jester API?

У VR Jester API есть сборки для Minecraft 1.18.2, 1.19.2–1.19.4, 1.20.1–1.20.2, 1.21.1 ….

Нужен ли VR Jester API на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее