VRoidの3Dモデルに目の瞬きを覚えさせる
VRoid製の3Dモデルは瞬きのやり方を知らないので今回はこれを覚えさせます。
瞬きの方法については検索すればいくらか情報が出てきますが、VRoidの場合は少し方法が異なります。
「シェイプキー」を作る必要はない
「シェイプキー」とはオブジェクトの形を記憶させておく機能のことです。「モーフ」とも呼ばれます。
人の3Dモデルを例に挙げると、真顔や笑顔などの表情やサムズアップのような手のジェスチャーをシェイプキーとしてよく作ります。このシェイプキーを使ってキーフレームで真顔から笑顔に、平手からサムズアップに変化させるようにアニメーションを作ることができます。
自作アバターを一から作る場合はBlender等で適宜シェイプキーを作る必要がありますが、VRoidの場合はデフォルトでいくつかシェイプキーが登録されているのでそれらを使ってある程度の表情などが出せるようになっています。
mtprince9 さんがVRoidで出力される表情のリストを貼ってくれているのでこちらを参考にしましょう。
VRoidで書き出したVRMの表情とそれをFBX化した表情のリストです。自分の備忘録用に。FBXは個別で動かせるので、それだけ複雑な表情が作れますな。FBXに書き出すときに「Animated Skinned Mesh」にチェックを入れるのを忘れると設定できません #VRoid pic.twitter.com/gYGnjpVKni
— よーへん@物理現世体Ver. (@mtprince9) 2018年8月13日
この結論に辿り着くまでだいぶ時間がかかりました..。
今日いろいろ調べながらわかったことは、VRoidからエクスポートしたVRM(それから変換したFBXも)には元からシェイプキーがいくらか登録されてるので、あとはそれを使ってアニメーションを作るだけある程度の表情は作れるということ
— わさびのりたろう (@ku00_) 2018年8月18日
FBX形式でエクスポートする
VRoidの3Dモデルのシェイプキーを利用するために、FBX形式でエクスポートするところまでやりましょう。一つ注意点としては、FBXでエクスポートする際のオプションで「Animated Skinned Mesh」にチェックを入れてエクスポートする必要があります。
FBX形式でのエクスポート方法については以下の記事で書いたので参考までにどうぞ。
FBXのエクスポートが完了してFBXファイルをHierarchyに追加したら、UMARendererを選択し[Inspector]->[Skinned Mesh Renderer]->[BlendShapes]が追加されていることを確認してください。
登録されているシェイプキーは0~100の値で調整できます。 試しに1つ値を変えてみるとこんな感じになります。
瞬きのアニメーションを作る
瞬きに合うシェイプキーを探しましょう。
目を閉じる Face.M_F00_000_Fcl_EYE_Close
が最適そうですね。
アニメーションの作り方については文章で説明するのが大変なので以下の動画を参考にしてください(本当に動画の方が分かりやすいので..!)
瞬きができるようになったらVRChatにアップロードしてみましょう。
目の瞬きがあるだけでも人間らしくなりますね。それでは。
目の瞬きが実装されました pic.twitter.com/GGhY9Pfga6
— わさびのりたろう (@ku00_) 2018年8月18日