VRoidおよびVRMモデルで服やスカートなどの揺れものを設定する方法について説明しています。
服やスカートの揺れ方を設定したい
VRoid Studioでモデルを作って外部ソフト(VRChatなど)に持っていくと気になるのが服やスカートの揺れ方。思ったより揺れが激しかったり、椅子に座らせるとスカートが変な形になったり、上の服を貫通したり。
髪の毛の揺れ方についてはVRoid Studio内で編集できるがスカートなどの揺れもの、あるいは一旦VRMで出力してBlenderなどで追加したオブジェクトはVRoid Studioでは編集できない。
髪以外の揺れものの設定をするときはBlenderまたはUnityで編集する必要がある。
Blenderで設定する
VRMとして出力してBlenderから揺れものの設定を編集する方法。BlenderでVRMを読み込むのに専用のアドオンが必要。
Blender内で一から作ったオブジェクトがある場合はウエイトの設定をすること。ボーンとのペアレントを忘れずに。もちろんVRoid Studioから出力したモデルのウエイトの調整もできる。
VRMを読み込むorウエイトやボーンの親子関係を設定したら3Dビュー画面上で「N」キーを押して「VRM」のタブから「VRM x.x Spring Bone」をクリックする。
「Spring Bone Groups」と「Collider Groups」のスクリプトが出てくる。
Spring Bone Groupsの設定
「Spring Bone Groups」ではボーンの揺れ方を設定できる。Blender内で新しく追加したボーンに揺れ方の設定をする場合は「Add Spring Bone」を選択して追加する。
任意のSpring Boneを選択すると以下の画像のようになる。
剛性(Stiffness Force)は値が大きいほど元に戻る時の強さが大きくなる。
Drag Forceは抵抗力。値が大きいほど動きが鈍くなる。
Gravity Powerは重力。
Gravity Dirは重力の方向。
Hit Radiusは当たり判定の大きさ。後述するCollider Groupsとの衝突判定に使う。
「ボーン」から現在選択しているスクリプトに対応するボーンを変更できる。新規でSpring Boneスクリプトを追加した場合はここの設定を忘れないこと。削除するときは横の「削除」を選択。
「Spring Bone Groups」内の「Collider Groups」は揺らした時に貫通してほしくない部分の当たり判定を指定できる。当たり判定を追加する場合は「Add Collider Groups」を選択して追加する。削除するときは横の「削除」を選択。
Spring Boneのスクリプトを削除したい場合は「Remove Spring Bone」を選択する。
Collider Groupsの設定
「Collider Groups」では髪やスカートを揺らした時の貫通防止用の当たり判定を設定できる。任意のCollider Groupsを選択するか、「Add Collider Gropus」を選択して新規追加する。
新規で追加した場合は親となるボーンがないのでまず親のボーンを指定する。
Collidersから任意の当たり判定を選んで設定する。横の数字は当たり判定の半径。当たり判定の位置を変えたい場合は3Dビュー画面からアクティブになっている球体(エンプティ)があるはずなのでそれを直接動かす。新規で追加する場合は「Add Collider」を選択して追加する。
Unityで設定する
こちらも同じくVRM出力してUnityで揺れものを設定する。専用のアドオンがやはり必要。
こちらも「VRM Spring Bone」「VRM Spring Collider Group」スクリプトからボーンの揺れ方や貫通防止用の当たり判定を設定していく。VRMモデルのウエイトについては調整できないのでウエイトについてはBlenderでやる必要がある。
VRM Spring Boneの設定
「VRM Spring Bone」ではボーンの揺れ方を設定できる。
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のHit Radiusは後述するVRM Spring Collider Groupとの衝突判定用の当たり判定の大きさを指定できる。Collider Groupはこちらも後述する衝突判定用の当たり判定を指定できる。
新規でVRM Spring Boneスクリプトを追加したい場合は「Add Componet」からVRM Spring Boneを検索して追加する。デフォルトだとRoot Bonesの設定がないのでボーンの指定を忘れずに。
VRM Spring Bone Collider Groupの設定
「VRM Spring Bone Collider Group」では髪やスカートなどを揺らした時の貫通防止用の当たり判定を設定できる。
例えばスカートが脚を貫通してほしくない場合は脚のボーンを選択してVRM Spring Bone Collider Groupを設定し、スカートのボーンのVRM Spring BoneからこのCollider Groupを選択する。
HierarchyからRootを展開して任意のボーンを選択するとInspectorウィンドウに「VRM Spring Bone Collider」のスクリプト一覧が出てくる。
「Colliders」を展開すると設定した当たり判定が出てくる。位置を変更したい場合は「X」「Y」「Z」の各値を、当たり判定の大きさを変更したい場合は「Radius」の値を変更する。当たり判定を追加したい場合は「+」の部分をクリックする。削除したい場合は「ー」をクリックする。
新規でVRM Spring Bone Collider Groupを追加したい場合は「Add Component」を選択し、「VRM Spring Bone Collider Group」を検索して追加する。
コメント