Создаем свой персонаж MS Agent |
Автор Administrator | |
04.07.2003 г. | |
О том, как создать свой оригинальный говорящий персонаж MS Agent меньше чем за 30 минут при помощи редактора персонажей Character Editor. Доступно и подробно.
Кто читал мою статью "Скрепыш, Мерлин и все все все...", видимо поняли о чем пойдет речь, кто не читал, напомню о главном. Что такое MS Agent ?Microsoft Agent — это набор программных сервисов, которые поддерживают воспроизведение интерактивных анимированных персонажей. Разработчики могут использовать эти персонажи для создания различных интерактивных приложений, справочных систем, электронных пособий, а также для представления информации в HTML-документах различными способами. Также Microsoft Agent предлагает поддержку распознавания голосовой информации (на основе Microsoft Speech Application Programming Interface, SAPI 4.0), позволяя управлять приложениями на уровне голосовых команд. Персонажи могут воспроизводить синтезированную речь (text-to-speech, TTS), аудиофрагменты или текст. Вспомните, в каких программных продуктах вы уже встречались с Agent. Наиболее значимый из них – Microsoft Office, который не просто использует технологию Agent, но и имеет в своем составе несколько собственных персонажей. Кроме Office, хотелось бы отметить и один из российских программных продуктов – переводчик Magic Gooddy. Для использования технологии Microsoft Agent компьютер должен иметь: К этой "энциклопедической " информации хочу добавить, что разработчики могут не только использовать эти персонажи в своих программах, но и создавать свои, оригинальные персонажи. О чем, собственно я и хочу поведать. Инструмент, и где его взять?Для создания своих персонажей я не знаю другого инструмента, которым можно было бы воспользоваться, кроме как редактор персонажей можно взять на http://www.microsoft.com/msagent/downloads/developer.asp#ace. Смело скачивайте его по этой ссылке - на фирменном узле Microsoft вирусов не бывает :) Файл ace.exe, около 1 Мб. Это инсталлятор - установит одноименный файл в папку Program FilesMicrosoft AgentTools.Всего один, что явно не достаточно для комфортного создания своего персонажа. Нужна программа, тестирующая ваше творение на этапе разработки. Тут к счастью, выбор есть. Во первых, можете написать программу сами, воспользовавшись вышеупомянутой статьей "Скрепыш, Мерлин и все все все...", если лень, то предлагаю готовую программу http://www.az.ru/stk/, которая не только поможет протестировать персонаж во всех режимах, но и напишет сценарий для компьютерной театральной постановки любимого анекдота, короткой сценки или озвучит любимые комиксы. Скачать её можно тут - http://www.az.ru/stk/ Так же для работы необходима программа, в которой можно создавать образы персонажа - т.е. хороший "художник", где есть понятие палитры, и возможность её редактировать. Скажу сразу, что "штатный" для Win9*Me Paintbrush мало пригоден. Для тех, кто не умеет рисовать или делает это плохо( таких, надеюсь большинство, и я в их числе:), забегая вперед скажу, что персонажи удобно создавать из готовых файлов анимационных .GIF. Для этой цели нужен редактор, который умеет раскладывать GIF анимацию на отдельные кадры. Исходя из всего сказанного, возможно придется использовать несколько редакторов - каждый для своей цели, лично я использую Paint Shop Pro + Animation Shop Pro. Еще могут понадобиться редакторы звуковых файлов WAV, но тут можно обойтись и простеньким "штатным" для Win9* - "Звукозапись" из раздела Развлечения. Хотя, если хотите использовать интересные звуковые эффекты, то без хорошего редактора не обойтись. Непосредственные приготовления.После того, как вы обзавелись всем необходимым, можно приступать непосредственно к работе. Что представляет собой персонаж ? Набор рисунков формата bmp или gif, размером по умолчанию 128Х128 пикселей и содержащие не более 256 цветов. В прочем, размер особого значения не имеет, но персонажи большого размера занимают больше памяти на диске при хранении, и более неповоротливы при использовании. А увеличить любой персонаж можно программно. В готовом персонаже все файлы упакованы, по этому формат bmp использовать предпочтительнее, чем gif. Файлы gif используются не анимированные, и что самое неприятное, их прозрачный фон скорее всего не будет прозрачным в персонаже. Существует много программ, в которых из готового набора исходных моделей, в том числе и 3D, мы можем создавать любые движения любых персонажей, сохраняя их потом в виде avi или gif файлов. К примеру, 3D Studio MAX из самых известных. Как я уже говорил, удобно для тех кто не умеет нарисовать ни чего путного, пользоваться готовым анимированным gif рисунком или avi видео файлом. После того, как вы выбрали нужный видео ролик, нужно разложить его на составляющие кадры. Если это файл avi. то скорее всего простое движение типа поднятой руки будет содержать десятки кадров. Наша задача выбрать из них 5-6, которые передают это движение. Т.е. рука внизу, рука вверху, и 3 или 4 промежуточных кадра. Эти кадры нужно сохранить в виде bmp в отдельную папочку, желательно специально для этого созданную. В случае с gif ситуация аналогичная - только кадров там будет поменьше, если около десятка, то можно выбрать каждый второй. Далее открываем сохраненные файлы в графическом редакторе. Следующий серьёзный вопрос - установка палитры прозрачности. Для редактора Character Editor прозрачным является 11 цвет палитры, считая с единицы. К примеру для палитры в PaintShop этот цвет будет 10, т.к. счет идет с нуля. Выбираем в меню(в других графических редакторах возможно по другому, но главное суть) Цвета->Установка палитры прозрачности. Если рисунок имеет более 256 цветов, то его надо преобразовать. Лично я выбираю такие параметры при уменьшении глубины палитры до 256 цветов : палитра оптимизированная усредненная, метод сглаживания - диффузия, опции - вкл. цвета Windows, сглаживать цвета. Потом устанавливаю значение прозрачности в цвет №10. После преобразования получившийся рисунок почти не отличается от оригинала. Далее, выбираю пункт Цвета -> Редактирование палитры, и в этой палитре выбираю для заливки 10-й цвет если считать с нуля, или 11-й, если с единицы. И этим цветом( внимание! он для каждого рисунка может быть свой) заливаю или закрашиваю все, что не относиться к персонажу в данном кадре и в готовом персонаже будет невидимым. Что бы для следующего кадра всю процедуру не повторять, можно палитру сохранить, потом для следующего кадра её загрузить, рисунок автоматически будет приведён к этой палитре, останется только закрасить не нужные места. Эту операцию проделываем со всеми кадрами будущей анимации. Исправленные кадры сохраняем в формате bmp. Сохранять удобно с именами, обозначающими действие. Например: ЛеваяРукаВерх1.bmp, ЛеваяРукаВерх2.bmp и т.д. Когда придется собирать персонаж в Character Editor пригодится. Выше описанным способом сохраняем все наборы картинок для анимаций, которые вы смогли добыть. Далее в папку с этими картинками можно добавить звуковые файлы wav. Это те звуки, которые может издавать ваш герой в ходе анимации. Так как анимация длится около секунды, то и звук должен быть соответствующей длительности. Создаём персонаж.Наконец то исходные материалы собраны, можно приступать к созданию персонажа. Вы не поверите, но эта часть работы самая простая и займет не более 10 - 15 минут. Запускаем файл ace.exe. Небольшая заставка с магом Мерлином и номером версии 2.0 говорят о том, что дело идет к завершению. Придумайте имя персонажа и выбирете язык - русский. Далее переходим к выходным характеристикам персонажа. Ставим галочку на против Use word ballon - если надо. что бы при разговоре появлялось характерное облачко, и Use synthesized speech for voise output для того, что бы герой читал тексты. Переходим на вкладку Word ballon. Тут устанавливаем характеристики для "облачка разговора", но можно ни чего не менять. Следующая вкладка Voice. На этой вкладке обязательно выберите из списка Name синтезатор речи, которым заговорит ваш герой. В стандартном варианте русских два - мужской и женский. Здесь же можно изменить тембр голоса и скорость. Напечатайте в текстовом окне любую фразу и нажмите кнопку Test. Если не понравилось - измените тембр или скорость речи. С основными параметрами на этом все. Выбираем пункт меню Edit->New Animation или соответствующую кнопку на Toolbar сверху. Заполните название анимации, можно по русски. Если анимация соответствует стандартной анимации MS Agent, то можно поставить галочку на против её. Как я уже говорил, анимация может состоять из нескольких кадров. В меню Edit выбираем New Frame или соответствующую кнопку на Toolbar сверху. В рамке Imadges нажмите кнопку "+" и выберите первый рисунок анимации. Если он не соответствует размерам выскочит предупреждение, что не страшно, на вопрос отвечайте Yes. Рисунок появиться в окошке. Если необходимо, отрегулируйте его положение по центру. Опять меню Edit выбираем New Frame или соответствующую кнопку на Toolbar сверху. И повторяем все со вторым рисунком и так столько раз, сколько рисунков. После того, как все рисунки в данной анимации загружены, можно посмотреть, что получилось, выбрав пункт меню Preview, или соответствующую кнопку на Toolbar. Для коррекции можно поменять длительность показа каждого рисунка изменив значение в поле Duration, где по умолчанию стоит 10100 сек. На этой же закладке можно сопоставить звук. Нажмите кнопку с тремя точками и выберите нужный wav файл. Он прозвучит именно в момент кода на экране появиться этот кадр анимации. Переходим на вкладку Branching. Поставьте галочку у Exit after stop to frame и укажите на какой кадр перейти после остановки анимации, если вас не устраивает последний кадр. Следующая вкладка - Overlays. Она заполняется, если этот кадр конечный в анимации и предполагается ,что персонаж в этом положении будет разговаривать. Пощелкайте по списку Filename - в правом нижнем углу иконка покажет положение губ при разговоре. Нужно сопоставить свои рисунки вашего говорящего персонажа в соответствии с рисунком губ, если таковые имеются, конечно. А если нет - то персонаж разговаривать все равно будет, только как чревовещатель, с закрытым ртом:). С этой анимацией закончили. Теперь все вышеперечисленные действия, начиная с пункта меню Edit->New Animation повторяйте столько раз, сколько у вас заготовлено анимационных роликов. Всего в стандартном варианте их 16. У вас может быть сколько угодно. Стандартные анимации называйте стандартными именами - для совместимости. Есть три анимации, которые стоят особо - это IdlingLevel1, IdlingLevel2, IdlingLevel3. Они выполняются сами по себе по очереди, если вдруг пользователь не обращает внимания на персонаж . Чаще всего персонажи засыпают, хотя действия могут быть какие угодно. По этому, что бы персонаж был как живой - рекомендую сопоставлять этим анимациям какие либо действия. Сделать это можно так: слева в ветвях дерева, где иконка мужчины в очках и шляпе нажмите на "+" - раскроется States где найдите IdlingLevel1, IdlingLevel2, IdlingLevel3, Нажмите на первую из них - справа появится весь список ваших анимаций. Поставьте галочку у той которая будет выполняться автоматически, и так три раза. Можно всем трем сопоставить одну и туже анимацию. Если персонаж будет использоваться в приложениях типа MS Office, то необходимо заполнить все 16 стандартных анимаций. Для контроля поставте галочку в Supports standard animation set, и если что то не так, то вы проект не скомпилируете, пока не исправите ошибку.(или не уберете галочку :-) Последний штрихНу вот практически и все. Созданный шедевр собираем - в меню пункт Build Character или соответствующую кнопку на Toolbar. Сохраняем стандартным способом, имя лучше писать на латыни, хотя работает и кириллица. Сохраняется 2 раза - один раз проект, потом сам персонаж. Готовый персонаж загрузите в программу R_TUS.exe,или подобную и проверьте во всех режимах. Если что то не так работает, как хотелось бы - открывайте файл проекта и вносите изменения. Рабочий говорящий персонаж, состоящий из одного кадра "Снеговик" всего 8Кб - сравните с Merlin - 2Mb есть разница? Готовый персонаж (файл *.acs) перенесите в папку WindowsMsagentChars и пользуйтесь. |