スポンサーサイト

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

Blenderでモーションを作成してXNAに持っていこう計画 その5

ついに最終回の予定。
Pythonの説明を読んでみると、ふむふむこれはなかなか自分好み。

インデントにプログラム的意味をしっかり持たせるなんてスマートですね。
他人と書き方に差ができにくい仕様ってのも憎たらしい。暇があったら深く勉強したいです。

さて、昨日の記事の続きです。


まず昨日手に入れたスクリプトと公式?のスクリプトを比較してみると、かなり中身は流用してあるようです。

欲しかった「X軸回転90度」のボタンがなぜかコメントアウトされているためにボタンが押せなかったのが原因っぽいので付近のコメント実装してやりました。
これで動けばラッキーだと思いながらも

やはり失敗。

メッシュはうまくいくもののアーマチェアがうまく変換されていませんね。
公式の方の回転行列のあたりも
# testing
mtx_x90 = RotationMatrix( 90, 3, 'x') # used
#mtx_x90n = RotationMatrix(-90, 3, 'x')


え?テストなの?!なんて感じですからこの辺がますます怪しくなりますね。

少し眺めてみると
# Make the matrix
GLOBAL_MATRIX = mtx4_identity
GLOBAL_MATRIX[0][0] = GLOBAL_MATRIX[1][1] = GLOBAL_MATRIX[2][2] = GLOBALS['_SCALE'].val
if GLOBALS['_XROT90'].val: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_x90n
if GLOBALS['_YROT90'].val: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_y90n
if GLOBALS['_ZROT90'].val: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_z90n


このあたりでチェックによってGLOBAL_MATRIXを生成して書き出し部分で使用しているのが見受けられます。
GLOBAL_MATRIXの扱い方については二つのスクリプトに差はなし。
想像するにXNA用スクリプトの作者はこの計算部分がおかしいと判断してコメントアウトしたのだと思われます。
それ以外にもテクスチャの参照場所のもってくる場所のバグを直したり、Blenderで付けたモーションの名前をFBXファイルに適用させたり、かゆいところに手が届く変更を施しておられますね。うんえらい


さて、
関心ばかりもしていられません。
どうしよう・・・・・

Blenderのボーンの仕様をすべて理解してスクリプトを変更するのは1日ではできそうにありません。
うーん・・・・

そうだ!そこには手を触れずに座標を変えればいいんだ!
書き出し終わったら戻せばOK!
ということでチマチマ作成。
えくすぽたー完成。

疲れたので今日はおしまい。
公開とか明日に続く・・・

ねよっと。

コメントの投稿

非公開コメント

プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

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