〈Blender〉モデリング初心者が女の子を作って動かすまでの備忘録 #15 【表情シェイプキー】
UVやリギングがひと段落付いたところで表情を作成していきます。
シェイプキーの使用
VRMでは表情の操作をブレンドシェイプで行う仕様です。
ブレンドシェイプはBlender内ではシェイプキー、MMD内ではモーフと呼ばれています。
表情の作成
シェイプキー作成後はモディファイヤーの適用が行えなくなってしまうため、アーマチュア以外全て適用します。
Faceを選択します。シェイプキー項目にある「+」を1回だけ押すとBasisが作成されます。これがベース形状(初期状態)となります。
もう一度押すと空なシェイプキーが作成されるので、この2個めから表情データを入れていくことになります。
このシェイプキーはいくつ作っても問題ありません。させたい表情分だけ作って大丈夫です。
まずオブジェクトモードの状態でシェイプキーを作成したらリネームし、値を1.0にします。
編集モードに替えて変形させると、その変形が1.0の形状になります。
変形時、ツール「ミラーX」を入れておくことで左右対称に変形されます。
シェイプキーのネームはなんでもOK。Unity上で最終的なシェイプの設定を行うのでその時に分かりやすい名前でいいと思います。が、一応日本語は避けておきます。
あとは変形していくのみです!
好きなMMDモデルや他VRMモデルをBlenderに読みこんで、どう変形するか勉強するのもありかと思います。
お宮氏 紲星あかり
編集モード状態にすると「選択されているシェイプキーの1.0」が表示される仕様です。
この部分をONにすると編集モードでもシェイプキーを動かすことができます。
動かしました
目の周りの頂点数多すぎてキレました。
まつげも設定します。
私の場合、顔とまつげが別オブジェクトなので同時にシェイプキーを動かせませんでした。そのためBlenderのアニメーションキーフレームで動作をチェックしました。
【キーフレームの打ち方】
シェイプキーの値の上で「iキー」を押すとキーフレームがタイムラインに打たれ、値が黄色になります。今回は0fで「1.0」とします。
タイムラインのバーを30fあたりに動かし、キー値を「0」にした後iキーを押すことでオレンジ→黄色になり、2個めのキーフレームが打たれます。(※緑は自動補完値です)
これを顔とまつげに設定した後、タイムラインの再生位置バーをスライドさせたり再生させることで開閉アニメーションが行われるようになります。
但し、これを行った後、さらに変形を加えるときはきちんとシェイプキー値が「1.0」になっていることを確認して下さいね。
あとは微調整です。ポスタリゼーション編集、頂点1個ずつを移動させ、良い形状になるようにします。
…頂点数が多いことに死ぬほど後悔。UV作業の前の頂点数調整はめっちゃ大事ですね。次回以降気を付けたい!
二重や下まつげ、ハイライトにもシェイプキーを設定し、結果このようになりました。
あとは、VRMパラメータ一覧を見て必要なシェイプキーを準備していきます。
口のシェイプキー
基本は一緒です。新しいシェイプキーを作成し、「あ」の形を作ります。
ここはもう好みであり可愛さの極みなポイントですし、シェイプキーを消せば何度も作り直せるという手軽さもあるので納得いくまで試行錯誤していきます。
歯と舌オブジェクトも併せてシェイプキーを作ります。
きちんと横や斜めからも見て可愛いかチェックします。
また、先述しましたが編集モード時は選択されたシェイプキーの「1.0」が表示されるようになっています。
なのでこれから変形させたいシェイプキーがきちんと選ばれているかの確認として活用してください。
コツとしては、まず最初に口の端を引っ張ります。例えば「い」なら、やや口角が上がり横に引き伸ばされるので、その通りに引っ張ります。
いーっ
端を伸ばしたら次は唇を母音に合わせて上げてあげます。
唇を少しひっこめた方が可愛く見えるっぽい気がしたので、少し後ろに唇全体を引っ込ませてあげます。
正直これは本当好みの問題だと思います。デフォルメを徹底するか、リアルさを求めるか、可愛さ重視かで微妙に違ってくる点です。
(実際、上のGIFも今見れば引っ込める前の方が個人的には好きかも)
このGIFはあくまで一例と捉えていただき、ぜひ自分が良いって思う形を自分の思うままに作ってほしいと思います。
ということであ~おの口が完成しました。
歯や舌も同様「あ~お」まで作ります。
最終的な連動はUnityで行うのでキーフレームアニメーションを用いない限り、Blender上では同時に動かせません。多分。
VRMに設定できる他の表情も作っていきます。
シェイプキーの転送
ウインクを作ろうと思った時。
既に「まばたき」を作り終えているので、その閉じた頂点位置情報をそのままウインクシェイプキーに持ってきたいなあってなります。
まず、ウインクシェイプキーを作成>値を「1.0」にして編集モード>位置情報を転送させてきたい頂点をすべて選択します。
Ctrl+Vで頂点メニューを出し、「任意のシェイプキーを選択部に合成」を実行。
すると詳細設定が出るので、転送元のシェイプキー(今回はまばたき)を選び、値を1.0にします。
すると、瞬きの形状が選択した頂点にだけ転送されてきます。
これでウインクシェイプキーに瞬きの形状が転送されました。便利!
ここからウインクの形状に形を整えていきます。
まつげもウインクの形状を作ります。
ウインク=笑い目 なのでにっこりと。
できました。
…!
下から見るとちゃんと塞げてませんね。こういうミスも取り除いていきます。
ここで少し引っかかってきたのが、頬の「///」が伸びてしまう問題です。
少し伸びすぎで気になるので、下まつげのように面を複製して透明テクスチャへと作り直したいと思います。(後述)
なのでひとまず顔テクスチャから赤らみを消しておきました。
涙の作成
VRM準拠ではないですが、涙も作りたいなーって思ったので作ります。
まずざっくりと涙の形を作ります。
顔の中に配置し、アーマチュアと空のグループでペアレントさせたらHead1.0にウェイトを塗ります。
UV展開し色を付けてシェイプキーを設定すれば涙の完成。ちゃんと水分だってわかるようにテクスチャ塗りのアルファを調整しています。
VRM準拠以外の表情を動かせるのか
結論から言うと動かせるっぽいです。(今回使うソフトでは)
今回3teneというソフトでVRMを動かそうと思っていますが、このソフトではこのようにボタンを押すと表情が切り替わります。
現在ではVRM準拠の表情しかありません。
そこで、Unity側で新たに「Zito_eye」という名前のブレンドシェイプをVRMモデルに追加し再度読み込んでみたところ、きちんと表情名が追加され設定下通りに動作しました。
(表情追加に関しては次記事で書きます)
3teneは表情をキーボードショートカットとして割り当て可能ですがそれも問題なく動作します。
つまり、「笑顔」や「怒り」などといったシンプルな表情以外にもオリジナルで表情が設定できます。後々、パーフェクトシンクやUnity上などで実現できたらいいなあって考えています。
必要な時だけ表示する表情の作成
MMDを触ったことある方は一度は気付いたことありませんか?
頭の中にメガネや「><」の目が隠れている…!!
これを作っていきます。
【青ざめ】
額にガーンな青色を上乗せしたいと思います。
Faceから面を複製してもいいのですが、かなりハイポリで無駄なので一部を複製し、押し出しし直します。
※ソロ表示はテンキーの「/」
全体を表示して貫通がないかを確認。
このような特殊表情は基本メッシュを透過させてしまうので、特殊表情用にマテリアルを新たに作ります。透過情報を持たせるので「ブレンドモード:アルファハッシュ」にするのをお忘れなく。
マテリアルを設定するとマテリアルビューでは先ほどのメッシュが透過します。
額の中に隠します。
こうしてからBasis、Key1シェイプキーを作成し、「Key1:1.0」にしたらメッシュ位置を額の前に再設定します。
Key1が0.0の時:額の中に隠れてガーンしない
Key1が1.0の時:額の中から出てきてガーンする
UV展開は単色なのでどんな方法でもOKです。ビュー投影でも問題ないと思います。
テクスチャを塗るときは、アルファ値がそのまま反映されることを意識することで解決です。
クリスタの場合、グラデーションツールで、
このようにアルファのグラデーションを作ると良いです。
この時、UV配置から見切れてしまうと…
切れ目ができてしまうので注意です。
【ほっぺの///】
前の項目で詰まったほっぺの「///」が伸びる問題もここで解決します。
要領はさっきの青ざめと一緒です。
必要な部分だけ顔から複製し、別オブジェクトにします。
テクスチャを描き込んであげることでほっぺが完成です。これで顔の変形に影響されず塗りを維持します。
【怒りマーク】
よくある「💢」を作ります。
顔から適当に1面複製します。(複製することでウェイト作業を省略)
顔から複製したことでシェイプキーが残ってしまっているので、basis形状から根こそぎシェイプキーを全て消します。頂点グループもHead以外消します。
顔の中に埋めたらBasis、Key1を作り、Key1に表示時の位置を設定します。
テクスチャを描き込んで完成。
【追記:視線】
今回VRMを動かす3teneFree版は視線を手動で動作させたい場合、Blendshapeでの制御でした。
※Free版のWebカメラでは視線検知ができないので、ショートカットキーで動かします
※3teneにはカメラ目線機能があり、これがONの時はリグで視線を制御しています
そのため、手動で動かす場合、瞳、ハイライトに追加で上下左右のシェイプキーが必要です。
あとはなんでも別メッシュで
顔を主にやりましたが、基本的にはこの要領で全てやり通せます。
例えば目でも「ぐるぐる目」を基本目と同じメッシュで作りたければ、それ用に目を複製すればOKです。靴も、髪も、メガネもなんでも行けます。
ただこの隠れオブジェクトは後でUnity設定時めっちゃ存在を忘れやすい(というか全部で何があったか忘れる)ので、メモしておいた方がいいと思います。
あらあら^
参考に今回追加した特殊表情のUV画像です。
ということでシェイプキーは以上です。
今回は表情だけでしたが、服の装飾を変化させたりなどもシェイプキーで行えます。
次回はUnityに読み込みとVRM化です。いよいよ最終回となります。