Skip to main content

SpringBone implementation

typejobupdateloadnote
vrm-0spring rootdefaultv0.74(scaling), v0.126(scaling param)
vrm-0jobscene singletoncustom
vrm-1jobscene singletondefaultv0.106(重力), v0.126(editor)
3つのSpringBone実装の部品を共通化予定
job は房並列です

joint 毎ではなく房(根元 から末端まで)単位の並列です。

根元から順番に長さで拘束して位置を確定させるため再帰処理が必須。

  • 伸縮せずに見た目がきれい
  • 並列化できない

というトレードオフがあります。

Spring の状態変化

input変化備考
初期姿勢不変bone local. スケール抜き?
構成(joint アタッチ情報)不変editor では変わりうる。再初期化
runtime(center, scale, exernal...etc)フレームcenter, scale で難
joint設定(stiffness, dragForce, gravity... etc)フレーム
collider(radius)フレーム

scaling

スケーリングは uniform(xyz が同じ) のみの対応です

実行時に SpringBone 実行システムをカスタマイズするインタフェース

追加予定

job かつ singleton でないバージョン

typejobupdateloadnote
vrm-0jobmodel root(todo)
vrm-1jobmodel root(todo)

複数VRM を同時に処理する場合は scene singleton の方がパフォーマンスが向上します。