スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

UnityでMMDキャラの表情モーフ操作(2017年版)

 2017-09-24
今回は超ひさしぶりに、UnityでMMDキャラを使う記事!
mk00_20170924184855362.jpg


↓の記事の修正版になります。

【UnityでMMDキャラの表情モーフ操作(2014年版)】
http://unimake2.blog.fc2.com/blog-entry-22.html

いろいろ書き足りないところや、最近わかったこともあるので、
修正版として新たに、UnityでMMDキャラの表情変更の方法を書こうと思います。
なお途中までは、上の記事の内容とほぼ同じですので、
途中まで飛ばしてみてもらってかまいません。

UnityでMMDキャラの表情モーフ操作(2017年版) の続きを読む

スポンサーサイト
タグ :

Unityでボイスに合わせてMMDキャラが口パク

 2014-11-30
前回はMMD4Mecanimを使って、MMDモデルの表情を変えたり目パチする方法を試しましたが、
今回は口パクのテストをします。
Unityでボイスファイルを再生させると、ボイスに合わせて口が自動的に動いて、
しゃべっているかのように見せることができるらしいです。




使うモデルは引き続き、Tda式初音ミク・アペンドVer1.00を使っていきます。



vo9_201411300001456d2.jpg
まずはしゃべらせたいボイスの素材を用意します。
これはゆっくりボイスでおなじみのSofTalkです。
無料で使えるのでこれにしましたが、音声ならばボーカロイドでもフリー音声素材でも
なんでもOKです


vo15.gif
作った音声をWav形式で保存するのですが、この時ファイル名をひらがなで、
読み上げてほしいボイスと一緒にしないといけません。
ファイル名をスクリプトが読み取って、口パクするためです。

保存したら、そのファイルをUnityにドラッグ&ドロップして持ってきます。


さて、ここからキャラに口パクさせるのに2種類の方法があるのですが、
まずは『MMD4MecanimSpeechHelper』を使った方法を書きます。

vo16.gif
『MMD4MecanimSpeechHelper』はMMD4Mecanimフォルダの中のScriptsの中に入っているので、
このスクリプトをモデルに設置します。

vo17.gif
Speech Audio Clipの箇所にさっき作ったボイス音声ファイルを設置します。

できたらさっそくテストプレイ!

vo10_20141130000144f3a.jpg
ボイスが流れて、それに合わせて口パクをしてくれました!
いや~、初めて見るとこれはなかなかの感動モノです。
ですが、この方法だとテストプレイ後すぐに音声が流れてしまいますし、1回しか流れません。
次は任意のタイミングでクリックしたときにボイスを流したいって時のやり方です。

vo12.gif
まずはSpeech Audio Clipの部分を何もない状態(Noneの状態)にします。
(右の○の箇所をクリックすると設定できます)

次にボイスを流すためのスクリプトを作成します。
名前は、とりあえずCutipakuOnにしました。
キャラをクリックすると、ボイスが流れるようにします。


C#で記入した例


using UnityEngine;
using System.Collections;

public class CutipakuOn : MonoBehaviour {

//参照するオブジェクト
public GameObject Hoge2;
//スクリプトを用意
MMD4MecanimSpeechHelper script2;
//音声ファイルを用意
public AudioClip speechAudioClip2;



// Use this for initialization
void Start () {

//スクリプトを参照
script2 = Hoge2.GetComponent();

}


//クリックされたらボイス再生
void OnMouseDown(){

//音声ファイルを格納
script2.speechAudioClip = speechAudioClip2;

}
}



ssv5.jpg
スクリプトをモデルにセットし、Hoge2の箇所にしゃべらせたいモデルを。
下の部分には音声ファイルをセットします。


vo14_20141130011457e9d.jpg
これでモデルをマウスでクリックするとしゃべってくれるようになります。
タッチイベントとかもこれでできそうですね。


vo14.gif
Playmakerでのボイス再生の例

こちらの詳しいやり方はMMD4Mecanim配布サイトの
解説の中にあるモーフ拡張の部分で、詳しく説明されています。
Stereoarts Homepage



【追記】

『MMD4MecanimSpeechHelper』を使ったやり方を書きましたが、この他に
『MMD4Mecanim LipSync Plugin』というプラグインでも口パクができるようです。
こちらではリアルタイムに口パクさせたり、
文章を入力して好きなようにしゃべらせる…ってこともできるようです。

Unity でリアルタイムにリップシンクする MMD4Mecanim LipSync Plugin を作ってみた - 凹みTips

vo18.gif

ダウンロードしたプラグインの中にある『MMD4M_Lip Sync』というスクリプトをモデルにセット。
AudioClipに音声ファイルをセット、テストプレイを開始してPlayの部分をクリックすると音声が流れます。
さらに、Wordの部分に文章を入力してTalkを押すとその文章をしゃべってくれるという素敵な機能が!
…あるらしいんですが、ウチのUnityではエラーが出て試すことができませんでした…

Windows7には対応してないのかな? 動作環境を見るにMacかwin8じゃないとダメっぽい?


【さらに追記】

UnityモデルのUnityちゃんで同じように口パクさせる方法ですが、
先ほどと同じサイトでやり方が載っていました。

ユニティちゃんが声に合わせて口パクしてくれるリップシンクアセットを作ってみた - 凹みTips

vo24.jpg

これでUnityちゃんでボイス再生させながら、口パクにも対応です!


決まった台詞をしゃべらせたいときは『MMD4MecanimSpeechHelper』、
生放送などでリアルタイムに色々としゃべらせたいときは『MMD4Mecanim LipSync Plugin』と
使い分けるのがよさそうです。
タグ :

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用のキャラ等で同じようにモーフ操作できるかどうかはわからないです…
記事が長くなってきたんで、口パクのテストとかは次回に持ち越し。

 
タグ :

Unity で MMD

 2014-09-02
今回は、UnityにMMD(MikuMikuDance)のモデルデータを持ってくるテストをやってみます。
調べたところ、MMD4Mecanimという神ツールを使えば可能らしいです。

こちらのサイトの説明を参考に
http://qiita.com/SatoruNoda/items/e44762ab9f97de756c66


まずは『MMD4Mecanim』をダウンロードして、Unityにインポート、
次にMMDのモデル(PMX)を用意してフォルダごとUnityにドラッグ&ドロップ。
今回使用するのは『Tda式初音ミク・アペンドVer1.00』です。

モデルの入ったPMX用ファイル内の.MMD4MecanimをクリックしてFBX化を行います。


さて、結果は?



前回と同じ! なぜかピンク色に!?
…検索して調べてみたところ、Unityのバージョンによって、このようなバグ?が起きるみたいです。
Ver.4.5.2以上で発生するらしく、自分の使ってたのを見てみたらちょうど4.5.2でした…
これではどうしようもないので、4.5.1のUnityをインストールしなおしました。 すると…

ssmmd2.jpg
おおっ! ちゃんと表示されました!

ssmmd3.jpg
MMDのダンスモーションも、MMD4Mecanimでモデルを変換するときに一緒に変換できるので
Unityで躍らせることもできます!
いや~これはスゴイ… ボーンとかモーションの変換とか手間かかるだろうなと思ってたのに、
まさかこんな簡単にできるとは思わなかった。


ssmmd4.jpg
せっかくなんでユニティちゃんと共演させてみる。
しかし、ユニティちゃんに合わせてDirectional Lightをあてるとアペミクさんが真っ白に…
そこで、こちらのサイトの記事を参考に、モデルごとに別々のDirectional Lightを割り当ててみます。

ssmmd6.jpg

いい感じに表示ができるようになりました!

ちなみに、表情替えはこちらの記事を参考にアニメーションレイヤーとボディマスクで替えてます。
他のやり方では、テストプレイ中にモーフをいじって表情を替えることもできるけど、
テストプレイを閉じるとモーフが元に戻っちゃうっぽい?


MMDからモデルやらモーションやらを持ってこれるのは夢が広がりますなぁ~
とはいえ、MMD素材は規約がいろいろ厳しいのでアセット素材みたいに気軽にゲームで使って
配布したりってのは出来ないけども。
個人的に楽しんだりするぐらいかな?
MMDで自分でモーション作ってUnityで使うってことは出来るかも。これが出来たら捗りそう。
カテゴリ :UnityでMMD トラックバック(-) コメント(0)
タグ :
≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。