0

Wrox の MC Neel による「XNA 3D Primer」のコードを使用します。31 ページの「第 8 章」のコードに問題があります。 robotAni が MeshAnimationInfo 型で宣言されている変数robotAniあります( MeshAnimationInfoPipeline.Contentのクラスです)。

    MeshAnimationInfo robotAni;
    Matrix[] robotTransforms;

LoadContentのコードは次のとおりです。

    protected override void LoadContent()
    {
        robot = Content.Load<Model>("Robot");

        robotAni = robot.Tag as MeshAnimationInfo;
        robotTransforms = new Matrix[robotAni.BoneTransforms.Count];
    }

私のファイルのコードは、本のコードとまったく同じです。最後の行に次のエラーがあります。

NullReferenceException は未処理でした

上記の行のrobotAniが null である限り、これはまったく正しいことです。では、このエラーを修正する方法を教えていただけませんか? ありがとうございました

4

1 に答える 1

0

お気づきのとおりrobot.Tag、null です。このため、robotAni も null です。

タグが null になっている理由が気になる場合は、Nick Gravelynによる次の応答を確認してください。

Model.Tag プロパティに何かを入力するインポーターまたはプロセッサーを正しく使用していますか? デフォルトでは (デフォルトのモデルのインポーターとプロセッサーを使用して)、Tag プロパティには何も入れられません。

このスタック オーバーフロー スレッドでわかるように、モデル ファイルのプロパティ ウィンドウでContent Processorプロパティをに設定するのを忘れている可能性がありSkinnedModelProcessorます (Visual Studio のプロパティ ウィンドウを使用します)。

于 2013-05-16T08:34:58.567 に答える