XNA文件加载

时间:2008-09-18 18:49:38

标签: xna

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

5 个答案:

答案 0 :(得分:4)

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

  1. 只需在xbox或zune上使用内容管道(如果你关心它们),你就不能拥有用户提供的内容,所以如果你只使用内容管道也没关系。
  2. 编写代码以加载纹理(使用.SetData),或者当然是解析模型文件并加载适当的顶点缓冲区等。

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

这是一个仅限Windows的方法加载纹理而不通过管道加载它,如上所述,所有内容必须在加载到Xbox和Zune之前编译。

Texture2D texture = Texture2D.FromFile(GraphicsDeviceManager.GraphicsDevice,@ Texture Here.png的位置);

答案 3 :(得分:1)

我相信Texture2D.FromFile();是你在寻找的。

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

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

答案 4 :(得分:0)

如果你真的想在没有内容管道的PC上加载Xna Xna.Framework.Graphics.Model(例如用户生成的内容),那就有办法了。我使用SlimDX加载一个X文件,并避免使用解析代码,一些反射技巧来实例化模型(它是密封的并且有一个私有构造函数,所以不打算扩展或自定义)。见这里:http://contenttracker.codeplex.com/SourceControl/changeset/view/20704#346981