Skip to content

プレビューアバターのAnimator.avatarがnull化すると「Avatar is null」エラーが連発する(GetBoneTransformのガード欠如) #56

Description

@UnisakiStudio

症状(サポート問い合わせより)

初回アップロードは成功するが、その後アニメーション差し替えやオンオフ操作中に「Avatar is null / UnityEngine.Animator.GetBoneTransform」エラーが繰り返し出る。シーン上のアバター本体のAnimatorにはAvatarが設定されている(3.0.5で報告)。

原因(静的調査)

  • エラー源はシーンに常駐するプレビュー用アバター(posingSystem.previewAvatarObject、HideInHierarchyの加工済みクローン)。ビルド時生成の一時アセットに依存しているため、生成物のクリーンアップ・Unity再起動・シーン再読込で参照がMissingになり Animator.avatar がnull化し得る
  • Editor/PosingSystemConverter.csSetCameraForAvatar(2067-2069)と TakeIconScreenshot(2460-2462)は GetBoneTransform 呼び出し前に animator.avatar のnullチェックがない(Animator自体のnullしか見ていない)
  • インスペクターの「姿勢アニメーション設定」展開中は毎リペイントでスクリーンショット処理が走るため、エラーが連発する。「本体のAnimatorには設定されているのに」というユーザーの観察(壊れているのは隠しプレビュー側)とも整合

修正案

  1. TakeIconScreenshot / SetCameraForAvataranimator.avatar == null ガードを追加
  2. プレビューアバターが不正(avatar欠落)な場合は自動破棄・再生成する

Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions