DynamicBone

ダイナミックボーン


機能
  • Addしたオブジェクトの子孫全てに影響を及ぼし、連なって揺れる演出ができるようになる

解説

使い方

解説


  • DynamicBoneコンポーネントはボーンにつけてもいいし、GameObjectにつけても良い
    • 親につければ、配下の子孫オブジェクトすべてに影響します
    • ボーンに付けるのに抵抗がある場合は、空のGameObjectを追加して、そこにAddしても大丈夫です
    • 末尾の動画に目を通すと流れがわかりやすいです

パラメータ

  • root:影響を及ぼしたい根元のオブジェクト 通常は自分自身で良い

  • Damping:制動、減衰、揺れた後、元に戻ろうとする力
    • 値を増やすとゆっくり戻ってくる
    • 髪やしっぽ、布などは0.1~0.5程度が良いかも?

  • Elasticity:弾性、本体の揺れに抵抗する力
    • 揺れが落ち着くまでの時間
    • 髪やしっぽ、布などは0.05~0.1程度が良いかも?

  • Stiffness:剛性、揺れる力に対する影響度
    • 根元を動かないようにしたりする

  • DistantDisable:チェックする(ある程度離れたプレイヤーには効果がなくなる)

  • Gravity:重力を適用する機能ですが重いのでできれば使わないで頂けるとありがたいです
    • 特段重いわけではない?

  • Colliders:コライダを設置することでスカートをめり込まなくする等に使える機能です

動作確認の仕方
  • 画面上の再生ボタンを押す(Gameタブに自動的に遷移する)
  • Sceneタブに切り替えて、Hierarchyからアバターのルートを選択(アバター全体が選択状態)
  • 足元の矢印でアバター全体を動かすと揺れが確認できる
  • 再生中にパラメータを変更しても実際には反映されないので注意(設定値の試し打ちには良い)

備考

事例


Tips
  • https://twitter.com/zuihocha/status/981475358804393984
  • HeadボーンにAddし、Exclusionsに影響させたくないオブジェクトを登録する方法(sizeで登録したい項目数を増やします)
    • 髪の毛など配下のオブジェクトをすべて同じ設定で揺らしたい場合に有効なアプローチ

FreezAxisで前髪の奥行方向の揺れを抑制することでおでこにめり込まなくする方法

負荷に対しての検証
  • DynamicBoneがパフォーマンスに与える影響の調査報告
    http://www.doll-profile.com/blog/131
    • DistantDisableはVRChat内で自動的に有効化される
    • Gravityを設定しても負荷は変わらない
    • UpdateRateを下げてもほとんど軽くならない
    • DistantDisableは軽くする効果が大きいので設定してほしい


便利なユーザースクリプト

CopyComponentsByRegex

DBController

カテゴリ・タグ: カテゴリ-Avatar

  • 最終更新:2018-09-23 09:16:18

このWIKIを編集するにはパスワード入力が必要です

認証パスワード