2

在 XNA 中,如何在不使用内容管道的情况下从文件中加载纹理或网格?

4

5 回答 5

4

.FromFile 方法不适用于 xbox 或 zune。你有两个选择:

  1. 只需在 xbox 或 zune 上使用内容管道……(如果您关心它们),无论如何您都不能拥有用户提供的内容,因此仅使用内容管道也没关系。
  2. 编写代码来加载纹理(使用 .SetData),或者当然是解析模型文件并加载适当的顶点缓冲区等。
于 2008-09-18T21:48:51.153 回答
3

对于任何有兴趣从文件加载模型的人,请查看本教程:

http://creators.xna.com/en-us/sample/winforms_series2

于 2009-01-15T22:20:03.267 回答
2

这是一种仅在 windows 上加载纹理而不通过管道加载的方式,正如 Cory 上面所说的,所有内容必须在加载到 Xbox 和 Zune 之前进行编译。

Texture2D texture = Texture2D.FromFile(GraphicsDeviceManager.GraphicsDevice, @Location of your Texture Here.png);

于 2010-01-14T01:12:05.710 回答
1

我相信 Texture2D.FromFile(); 就是你要找的。

不过,看起来你不能用模型来做到这一点。

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.texture2d.fromfile.aspx

于 2008-09-18T18:55:51.803 回答
0

如果您真的想Xna.Framework.Graphics.Model在没有内容管道的情况下在 PC 上加载 Xna(例如,对于用户生成的内容),有一种方法。我使用 SlimDX 加载 X 文件,并避免解析代码、实例化模型的一些反射技巧(它是密封的并且有一个私有构造函数,因此不打算扩展或定制)。见这里:http ://contenttracker.codeplex.com/SourceControl/changeset/view/20704#346981

于 2011-08-05T05:46:23.140 回答