見出し画像

[Unity]VRoidの瞳孔に奥行きを付けよう!(HANA Tool用データ無料配布)

吸い込まれそうな奥行きのある瞳、イイですよね!

VRoidの瞳は平らでハイライトもほぼ接していて、VRoid Studio上では奥行きを付けることができません。
そこで、Unity上で簡単に奥行きを付けられるようにHANA Tool用データを作成しましたので、無料配布します!

また、ハイライトの表現力を上げるシェイプキーも同梱していますので、良ければ是非お試しくださいませ!

なぜHANA Tool?

HANA Toolとは、くに屋さんが作成した有料のツールで、BlendShapeデータをコントロールでき、同梱されているはいぬっかさんの作成したデータを使用したVRoidモデルのパーフェクトシンクにもっぱら使われています。
配信用VRoidモデルを制作している人の、ほとんどが持っているツールかと思います。

VRoid Studioで制作したVRMに、瞳孔の奥行きを付ける加工を1回するだけなら、無料のBlenderで十分できますし、私もシェイプキーを作るにあたってはBlenderを使用しました。

ただ、VRoidモデルを使用している方は、お着替えやブラッシュアップなどでモデルがどんどん増えていくケースが多いかと思います。
新しいモデルを作る度に、Blenderで顔に同じような編集を毎回するのはハチャメチャに手間なので、HANA Toolを使うことにしました!

VRoidモデルは透明メッシュを削除していなければ、どのモデルも顔の構成が同じ(※バージョン次第)で他の方もこのデータを適用できますので、是非ご活用ください!

Blenderでのシェイプキーの作成は、こちらの動画を参考にしました。

データファイル

VRoid Studio 1.4.2で書き出したVRMを元に作成していて、下記のシェイプキーが含まれています。

  • Pupil_Depth1

  • Pupil_Depth2

  • Pupil_Depth3

  • EyeWhite_Depth

  • Highlight_Down_L

  • Highlight_Down_R

  • Highlight_Rotate

  • Highlight_Scale

正式版で制作されたモデルなら、現状は顔に大きな変更は入っていないようなので、どのバージョンでも適用できるかと思いますが、もし問題ありましたらご連絡ください!

使い方

初回準備

UniVRM(私は0.88.0を使用しました)やHANA Toolを導入したUnityプロジェクトを用意して、 Assets/HANA_Tool/BlendShapeData にダウンロードしたデータを入れます。

HANA ToolのReaderウインドウに選択肢として出るようになります。

VRMに適用する

VRoid Studioから「透明メッシュを削除する」のオプションは必ず外した状態でVRMを書き出し、こちらもUnityプロジェクト内に適当なフォルダを作って読み込ませます。

VRMをHierarchyにドラッグしてSceneに追加したら、HANA ToolのReaderを開き、今回増えた「VRoid_Iris」を選んで、VRMのFaceを割り当てて実行します。

これでFaceにBlendShapeが追加されました!
ヤッター!!

シェイプキー概要

Pupil_Depth1, Pupil_Depth2, Pupil_Depth3は瞳孔の大きさに合わせて使い分けたり、組み合わせたりしてください。
大体の子は2がちょうどよいかと思います。

深さによっては、目線を横に動かしたときに瞳孔が白目を突き抜けてしまうので、適宜EyeWhite_Depthも入れて白目の奥行きも増やして調整します。

このままだと白目が球体ではないため、横から見たとき凹んでいる瞳孔が見えてしまいます。

横髪などで隠れていれば問題ないですが、気になる場合はシェーダーを調整しましょう。
瞳のRendering TypeをTransparentWithZWriteにすると綺麗になりますが、そうすると今度はアイラインが瞳の透明メッシュで一部隠されて削れてしまうため、アイラインをCutoutに変更します。

FaceのBlendShapeを調整したら、書き出して完了です!

0.88.0ならFaceのBlendShapeを変更するだけで、デフォルトがその状態になるのですが、バージョンによって少々違うようです…!

ただ、デフォルトを調整すると、パーフェクトシンク設定をHANA ToolのCopyShapesAndClipsで移行する際に、瞳に別の変形が入っているシェイプキーで逆に瞳孔が飛び出す現象が起きてしまうようです。
VRM表示アプリ側で常にNeutralを再生する設定が可能なのであれば、デフォルトはいじらず、Neutralで瞳孔を凹ませた方が安全かもしれません。

パーフェクトシンク設定済みのモデルに、このシェイプキーをあとから追加した場合は、BlendShapeClipを調整するときに今回追加したものがまだ出ないため、一度VRMとして書き出して再度読み込ませるか、メッシュを適用する必要があります。
後者の方が簡単で、FaceのMeshを右クリックして適用するだけです!
にしのさんありがとうございます!)

パーフェクトシンク設定の方が後の場合は、特に何もしなくても一覧に出るので、そのまま調整できます。

ちなみに、パーフェクトシンクのEyeBlinkLeft/Rightは、瞳にも変形が入っているようで、まばたきしたときに瞳孔の凹みが戻って、うにょうにょしてしまいます。なので、EyeBlinkLeft/RightのBlendShapeClipにもそれぞれに、デフォルトの半分ずつほどBlendShapeを入れて補正するのがおすすめです。

おまけのハイライトのシェイプキーについて

個人的に欲しいなと思っていたハイライト関連のシェイプキーもついでに作ったので、同梱しました。
ハイライトの位置を下げるものと揺らすものが付属しています。

Live2Dでは、半目で光を失ったヤンデレ目にならないように、閉じ目でハイライトの位置を下げておくのが定石なのですが、VRoid Studioではそういう設定ができなかったため、左右別で下げるシェイプキーを作成しました。

揺らすシェイプキーは、手付けのアニメを作るときに使う想定です。
ウマ娘みたいなうるうるができます!

まとめ

HANA Toolを使えば、瞳の奥行き以外にも様々な変形をVRoidモデルに簡単に適用できそうで、可能性を感じました!
もっと作ってみたいですね!

最後まで読んでくれてありがとうございます! 良ければサポートしてもらえると嬉しいです!