Closed takecccc closed 10 months ago
Pull Requestありがとうございます。 とりあえずカプセルコライダーの高さの方向が間違っていた件について取り込ませていただきました。
こちらのPRですが少しの間止まっているようですが、取り込みに向けてお手伝いすることは可能でしょうか? 元のコミットに対して上記のコメントを反映させた変更案を作成してみました。 https://github.com/PancakeTorto1se/UniVRMExtensions/tree/fix-converter-parameter
コメントいただいたまま放置してしまいすみません。 @PancakeTorto1se さんに提案いただいた内容を反映しながら、コミットを整理しました。 パラメーター追加と閾値変更でコミットを分けて欲しいとのコメントがあったので、rebaseして整理してあります。
閾値の調整については当初ガンマ補正を組み合わせていましたが、 変換の根拠がなかったためリニアな範囲変換に変更しました。
各コンポーネントの値の範囲を以下にまとめました。
VRCPhysBone | param | min | max | default |
---|---|---|---|---|
pull | 0 | 1 | 0.2 | |
spring | 0 | 1 | 0.2 | |
stiffness | 0 | 1 | 0.2 | |
gravity | -1 | 1 | 0 | |
immobile | 0 | 1 | 0 |
VRMSpringBone | param | min | max | default |
---|---|---|---|---|
stiffness | 0 | 4 | 1 | |
gravityPower | 0 | 2 | 0 | |
drag force | 0 | 1 | 0.4 |
DynamicBone | param | min | max | default |
---|---|---|---|---|
damping | 0 | 1 | 0.1 | |
elasticity | 0 | 1 | 0.1 | |
stiffness | 0 | 1 | 0.1 | |
inert | 0 | 1 | 0.1 | |
gravity | - | - | Vector3(0,0,0) |
お二方とも有り難うございます。
コードを見ると問題なさそうなのですが、コミットを適用するとなぜかVRMSpringBoneからVRCPhysBoneへの変換で、重力が0になるため、調査中です。
↑の件修正できました
値の代入が漏れていたのですね。ご対応ありがとうございます。
こちらについて修正が行われていたようなので確認したのですが、Gravityについては現時点でも閾値を突破して変換されています。(添付画像1枚目がPhysBonesの設定値、2枚目が変換後のSpringboneの設定値です) 数値を見る限り、PhysBones→Springboneで本来はGravityの数値を2倍にするところ、20倍になっているようです(この逆も然りで、本来はSpringbone→PhysBonesでGrabvityの数値を1/2にする必要があるところ、1/20になっているようです)