2010/2/8 Na-7
2010/2/14 Na-7
XNA3.1でUVアニメーション(動的頂点バッファ方式)
注意 | この資料は、筆者が自らの経験を記録したものであり、他人に勧めるものではありません。 この資料を参考として行った行為がいかなる結果になろうとも、筆者は責任を負いませんので予めご承知おきください。 |
◎目次
◎概要 |
◎使用ツール |
◎サンプルプロジェクト |
◎解説 |
◎概要
UVアニメーションとは、3Dモデルの頂点データの一部であるテクスチャ座標データを動的に変更してアニメーションする技法である。
ここでは、メタセコイアで作成したモデルの頂点データを動的に変更し、UVアニメを行うサンプルプロジェクトを紹介する。
◎使用ツール
ツール名 | 入手元 |
XNA3.1(XNA GameStudio 3.1:ゲーム開発用フレームワーク) | http://msdn.microsoft.com/ja-jp/xna/default.aspx |
メタセコイア(Metasequoia 2.4:3Dポリゴンモデラー) | http://www.metaseq.net/metaseq/index.html |
◎サンプルプロジェクト
◎解説
・このプロジェクトのコンテントファイルは、両面板ポリゴンモデルと1枚の画像ファイルのみである。(槍兵モデルは存在しない)
・両面板ポリゴンモデルをModelクラスに読み込み、時間経過に伴ってテクスチャ座標をずらしている。
・3Dモデルの頂点データの取得やフォーマットの確認、カスタム頂点構造体の定義についてはこちらを参照すること。
・頂点バッファとインデックスバッファは、インスタンスの数だけ領域確保している。
・頂点バッファとインデックスバッファの読み込みはGetData、書き込みはSetDataを使用している 。(エラー回避のため、SetDataOptions.NoOverwriteを使用している)
・インデックスバッファのGetDataやSetDataは参考用。(インデックスデータは更新していないので削除可能)
・パフォーマンスを測定したデータはこちら。