SynthVのプロジェクトファイルからアニメーションを作る
SynthesizerVのプロジェクトファイルからiClone8のフェイスアニメーションを自動生成するプラグインを開発しています。
デバッグ用に訳の分からない機能を付けているので、忘れないうちにメモっておきたい。
また、普通に使い方も説明します。
※現在開発中であり、配布するかどうかもわかりません
概要
SynthesizerVのプロジェクトファイルからiClone8のフェイスアニメーションを自動生成する。
現在リップシンク(母音のみ)に対応。
子音や各種パラメーターによる表情のアニメーションにも対応予定。
下準備
SynthVに音素記号ベイクスクリプトをインストールする
BakeLyric.jsというスクリプトを作成しました。
動作は次の通りです
各トラックをコピーする
コピーしたトラックタイトルに「_bake」を追加する
コピーしたトラックの音素記号をベイクする
といったところです。
これをしないとプロジェクトファイルに音素記号が乗らないので、iClone側で読むのが難しくなります。
インストール方法は、メニューの「スクリプト」にある「スクリプトフォルダを開く」を押し、出てきたフォルダにある \scripts\Utilities へBakeLyric.jsを配置し、スクリプトを再スキャンすると出てきます。
フェイスアニメーションの使い方
SynthVプロジェクトの音素記号をベイクするし、保存する
先ほどインストールしたスクリプトでSynthVプロジェクトをベイクし、そのまま閉じます。
ベイクした音素記号は音素記号を直接編集することで音声等の編集が可能です。
ベイクしたトラックの音素記号が緑色になっていればOK。
アニメーションを生成する
iCloneでアバターを召喚します。
SynthV to iCloneの main.pyを実行します。
「file select」を押し、svpファイル(synthV プロジェクトファイル)を指定します。
複数トラックがある場合は「select svp track」を変更し、アバターに歌わせたいトラックを指定します。
複数アバターがいる場合は「avatar」を変更し、適用するアバターを選択します。
Runを押すと現在のグローバルタイムからアニメーションが追加されます。
完成するとこんな感じのアニメーションになります。
現在母音のみのため違和感がすごいですが、子音の追加やアニメーションクリープ機能なんかも追加することで多少マシになると思います
開発者用メモ
簡単にフェイスキーを記録なりなんなりできるようなutilityを作成しました。
フェイスキーをキャプチャする
フェイスキーをクリックし、編集した表情を.pyデータに保存する機能です。
修正ウインドウのモーションにある「FaceKey」をクリックし、表情を付けたあと、Capture faceExpをクリックすると表情をpyデータに変換します。
アニメーションテンプレートの作成方法
facialTemplateの内容を元に現在選択中のアバター向けのフェイスアニメーションテンプレートを作成する。
実行する必要はあまりないが、facialTemplateの更新を行いときに実行する。
例:アバターの仕様変更によりパラメータが増加した場合に実行するといいかもしれない
アニメーションテンプレートのコンバート
facialTemplateの内容を元に現在選択中のアバター向けにフェイスアニメーションテンプレートを使用可能なpyデータに変換する。
main.pyと同じ階層にフォルダを作成し、そのフォルダを保存ファイルに指定。
するとfacialTemplateを元に実際に使用可能なpyデータが作成される。
また、作成の際、不要なグループを省くことでアニメーション生成時の最適化を行っている。
変換後はsingData.pyにimportし、dirListにキーと「フォルダ名.dic」を追加することで使用できるようになる。
選択項目は後で作ります。
これからの課題
子音への対応
表情への対応
グループの対応
singDirectory選択項目の追加
たぶんこれ以外にもやることいっぱいある…
がんばるぞい