PhysBoneSetupHelper
VRChat のアバターに PhysBone を設定する際の支援スクリプトです。UnityEditor の拡張として動作します。
使い方
1. 基本操作
ツールウィンドウは、Unity メニューの Tools/whiteflare → PhysBone Setup Helper から開くことができます。
開く際に Hierarchy にてアバターが選択されているならば、そのオブジェクトを編集対象として扱うことができます。

Avatar Root に VRC_AvatarDescriptor の付いたオブジェクトを指定してください。 指定したオブジェクト配下に “Armature” という名前のオブジェクトがある場合、Armature も同時に設定されます。自動設定されない場合は Armature にもオブジェクトを指定してください。
2. Verify
PhysBoneの設定をチェックしてConsoleログに出力します。次のような設定を見つけた場合にはログに警告が出力されます。
Ignore Transforms,Collidersに None(null) が含まれているRoot Transform,Ignore Transforms,Collidersに Armature 外のオブジェクトが指定されている- 動かす Transform が0個 (リーフボーンが無い or
Endpoint Positionが未設定 orMulti Child Typeが Ignore に設定されている) - ひとつの Transform が複数の PhysBone によって揺らされている
- どの PhysBone からも使われていない PhysBoneCollider
3. 参照の再設定
Avatar Root 配下の全ての PhysBone および PhysBoneCollider について、参照先の Transform が Armature 外にある場合、同名の Transform を検索して参照を付け替えます。同名の Transform が見つからなかった場合は何もしません。 この機能はPhysBone の値コピーなどによってコピー元の Transform を参照し続けている場合に、コピー先の参照へと付け替えるための機能です。
4. アタッチ先オブジェクトの変更
PhysBone のコンポーネントを付ける先の GameObject を変更することができます。このツールでは以下のパターンに対応しています。
- 揺らすボーン自体
- PhysBone の Root Transform に指定されている(つまり揺らす対象の)ボーン オブジェクトにコンポーネントをアタッチします。
- 独立したオブジェクト
- Hierarchy に
PhysBoneまたはPhysBoneColliderという名称のオブジェクトを作成し、さらに下に揺らす対象と同名のオブジェクトを作成し、それにコンポーネントをアタッチします。
- Hierarchy に