
Всем привет! На связи Максим Паршонок, разработчик ИТ-команды «Северстали».
XR (виртуальная, дополненная и смешанная реальность) — это не просто модный тренд. Это реальный инструмент, который буквально переворачивает бизнес-процессы с ног на голову, делая их эффективнее и умнее. С 2018 года мы занимаемся созданием виртуальных тренажеров для обучения сотрудников нашей компании и внешних заказчиков и уже писали о том, как, с каких инструментов и технологий начиналось развитие нашего направления, а в этой статье я расскажу как мы адаптировали для своих задач самые востребованные механики в игровой VR-индустрии.
Реальность vs Виртуальность: а это для кого?
Молодые ребята в VR (чате GPT, DeepSeek или мемах) — как рыба в воде, обилие мультимедийного контента и доступность технологий с детства позволяют легко изучать новые девайсы и применять их в повседневной жизни. А вот ключевые пользователи наших продуктов зачастую — эксперты на производстве с 20-летним опытом, иногда для них VR-очки — хуже китайской грамоты. VR? AR? Геймпад? И даже тактильные перчатки??

Они привыкли работать с физическими инструментами материалами, а не VR-контроллерами.
Отсюда и вторая сложность: в обучении рабочих важны не только знания, но и физические ощущения. Человек должен не просто понимать, как выполнить действие, но и чувствовать инструмент, силу нажима, реакцию материалов. Наблюдение за опытным коллегой не даёт нужного эффекта, посмотреть и повторить не получается — без практики навык закрепить невозможно. Получается, передача тактильной обратной связи в VR и поиск баланса между реализмом и удобством и есть ключевая задача разработчиков тренажёров.
Мы, конечно же, как истинные профи сразу учитывали обе сложности.
Конечно же.
Кейс «Закручивание гайки» / Версия 1.0 (неудачная)
Исходные данные: команда разработчиков, которая хочет воссоздать каждое мельчайшее движение с точностью до микрометра.
Что воссоздаем? Процесс закручивания гайки.
Наш первый тренажер – это была целая философия микродвижений. Пользователь брал ключ, подносил к гайке и выполнял столько оборотов, сколько потребовалось бы в реальности. Мы даже замедляли процесс закручивания, чтобы имитировать физическое усилие которое необходимо сделать человеку для завершения процесса.
Результат? Пользователи были в полном недоумении: как именно выполнять действия в этом виртуальном квесте? Перенести в виртуальный мир движения из реального (в нашем случае – закручивание гайки) с помощью линейной алгебры возможно, но требует определённых временных затрат, но UX от этого не становился приятнее. Главная проблема – отсутствие тактильных ощущений. В жизни наш мозг на основе анализа ощущений помогает нам правильно прикладывать нужную силу в необходимом направлении и двигать ключ. При отсутствии тактильных ощущений правильно двигать руками «в воздухе» становится проблематично.
Решение было похоже на взлом сложной системы – мы просто перестали её усложнять и добавили детализированную анимацию.
Версия 2.0 (рабочая): пользователь подносит ключ к гайке, проигрывается анимация прокручивания, пользователь убирает ключ от гайки (ключ остаётся в руках пользователя, а не двигается сам по себе). В таком случае ему не нужно думать, как правильно двигать рукой, чтобы тренажёр правильно считал и интерпретировал его действия — корректное выполнение продемонстрирует анимация. При этом пользователь видит, какую гайку он крутит, в какую сторону, сколько оборотов она должна сделать.
Короче, мы избавились от необходимости воспроизводить сложную физику движений и кардинально улучшили пользовательский опыт. Разработка ускорилась, а качество обучения выросло. Получается, win-win.

Конечно, в жизни специалист должен владеть механикой подобного процесса, но не целесообразно учить его этому в VR. Из этого мы сделали вывод: тренажёр не должен фокусироваться на физическом выполнении действий. Сотрудники, проходящие обучение, уже обладают такими навыками. Главная задача VR-обучения — дать более глубокие знания, например, в какой последовательности откручивать гайки, на каком оборудовании, чем это делать и т. д.
Да, мы сделали ровно то, что произошло в геймдеве — оказуаливание. Но в данный момент именно этот подход работает лучше всего. Уверен, с развитием VR-технологий мы будем постепенно возвращаться к реализму.
Предвещая комментарии в стиле «А почему не сделать физику как в Boneworks или Half-Life: Alyx? Все крутилки, кнопки и рычаги там есть, и они очень удобные», честно скажу, мы тоже очень любим играть и отлично понимаем, как там все работает, но на производстве нужен результат, а не крутые киношные эффекты (хотя так мы тоже иногда делаем :). Поэтому, с точки зрения реальных процессов, которые должен выполнять человек в тренажёрах, механики современных VR-игр достаточно простые и очень упрощенно имитируют реальность. Зато эффективно!
Безусловно, на рынке есть устройства и тренажёры, которые способны воспроизводить физическую обратную связь в виртуальной среде. Например, перчатки HaptX Gloves дают возможность выполнять сложные действия, брать в руки предметы, чувствовать их вес и форму. Тактильные перчатки SenseGlove воспроизводят ощущения нажатий на кнопки и имитируют удары. У этих решений есть недостатки, которые пока не позволяют нам рассматривать их в качестве оборудования для наших тренажёров.
HaptX Gloves обеспечивают давление на кожу с помощью компрессора, который представляет собой ранец за спиной пользователя. Несмотря на небольшой вес последнего весь комплект кажется громоздким.
SenseGlove не имеют в комплекте дополнительных устройств и оставляют пользователю больше мобильности, но выдают скромное сопротивление до 20 ньютонов, что примерно равно двум килограммам.
Ну и конечно, самый главный недостаток — стоимость и труднодоступность этих устройств для российского рынка.

Батуты, велосипеды и другие средства передвижения: как мы решаем вопрос навигации
В мире VR перемещение — это целая наука. Существует несколько подходов, каждый со своими плюсами и минусами. Физическое перемещение (locomotion) казалось идеальным решением: пользователь свободно движется пространством, используя контроллеры или направление взгляда, максимальное погружение. Красиво? Да. Удобно? Не всегда.
Подводных камней здесь море:
неопытные пользователи VR (и компьютерных игр) теряются в управлении;
требуется сложная настройка физики движения, карты, коллизий, чтобы избежать ситуаций, когда пользователь может застрять, «провалится в текстуры» или выйти за игровую область;
вероятность «морской болезни» или негативная реакция вестибулярки из-за несоответствия реальных и виртуальных движений.

Наше решение? Телепортация (телепорт). Звучит просто, работает эффективно. Пользователь направляет луч, жмёт кнопку — и вуаля, он уже в нужной точке. Никаких сложных физических расчетов, минимум нагрузки на вестибулярный аппарат, максимум понятности.

Важный дисклеймер: выбор метода перемещения зависит от конкретной задачи. В некоторых наших ранних проектах мы экспериментировали с физическим перемещением. Например, в тренажере по технике безопасности при выходе из подземной шахты, там физическое перемещение помогло воссоздавать более реалистичный опыт. Сейчас понимаем: того же эффекта можно достичь более элегантно, чуть модернизировав телепортацию.
Специализированные платформы? Тоже не наш выбор. Да, они позволяют двигаться на месте, но имеют куда больше минусов:
усложнение разработки,
высокая стоимость,
сложность эксплуатации,
ограниченная универсальность.
Мы не упомянули возможность перемещаться в VR с помощью физического перемещения в реальной жизни. Да, такой способ существует и, возможно, вы пробовали его на VR-аренах. «Морской болезни» при таком перемещении практически нет. Но в нашем случае физическое перемещение используется крайне ограниченно: пользователь может наклоняться, приседать, перемещаться на несколько шагов и разворачиваться в любую сторону, всё в рамках ограниченного физической комнатой пространства. Учебный класс размером с цех создать, конечно, можно, но зачем? :) В одном нашем VR-учебном классе коллега может работать в совершенно разных виртуальных местах, от огромного многоуровневого цеха до площадки размером метр на метр. Такие дела.
А можно добавить сюда ещё кнопочку?
В мире цифровых технологий комфорт взаимодействия решает буквально всё. Это важно и при разработке VR-тренажёров.

Графические интерфейсы. Интерфейсы классических игр, такие как меню и настройки, разработаны для плоских мониторов и управления мышью и клавиатурой. В VR такой подход летит в «корзину». Привычный HUD, который в традиционных играх так удобно висит поверх экрана, отображает важную информацию: время, задания, статистику и другие данные. В виртуальной реальности он превращается в помеху. Решение — пространственные интерфейсы, которые размещаются непосредственно в игровой среде виджеты, расположенные на расстоянии вытянутой руки.
В наших тренажёрах пользователям необходим быстрый доступ к текстам подсказок, данным о времени, ошибках и набранных баллах. Мы решили разместить эту информацию на руке пользователя и обыграть этот интерфейс наручными часами. В некоторых наших тренажёрах пользователи должны ответить на вопросы теста. Их мы размещаем в виде 3D-виджета в пространстве рядом с предметом или оборудованием, с которым задание связано по смыслу.

С текстом еще интереснее. Длинные инструкции в VR — это пытка. Чтение длинных текстов становится неудобным: мелкий текст трудно читать, а его укрупнение заставляет пользователя много «крутить» головой, сильно увеличивает время нахождения в VR, что негативно сказывается на качестве обучения. Мы минимизируем текст, используем:
короткие сообщения на виджетах;
поэтапное отображение информации, если без длинного текста никак;
аудиосопровождение помогает усваивать информацию, когда пользователь занят выполнением заданий.
От некоторых UX-решений, широко применяемых в VR, мы отказываемся осознанно. Например, технология Full Body Tracking, которая позволяет переносить движения всего тела пользователя в VR, отслеживая ключевые точки. Технология классно позволяет повысить уровень погружение, но для качественного отображения тела одних VR-очков недостаточно. Необходимы дополнительные системы с камерами и нейросетями, которые помогают перенести тело в виртуальную реальность и обеспечивают точное позиционирование рук и ног. Из доступных на рынке решений, мы пока не нашли те, которые полностью подходили под наши требования по точности. При желании трекинг придётся реализовывать вручную с помощью процедурной генерации, но с таким подходом есть другие проблемы:
Этот метод часто выглядит неестественно и может мешать прохождению тренажёра. Условно, если мы пытаемся что-то поднять с пола и нам мешают ноги, расставить шире их мы не сможем, потому что они не отслеживаются.
Плохой трекинг может привести к тому, что пользователь случайно «проткнёт» инструментом своё собственное тело, а такому наши тренажёры обучать не должны.
В VR-играх, где требуется уклоняться от пуль или сражаться на мечах, технология Full Body Tracking успешно применяется, но в нашем случае задача другая: нам важно, чтобы пользователь чётко понимал, какие действия он выполняет, и учился этому. Вот поэтому мы отказались от полного трекинга тела и сосредоточились исключительно на трекинге рук. Этого достаточно, ну, нам достаточно :) Но мы такие не одни, удачные примеры отказа от Full Body Tracking есть и в геймдеве. Разработчики Half-Life: Alyx могли реализовать трекинг тела, но ограничились руками и для процесса игры это тоже оказалось достаточным.

Немного про повторяющиеся паттерны
Когда дело касается VR-обучения, мы исповедуем один принцип: не изобретать велосипед, а использовать то, что уже работает. Такой подход – это не лень, а продуманная стратегия максимальной эффективности.
Представьте: наш целевой пользователь (напомню, это эксперт на производственной площадке с многолетним опытом) впервые надевает VR-очки. Негодование? Непонимание? Может только в первый раз. Мы создали систему, где основные механики остаются неизменными на всех наших тренажеров. Осваивает основные принципы управления и взаимодействия со средой в одном – освоил логику для всех остальных.
Например, в 3D-режиме (наши тренажёры имеют 2 режима прохождения, которые мы называем VR и 3D. Первый позволяет проходить тренажер с использованием VR оборудования, второй – мыши, монитора и клавиатуры) пользователь наводит прицел и нажимает кнопку, а в VR подносит руку и нажимает курок. Эта логика распространяется на любую механику.
![I restored in HD 4k the original "Spider-Man Pointing at Spider-Man" Template - (aka spiderman confusion meme) - [4096*3072] : r/MemeRestoration](https://habrastorage.org/r/w1560/getpro/habr/upload_files/c96/a27/d20/c96a27d20646146ff7ae703c686ef1a6.jpeg)
🎮 Универсальные паттерны взаимодействия:
подсвечивание интерактивных объектов,
навигационные метки для удаленных элементов,
единый принцип выбора и активации объектов,
минимальное количество действий для достижения результата.
В режиме VR и 3D логика остается идентичной: прицелился – нажал. Разница только в способе – рукой или курсором мыши. Это как два языка программирования с одинаковой базовой грамматикой.
Почему мы так делаем? Ответ прост: наши пользователи – не заядлые геймеры. Для них технология должна быть прозрачной, как стекло. Чем меньше когнитивной нагрузки, тем быстрее идет обучение.
3D-режим – это вообще классика жанра — используем классические приёмы, заимствованные из компьютерных игр. Стандартные клавиши WASD, привычный HUD, подсказки рядом с прицелом. Мы сознательно используем проверенные временем паттерны, чтобы облегчить пользователям адаптацию и сделать интерфейс тренажёров интуитивно понятным.
Заключение, получается
6 лет прошли не зря, получилось проделать колоссальный путь в улучшении пользовательского опыта. Если раньше специалистам производства требовалась постоянная поддержка разработчиков/менеджеров, то сейчас мы пришли к интуитивно понятным решениям, где специалисты производства обучаются абсолютно самостоятельно.
Ещё мы сделали тренировочную комнату – универсальный инструмент первоначального обучения. Он позволяет сотрудникам осваивать базовые навыки работы с виртуальными объектами перед переходом к более сложным производственным сценариям.
Важно отметить, что наши находки и разработки не являются универсальными, хотя и решают поставленные задачи. Они эффективны в конкретных условиях, но не гарантируют абсолютного успеха для всех. Мы постоянно анализируем существующие механики и готовы их корректировать. Возможно, представленный подход не решит все ваши задачи, а может, напротив, окажется идеальным.
Надеюсь, что наш опыт поможет другим разработчикам в создании качественных и удобных VR-решений, а также вдохновит на поиск новых идей и подходов.
VR-разработчики, вызываю вас! Делитесь своими кейсами, практиками, идеями в комментариях!