12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dynamic Boneのパラメーター解説

Last updated at Posted at 2021-09-12

image.png
Root
物理を適用するトランスフォーム階層のルート。
ここで対象のオブジェクトを指定するので、コンポーネント本体はどこにアタッチしても大丈夫です。
対象のボーンにアタッチするも良し、空のゲームオブジェクトを作成して、そこにひとまとめにしてアタッチしておくも良しです。
個人的には、空のゲームオブジェクトを複数作成して、髪の毛、スカートなどグループ分けして管理するのが好みです。

Update Rate
内部の物理シミュレーションの速度。単位はフレーム/秒。
個々の数値を下げてもパフォーマンスはほとんど変わらないらしいので、基本的には初期値のままで良さそうです。
参考 ⇒ [VRChat] DynamicBoneがパフォーマンスに与える影響の調査報告

Update Mode
基本的にはDefaultでおkです。
Unityのフレームレートの仕組みが分かると使い道が分かります。

Damping
ボーンがどれだけ減速するか。
値を小さくするほど、バネのように跳ねる動きをするようになります。

↓0.1の時
68c473ac-4eef-4d4f-bb2a-0bd9194115e3.gif

↓0.5の時
adade188-9a57-410a-9c81-25e66ebbf5af.gif

Elasticity
各ボーンを元の向きに戻すのにかかる力の大きさ。
値を小さくするほど、動きがゆっくりになります。

↓0.02の時
81dc2b28-ad4c-4dfe-b435-fdd4d8095004.gif

↓0.1の時
4d07a598-932e-4217-84a0-b403e4dcb311.gif

Stiffness
骨がどれだけ元の向きを保っているか。
値を大きくするほど、動かなくなります。
この値を大きくし過ぎるとコライダーと接触した時の動きが不自然になったり、プルプルしたりするので、最大でも0.4くらいにしとくのがオススメです。

↓0.1の時
1cce455c-d484-4656-acac-13a7c5e7d215.gif

↓0.1でコライダーと接触した時
3c6e4b49-a6b9-426b-9b7a-d9de412a09d9.gif

↓0.9の時
20817c6a-e8eb-4a32-bb2e-807dc0c7ad2a.gif

↓0.9でコライダーと接触した時
50b5ebdf-9021-47b4-a094-f4361f264a4a.gif

Inert
物理シミュレーションにおいて、キャラクターの位置の変化をどれだけ無視するかを指定します。

Friction
衝突したときにボーンがどれだけ減速するかを指定します。

Radius
各ボーンは、コライダーと衝突するための球体になります。Radiusは球体の大きさを表します。

~Distrib
パラメーターが階層の連鎖によってどのように変化するか。カーブの値は対応するパラメータに乗算されます。
これに関しては、↓の記事が非常に分かりやすいです。
【アドカレ2018】参考にして欲しい「揺れものパラメータ」の事例紹介 / カーブグラフ「Distrib」の使い方を解説 「Dynamic Bone 第五弾」 - Unity AssetStoreまとめ

End Length
End Lengthが0でない場合、トランスフォーム階層の最後に余分なボーンが生成されます。
長さは、最後の2つのボーンの距離を乗じたものです。
エンドジョイント、リーフボーンなどと呼ばれる末端のボーンが無いスケルトンを揺らしたい場合に設定します。

End Offset
End Offsetが0でない場合、余分なボーンがトランスフォーム階層の最後に生成されます。
オフセットはキャラクターのローカル空間になります。

Gravity
ワールドスペースでボーンにかかる力です。キャラクターの初期ポーズにかかる部分的な力はキャンセルされます。
重力を適用したい場合は、この項目のY軸にマイナスの値を入れます。
値が大きすぎると全く揺れなくなるので、-0.01くらいの小さい値から調整していくのがオススメです。

Force
ワールドスペースでボーンにかかる力です。

Colliders
当たり判定の設定です。ここで指定したコライダーとだけ接触します。
ここの数が多いほど重くなるので、必要最小限のコライダーとだけ接触するようにしましょう。

Exclusions
物理シミュレーションから除外されるボーンです。

Freeze Axis
ボーンを指定した平面上で動くように拘束します。

Distant Disable, Reference Object, Distance To Object
キャラクターがカメラやプレイヤーから離れている場合、物理シミュレーションを自動的に無効にします。
参照オブジェクトがない場合は、デフォルトのメインカメラが使用されます。
VRChatではDistant Disableは必ずOnにしないといけません。

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?