1

XNA で初めて 3D ゲームを作成しようとしています。すでに 2D と C# のコーディングの経験がありますが、これは少し気が遠くなります。

3D オブジェクト (Blender で作業している未完成の銃モデル) にテクスチャを描画しようとしていますが、モデルはロードされますが、完全に白 (意図) であり、次を使用して銃に灰色を描画したいと考えています。これ:

    private void DrawModel(Model model, Matrix world, Matrix view, Matrix projection)
    {
        foreach (ModelMesh mesh in model.Meshes)
        {
            foreach (BasicEffect effect in mesh.Effects)
            {
                effect.EnableDefaultLighting();
                effect.TextureEnabled = true;
                effect.Texture = guntexture;
                effect.World = world;
                effect.View = view;
                effect.Projection = projection;          

            }

            mesh.Draw();
        }




    }

guntexture は、通常の方法で読み込んだ Texture2D です。これは、基本的にペイントで作成された灰色の正方形です。

問題は、コンパイル時に次のエラーが発生することです。

さらに重要なことに、エラーは次の 2 つによって生成されていると感じています。

    effect.TextureEnabled = true;
    effect.Texture = guntexture;

最初のものを削除すると、ゲームがコンパイルされますが、テクスチャはありません。それを保持してfalseに設定しても同じです。私もそれを並べ替えようとしましたが、それはうまくいきませんでした、同じことです。

何が起こっているのか理解するのを手伝ってください。テクスチャに何か問題がありますか? または銃?

さらに、デフォルトの照明を使用してエラーなしで銃を照らすことができます。

4

1 に答える 1