UniVRM icon indicating copy to clipboard operation
UniVRM copied to clipboard

即座にアニメーションを開始する AnimationController を付与した Prefab VRM 1.0 モデルで目線がおかしくなる

Open Santarh opened this issue 5 months ago • 2 comments

環境情報

  • UniVRM version: 0.129.3
  • Unity version: Unity-2022.3
  • OS: Windows 11

バグについて

  • シーンの状態
    • VRM 1.0 モデル Prefab
      • Bone Transform
        • Rotation はすべて 0
      • LookAt
        • Bone Type
      • Vrm10Instance Component
        • LookAt Target Type
          • Specified Transform
        • LookAt Target
          • 適当なシーン中の GameObject
      • Animator Component
        • AnimationController
          • AnimationClip を初期ステートの遷移先として追加
            • 最初のフレームで T ポーズ以外のポーズをとる
  • 再現手順
    • シーンを Play する
    • Animation が適用される
    • 目線が LookAt Target を向かない

おそらく LookAt の基準となる状態の計算が Animator の制御の後にあり、負けているようです。 Vrm10Instance 自体の ExecutionOrder が正の値にあるのは Update の都合上、また歴史的な互換性等からしょうがないと思われますが、Start() のセットアップはなるべく早くに行われた方が良いと思われます。

Santarh avatar Jul 25 '25 12:07 Santarh

https://docs.unity3d.com/ja/2022.3/Manual/ExecutionOrder.html

MonoBehaviour.Start で間に合いそうではある。

https://github.com/vrm-c/UniVRM/blob/master/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10Instance.cs#L204

ousttrue avatar Aug 22 '25 12:08 ousttrue

手元で問題を再現できず。

ousttrue avatar Aug 26 '25 07:08 ousttrue