Domanda
In XNA, come posso caricare una texture o una mesh da un file senza utilizzare la pipeline del contenuto?
Soluzione
Credo che Texture2D.FromFile();è quello che stai cercando
Tuttavia non sembra che tu possa farlo con un modello.
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.texture2d.fromfile.aspx
Altri suggerimenti
Il metodo .FromFile non funzionerà su Xbox o Zune.Hai due scelte:
- Basta usare la pipeline dei contenuti...su Xbox o Zune (se ci tieni), non puoi comunque avere contenuti forniti dall'utente, quindi non importa se usi solo la pipeline dei contenuti.
- Scrivi il codice per caricare la texture (usando .SetData), o ovviamente per analizzare il file del modello e caricare i vertexbuffer appropriati, ecc.
Per chiunque sia interessato a caricare un modello da un file, consulta questo tutorial:
Questo è un modo solo per Windows per caricare una texture senza caricarla attraverso la pipeline. Come affermato in precedenza da Cory, tutto il contenuto deve essere compilato prima di caricarlo su Xbox e Zune.
Texture Texture2D = Texture2D.FromFile(GraphicsDeviceManager.GraphicsDevice, @Location della tua Texture Here.png);
Se vuoi davvero caricare un file Xna Xna.Framework.Graphics.Model
su PC senza pipeline di contenuti (ad esempio per contenuti generati dagli utenti), esiste un modo.Ho usato SlimDX per caricare un file X ed evitare il codice di analisi e alcuni trucchi di riflessione per istanziare il modello (è sigillato e ha un costruttore privato, quindi non è stato pensato per essere esteso o personalizzato).Vedere qui: http://contenttracker.codeplex.com/SourceControl/changeset/view/20704#346981