| このページは にとってとは?について技術職の転職| 技術職の転職情報館が 2006年 12月 18日 13時52分14秒 にクロールしたキャッシュ情報です。 |
にとってとは?
[ 5] ゲーム開発者にとってのビルド作業とは? − @IT
[引用サイト] http://www.atmarkit.co.jp/fdotnet/directxworld/directxworld05/directxworld05_01.html
|
XNA Game Studio Express beta 2のリリースと前回の記事公開がほとんど同時になってしまった。前回掲載したサンプルはbeta 2ではコンパイルできなくなっている。また、プロジェクト・テンプレートが改良され、出力アセンブリのプラットフォームを設定するで解説した作業も不要になっている。ご注意いただきたい。 今回のアップデートでは、MSBuildを活用したゲーム開発向けコンテンツ・ビルド・エンジンである「Content Pipeline」に加えてXbox 360用のビルドも実装され、XNAの正式リリースが近づいていることを感じさせられる。完成版は今月2006年12月11日前後にリリースの予定だ。なお、Xbox 360での実機動作については、この正式リリース後ということになっている。実機での動作を楽しみにされている方はもう少しお待ちいただきたい。 なお前回の最後に、次回ではXNAを用いたDirectX開発とガベージ・コレクションとのかかわりやシェーダ・プログラミングについても紹介すると書いたが、今回はVisual Studio拡張の興味深い例であるContent Pipelineについてページを割いたことで、それらは次回以降に回させていただいた。ご了承いただきたい。それでは、XNAプログラミングのハイライトであり、.NET開発としても興味深い部分である、Content Pipelineについて見ていこう。 大規模化が進む近年のゲーム開発の世界は、インテリジェントなビルド・ワークフロー・エンジンや、使用するさまざまな種類のコンテンツを有機的に管理するアセット管理ツールの市場として期待されている。例えば、多人数開発では、コンテンツに対する最適な視点やタイム・テーブルが役割ごとに異なるが、これをツールによってサポートすることで業務の効率化を目指そうというものだ。 また、ビルド処理そのものが大規模化しているという側面もある。今日のビルド処理にはソース・コードを実行形式ファイルに変換するという処理に加え、以下のような要求にも応える必要がある。 (1)コンテンツ・ファイルをVisual C#のソリューション・エクスプローラにドラッグ・アンド・ドロップすることで、プロジェクトに追加する (2)コンテンツのプロパティから適切なアセット名、コンテンツ・インポータ、コンテンツ・プロセッサを設定する 前回使用した「XNA.png」をコンテンツ・データの例として、これがContent Pipelineによりどのように処理されるか見てみよう。 ・[Asset Name]は、このコンテンツ・データにアクセスするための識別子となる。プロジェクト中で一意になるように設定する。 XNAのContent Compilerが適切にデータを生成するため、実行時にオリジナル・ファイルは必要ない。設定は「コピーしない」のままでよい。 この状態でコンパイルすると、実行ファイルと同じディレクトリにXNA.xnbというファイルが生成される。一方、プログラム中からコンテンツにアクセスする際には、ファイルの存在を気にする必要はなく、以下のように単純に型とアセット名を指定するだけでよい。 ContentManagerはキャッシュを備えた軽量のオブジェクト・ファクトリで、GameServiceContainerを通じて複数個作ることができる。各ContentManagerは一度ロードしたオブジェクトをキャッシュしており、2回目以降の要求にはキャッシュされたオブジェクトを返す。 またContentManagerクラスがIDisposableインターフェイスを実装していることにも注目していただきたい。ContentManagerオブジェクトのDisposeメソッドを呼び出すと、そのContentManagerから呼び出されたオブジェクトが一斉にDispose(破棄)される。 寿命の似たコンテンツごとにContentManagerを作成すると効果的だろう。このContentManagerが存在する限り、何回でもLoadメソッドでコンテンツを取り出すことができ、ContentManagerに対する一度のDisposeで寿命の似たコンテンツのオブジェクトをまとめて破棄することが可能だ。 このようにアセット名によりコンテンツが管理できるおかげで、複数人で共同開発する場合などでは、あらかじめコンテンツの名前だけを決めておけば、ファイル名やディレクトリ位置が変更されても、いちいちソース・コードを修正せずに済む。 Content Pipelineにより、複数のXNAプロジェクトを組み合わせても、生成されたコンテンツ・データは正しくコピーされる。 この状態でビルド、実行しても問題なく動作する(XNA.pngがアセット名“mytexture”のテクスチャとして使われる)。これにより、例えばプログラミング担当は「Windows Game」プロジェクトのみを扱い、コンテンツ・データ作成担当はこの「Windows Game Library」プロジェクトのみを操作するといった分業が可能である。 【モニター読者キャンペーン】「TechTargetジャパン」ご登録メンバーを対象に「月刊アイティセレクト」のモニター読者キャンペーン実施中 現場ですぐに役立つ.NET FAQ。ASP.NETで背景色が印刷されない/.NETでも日本語の変数名を使いたい Webサイトの表現力を飛躍的にリッチにする“WPF/E”。あのFlashに対立する技術だ。そのCTP版が試せるようになったので、まずはその力量をチェックしよう! VB 6から.NETへの効率的な移行方法とは? そもそも移行が最善策なのか? 最大の難関となるのはどこ? VB研での討論会の内容をレポート 待望のJava SE 6 でパーシステンスLinuxをいまから学ぶコツ教えます背景色が印刷されない/.NETで日本語の変数名は?Windows TIPSWindows搭載基板がアーケードゲーム業界を席巻高可用性システムのためのアーキテクチャMicrosoft Officeのお買い得感はいかほど?Ajax+Java連携のEoDを実現するMyEclipse主題以外の「ちょっとした表現」に注目!不要なファイルを削除してディスク領域を節約したい.NET TIPS - .NET開発のテクニックとヒント集 -ワガママほーだい幹部の調整に苦しむ坂口は…… @ITトップ|Insider.NETフォーラム トップ|会議室|利用規約|プライバシーポリシー|サイトマップ |
楽天 1秒自動審査!利用可能額がわかるから初めてでも安心☆プロミスキャンペーン