用不同的设置构建两次资产,我该怎么办?



在我的XNA 3.1项目中,我有一个cubemap (*.dds)文件,似乎是我项目中几乎所有模型所需要的。当我将cubemap设置为编译到管道中时,我将收到一个类似这样的错误:

资源用不同的设置构建了2次:使用TextureImporter和TextureProcessor,由ModelsAlphaDeadTree引用。X AlphaPalm (RacingGameModelProcessor)模型。X AlphaPalm2 (RacingGameModelProcessor)模型。X AlphaPalm3 (RacingGameModelProcessor)模型。X(RacingGameModelProcessor)…

等等。几个google结果提到,简单地从Content节点中删除文件,同时在其目录中保留物理文件将解决问题,然而,似乎一旦从项目的Content节点中删除该文件,它就不再加载到Content管道中,尽管模型需要该文件。

在这一点上,我能做什么?难道我唯一的选择就是忽略这个巨大的警告信息吗?

我看到你的内容。内容项目,你仍然直接引用模型纹理(纹理SkyCubeMap。dds,着色器纹理 NormalizeCubeMap。):这是不正确的。从你的内容项目中,你只需要引用模型(. x),而不是纹理()。矫正性大动脉转位,*。模型使用的Dds等)。不要担心这些纹理:它们会自动定位,导入和处理。

例如,如果您有一个名为Tank的模型。这个模型使用了一个叫做Tank的纹理。你只需要包括坦克。X在内容项目中。包括坦克。DDS将产生错误。

另一方面,你必须在你的内容项目纹理中包括你要手动加载: content . load ("MyByHandLoadedTexture");

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

也可以右键单击纹理,在属性对话框中寻找'Build Action'选项并设置为'None'。

cubemap被构建两次,因为它被一个或多个模型引用(第一次),因为它被您的内容项目显式引用(第二次)。

尝试从您的内容项目中删除它,但注意,不要点击它并按"删除":这将从磁盘中删除它。右键单击它,从上下文菜单中选择"从项目中排除"(或类似的东西)……我使用的是本地化版本的Visual Studio,不知道确切的英文选项标签)

最新更新