Проблема с текстурой модели XNA 4.0 - PullRequest
2 голосов
/ 20 декабря 2011

У меня проблема.Когда я пытаюсь визуализировать свою модель в XNA 4.0, некоторые места моей текстуры прозрачны.Что-то не так с самой текстурой или я что-то не так делаю?Модель и текстура экспортируются из Blender.Я пытался отключить цветовой ключ или предварительно умножить альфа, но не повезло.

Снимок экрана:

http://i43.tinypic.com/2evg56u.jpg

Вот мои методы рисования:

    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.Clear(ClearOptions.Target | ClearOptions.DepthBuffer, Color.CornflowerBlue, 1.0f, 0);

        DrawModel(model, position);

        spriteBatch.Begin();
        spriteBatch.DrawString(font, "Camera\nX = " + cameraPosition.X.ToString() +
                                     "\nY = " + cameraPosition.Y.ToString() +
                                     "\nZ = " + cameraPosition.Z.ToString(), new Vector2(10, 10), Color.White);
        spriteBatch.DrawString(font, "Look at\nX = " + cameraLookAt.X.ToString() +
                                     "\nY = " + cameraLookAt.Y.ToString() +
                                     "\nZ = " + cameraLookAt.Z.ToString(), new Vector2(10, 150), Color.White);
        spriteBatch.End();

        base.Draw(gameTime);
    }

    void DrawModel(Model model, Vector3 position)
    {
        foreach (ModelMesh mesh in model.Meshes)
        {
            foreach (BasicEffect effect in mesh.Effects)
            {
                effect.EnableDefaultLighting();
                effect.SpecularColor = new Vector3(0.25f);
                effect.SpecularPower = 16;

                effect.World = Matrix.CreateTranslation(position);
                effect.Projection = projection;
                effect.View = view;
            }

            mesh.Draw();
        }
    }

1 Ответ

0 голосов
/ 20 декабря 2011

Проверьте ваш DepthStencilState, так как это изменится после вызова объекта SpriteBatch. Вам может потребоваться сбросить его Default после вызова SpriteBatch.End().

...