Welcome to MSDN Blogs Sign in | Join | Help

May 2009 - Posts

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 サンプルと同じ使い方です。

頂点テクスチャってなに?

頂点テクスチャでスキンアニメーション、その1:頂点テクスチャってなに? 前回紹介したクォータニオンを使ったスキンアニメーションの実装方法はシェーダーモデル2.0では最も多くのボーン数を使うことができる手法です。この手法を使うことでオリジナルのスキンアニメーションサンプルでは59個だった最大ボーン数が、二倍近い117個になりました。 もっと多くのボーン数を使える手法はないのでしょうか? 残念ながら、シェーダーモデル2.0ではここが限界ですが、シェーダーモデル3.0から追加された機能を使うことで更に多くのボーンを使うことができます。

クォータニオンでスキンアニメーション

2009/06/25 追記: XNA GS 3.1用のサンプルを http://higeneko.net/hinikeni/sample/xna31/QuatSkinningSample.zip にアップしました。 クォータニオンでボーン処理、その4:その実装 クォータニオンを使ってのボーン処理の記事も4回目になりました。今回はいよいよい実際にクォータニオンを使ったスキニングアニメーションの実装方法を紹介します。 XNA Game Studio 3.0で動作するサンプルを用意しました。基本的に Skinned
Posted by Yuichi Ito | 5 Comments

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

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