Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » グラフィクス » XNA フレームワーク   (RSS)

アバターを使おう その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を得るには以下の三つの方法があります。

動画再生

かんたん動画再生機能 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つの虚数単位を持つ超複素数系のひとつです。 ……… と、いってもなんのことかさっぱり解らなくても大丈夫です(たぶん)。本来であれば数学的な説明も入れるべきですが、今回はスキンアニメーションでの使われ方の説明なので、そういった部分は割愛します。より詳しく数学的な意味が知りたい人は

骨がほしい

2009/4/25 頂点テクスチャを使う方法を追加 骨を増やしたい キャラクターなどを表示するときによく使われるスキンアニメーション。Creator Club Onlineに サンプル がありますが、指定できるボーン数が59個までとなっています。 このボーン数は微妙な数で、指間接や、顔の表情をコントロールするボーンがあるキャラクター作ると、この数には収まらないことがあります。通常、ゲームプレイ中はそこまでのディテールはカットシーンでもない限り必要ないので、手首から先の部分と、首から上の部分は別モデルとして表示することでボーン数の制限内に収めることはもちろん、必要のないときのアニメーション処理を省くことでパフォーマンス的にも有効な手段です。

GPUはいつ描画するのか?

2009/3/26追記: Presentの動作詳細と、タイミング図を修正 描画に関する不思議 XNAフレームワークを使って描画する場合、以下のような不思議な現象を経験することが少なからずあると思います。 DrawIndexedPrimitiveを呼び出すのに掛かった時間を測定したら、1,000ポリゴンのモデルと、1万ポリゴンのモデルで同じ時間だったんだけど、どうして? DynamicVertexBuffer.SetDataを呼び出したら、遅くなったんだけど、どうして? DrawIndexedPrimitivesを複数回呼び出してポリゴン描画すると遅くなった、どうして?

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

セーフエリア・サンプル

今回は セーフエリア サンプル(Safe Area) の紹介をします。 世の中には様々なTVがある ゲームをプレイする人達のTV環境は実に様々なものがあります。 オーバースキャンとアンダースキャン HDTVとSDTV ワイドスクリーンと4:3 コンポーネント接続とコンポジット接続 60cm(2フィート)と3m(10フィート) オーバースキャンとセーフエリア PCモニタなどのイメージ全体を表示するアンダースキャン方式に対して、HDTV、SDTVのどちらも、その多くがイメージ全体を表示することのできないオーバースキャン方式を採用しています。
More Posts Next page »
 
Page view tracker