vrm-c / vrm-specification

vrm specification
235 stars 37 forks source link

spring bone の枝分かれの仕様を明文化する #472

Open ousttrue opened 4 months ago

ousttrue commented 4 months ago

pre position は前回の位置で verlet 積分で使う 値です。

別実装の開発で以下の仕様にするとより自然になりそうと分かった。

最初の枝でverlet処理する。 後続の枝は最初の枝のverlet結果をコピーする(相対位置を維持する)。 後続の枝はコリジョンしない。 後続の枝の子孫はverletとコリジョンの処理を継続する。

質点移動の結果を親の回転として反映するという仕様なので、 複数の子が同時に親の回転を変更することができないのでルールが必要だった。 すべての枝が塊として動いてほしいので、代表して最初の枝で処理する。