UniPapagayo

Ср 06 сентября 2017

Набросал тут небольшой юнити проект с липсинком.

Голосовые дорожки на фонемы размечаю с помощью программы Papagayo-ng. На выходе из программы получаем текстовый файл примерно такого содержания:

3 rest
4 etc
7 AI
9 etc
11 WQ

Парсится это элементарно. Левая колонка - кадры (те что в papagayo), правая - фонемы. А затем по полученным данным либо переключаем анимации (как сделал я), либо, если игра 2д, просто меняем спрайт рта.

Разберу немного подробнее процесс.

img

  1. Экспортировать нужно в формат MOHO. Получается файл с расширением .dat, я эти файлы в юнити читаю с помощью TextAsset, поэтому меняю расширение на .txt.

  2. В этот проект, для 2д примера, картинки рта я взял прямо из программы. В ней есть только наборы изображений для фонем preston_blair. В 3д примере я тоже ориентировался на них.

  3. Длительность кадров, в конкретном куске речи, я считаю как: длина звуковой дорожки / количество кадров, поэтому эту полоску нужно вытягивать до последнего кадра.

Ну а все манипуляции в юнити можно посмотреть в исходниках. img

Аниматор я такой себе, но вот результат:

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

Сылка на репозиторий

on the top