Анимационная визуальная модель аватара в образовательном виртуальном мире.

Герасимов Алексей Викторович

старший преподаватель кафедры информатики и системного программирования,

Марийский государственный технический университет,

пл. Ленина, 3, г. Йошкар-Ола, 424000, (8362) 68-60-90

mailto:heraldic@mail.com

 

Лысова Надежда Яковлевна

программист лаборатории систем мультимедиа,

Марийский государственный технический университет,

пл. Ленина, 3, г. Йошкар-Ола, 424000, (8362) 68-60-90

mailto:duhaL@mail.com

 

 

Анотация

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

 

 

This paper presents an approach to the description of three-dimensional visual model of anthropomorphic characters, used in an educational virtual world vAcademia. The analysis showed that the characters in the educational environment execute idle motions most time. So the problem of constructing a realistic visual model of the character in the standby mode is described. Given approach to the animation of characters allows different animations based on a small number of basic animation templates to be generated.

 

Ключевые слова

аватары, виртуальный мир, анимация персонажей

avatars, virtual world, character animations

Введение

В настоящее время в мировой практике разработки программного обеспечения наблюдается тенденция к изменению программных интерфейсов от формы «человек-компьютер» к форме «человек-человек». Поскольку, в общем виде, интерфейс представляет собой совокупность средств и методов взаимодействия между элементами системы, то интерфейс персонального компьютера соответственно является совокупностью элементов взаимодействия пользователя и программного продукта, с которым он работает. Одним из основных элементов интерфейсов, работающих на основе формы взаимодействия «человек-человек», является анимированный персонаж, обладающий внешним сходством с человеком – антропоморфный агент. Такие интерфейсы получили название антропоморфных.

Как показывают исследования, доверие к агентам интерфейса является одним из ключевых факторов, повышающих эффективность их применения в образовании. Главный способ повышения доверия к агентам заключается в обеспечении достоверности их поведения. Именно это позволяет приблизить взаимодействие между обучаемым и агентом к человеческому общению, а также увеличить вовлеченность пользователя в диалог, усилить его заинтересованность в получении знаний [2]. Разные типы интерфейсных агентов отличаются основными характеристиками (рис. 1).

схема

Рис. 1 Основные характеристики агентов различных типов

 

«Использование анимированных педагогических агентов дает большие возможности для обучения, основанного на знаниях. В дополнение к возможности обратной связи педагогические агенты играют важную роль в мотивации студентов. Мотивация играет одну из важных ролей в процессе обучения, а эмоции играют важную роль в мотивации. Таким образом, автор считает, что виртуальные педагоги будут более эффективны, чем реальные учителя, поскольку они показывают и понимают эмоции. И можно предположить, что, как только люди привыкнут к синтезированным лицам, «производительность» виртуальных учителей превзойдет «производительность» реальных педагогов. Самой хорошей формой представления педагогического агента является человекоподобный агент, поскольку люди привыкли взаимодействовать с другими людьми» [3].

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

Теория уменьшения неопределенности утверждает [4], что основная цель человека при общении с другим человеком, это накопление знаний о собеседнике для снижения неопределенности его поведения при дальнейшем общении. Люди стремятся понять поведение других людей в процессе взаимодействия с ними для возможного предсказания их дальнейшего поведения (Бергер, Калабрезе, Клэттербак, Инфанте) [4]. Таким образом, основное стремление человека во время общения – познакомиться с собеседником, составить о нем мнение на основе получаемой во время общения разнообразной информации. В физическом мире люди, как правило, полагаются на воспринимаемые органами чувств физические сигналы, исходящие от собеседника. В виртуальном мире информации о действиях пользователя должна быть получена посредством обеспечения обратной связи через аватара. Люди в процессе виртуального общения используют информацию, связанную с виртуальным образом собеседника, аналогично тому, как если бы они получили ее при встрече лицом к лицу.

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

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

В большинстве существующих на сегодняшний день виртуальных миров есть возможность настройки визуального представления аватара. Существует несколько признаков, присущих любому аватару [1].

  1. Аватар должен быть видимым другим пользователям. Поскольку пользователи управляют своими прототипами в режиме реального времени, позиция и визуальное представление виртуального персонажа в пространстве в каждый момент времени должна быть одной и той же во всех копиях приложения. Именно благодаря взаимодействию с другими персонажами аватар становится частью социума в виртуальной среде.
  2. Аватар должен перемещаться по 3D-пространству, реагируя на ввод с клавиатуры или щелчок мышью. Через движения своего посредника пользователь может реализовывать различные цели: встречаться с другими персонажами, получать новый опыт, посещать различные уголки виртуального мира, учиться, играть и т.д.

Итак аватар имеет две основные характеристики: внешний вид и поведение. Внешний вид очень важен, так как люди ассоциируют себя с определенным виртуальным персонажем. Пользователь хочет, чтобы его внешность максимально отражалась во внешнем облике аватара, либо, наоборот, мечтает изменить какие-то свои недостатки за счет выбора более привлекательного прототипа.

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

После детальной прорисовки графической оболочки модель анимируют (устанавливают ей некоторый набор жестов, наделяют эмоциональностью и мимикой человека), снабжают соответствующей одеждой и аксессуарами.

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

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

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

Трёхмерный многоагентный виртуальный мир представляет собой сетевое приложение, в котором пользователи передвигаются и взаимодействуют посредством аватаров - анимированных человекоподобных персонажей в симулированном коллективном трёхмерном пространстве. Появление анимированных человекоподобных персонажей в качестве интерфейсных агентов явилось естественным шагом в развитии графического пользовательского интерфейса. Это обусловлено тем, что применение технологии агентов в человеко-машинном интерфейсе дает возможность пользователю включиться "лицом к лицу" в виртуальный диалог, в котором интерфейсный агент обеспечивает взаимный информационный обмен [5]. Такие виртуальные миры имеют широкую сферу применения, так как они дают пользователям возможность работать в общем пространстве, преодолевая барьеры физического мира.

Для многоагентного виртуального мира актуальны принципы, разработанные Ричардом Бартлом - одним из ведущих специалистов в области создания виртуальных миров [6]:

·       принцип «аватаров»: каждый пользователь представлен внутри мира индивидуальным персонажем;

·       принцип «общей реальности»: виртуальный мир един для всех его пользователей, и каждый из них, находясь в одном месте, видит одно и то же;

·       принцип «немедленной реакции»: действия в мире происходят в режиме реального времени.

Данные принципы предопределили основные элементы модели виртуального многоагентного мира (рис. 2):

·       Аватар. Управляя аватаром, пользователь может передвигаться в виртуально мире – ходить, исследовать мир – смотреть по сторонам, взаимодействовать с элементами виртуального мира и другими пользователями – манипулировать объектами, общаться и выполнять другие действия. Чаще всего в качестве аватаров выступают анимированные антропоморфные персонажи.

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

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

·       Область взаимодействия. Представляет собой некоторую область вокруг пользователя, в переделах которой он может взаимодействовать с другими пользователями.

 

Рис.2. Модель виртуального многоагентного мира

Мы будем рассматривать особенности представления аватаров в проекте vAcademia, который представляет собой виртуальный мир образовательной направленности. Детализация визуальной модели аватаров пользователей подчиняется указанным принципам и зависит от удаленности аватаров от точки наблюдения.

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

Таблица 1

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

Описание

Стоит

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

Идет

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

Бежит

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

Сидит

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

Выполняет заданное движение

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

Укрупненное состояние аватара описывается значительным количеством параметров, уникальный набор значений которых позволяет однозначно визуализировать модель аватара в данный момент времени.

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

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

Визуальная анимационная модель аватара

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

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

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

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

Как было указано выше – для однозначной визуализации аватара используется понятие состояния объекта. В случае с аватаром состояние должно включать в себя параметры, отвечающие за визуализацию каждой значимой части модели аватара: скин, мимику, жесты и др. Полный набор параметров состояния аватара приведен в таблице 2.

Размеры областей видимости и взаимодействия для нашего проекта составляют 600 метров и 100 метров соответственно, и были установлены таким образом, чтобы отсекаемые по удаленности параметры визуализации не мешали получать информацию о действиях других пользователей. Это означает, что в подавляющем большинстве случаев пользователь не взаимодействует с другими пользователями, аватары которых находятся на удалении более 100 метров от его собственного аватара.

Таким образом, виртуальный персонаж описывается как функция, зависящая от набора параметров.

 

V=F(S, P, I, G, M, Sp, T, Em, D)

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

Sp – голос, M – вектор информационных параметров для отображения в облаке, T – анимации текстового набора, P – поза, I – движения в режиме ожидания, Sскин, G – жесты, Em – эмоции, D – направление взгляда пользователя.

Соответствие параметров состояния аватара и компонентов визуальной модели представлено на рисунке 3.

Таблица 2

Параметр

Тип переменной

Зона видимости

Зона взаимо-действия

Визуализация

Скин (S)

string

+

+

внешний вид аватара: телосложение, цвет глаз, губ, волос, прическа, одежда

Поза: стоит, сидит, идет, бежит (P)

int

+

+

различные положения тела аватара

Идлы (I)

int

+

+

движения аватара в режиме ожидания

Жесты (G)

Int

+

+

анимация жеста по выбору пользователя

Микрофон: включен/выключен (M)

bool

-

+

иконка микрофона в информационном облаке над аватаром

Голос: есть/нет (Sp)

bool

-

+

анимация микрофона в облаке, включение специфического набора жестов на разговор, синхронизация губ аватара с речью пользователя

Текстовый набор: есть/нет (T)

bool

-

+

включение анимации набора текста на клавиатуре

Эмоции (Em)

Int

-

+

включение улыбки

Направление взгляда (D)

Int

-

+

поворот головы аватара

Представленная модель была реализована с использованием языка высокого уровня Jscript.

Рис. 3. Целостная модель виртуального агента

Примеры визуализации различных состояний аватара приведены в таблице 3.

 


Если все параметры состояния имеют значения по умолчанию, то персонаж находится в нейтральной позе.

Значение параметров состояния аватара:

M: «Надежда Лысова»

T : false

Sp: false

 

Свойство chatText параметра M принимает значение «Hello, world!». Атрибут T принимает значение true. Анимация персонажа имитирует печатание на клавиатуре.

Значение параметров состояния аватара:

M: «Надежда Лысова»,

«Hello world»

T : true

Sp: false

Если в параметре M свойство micOn принимает значение «1» - микрофон включен. В облаке появляется индикация включения микрофона.

Значение параметров состояния аватара:

M: «Надежда Лысова», micOn=1

T : false

Sp: false

 

Параметр Sp принимает значение true – включаются анимации на разговор, в облаке появляется индикация начала разговора.

Значение параметров состояния аватара:

M: «Надежда Лысова», mic=1

T : false

Sp: true

Таблица 3

 


 

 

 

 

 

 

 

 

 

 

 

 

Оценка значимости параметров модели

Для определения степени влияния каждого из параметров на достоверность визуальной модели аватара был проведен эксперимент на основании записей занятий, проводимых в виртуальном образовательном многоагентном мире vAcademia.

Таблица 4

Параметр

Описание визуальной составляющей параметра

Количество визуальных проявлений / время проявления

Вес параметра

I

Количество включений анимаций режима ожидания при средней длительности анимации 8 секунд

60 включений общей длительностью

480 секунд

22%

Sp

Количество включений анимации на разговор

1588 секунд

73,5%

T

Количество включений анимации на печать текста

2 включения общей длительностью 86 секунд

4%

P

Количество смен позы

5 смен позы общей длительностью 11 секунд

0,5%

 

Для анализа использовалась запись лекции длительностью 36 минут, на которой присутствовал преподаватель и 12 учеников. В ходе эксперимента был проведен подсчет количества визуальных проявлений каждого из выбранных параметров для преподавателя и каждого из учеников. Полученные значения для преподавателя представлены в таблице 4. Анализ результатов показывает, что максимальный вес среди параметров для аватара преподавателя имеет параметр Sp – визуализация которого осуществляется при голосовом общении пользователя. Усредненные данные для учеников представлены в таблице 5.

 

 

 

 

 

 

Таблица 5

Параметр

Описание визуальной составляющей параметра

Количество визуальных проявлений / время проявления

Вес параметра

I

Количество включений анимаций режима ожидания при средней длительности анимации 8 секунд

1900 секунд

88%

Sp

Количество включений анимации на разговор

104 секунды

4,8%

T

Количество включений анимации на печать текста

140 секунд

6,5%

P

Количество смен позы

15 секунд

0,7%

 

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

Ниже приведены диаграммы весов анализируемых параметров (рис. 4).

Веса параметров для учителя

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

Рис. 4 Диаграммы весов анализируемых параметров

 

Подход к реализации анимации аватара в режиме ожидания на основе шаблонных анимаций

Таким образом, аватар в виртуальном мире должен уметь совершать не только действия по вызову пользователя или своевременно реагировать на события среды, он должен естественно выглядеть и во время бездействия – совершать непроизвольные движения в режиме ожидания действий пользователя.

Размеры локаций «Виртуальной академии» не превышают размеры области взаимодействия, в которой согласно таблице 2 должны выполняться анимации режима ожидания. Наличие большого количества аватаров в ограниченном пространстве ставит задачу максимальной персонализации анимаций аватаров, с целью предотвращения эффекта «копирования анимации» между аватарами. Данная задача может быть разбита на две части:

1.       Реализация различных поз аватаров. В «Виртуальной Академии» аватары могут сидеть на предназначенных для этого объектах: стульях, скамьях, креслах и т.д. и вставать за кафедры. Для того чтобы максимально персонализировать аватара, необходимо реализовать систему, при которой разным объектам будут соответствовать разные позы аватаров.

2.       После прикрепления персонажа к объекту к нему применяется поза, которая соответствует данному объекту. Каждая поза должна иметь уникальный набор анимаций в режиме ожидания. Режим ожидания включается по истечении 1000 миллисекунд со времени окончания последнего действия пользователя. Данный режим прерывается по получению аватаром любой команды на выполнение.

Анимации режима ожидания можно встретить практически во всех игровых проектах и виртуальных мирах. Однако в большинстве проектов количество анимаций, выполняемых в режиме ожидания, бывает небольшим, что приводит к частым повторениям. Для генерации непрерывного длительного неповторяющегося движения необходима система, позволяющая комбинировать множество различных анимаций. В данном направлении велись работы, авторы которых пытались синтезировать подобные движения на основе шумовых функций [8], а также большого набора различных анимаций персонажа. Такие подходы имеют ряд недостатков. В первом случае, возникают проблемы при совмещении шумовых анимаций с бесшовными анимациями аватара. Второй подход не обеспечивает требуемой персонализации аватара – движения становятся повторяемыми, что ухудшает восприятие визуальной анимационной модели.

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

Объекты в «Виртуальной Академии», к которым может прикрепляться аватар: садиться или вставать, имеют следующие свойства:

chair01[class=sitplace][pose=sitting000;sitting005;sitting006],

где:

·         chair01 – название объекта

·         class=sitplace – название класса, реализующего пользовательский интерфейс для размещения персонажа на этом объекте;

·         pose=sitting000;sitting005;sitting006 – названия поз, в которые может сесть аватар на данный объект.

При размещении персонажа на объекте последовательно выполняются 2 анимационные последовательности:

1.       Применяется анимация, содержащая позиции всех костей скелета персонажа и определяющая основную позу размещения;

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

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

resources – папка, содержащая все анимации определенного персонажа;

sitting001 - папка, содержащая все анимации персонажа для позы sitting001;

Список файлов данной папки:

1.       sitting000.caf – ресурсный файл с основной анимацией для данной позы аватара;

2.       sitting000_idle01.caf… sitting000_idle04.caf – ресурсные файлы анимаций аватара в режиме ожидания;

3.       sitting000_sidle01.caf, sitting000_sidle02.caf – ресурсные файлы анимаций аватара в режиме ожидания при голосовом общении пользователей.

4.       sitting000.xml – описание параметров анимации аватара в режиме ожидании;

5.       sitting000_speak.xml – описание параметров анимации аватара в режиме ожидания при голосовом общении пользователей.

Для файлов с описанием параметров анимации аватара в режиме ожидания выбран формат XML. Описание структуры файла представлено ниже:

 

<motion name="pose_stand_idles" src="avatar_start.caf"  />

<motion name="stand_idles_idle01" src="idle001.caf" duration="11000" />

<motion name="stand_idles_idle02" src="idle002.caf" duration="8000" />

<motion name="stand_idles_idle03" src="idle003.caf" duration="6500" />

<idles name="idles_stand_idles">

    <idle motion="stand_idles_idle01"  freq="3" between="10000"/>

    <idle motion="stand_idles_idle02"  freq="8"/>

    <idle motion="stand_idles_idle03"  freq="8"/>

</idles>

 

где Idles – объект, задающий массив объектов Idle.

Idles содержит полный набор ссылок на анимации – объекты типа motion, которые могут быть проиграны в режиме ожидания.

motion – объект анимации персонажа. Объект инкапсулирует данные скелетной анимации и имеет следующие свойства:

·               name – имя движения

·               src – путь к ресурсу

·               duration – время выполнения движения, задается в миллисекундах.

idle – объект, задающий свойства анимации в режиме ожидания. Свойства объекта:

·               motion – ссылка на объект motion

·               freq – частота появления движения в режиме ожидания. Данный параметр используется при выборе очередного движения по случайному номеру.

·               between – минимальное время ожидания перед повторным выполнением в режиме ожидания, задается в миллисекундах. Данный параметр введен для предотвращения многократного повторения одного движения. После окончания каждого движения запоминается текущее время, и если при попытке повторного запуска интервал between еще не закончился, то выполнение этого движения блокируется.

Рассмотрим алгоритм выбора анимаций персонажа для выполнения в режиме ожидания.

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

1.       Определение следующей для выполнения анимации из списка анимаций режима ожидания для выбранной позы.

Пусть движение в массиве имеет порядковый номер i, тогда:

 - определяют границы вероятностного интервала выполнения i-го движения.

r = rand()/RAND_MAX ( k=0.0..1.0), size – размер массива.
Если (r > ni) и (r > ni+freqi), то данное движение становится кандидатом на выполнение.

2.       Если выбранное движение имеет время ожидания больше времени, прошедшего с момента его последнего выполнения, то оно не может быть выполнено и алгоритм возвращается на пункт 1;

3.       Если данное движение не содержит анимации костей скелета персонажа, на которые в текущий момент действуют другие анимации, то это движение становится в очередь на выполнение;

4.       Если среди всех движений не найдено ни одного, которое может быть выполнено, то завершаем цикл выбора.

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

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

Обозначим за

·         pi - вероятности появления анимации в каждый момент времени;

·         di – длительности выполнения каждой анимации;

·         bi – минимальное время между последовательными повторениями анимации.

Множество D (состоящее из di)– представляет собой множество числовых констант, так как каждая анимация имеет строго определенное время воспроизведения, изменение которого ведет к визуальному искажению движения персонажа, а следовательно, недопустимо для данной модели. Множество P (состоящее из pi) – представляет собой множество вещественных чисел в промежутке [0,1]. Вероятности появления анимации оцениваются аниматором на основе эмпирического опыта, а, следовательно, могут изменяться в определенных пределах. Поскольку критерием оценки модели является корелляция входных вероятностей с общим временем воспроизведения анимации, то максимальная дисперсия вероятностей появления от нормализованных значений суммарного времени воспроизведения анимаций может являться критерием при оценке модели по хи-квадрат.

Геометрическая анимационная модель персонажа описывается конечным иерархическим набором матриц трансформации, размером 4x4. Обозначим S - множество всех матриц модели, или скелет модели. Каждая анимация представляет собой двумерный массив матриц, каждый ряд которой представляет ключевые кадры анимации одной из матриц множества S. Обозначим за Sai множеств j матриц управляемых анимацией ai, причем Sai Ì S. Назовем две анимации ai и aj неблокирующими, если Sai Saj = Ø, в противном случае назовем их блокирующими. Анимация ai является блокирующей для множества анимаций A`, если хотя бы для одного элемента a` A` анимация a является блокирующей.

При использовании метода имитационного моделирования каждая система представляется в виде модели черного ящика (рис.5)

Рис. 5. Модель черного ящика

Здесь:

·         X=(X1Xn) – контролируемые и управляемые переменные, которые можно измерять и изменять (варьировать) по заданному плану (стратегии);

·         Z=(Z1Zk) – контролируемые, но неуправляемые переменные;

·         W=(W1Wm) – неконтролируемые и неуправляемые переменные;

·         Y= (Y1….Yi) – выходные переменные (параметры), характеризующие результаты исследований.

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

Рис. 6. Модель черного ящика применительно к персонажу

 

Здесь:

·         P=(p1pn) – вектор желаемых вероятностей появления анимаций;

·         D=(d1dk) – вектор длительностей анимаций;

·         B=(b1bm) – вектор минимальных временных интервалов между повторениями анимаций;

·         T= (t1….ti) – вектор суммарных временных интервалов воспроизведения анимаций.

 

                                  (2)

 

(2) - матрица блокировок анимации. Элемент  матрицы равен 0 – если анимация I и J при воспроизведении друг друга не блокируют, иначе  равняется 1. Поскольку анимация блокирует сама себя, то на главной диагонали матрицы расположены элементы, принимающие значения равные единице.

 

Для решения нашей задачи нужно минимизировать следующую величину:

                                                                 (3)

 

где n-количество анимаций

,                          (4)

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

Заключение:

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

Литература

1.             3D Inhabited Virtual Worlds: Interactivity and Interaction between Avatars, Autonomous Agents, and Users. Jensen, Jens F. In: WebNet 99 World Conference on the WWW and Internet Proceedings (Honolulu, Hawaii, October 24-30, 1999); see IR 020 454.

2.             A. L. Baylor and J. Ryu, "The Effects of Pedagogical Agent Voice and Animation on Learning, Motivation and Perceived Persona," presented at ED-MEDIA, Hawaii, 2003.

3.             Takeuchi, A., Naito, T. Situated facial displays: towards social interaction. In I. Katz, R.Mack, L.Marks,M. B.Rosson& J. Nielsen, Eds. Human Factors in Computing Systems: CHI+95 Conference Proceedings, pp. 450-455. New York: ACM Press. 1995

4.             The Influence of the Avatar on Online Perceptions of Anthropomorphism, Androgyny, Credibility, Homophily, and Attraction Kristine L. Nowak Christian Rauh Department of Communication Science University of Connecticut

5.             E. Andre, T. Rist, J. Muller. Integrating Reactive and Scripted Behaviors in a Life-Like Presentation Agent. //Proc. of the Second International Conference on Autonomous Agents (Agents '98), 1998, pp. 261-268.

6.             Bartle R. A., Designing virtual worlds. // New Riders, 2004. ISBN: 0131018167, 9780131018167

7.             Быстров Д.А., Кудрина И.Н. Расширенная синхронизация трехмерных объектов в образовательном виртуальном мире //ИТО – Марий Эл – 2009

8.             Personalised Real-time Idle Motion Synthesis A. Egges, Tom Molet, Nadia Magnenat-Thalmann