Educational Technology & Society 10(4) 2007
ISSN 1436-4522
Структурно-параметрическая модель визуализации персонажа в образовательных виртуальных мирах
А.В. Герасимов Лаборатория систем мультимедиа Марийский государственный технический университет, Йошкар-Ола, Россия
АННОТАЦИЯ
В работе представлен подход к реализации настраиваемой модели виртуального персонажа. Существующие тенденции развития
образовательного программного обеспечения подразумевают перенос образовательного процесса в виртуальную среду, в которой ключевой фигурой становится сам пользователь. Автором рассматривается проблема персонализации пользователя в виртуальном мире. Проводится обзор существующих аналогов, выделяются недостатки. Рассматривается структура программных компонентов и технические особенности реализации рассматриваемого подхода. Приводится пример реализации настраиваемого визуального представления пользователя в образовательном программном продукте.
Ключевые слова
аватар, виртуальный мир, редактор аватаров.
Введение
Быстрый рост популярности виртуальных миров приводит к резкому увеличению числа пользователей, которые хотя бы раз в неделю совершают прогулку по любимому виртуальному миру. Наибольшей популярностью среди виртуальных миров в настоящее время пользуется “Second life” [4], в котором моделируется большое количество социальных процессов реального мира. Не выходя из дома пользователь может совершить путешествие, сделать покупки, поиграть в игры, пообщаться с друзьями. Возможности “Second life” по реализации различных сценариев, объектов и процессов широко используются в образовании. Сотни учебных заведений со всего мира открывают свои представительства в “Second life” для проведения учебных занятий и курсов. Отмечается, что учебный процесс в виртуальных мирах обладает способностью увеличивать мотивацию учащихся. Одним из главных факторов, обеспечивающих вовлечение учащихся, является возможность погружения в виртуальную реальность.
Погружение в виртуальный мир происходит через сущность при помощи которой пользователь представляет самого себя, самовыражается в виртуальном мире - аватара [1].
Аватар - это человекоподобный анимированный персонаж, который действует от лица пользователя в виртуальном мире. Для сближения пользователя и его представления необходима персонализация аватара. Визуальное различие персонажей позволяет пользователю“ Second life” выделять себя среди других пользователей, а также лучше ориентироваться в виртуальном мире [10]. Данная работа направлена на описание подхода к визуализации персонажа, при котором персонаж представляется в виде структурных геометрических композиций, образующих единую визуальную модель, имеющую параметры, позволяющие изменять визуальное представление виртуального персонажа.
Персонажи в виртуальных мирах
В большинстве существующих на сегодняшний день виртуальных миров есть возможность настройки визуального представления аватара. В работе [2] описана система, позволяющая автоматически конструировать внешний вид аватара при помощи видеоряда движений пользователя. В [3] описан подход настройки лица и тела аватара по фотографиям пользователя с использованием контрольных точек. Однако такие подходы требуют наличия дополнительного оборудования и определенных навыков обработки цифровых изображений. Кроме этого расчет модели по цифровым снимкам является длительной операцией даже на современных компьютерах. Поэтому чаще используют подход, основанный на параметризации фигуры аватара, и компоновки набора базовых визуальных объектов для получения различных визуальных моделей. В виртуальном мире Second Life [4] пользователю предлагается выбор пола персонажа, подробные настройки тела, лица, волос и одежды, однако не поддерживается речевая мимика аватаров при общении с пользователем. Мир vSide [5] предлагает выбор из расширяемого набора вариантов одежды, лиц и волос персонажа ( см. рис. 1).
Проект Second Life
Проект vSide
Рис. 1. Примеры интерфейсов редакторов аватаров
В виртуальных мирах возможно текстовое и голосовое общение. На сегодняшний день наиболее распространено общение при помощи текстовых реплик. Голосовое общение находится на стадии внедрения в виртуальные миры. Одной из проблем при воспроизведения голоса является идентификация говорящего персонажа. Решением может являться синхронизация движения губ аватара говорящего пользователя с голосом. Такой подход также усиливает реалистичность визуальной модели персонажа.
Структурно параметрическая модель визуализации
Для создания настраиваемой модели персонажа нужно иметь перечень необходимых визуальных настроек, позволяющих создавать различные экземпляры персонажей. В предлагаемом подходе, пользователь может настраивать параметры фигуры персонажа, выбирать одежду из предложенного набора и настраивать визуальное представление выбранной модели одежды. Также к визуальной модели персонажа добавляется речевая мимика, которая автоматически подстраивается под созданную модель. Назовем такую модель представления персонажа - структурно параметрической моделью визуализации (СПМВ).
В таблице 1 приведен анализ предлагаемого подхода и существующих подходов к настройке визуального представления персонажа в виртуальных мирах.
Настройка лица Настройка тела Смена одежды Настройк а одежды Синхронизация с голосом
8есоп^іїе + + + +
vSide + + +
СПМВ + + + + +
Основными проблемами при разработке структурной модели персонажа для виртуальных миров являются:
• унификация функций управления и визуализации для разных персонажей;
• возможность конструирования большого количества непохожих персонажей;
• получение эстетического удовлетворения пользователя от визуальной модели своего аватара.
Проблема унификации функций управления может быть решена при помощи технологии скелетной анимации и использования стандарта МРБв4 [9] для фрагментной анимации мимики персонажа. Данный подход обеспечивает настройку анимации мимики персонажа под конкретную геометрическую форму лица.
С татнчй с кая е из уалъ нал модель персонажа
Iе [С ; с з с
анимации скрипты Зі педели текстуры параметры визуальных моделей
ПЇ.
-11
Интерн
М енеджер анимаций
Менеджер
персонажей
Менеджер визуальных моделей пер с онажей
1. Общие свойства
• поп, раса, рост, полнота
2. Значения параметров отдельных визуальных элементов
Сне тема в ю уалнз аднн
Пер ® ьшеес иро е анкая нсуапъная лсдепь хероожжа
Рис. 2. Общая схема параметрической модели визуализации персонажа
Проведенный анализ аналогов и функциональных требований к модели персонажа позволил разработать общую структурную схему визуализации персонажа (см. рис. 2).
Для визуализации статической визуальной модели виртуального персонажа необходимы:
• трехмерная модель фигуры персонажа:
• текстуры;
• анимации персонажа.
Для того чтобы расширить статическую модель визуализации персонажа до структурно-параметрической модели необходимо произвести декомпозицию визуальной модели до атомарных структурных элементов и ввести параметры, влияющие на графическое представление этих элементов. Мы выделяем следующие структурные элементы модели персонажа:
• фигура;
• лицо;
• волосы;
• одежда;
• обувь.
Такое разбиение упрощает процесс настройки, так как пользователь одновременно концентрируется только на одной из значимых частей модели.
Создание персонализированной модели виртуального персонажа готовой к визуализации осуществляется при помощи программного компонента - менеджера визуальных моделей персонажей, который получает данные о текущих параметрах модели, графические файлы с текстурами и файлы с трехмерными моделями структурных элементов персонажа. Менеджер представляет собой динамическую библиотеку, подключаемую как дополнительный модуль к подсистеме визуализации. Передача параметров и управление менеджером осуществляется при помощи скрипта.
Реализованные средства настройки визуальной модели делятся на четыре категории:
• геометрический морфинг моделей - предназначен для изменения формы трехмерной сеточной модели на основе моделируемых шаблонов сеток;
• изменение отсекающего значения текстурных уровней визуализации сеточной модели. Метод позволяет реализовывать настройку сложных криволинейных визуальных форм модели без увеличения геометрической сложности;
• управляемое параметрическое смешивание текстур - композитные текстуры. Метод позволяет проводить настройку конечной текстурной карты, используемой для визуализации персонажа, при помощи шаблонов текстурных карт и цветовых и отсекающих параметров;
• параметризированные геометрические настройки, основанные на применении линейных коэффициентов влияния костей на точки сетки в скелетной модели персонажа. Метод предназначен для модификации группы визуально связанных частей модели без необходимости моделирования дополнительных трехмерных объектов.
Рассмотрим описанные методы изменения визуальной модели более подробно.
Морфинг
Морфинг представляет собой плавную трансформацию одной 3Б модели в другую. Подобное превращение достигается за счет перехода координат точек одной модели в координаты соответствующих точкек другой. Мы используем морфинг для моделей, которые отличаются только положением вершин. Это позволяет избежать необходимости построения правильного соответствия между номерами вершин моделей для перехода. Изменение геометрии трехмерной модели при помощи морфинга отличают небольшие затраты при построении формы объекта. При конечном расчете модели для всех точек нужно провести интерполяционный расчет между базовыми, или ключевыми, положениями. Такая интерполяция зачастую имеет линейный вид, поэтому при компиляции современными средствами разработки ассемблерный код получается высоко оптимизированным.
Линейное преобразование координат точек задается формулой:
81 = Б(нач)1 + (Б(конеч)1- 8(нач)1)*к, где к в общем случае принимает значение [0,1].
Примером использования морфинга является изменение формы прически у аватара (см. рис. 3).
Рис. 3. Примеры использования морфинга для изменения прически аватара
Отсекающее значение
Основной проблемой при использовании морфинга является необходимость усложнения модели при изменении криволинейных геометрических форм. Решением для таких случаев является запись данных о криволинейной форме модели в специальную текстуру, и наложение ее на простую геометрическую модель с отбрасыванием части пикселей при визуализации. Основным отличием от морфинга является то, что данный подход позволяет реализовывать изменение сложной формы без пересчета геометрии и усложнения структуры визуальной модели. Низкоуровневая реализация данного метода основана на использовании функций библиотеки БтеСЗБ. Для установки требуемых параметров визуализации используются функции управления пиксельными конвейерами видеокарты.
Рассмотрим применение данного метода для моделирования рубашки персонажа.
длина направления градиента
а!р1га=0
Рис. 4. Текстурная карта с градиентными отсекающими полями
На рисунке 4 показана текстурная карта с обозначением наложения градиентных отсекающих полей на модель одежды. Стрелкой обозначено изменение уровня альфа канала текстуры от значения 0 до 255. Для независимого редактирования п визуальных параметров необходимо п текстур.
Композитные текстуры
Композитные текстуры позволяют добиваться сложных визуальных эффектов за счет параметрического смешивания нескольких базовых текстур. При настройке персонажа используется смешивание цвета текстуры с заданным пользователем цветом, а также объединение цветов пикселей базовых текстур с учетом их прозрачности. Смешивание реализовано при помощи последовательного наложения базовых текстур на текстуру персонажа. Данный подход не ограничивает количество базовых текстур, а также устойчиво работает на видеокартах, не поддерживающих мультитекстурирование.
Рис. 5. Примеры использования отсекающего значения для изменения визуального представления одежды персонажа
Параметризированные настройки
Параметризированная настройка геометрической формы визуальной модели позволяет упростить процесс разработки новых моделей одежды персонажа.
Обозначим точку сетчатой модели персонажа за s, а трехмерное евклидово пространство за E. Любая точка модели персонажа st є E, где іє [0, n] и n -количество точек модели. Si - представляет собой вектор в трехмерном евклидовом пространстве. Обозначим компоненты вектора как s;x , и s;z
В представленном подходе СПМВ для реализации базовой скелетной анимации используется открытая библиотека Cal3D [6]. Преобразования координат точек от скелета модели задается отношением
Si = F(Sn, b, bq, bk),
где sn - начальный вектор положения точки, bt - результирующий сдвиг кости, bq -результирующий поворот кости, представленный кватернионом, bk - коэффициент влияния кости. Общее уравнение расчета положения точки для одной кости имеет вид:
F(Sn, bt, bq, bk) = (Sn'bq + bt) bk
Операции умножения вектора на кватернион описаны в [7]. В случае, если вершина находится под влиянием нескольких костей, уравнение принимает вид:
n-1
si = Z F(sn; ,bt; ,bqi ,bk,), i=0 i i 1 i
где n - количество костей, оказывающих влияние на точку. Данное уравнение описывает равномерную трансформацию точки по ортогональным осям трехмерного пространства.
Для пропорциональной модификации тела персонажа относительно скелета можно ввести коэффициенты поперечного влияния для костей. В таком случае сдвиг координат каждой точки будет рассчитываться по формулам:
n-1
di = Z bk •w • (dot(sk- ,nk:) • ck) i-0 i i i
где nki - нормаль от точки до соответствующей кости, dot - оператор скалярного
произведения, sk - вектор направленного коэффициента влияния кости, ck -постоянный вектор коэффициента влияния кости.
В таблице 2 приведены шаблоны направленных и постоянных коэффициентов влияния костей на вершины модели персонажа. Все коэффициенты получены экспериментальным путем.
Название шаблона Вектор направленного коэффициента Вектор постоянного коэффициента
Standart [1,1,0] [0,0,0]
Zero [0,0,0] [0,0,0]
Hand [0,0.5,0] [0.5,0.5,0]
Arm [0,0,0] [0,0.4,0]
Spine [0,0,0] [0.4,0.8,0]
Up spine [0,0,0] [0.1,0.2,0]
Каждой кости в скелете соответствует один из указанных шаблонов в
соответствии с таблицей 3.
Таблица 3. Распределение шаблонов влияния по костям скелета персонажа
Имя кости Имя шаблона Имя кости Имя шаблона
root standard pelvis standard
spine up-spine spinel up-spine
neck standard head standard
l upperarm arm r upperarm arm
l forearm arm r forearm arm
l hand hand r hand hand
l thigh standard r thigh standard
l calf standard r calf standard
Для моделирования одежды аватара используется «слоистая» структура модели, изображенная на рисунке. Для сохранения порядка «слоев» при изменении осевых коэффициентов влияния костей на вершину модели, необходимо, чтобы коэффициенты влияния костей на соседние точки слоев были одинаковые. Это может быть учтено при моделировании или реализовано алгоритмически, тело аватара (внутренний слой)
одежда аватара (наружный слой) Ь > а
Рис. 7. Структурная схема моделирования одежды персонажа
Программная реализация
Все задачи модификации визуальной модели персонажей реализуются на трех уровнях: на уровне кода менеджера визуальных моделей персонажей, программы визуализатора и на уровне скриптов описания самого редактора персонажей. Программа визуализатор обеспечивает поддержку низкоуровневых функций, таких как расчет геометрической модели персонажа и ее визуализация. Скрипт предоставляет функциональные средства для описания интерфейса редактора, включая его логическую структуру и ресурсы, а также передачу необходимых параметров настройки модели в менеджер визуализации.
Рис. 8. Общая структурная схема программных компонентов редактора
персонажей
Реализация менеджера как подключаемого модуля позволяет модифицировать его функциональность без перекомпиляции большого объема программного кода. Связи между менеджерами реализованы при помощи интерфейсов, предоставляемых с программой визуализатором. Рассмотрим основные связи, между основными программными модулями:
Менеджер визуальных моделей - менеджер визуализации. Последовательность вывода элементов структурной модели персонажа определяет правильность визуальной модели. В менеджере визуальных моделей реализован алгоритм сортировки, который определяет необходимую последовательность вывода элементов для корректной визуализации модели. Реализация интерфейса natura3d::iplugrenderable позволяет изменить процесс визуализации персонажа. Данный интерфейс содержит два метода:
virtual void pre_render(ibase* apivisibleobject, bool& bhandled) = 0;
virtual void post_render(ibase* apivisibleobject) = 0.
которые вызываются соответственно до и после визуализации модели. При установке значение bhandled=true визуализация объекта считается выполненной.
Менеджер визуальных моделей - менеджер сцены. Для получения
уведомления об изменении переменных менеджер реализует интерфейс
clef::irmpluginnotifications менеджера визуализации. Интерфейс содержит два метода:
void on_props_changed() Вызывается при изменении любого свойства
объекта, к которому относится модуль. void on_prop_changed Вызывается при изменении любого свойства
(char* apPropName) объекта, к которому относится модуль, и
передает имя изменившегося свойства.
Для вызова методов подключаемого модуля в скрипте используется команда вида call(имя метода, параметр 1, параметр 2, ... ). Для обработки команды менеджер реализует интерфейс clef::irmbaseplugin.
Общий формат XML описания модели
Требования, применяемые к структурной модели персонажа, определяют интерфейс редактора и формат описания параметров. Для описания структурно параметрической модели был выбран язык XML. Общий формат описания представлен на рисунке 9.
Рис. 9. Схема структуры описания визуальной модели персонажа
Визуальная модель аватара разделяется на несколько логических блоков, таких как: тело, одежда, волосы и т.д. Каждый логический блок описывается в теге editparam и может быть представлен одним или несколькими шаблонами. Все шаблоны описываются в тегах template. Каждый шаблон включает набор трехмерных объектов и их модификаций, которые описываются в теге parts. Параметры изменения визуальной модели описываются в тэге params. Блокам, шаблонам и объектам назначаются идентификаторы, которые используются для формирования пути применения изменяемого параметра. Параметры имеют следующие свойства:
• command - идентификатор команды. Может принимать значения set_rgbv_color, set_alpha_value, set_body_height, set_body_fatness, interpolate_texture, set_alpharef, set_blend_value;
• part - полный идентификатор элемента визуальной модели;
• param - произвольный параметр;
• min - минимальное значение параметра;
• max - максимальное значение параметра.
Пример реализации
В данном разделе представлена виртуальная коллективная среда, целью которой является реализация преимуществ широкополосных каналов для создания виртуальной образовательной среды моделирующей обычную университетскую среду. В этой среде студенты представлены в виде виртуальных воплощений -аватаров. Каждый пользователь может видеть других аватаров и взаимодействовать с ними в реальном масштабе времени через текстовые каналы связи. Учащийся может посещать лекции и семинарские занятия. Лекции проходят в виртуальных лекционных аудиториях, а семинарские занятия в специальных комнатах. На лекциях учебный материал демонстрируется учащимся в мультимедиа формате, имеется возможность представления трехмерных объектов. Использование виртуальной среды стимулирует интерес учащихся, а совместная учебная деятельность повышает результативность обучения. Так как мир виртуального университета моделирует реальный мир, все интерфейсы интуитивно понятны даже для неопытных пользователей (см. рис. 10).
Рис. 10. «Комната для семинаров» виртуального университета
В состав образовательного коллективного приложения "Виртуальный университет” включаются следующие базовые элементы:
• виртуальное рабочее пространство, состоящее из помещения университета и персонажей, участвующих в процессе обучения;
• работа учащихся в «комнатах для семинаров» ;
• работа учащихся в «лекционных залах», просмотр презентаций, участие в обсуждении;
• редактор аватаров.
Редактор аватаров представляет собой программный компонент, реализующий модификацию структурно-параметрической модели персонажа. На рисунке 11 приведен интерфейс компонента.
Структурные элементы мод е ли пер с онаж а
Список
параметров
Вид структурного элемента при граничных значениях параметра
Визуальная модель персонажа
Рис. 11. Интерфейс редактора аватаров
При помощи компонента редактируются атомарные структурные элементы визуальной модели персонажа. В реальном времени можно наблюдать за
изменениями модели и вносить соответствующие коррективы.
Заключение
Рассмотренная структурно-параметрическая модель визуализации персонажа, позволяет генерировать большое количество визуально несхожих персонажей. Тем самым обеспечивается максимальное удовлетворение потребности пользователя в самовыражении. Кроме этого синхронизация мимики с речью персонажа позволяет реализовать более правдоподобное представление поведения аватаров. Это в значительной степени усиливает глубину погружения в виртуальную реальность учащихся и расширяет эффект присутствия за счет улучшения коммуникационных возможностей персонажей. Применение структурно параметрической модели визуализации способствует обогащению возможностей виртуальных миров, что, безусловно, расширяет их образовательный потенциал.
Литература
1. Dorin-Mircea Popovici, Luca-Dan Serbanati, Jean-Pierre Gerval, Agent-Based Modeling of Virtual Environments
2. E. de Aguiar, C. Theobalt, M. Magnor, H.-P. Seidel, Reconstructing Human Shape and Motion from Multi-view video. 2nd European Conference on Visual Media Production (CVMP), p. 42-49. London, UK. 2005
3. [Vaillant M. et al., 2005] Vaillant M., Zang G., Aliperti J., Santhanam N., Doucette S., Hoffman B., Miller M.I. Computational Anatomy for Generating 3D Avatars and Boosting Face Recognition Systems. Computer Vision and Pattern Recognition, 2005 IEEE Computer Society Conference on Volume 3, Issue , 20-26 June 2005 Page(s): 150-150
4. http ://secondlife.com
5. www.vside.com
6. http://cal3d.sourceforge.net
7. http://www.gamedev.ru/articles/?id=30129
8. [Хованский В.П. и др.] Хованский В.П., Герасимов А.В., Морозов М.Н..
Голосовые коммуникации в виртуальных коллективных средах. // Всероссийская научно-практическая конференция с международным участием
Информационные технологии в профессиональной деятельности и научной работе.
9. Jiang Dalong; Li Zhiguo; Wang Zhaoqi; Gao Wen Simulation Animating 3D facial models with MPEG-4 FaceDefTables . Symposium, 2002. Proceedings. 35th Annual Volume , Issue , 2002 Page(s):365 - 370
10. Gulz, A.: Benefits of Virtual Characters in Computer Based Learning Environments: Claims and Evidence pp. 313-334, International Journal of Artificial Intelligence in Education 14, 2004. 21 s