Вопрос
В XNA, как мне загрузить текстуру или сетку из файла без использования конвейера содержимого?
Решение
Я полагаю, что Texture2D.fromFile();это то, что вы ищете.
Однако не похоже, что вы можете сделать это с помощью Модели.
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.texture2d.fromfile.aspx
Другие советы
Метод .fromFile не будет работать на xbox или zune.У вас есть два варианта:
- Просто используйте конвейер контента ...на xbox или zune (если они вам небезразличны) у вас все равно не может быть пользовательского контента, поэтому не имеет значения, используете ли вы только конвейер контента.
- Напишите код для загрузки текстуры (используя .setData) или, конечно, для анализа файла модели и загрузки соответствующих vertexbuffers и т.д.
Для всех, кто заинтересован в загрузке модели из файла, ознакомьтесь с этим руководством:
Это единственный для Windows способ загрузить текстуру без загрузки ее через конвейер, как указывал Кори выше, все содержимое должно быть скомпилировано перед загрузкой на Xbox и Zune.
Texture2D текстура = Texture2D.Из файла (GraphicsDeviceManager.GraphicsDevice, @Расположение вашей текстуры здесь.png);
Если вы действительно хотите загрузить Xna Xna.Framework.Graphics.Model
на ПК без конвейера контента (например, для пользовательского контента) есть способ.Я использовал SlimDX для загрузки X-файла и избежал кода синтаксического анализа, некоторых трюков с отражением для создания экземпляра модели (она запечатана и имеет частный конструктор, поэтому не предназначалась для расширения или настройки).Смотрите здесь: http://contenttracker.codeplex.com/SourceControl/changeset/view/20704#346981