Unity

【VRM】Unityでリップシンクと表情モーションを作る方法を徹底解説!!

どうも、コニーです!

この記事では

・VRMでリップシンク(口の動き)を作りたい
・VRMで表情モーションを作りたい
・プラグインとかわからん

という方向けに

プラグインを使わずに表情や口の動きを付ける方法を紹介します!!

画像を使って丁寧に解説していくので、
初心者でも大丈夫です

この記事のゴールはこんな感じです

 

ステップとしてはこんな感じになっているので、
順番に読んでいけば上の動画が作れます!!

今回のステップ

Step0:使う素材をダウンロード
Step1:口の動きを作る
Step2:表情モーションを追加する

それではやり方を見ていきましょう!!

本記事はニコニ立体ちゃんライセンス利用規約に基づいて制作しています

【Step0】今回使う素材(モデル)

先に今回使う素材とそのダウンロードリンクを貼っておきます

VRMモデル『ニコニ立体ちゃん』

今回動かすVRMモデルはアリシアちゃん、通称ニコニ立体ちゃんです

公式のリンクはこちらです

>>>ニコニ立体ちゃんダウンロードURL

UniVRM

VRMをUnityにインポートするためのツールです

unitypackageでダウンロードしておきましょう!
お持ちのものがあればそのバージョンで大丈夫です

>>>UniVRMダウンロード先

【Step1】Unity上でVRMのリップシンクを作るやり方

それではさっそくUnityでVRMのリップシンクを作っていきましょう!

 

やり方を一言で表すと

『VRMにもともとついているブレンドシェイプを再現して動かす』

 

VRMにはブレンドシェイプという
口の動きや表情を表すためのテンプレートみたいなものが設定されています

これはこれで便利なのですが、動画を作る上ではめっちゃ使いづらいので自作しようというのが今回のやり方です

 

全体の流れとしては

(1)準備
(2)アニメーションクリップ作成
(3)アニメーションの編集

という感じです

 

「VRMのインポートやTimelineの準備などはもう知っているよ」というかたは③から読み進めてOKです!

①VRMをインポートする

まずはサクッとVRMをインポートしましょう!

ダウンロードしてきたUniVRMとVRMファイルを
UniVRM→VRMという順に読み込みます

UniVRMはunitypackageファイルを、VRMは.vrmとなっているものを探します

そしてそれぞれUnityのプロジェクトウィンドウにドラッグ&ドロップします

UniVRMの導入

 

VRMのインポート

 

このときそれぞれフォルダを作ってファイル分けしておくと見やすいですよ!

 

VRMファイルをヒエラルキーに移して原点に配置します

 

カメラは図のように設定しましょう(後ほどいじります)

カメラの設定

②Timelineを準備する

次にTimelineの準備です

 

ヒエラルキーでCreateEmptyを選択し、Timelineを動かすようのオブジェクトを作ります

そのオブジェクトを選択しながらTimelineウィンドウからTimelineを作りましょう

 

ここらへんは普通のTimelineの導入なので、もしわからない場合はUnityのチュートリアルを見てください

Timelineウィンドウがない場合は画面上のツールバーにあるWindowから作れます

③Timelineにモデルをセットする

次にTimelineにアリシアちゃんをセットします

 

ヒエラルキーのアリシアちゃんをTimelineウィンドウにドラッグ&ドロップします

「AddAnimationTrack」を選択して図のようになったらOKです!

アリシアちゃんをTimelineにセット

④アニメーションクリップを準備する

さてここからが今回の主題、アニメーション制作です!

今回は「あ」と口を開けるアニメーションを作っていきます!

 

先にゴールをお見せするとこんな感じです

 

Unityを再生しなくてもTimelineに沿って口が変化しているのがわかりますね!

 

まずはプロジェクトウィンドウでAnimation用のフォルダを作ります

めちゃめちゃたくさんのアニメーションクリップを作ることになるので、フォルダを作らないと悲惨です!笑

 

そしてフォルダ内で「Mouth_A」という名前のアニメーションクリップを作成してください

アニメーションクリップは
右クリック>Create>Animation
で作れます

⑤VRMのブレンドシェイプの中身を確認する

次に「あ」と口を開いた状態を再現するのに必要なブレンドシェイプを確認します

プロジェクトウィンドウで「BlendShape」と検索し、一番最初に出てくるやつを選択します

BlendShapeと検索

 

BlendShape確認画面

 

これはVRMのブレンドシェイプを追加したり編集したりできるファイルです

そのモデルに設定されているブレンドシェイプが一覧でわかるので、「これ作りたい!!」というのを探すときに便利です!

今回はシンプルに「A」(「あ」の形のもの)を選びます

ブレンドシェイプを選ぶとプレビューが見れます
表示されていないときはインスペクター右下にある『BlendShape』バーを引き上げると見れると思います

 

そして「A」を選択したままBlendShapeListをクリックします

表示されるのがVRMのブレンドシェイプがいじっている対象です

BlendShapeListの中身

 

今回だと「bs_face.mouth_a」というやつですね!

名前はいかついですが、これは制作者が悪いです笑
そういうもんと受け入れてください

⑥アニメーションを作る

いよいよ先ほどのブレンドシェイプを使ったアニメーションを作っていきます

 

まずはTimilineウィンドウのアリシアちゃんのトラックで右クリック

「Add From Animation Clip」を選択して、「Mouth_A」を選んでください

Timelineにクリップを追加

アリシアちゃんが埋まってしまいますが、ダンスモーションをつけると直ります。
カメラのY座標を0.4にして、いったん無視してください。

⑦アニメーションクリップの編集

追加されたMouth_Aクリップをダブルクリックして編集画面に移ります

 

まずはAddPropartyをクリックしてこのクリップで操作する対象を選びます

今回は先ほど登場した「bs_face.mouth_a」を選びます

 

アニメーションクリップの中身

 

場所が結構複雑で
mesh>face>SkinedMeshRenderer>BlendShape.bs_face.mouth_a
という感じになっています

 

VRMのモデルごとにファイル構造が違いますので、場所はモデルごとに違います

しかし大体「Face」の下のSkinedMeshRendererにあるので参考にしてください

SkinedMeshRendererの配置

 

ここからは普通のアニメーション作成と同じです

キーフレームを打って0~100の間でアニメーションさせます

今回はわかりやすく、口を閉じた状態から開いてまた閉じるという動きを作りました!

 

ちなみに表情モーションも同じやり方で作れます

⑧複数クリップを作ってつなげる

④~⑦の作業を必要なクリップ分作り、つなげていきます

それぞれ作って編集していくと結構な数になります

割と面倒な作業ではありますが、一番あなたの腕が光るところなので頑張ってください!

 

それができたらリップシンクの完成です!!!

ここまで作った自分をほめて、そして動画をみてニヤニヤしてください笑

【Step2】Unity上でVRMの表情モーションを作る方法

ここからは

Step1で作った口の動きに表情モーションを追加していきます

Step2のゴールとなる状態はこんな感じです

 

どうですか?
かなりかわいくないですか!?(笑)

無表情で口パクしている状態に比べて随分とかわいさが増したと思います

このステップで重要なのは1つだけ!!

UnityのOverrideトラックを使うことです

この機能をうまく使うことで簡単に先ほどの動きが実装できます

UnityのOverrideトラックについて

それではさっそくOverrideトラックについて解説していきます

まず「Overrideって何?」ということなんですが、
Overrideとは上書きするという意味です

なのでOverrideトラックというのは
Timelineにすでにあるトラックを、上書きしてアレンジするよ~というものです

今回だと
口の動きに表情アニメーションを上書きして付け足す
という感じになります

アニメションをレイヤーで管理するといったら伝わる方もいるかもしれません

なんとなくわかりましたか?
後は実際の手順をみてみると納得感が出ると思います!!

表情モーションの作り方の流れ

Overrideトラックについてなんとなく掴めたところで、
実際に口+表情アニメーションをさせる手順を見ていきましょう!

今回は

①アバターマスクを作る
②Overrideトラックを作る
③Overrideトラックにアバターマスクを設定
④アニメーションを作る

という順番でやっていきます

「アバターマスクって何?」と思ったかもしれませんが、
これは「どのパーツを上書きしますか?」っていうのを決める作業です

簡単なので記事を見ながら一緒にやっていましょう!

①アバターマスクを作る

まずはアバターマスクを作っていきましょう!

先ほども言いましたが
アバターマスク=上書き場所の指定
です

Overrideトラックをどのパーツに反映させるかを指定することができます

実際のやり方ですが

プロジェクトウィンドウで
「右クリック>Create>AvatarMask」
を選択します

アニメーションクリップを作った時と同じですね!

そして名前は「Mask_Face」としてください

アバターマスクをクリックすると「Humanoid」と「Transform」という2つの項目があります

今回は「Humanoid」の方だけ使うのでそちらをクリックしてください

すると人型の図が出てきますが、
各パーツをクリックして図のように顔だけ緑になっている状態にします

VRM_AvatarMask顔AvatarMaskの設定

 

勘の良いかたはお気づきかもしれませんが、
この緑の部分が上書きする場所です

なので
「腕の動きを上書きするときは腕」
「指先の動きを上書きするときは指先」
を緑にすれば複雑なアニメーションも実装できます!

②Overrideトラックを作る

次に例のOverrideトラックを作っていきます

まずはTimelineウィンドウを開きます

そしてStep1で作ったアリシアちゃんのアニメーショントラックを選択します

すると赤丸の横に「:」の3個バージョンみたいなやつがあるので、それをクリックします
(あれなんて言うのかわからない…)

そして「Add OverrideTrack」を選択するとOverrideトラックを作成することができます!

Overrideトラックを追加したときの図

 

③Overrideトラックにアバターマスクを設定

次に先ほど作成したアバターマスクをOverrideトラックに適用させましょう

Overrideトラックを選択して、インスペクターを見ます

するとAvatarMaskを選べる場所があるので、そこから「Mask_Face」を選択します

AvatarMaskを設定

 

これでOverrideトラックに
「この部分を上書きしてね~」
と教えることができました!

③アニメーションを作成

さていよいよ最後の工程です

Step1で紹介したやり方で表情のアニメションを作ってください

1層目は口の動き、
2層目(Overrideトラック)は表情の動き
という風に分けるように作ると作業しやすいです

今回はアリシアちゃんのモデルについていたこちらの表情モーションを追加していきます

今回の表情「Fun」

 

余裕がある方はいくつか表情を作ってみましょう!

これを作るやり方はStep1のやり方のまんまなんですが、複数クリップを作るときに一つだけ注意です

それは
アニメーションクリップを作るときモデルのデフォルト状態が他のクリップの影響を受ける場合がある
ということです

要は
「設定していないのに勝手に値が変わっちゃうパーツがある」
ということです!

残念ながら私には原因がわかりません…

なので力技ですが、他のクリップで操作しているものの値を0にして影響をなくすというやり方が手っ取り早いと思います

同じ理由で何も表情をつけたくない場合は、
Overrideトラックで操作しているすべての対象の値を0にするクリップを作るといいでしょう

もっといいやり方が見つかればまたご紹介します

Step2の完成版

ともあれできたTimelineがこちら!!

完成したTimeline

 

そしてそれを動かしたのがこちらです

 

ちゃんと表情が変化してかわいくなってます!

リップシンク作成方法まとめ!!

お疲れさまでした!

これで「Unity上でVRMのリップシンクと表情モーションを作るやり方」をマスターできたはずです!!

 

軽くですが今回のまとめです

リップシンクと表情の作成方法まとめ

・VRMのブレンドシェイプをアニメーションで再現
・操作対象はFaceの下にあり
・クリップ作ったらあとは気合
・Overrideトラックで上書き

1曲分のリップシンクを作るのは割と面倒くさい作業です

ですがこのクソ長記事を読み切ったあなたなら、きっと1曲完成させることができると思います笑

あなたのVRMをもっと表情豊かにしてあげてください

 

またUnityで簡単に使えるエフェクトもあるので、
それを使うとより魅力的になると思います

UnityのMV、ライブ演出で使える!! おすすめエフェクトアセットまとめUnityでMVやライブ演出を作る際におすすめなエフェクトアセットを紹介します。「もっと感動するライブを作りたい!!」という方にぜひ使ってほしいものだけを掲載しています。...

この記事があなたの役に立てば幸いです
ではまた!!