Сегодня я напишу, как создать сцену в Face Poser'e, используя основные "энтити". Также я опишу все закладки и их использование. А также научу озвучивать NPC вашим голосом. Итак,что нам потребуется: 1. Model Viewer, в нем будем выбирать анимацию для нашего NPC (в Face Poser есть свой браузер анимации,но он не очень удобный) 2. Стандартная программа звукозаписи. Это на тот случай, если вы сами будет озвучивать NPC. 3. SAPI 5.1(Microsoft Speech SDK 5.1). Это необходимо для генерации фонем (опять же, если вы сами будете озвучивать NPC) 4. Face Poser [править]Описание редактора Итак, запускаем Face Poser. Нажимаем "Choreography>New>вписываем название" (я назвал "new_choreo"), жмём сохранить. Теперь, в появившемся окне вписываем имя актора (я вписал "choreo_actor"). Чтобы загрузить NPC, нужно нажать "File>Load Model" (я выбрал модель "Male_02"). Сначала я опишу,зачем нужны закладки снизу. Output - это что-то вроде консоли,тут выводятся все события,сообщения и ошибки. Иногда, если возникают какие-то траблы, полезно туда глянуть. 3D - догадайтесь сами. Close Caption - довольно бесполезная вещь. Во время проигрывания сцены,там пишется что проигрывается. Короче, это субтитры. Control Panel - тот самый глючный браузер моделей,работает так же, как Model Viewer. Phoneme Editor - отсюда загружаем нестандартные фразы (голосовые), генерируем и создаём фонемы. Flex Animation - тут будем настраивать лицевую анимацию. Gesture - тут будем настраивать Gesture анимацию Ramp - тут будем крутить голову NPC =) Expressions - тут показано как NPC шевелит губами,произнося определённую букву (буквосочетание). Animation - тоже что то вроде браузера моделей, только в картинках. Тоже не очень удобно сделано, но это нам ещё пригодится. Flex Slider - тут будем выбирать, какие движения лица будут использованы в лицевой анимации. Choreography - догадайтесь сами. Waves - глючный и ненужный браузер звуков. Вы наверно заметили, что я не написал о закладке "Scene Ramp". Я не знаю, что это, да и без этого можно обойтись . Все закладки открываются/закрываются двойным кликом. [править]Создаем каналы Переходим к созданию каналов. Надо создать несколько каналов для энтить. Почему несколько? Потому что так будет удобней и аккуратней. Примерно посередине экрана, слева, вы видите надпись "choreo_actor"; жмём на неё правой кнопкой, выбираем "New>Channel", вписываем имя "sound" - здесь будут звуковые трэки. Тем же макаром создаем ещё один канал, называем его "gesture" - там будет gesture-анимация Создаём ещё один, "look at" - тут будем указывать,куда надо смотреть NPC. Ещё новый канал, "seq" - здесь будет анимация. Создаем последний канал,называем его "Flex" - здесь будет лицевая анимация [править]Создаем анимацию Добавим NPC голос. В канале "sound" жмём пкм и выбираем "WAV File". Появится неудобный и глючный браузер звуков. Выбираем там голос какого нибудь NPC. Я выбрал "canals.gunboat_owneyes", это речь ситезна "Не верю своим глазам, Гордон Фримен собственной персоной!" (Впишите в Filter, например gunboat, и вы найдёте этот звук). Можно несколько раз потыкать на кнопку "Play Sound", тогда голос будет меняться с мужского на женский. Даём имя "hi_gordon". Нажимаем Ok. Добавим NPC анимацию. В канале "seq" нажимаем пкм и выбираем ""Sequence", там имеется большой список анимаций, нам необходимо выбрать что-нибудь. Но ведь надо знать то выбираешь! Поэтому временно закрываем это окошко и переходим к закладке "Animations" (Там выбираем закладку "All", если она не выбрана). Здесь можно быстро что-нибудь выбрать. Чтобы проиграть анимацию, надо выбрать картинку, нажать пкм и держать. Я выбрал анимацию "d1_t02_Plaza_Sit01_Idle" (NPC сидит с опущенной головой). Чтобы добавить в сцену эту анимацию, надо перетащить картинку в канал "seq". Face Poser спросит, что это будет, gesture или sequence? Выбираем sequence, жмём Oк. Появляется то самое окно, которое мы недавно закрыли. И там уже выбрана анимация. Вписываем имя (я вписал "sit"), жмём Oк. Это loop'овая анимация, т.е. длится бесконечно; такие анимации можно растягивать, потянув за край трека (пока оставим как есть). Теперь нужно добавить анимацию того, как NPC встаёт из этой позы. Выбираем её там же (она называется "d1_t01_BreakRoom_Sit01_to_Idle"), даём ей имя "stand". Теперь в анимационном канале у нас 2 анимации. Анимацию "stand" нужно расположить под анимацией "sit", что бы она как бы чуток "заехала" под предыдущий трэк. Это надо для того, чтобы всё было плавно, без рывков. 1. Также анимацию можно выбрать в Model Viewer и вписать её название где надо. 2. В том браузере с картинками имеется поиск, его тоже иногда надо юзать. 3. Иногда после перетягивания картинки в канал, трэк не появляется. Если он не появился, попробуйте ещё раз. Добавим NPC жестикуляцию (руками, головой и туловищем). Здесь всё почти так же, как и с анимацией. Заходим во вкладку "Animations", там выбираем закладку "Gestures". Там на картинках показан только первый кадр анимации, поэтому выбирать её будет неудобно. Поэтому лучше открыть Model Viewer. Здесь в списке анимации находим названия начинающиеся на "b_". Это и всё что идёт ниже - Gesture анимации. Выбираем. Выбрали "bg_accentFwd" (NPC немного наклоняет голову и туловище вперёд). Опять заходим в Face Poser, находим эту анимацию и перетягиваем картинку в канал "gesture". Face Poser опять спросит, что это. Оставляем ответ "Gesture". Даём имя "gest1" .Всё, Gesture анимация добавлена в канал. Добавим ещё парочку. Опять открываем Model Viewer. Находим анимацию "bg_accentUp". Добавляем её в канал как написано выше, называем "gest2". Ещё добавим. Выбрали "G_medurgent_mid", назвали "gest3". Осталось 2 трэка, "look at" и "Flex", к ним вернёмся чуть позже. А пока совместим фразу и анимации. Левый край трэка "sit" (это наша луповая анимация) двигаем к самому началу канала, на нулевую секунду (для большей точности можно зайти в "свойства-пкм>Edit Event 'sit'", поставить точку на Absolute и вписать там 0), т.е. в игре после старта сцены NPC сразу будет сидеть. Теперь растягиваем анимацию, например, до двух секунд (можно на глаз), до штрих-пунктирной линии 2.00, или же можно открыть свойства и отметить флажок "End Time" и вписать, на какой секунде кончится эта анимация. Ставим 2, жмём ок. Теперь трэк "stand" подтягиваем под трэк "sit". Теперь начало звукового трэка перетягиваем примерно на четрвёртую секунду, как это сделать более точно я уже писал. Ну вот, теперь NPC сидит, потом встаёт и говорит:"Не верю своим глазам, Гордон Фримен собственной персоной!" Передвигаем трэк "gest2" примерно на начало фразы, а если быть точным -- на 3.873333 секунду; длину оставляем как есть -- 6.306667 сек. Теперь передвигаем (но не тянем) "gest1" туда, где кончается "gest2". После синий треугольник "apex",на трэке "gest1" тянем примерно туда, где идёт слово "гордон" (так же эти треугольники можно двигать в закладке "Gesture", позже скажу что это за треугольнички). Вот, при помощи 2-х gesture анимаций мы выразили удивление NPC при виде Фримена. Теперь настроим движения рук. Передвигаем (но не тянем) "gest3" примерно туда где начинается "gest1". Теперь у "gest3" передвигаем треугольник "end" где-то на 7.600 секунду. (Кстати, на бегунке указаны секунды). Теперь о треугольниках. Эти треугольники как бы разбивают анимацию на части, и каждой части можно задать определённую длину. apex - от начала трэка и до него идёт начало анимации.apex-пик начала анимации. accent - от apex досюда идёт конец пика анимации. loop - от accent досюда идёт переход в луповую анимацию, т.е. самая длинная часть анимации. end - от loop досюда анимация повторяется и может повторятся сколько угодно, всё зависит от длины трэка. Отсюда и до конца анимация заканчивается. Вообще об этих треугольниках сложно писать, нужно самому с этим поэксперементировать. Естественно, под каждую фразу (часть фразы) их нужно отдельно настраивать, чтобы выглядело лучше. И желательно, чтобы треугольники не перепутывались и не меняли последовательность. *если вам кажеться что анимация начинается/кончается слишком быстро/резко, можно раздвинуть треугольники* Теперь нужно сделать так, чтобы NPC смотрел прямо в глаза игроку, а не куда-то в бездну. Зададим ему цель, на которую смотреть. На канале "look at" ставим энтитю "Look at Actor", вписываем имя (я написал "look"). Поле "Look at Actor": choreo_actor - смотреть на себя самого. !player - то что нам надо,будет смотреть на игрока. !enemy - будет смотреть на врага. !self - на себя. !friend - на друга. !target* - на энтитю "info_target". Растягиваем трэк от начала до конца (можно покрутить колесо мыши, что бы увеличить/уменьшить размеры каналов). Так, трэк готов, но голова NPC поворачивается к игроку резким рывком - это не есть гут. Исправляем. Открываем закладку "Ramp". Выделяем трэк "look". В самом низу окошка "Ramp", примерно на третьей секунде (именно там кончается анимация "stand") ставим точку (Ctrl+пкм). Ставим ещё одну точку, уже наверху, примерно на 3.590 сек. И ещё одну сверху, где-то на 8.800 сек, именно там кончается фраза (точек можно наставить сколько угодно, но в данном случае трех вполне достаточно). Появился график. Объяснить, как работает график, довольно трудно. Проще говоря, по линии идёт нарастание анимации поворота головы. Например, если кажется, что в начале голова слишком быстро поворачивается, можно отодвинуть вторую точку дальше (навести курсор на точку,нажать и держать пкм). Или же можно приподнять первую точку (навести курсор на точку,нажать и держать пкм), но тем самым поворот головы начнётся немного раньше, т.к. вместе с точкой приподнимется линия до неё. Конец трека настраивается таким же образом. Теперь добавим анимацию фейса. Здесь надо проявить максимум креатива и фантазии. Нажимаем "Options>Center on Face", открываем закладку "Flex Sliders" и выделяем нужные пункты. Нам надо выразить удивление на лице NPC. Можно пошевелить верхние бегунки, чтобы увидеть что это за движения. Главное потом - снять выделение с ненужных пунктов и оставить только то, что надо. Не обращайте внимание на положение бегунков, их расположение непринципиально. В канале "Flex" создаём энтитю "Flex Animation", даём имя "Flex", Absolute 0 (хотя это и не так важно), жмём Ок. *По ходу написания тутора я решил добавить ещё одну gesture нимацию, имя "gest4", анимация "G_what". Начало примерно на 4.100 сек, конец на 6.100, "end" оттянем до 5.600* Теперь открываем закладку "Flex Animation", где-нибудь под бегунком нажимаем "пкм>Flex>Copy from Sliders" и в списке становятся выделеными те пункты, которые только что выбирали. Опять заходим во "Flex Sliders", жмём "Zero sliders". Всё очищается, чтобы не мешало. Теперь в окне "Flex Animation" жмём "пкм>Expland>Used Tracks" - открываются выделенные пункты. Снова видим графики. Принцип работы тот же, что и в "Ramp", но здесь лучше ставить побольше точек, я бы даже сказал "рисовать" анимацию точками. Это тоже трудно обьяснить, самому нужно всё понять. Кстати, точки можно выделять и удалять кнопкой Delete. Так же тут необязательно поднимать все точки до самого верха: какое-то движение может быть сильнее, какое-то слабее. Вот и всё, сцена готова!
Источник: http://wiki.hl2.ru/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%86%D0%B5%D0%BD%D1%8B_%D0%B2_Face_Poser |