Unity上のミクにしゃべってもらうまでのメモ

メモ書きなのでざっくり描きます。
MMD for Unity(以下M4U)でTda式アペンドミクさんをimportしてしゃべらせるまで

Tda式ミクアペンド.pmdhttp://bowlroll.net/up/dl16535 で調達する。(パス忘れた)
(pmxはM4Uで不可だし、PMDエディターでゴリ押しするとimportはできるけど、ボーンが死んでる。)

M4UでPMDをimportする。

importしたミクさんのボーンが壊れているので直してあげる。
http://d.hatena.ne.jp/hecomi/20130701/1372688924 を参考に。
追記:一見難しそうに見えますが、CCDIKSolverをいじったほうが良いかなと思います(こっちのほうが簡単)。
親子関係をいじるほうだと変に間違ってしまうことがあるので。

これで一応VMDはLoadできるようになったので適当にVMDをLoadする。
(ただしMMDver8.xで作ったモーションは動かない。自分はver7.39でやってます)

一応これでできそうに思うけど、重大な罠があって
VMDをAnimationに変換処理するときにExpression(表情)は変換されない(バグ?)
これを(ここ)を参考にコードを書きなおす。


これでMMDで作ったモーション(表情含)を完全に読み込むことが可能。

次はしゃべってもらうための音源作りとしてVOCALOID02Editorを用いる。

要はトークロイドしてもらうわけだけど、http://www.nicovideo.jp/watch/sm13651475
この解説動画を参考に作る。

音源が完成したらWAVとVSQを出力する。

VSQはモーション作成に使う。MMDを用いて上のmenuの「表情→vsqによるリップシンク」からVSQを読み込んで口パクモーションを自動的に生成する。
ただしVSQは0小節目も含んでいるためその分リップシンクのモーションフレームが240ほど後ろにいってるので、そこを範囲選択してvmdを保存する。

WAVについても最初の8秒くらいが0小節目として無音が登録されてしまっているので
SoundEngineFreeを用いて、無音部分を削る。
(WAV読み込み→波形タイムラインで右クリック→無音→両端無音削除)

以上で0フレーム目からはじまる口パクモーションとWAV音源を作れたのでそれぞれUnityにつっこむ

あとはVMDLoaderでさっき作った口パクモーションをLoadして、WAVをなんとかアニメーションに対応するように実行するようにコードを書く。


終わり。

以上メモ書きでした・。・

まとめるとM4Uを使ってミクでなにかするにあたって
・ボーンがぶっ壊れてるので直す。
・MMDv7.xxでモーションを作る。
・表情モーションをアニメーション変換できるようにコードを書き直す
・音源と口パクモーションをきれいにする。
ということです。