LoginSignup
0
0

More than 1 year has passed since last update.

MMDリソースをUnityに導入する方法

Last updated at Posted at 2022-08-25

使用するUnityプラグイン

1,MMD4Mecanim
https://stereoarts.jp/
2,MMD2UnityTool
https://github.com/cnscj/MMD2UnityTool
3,Oculus LipSync
https://developer.oculus.com/documentation/unity/audio-ovrlipsync-using-unity/

参考したweb
https://blog.gcrest.com/archives/404
https://kan-kikuchi.hatenablog.com/entry/OVRLipSync

手順:

1、MMD用モデル(.pmx)とモーション(.vmd)をUnityに導入
pmxモデルを直接Unityプロジェクトにインポートします。
ここはMMD4Mecanimを使います。
Unityでpmxデータを選択して、利用規約が出てくる、それを同意して進みます。
inspectorにpmxモデルとvmdモーションを入れて、FBX出力パースを設定します。
Processを押せばデータがFbxに出力します。

2、カメラモーション導入
カメラモーション(.vmd)をUnityプロジェクトにインポートします。
右クリック→MMD2UnityTool→Export Camera Vmd To Anim

3、Unity Recorderを使ってモーションを録画(しなくてもいい、でもモーションは多少誤差があるかもしれません)
使用しているモデルはRead/Write Enabledにチェックを入れるのを忘れずに
設定は画像を参考に
1.png

4、Oculus LipSyncを使って口の形状を音声に合わせる
\Assets\Oculus\LipSync\LipSyncInterface.prefabのプリハブをsceneに置きます。
キャラクターにOVR Lip Sync ContextとOVR Lip Sync Context Morph Targetコンポーネントを追加します。
追加すると自動的にAudio Sourceも追加されます。
OVR Lip Sync Context Morph TargetのSkinned Mesh Renderにblendshapeが含めるMeshを入れます。
各口の形のblendshapeを指定します。
Element0-15:sil,PP,FF,TH,DD,kk,CH,SS,nn,RR,aa,E,I,O,U
参考画像はhttps://developer.oculus.com/documentation/unity/audio-ovrlipsync-viseme-reference/
普通はaeiouだけ入れればいいです。
blendshapeは表示順番で上から0番、1番、2番・・・
対応のblendshapeの番号を入れます。
Image.png

使用する音声をAudio Sourceにいれます。
Audio Sourceを含めるオブジェクトをOVR Lip Sync ContextのAudio Sourceに入れます。
Audio Loopbackにチェックを入れます。
OVRLipSyncContextMorphTarget.csの119列前後のVoid Update()をVoid LateUpdate()に修正します。

5、これで実行すれば口は音声の通り動くはずです。
可能であればUnity Recorderでblendshapeのアニメーションを撮ったほうがいいですが、
自分はなぜか.animデータが出力されませんので、
一旦このまま使います。

(キャラの他のblendshapeアニメーションが付いた状況でOculus LipSyncを使っても問題なさそうです。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0