Domanda

In XNA, come posso caricare una texture o una mesh da un file senza utilizzare la pipeline del contenuto?

È stato utile?

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:

  1. 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.
  2. 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:

http://creators.xna.com/en-us/sample/winforms_series2

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top