Сообщений 1    Оценка 255        Оценить  
Система Orphus

Создание персонажа MS Agent

Автор: Александр Климов
Источник: RSDN Magazine #5-2004
Опубликовано: 11.05.2005
Исправлено: 10.12.2016
Версия текста: 1.0
Персонажи MS Agent
Инструмент для создания персонажей
Немного теории
Создание персонажа в редакторе ACE
Настройки для нового персонажа
Настройки анимаций
Создание новой анимации
Сопоставление анимации состоянию
Сохранение файла персонажа
Сборка персонажа
Заключение

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

Персонажи MS Agent

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

ПРИМЕЧАНИЕ

Хотя помощники MS Office являются персонажами MS Agent, тем не менее, они обладают несколько меньшими функциональными возможностями, чем «настоящие» персонажи MS Agent. Помощники, как правило, имеют меньший размер, не способны к синтезу речи и не умеют распознавать речь.

Казалось бы, создание персонажей, способных работать с такими сложными технологиями, потребует от создателя кропотливой тяжелой работы, изучения тонкостей этих технологий и сложного инструментария. Ничего подобного! Все эти сложности надежно скрыты от разработчика. Его основной задачей является нарисовать серию картинок с персонажем и собрать их в определенной последовательности. Вам это не напоминает работу аниматора-мультипликатора?

Инструмент для создания персонажей

Для создания персонажей компанией Microsoft был разработан специальный редактор Microsoft Agent Character Editor (ACE). Скачать программу можно со страницы Microsoft http://www.microsoft.com/msagent/downloads/developer.asp, предназначенной для разработчиков. Загрузив инсталляционный пакет редактора ACE размером около 1 мегабайта, запустите файл ace.exe. Начнется несложный процесс установки. По умолчанию программа устанавливается в папку Program Files/Microsoft Agent/Tools. После установки можно приступать к работе с редактором.

Немного теории

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

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

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

Для создания графических изображений можно использовать любой графический редактор, способный работать с растровыми изображениями в формате BMP, даже стандартный Paint (вопрос о качестве и удобстве работы в Paint при создании персонажа мы рассматривать не будем). После того как изображения будут подготовлены, можно использовать редактор создания персонажей Microsoft Agent Character Editor для сборки и создания нового персонажа. В рисунках следует использовать 256-цветную палитру, сохраняя 20 стандартных системных цветов Windows в их стандартных позициях в палитре (первые и последние 10 позиций). Это значит, что создаваемый персонаж может использовать 20 стандартных системных цветов и еще 236 произвольно выбранных пользователем. Одиннадцатая позиция в палитре по умолчанию используется для обозначения прозрачности, хотя вы можете установить этот цвет в самом редакторе ACE. Старайтесь не применять сложных фигур и избегать мелких выступающих деталей. Анимация персонажей на экране монитора – достаточно сложный процесс, использующий большое количество ресурсов компьютера.

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

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

Очень важно использовать анимацию, предназначенную для создания зрительного эффекта вывода речи. Изображения рта позволят персонажу поддерживать режим синхронизации движения губ. Редактор Microsoft Agent Character Editor позволяет определить семь основных позиций рта.

ПРЕДУПРЕЖДЕНИЕ

Обратите внимание, что во время циклической анимации персонаж говорить не может!

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

Создание персонажа в редакторе ACE

Давайте подробнее рассмотрим процесс создания виртуального помощника. Запустим редактор персонажей (Пуск-Все программы-Microsoft Agent Character Editor). После небольшой заставки с изображением мага Merlin откроется главное окно программ (см. рис.1.).


Рисунок 1. Главное окно редактора персонажей ACE.

Окно редактора разделено на две части. Некоторые текстовые поля в правой части окна может быть уже заполнена. Нам предстоит заполнить оставшиеся поля ввода.

Настройки для нового персонажа

Выбираем из меню File пункт New. Предлагается три варианта — создание собственного персонажа, создание персонажа по умолчанию и создание помощника для MS Office. Основное их различие состоит в том, что при выборе персонажа по умолчанию или помощника для MS Office редактор самостоятельно создаст список необходимых анимаций для персонажа. В этот список можно добавлять новые анимации, расширяя возможности создаваемого агента. Обратите внимание на раскрывающий список Language в рамке General Information в правой части главного окна. Если персонаж должен поддерживать несколько языков, воспользуйтесь этим списком - выберите нужный язык и заполните остальные текстовые поля на выбранном языке. На практике, скорее всего, вам понадобятся два языка – английский (по умолчанию) и русский. Теперь надо определиться с именем персонажа. Отнеситесь к выбору имени серьезно. Постарайтесь, чтобы новое имя, во избежание путаницы, не повторяло уже существующие имена известных персонажей. Название не должно быть слишком сложным и длинным (не более 32 символов). Введите придуманное вами имя в текстовое поле Name. Например, для английской версии персонаж будет иметь имя Kitten, а на русском языке персонаж будет проходить под именем Котенок - ведь русскому пользователю будет гораздо комфортнее читать надписи на русском языке. К слову сказать, все персонажи от Microsoft в русских версиях Windows имеют русские имена.

ПРЕДУПРЕЖДЕНИЕ

Пожалуйста, не оставляйте имя по умолчанию Character для вашего персонажа! В Интернете размещены десятки персонажей с этим «говорящим» именем. Ничего, кроме раздражения, подобные персонажи не приносят.

Продолжим настройку будущего персонажа. В поле Description введите краткое описание персонажа (не более 256 символов) на выбранном языке. В поле Extra Data можно внести дополнительные данные о персонаже.

Переходим теперь к рамке Output Options. Если при запуске программы было выбрано создание персонажа по умолчанию, редактор установит флажок Support standard animation set. Это означает использование все необходимые анимации для персонажа. В этом случае, если вы пропустите какую-либо анимацию, будет выводиться сообщение со списком пропущенных команд. Если персонаж должен поддерживать голосовые движки для вывода речи, то необходимо установить флажок Use synthesized speech for voice output. В этом случае в программе появится новая закладка Voice. На этой закладке производится настройка параметров голосового движка (параметры движка синтеза речи, скорость речи, тембр голоса). Здесь же можно протестировать сделанные настройки, для чего достаточно ввести любой текст и нажать кнопку Test.

При установленном флажке Use word balloon будет доступна вкладка Word Balloon, где настраиваются размеры и цвет шрифта, цвет фона и обрамления, число символов (по умолчанию 28), строк (по умолчанию 2). В текстовом поле Icon file name вы можете установить путь к значку, который будет выводиться в области уведомлений при загрузке персонажа.

Каждый персонажу присваивается уникальный идентификатор (GUID), используемый Agent Server. Редактор автоматически создает новый GUID при начале работы с новым агентом. Вы можете создать новый идентификатор при помощи кнопки New GUID. Используйте эту возможность в особых случаях — например, если вы хотите скопировать настройки персонажа для другого помощника. В этом случае вам нужно будет только поменять его GUID.

Настройки анимаций

После того, как мы закончили с основными настройками персонажа, можно приступать к набору анимаций. Прежде чем приступать к созданию анимаций, нужно настроить основные параметры. Щелкните на ветви Animations иерархического списка, расположенного в левой части окна Microsoft Agent Character Editor (см. рис. 2). В правой части редактора появится дополнительное окно свойств, в котором можно изменить размеры и длительность воспроизведения кадров, а также назначить цветовую палитру.


Рисунок 2. Настройка параметров анимаций персонажа.

По умолчанию редактор персонажей использует размер кадров 128 на 128 пикселов со скоростью показа 10 кадров в секунду. Вряд ли стоит изменять выставленные значение (если, конечно, вы не задумали нечто особенное).

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

ПРИМЕЧАНИЕ

В различных графических редакторах, например в программе Paint Shop Pro отсчет цветов палитры идет с нуля, поэтому для прозрачного цвета используется цвет с индексом 10.

С помощью группы элементов управления Pallete Information можно указать свою палитру, введя в поле ввода File name путь к файлу с 256-цветной картинкой, содержащей палитру цветов. В этом случае вы сможете устанавливать цвет прозрачности с помощью кнопки Change Setting…

ПРЕДУПРЕЖДЕНИЕ

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

Создание новой анимации

После проделанной подготовительной работы можно приступать к созданию персонажа. Напоминаю, что вы должны были подготовить исходные картинки для персонажа заранее. Каждая анимация состоит из множества кадров. Чтобы облегчить себе задачу, мы будем создавать персонаж, который может быть установлен как Персонаж по умолчанию. В этом случае у нас в левой части редактора уже будет список всех доступных анимаций. Выбираем самую первую анимацию Acknowledge. Чтобы создать новый кадр для выбранной анимации используйте пункт New Frame из меню Edit или соответствующую кнопку со значком кадра на панели инструментов. Можно также щелкнуть правой кнопкой мыши на названии анимации и выбрать в открывшемся контекстном меню пункт New Frame. Слева под названием анимации появится новая запись Frame1, а справа — окно с тремя закладками: General, Branching и Overlays. На закладке General хранятся основные настройки для данного кадра. Кадр может содержать один или несколько рисунков, имитирующих анимацию. Редактор разрешает использовать однобитные (монохромные), 4-битные (16 цветов), 8 битные (256 цветов) растровые BMP-излбражения, а также GIF-изображения. После того как вы настроили один кадр, вы аналогичным образом добавляете в анимацию новый кадр. При этом можно использовать пункт New Frames from Images из меню Edit редактора персонажей. В этом случае вы можете сразу указать все необходимые файлы для кадра, и редактор автоматически сгенерирует список кадров.


Рисунок 3. Создаем анимацию.

Загрузив кадры в нужном порядке, вы можете с помощью четырех стрелок смещения группы элементов Positions смещать кадр вправо-влево, вверх-вниз. С помощью счетчика Duration вы можете установить длительность воспроизведения кадра. Не используйте слишком больших и слишком маленьких значений. В единственном поле ввода File name группы Sound Effect можно указать имя звукового файла, который будет сопровождать анимацию. Старайтесь не использовать слишком большие звуковые файлы. Избегайте применять звуковые эффекты для анимаций Listening и Hearing, а также для циклических анимаций.

Перейдем теперь к закладке Branching. По умолчанию кадры используются по порядку. Но если по каким-то причинам вас не устраивает порядок, то можно принудительно перейти к другому кадру. Для этого используется закладка Branching диалогового окна. Эта закладка также используется для циклических анимаций. Закладка Overlays используется в том случае, если предполагается, что ваш персонаж будет говорить. Применяется только в последнем кадре анимации. Пощелкайте на пунктах списка Filename — в небольшом поле в правом нижнем углу окна будет показываться положение губ при разговоре. Нужно поставить собственные картинки губ персонажа в соответствие с заданным рисунком губ, в противном случае ваш помощник будет говорить с закрытым ртом. После создания анимации вы можете просмотреть результат. Выберите пункт Preview из меню Edit или нажмите кнопку со стрелкой на панели инструментов. Редактор начнет проигрывать анимацию. Чтобы остановить анимацию, снова нажмите на эту же кнопку, которая во время просмотра анимации трансформируется в кнопку Stop.

Сопоставление анимации состоянию

Если пользователь какое-то время не обращает внимания на персонаж (не щелкает по нему мышкой, не перетаскивает на другое место экрана), то персонаж начинает сам совершать какие-либо действия. Создается впечатление, что персонаж живет собственной жизнью. Такое поведение называется Состоянием (State).Чтобы сервер знал, какую анимацию воспроизводить при конкретном состоянии, мы должны сопоставить этим анимациям какие-либо действия. Делается это так: слева в разделе States нажмите на "+", где вы найдет список возможных состояний. Найдите пункт IdlingLevel1 и нажмите на нее — справа появится список ваших анимаций. Поставьте галочку у той анимации, которая будет выполняться автоматически.

Сохранение файла персонажа

Если вы решили прервать работу, то можете сохранить все свои наработки, чтобы позднее вернуться и продолжить дальнейшее проектирование персонажа. Выберите пункт Save As из меню File редактора Microsoft Agent Character Editor или кнопку с изображением дискетки Save Character Definition на панели инструментов. Редактор сохранит файл с расширением acd на диске.

Сборка персонажа

Итак, все позади. Созданы все анимации, подготовлены все звуковые файлы. Можно приступать к сборке своего первого персонажа! Выбираем пункт Build Character из меню File или одноименную кнопку с изображением персонажа на панели инструментов. Существует два способа сборки персонажа. Можно создать файл в обычном формате ACS. Такой файл можно распространять обычным путем. Второй способ предназначен для загрузки персонажа напрямую с сервера. В этом случае редактор создает файл с расширением ACF и создает еще несколько файлов в формате ACA для каждой анимации отдельно. Это делается для последующего использования их в скриптовых языках. В дальнейшем можно будет создать страницу с скриптом, которая будет загружать не весь персонаж, а только заданную анимацию. Это сэкономит время, необходимое для загрузки персонажа на компьютер пользователя.

ПРИМЕЧАНИЕ

Если во время сборки произойдут ошибки, редактор персонажей запишет все данные в LOG-файл. Внесите изменения в проект и соберите файл заново.

Заключение

В этой статье мы рассмотрели только базовые приемы создания персонажа. Остальное вам придется постигать на собственном опыте. С программой также поставляется небольшая справочная система. Заглядывайте в нее для решения ваших проблем. Желаю удачи в создании нового персонажа!


Эта статья опубликована в журнале RSDN Magazine #5-2004. Информацию о журнале можно найти здесь
    Сообщений 1    Оценка 255        Оценить