Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » XNA フレームワーク   (RSS)

XNA Game Studio 3.1のSoundEffect変更点

XNA Game Studio 3.1のSoundEffect ゲームで使用する効果音を簡単に再生するためにXNA Game Studio 3.0で導入されたSoundEffect機能がありますが、この機能は以下の二つのシナリオを実現するようにデザインされました。 簡易再生(Fire & forget) : プログラムは単にPlayメソッドを呼ぶだけ。後は効果音が鳴り終わった後に自動的にメモリ開放処理をしてくれる機能 生成と設定(Create & configure): 効果音を鳴らしている間に、音量、再生ピッチ、パンなどのさまざまなパラメーターを自由に設定できる機能。細かい設定ができる代わりに、プログラム側で再生中のインスタンスの保持、管理をする必要がある

アバターを使おう その3:喜怒哀楽

警告:画像が沢山あるので、重いかも。 アバターの表情(Expression)を自由に設定する AvatarRenderer.Drawメソッドにはアバターのボーンと表情を指定することができます。基本アニメーションを使っている場合はAvatarAnimation.Expressionを指定しますが、ボーンと同じく、AvatarExpressionも自由に作ることができるので、アバターの表情を自由に変えることができます。 AvatarExpressionには以下のプロパティがあります。 LeftEye

アバターを使おう その2:基本アニメーション

アバターの基本アニメーション AvatarAnimationを生成するときに指定する AvatarAnimationPreset 列挙型には31種類の基本アニメーションが宣言されています。内訳として、11種類の男女共通のアニメーションと、性別毎に違うアニメーションが10種類となっています。 男性アバター向けのアニメーションはMaleで始まり、女性アバター向けのアニメーションはFemaleで始まるようになっています。通常はAvatarDescription.BodyTypeによって性別ごとにアニメーションを切り替えて使用しますが、アニメーションは性別に関係なく使えるので、意図的に男性アバターに女性アバターのアニメーションを再生させるということもできます。

アバターを使おう その1:アバターを表示する

アバターをゲーム画面内に表示する アバターをゲームt画面内に表示するには以下の三つのクラスが重要な役割を果たします。 AvatarDescription AvatarAnimation(必ずしも必要ではない) AvatarRenderer AvatarDescription AvatarDescription はアバターの性別、容姿、服装といった情報を保持しています。AvatarDescriptionのプロパティには男性(Male)、女性(Female)を表すBodyType、メートル単位の身長を表すHeightがあります。AvatarDescriptionを得るには以下の三つの方法があります。

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

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

AppWeek

XNAプラットフォーム&ツールチームの主な作業はXNA Game Studioを作ることですが、リリースの直前には、実際に作ったものに問題がないか、また使いやすいかを確認するために開発中のフレームワークを使って実際にゲームを作ってみるAppWeekというものがあります。 XNA GSE 1.0の頃に作られた物の中には Catapult 、 Minji といったサンプルとして公開されているものもあります。XNA GS 3.0の時は忙しすぎてAppWeekをする暇がなかったのですが、今回のXNA GS

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ファイルとして書き出されるまに使われる型情報を網羅しているので、カスタムインポータや、カスタムプロセッサを作るときに役立つと思います。

動画再生

かんたん動画再生機能 XNA GS 3.1で動画を再生するには以下のステップを踏みます。 再生したい動画をコンテントとして追加する Video情報をContent.Load<Video>で読み込む VideoPlayerクラスを使って再生 VideoPlayer.GetTexture()メソッドを使って現在のフレームのテクスチャを取得し描画する 変数宣言 動画再生するには、Videoクラスと、VideoPlayerクラスを使います。Videoクラスには再生する動画ファイル情報、動画のサイズやフレームレートなどの情報を含んでいます。VidoPlayerクラスは実際に動画再生するためのクラスで、このクラスを介して動画の再生、停止、一時停止、ループ再生の設定、現フレームをテクスチャとして取得することができます。

vFetchでスキンアニメーション

2009/06/25 追記: XNA GS 3.1用のサンプルを http://higeneko.net/hinikeni/sample/xna31/vFetchSkinningSample.zip にアップしました。 vFetchでスキンアニメーション 、その3: vFetchでスキンアニメーション スキンアニメーションで使えるボーン数を増やそうシリーズの記事も10回目となる今回で終わりです。今回はvFetchを使ったスキンアニメーションの実装例を紹介します。 XNA Game Studio 3.0で動作するサンプルを用意しました。基本的に

vFetchの使い方

vFetchでスキンアニメーション、その2:vFetchの使い方 Fetchを使ったスキンアニメーションの実装例を紹介する前にvfetchの基本的な使い方を紹介します。 例えば、以下のシェーダーコードのように頂点位置、色を使用する頂点シェーダーがあるとします。 VS_OUTPUT VertexShader ( float4 position: POSITION , float4 color : COLOR ) { } 上のコードと同じ動作をするコードはvFetchを使って以下のように書くことができます。

vFetchってなに?

vFetchでスキンアニメーション、その1:vFetchってなに? Xbox 360のGPUはDirect X 9.0とDirect X 10の中間であると言われることがありますが、vFetchはその特徴を示すひとつの機能です。vFetchはシェーダー内で使えるアセンブリ命令で、Vertex Fetchの略、つまり頂点データをフェッチをするための命令です。 vFetchを使うことで頂点数の増減こそできませんが、Direct X 10で追加されたジオメトリシェーダーを使った ファーシェーダー のように隣接する頂点データをフェッチしてフィンポリゴンをリアルタイムに生成したりすることもできます。

頂点テクスチャでスキンアニメーション

2009/06/25 追記: XNA GS 3.1用のサンプルを http://higeneko.net/hinikeni/sample/xna31/TexSkinningSample.zip にアップしました。 頂点テクスチャでスキンアニメーション、その2:頂点テクスチャでスキンアニメーション 今回は頂点テクスチャを使ったスキンアニメーションの実装方法を紹介します。 XNA Game Studio 3.0で動作するサンプルを用意しました。基本的に Skinned Model サンプルと同じ使い方です。

クォータニオンの使いどころ

クォータニオンでボーン処理、その3:クォータニオンの使いどころ 前回はXNAフレームワーク内での基本的なクォータニオンの使い方、特にクォータニオンは回転行列の代わりに使えるといったことを紹介しました。ただ、それだけではクォータニオンを使いたいと思った人は少ないと思います。そこで今回はクォータニオン特有の利点と、ゲームでの実際の使用方法を紹介します。 今回紹介するクォータニオンの特徴は以下の五つです メモリ使用量が3x3の回転行列の半分以下になる 回転の結合が容易にできる 回転の補間が容易にできる

クォータニオンの使い方

クォータニオンでボーン処理、その2:クォータニオンの使い方 今回はXNAフレームワーク内でのクォータニオンの使い方の紹介をします。クォータニオンは回転行列の代替として使えるので、Matrix構造体と同じメソッドが用意されています。そこで、同じ操作に対応する行列とクォータニオンの両方のコードを紹介していきます。 回転 回転行列を生成するのと同じようにクォータニオンでも CreateFromYawPitchRoll 、 CreateFromAxisAngle メソッドを使って任意の回転をするクォータニオンを生成できます。

クォータニオンってなに?

クォータニオンでボーン処理、その1:クォータニオンってなに? クォータニオンの前知識なしでクォータニオンを使ったスキニングアニメーションのコードを理解するのは厳しいので、今回から数回に分けてクォータニオンを説明していきます。 クォータニオン(Quaterinon)は日本語で 四元数(しげんすう) と言い、定義的には3つの虚数単位を持つ超複素数系のひとつです。 ……… と、いってもなんのことかさっぱり解らなくても大丈夫です(たぶん)。本来であれば数学的な説明も入れるべきですが、今回はスキンアニメーションでの使われ方の説明なので、そういった部分は割愛します。より詳しく数学的な意味が知りたい人は
More Posts Next page »
 
Page view tracker