xna - 使用不同的设置构建了两次 Assets ,我该怎么办?

标签 xna

在我的 XNA 3.1 项目中,我有一个立方体贴图 (*.dds) 文件,我的项目中几乎所有模型都需要该文件。当我使用设置为编译到管道中的立方体贴图来构建我的项目时,我收到如下错误:

Asset was built 2 times with different settings: using TextureImporter and TextureProcessor, referenced by Models\AlphaDeadTree.X (RacingGameModelProcessor), Models\AlphaPalm.X (RacingGameModelProcessor), Models\AlphaPalm2.X (RacingGameModelProcessor), Models\AlphaPalm3.X (RacingGameModelProcessor)...



等等等等。几个谷歌结果提到,只需从内容节点中删除文件,同时将物理文件保留在其目录中就可以解决问题,但是,一旦从项目的内容节点中删除,它似乎不再加载到内容管道中,尽管模型需要该文件。

此时,我能做什么?忽略那条巨大的警告消息是我唯一的选择吗?

最佳答案

我在您的 Content.contentproject 上看到您仍然直接引用模型纹理(textures\SkyCubeMap.dds、Shaders\Textures\NormalizeCubeMap.dds、...):这是不正确的。从您的内容项目中,您只需引用模型 (.X) 而不是模型使用的纹理(.tga、*.dds 等)。不要担心这些纹理:它们会被自动定位、导入和处理。

例如,如果您有一个名为 Tank.X 的模型,并且该模型使用名为 Tank.dds 的纹理,则您只需在内容项目中包含 Tank.X。包括 Tank.dds 会产生错误。

另一方面,您必须在内容项目中包含您将手动加载的纹理: Content.Load("MyByHandLoadedTexture");

如果您需要从模型中手动加载相同的纹理,则必须复制它并使模型使用一个副本并将另一个副本包含在内容项目中以便手动加载。

关于xna - 使用不同的设置构建了两次 Assets ,我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837629/

相关文章:

c# - 什么是最好的 XNA 书籍,它可以教您从基础到高级的 2d 和 3d 游戏编程?

xna - 如何在 MonoGame 中使用着色器?

audio - 在 XNA/Monogame 中更改音调时,声音文件的播放持续时间如何变化?

c# - 向上和向下缩放Sprite,以产生跳跃感

visual-studio - 在 Visual Studio 之外开发 XNA

c# - XNA - 'isMouseVisible' 没有定义

windows-phone-7 - WP7 - 检测传入的短信

c# - 使用 World 矩阵阵列的 XNA 模型实例化

c# - GC 语言的优化,有什么想法吗?

C# XNA 在构造函数中通过引用类传递