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に設定しても同じです。私もそれを並べ替えようとしましたが、それはうまくいきませんでした、同じことです。
何が起こっているのか理解するのを手伝ってください。テクスチャに何か問題がありますか? または銃?
さらに、デフォルトの照明を使用してエラーなしで銃を照らすことができます。