Научное исследование технологии виртуальной реальности (VR) началось в середине 20-го века, особенно в 1970-х годах, заложив основу для ее последующего развития. Первоначально технология виртуальной реальности укоренилась в сфере игр, но в последние годы наблюдается всплеск применения технологии виртуальной реальности в образовательных и учебных целях в различных секторах. В частности, на профессиональной выставке «ТРАНСЖАТ-2016» в Ростове-на-Дону был представлен прототип VR-симулятора электротехники РЖД, получивший признание экспертов отрасли и заинтересованных сторон за реалистичность и точность воспроизведения сценариев работы.
Аналогичным образом, Федеральное государственное бюджетное высшее учебное заведение «ВГУВТ» является пионером в разработке виртуальных тренажеров для моряков, выполняющих государственные обязанности на морском и речном транспорте, в том числе по выживанию судов, подготовке к запуску дизелей, а также тренажерам для электротехники. Эти инновации, представленные на многочисленных выставках и официальных мероприятиях, получили высокую оценку за визуальную изысканность и захватывающий пользовательский опыт.
Несмотря на первоначальные проблемы с адаптацией к средам виртуальной реальности, пользователи обычно демонстрируют повышенную уверенность и вовлеченность после завершения тестовых сценариев. Помимо инженерной области, виртуальные симуляторы находят широкое применение в медицинской подготовке, примером чего являются такие инициативы, как Центр развития непрерывного медицинского и фармацевтического образования Российского национального исследовательского медицинского университета имени Н.И. Пирогова.
Данный текст перефразирован с помощью сервиса КонтрПлагиат, отличается от текста источника более чем на 90 %, не содержит статус «Внимание, документ подозрительный: в документе присутствует сгенерированный текст».
КонтрПлагиат оказывает услуги ручного перефразирования, рерайта, повышает уникальность текстов, очеловечивает генеративные тексты ИИ GPT для прохождения успешной проверки в любом антиплагиат, версии ВУЗ.
В свете этих разработок становится очевидным, что VR-симуляторы проникли в самые разные области человеческой деятельности. Однако независимо от области применения сохраняются определенные всеобъемлющие технические требования, в том числе необходимость обеспечения высочайшего уровня точности графики и надежности взаимодействия пользователей в виртуальной среде. Подобные соображения подчеркивают важность постоянного совершенствования и оптимизации технологий моделирования виртуальной реальности для удовлетворения растущих потребностей в образовании и обучении в различных секторах.
Чтобы развить у студентов необходимые навыки использования симулятора, необходимо всестороннее понимание среды виртуальной реальности в сочетании с точной имитацией реальных этапов работы. Следовательно, разработчики VR-симуляторов сталкиваются с множеством технических проблем, начиная от трехмерного моделирования объектов и заканчивая написанием алгоритмических сценариев. В то время как некоторые задачи требуют владения разнообразным прикладным программным обеспечением, другие требуют глубокого понимания процесса моделирования. Хотя решение первого, как правило, простое — «проблема реализации», решаемая путем ознакомления с пакетом программного обеспечения или консультации эксперта, — второе часто требует тонкого понимания тонкостей моделирования, а это область, в которой опыт разработчика может оказаться недостаточным. Для решения этих сложных проблем создание симулятора часто предполагает сотрудничество с экспертами в предметной области, хорошо разбирающимися в тонкостях моделирования.
Опираясь на наш собственный опыт разработки VR-симуляторов, мы стремимся очертить основные этапы разработки и оценить необходимый состав команды, очерчивая предварительный список основных пакетов программного обеспечения для каждого этапа. Важно признать, что обозначенные этапы представляют собой гипотетическую траекторию развития; На практике одновременное делегирование задач нескольким командам разработчиков является обычным явлением, часто перемежающимся итеративным рефакторингом для улучшения существующих модулей или удовлетворения меняющихся потребностей проекта.
С нашей точки зрения, наиболее важные и трудоемкие этапы реализации обычно охватывают пункты с 3 по 6. На этих этапах команды программистов часто прибегают к помощи проектных консультантов из-за пробелов в знаниях в технических аспектах. Такая схема удлиняет сроки реализации проекта, поскольку консультанты усваивают тонкости предмета для понимания программистом. Примечательно, что эта проблема характерна не только для разработки виртуальных симуляторов, но и широко распространена в различных программных продуктах. Однако создание симуляторов отличается необходимостью тщательного воспроизведения реальных действий в цифровой среде, что еще больше усложняет усилия по разработке.
Для решения этой проблемы предыдущие исследования [3, 4] рекомендуют использовать специализированные пакеты программного обеспечения, которые упрощают создание VR-симуляторов, позволяя консультантам, не являющимся программистами, вносить значимый вклад на всех этапах проекта. Такой подход способствует распараллеливанию разработки симуляторов: разработчики сосредотачиваются на базовых функциях, а консультанты, не являющиеся программистами, используют интуитивно понятные инструменты для создания сценариев и вспомогательных компонентов. Впоследствии вклад разработчиков и консультантов автоматически или полуавтоматически интегрируется, что приводит к созданию полностью реализованного VR-симулятора.
На рынке существует множество программных решений, позволяющих непрограммистам самостоятельно создавать виртуальные эмуляторы. Varwin и iVariant рекламируются как яркие примеры, предлагающие разработку и поддержку виртуальной реальности без необходимости использования языков программирования. Эти решения, позиционируемые как Битрикс или WordPress в области виртуальной и дополненной реальности, позволяют компаниям самостоятельно разрабатывать проекты в различных секторах, от медицины до сложных высокотехнологичных отраслей. Примечательно, что, хотя Varwin выступает в качестве единственного готового решения в этой области, следует упомянуть, что доступ зависит от платной подписки.
Этот подход, получивший название «Оптимизация разработки», предполагает оптимизацию создания виртуального симулятора третьей стороной на этапе разработки программного решения. И наоборот, чистый подход предполагает, что команда разработчиков создает техническое решение с нуля без предварительной оптимизации внешними сторонами. Очевидно, растущая актуальность виртуальных симуляторов в профессиональной подготовке подчеркивает распространение методов создания на рынке. Чтобы всесторонне оценить достоинства и недостатки каждого подхода, необходимо четкое понимание ключевых принципов разработки VR-симуляторов. Давайте углубимся в тонкости каждого этапа, изложенного в таблице, сосредоточив внимание на пунктах 3-6.
После ознакомления с эталонным образцом реального объекта для цифрового воссоздания начинается процесс 3D-моделирования. Используя примеры, предоставленные клиентом, опытные специалисты по 3D-моделированию тщательно воспроизводят объект с необходимой точностью и детализацией. Хотя клиенты или консультанты могут предоставлять уже существующие 3D-модели на основе собственных разработок или чертежей, необходимо учитывать строгие требования, предъявляемые к моделям, используемым в работе VR-симулятора. Учитывая, что создание сцен происходит в режиме реального времени, оптимизация 3D-моделей имеет первостепенное значение для ускорения рендеринга. Оптимизация предполагает минимизацию количества полигонов, обеспечение правильной топологии и создание соответствующего UV-картирования. Следовательно, готовые 3D-модели из таких программ, как AutoCAD, Rhinoceros или Compass, часто оказываются непригодными для разработки VR-симуляторов.
Хотя степень проработки виртуального мира в виртуальной реальности имеет решающее значение, создание материалов 3D-модели считается вспомогательным этапом разработки, поскольку оно в первую очередь влияет на эстетику, а не на основное содержание симулятора. Тем не менее, этот этап заслуживает внимания. В то время как моделирование объектов сцены склоняется к инженерному делу, создание материалов склоняется к творчеству, охватывающему как художественное чутье, так и понимание физических явлений, таких как преломление, отражение света и свойства материала, которые имеют решающее значение для реалистичного изображения объектов.
Вышеупомянутые этапы разработки требуют наличия высококвалифицированных экспертов, хорошо разбирающихся в понимании всех требований модели. Пакеты программного обеспечения, упрощающие создание VR-симуляторов, часто содержат библиотеки, наполненные предварительно оптимизированными моделями и сделанными на заказ материалами. Следует признать, что хотя ассортимент этих моделей остается ограниченным, что ограничивает потенциальное применение разработанного симулятора, всегда есть возможность загрузить сделанные на заказ творения. Однако при этом необходимо пройти трудный процесс создания трехмерных моделей с нуля.
Одновременно с процессом создания трехмерной модели или сразу после него, в зависимости от состава команды разработчиков симулятора, начинается макет виртуальной сцены. В рамках этой структуры разворачиваются все взаимодействия с элементами симулятора. Обычно этот этап выполняется в игровом движке и предоставляет пользователям широкие возможности для разработки разнообразных решений, в частности VR-симуляторов. Помимо облегчения позиционирования объектов и настройки освещения сцены, игровые движки позволяют пользователям манипулировать физикой и движением объектов. Логика программы для функциональных объектов сцены определяется на основе игрового движка, при этом некоторые задачи, такие как позиционирование объектов, удобны для пользователя, тогда как другие, такие как настройка освещения, требуют определенной квалификации.
Выбор оптимизированного подхода к разработке симулятора свидетельствует о стремлении упростить настройку сценариев с использованием предопределенных шаблонов или предустановок. Эти предустановки инкапсулируют параметры предустановок, охватывая отдельные элементы сцены и целые сцены. Например, стандартная сцена в классе биологии может быть предварительно настроена, что потребует последующей настройки разработчиком для соответствия конкретным требованиям симулятора. Хотя этот подход, несомненно, упрощает создание VR-симулятора, он ограничивает гибкость разработчиков в настройке сцен и элементов. Хотя разработчики сохраняют возможность интегрировать индивидуальные решения, такие расхождения часто сталкиваются с сопротивлением системы и требуют большего опыта разработчиков. Следовательно, обширные модификации оптимально разработанных симуляторов могут оказаться невозможными, поскольку основные функциональные возможности могли быть опущены во время создания системы разработки.
Суть и узкое место разработки виртуального симулятора заключается в поведенческой логике функциональных элементов сцены и скриптовом процессе самой работы симулятора. Функциональные элементы сцены обозначают те объекты, с которыми пользователи взаимодействуют во время работы симулятора. В идеале количество таких элементов должно приближаться к общему количеству элементов сцены; однако практические ограничения часто ограничивают общее количество функциональных элементов. Например, в некоторых реализациях симулятора пользователи могут манипулировать только выбранными объектами посредством таких действий, как выбор, вращение и перемещение, что важно для функциональности симулятора. Ограниченное количество функциональных элементов связано не только с ограничениями по времени разработки, но также зависит от выбора оптимальной стратегии взаимодействия с пользователем.
Сценарий работы симулятора, аналогичный автомату, созданному на языке, воплощает рабочее состояние симулятора в определенные моменты времени. Переходы между состояниями и функции инкапсулированы внутри, чему способствуют такие механизмы, как поля классов и переходы, способствующие взаимодействию с пользователем. Архитектурные решения и шаблоны проектирования, принятые на этом этапе, требуют тщательного рассмотрения, поскольку от них зависит расширяемость и включение новых элементов в симулятор. Основываясь на нашем опыте, мы столкнулись с проблемами при объединении различных симуляторов в единое целое и интеграции дополнительных функций в существующие платформы. Решение таких проблем требует значительных затрат времени, особенно когда базовая архитектура разработки исключает плавные обновления. Хотя предвидение каждого потенциального пути развития во время архитектурного макета оказывается непрактичным, рекомендуется осторожный подход, отказывающийся от немедленного решения проблем в пользу комплексной консолидации кода.
Следует отметить, что использование таких архитектурных нюансов на начальных этапах разработки возможно только при чистом подходе к разработке, при котором программисты обладают детальным пониманием операционной логики симулятора. Альтернативно, выбор оптимизированной траектории разработки влечет за собой использование систем визуального программирования для формулирования логики взаимодействия между элементами сцены виртуального симулятора. В таких случаях компании часто предоставляют системы визуального программирования, избавляющие от необходимости разбираться с синтаксисом языка, поскольку разработчики легко соединяют предварительно сконфигурированные функциональные блоки. Следовательно, в полученном симуляторе отсутствует явный «программный код» с необходимыми алгоритмами, заданными с помощью систем визуального программирования и впоследствии автоматически переведенными на целевой язык. Хотя этот подход упрощает разработку, пользователи теряют возможность манипулировать чистым кодом после перевода.
Подводя итог, попытаемся очертить достоинства и недостатки как чистого, так и оптимизированного подходов к разработке виртуальных симуляторов (табл. 2). Сравнительный анализ различных методологий разработки виртуального симулятора представлен ниже:
По сути, выбор между чистыми и оптимизированными методами зависит от требований конкретного проекта, доступности ресурсов и желаемого уровня контроля над процессом разработки. Хотя чистая разработка обеспечивает беспрецедентную универсальность и гибкость, она требует значительных инвестиций и специальных знаний. И наоборот, оптимизация оптимизирует усилия по разработке и снижает входные барьеры, хотя и за счет уменьшения уникальности и контроля над архитектурой программного обеспечения.