2008-09

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

XNA Animation Library 0.1

海外のゲーム開発会社なのか個人なのかわかりませんが、Bruno Pereiraによるスキンアニメが可能なXNA向けライブラリのバージョン0.1だそうです。使うのが簡単!というのがウリのようですが、機能面ではまだまだのようです。サンプル付きということでスキンモデルのサンプルがほしい人もいいかも。
Bruno Pereira Evangelita


他にもこんな感じのデモも作っていらっしゃるようです。日本のアニメ文化にも興味があるんでしょうか?

スポンサーサイト

パフォーマンスの検証(まだやってる)

先日の結果だけでは納得がいかなかったので、まだ検証しています。具体的にどの部分が処理を食っているのかがハッキリしていなかったので、その辺を検証してみました。まず、どうやって検証するか?なんですが、以前購入したXNAの本に載っていた方法が素敵でした。具体的にはこんな感じ。

Stopwatch sw;
sw = new Stopwatch();
sw.Start();
// ここに計りたい処理を入れる
sw.Stop();
float Time = (float)sw.Elapsed.Ticks / 10000.0f;

Timeにはミリ秒が入ります。(事前にusing System.Diagnostics;が必要)
んで、計ってみるとゴブリンさん13匹のモーション更新(約30階層)が3ミリsec掛かっているほか、プレイヤー(エッジ込みで約6000ポリ)の描画に1.8ミリsec、ゴブリン(エッジ込みで3000ポリ)は1体で0.45ミリsec(13体で5.85ミリsec)、背景(2200ポリ)が1.3ミリsecでした(全部XBOX360です)。
秒間60フレームだと16.66…ミリsecですので、
背景やプレイヤーが重いのはテクスチャーのサイズと数が原因かと思います(それにしても重い)。モーション更新で3ミリsec掛かっていますが、行列→クォータニオン→キーフレームの線形補間→行列となっているところをゴッソリ削ったところ3割ほど減りました。ということはキーフレームはあらかじめクォータニオンに変換しておけば結構高速化できそうですね。
ところで計測中に気づいたんですが、文字列以外の変数を文字列に変換するとGCヒープを消費してしまいます。マルチスレッドにしてもスレッド作るたびに消費するようですし、メインループ中にGCしないゲームってのはXNAでは無理なんですかね…。少なくとも私の脳内では白旗上がってますww

現状、ポリゴン数はネックになりそうなところを直したら300万/秒までいきました。背景とかは別の理由があるっぽいので、単純なポリゴン数だけなら先日chitoさんがおっしゃていたように400万ポリ/秒も夢ではなさそうですね。

NEW ENTRY «  | BLOG TOP |  » OLD ENTRY

プロフィール

Karu_gamo

Author:Karu_gamo
<メールアドレス>
karu_gamo#hotmail.co.jp
#を@に置き換えてえてください。

<自分リンク>
かるがも研究所【新】
YouTubeチャンネル
公開素材置き場
仕様書
旧ブログ(見るとこないです)
管理者ページ

リンク

YouTube動画

FC2カウンター

カテゴリー

Twitter

 

月別アーカイブ

RSSフィード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。