VRoidおよびVRMモデルで服やスカートなどの揺れものを設定する方法について説明しています。
服やスカートの揺れ方を設定したい
VRoid Studioでモデルを作って外部ソフト(VRChatなど)に持っていくと気になるのが服やスカートの揺れ方。思ったより揺れが激しかったり、椅子に座らせるとスカートが変な形になったり、上の服を貫通したり。
髪の毛の揺れ方についてはVRoid Studio内で編集できるがスカートなどの揺れもの、あるいは一旦VRMで出力してBlenderなどで追加したオブジェクトはVRoid Studioでは編集できない。
髪以外の揺れものの設定をするときはBlenderまたはUnityで編集する必要がある。
Blenderで設定する
VRMとして出力してBlenderから揺れものの設定を編集する方法。BlenderでVRMを読み込むのに専用のアドオンが必要。
Blenderで揺れものの設定するとき基本はウエイトを塗り直して調整していく。Blender内で一から作ったオブジェクトの場合はボーンとのペアレントを忘れずに。
他にボーンの親子関係を変更して揺れ方を変えるというのもある。スカートやワンピース、コートの揺れに納得いかない場合はここをいじってみると解決するかもしれない(親のボーンが脚だったり尻だったりとバラバラなため)。
Unityで設定する
こちらも同じくVRM出力してUnityで揺れものを設定する。専用のアドオンがやはり必要。
こちらはウエイトではなくスプリングボーンから揺れ方を設定していく。
VRMモデルをUnityに読み込みSceneに配置し、Hierarchyから「secondary」を選択する。

Inspectorウィンドウに「VRM Spring Bone」というスクリプトが出てくる。

複数出てくると思うので「Root Bones」の部分を展開してどこのボーンに対応しているか確認し、揺れ方を設定したい部分と対応しているスクリプトを選択する。ちなみにここから対応するボーンを変更することができる。

お目当てのスクリプトを選択したら「Stiffness Force」「Gravity Power」「Gravity Dir」「Drag Froce」の4つの値を調整していく。
Stiffness Forceは剛性。値が大きいほど元に戻る時の強さが大きくなる。
Gravity Powerは重力。
Gravity Dirは重力の方向。
Drag Forceは抵抗力。値が大きいほど動きが鈍くなる。
服が体を貫通するのを防ぎたい、という場合はColliderの設定を見直してみるのもあり。特にBlenderなどで一から作ったオブジェクトの場合とか。
Collider Groupsを展開して対応させたいColliderを選択し、Hit Radiusの値を変更して調整する。

ちなみにBlenderの項目で紹介したボーンの親子関係の変更はUnityからでもできる。
コメント