Кинжибаева А.Д.,

магистрант 2 года обучения НПМ, спец. «Информационные системы»

Научный руководитель: Ph.D, к.э.н., профессор Укубасова Г.С.

Новый экономический университет им.Т.Рыскулова

 

 СОЗДАНИЕ МЕХАНИЗМА УПРАВЛЕНИЯ ВИРТУАЛЬНОЙ РЕАЛЬНОСТЬЮ

 

Данный проект представляет собой механизм управления виртуальным пространством, основанном на использовании современных технологий, таких как камера Kinect и видеоочки Wrap 1200 VR. За основу виртуального мира взят исторический культурный памятник истории Казахстана город Отрар.  Известный как крупный город средневековья, Отрар несет в себе большую информацию об истории Казахстана и является достоянием народа [1]. Внедрение подобных систем в образовательные учреждения повысит уровень запоминания информации обучающимися, тем самым повышая их интеллектуальные способности.  Созданный механизм позволит внедрять любое виртуальное пространство в среду.

Создание данного проекта состоит из следующих поэтапных работ:

– изучение существующих систем виртуальной реальности;

– подготовка технического задания к проекту;

– изучение алгоритма работы камеры Kinect;

– изучение  принципа работы видеоочковWrap 1200 VR;

– подключение библиотеки классов видеоочков в игровой движок Unity;

– подключение камеры Kinect к среде Unity;

– создание объектов виртуального пространства на трехмерном редакторе Autodesk Maya;

  перенос моделей виртуального города в среду Unity;

– полное воссоздание города в Unity, добавление специальных визуальных эффектов в виртуальный мир.

Нижеприведенная схема на рис.1 показывает взаимосвязь применяемых технологий в проекте.

 

Рисунок 1 – Блок-схема системы

 
 

 

 

 

 

 

 

 

 

 

 


Внедрение в виртуальную реальность происходит при помощи видеоочков Vuzix Wrap 1200 VR (рис.2), у которых высокое разрешение VGA (852 х 480), с поддержкой видео и игр в форматах 2D и 3D - это закрепляемый на голове медиа-дисплей [2].

 

Рисунок 2 – Видеоочки Wrap 1200 VR

 

 
 


        

 

Очки модели 1200VR ориентированы на работу с компьютером и приложениями, отслеживающими положение головы. В видеоочках совмещены дизайнерские находки и последнее программное обеспечение Vuzix VR Manager с поддержкой 3D-драйвера для обзора всех вариантов и моделей графических карт Windows.

Адаптивная технология: Wrap VR1200 - это самый современный, широкоформатный монитор, транслирующий виртуальную реальность. Он воспроизводит формат 2D-для игр и приложений, а также 3D - для видео. Wrap™ 1200VR можно носить поверх обычных очков с диоптриями от +2 до -5. Также очки имеют возможность регулировки для левого и правого глаз. Очки серии Wrap 1200 можно приспособлять для обоих глаз (технология IPD), а с помощью технологии Vuzix AccuTilt® вы получаете оптимальный угол обзора и кристальную чистоту картинки.

Подключение и совместимость: Wrap 1200VR подключается к практически любой ОС Windows на основе видеокарты, независимо от марки или модели. Windows 7, Vista и XP (32 и 64-разрядные версии) всех поддерживаемых. Если необходимо выйти за пределы платформы Windows, Wrap 1200VR позволит подключить к компонентным видео устройствам (например, Xbox 360 и PlayStation 3) и компонентам медиа-устройств (например: IPod Touch, iPhone, iPad, DVD-проигрыватели и кабельных муфт) для воспроизведения видео. Даже миллиметр разницы в глазах разделения может влиять на качество изображения, не говоря уж о формах переносицы, что влияет на комфорт и качество изображения. Wrap 1200VR единственная система виртуальной реальности, которая учитывает все эти факторы, и позволяет испытать лучшее видео качество.

В комплекте:  чехол для очков, лямки для очков,  DVI / VGA видео разъем адаптера, съемные стерео наушники с премиум шумоизоляцией, регулируемые гипоаллергенные подушки наушников.

Технические характеристики видеоочков Wrap 1200 VR:

  два LCD-дисплея высокого разрешения 852х480;

  разрешение картинки до 1280х768;

  частота 60 Гц;

  35-градусное поле обзора;

  24-битные цвета (16 млн цветов);

  вес - 0,84 кг;

  поддерживает 3D-видео формата Side-by side для видеоигр;

– подключается к компьютерным VGA или DVI портам и USB2.0 Headtracker.

Для работы видеоочков в среде Unity подключается библиотека iWearWrapper.dll. На языке С# написан скрипт, eyewear.cs, принимающий входные данные в программу. Алгоритм работы основан на поворотах головы вниз, вверх, отслеживаемых основной камерой, привязанной к объекту.

Принцип работы видеоочков:

  подключение  библиотека iWearWrapper в Unity

  объявлениеметодов, позволяющих считывать положение головы:

                   WrapIWROpenTracker();

                   WrapIWRGetTracking(ref int yaw, ref int pitch, ref int roll);

                   WrapIWRCloseTracker();       

где,    yaw    поворот вправо и влево

         pitch – вверх и вниз

         roll круговые движения, в плоскости xOz

  у видеоочков имеется датчик - гироскоп, который отправляет данные в метод WrapIWRGetTracking();

– данный скрипт привязывается к FirstPersonController, точнее к камере в среде Unity.

Поворачивая голову, пользователь задает угол поворота камеры. Также переменная yaw привязывается к аватару, скелету, привязанному к First Person Controller, так как при повороте направо и налево идет движение скелета. Получается, что аватар получает положение, которое передает датчик очков. Датчиком, считывающим положение головы, является гироскоп (рис.3) .

Гироско́п (от др.-греч. γῦρος «круг» и σκοπέω «смотрю») — устройство, способное реагировать на изменение углов ориентации связанного с ним тела относительно инерциальной системы координат, как правило, основанное на законе сохранения вращательного момента (момента импульса) [3].

 

Рисунок 3  Датчик гироскоп

 
 


 


Данную реализацию можно представить в виде следующей блок-схемы (рис. 4). Входными значениями идут переменные yaw, pitch, roll. Данный метод считывает входные значения и передает их камере. Выходное значение это повороты камеры контроллера в сцене на соответствующие углы.

 

 

                                                                                            

 

 

 

 

 

Рисунок  4 Принцип работы Wrap 1200 VR

 
        

 

 

Для работы очков написана программа на языке С# [4].

Опишем функции, используемые в программе.

Функция Start() вызывается перед любым из методов обновления в самом начале программы. Она вызывается только один раз. Разница между Awake() и Start() в том, что Start() вызывается в том случае, если скрипт включен. Это позволяет отложить любой код инициализации, пока это необходимо. Awake() всегда вызывается до начала любой функции. Start() вызывается после Awake() и применима для всей программы.

Функция Update() вызывает каждый кадр, если включен MonoBehaviour. Эта функция наиболее часто используемая в создание игр.

 

 

Литература:

1. К.А. Акишев, К.М. Байпаков,Л.Б. Ерзакович. Древний Отрар (топография, стратиграфия, перспективы) - Алма-Ата, 1972 г.

2. Официальный сайт видеоочков www.vuzix.com

3. Microsoft Kinect - Kinect SDK

4. Дэвид А., Д. Гоулд. Учебник Maya. Полное руководство по программированию Maya. Подробное описание языка MEL и интерфейса  C++ API.