2008/8/18 Na-7
 

技術資料一覧に戻る

 

XNA2.0でスキンアニメーション

 

注意 この資料は、筆者が自らの経験を記録したものであり、他人に勧めるものではありません。

この資料を参考として行った行為がいかなる結果になろうとも、筆者は責任を負いませんので予めご承知おきください。

 

 

◎使用ツール

ツール名 入手元
メタセコイア(Metasequoia LE R2.4:3Dモデル作成ソフト) http://www.metaseq.net/metaseq/index.html
RokDeBone2(RokDeBone2 Ver4.0.2.6:モーション作成ツール) http://www5d.biglobe.ne.jp/~ochikko/rokdebone.htm
XNA2.0(XNA GameStudio 2.0:ゲーム開発用フレームワーク) http://msdn.microsoft.com/ja-jp/xna/default.aspx
ACL(Animation Component Library:アニメーション再生用ライブラリ) http://www.codeplex.com/animationcomponents/Thread/View.aspx?ThreadId=19730
XNA2.0用の公式版は存在しないため、上記Discussionsに記載されている
http://www.laterminal.net/xna/AnimationComponentDLL.rarを使用した

 

 

◎全体の流れ

1.メタセコイアで3Dモデルを作成する。

2.1.で作成した3Dモデルデータに、RokDeBone2でモーションデータを加える。

3.RokDeBone2より、モーション付き.Xファイルを出力する。

4.XNAで新規プロジェクトを作成する。

5.XNAプロジェクトにACLを追加登録する。

6.3.で出力した.XファイルをXNAプロジェクトに取り込む。

7.XNAプロジェクトにモーション再生コードを記述する。

 

 

◎「3.RokDeBone2より、モーション付き.Xファイルを出力する。」の手順例

例:RokDeBone2付属サンプルデータを利用する場合

1.「File」→「形状ファイル読み込み」→「sigファイルの読み込み」

2.「sigファイル読み込みダイアログ」でSampleフォルダ内の.sigファイルを読み込む

3.「File」→「モーションファイル読み込み」→「*.quaの読み込み」

4.「ファイルを開く」ダイアログでSampleフォルダ内の.quaファイルを読み込む

5.(動作確認したい場合は、「モーション設定ダイアログ」の「プレビュー開始」で確認可能)

6.「モーション設定ダイアログ」の「モーション設定」→「設定」

7.「設定ダイアログ」の「モーション名」をメモに控えておく(後でコードから呼び出す際に必要となる)

8.「File」→「Xファイル書き出し」

9.「X File 出力ダイアログ」で出力ファイル名(パス付き)を記述し「OK」

※各ダイアログの数値パラメータは、デフォルトのままで大丈夫な場合が多い

 

 

◎「4.XNAで新規プロジェクトを作成する。」の詳細手順

1.「ファイル」→「新しいプロジェクト」

2.「新しいプロジェクト」ダイアログで「プロジェクト名」を変更し「OK」

 

 

◎「5.XNAプロジェクトにACLを追加登録する。」の詳細手順

1.ACLの「Xclna.Xna.Animationx86.dll」と「Xclna.Xna.Animation.Content.dll」を
  XNAプロジェクトフォルダにコピーする。

2.ソリューションエクスプローラのプロジェクト名で右クリック→「参照の追加」

3.「参照の追加」ダイアログの「参照」タブ→「Xclna.Xna.Animationx86.dll」を選択し「OK」

4.ソリューションエクスプローラのプロジェクト名-Content-参照設定で右クリック→「参照の追加」

5.「参照の追加」ダイアログの「参照」タブ→「Xclna.Xna.Animation.Content.dll」を選択し「OK」

 

 

◎「6.3.で出力した.XファイルをXNAプロジェクトに取り込む。」の詳細手順

1.ソリューションエクスプローラのプロジェクト名-Contentで右クリック→「追加」→「既存の項目」

2.「既存項目の追加」ダイアログで.Xファイルを選択し「追加」

3.ソリューションエクスプローラのプロジェクト名-Content-.Xファイルを選択

4.プロパティウィンドウの「Content Processor」を「Model - Animation Library」に変更

5.(必要に応じてテクスチャファイルをContentに追加)

  (RokDeBone2付属サンプルデータを利用している場合は、BMPファイルをContentに追加)

6.試しにビルドしてみる。ビルドエラーとなる場合、.Xファイルの内部形式とContent Importerの読込形式が合っていない。

  別のImporterに変更するか、別の.Xファイルに変更すること。

  (.Xファイル内部形式が合わない理由の参考:http://kijyouno.exblog.jp/5053265/

 

 

◎「7.XNAプロジェクトにモーション再生コードを記述する。」の手順例

1.「Game1.cs」のサンプルコードを参照しながらコードを記述する。

  ・testModel = Content.Load<Model>(”Sample1”);
   →「Sample1」を.Xファイル名に置換する。

  ・controller = new AnimationController(this, animator.Animations[”motion_forward”]);
   →「motion_forward」を手順3.で控えたモーション名に置換する。

2.実行すると、スキンアニメーションが描画される。

  ・表示された3Dモデルが小さすぎて気付かなかったり、大きすぎて見えないことがある。
   →float testScale = 0.1f; この値を適当に変更して調整すること。(0.001〜1000ぐらい?)

 

inserted by FC2 system