はじめに
今回はVRChatのもちもちPBの導入方法を紹介します。
これは、Phys Bone1.1で追加された機能です。
この記事ではβ版での導入方法を解説します。
Unityの基本操作やVRChat用のモデルのアップロードなどができる前提で進めます。
これらの動作はこちらをご覧ください。
注意点
現在もちもちPhys Boneはβ版です。
多数のエラーが起こる可能性があります。
Gesture Managerが動かなくなるなどのエラー報告アリ。
外部ツールを使ってる場合は注意。
バックアップを取り、自己責任で導入してください。
もちもちPBは何処にあるのか
もちもちPBは、Phys Bone1.1に追加されたStretch & Squishパラメーターです。
「Phys Bone1.1」は「SDK 3.2.0」にあります。
「SDK 3.2.0」を入れるためには「VCCv2.1.0」が必要。
なので、下記の順に導入していきます。
・VCC v2.1.0以上
・SDK 3.2.0 – bata.1以上
・Phys Bone1.1
これで、もちもちPhys Boneを使うことができます。
VCCのアップデート
VCCを立ち上げ。
画面左下のSettingsをクリック。

Updates → Check for Updatesをクリック。
左側の「Update」が出たらそちらをクリック。

しばらく待ちます。

画面右上でVCCのバージョンを確認。

これで、VCCのアップデートが完了です。
SDKのアップデート
画面左上のProjectsを選択。

Avatarが入ってるプロジェクトの右3つの点をクリック。
「Create Backup」でバックアップを作成。(任意)

アバタープロジェクトの「Manage Project」をクリック。

Latest Versionを確認。
ここをクリックしてSDKをアップデート。

Toolの方も同様に更新。

これでSDKのアップデートが完了です。
PhysBoneのアップデート
Open Projectでプロジェクトを開きます。

Hierarchyを確認。
もちもちPBを入れたいPhysBoneが入ったボーンを選択。

Inspectorを確認。
VRC Phys Bone → Versionで「v1.1」に変更。

バージョンを変えると挙動少し変わります的な注釈が出てきます。
こちらを「×」ボタンで閉じます。

スマホにグーグル翻訳アプリを入れてカメラ入力を使用。
すると、英語の文章を翻訳できます。
気になる方はこの方法で読みます。


Gravity周りの挙動が変わったようです。
これで、PhysBoneのアップデートが完了です。
もちもちPBの設定
「もちもちPhysBone」の正体は「Stretch & Squish」の追加です。
Stretch Mitionの値を1に設定。

あとは、確認しやすいように胸のボーンを前方に移動。
少し胸を大きくしておきます。(任意)

あとは、VRChatにアップロード。
VRC上で挙動を見ながら細かなパラメーター調整する流れです。
・Stretch Motion = ボーンの伸びと縮みの有効度合い
・Max Stretch = ボーン伸びの最大量
・Max Squish = ボーン縮みの最大量
右側のC=カーブで変化量調整(Xで元に戻す)
誤解を恐れずに言うと、下記のようなイメージ。
・Max Stretch = 体が動いた時の胸の揺れ変化
・Max Squish = 触った時の変化
※使い方次第で、状況が変わります。

難しい事を考えたくなければ…
・Stretch Motion = 1
・Max Stretch = 2
・Max Squish = 1
でだいたいok
公式の意味解説はこちら(英語)
以上がもちもちPBの設定です。
UnityでましゅまろPBの挙動確認
上級者向けに、BlenderやPBの設定をできる前提で進めます。
確認用に、Blenderでこのようなモデルを用意しました。

Unityに読み込み → PhysBoneを設定。
確認用のコライダーを配置。
Gizmosします。

UnityでPlayモードで再生。
すると、挙動を確認できます。

ましゅまろPBの挙動
Max Stretchを5、Max Squishを1に設定。
Stretch Motionを0にすると、伸び縮みが無効化されます。
Stretch Motionを0に設定。
上下に動かした時の挙動がこちら。

Stretch Motionを1に設定。
すると、伸び縮みが入ります。

もう一度、Stretch Motionを0に設定。
前後に動かした時の挙動がこちら。

Stretch Motionを1に設定。
前後に移動。
前後の動きは変化が分かりやすいです。

Stretch Motionを0に設定。
当たった時の挙動確認。
ボーンの大きさが変わらずに、形が上に逃げてる事が分かります。

Stretch Motionを1に設定。
当たった時の挙動確認。
ボーンの大きさが変わった事が分かります。

今度はStretch Motionを1に設定。
Max StretchとMax Squishを0に設定。
すると、有効度が1でも、伸び縮みの値が0なので無効化と同じ挙動になります。

Stretch Motionを1に設定。
Max Stretchを5、Max Squishを0して前後移動。
すると、ボーンが伸びることが分かります。
(おもに、体の動きに合わせて揺らす用パラメーター)

今度はStretch Motionを1に設定。
Max Stretchを5して前後移動。
すると、ボーンが伸びることが分かります。
(おもに、体の動きに合わせて揺らすパラメーター)

コライダーに当てた状態でMax Squishを変更。
すると、潰れ具合が変わる様子が確認できます。

雑にまとめると下記。
・Stretch Motion = 伸び縮みの有効度( 0.~ 1.)
・Max Stretch = 体が動いた時の自然な変化度( 0.~ 5.)
・Max Squish = 触られた時の自然な変化度( 0.~ 1.)
以上がもちもちPBのパラメーターです。
VRChatにアバターをアップロード
古いアバターをバックアップとして残します。
そのために、新しいアバターとしてアップロードします。
HierarchyでVRChatアバターの一番上の階層を選択。

Inspectorを確認。
Pipeline Manager → Detachで紐づけを解除。

VRChat SDK → Build & Publishでアップロード。

新しいアバターの情報を入力。
Uploadでアップロード。

VRChat上で動作を確認。

触れない方はLaunch Pad → 歯車ボタン。
「Self Interact」が有効化されてるか確認。

問題が無ければ、もちもちPBの導入が完了です。
動かない場合の対処法
困ったらまず、Unityを再起動。
それでもダメならプロジェクトを作り直す。
Unityのエラー原因はConsoleで確認できます。
ここで、思い当たるモノが有れば修正します。

また、Unityを再起動したら治るエラーもあります。
が、それでもだめなエラーが出てくることがあります。
それが出た場合はUnityプロジェクトを作り直してください。

Unityは半年や1年ぐらい同じプロジェクトを使い続けると
動かなくなる不具合があります。
これは、アップデートの際にたまった細かなエラーや
他のアセットとの干渉が原因。
頑張って、原因を辿れば、治せない事もないですが…
心機一転、作り直した方が早いです。
プロジェクトの作り直し方はこちらで解説。
まとめ
今回はもちもちPhys Boneの導入方法を紹介しました。
・もちもちPB=Phys Bone1.1に追加されたStretch & Squishパラメーター
・導入はVCCをv2.1.0以上にアップデート
・SDKを3.2.0 – bata.1以上にアップデート
・Phys Bone1.1にアップデート
・Phys Boneの「Stretch & Squish」でもちもちPBがつかえる
・Stretch Motionを1に設定して動かす
また、他にもVRChatや3DCGについて解説してます。
ぜひ、こちらもご覧ください。
コメント