New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VRM1.0とFinalIKのFullBodyBipedIKを併用すると腕が大きくねじれる事がある #1923
Comments
報告ありがとうございます。 おそらく処理順の問題(LateUpdate を Vrm と FinalIK が取り合いしている)で、 class AnimWithZeroWeightIk
{
private void Update()
{
IKSetupHelper.SetIkWeights(_ik, weightRatio, weightRatio * 0.5f);
_ik.UpdateSolverExternal(); // 👈 これ
} 動作検証中です・・・。 |
報告ありがとうございます。 結論から言うと、 FinalIK の Full Body Biped IK を公式の Docs 通りにセットアップすれば問題ありませんでした。 Limb の Local Axis はモデルによりさまざまですが、FinalIK FBBIK はこれを自動推定しきってくれるわけではないので、 本 Issue 添付の再現用プロジェクト内で言えば fbbik.solver.SetLimbOrientations(new BipedLimbOrientations(
new BipedLimbOrientations.LimbOrientation(Vector3.forward, Vector3.forward, Vector3.left),
new BipedLimbOrientations.LimbOrientation(Vector3.forward, Vector3.forward, Vector3.left),
new BipedLimbOrientations.LimbOrientation(Vector3.forward, Vector3.forward, Vector3.left),
new BipedLimbOrientations.LimbOrientation(Vector3.forward, Vector3.forward, Vector3.left)
)); Vrm10Runtime の ControlRig は T ポーズ時の Local Axis が World Axis と一致するので、上記のような指定になります。 これで |
詳細ありがとうございます。
|
UniVRMと直接関係しない話題ですが参考情報として共有で…。 手元環境にて上記の修正後も腕がねじれるケースが一部で見られたため改めて確認したところ、
が妥当そうだったため、この状態に修正して使用しています。 |
環境情報
0.107.0
Unity-2021.3
Windows 11
バグについて
内容
VRM 1.0とFinalIKのFullBodyBipedIK(FBBIK)、およびAnimatorによるHumanoid Animationと組み合わせたときに腕が大幅にねじれることがあります。
再現用プロジェクト
ControlRigAndAnimator_Share.zip
再現手順
検証手順:
MyProject/IKTest
シーンを開いて実行AnimWithZeroWeightIk
コンポーネントをアタッチする期待挙動: アニメーションが適用された結果、手をふるモーションが動く
実際の挙動: アバターの左腕が大幅にねじれる
左: 実行した状態のモデル、右:
WavingMotion.anim
でもともと想定されているモーション添付プロジェクト内容について
プロジェクト内訳:
MyProject/IKTest
として使用WavingMotion.anim
はVMagicMirrorで使っているモーションを使用検証用コードで生成している状況:
その他
確認したこと:
AnimWithZeroWeightIk
スクリプトを使用せず、手作業でFBBIKをアタッチしてからRuntimeAnimatorControllerを設定した場合も同じ挙動が再現します。推測:
補足:
The text was updated successfully, but these errors were encountered: