Что можно сделать два раза с разными настройками, что мне делать? - PullRequest
5 голосов
/ 27 июля 2011

В моем проекте XNA 3.1 у меня есть файл кубической карты (* .dds), который, по-видимому, требуется почти всем моим моделям в моем проекте. Когда я собираюсь построить свой проект с установленной кубической картой для компиляции в конвейер, я получаю сообщение об ошибке, похожее на это:

Актив был собран 2 раза с разными настройками: с помощью TextureImporter и TextureProcessor, на которые ссылается Models \ AlphaDeadTree.X (RacingGameModelProcessor), Models \ AlphaPalm.X (RacingGameModelProcessor), Models \ AlphaPalm2.X (RacingGameModelProcessor), Models \ AlphaPalm3.X (RacingGameModelProcessor) ...

И так далее, и тому подобное. В нескольких результатах Google упоминается, что простое удаление файла из узла контента с сохранением физического файла в его каталоге решит проблему, однако, похоже, что он больше не загружается в конвейер контента после его удаления из узла контента проекта, несмотря на модели, требующие этот файл.

На данный момент, что я могу сделать? Могу ли я игнорировать это гигантское предупреждающее сообщение?

Ответы [ 3 ]

3 голосов
/ 03 августа 2011

Я вижу в вашем объекте Content.content, что вы по-прежнему направляете текстуры эталонной модели (textures \ SkyCubeMap.dds, Shaders \ Textures \ NormalizeCubeMap.dds, ...): это неверно. Из вашего контент-проекта вам нужно только ссылаться на модели ( .X), но не на текстуры ( .tga, * .dds и т. Д.), Используемые моделями. Не беспокойтесь об этих текстурах: они будут автоматически найдены, импортированы и обработаны.

Например, если у вас есть модель с именем Tank.X, и эта модель использует текстуру с именем Tank.dds, вам нужно только включить Tank.X в ваш контент-проект. Включение Tank.dds приведет к ошибке.

С другой стороны, вам нужно будет включить в свой контент-проект текстуры, которые вы собираетесь загрузить вручную : Content.Load ("MyByHandLoadedTexture");

Если вам нужно загрузить ту же текстуру из модели и вручную, вам придется продублировать ее и заставить модели использовать одну копию и включить другую копию в проект контента для загрузки вручную.

3 голосов
/ 24 ноября 2011

Также вы можете щелкнуть правой кнопкой мыши текстуру и в диалоге свойств найдите опцию «Build Action» и установите «None».Это работает для меня в XNA 4.0.

0 голосов
/ 27 июля 2011

Cubemap создается дважды, потому что на него ссылаются одна или несколько моделей (в первый раз) и потому что на него явно ссылается ваш контент-проект (второй раз).

Попробуйте удалить его из вашего контент-проекта, но ВНИМАНИЕ, не нажимайте на него и нажмите «удалить»: это удалит его с диска.Щелкните его правой кнопкой мыши и в контекстном меню выберите «исключить из проекта» (или что-то подобное ... Я использую локализованную версию Visual Studio и не знаю точную метку параметра на английском языке).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...