ページ

2009年5月19日火曜日

[XNA] XNA 3.1 のアバター機能

XNA Game Studio 3.1 は日本語版が夏くらいに出るとかってニュースになってましたね。
英語版はもう出たんでしたっけ?
まだかな?
と、あいかわらず XNA とかわかってないんですが、ちょっと気になった記事があったので。

Avatar API preview for XNA Game Studio 3.1
「3.1 の機能がアナウンスされてから何人かの人にアバター API について聞かれた」 ってことで、XNA 3.1 の新機能のアバター API について書かれてます。

ここで言うアバターっていうのはアレですね。
Xbox Live で出てくる 3DCG の人型のやつ。
それを表現するのが AvatarDescription だそうです。
AvatarDescrition はアバターのモデル、テクスチャ、色、スケールなどが格納されていて、3種類の方法で作ることができるそうです。
その 3種類の方法は、SingedInGamers のプロパティから取得する、ランダムに作成する、ネットワークやファイル経由でもらったバイト配列から生成する、だそうです。

AvatarDescription を描画するのが AvatarRenderer。
ワールドとビューの変換行列を指定することができるようです。
また、Draw メソッドにはパラメータが 2つあって、ひとつはアバターのボーンの移動量を指定する IList<Matrix>。
ちなみにアバターのボーンは 71本とのこと。
もうひとつのパラメータは AvatarExpression で、これはテクスチャで描かれている口、眼、眉の状態を表す enum 値を指定するものです。

AvatarAnimation はどうやらプリセットされたアニメーションを取得することができるもののようです。
Avatar animation updates
こちらの記事に AvatarAnimation の現在位置は Update メソッドか CurrentPosition プロパティでセットできるとあります。

んで、
What to do while an avatar loads?
によるとアバターがロード中の場合にエフェクトを表示するかどうかなんてのも簡単に指定できるようです。
(スタートレックの 「転送!」 みたいな感じ?)

さらに
Lights, Camera… Avatar!
によると、ライトの向き、色、環境光の色も指定できるそうです。

いやぁ、なんと言うか、アバター API ってちょっと絵を表示するようなものかと思ったらやたら本格的なのねw
ボーン数 71本っていうと、手の指にもちゃんとボーンが入ってるくらいかな?


0 件のコメント:

コメントを投稿