Unityで音声に合わせてキャラを口パクさせる方法について LIVE2D 初級者用

LIVE2DのキャラでUnity上で、音声に合わせて口パクさせていきたいんですが、

それ以外にも、自動で瞬きや、キャラが自動でゆらゆらさせて、自然な感じを出していきたいと思います。

LIVE2DのキャラでUnity上で、音声に合わせて口パクさせたい

 

ということで、

まずは音声に合わせて口パクをするというところまでを

以下のチュートリアルに沿って書いていきます。

http://sites.cybernoids.jp/cubism2/lets-do-it/my-first-lapp

 

そもそもLIVE2Dっていうのは、

二次元のバーチャルキャラを作れるサービスですね。

厳密にいうと、違うかもですが。

 

そして、

今回の記事に関して、

LIVE2Dのチュートリアルを見ればええやんとなりますが、

細かくて、繰り返すには苦痛。

 

自分なりにそのチュートリアルをさらに、使いやすいメモに書き換えていきます。

ということで、

 

まず、

LIVE2DをUnityで使うために、LIVE2Dのホームページから、

Cubism SDK for Unity をダウンロードします。

 

これで、UnityでLIVE2Dのキャラを操作できるようになります。

 

 

ダウンロードしたら、ダブルクリックするか、

ファイルをUnityへ投入し、インポートします。

 

SDKをインポート | SDKチュートリアル | Live2D Manuals & Tutorials

Unityにキャラを表示させる。

まず、

この記事がわかりやすいので、

【初心者向け】UnityとLive2Dで拡張しやすいVTuber配信システムを作る方法 - Qiita
はじめにこの記事はVTuber Tech #1 Advent Calendar 2018の1日目の記事です。こんにちは、@nkjzmです。今回はUnityとLive2Dを使ったVTuber配信…

わからなければ、この記事を参考にしてください。

 

キャラが必要なのでサンプルデータを今回は使ってみます。

ということで、

LIVE2Dからサンプルデータをダウンロードします。

Not Found | Live2D Manuals & Tutorials

が、ダウンロードできるキャラクターは、限られています。

キャラを色々使い方は、有料にするか、

自作でキャラを作る必要があります。

 

LIVE2Dでキャラを作るには

キュビズムエディターというものを使います。

 

Live2D Cubism Editor ダウンロード | Live2D Cubism
静止画からキャラクターに命が吹き込まれる、Live2Dの感動を体験しよう! 42日間限定でPRO機能を試しいただけます。Live2Dでの体験をお楽しみください。

ここでは、詳しい使い方は、紹介しません。

チュートリアルをご覧ください。

というか、自分自身が理解できてませんので。

 

mocファイルを作成

 

で、キャラを用意できたら、

Unityでキャラを表示させるためには、

mocファイルというものを作らないといけません。

 

それも、

キュビズムエディターでできるので、

キュビズムエディターを起動します。

 

キュビズムエディターの開くから、

先ほどダウンロードしたhiyori_free_t06.cmo3を開きます。

 

そうすると、キャラが表示されると思います。

 

 

そして、ファイル→組み込み用ファイルの書き出し→moc3ファイル書き出し

で、ファイルを保存します。

そうすると、mocファイルができると思います。

 

Unityの操作

Unityをまず2Dで作成します。

そして、

開いたら、先ほどダウンロードしたUnityのSDKをインポートします。

 

 

これをUnityにドロップすると、

 

 

このような画面になると思います。

そして、右下のインポートをクリック。

 

そうすると、

エラーが出る場合があります。

 

以下のようなエラーが出る場合があります。

 

Live2DCubismCore.bundle”は、開発元を検証できないため開けません。

 

これは、Macの場合、

システム環境設定→セキュリティとプライバシー→一般で、

実行許可が下に表示されてると思うので、

それを許可(画像では、許可してしまっているので出ていません)

 

 

そうすればOKです。

無事にインポートできたと思います。

 

そして、先ほどのmoc3ファイルを含めたフォルダをUnityにインポートすると、

prefabファイルができると思います。

そのprefabファイルをドロップすると、

キャラが表示されると思います。

 

prefabファイルができない場合は、

ファルダの中がおかしい可能性があります。

 

それでは、チュートリアルに沿って、

キャラクターにモーションなどをつけていきます。

 

キャラクターの視線をドラッグで追従できるようにする設定方法

キャラクターに視線を追従していく設定を説明していきたいと思います。

 

チュートリアルには、

CubismLookControllerをアタッチすると書いてあります。

アタッチってなんやねん?となりますが、

要は、Unityのコンポーネントに追加ということですね。

まず、先ほど追加したhiyoriのprefabファイルを選択、

 

 

 

 

右のコンポーネントを追加で、

 

CubismLookControllerと入力します。

 

出てきたら、追加します。

 

 

チュートリアルに沿って、ブレンドモードはオーバードライブにします。

 

オーバードライブの理解が及ばないので、オーバードライブの意味を理解したい方は、チュートリアルを見てください。

 

視線追従の設定 | SDKチュートリアル | Live2D Manuals & Tutorials

 

その後、

上図のターゲットの部分に、

 

CubismLookTargetのスクリプトをアタッチさせた、

gameprojectをアタッチします。

 

スクリプト っていうのは、プログラムですね。

 

図のように、create→C#スクリプト でできます。

ファイル名は、なんでもいいですが、

CubismLookTargetとします。

 

 

CubismLookTargetのスクリプトは、チュートリアルのをそのままコピペします。

 

 

で、このプログラムをそのまま、ビジュアルスタジオなどに貼り付けます。

 

自分は実行エラーが出ました。既に存在しているみたいな警告でした。

意味不明だったので、

一回、全部スクリプトファイルを消して、

再度、やり直したら大丈夫でした。

 

スクリプト ができたら、

新しくゲームプロジェクトをつくり、

これにアタッチします。

 

 

 

 

そして、このゲームプロジェクトを先ほどの、

ターゲットの部分にアタッチします。

 

 

これで、視線の追従の設定が終わりました。

次に、実際に目と顔を動かし方について、

書いていきます。

 

ドラッグで目と顔を追従するようにする

カーソル?キーポインター?(名前あってる?マウスとかで画面上に動いてる矢印のこと)をドラッグしながら動かすと、

目と顔を追従させる方法を説明していきます。

 

まずは、コンポーネントに、

 

下図のヒエラルキーの中の、

hiyoriの階層に、パラメーターというものがあると思います。

その中の、

PARAM_ANGLE_XとY

PARAM_EYE_BALL_XとY

が下図のようにあるとおもいます。

それを選択し、そこに、

CubismLookParameteをアタッチしていきます。

下図の右側のように一つずつですね。

 

 

これで、再生ボタンを押して、

ドラッグして動かすと、顔と目が追従してくると思います。

 

 

 

キャラクターを自動でまばたきをさせるには

次は、キャラクターを自動で瞬きする設定をこちらのチュートリアルに沿って

説明していきます。

 

 

自動まばたきの設定 | SDKチュートリアル | Live2D Manuals & Tutorials

 

モデルのプロジェクトに、

CubismEyeBlinkControllerというコンポーネントをアタッチします。

 

 

アタッチできたら、チュートリアルに沿って、

ブレンドモードをオーバードライブに設定します。

 

これで、瞬きの設定はまず、終わりました。

次に、どこを瞬きさせるかのパラメーターの設定をしていきます。

 

 

まばたきをさせるパラメータを指定

CubismEyeBlinkParameterというスクリプトを、

まばたきさせたいパラメーターにアタッチします。

 

具体的には、

ParamEyeLOpenとParamEyeROpen

です。

 

以下の図のように、

先ほどと同じように、一つずつコンポーネントに追加していきます。

 

 

これで、まばたきできる状態になりました。

次に、自動で瞬きさせる設定をします。

 

自動でまばたきをさせる設定をする

モデルにCubismAutoEyeBlinkInputをアタッチします。

 

これで再生ボタンを押せば自動でまばたきしてくれると思います。

 

もし、動かない場合は、

 

スクリプト名が紛らわしいので、

スクリプト名やアタッチしてるところを間違えている可能性があるので、

確認してくださいね。

 

音に合わせてキャラクターを口パクさせる

ようやく、本題です。

口を動かすには、

まず、キャラクターに、口を動かすCubismMouthControllerをコンポーネントに追加します。

 

で、またブレンドモードはオーバードライブにしておきます。

 

次にパラメーターの設定をするので、

キャラクターのパラメーターMouse0penYにCubismMouthParameterを検索し、コンポーネントに追加し、アタッチします。

 

 

 

 

次に、音声を追加する設定をします。

キャラクターにCubismAudioMouthInputというコンポーネントを追加します。

 

 

新たに、

ゲームオブジェクトを作成し、(onseiyouとしときます)

そこに、

AudioSourceというコンポーネントを追加し、

 

 

そこにオーディオクリップというところがあるので、

そこに音声データをアタッチします。

 

 

 

 

そして、そのゲームオブジェクト(ここではonseiyou)を

CubismAudioMouthInputのAudio Inputにアタッチする。

 

 

チュートリアルだと、

ゲイン1とsmoothing5になってるが、

smoothingの値が1までしかいないので、多分ゲイン5だろう。

 

というよりも、このキャラクターだと、

ゲインをあげないと口を大きく開けてくれない。

 

もっと、大きく口を開閉させたい場合、

キュビズムエディターの方で、

口のサイズを調整するしかないです。

 

とりあえず、

これで、音声に合わせて口パクはできると思います。

 

より高度に、あ、い、う、え、お、によって、口の開き方を調整することは可能ですが、

ちょっと、できなかったので、需要があれば、

またの機会にお伝えするかもしれません。

 

ついでに、

そのあとのチュートリアルのキャラクターを周期的に動かすも、

お伝えします。

 

キャラクターを周期的に動かす。

 

まず、モデルに

CubismHarmonicMotionCotrollerをコンポーネントに追加します。

 

次に、動かしたパラメーターに、

Cubism Hamonic Motion Parameterをアタッチします。

 

例えば、チュートリアル通りにやると、

ParamAngleX

に追加します。

 

 

そうすると、首を周期的にふります。

 

※注意

ParamAngleXにアタッチしても、

動かない場合、

ドラッグで動くLOOK controllerの設定してと、

自動で動かない場合があります。

そんな時は、

LOOK controllerのチェックをはずすと自動で動くようになると思います。

 

 

 

まとめ

基本的には、

キャラクター自体に、

controllerのスクリプト をアタッチし、

動かしたい部位に、

例えば、

目の開閉だったら、目のパラメーターに、

目を動かすパラメーターのスクリプトをコンポーネントに追加していくという流れですね。

 

ややこやしいですが、

なれてくれば、すぐできるようになると思います。

自分は、忘れては、やりの繰り返しです。

コメント

タイトルとURLをコピーしました