Skip to main content

揺れ骨の設定 (PhysBone)

このガイドでは、VRChat の PhysBone システムを使って、髪やスカート、しっぽ、アクセサリーに自然な揺れの動きを付ける方法を解説します。プリセットを使った簡単な設定から、パラメータを細かく調整する手動設定まで、すべてを網羅します。

PhysBone とは

PhysBone は、VRChat 独自の物理シミュレーションシステムです。アバターのボーン(骨格)に物理演算を適用して、髪やスカートなどが動きに合わせて自然に揺れるようにします。

PhysBone で実現できること:

  • 髪の毛が歩くたびにふわりと揺れる
  • スカートが動きに合わせて自然になびく
  • しっぽがしなやかに動く
  • イヤリングやリボンなどのアクセサリーが揺れる
  • 他のプレイヤーが触ると反応する(Grab 機能)

プリセットを使った設定

OpenForge MCP では、用途に応じたプリセットが用意されています。

髪の PhysBone (setup_hair_physbone)

ロングヘアの場合

あなた:

髪の毛に PhysBone を設定して。腰まであるロングヘアで、ゆったり揺れるようにして

AI の動き: setup_hair_physbone がロングヘアプリセットで実行されます。

AI の返答例:

PhysBone 設定完了 (ロングヘア):
対象ボーン: Hair_Root 以下 24 ボーン
Pull: 0.1
Spring: 0.3
Stiffness: 0.2
Gravity: 0.05
GravityFalloff: 0.5
Immobile: 0.3
Radius: 0.02

ショートヘアの場合

あなた:

ショートヘアの揺れを設定して。あまり大きく揺れないように

AI の動き: setup_hair_physbone がショートヘアプリセットで実行されます。

AI の返答例:

PhysBone 設定完了 (ショートヘア):
対象ボーン: Hair_Root 以下 12 ボーン
Pull: 0.2
Spring: 0.5
Stiffness: 0.4
Gravity: 0.03
GravityFalloff: 0.8
Immobile: 0.5
Radius: 0.01

スカートの PhysBone (setup_skirt_physbone)

あなた:

スカートに PhysBone を設定して。膝丈のプリーツスカートで

AI の動き: setup_skirt_physbone が実行されます。

AI の返答例:

PhysBone 設定完了 (スカート):
対象ボーン: Skirt_Root 以下 16 ボーン
Pull: 0.15
Spring: 0.4
Stiffness: 0.3
Gravity: 0.08
GravityFalloff: 0.6
Immobile: 0.2
Radius: 0.03
コライダー: 自動追加 (左脚、右脚、腰)
スカートにはコライダーが重要

スカートの PhysBone には、脚や腰のコライダー(衝突判定)が自動的に追加されます。これにより、スカートが脚を貫通するのを防ぎます。

しっぽの PhysBone (setup_tail_physbone)

あなた:

しっぽに PhysBone を設定して。猫のしっぽで、しなやかに動くようにして

AI の動き: setup_tail_physbone が実行されます。

AI の返答例:

PhysBone 設定完了 (しっぽ):
対象ボーン: Tail_Root 以下 6 ボーン
Pull: 0.08
Spring: 0.2
Stiffness: 0.15
Gravity: 0.1
GravityFalloff: 0.4
Immobile: 0.2
Radius: 0.02
Grab: 有効(他のプレイヤーが掴める)

アクセサリーの PhysBone (setup_accessory_physbone)

あなた:

イヤリングに PhysBone を設定して。小さな揺れで

AI の動き: setup_accessory_physbone が実行されます。

AI の返答例:

PhysBone 設定完了 (アクセサリー - イヤリング):
対象ボーン: Earring_L, Earring_R 以下各 2 ボーン
Pull: 0.05
Spring: 0.6
Stiffness: 0.1
Gravity: 0.15
GravityFalloff: 0.3
Immobile: 0.1
Radius: 0.005

あなた:

リボンにも PhysBone を設定して。後ろ髪のリボンで、ひらひら揺れる感じで

AI の動き: setup_accessory_physbone がリボン向けの設定で実行されます。

手動設定: パラメータの解説 (configure_physbone)

プリセットでは対応しきれない場合や、細かい調整が必要な場合は、パラメータを直接指定します。

パラメータ一覧と効果

パラメータ範囲説明値が大きいと値が小さいと
Pull0.0 - 1.0元の姿勢に戻ろうとする力すぐに元に戻るゆっくり戻る
Spring0.0 - 1.0バネの弾力弾むような動き鈍い動き
Stiffness0.0 - 1.0動きへの抵抗力硬い、動きにくい柔らかい、揺れやすい
Gravity-1.0 - 1.0重力の影響度強く垂れ下がる重力の影響が少ない
GravityFalloff0.0 - 1.0姿勢による重力の変化姿勢で重力が変わる姿勢に関係なく一定
Immobile0.0 - 1.0移動時に動かない割合動きに追従しにくい動きに敏感に反応
Radius0.0 以上コリジョンの半径太い当たり判定細い当たり判定

パラメータの調整例

あなた:

髪の PhysBone の Spring を 0.5 に上げて。もう少し弾むような動きにしたい

AI の動き: configure_physbone が実行され、Hair_Root の PhysBone の Spring パラメータが 0.5 に変更されます。

あなた:

しっぽの Gravity を 0.15 にして。もう少し垂れ下がる感じにして

AI の動き: Tail_Root の PhysBone の Gravity が 0.15 に更新されます。

パラメータの組み合わせ例

用途別の推奨パラメータの組み合わせです。

やわらかい長髪

Pull: 0.08, Spring: 0.25, Stiffness: 0.15,
Gravity: 0.05, Immobile: 0.3

特徴: ゆっくりと揺れ、ふわりと元に戻る。重力の影響は控えめ。

硬めのツインテール

Pull: 0.2, Spring: 0.5, Stiffness: 0.4,
Gravity: 0.03, Immobile: 0.5

特徴: 素早く元に戻る。大きく揺れにくいが、弾力がある。

軽いフリルスカート

Pull: 0.1, Spring: 0.4, Stiffness: 0.2,
Gravity: 0.1, Immobile: 0.15

特徴: 軽やかにひらひら動く。動きに敏感に反応する。

重めのロングスカート

Pull: 0.2, Spring: 0.3, Stiffness: 0.35,
Gravity: 0.12, Immobile: 0.3

特徴: ゆったりとした動き。重力でしっかり垂れ下がる。

コライダーの設定 (add_physbone_collider)

コライダーは、PhysBone が特定のオブジェクトを貫通しないようにする衝突判定です。

よくあるコライダーの配置

あなた:

スカートが脚を貫通しないようにコライダーを追加して

AI の動き: add_physbone_collider が実行され、左右の脚にカプセル型のコライダーが追加されます。

AI の返答例:

PhysBone コライダー追加:
LeftUpperLeg: カプセルコライダー (半径 0.04, 高さ 0.35)
LeftLowerLeg: カプセルコライダー (半径 0.035, 高さ 0.35)
RightUpperLeg: カプセルコライダー (半径 0.04, 高さ 0.35)
RightLowerLeg: カプセルコライダー (半径 0.035, 高さ 0.35)
Hips: 球コライダー (半径 0.08)
→ スカートの PhysBone にコライダーを関連付けました

あなた:

髪が体を貫通しないように、胸と背中にもコライダーを追加して

AI の動き: 胸(Chest)と背中(Spine)にコライダーが追加され、髪の PhysBone に関連付けられます。

コライダーの種類

種類形状用途
Sphere頭、関節、胴体の大まかな判定
Capsuleカプセル(円柱 + 半球)腕、脚などの細長い部位
Plane無限平面地面や壁(特殊用途)

コライダーの調整

あなた:

脚のコライダーの半径を少し大きくして。スカートが脚の間に入り込むことがあるから

AI の動き: コライダーの半径が拡大されます。

コライダーを大きくしすぎると

コライダーの半径を大きくしすぎると、スカートや髪が体から不自然に離れてしまいます。少しずつ調整して、貫通が防げる最小限の大きさにするのがコツです。

自然な揺れを作るコツ

基本方針

  1. まずプリセットで設定する: プリセットは多くのアバターでバランスの良い値に調整されています
  2. Spring と Pull のバランス: Spring を上げると弾力が増し、Pull を上げると元に戻る速度が上がります。両方を上げすぎると落ち着きのない動きになります
  3. Stiffness は控えめに: Stiffness が高すぎるとほとんど揺れなくなります。0.1 から 0.3 の範囲が自然に見えることが多いです
  4. Gravity は控えめに: 強すぎると常にだらんと垂れ下がります。0.03 から 0.1 程度が多くの場合で適切です

調整のワークフロー

あなた:

髪の揺れを再生モードでテストして

AI の動き: Unity のプレイモードが開始され、PhysBone のシミュレーションが実行されます。

あなた:

少し揺れすぎている。Stiffness を上げて、Spring を下げて

AI の動き: パラメータが調整されます。

あなた:

いい感じ。今の設定値を表示して

AI の返答例:

現在の PhysBone 設定 (Hair_Root):
Pull: 0.1
Spring: 0.2
Stiffness: 0.3
Gravity: 0.05
GravityFalloff: 0.5
Immobile: 0.3

パフォーマンスへの影響

PhysBone はパフォーマンスランクに影響します。

ランクPhysBone コンポーネント数影響ボーン数コライダー数
Excellent000
Good4 以下16 以下8 以下
Medium8 以下64 以下16 以下
Poor16 以下256 以下32 以下
PhysBone のパフォーマンス最適化

PhysBone コンポーネントの数を減らすには、複数のボーンチェーンを 1 つのルートボーンにまとめる方法があります。例えば、前髪と横髪を別々のコンポーネントにするのではなく、共通の Hair_Root から設定することで、コンポーネント数を削減できます。

次のステップ

PhysBone の設定が完了したら、以下のガイドも参考にしてください。