【VRChatアバター改変・軽量化基礎】DynamicBoneを未所持の状態でもPhysBoneに変換する
アバター「ほしうさ」を例とする。
このアバターはDynamicBoneが設定されているのだが、このコンポーネントは有料であり、別途購入して導入していない場合はエラーが表示されてしまう。
![](https://assets.st-note.com/img/1714208806774-sFCucwm35a.jpg?width=1200)
![](https://assets.st-note.com/img/1714208837946-ygCKV4JNqR.jpg?width=1200)
2024/04時点ではDynamicBoneのVRChatでの使用は非推奨であり、PhysBoneに変換することが推奨されるのだが、困ったことにDynamicBoneを所持していない場合はPhysBoneへの変換もできない。
![](https://assets.st-note.com/img/1714208877931-LmAtBzd9Wg.jpg?width=1200)
![](https://assets.st-note.com/img/1714208944146-5kfbem1If1.jpg?width=1200)
ことVRChatでの使用を想定した場合でもワールド製作時にはどのみち必要になるためその予定があるのなら購入してしまったほうが後々楽ではあるが、ワールド制作には手を出す気がない場合やすぐにお金の用意ができない場合もあるだろう。
実は現在は"anatawa12's gists pack"を導入することでDynamicBoneを購入していなくともPhysBoneに変換することが可能になる。
以下ではその手順を記す。
まずは以下からVPMリポジトリをVCC/VPMに追加する。
すでに行っている場合は飛ばして良い。
追加ができたらDynamicBone→PhysBone変換を行いたいプロジェクトにVCCなどで"anatawa12's gists pack"を導入する。
導入ができたらUnityでプロジェクトを開き、ツール(Tools)→"anatawa12's gist selector"を開く。
![](https://assets.st-note.com/img/1714209917606-7FLhglGQI2.jpg)
"Fake DynamicBone Compornents"にチェックを入れて"Apply Changes"
ウィンドウが開いたら"Fake DynamicBone Compornents"にチェックを入れて"Apply Changes"。
すると、エラーが出ていたコンポーネントの表示が変化し中身が表示されるようになるはずだ。
![](https://assets.st-note.com/img/1714210073714-k6IyVYHC7u.jpg?width=1200)
この状態であればVRChat SDKからDynamicBone→PhysBone変換の案内が表示されるようになる。内容を確認したらFix NowをクリックしてProceedをクリックしよう。
![](https://assets.st-note.com/img/1714210287028-UJPSbdNsVv.jpg?width=1200)
AutoFixをクリックすることで自動で移行が可能。
![](https://assets.st-note.com/img/1714210356099-BiV2lYL7Kn.jpg)
![](https://assets.st-note.com/img/1714210390691-Dcg859KFKY.jpg?width=1200)
これでDynamicBoneを未所持でもPhysBoneに置き換わり、ゆれものが有効になる。
なお、注意点として、2024/04現在のDynamicBone→PhysBone変換はDynamicBoneのコライダーの設定が正常にPhysBoneに移行されないケースがあることを確認している。これはDynamicBoneを所持しているいない関わらず発生する。
DynamicBoneコライダーが存在している場合は手動で設定し直す必要がある。
また、先述のとおりワールド制作となるとワールド用の揺れものは2024/04現在DynamicBoneが引き続き必要となるため購入が必須となる他、PhysBoneはVRChat独自のものであるためVRChat以外の用途となるとやはりDynamicBoneが必要になる。これらの予定があるのなら頃合いを見て購入しておくとよいだろう。