もきもき3D

アクセスカウンタ

zoom RSS メモ:LWの形状をBlenderへ

<<   作成日時 : 2008/08/21 17:30   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

 BlenderからLWへは、Blenderでオブジェクトのシーケンスファイル群を吐いて、レイアウトでObjectSequencer(2)で読めばよし。
 シーケンスを吐き出す事に関しては http://fault0d.at.webry.info/200808/article_15.html に書いたリンクから適当に。

 で、LWの形状のBlenderへの取り込み。
 素のLWOを読むだけならインポーターで簡単に読めるから考慮外。

 レイアウトで変形した動く形状をどう吐き出すかが問題だったけど、BlenderにMDDインポーターがあった(w

 一応それを使用した作業の流れは
 1)LWLayoutでサブパッチ分割した形状をSaveCopyObjする。
  (モデラでGeneralOpt:PolygonsをTriangleにしてフリーズさせた形状では頂点IDがどうなるか未確認)。
 2)LWLayoutで本来のデータでモーション付け。
 3)LWLayoutのSoftFXでMDDを書き出し。
  (MD_Scanだとサブパッチケージしか取れないっぽい)
  SubDivOrderはAfterBoneが限界。 AfterDisplaceにするとサブパッチケージしか取れなくなる。
 *)LW側はここまで。

 4)Blenderで(1)のLWOをインポート。
 5)Blenderで(4)を選択後に(3)のMDDをインポート。
 *)完了。

 でも結論から言うとNG。
 以下問題点。
  Blender1:MDDインポーターがMDD内の原型の座標データブロックを考慮しない為ずれる。
  Blender2:LWO読み込み直後等、ShapeKey(IPO Key?)が無い状態ではMDDインポーターが正常にKeyを作らない。
  LWLayout1:サブパッチの場合、SoftFXのFile:SaveMotionがサブパッチケージの頂点も一緒にMDDに吐き出す。
  LWLayout2:恐らくFX系以外のDisplaceプラグインの変形を取り込めない。

 B1の問題は、import_mdd.pyの87行目以前に (\t)file.seek(len(me.verts) * 12, 1) を挿入する事で解決。
 ((\t)はTAB。Pythonの文法のお約束の一つ、インデント)。
 原型の座標のデータブロック分をスキップさせるだけ。

 B2はimport_mdd.pyを書き換えて対処中('A`)

 L1はMDDのデータ順はケージの分+サブパッチで増えた分だった。
 インポートする過程でframe毎に差分量をスキップさせる事で解決。

 L2は回避不能っぽい('A`)
 MDDを吐くMasterClassプラグインを作れば何とかなるかも?

サクッと簡単にBlenderに取り込む方法はないのか〜ヽ(;`д´)ノウワァン

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
メモ:LWの形状をBlenderへ もきもき3D/BIGLOBEウェブリブログ
文字サイズ:       閉じる