Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » コンテント・パイプライン   (RSS)

アバターを使おう その4:カスタムアニメーション

Creators Club Onlineサイト でアバターの カスタムアニメーション関連のサンプル等が公開 されました。内容的には以下の三つになります。いずれもプレミアムコンテントになっているので、ダウンロードするにはCCO会員になっている必要があります。 Custom Avatar Animation Sample(カスタムアニメーションサンプル) Avatar Animation Rig(アバターアニメーション生成用のリグ) Avatar Animation Pack(アバターアニメーションパック)

自動XNBファイルシリアライズ

コンテントタイプライター/リーダーを書くのは面倒 XNA Game Studioのコンテント・パイプラインでのデータの流れは下図のようになっています。オフラインプロセスは開発しているVisual Studio上でビルドしたときにWindows上で処理されるプロセスで、オフラインプロセスはWindows、Xbox 360、Zune上でゲームを実行したときに処理されるプロセスです。 元からサポートされているデータをそのまま扱う場合には良いのですが、カスタムデータを扱う場合に書かないといけないのが、ContentTypeWrite/ContentTypeReaderでした。特に面倒だったのが、読み込みと書き込みという対称的な処理をするのにContentTypeWriterはオフラインプロセス側、ContentTypeReaderはオンラインプロセス側と別々の場所で書かないといけないことでした。

XNA GS 3.1のコンテント・パイプラインで使われる型

以前、 Shawn Hargreaves氏のブログ でXNA GS 2.0のコンテント・パイプライン内でデータが変換される過程図が紹介されました。 http://blogs.msdn.com/shawnhar/archive/2007/10/10/content-pipeline-types.aspx XNA GS 3.1がリリースされたので、それに合わせて元の図を翻訳し、SoundEffect、Video等の新しい型を追加した図を作ってみました。アセットファイルがどのようにインポートされ、プロセッサで処理され、ContentTypeWriterからXNBファイルとして書き出されるまに使われる型情報を網羅しているので、カスタムインポータや、カスタムプロセッサを作るときに役立つと思います。

Gamefest Japan 2008 デモプログラム

2009/06/25 追記: XNA GS 3.1用のサンプルを http://higeneko.net/hinikeni/sample/xna31/GamefestJapan2008Demo.zip にアップしました 2008/12/26 追記: デモプログラムの更新、キーボード入力で操作できるようになりました。 やっと終わりました 今年の9月に行われたGamefest Japan 2008のプレゼンテーション資料が先月公開されました。 http://msdn.microsoft.com/ja-jp/xna/cc723908.aspx

簡単(かもしれない)日本語表示

2009/06/25 XNA GS 3.1用のサンプルを http://higeneko.net/hinikeni/sample/xna31/SimpleMessage.zip にアップしました。 以前紹介した 英数字以外の文字列表示方法 はコンテントパイプラインの全体の流れを説明するという目的もあったので複雑なつくりになっていました。RPGやテキストベースのアドベンチャーゲームなどの大量のテキストデータを扱う場合は、こういったものは必須になってきますが、今回はXNA 2.0から導入された プロセッサパラメーター

XNA 2.0のコンテントパイプライン~その弐~

プロセッサパラメーター 上の画面はテクスチャのプロパティ画面です。Content Processorの脇に+のついた四角いマークに気づいたでしょうか? クリックすると複数のパラメーターが表示されます。これがXNA GS 2.0の新機能の一つであるプロセッサパラメーターです。XNA GSE 1.0では複数の複数のプロセッサを書く必要がありましたが、XNA GS 2.0ではひとつのパラメーターつきのプロセッサを書くだけで、どのようにコンテントがプロセスされるかを指定できるようになりました。 Textureプロセッサには以下のパラメーターが設定できます。

カスタムエフェクト

フォーラムの質問を見て、今まで書いていなかったことに気づいたので遅ればせながらカスタムエフェクトの使い方を説明します。 例によって例の如く、コピー元は Shawn Hargreaves氏の投稿 からです。 独自に作ったエフェクトを使うには2つの方法があります。ひとつはコンテント・パイプラインが処理したエフェクトをゲーム実行時に切り替える方法。そしてふたつ目はカスタムプロセッサを書くことで、コンテントパイプライン内でコンテントビルド時に独自のエフェクトに切り替える方法です。 後者の方法の方が自由度が高く、ゲーム実行時に余計な処理をしなくて済むようになるので、ここではこの方法を紹介します。

XNA 2.0のコンテントパイプライン~その壱~

コンテントプロジェクト XNA 2.0のプロジェクジェクトをソリューションエクスプローラで見ると以下のようになっています。 参照設定の項目が二つあることに気づいたでしょうか?これは Content がWindowsGame1のサブプロジェクトになっているからです。XNA 2.0では、このサブプロジェクト内にコンテントを追加します。その他にも、以前まではメインプロジェクトに記述されていたコンテントに関する情報、例えばコンテントがどのようにインポートされプロセスされるかの情報、カスタマイズされたコンテントパイプラインアセンブリの参照などが含まれます。

コンテントパイプラインで使われる型

Shawn Hargreaves氏のブログ に、コンテントパイプラインで使われるタイプがどのように使われるかを表した 図が記載 されています。 図の左側から、ソースアセットからどのインポーターを使ってContent DOM形に変換され、どのプロセッサーがどんな型のデータを出力し、TypeWriterによってXNBファイルに書き込まれ、最後にランタイム時にTypeReaderによってどの型に読み込まれるかというのを網羅しているので、非常に有益な情報です。 何も問題がなければ、この情報は次のXNA Frameworkのドキュメントに記載される予定です

Content Pipeline その4 そのデバッグ

コンテント・パイプラインのデバッグ 前回は、実際のコードを見ながらコンテント・パイプラインのカスタマイズの方法を紹介しました。前回のように、ロジック自体が簡単な場合は良いのですが、もう少し複雑なプログラムをコーディングしている時に必要になるのが、インポーターやプロセッサのコードをデバッグすることです。 ここで問題なのは、ゲーム本体をデバッグする感覚でブレークポイントをコンテント・パイプラインのコード部分に設定してビルドしたとしても、何事も無かったかのようにビルトが終了してしまうということです。コンテント・ビルドは普通にアプリケーションを走らせるのと違い、GSEが水面下でMSBuildを実行しているので、GSE上で走らせるアプリケーション用のブレークポイントを設定しても意味がないからです。

Content Pipeline その2 その流れ

コンテントの流れ 前回は、コンテントマネージメントに関する問題の複雑さについて書きました。今回から、その問題を解決する為に設計されたXNAのコンテント・パイプラインの仕組みを紹介していきます。下図は、XNAのコンテント・パイプラインの概念図です。 パイプラインの名から判るように、コンテントが上から下へ流れるように処理され、アセットとしてできあがったものをゲームで使うようになっています。コンテントを川の水、アセットを水道水として考えると、コンテント・パイプラインは、浄水場と配水管に例えることができます。

Content Pipeline その1 その問題点

ゲームにはコンテントが必要 ゲーム製作で欠かせない要素として、プログラミングの他にコンテント作成があります。コンテントとは、3Dモデル、テクスチャ、フォント、サウンド、ゲームのパラメーターといったものの総称です。このコンテントを作るツール、例えばテクスチャならフォトショップ、3DモデルならMayaなどといったツールをDCC(Digital Content Creation)ツールと呼びます。DCCツールというと、高いお金を払って買うものと思われがちですが、自分で撮ったお気に入りの写真をゲームで使えば、その写真を撮るのに使ったデジカメはある意味DCCツールといえる訳です。さらに言えば、ゲームで使われるメッセージなどをWindowsに付いてくるメモ帳を使えば、それも立派なDCCツールとなるわけです。

ゲームプログラミング開始

前回は、XNA Game Studio Expressでゲームプロジェクトを新規作成したときに生成されるテンプレートコードの中身の説明をしました。今回は、ゲームプログラムの基本となる以下のものを実装、つまりコーディングをします。 コンテントの読み込み SpriteBatch を使ったスプライト表示 コントローラーによる移動 今回は、簡単な説明に留めますが、次回からはそれぞれについて詳しく説明していきます。 コンテントの読み込み XNAにはビットマップ、3Dモデル、オーディオといったゲームを作る上で必要なコンテントを簡単に、効率よく使うための
 
Page view tracker