3D Engineering

...Лучшее из общего.

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Нужно предварительно войти в

Александр Охота


Подготовка.

Для начала скачаем и инсталлируем программу - speechanimator_zip.exe. Нужно предварительно войти в курс дела - почитать на досуге страничку помощи программы - "Описание технологии".
Также нам понадобится тестовая модель чайника - teapot.zip.

Для "чистоты эксперимента" создадим файл "Азбука.wav" без карты звуков. Для этого сдублируем файл из комплекта поставки "SpeechAnimator.wav" как "Азбука.wav". После этого удалим карту звуков - меню программы "SpeechAnimator.exe" - сервис - удалить карту звуков из файла... Выбираем файл "Азбука.wav". Получаем сообщение программы - Звуки успешно удалены из файла "Азбука.wav".


Этап 1.
Транскрибирование.

Откроем в программе "SpeechAnimator.exe" файл "Азбука.wav". Будет выдано сообщение - "Файл Азбука.wav не имеет таблицы звуков! Транскрибировать?" Ответим - Да. Далее увидим нечто подобное следующему - Рис.1


Рис.1

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


Рис.2

При этом можно выбирать несколько звуков подряд - мышкой в области колонки звуков, либо при помощи клавиши "Shift".
Прослушать выбранные звуки можно, щёлкнув на кнопке . Просмотреть результат синхронно со звуком - кнопка . По ней воспроизведение начинается с текущей выбранной позиции.
Будем рендерить при 30 кадрах в секунду. Время между морфемами при глубине 1 - 0,0464 сек, а между кадрами - 0,0333 сек. Поэтому увеличиваем глубину разбиения до 2 (0,0232 сек) - нажимаем кнопочку . Подтверждаем наше намерение увеличить глубину разбиения.

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

На этом транскрибирование можно считать законченным. Жмём кнопку и выходим из программы "SpeechAnimator.exe". Пока спасибо и на этом.


Этап 2. Привязка базовой модели.
Привязка осуществляется в среде "3D Studio MAX R3.X". Вообще-то подходит любая версия, был бы модификатор "Skin". В "3D Studio MAX R2.Х", как мы знаем, такого и не увидишь. А "Skin" для нашего дела - САМОЕ ТО! Для начала загрузим тестовую модель. Чего-то кривовато выглядит... Ну да ладно. И такая сойдёт.
Нажимаем File-Merge... Ищем наш злосчастный "model.max". Он должен быть в папке инсталляции программы "SpeechAnimator". Далее выбираем загрузку всех объектов - на всякий случай.
Проверяем настройку - "Use Selection Center" и "World" в списке "Reference Coordinate System" - .

Подгоняем всё это дело поближе к "ротику" чайника, простите за выражение. Разворачиваем на 180 градусов относительно оси OZ (World) и градусов на (-20) относительно оси OX (World). Ну, как кому нравится, так и лучше. Самое главное пока, чтобы передняя часть "губ" базовой модели находилась как раз посередине "губ" чайника:


Рис.3

В нашем случае не будем масштабировать базовую модель.
Скроем объекты - "Bottom Mouth" и "Tongue Line" - они нам не понадобятся.


Переходим к по-точечному редактированию линий. Здесь есть очень важный момент. Вся работа программы опирается на тот факт, что положение и ориентация базовых точек всех объектов базовой модели совпадают! Поэтому при операциях с объектами базовой модели нужно за этим следить.
Выберем объект "Static Line". В режиме "Sub-Object"(и только в нём) перемещаем точки и приводим его примерно к такому состоянию:



Рис.4

Примерно то же самое проделаем и с объектом "Mouth Line"


Рис.5

Только в этом случае сдвигаем только точки 1 и 5 "Mouth Line"


Теперь поработаем с "Lips LineTop" и "Lips LineBot". Сдвигаем, как и прежде, только точки 1 и 5. В процессе сдвига точек парами (а так удобнее) 3D MAX спрашивает, не хотите-ли эти самые точки совместить. Так вот: кто очень хочет, пусть так и делает; а мы - не будем! Их ещё даже нужно немного раздвинуть:


Рис.6

Здесь нужно заметить, что точки 1-1 и 5-5 "Lips LineTop" и "Lips LineBot" желательно разместить как можно ближе друг к другу.

Вроде-бы всё. Выглядит неплохо. С "по-точечным" редактированием линий закончили. Переходим к модификатору "Skin".

Назначим "Skin" чайнику. Добавим кости "Lips LineTop", "Lips LineBot", "Mouth Line", "Static Line". Посмотрим, что получилось.
Выберем кость "Static Line". Перейдём в режим "Sub-Object" модификатора. Включим флажок "Color VerticesWeights".


Рис.7

По моему мнению, некоторые точки не стоят такого внимания этой косточки. Они ограничены жёлтой линией.
Включим флажок Filters "Vertices", выберем эти лишние точки и назначим им вес "0".
Примерно такого же эффекта можно достичь, изменяя диаметр "Envelopes".


Переключимся на кость "Mouth Line". Здесь тоже не всё в порядке:


Рис.8

Обнулим вес точек внутри области, ограниченной жёлтой линией

Теперь перейдём к кости "Lips LineTop":


Рис.9

И здесь придётся обнулить вес всех точек в области, ограниченной жёлтой линией. Не нужно пока трогать только часть точек на верхней "челюсти" чайника.

Примерно такая же ситуация с "Lips LineBot":


Рис.10

Нужно обнулить вес всех точек в области, ограниченной жёлтой линией.
Ну, для начала вроде достаточно.



Этап 3. Генерация анимирующего скрипта.
Вернёмся к программе "SpeecAnimator.exe". Откроем нашу "Азбуку". Нажимаем кнопочку .


Рис. 11

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



Этап 4. Выполнение скрипта и доводка модели.


В "3DMAX" выполняем наш скрипт "SpeechAnimator.ms". Много времени это не займёт.
Установим 6 кадр - звук "А". Вроде, всё неплохо выглядит. Только рот можно было и посильнее открыть. Но это мы потом исправим.
Установим 13 кадр - звук "У". Вес точек в прищёчных ямочках должен распределяться примерно так - 50% - "Mouth Line", 25% - "Lips LineTop", 25% - "Lips LineBot".
Если некоторые точки вылезают в неподходящие места, вес их можно назначать прямо в текущем кадре. Выбираем нужную кость, режим "Sub-Object", и т.д..

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

Пойдём вторым путём. Сгенерируем новый скрипт с такой пропорцией (см. рис.). Может показаться, что нужно было увеличивать длину челюсти, но это не так. Если мы увеличим длину челюсти, в результате рот будет открываться меньше. Это происходит потому, что для достижения заданных пропорций фронтальной проекции рта его и нужно меньше открывать.
После выполнения нового скрипта подключим "Азбуку" к сцене и сделаем превью для просмотра.
Получили привязанную модель чайника 3DMAX. Сейчас можно заставить его сказать не только "Азбука", а кое-что посолиднее, например, пусть споёт "Город" Б.Г.! На страничке поддержки http://www.chat.ru/~speechanimator/index.htm есть эта песня с картой звуков. Только для работы придётся конвертировать файл в формат PCM - 22050 Гц. Для этого можно использовать встроенный конвертер программы.

Желаю успехов в использовании данной технологии!

С уважением, разработчик, Александр Охота.
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript



 

Архив статей

 дек   Январь 2020   фев

ВПВСЧПС
   1  2  3  4
  5  6  7  8  91011
12131415161718
19202122232425
262728293031 
Julianna Willis Technology

Случайная новость

Верстак В. А.

Отрывок из книги
3ds Max 8. Секреты мастерства (+CD)
Верстак В. А.
Издательский дом "Питер", 2005г.

 

С выходом восьмой версии программы 3ds Max появилась возможность создавать различные прически для трехмерных персонажей, не прибегая к подключаемым модулям сторонних разработчиков. Выполняя предыдущие упражнения данной главы, вы научились моделировать и текстурировать голову человека. Остался последний шаг на пути к целостному портрету — волосы. Рассмотрим, как делаются волосы при помощи стандартного модификатора Hair and Fur (Волосы и мех ).

Для выполнения упражнения откройте построенную и текстурированную ранее модель головы, которую можно найти на прилагаемом к книге компакт-диске в папке CH11\Max. Файл называется texturing_end.max .

Прежде чем применить модификатор построения волос, необходимо выполнить некоторые подготовительные операции. В первую очередь следует оставить для работы только один объект — модель головы. Для этого в любом из окон проекций выделите объект Head и, щелкнув на нем правой кнопкой мыши, выберите из списка контекстного меню строку Hide Unselected (Спрятать невыделенное). Далее необходимо определить ту область модели головы, на которой эти волосы будут расти. Для этого можно воспользоваться модификатором Mesh Select (Выделение сетки), используя который следует выделить область, соответствующую естественному росту волос. Можно также построить сплайны, которые будут определять длину, направление и форму прически. Второй способ предполагает большую свободу в моделировании прически, поэтому им и воспользуемся.

Прежде чем строить сплайны для формы волос, рассмотрим некоторые моменты, связанные с таким построением:
  • все сплайны должны принадлежать одному объекту;
  • начало сплайнов (первая точка) должно находиться в начале роста волос (волосы строятся от корней);
  • при построении волос модификатор Hair and Fur (Волосы и мех) производит линейную интерполяцию между соседними сплайнами, в связи с чем необходимо иметь достаточное количество сплайнов для создания прически нужной формы;
  • интерполяция ведется с учетом порядковых номеров сплайнов, поэтому сплайны необходимо либо строить в строгой последовательности, либо после построения изменить порядок их следования.

Начните построение сплайнов, для чего выполните команду меню Create 4 Shapes 4 Line ( Создание 4 Формы 4 Линия ). Начните строить сплайн с лобной части головы и продлите его вниз вдоль правой стороны лица (рис. 11.134).

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

Проконтролируйте положение сплайна во всех окнах проекций — он не должен пересекаться с поверхностью модели головы и иметь форму первого локона волос.

Постройте новый сплайн на затылочной части головы или копируйте и подредактируйте созданный. Продолжите построение сплайнов с таким расчетом, чтобы по периметру головы расположилось от 10 до 15 сплайнов (рис. 11.135). Рис. 11.134. Первый сплайн, определяющий форму волос Рис. 11.135. Форма и расположение сплайнов относительно модели головы

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

1. Выделите первый сплайн, расположенный справа от лицевой части модели головы. 2. В свитке Geometry (Геометрия) щелкните на кнопке Attach (Присоединить), в результате она выделится цветом. 3. В окне проекции Top (Сверху) последовательно выберите все построенные сплайны, продвигаясь по кругу вправо.

Теперь можно применить модификатор для создания волос на основе сплайнов. Для этого выделите построенные сплайны и на командной панели выберите из списка модификаторов строку Hair and Fur (WSM) (Волосы и мех (WSM)).

Прежде чем настраивать отображение, установим источник света, который будет генерировать тень от волос. ВНИМАНИЕ Для генерации теней модификатором Hair and Fur (Волосы и мех) используются только направленные источники света типа Target Spot (Направленный с целью) или Free Spot (Направленный без цели), к настройкам которых добавляется свиток с параметрами тени для волос.

Чтобы получить на модели головы тени от волос, выполните следующие действия.

1. В свитке Tools (Сервис) модификатора Hair and Fur (Волосы и мех) щелкните на кнопке Render Settings (Параметры визуализации), в результате откроется окно Environment and Effects (Окружающая среда и эффекты).

2. В одном из окон проекций выделите направленный источник света с именем hair_shadow (в вашем случае это может быть любой другой источник света данного типа).

3. В свитке Hair and Fur (Волосы и мех) окна Environment and Effects (Окружающая среда и эффекты) щелкните на кнопке Add hair properties (Добавить свойства волос), в результате чего к настройкам выбранного источника света добавится свиток Hair Light Attr (Свойства источника света для волос).

4. Проследите за тем, чтобы в области Shadows (Тени) свитка General Parameters (Общие параметры) настроек источника света был установлен флажок On (Включить), а в свитке Hair Light Attr (Свойства источника света для волос) — флажок Light hair (Освещать волосы). В данном свитке можно увеличить значение параметра Resolution (Разрешение), чтобы получить более качественные тени (рис. 11.136).

Рис. 11.136. Свиток Hair Light Attr (Свойства источника света для волос)

Вернитесь к настройкам модификатора Hair and Fur (WSM) (Волосы и мех (WSM)). Определите общие параметры модификатора в свитке General Parameters (Общие параметры), установив количество волос ( Hair Count (Количество волос)), количество сегментов по длине волоса ( Hair Segments (Количество сегментов)), толщину волоса ( Root Thick (Толщина волоса) и толщину конца волоса Tip Thick (Толщина концов)) и т. д. Флажок Interpolate (Интерполяция) должен оставаться установленным, чтобы поверхность волос строилась с учетом интерполяции между сплайнами (рис. 11.137).

Рис. 11.137. Свиток General Parameters (Общие параметры) настроек модификатора Hair and Fur (WSM) (Волосы и мех (WSM))

В свитке Material Parameters (Параметры материала) укажите параметры, которые будут влиять на отображение волос при визуализации. Образцы цвета Tip Color (Цвет концов) и Root Color (Цвет у корней) определяют соответственно цвет волос на концах и у корней. Параметр Hue Variation (Оттенки цвета) влияет на то, в какой степени цвет волос будет отличаться от указанного в образцах цвета. Параметры Specular (Цвет зеркального отражения) и Glossiness (Глянец) аналогично одноименным параметрам редактора материалов отвечают за блеск волос. Настройте также параметр Self Shadow (Собственная тень) и другие параметры свитка Material Parameters (Параметры материала) (рис. 11.138).

Параметры свитков Frizz Parameters (Параметры вьющихся волос) и Kink Parameters (Параметры курчавости) можно использовать с целью получения вьющихся волос.

Более важным с точки зрения общих настроек является свиток Multi Strand Parameters (Параметры локонов), позволяющий настраивать вид локонов, создавая пышность и хаотичность прядей волос. Здесь можно задать параметры плотности ( Count (Количество)), расширения волос у основания ( Root Splay (Расширен ие у о снования)) и на концах ( Tip Splay (Расширение на конце)), а также случайное распределение ( Randomize (Случайное распределение)) (рис. 11.139).

Рис. 11.138. Свиток с настройками параметров материала волос Рис. 11.139. Свиток Multi Strand Parameters ( Параметры локонов ) ПРИМЕЧАНИЕ Все вышеописанные настройки формы и отображения волос в значительной степени зависят от формы, длины и расположения сплайнов относительно друг друга. В связи с этим тонкая настройка параметров возможна только в процессе тестовой визуализации. При этом можно редактировать не только параметры модификатора, но и сами кривые на уровне подобъектов.

Кроме построения сплайнов по периметру модели можно создать единичные сплайны для отдельных локонов (например, челки). В этом случае необходимо снять флажок Interpolate (Интерполяция) в свитке General Parameters (Общие параметры) и настроить отображение локона, используя свиток Multi Strand Parameters ( Параметры локонов).

На рис. 11.140 представлена модель головы с созданными волосами.

В качестве самостоятельного задания можно рекомендовать создать прическу, используя выделенные полигоны на уровне редактирования подобъектов модификатора Hair and Fur (Волосы и мех) и окно Style (Стиль), которое вызывается кнопкой Style Hair (Стиль волос) свитка Tools (Сервис). Кроме того, в области Presets ( Предустановки ) этого же свитка существует возможность загрузки предварительно сохраненных и запись собственных стилей причесок. Эта возможность является хорошим способом создания базовых параметров для последующего их редактирования и точной настройки с учетом особенностей модели.

Рис. 11.140. Результат визуализации модели головы вместе с волосами ПРИМЕЧАНИЕ Модель головы с волосами представлена в файле hair.max , который находится в папке CH11\Max прилагаемого к книге компакт-диска.

далее