SpringBoneTransferの使い方
「SpringBoneTransfer」はVRoidを改変する際に消えてしまった「VRMSpringBone」と「VRMSpringBoneColliderGroup」を原本となるVRMをもとに復元するUnityEditor用スクリプトです。再設定の繰り返し作業を大幅に軽減します。
ダウンロードはこちらから
https://ayato3d.booth.pm/items/2278451
【制作環境】
この環境下でないとダメというものではありません。近い方が安定はしやすいかもしれませんので参考までに。
Unity 2018.4.20f1
UniVRM 0.57.1
VRoid Studio v0.11.1
Blender v2.81
Cats Blender Plugin 0.17.0
【使い方】
①新規プロジェクトを作成し、UniVRMを予めインポートしておき、本アセットをインポートします。
②VRoid StudioからエクスポートしてすぐのVRMモデル(以下「Before」)をプロジェクトにインポートします。これがコピー元になります。
③次に「Before」をBlender等で改変したFBXモデル(以下「After」)をUnityへインポートし、ヒューマノイド設定を施します。特にVRoidは「Head」内の「Jaw」に髪の毛が自動割り当てされるクセがあるので、忘れずに変更するよう注意が必要です。
④設定が完了した「After」をhierarchyに置いて、正規化するために一度VRMとしてエクスポートします。
⑤エクスポートが完了したらhierarchy上の「After」はもう要らないので削除し、代わりにPrefabとして生成されたVRMの「After」をhierarchyに置きます。この時点では「After」下の「secondary」には初期状態の「VRMSpringBone」がひとつ付いているだけです。
⑥続いてコピー元となる「Before」もhierarchyに置きます。2つのモデルのワールド座標やhierarchy上の順位は復元処理には影響しません。
⑦「Before」を右クリック、またはメニュー「ayato3d」から「SpringBoneTransfer」を選択しエディタウィンドウを表示します。
⑧転送元VRMへ「Before」、転送先VRMへ「After」をそれぞれ設定し、必要であればオプションのチェックをON/OFFします。
⑨「転送開始」ボタンを押します。作業は一瞬で終わります。「After」を確認をして下さい。
【留意事項】
・Bone構成が同等であることが前提条件です。一応CatsがFix時に自動変換してしまったボーンについては対応(する努力は)しています。
・VRoid直のVRMモデルにはUpperChestがあり、そこに割りと多めのコライダーが設定されています。Blender+Catsで「Fix」する際は「Keep Upper Chest」にチェックをしないとここが削除されますのでご注意下さい。本アセット使用時にUpperChestが見つからない場合、そこはスキップして復元します。
・ちなみに「Centerにルートを設置する」と移動による揺れが抑制されるようです。
・動作の保証は一切ありませんのでご了承ください。
【License】
MITです。パッケージ内に入っています。許容範囲でご自由にご利用下さい。
以上となります。お疲れさまでした。