---
id: spatial-interfaces
status: active
supersededBy: []
lang: ru
title: Пространственные и альтернативные интерфейсы
description: >-
  Пространственный и специальный ввод требует калибровки, ясного подтверждения
  действия и способа продолжить при потере сигнала.
intro: >-
  Пространственный и специальный ввод требует калибровки, ясного подтверждения
  действия и способа продолжить при потере сигнала. Каждый обзор выделяет
  действие игрока, изменения состояния и альтернативные правила. Примеры
  условные: они показывают проектное решение, а не приписывают его конкретной
  игре. Проверка прототипа задаёт наблюдаемый вопрос для следующей итерации.
  Подробные уже существующие каталоги доступны по отдельным ссылкам в карте
  механик.
updatedAt: '2026-10-21'
sources:
  - title: 'Khronos: OpenXR'
    url: 'https://www.khronos.org/openxr/'
    description: >-
      Первичный стандарт интерфейсов XR. Поддержка отслеживания рук и отдельных
      расширений определяется средой; стандарт не гарантирует произвольный
      биосигнал или NFC.
  - title: 'MDN: WebXR Device API'
    url: 'https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API'
    description: >-
      Документация веб-интерфейса XR и проверки совместимых устройств;
      доступность браузеров и возможностей ограничена.
  - title: 'Android Developers: Sensors overview'
    url: >-
      https://developer.android.com/develop/sensors-and-location/sensors/sensors_overview
    description: >-
      Контекст типов датчиков, включая пульсовой сигнал при наличии подходящего
      оборудования. Это не обещание биосигнала в браузере.
  - title: 'W3C: Web MIDI API'
    url: 'https://www.w3.org/TR/webmidi/'
    description: >-
      Первичный проект стандарта событий MIDI, входов и выходов. Фактический
      доступ и формат контроллера проверяются отдельно.
  - title: 'MDN: Gamepad API'
    url: 'https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API'
    description: >-
      Контекст осей и кнопок устройства; не гарантия поддержки любого руля,
      педалей или силовой отдачи.
  - title: 'OpenCV: Geometric transformations'
    url: >-
      https://docs.opencv.org/4.x/da/d6e/tutorial_py_geometric_transformations.html
    description: >-
      Первичная документация преобразования координат изображения, включая
      перспективное преобразование; часть контекста калибровки поверхности.
  - title: 'Android Developers: NFC basics'
    url: 'https://developer.android.com/develop/connectivity/nfc/nfc'
    description: >-
      Первичная документация чтения NFC-меток Android. Не утверждение
      доступности NFC в каждом телефоне или веб-приложении.
  - title: Inform 7
    url: 'https://github.com/ganelson/inform'
    description: >-
      Первичный открытый проект языка интерактивной прозы и текстовых действий;
      контекст ограниченного словаря команд.
counts:
  families: 8
  branches: 8
  variants: 32
url: 'https://gamemechanics.pro/ru/mechanics/spatial-interfaces/'
markdownUrl: 'https://gamemechanics.pro/content/mechanics/ru/spatial-interfaces.md'
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
provenance: >-
  Original bilingual editorial overviews authored for gamemechanics.pro on
  2026-10-20 and reviewed on 2026-10-21. Scenarios are hypothetical design
  examples; prototype checks describe work to perform, not completed playtests.
  Primary sources support the stated techniques and implementation context, not
  every proposed variant.
---
# Пространственные и альтернативные интерфейсы

Пространственный и специальный ввод требует калибровки, ясного подтверждения действия и способа продолжить при потере сигнала. Каждый обзор выделяет действие игрока, изменения состояния и альтернативные правила. Примеры условные: они показывают проектное решение, а не приписывают его конкретной игре. Проверка прототипа задаёт наблюдаемый вопрос для следующей итерации. Подробные уже существующие каталоги доступны по отдельным ссылкам в карте механик.

## Механики и варианты

<a id="mechanics"></a>

### 1. VR: захват, жесты и манипуляции руками

<a id="t299"></a>
id: t299
canonicalId: spatial-interfaces--t299
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t299

Пространственный захват связывает положение руки с виртуальным объектом, задавая начало контакта, удержание и отпускание.

#### Варианты механики

<a id="t299-variants"></a>
- Прямой захват требует близкого контакта. <a id="t299-v1"></a>
- Дальний луч выбирает удалённый объект. <a id="t299-v2"></a>
- Двуручное действие задаёт ориентацию по двум точкам. <a id="t299-v3"></a>
- Отпускание передаёт оценённую скорость броска. <a id="t299-v4"></a>

Пример проектирования: Игрок держит корпус одной рукой, а другой поворачивает рукоять, ограниченную осью шарнира.

Проверка прототипа: Проверьте потерю отслеживания руки и альтернативу захвата контроллером; объект не должен внезапно улетать при восстановлении сигнала.

- [Khronos: OpenXR](https://www.khronos.org/openxr/)
- [MDN: WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API)

### 2. VR: перемещение, тело и пространство комнаты

<a id="t300"></a>
id: t300
canonicalId: spatial-interfaces--t300
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t300

Перемещение в VR связывает физическую позу с виртуальным маршрутом, сохраняя понятные границы пространства и способов поворота.

#### Варианты механики

<a id="t300-variants"></a>
- Телепорт выбирает проверенную точку назначения. <a id="t300-v1"></a>
- Непрерывный ход задаёт скорость отдельной осью. <a id="t300-v2"></a>
- Поворот шагом меняет ориентацию дискретно. <a id="t300-v3"></a>
- Комнатный масштаб использует доступный физический участок. <a id="t300-v4"></a>

Пример проектирования: Игрок осматривает верстак физическим шагом, а между комнатами перемещается выбранным способом телепортации.

Проверка прототипа: Проверьте сидячий режим, повторный центр и изменение границы отслеживания, не делая физический шаг обязательным для прохождения.

- [Khronos: OpenXR](https://www.khronos.org/openxr/)
- [MDN: WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API)

### 3. Дыхание, пульс и биосигналы

<a id="t304"></a>
id: t304
canonicalId: spatial-interfaces--t304
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t304

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

#### Варианты механики

<a id="t304-variants"></a>
- Ритм дыхания управляет условным расширением объекта. <a id="t304-v1"></a>
- Пульсовой ввод использует только доступный датчик. <a id="t304-v2"></a>
- Сглаживание уменьшает случайные скачки измерения. <a id="t304-v3"></a>
- Ручная замена сохраняет задачу без биосигнала. <a id="t304-v4"></a>

Пример проектирования: Виртуальный парус раскрывается по спокойному дыхательному ритму, который можно заменить удержанием кнопки.

Проверка прототипа: Проверьте согласие, отсутствие сигнала и персональную калибровку; игровой индикатор не должен выдавать медицинский вывод.

- [Android Developers: Sensors overview](https://developer.android.com/develop/sensors-and-location/sensors/sensors_overview)

### 4. Музыкальные инструменты и специализированные контроллеры

<a id="t305"></a>
id: t305
canonicalId: spatial-interfaces--t305
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t305

Специализированный контроллер переводит привычный жест исполнения в игровое действие через явно заданное соответствие входных событий.

#### Варианты механики

<a id="t305-variants"></a>
- Нота выбирает действие по таблице соответствия. <a id="t305-v1"></a>
- Сила события дозирует параметр при поддержке канала. <a id="t305-v2"></a>
- Педаль меняет режим или удерживает эффект. <a id="t305-v3"></a>
- Калибровка согласует задержку с музыкой. <a id="t305-v4"></a>

Пример проектирования: Клавиши музыкального контроллера открывают ворота по последовательности, а педаль удерживает уже открытый проход.

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

- [W3C: Web MIDI API](https://www.w3.org/TR/webmidi/)

### 5. Рули, педали, джойстики и кабины

<a id="t306"></a>
id: t306
canonicalId: spatial-interfaces--t306
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t306

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

#### Варианты механики

<a id="t306-variants"></a>
- Руль задаёт угол в поддерживаемом диапазоне. <a id="t306-v1"></a>
- Педали дают раздельное или совмещённое значение. <a id="t306-v2"></a>
- Рычаг удерживает абсолютное положение параметра. <a id="t306-v3"></a>
- Профиль связывает функции с конкретным устройством. <a id="t306-v4"></a>

Пример проектирования: Игровой грузовик использует руль и две педали, но сохраняет управление кнопками для отсутствующей третьей оси.

Проверка прототипа: Проверьте калибровку крайних положений, объединённые оси и подключение нескольких устройств; силовая отдача требует отдельной поддержки.

- [MDN: Gamepad API](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API)

### 6. Свет, проекции, поверхности и интерактивные инсталляции

<a id="t308"></a>
id: t308
canonicalId: spatial-interfaces--t308
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t308

Инсталляция связывает положение участника и физических поверхностей с проецируемым ответом, требуя устойчивого пространственного соответствия.

#### Варианты механики

<a id="t308-variants"></a>
- Калибровка сопоставляет координаты камеры и проекции. <a id="t308-v1"></a>
- Касание выбирает область на реальной поверхности. <a id="t308-v2"></a>
- Тень становится управляемым игровым объектом. <a id="t308-v3"></a>
- Несколько участников делят общую область действия. <a id="t308-v4"></a>

Пример проектирования: На стол проецируется русло, а перемещаемые физические блоки меняют путь виртуальной воды.

Проверка прототипа: Проверьте смещение проектора, перекрытие камеры и изменение освещения; предусмотрите явный режим повторной калибровки.

- [OpenCV: Geometric transformations](https://docs.opencv.org/4.x/da/d6e/tutorial_py_geometric_transformations.html)

### 7. Физические предметы, метки, NFC и QR

<a id="t307"></a>
id: t307
canonicalId: spatial-interfaces--t307
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t307

Физический носитель сообщает идентификатор или положение, а игра связывает распознанное значение с конкретным объектом и допустимым действием.

#### Варианты механики

<a id="t307-variants"></a>
- QR выбирает запись по прочитанному идентификатору. <a id="t307-v1"></a>
- NFC требует поддерживаемого считывателя и доступного канала. <a id="t307-v2"></a>
- Геометрическая метка задаёт наблюдаемое положение. <a id="t307-v3"></a>
- Физическая фигурка может кодировать ограниченный набор свойств. <a id="t307-v4"></a>

Пример проектирования: Карточка с QR добавляет предмет в локальную коллекцию, а повторное чтение открывает его уже существующую запись.

Проверка прототипа: Проверьте неизвестную метку, повторное чтение и отсутствие NFC в целевой среде, сохранив явную альтернативу выбора.

- [Android Developers: NFC basics](https://developer.android.com/develop/connectivity/nfc/nfc)

### 8. Текстовый ввод, команды и разговорный интерфейс

<a id="t309"></a>
id: t309
canonicalId: spatial-interfaces--t309
url: https://gamemechanics.pro/ru/mechanics/spatial-interfaces/#t309

Командный интерфейс переводит текст или речь в ограниченное действие, показывая распознанное намерение и результат исполнения.

#### Варианты механики

<a id="t309-variants"></a>
- Грамматика задаёт допустимые глаголы и объекты. <a id="t309-v1"></a>
- Уточнение разрешает неоднозначное имя цели. <a id="t309-v2"></a>
- Подтверждение отделяет распознавание от важного действия. <a id="t309-v3"></a>
- История позволяет повторить или исправить команду. <a id="t309-v4"></a>

Пример проектирования: Команда «открыть шлюз» вызывает выбор между двумя шлюзами, а не случайное исполнение одного варианта.

Проверка прототипа: Проверьте неизвестную команду и ошибочную интерпретацию; свободная формулировка не должна скрывать фактические границы доступных действий.

- [Inform 7](https://github.com/ganelson/inform)

## Источники и примеры

Источники подтверждают отдельные приёмы или методологию. Они не подтверждают все варианты семейства. Примеры проектирования и сочетания механик являются иллюстрациями.

- [Khronos: OpenXR](https://www.khronos.org/openxr/): Первичный стандарт интерфейсов XR. Поддержка отслеживания рук и отдельных расширений определяется средой; стандарт не гарантирует произвольный биосигнал или NFC.
- [MDN: WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API): Документация веб-интерфейса XR и проверки совместимых устройств; доступность браузеров и возможностей ограничена.
- [Android Developers: Sensors overview](https://developer.android.com/develop/sensors-and-location/sensors/sensors_overview): Контекст типов датчиков, включая пульсовой сигнал при наличии подходящего оборудования. Это не обещание биосигнала в браузере.
- [W3C: Web MIDI API](https://www.w3.org/TR/webmidi/): Первичный проект стандарта событий MIDI, входов и выходов. Фактический доступ и формат контроллера проверяются отдельно.
- [MDN: Gamepad API](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API): Контекст осей и кнопок устройства; не гарантия поддержки любого руля, педалей или силовой отдачи.
- [OpenCV: Geometric transformations](https://docs.opencv.org/4.x/da/d6e/tutorial_py_geometric_transformations.html): Первичная документация преобразования координат изображения, включая перспективное преобразование; часть контекста калибровки поверхности.
- [Android Developers: NFC basics](https://developer.android.com/develop/connectivity/nfc/nfc): Первичная документация чтения NFC-меток Android. Не утверждение доступности NFC в каждом телефоне или веб-приложении.
- [Inform 7](https://github.com/ganelson/inform): Первичный открытый проект языка интерактивной прозы и текстовых действий; контекст ограниченного словаря команд.
