BlenderでXファイルを吐いてみる

手探りで色々やってみた。
Blenderのversionは2.44。
テストに使用したXファイルビューワはDirectX Viewer(2006 October版)。
どちらのプラグインも英語の一次ドキュメントを読んでいないので勘違い等もありそう。

http://xoomer.alice.it/glabro1/index.html
※標準で入ってる奴。
良い所

  • 標準で入ってるのでとりあえず何も考えず使える
  • 現状ママでも正常にアニメーション出来る物が得られる
  • 出力するためにBleder側の制限がそれなりにあるが、正常にエクスポートするための指針(サンプルデータ)が存在する

問題点

  • インデントが変
  • 頂点カラー出力が無い
  • フレーム無しモデルが作れない
  • 複数アニメーションに対応していない
  • 下の奴に比べて出力されるまでやたら時間がかかる(↓が原因か?)
  • 何故か頂点数が4倍弱肥大している(EXAMPLE_1のwomen.blendは総頂点数4809の所、Xファイル側では19664頂点になっている)

注意点

  • Blender上におけるArmatureの並び方でルートフレームの子に兄弟を作ってはいけない(Xファイルの仕様か)
  • 全ての頂点が頂点グループに入っている必要がある

※以下参照
http://d.hatena.ne.jp/otonuri/searchdiary?of=8&word=%2a%5bBlender%5d


http://directpython.sourceforge.net/exportx.html
PythonDirectXラッパーっぽいのに付属してるエクスポーター Version 1.0 2006/12/20

良い所

  • 頂点カラー出力ができそう(試してない)
  • 法線、UV、頂点カラーの出力がトグルできる

問題点

  • インデントが変、というかインデントを正しく出力しようとしている形跡がない
  • Swap y and zボタンを押してると面も逆になる
  • アニメーション出力させる場合オブジェクト全選択が必要
    • YZSwapを頂点変換でなくFrame階層構造を使って解決しようとしている?
  • 頂点カラーをセットしてない頂点がある場合Colorsボタンを押してるとエラー
  • 出力先が日本語を含むディレクトリだとエラー
  • Frame付きモデルが正常に表示できた事が無い
  • 上のエクスポータのサンプルを使用してもボーンに付いてきていない頂点が存在している(ただAnimetionSet類は問題なさそう)

注意点

  • 20行目にある"import os"がエラーになる。(コメントアウトすればとりあえず動いてる)

 
出力されたXファイルを見比べた感じではこんな印象。
諸問題については実際にPythonスクリプトを見てみないとわからない。
結局どちらも使い勝手が悪い。(かたや頂点4倍、かたや正常にコンバート出来ない)
さすがにこんなバグすぐ気が付くと思うんだが直されてない所を見ると俺の環境が変なのか?
両方のスクリプトを参考にXファイルエクスポーターを書きなおしたいと思う。