スポンサーサイト

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

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』と
使い分けるのがよさそうです。
スポンサーサイト
タグ :
≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。