Расширенная синхронизация трехмерных объектов в образовательном виртуальном мире

Информационные технологии в обучении в системе профессионального образования 59

Расширенная синхронизация трехмерных объектов

в образовательном виртуальном мире

Д.А. Быстров

Марийский государственный технический университет, г. Йошкар-Ола

Виртуальный мир - это интерактивная трехмерная среда, которая доступна через он-лайн интерфейс множеству пользователей. Концепция виртуальных миров основана на погружении человека в трехмерную среду, где он представлен аватаром - трехмерным человекоподобным объектом. По средством аватара пользователь может перемещаться по трехмерному пространству, общаться с другими пользователями, используя различного рода коммуникации, а также манипулировать объектами окружающего его мира. Виртуальные миры создаются для разных целей, в последнее время все больше виртуальных миров используется в сфере образования [1].

В виртуальном мире могут находиться одновременно множество пользователей, поэтому необходимо обеспечить синхронное отображение изменения состояния мира на экране монитора конечного пользователя. Система синхронизации Second Life [2] была реализована с помощью серверов симуляторов. Один такой сервер обслуживает одну локацию мира. Пользователь, перемещаясь по виртуальному миру, переходит с одного симулятора на другой. Симулятор обеспечивает хранение состояний объектов, просчитывает физику, производит расчет коллизий, посылает информацию о местности, в которой находится клиент, а также осуществляет рассылку пакетов обновлений состояния объектов клиентам, находящимся в этой же локации. В качестве недостатка данной системы синхронизации следует указать то, что вся нагрузка по расчету поведения объектов в виртуальном мире ложится на сервер, а вычислительные возможности клиентской машины оказываются практически неиспользованными.

Синхронизация объектов в виртуальном мире «Wonderland» реализована на основе серверов проекта Dark-star [3], в состав которого входит коммуникативная система, система генерации «задач» в ответ на поступаемые извне события, а также система хранения коллекции объектов (ManagesObjects). Поступающие события заносятся в очередь, из которой они затем поступают в систему обработки событий. При обработке событий создается поток, в котором считывается и изменяется состояние объектов. Выполнение обработчиков событий (задач) происходит в менеджере задач параллельно, а порядок выполнения относительных задач соответствует порядку поступления этих событий на сервер. Каждое событие имеет на клиенте соответствующий интерфейс, обрабатывающий поступающие с сервера данные. Каждый синхронизируемый объект мира должен поддерживать этот интерфейс. Когда задача, соответствующая полученному событию, начинает выполняться, происходит вызов обработчика для данного события. Таким образом, в виртуальном мире «Wonderland» используется событийная модель синхронизации. К недостаткам такой модели можно отнести то, что в момент появления нового пользователя в системе, на клиент-вьюер этого пользователя передается большой поток событий, которые затем должны быть обработаны клиентом.

Синхронизируемые объекты разрабатываемого образовательного виртуального мира представляют собой трехмерные объекты, созданные на основе сетчатых моделей. Такие объекты описываются следующими характеристиками и компонентами:

- мировые координаты - однозначно описывают местоположение объекта в пространстве;

- поворот - определяет его ориентацию;

- сетчатая модель - описывает геометрическую форму трехмерного объекта;

- модель скелета - позволяет анимировать отдельные части объекта;

- материал и текстуры - задают цвет, прозрачность и другие характеристики, используемые при визуализации трехмерного объекта.

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

Набор данных, описывающих конкретные значения перечисленных характеристик, называется низкоуровневым состоянием синхронизируемого динамического трехмерного объекта. Таким образом, для синхрониза-

60

ИТО Марий Эл - 2009

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

Низкоуровневое состояние трехмерного объекта описывается большим количеством часто изменяемых па -раметров, поэтому передача изменений каждой такой характеристики на компьютеры всех пользователей, как это делается в SecondLife, приводит к возрастанию нагрузки на сервер и увеличению сетевого трафика. Для решения этой проблемы в разрабатываемом образовательном виртуальном мире введено укрупненное состояние синхронизируемого объекта, которое определяет не просто характеристики объекта, необходимые для его отображения, а параметры, позволяющие клиентскому приложению воссоздать низкоуровневое состояние объекта и воспроизвести его изменения в течение времени. В качестве примера, в таблице 1 приведены укрупненные состояния аватаров.

Таблица 1 - Укрупненные состояния аваторов

Укрупненное состояние аватара Описание

Стоит Позиция, поворот и поза, в которой аватар стоит

Идет Позиции откуда и куда идет аватар

Бежит Позиции откуда и куда бежит аватар

Сидит Ссылка на объект (кресло), на котором сидит автара

Выполняет заданное движение Позиция, где находится аватар, и описание движения, которое он выполняет

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

В заключении отметим, что представленный подход позволяет разработать образовательный виртуальный мир, который как и SecondLife, разделен также на сегменты, и за синхронизацию объектов в них отвечает один сервер. Однако за счет использования укрупненных состояний и перенесения вычислительной нагрузки по реа -лизации поведения аватаров на компьютеры пользователей удалось существенно снизить нагрузку на сервер, снизить сетевой трафик и увеличить размеры сегмента мира, синхронизируемого одним сервером.

Литература

1. Coffman, Т., & Klinger, M. B.. Utilizing virtual worlds in education: The implications for practice. International Journal of Social Sciences, 2(1), 29-33. Retrieved October 2, 2007

2. Kumar, S., Chhugani, J., Kim, C., Kim, D., Nguyen, A., Dubey, P., Second Life and the New Generation of Virtual Worlds. Computer, 41(9), 46-53. Retrieved February 10, 2009, from Academic Search Premier database.

3. Project Darkstar - www.projectdarkstar.com.

Распределенная система доставки ресурсов в виртуальном мире

Е.П. Хованский

Марийский государственный технический университет, г. Йошкар-Ола

Введение

В настоящее время среди систем ресурсов Интернета все большую популярность приобретают виртуальные миры. Виртуальный мир - распределенная программная система, моделирующая трехмерную среду, в которой пользователи, представленные аватарами (трехмерными человекоподобными моделями), могут манипулировать 3D объектами и взаимодействовать друг с другом. Большую популярность виртуальные миры приобретают для создания образовательных ресурсов. Например, многие университеты и компании используют Second Life для обучения, включая Гарвардский и Оксфордский университеты [1].