見出し画像

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を予めインポートしておき、本アセットをインポートします。

画像1


VRoid StudioからエクスポートしてすぐのVRMモデル(以下「Before」)をプロジェクトにインポートします。これがコピー元になります。

画像2


③次に「Before」をBlender等で改変したFBXモデル(以下「After」)をUnityへインポートし、ヒューマノイド設定を施します。特にVRoidは「Head」内の「Jaw」に髪の毛が自動割り当てされるクセがあるので、忘れずに変更するよう注意が必要です。

画像3


④設定が完了した「After」をhierarchyに置いて、正規化するために一度VRMとしてエクスポートします。

画像4


⑤エクスポートが完了したらhierarchy上の「After」はもう要らないので削除し、代わりにPrefabとして生成されたVRMの「After」をhierarchyに置きます。この時点では「After」下の「secondary」には初期状態の「VRMSpringBone」がひとつ付いているだけです。

画像5


⑥続いてコピー元となる「Before」もhierarchyに置きます。2つのモデルのワールド座標やhierarchy上の順位は復元処理には影響しません。

画像6


⑦「Before」を右クリック、またはメニュー「ayato3d」から「SpringBoneTransfer」を選択しエディタウィンドウを表示します。

画像7


転送元VRMへ「Before」、転送先VRMへ「After」をそれぞれ設定し、必要であればオプションのチェックをON/OFFします。

画像8


⑨「転送開始」ボタンを押します。作業は一瞬で終わります。「After」を確認をして下さい。

画像9


【留意事項】
・Bone構成が同等であることが前提条件です。一応CatsがFix時に自動変換してしまったボーンについては対応(する努力は)しています。

・VRoid直のVRMモデルにはUpperChestがあり、そこに割りと多めのコライダーが設定されています。Blender+Catsで「Fix」する際は「Keep Upper Chest」にチェックをしないとここが削除されますのでご注意下さい。本アセット使用時にUpperChestが見つからない場合、そこはスキップして復元します。

・ちなみに「Centerにルートを設置する」と移動による揺れが抑制されるようです。

・動作の保証は一切ありませんのでご了承ください。


【License】
MITです。パッケージ内に入っています。許容範囲でご自由にご利用下さい。


以上となります。お疲れさまでした。


この記事が気に入ったらサポートをしてみませんか?