XNA では、コンテンツ パイプラインを使用せずにファイルからテクスチャまたはメッシュを読み込むにはどうすればよいですか?
5 に答える
.FromFile メソッドは、xbox または zune では機能しません。次の 2 つの選択肢があります。
- コンテンツ パイプラインを使用するだけです... xbox や zune (気にする場合) では、とにかくユーザー提供のコンテンツを持つことはできないため、コンテンツ パイプラインのみを使用するかどうかは問題ではありません。
- (.SetData を使用して) テクスチャをロードするコードを記述するか、もちろんモデル ファイルを解析して適切な頂点バッファなどをロードするコードを記述します。
ファイルからモデルをロードすることに興味がある人は、このチュートリアルをチェックしてください。
これは、パイプラインを介してテクスチャをロードせずにテクスチャをロードする Windows のみの方法です。Cory が上で述べたように、すべてのコンテンツは、Xbox および Zune にロードする前にコンパイルする必要があります。
Texture2D texture = Texture2D.FromFile(GraphicsDeviceManager.GraphicsDevice, @Texture Here.png の場所);
私は Texture2D.FromFile(); を信じています。あなたが探しているものです。
ただし、モデルでこれを行うことができるようには見えません。
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.texture2d.fromfile.aspx
コンテンツ パイプラインを使用せずにXna を PC にロードしたい場合Xna.Framework.Graphics.Model
(ユーザー生成コンテンツなど) には、方法があります。SlimDX を使用して X ファイルをロードし、解析コード、モデルをインスタンス化するためのいくつかのリフレクション トリックを回避しました (モデルはシールされており、プライベート コンストラクターがあるため、拡張またはカスタマイズすることを意図していませんでした)。ここを参照してください: http://contenttracker.codeplex.com/SourceControl/changeset/view/20704#346981