XNA では「Visual Studio 2005」のみをサポートしていますが、これはゲームテンプレートが用意されていないだけで、Visual Studio 2008 でも XNA Framework を使うことができます。今回は MSBuild とコンテンツパイプラインを使ってモデルを表示するサンプルを作っています。(今回コードをほとんど流用しているので実行ファイルのみ公開しています)
サンプルは WPF ウインドウ上で表示させていますが、コードのほとんどは XNA Creators Club のサンプルにある「WinForms Series 2: Content Loading Sample」を元に作っています。プロジェクトは下のようになっています。
「Window1.xaml」以外は XNA Creators Club のサンプルをそのまま使っています。
コンテントパイプラインを使用するには「MSBuild」系列の DLL を使うので、これらを参照として追加します。追加するのは「Microsoft.Build.Engine」と「Microsoft.Build.Framework」です。
「2.0.0.0」と「3.5.0.0」の2つのバージョンがありますが、「2.0.0.0」を選択します。こちらは .NET Framework 2.0 のランタイムに含まれる DLL なので、開発環境のない環境でも使うことができます。
コンテンツパイプラインを使う場合、「Microsoft.Xna.Framework」のほかに「Microsoft.Xna.Framework.Content.Pipeline」の参照も追加してください。
コードの説明については XNA Creators Club のコードをほとんど流用しているため省きます。違う点は Windows フォームのウインドウ(MainForm)の代わりに WPF のウインドウ(Window1)を使っている部分だけで、内部処理コードもほとんどそのままコピーしています。名前空間が重なったりするのである程度は書き直さないといけませんが(^^;)。
モデルを表示するための ModelViewControl は WindowsFormsHost コントロールを使って WPF のウインドウに貼り付けています。
配布ファイル
以下、実行ファイルです。「.NET Framework 3.0」と「最新の DirectX ランタイム」「Microsoft XNA Framework Redistributable 2.0」が必要です。また、ハードウェア要件として「シェーダモデルバージョン 1.1 以上に対応したグラフィックカード」が必要です(たぶん)。
あと、モデルファイルを読み込むために X ファイル、または FBX ファイルを別途用意してください。