UnityでMMDキャラの表情モーフ操作

 2014-11-18
以前の記事で、MMD4MecanimでMMDモデルをUnityに持ってきましたが、
[記事]Unity で MMD
その続きで、MMDキャラの表情変更をテストします。


Vo1.jpg
使うモデルは前回に引き続き、Tda式初音ミク・アペンドVer1.00です。

表情を変えるためのスクリプトですが、こちらのウダサンコウボウ様のスクリプトが
とても使いやすくて便利だったので、使わせていただきました。
ウダサンコウボウ: [Unity]MMD4MFace - MMD4Mecanimの表情制御



Vo1_2.jpg
ダウンロードしてUnityにインポートした図です。
こちらのスクリプトを使って、キャラの表情を操作していきます。


Vo1_3.jpg
モデルにMMD4MFace ControllerとMMD4MFaceのスクリプトをセット。
そして、Morph Nameに表情のモーフ名を入力するんですが、
モーフの名前が日本語で、Unityで入力できない場合、
こちらのケットシーウェア様のスクリプトを導入すると、日本語入力ができるようになりました。

Unity4.3のインスペクターで日本語入力する方法 | ケットシーウェア

Vo4.jpg
表情を変えたい場合は、MMD4Faceを追加していきます。


次に表情を切り替えるためのスクリプトを用意します。
名前はとりあえず、Clickhyouzyouで。
キャラをクリックすると表情が変わるようにします。


C#で記入した例


using UnityEngine;
using System.Collections;

public class Clickhyouzyou : MonoBehaviour {


//クリックすると表情が変わる
public GameObject Hoge1;
public MMD4MFaceController script1;

//スクリプトを参照
void Start () {
script1 = Hoge1.GetComponent();
}

//クリックされたら表情変える
void OnMouseDown(){
script1.SetFace("angly");
}
}



Vo15.jpg
スクリプトをモデルにセットして、hoge1の場所に表情変更したいモデルを設定します。


Vo6.jpg
いざ、クリックしてみると
見事にはちゅ目モーフに切り替わってくれました!



Vo5_20141118223744de7.jpg
(追記)Playmakerでの切り替わりの例


今度は目パチの実装です。
Vo3.jpg
MMD4MFace Blinkを使います。
数値で目パチまでの時間の長さなどを設定できるようです。
Preferred Morphsには、目を閉じている表情を設定しておきます。


Vo14.jpg
これでランダムで目パチしてくれるようになりました!
やっぱ表情がつくとキャラも生き生きしてきますねー

とても便利なスクリプトなんですが、MMDキャラ以外の
Unity用のキャラ等で同じようにモーフ操作できるかどうかはわからないです…
記事が長くなってきたんで、口パクのテストとかは次回に持ち越し。

 
タグ :
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:

http://unimake2.blog.fc2.com/tb.php/22-413d8dcc

≪ トップページへこのページの先頭へ  ≫