2008/8/13 Na-7
2008/8/15 Na-7

技術資料一覧に戻る

 

.Xファイル読み込みテスト結果報告書

 

◎テスト概要

XNA2.0でモーションデータ付き.Xファイルの読み込みが可能かどうか検証する。
但し、.Xファイルのサンプルが見付からないため、モーション作成ツールでサンプルファイルを自作することとする。

尚、モーションデータ作成経験が皆無であるため、下手に壊れたデータを作成しないよう、
実際にはボーンデータやモーションデータを作成せずに.Xファイルとして出力することとする。
(上記の余計な配慮により、却って壊れたデータを作成していたことが後日判明)

 

◎テスト手順

1.メタセコイア用の3Dモデルデータ(.mqo)を下記の3ツールで読み込み、.そのままXファイルとして出力する。
(そのまま出力するのは誤り、モーション必要)

・メタセコイア(Metasequoia:3Dモデル作成ソフト)
・サイバデリア(Cyberdelia:3DCGアニメーションツール、2007年版)
・RokDeBone2(RokDeBone2:モーション作成ツール)


2.上記で作成した.xファイルを、下記の3ツールで正常に読み込めるかテストする。

・DirectX SDK付属Viewer(March 2008 DirectX SDK付属のDirectX Viewer)
・フリーViewer(SPACE遊 Xファイルビューワ Ver 3.00)
・XNA2.0(XNA GameStudio 2.0:ゲーム開発用フレームワーク)

 

◎テスト結果

メタセコイア出力データ(.X) サイバデリア出力データ(.X)(注1) RokDeBone2出力データ(.X)(注1)
DirectX SDK付属Viewer ○(注2) ×(読み込みエラー) ×(注4)→○
フリーViewer ○(注3) ×(読み込みエラー) ○(注5)
XNA 2.0 ビルドエラー(読み込みエラー) ビルドエラー(読み込みエラー)→△(注6)

注1:「.mqo」を読み込み、未加工で「.X」を出力(←未加工出力は誤り、モーション必要)
注2:暗く表示される(英語のため、設定変更方法がよくわからない)
注3:色薄で表示されるが、部品間の接合は保持されている
注4:データは読み込むが非表示(モーション非作成のため?)
注5:色薄で表示され、部品間の接合は保持されていない
注6:モーション作成後、テクスチャ画像も読み込むことにより、静止画像は正常表示された(モーション再生は今後の課題)

 

◎考察

・サイバデリア出力データは異常?
 →旧版ではモーション付き.Xファイルを生成出来たらしいが、新版では正常なデータが生成されない模様
  (参考:http://hsp.tv/play/pforum.php?mode=pastwch&num=452
  (参考:http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200707/07090028.txt

・RokDeBone2出力データが、SDK付属Viewerで表示されなかった
 →ボーンやモーションデータを作成すれば、表示される可能性がある←モーション作成後正常表示
 →Viewerのバージョンやデータタイプによって、上手く表示されないことがある模様
  (参考:http://oshiete1.goo.ne.jp/qa3038609.html
  (参考:http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=3447077&SiteID=7

・フリーViewerの一般的な問題
 →公式Viewer(DirectX SDK付属)があるためか、.Xファイルを表示出来るフリーViewerは少ない
 →モーション付きデータは未対応のViewerが多い
 →最近のデータを再生すると、表示が崩れることが多い

・XNA2.0でビルドエラーになる問題
 →コンテントパイプラインで読み込みエラーが発生している模様←上記注6参照
 →モーション付きデータは「再生できない」以前に「読み込めない」模様←上記注6参照

 

◎最後に

DirectX9→10への過渡期のためか、最新版ツールでは却って上手くいかないことがあるようだ。
サイバデリアどころかSDK付属Viewerさえ当てにならないのはかなり厳しい。

また、「これは正常だ」と安心して使えるモーションデータ付き.Xサンプルファイルが見付からず、
自作しようにもRokDeBone2は素人にとってハードルが高い。サンプルファイルの入手方法は
引き続き検討する必要がある。

結果的には、RokDeBone2付属のサンプルデータ(.sig、.qua)を読み込んで.Xファイルを作成し、
このファイルと.BMPファイルをXNAに読み込むのが近道でした(まだ静止表示のみで、
モーション再生は出来ていませんが)。

inserted by FC2 system