CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Live2D】Facerigでマウスを使って動作や表情変化させる方法
こんにちは。
さて、今回はFacerigでマウス操作をする方法を解説していきます。
Facerigで表情や動作を追加する方法はいくつかあります。
マウス操作もよく使われる手法で、自由度が高いのが特徴です。
色んな使い方があるので、それぞれ紹介していきますね。
マウスで腕を動かす方法
まず、一番よく使用されるのが腕を動かす動作です。
Shift+マウスクリックした状態で、マウスを上下に動かすことで、腕を動かすことができます。
これはバイバイなどの表現をするために使われることが多いです。
この動画ではZXCVキーのどれかにポーズチェンジの設定をして、その後Shift+マウス上下で腕を動かすことで、バイバイの動作を実装しています。
Live2Dで腕の動きのパラメータを生成
まず、Live2D上でマウスに対応するパラメータを作っていきます。
今回の方法で対応するパラメータは以下の2つです。
パラメータ名 | パラメータ範囲 | 動作 |
PARAM_ARM_R | -10~10 | 右腕の動き |
PARAM_ARM_L | -10~10 | 左腕の動き |
パラメータ名を上記の表のように設定することで、それに対応する動きが実装されます。
パラメータ範囲は-10~10にしていますが、この範囲でなくても動きます。
今回の作ったモデルでは0~10に動きを設定しています。
一方向で動きを作る
パラメータを作ったら、それぞれに左右の腕の動きを付けていきます。
ここで注意点として、-10→10といったように一方向で動きを付けるのがおすすめです。
このモデルでは0→10で動きを付けています。
後述しますがFacerigの仕様だと、この方がFacerig上の操作が簡単になります。
こちらのバイバイの作り方に関してもっと詳しく知りたい人は以下の記事を参考にしてください。
cfgファイルに記述する
動きを付けたら、cfgファイルに記述していきます。
今回のモデルの場合、cfgファイルにはこのような記述になります。
- set_arm_l_param キャラ名 ‘PARAM_ARM_L’ 0 10 0
- set_arm_r_param キャラ名 ‘PARAM_ARM_R’ 0 10 0
最後の3つの数値は以下のように対応しています。
最初の数字 | 真ん中の数字 | 最後の数字 |
今回の場合「0」 | 今回の場合「10」 | 今回の場合「0」 |
デフォルトの位置 | クリック状態で、マウスを上に動かしたときに向かう数値 | クリックしたときに向かう数値 |
ここで最初の数字と最後の数字は同じにした方がいいです。
Facerigで試してみればわかりますが、クリック時にデフォルトに戻るようにしないと、制御が難しくなります。
これはクリック時の動きとクリック状態+マウス上が干渉してしまうからです。
ここは言葉で説明するよりも、試した方がわかりやすいと思うので、もし試したい人は試してみましょう。
今回のモデルは0~10で腕の動きを対応させているので、この書き方ですが、-10から動きを設定している人は以下のような書き方でも大丈夫です。
- set_arm_l_param キャラ名 ‘PARAM_ARM_L’ -10 10 -10
- set_arm_r_param キャラ名 ‘PARAM_ARM_R’ -10 10 -10
パラメータの対応させ方によって、こちらの数値の記述方法は変わるので、それぞれ設定しましょう。
Facerigで確認しよう
cfgファイルに記述したら、Facerigで確認しましょう。
Facerig上で動かない場合は何かしらミスをしている場合があります。
Facerig上で動かないケースの対処法は以下のまとめているので、チェックしてみてください。
手のひらも動かせるが…
実は、腕だけではなく手のひらも動かすことができます。
- 操作:Shift+Ctrl+マウスクリック状態で左右
- パラメータID:PARAM_HAND_L、PARAM_HAND_R
cfgファイルへの記述は以下のようになります。
set_hand_l_param キャラ名 ‘PARAM_HAND_L’ 0 1 -1
set_hand_r_param キャラ名 ‘PARAM_HAND_R’ 0 1 -1
3つの数字は腕の動作の時と同じです。
ただ、使ってみればわかりますが非常に使いにくいです。
腕を動かしながら、手のひらも動かすのは無理があるので、僕としては腕のパラメータに手のひらの動きも入れるのがおすすめです。
このようにパラメータを設定すれば、1つの操作で腕と手のひらを動かすことができます。
バイバイの動作の場合、この方が綺麗に見えるので、ぜひ実装してみてください!
マウスで表情変化させる方法
こちらは応用ですが、Alt+左クリックの状態で左右に動かすとPARAM_BODY_ANGLE_X(角度X)のパラメータが反応します。
Live2Dだと以下のパラメータです。
このパラメータは体のX軸の動きに使用されますが、この動きを他のパラメータに移して、このパラメータを表情変化のパラメータとして使用することで、マウス操作で表情変化させることが可能です。
物理演算で体の回転Xを実装
例えば、体のX軸の動きを別のパラメータに移し、その動きを顔の動きに追従させるなどの方法もあります。こちらは割と綺麗に動かせるのでおすすめの方法です。
作り方は以下の記事で解説しています。
つまり、PARAM_BODY_ANGLE_Xに表情変化の動きを設定することで、マウス操作で表情変化をすることが可能ということです。
Live2Dで表情変化のパラメータを生成
ではLive2Dで表情変化のパラメータを生成してみましょう。
PARAM_BODY_ANGLE_Xに表情変化を追加していきます。
ここには好きな表情を入れてもいいですが、0が基準値で-10~10までパラメータを動かすので、滑らかに表情が遷移するように作った方がいいと思います。
今回は以下のように表情を作ってみました。
パラメータ | 表情 |
-10 | 怒り顔 |
0 | デフォルト |
10 | 驚き顔 |
マウス操作の場合、-10からいきなり10に移ることができないので、このようにデフォルトを挟んで2つの表情を作ることになります。
Facerigで確認しよう
こちらの方法はcfgファイルに記述する必要ないので、出力してFacerigで確認しましょう。
Alt+左クリックをしながら、左に動かすとパラメータがマイナス方向に、右に動かすとプラス方向に動きます。
マウスを止めると、パラメータは止めた位置で維持されます。
今回のように2つの表情であれば、非常に使いやすいですね。
反応しない場合はパラメータ名が違うケースがあるので、確認してみてください。
それでも動かない場合は以下の記事をチェックしてみましょう。
色んな方法を試してみよう!
マウス操作による動きの追加や表情変化は操作の自由度が高いのが特徴です。
キー操作では途中で止めたり、動きや表情の変化スピードを変えるなど、微調整をすることができないので、バイバイなどの動きは作れません。
これはマウスのメリットですが、この自由度は逆に言えば制御がしずらいというデメリットにもなります。
マウスにあった表情変化や動きを試して、研究するのがいいと思います!
他の方法で表情や動きを変化させる
表情や動きはマウス以外でも、変化させることが可能です。
特に現在はキー操作によって、動作や表情変化をさせる方法が主流ですね。
他にもパーツ連動で動かす方法もあります。
こちらは口のパーツに目の動きなどを連動させて、表情を変化させる方法です。
あとはアイドリングモーションやアニメーションによって動きを追加したりも可能です。
使い方次第で、Facerigでは色んな方法があるので、ぜひ試してみましょう!