gpt4 book ai didi

c# - XNA 纹理问题

转载 作者:太空狗 更新时间:2023-10-29 21:36:28 24 4
gpt4 key购买 nike

好的,我最近一直在尝试很多新事物,并且有几个停止点。我决定离开 3d,因为我认为我只是没有也无法理解所涉及的编码。不过我的数学很好,所以我想我会再试一次。

我正在尝试使用 C# 学习 3d XNA,我最近学习了 2d,希望继续学习。我的问题是(在我看来)最基本的 3d 形状,立方体,我遇到了问题。从 blender 成功导出我的立方体后(第 7 次尝试 >_>)并将其导入 XNA 后,我无法在立方体上正确显示纹理,所以我从下载了一个立方体模型一个示例源代码文件,并尝试使用它,它是默认纹理,但我仍然遇到问题。

基本上,绘制立方体的代码是:

foreach (ModelMesh mesh in model.Meshes)
{
GraphicsDevice.RasterizerState = RasterizerState.CullClockwise;
foreach (BasicEffect effect in mesh.Effects)
{
effect.TextureEnabled = true;
//effect.Texture = texture;
effect.World = world;
effect.View = view;
effect.Projection = projection;
effect.LightingEnabled = false;
}
mesh.Draw();
}

RenderStateLightingEnabled 是新的,试图自己修复它,当我使用自己的纹理时,纹理看起来像是被拉伸(stretch)了,没有显示立方体上的整个图像,但所有面看起来都一样,所以它没有包裹它。

此外,为了查看我旋转立方体的所有面:

position -= new Vector3(0, 0.00f, 0.0100f);
angley += 0.01f;
anglez += 0.01f;

world = Matrix.CreateScale(1.5f) * Matrix.CreateRotationZ(anglez) * Matrix.CreateRotationY(angley) * Matrix.CreateTranslation(position);

z 的变化是为了让我可以检验另一种理论。

默认纹理是沙色纹理,我不确定它是否在拉伸(stretch),因为它几乎是纯色。但是盒子本身的表现似乎很奇怪(看起来好像我可以透过近面看,而我正在看对面的背影)

我希望有人能帮助我,它看起来应该比看起来简单得多,绘制一个简单的纹理立方体,而且大多数在线教程都来自旧版本的 XNA,所以代码不匹配,当我试图用当前代码替换它时我迷路了。 (关于用代码而不是模型创建立方体的教程。)

无论如何,感谢您的回答。

编辑 1:CreateOrthographic 绘制这个立方体使它看起来正确(第一个使用透视图)但仍然没有纹理爱:(

编辑 2:当我使用我的立方体时,它被拉伸(stretch),当我使用来自源的立方体时,它是纯色。

编辑 3:如果我提到我正在使用字体/spritebatch 显示 FPS,我可能会更快得到答案。当我弄清楚为什么它不起作用,并将它与 DID 起作用的样本进行比较时,我发现,现在,有人知道如何让它起作用吗?

最佳答案

对我自己以及遇到此问题的任何其他人>。<

你在使用:

SpriteBatch.begin()

在您的代码中做任何事情?如果是这样,这会搞砸您的程序在 3d 中的呈现方式,请查看此链接(对于 XNA 4.0 之前的版本):

http://blogs.msdn.com/b/shawnhar/archive/2006/11/13/spritebatch-and-renderstates.aspx

如果您使用 XNA 4.0,则此链接:

http://blogs.msdn.com/b/shawnhar/archive/2010/06/18/spritebatch-and-renderstates-in-xna-game-studio-4-0.aspx

特别是解决此问题的行是:

GraphicsDevice.SamplerStates[0] = SamplerState.LinearWrap;

在 foreach 循环之前添加它为我解决了这个问题,但您可能需要尝试那篇文章中的其他行

对于阅读本文的任何其他人,祝你的 XNA 梦想好运 :D

关于c# - XNA 纹理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5042082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com