⚠VRChat正式アップデート版
本記事はβ版の頃に書かれたものです。
VRChatの公式アップデートが入りほとんど意味が無くなりました。
最新版のPhysBoneの対応方法ついてはこちらで解説しています。
こちらをご覧ください。
はじめに
今回はPhysBoneに対応させる方法を紹介します。
Dynamic Boneが使われたモデルを変換することを想定してすすめます。
VRChat上でのPhysBoneの使い方を知りたい方はこちらをご覧ください。
PhysBoneの導入
こちらの公式ガイドにアクセス。
Googleで日本語翻訳。
『オープンβ版のSDKは、Discord』の部分をクリック。
VRChatのDiscordに参加。

OPEN BEAT → open-beta-infoにアクセス。
最新の投稿の.unitypackageをクリック。
.unitypackageをダウンロード。

Unityを立ち上げ。
Projectにドラッグ&ドロップ。

PhysBoneが追加されたことを確認。
Importを押します。

これでPhys Boneの入手が完了です。
Componentの動作確認
Hierarchyでモデルのボーンを選択。

Inspectorを確認。
Add Componentを選択。
検索欄に『VRC p』を入力。
VRC Phys Boneを選択。

VRC Phys Boneを開きます。
Componentが導入できたことを確認。

確認できましたら右上の3つの点を選択。
Remove Componetを押して削除します。

これでPhysBoneの導入が完了です。
Dynamic Boneのパラメータを変換
1から設定すると骨が折れるのでツールを使います。
こちらにアクセス。
無料ダウンロードを選択。
.unitypackageをProjectにドラッグ&ドロップ。

Importを押します。

Tools → Dynamic To Phsics Converterを選択。

このようなUIが出てきます。

Hierarchyで幽狐さんを選択。
Ctrl+Dで複製。
バックアップを作りました。

PhysBoneに変換したいモデルのRootArmature、もしくはBoneを選択。
Root=一番上の階層という認識で大丈夫です。

Convert!を押します。
現在のツールでTest!を押すと無限にPhysBoneが増えるので上手く行きません。

これでDynamic Boneの変換が完了です。

再生ボタンを押してPlayモード。
モデルを動かして動作を確認。

VRChatにアップロード。
これで揺れ物の設定が完了です。

ココアちゃんなどモデルの場合はこのツールを使うだけで綺麗に変換できます。

幽狐さんモデルについて
幽狐さんの場合残念ながらこの方法では上手く行きません。

髪の毛とスカートの先にPhys Boneが入らない、動くと首が動いてしまうなどの不具合が起こります。

これは幽狐さんモデルそのものの構造とDynamic Boneの設定による影響です。


なのでツールやComponentで設定しても上手く行きません。
修正にはBlenderでのモデルの直接編集が必要です。
幽狐さんのPhysBone対処法
対処法は下記の4つです。
・公式のPhysBone対応を待つ
・幽狐さん以外のアバターを使う
・揺れ物ボーンを削除する
・自力でPhysBoneを1つ1つ割り当てる
1と2は対処しない事なので割愛。
3はDynamicBoneのフォルダを消してMissing Removerを使えばできます。
(使い方は下記で解説)
4の自力で割り当てる方法はこちらで解説しました。
かなり上級者向けの内容です。
どうしても幽狐さんを使いたい方向けです。
また使いたいモデルが似たようなエラーになった方はこちらをご覧ください。
変換前のDynamic Bone削除
変換が上手く行ったココアちゃんを使います。
Hierarchyでココアちゃんの揺れ物ボーンを1つ選択。

Inspectorを確認。
DynamicBoneの残骸があります。
データを綺麗にしたいので消します。

ProjectでDynamicBoneのフォルダを選択。
Deleteキーで削除。

これでDynamic Boneの残骸がMissing状態になりました。

こちらよりMissing Removerをダウンロード。

.unitypackageをProjectにドラッグ&ドロップ。

Importを押します。

画面上部のRiClothes → MissingRemoverを選択。

⚠表示されない場合はProjectのSctiptフォルダーを削除してください。
(中身はPhysBoneの変換ツールです)

missingRemoverのアバターにPhysBoneに変換したモデルをドラッグ&ドロップ。
実行を押します。

これで変換前のDynamic Bone削除が完了です。

以上がアバターをPhysBoneに対応させる方法になります。
まとめ
今回はアバターをPhysBoneに対応させる方法を紹介しました。
PhysBone関係はこちらでも解説しています。
ぜひこちらもご覧ください。
コメント