3dsmax

3dsmaxでcollada編集をする


プラグイン最新版バージョンではいろいろ不具合が出ます。
エディタのversion(1.4.1)にあわせましょう。ダウンロード先
出力した.daeファイル内の表示は
Feeling ColladaMax v3.05Bなので注意。

エラー落ちはしょっちゅうです。うまく取り込めたとしても

1、モデルの位置が飛んでいる
2、UVがぐしゃぐしゃ

原因調査中。報告を待て!



問題箇所がわかりました。
(以下maxユーザーを対象にした記述ですのでmax方言含んでいます。)

テキストファイルを解析しました。
どうやらmaxで,daeを取り込んだ際にモデルファイルがルートの名前になってしまう
本来のファイル構成(アクセで検証)

avator
⊥born
⊥root
 ⊥spline・・・以下ボーン
⊥fa(null)
⊥acce(ジオメトリ部分)

最後のacceが飛んでfaの名前で登録される

なので元ファイルの通りダミーオブジェクトをfaで登録、
ジオメトリにはモデルの名前をつける
ParrentDummyと言うスプリクトが便利です。
階層構造を保ったままダミーを生成してくれます。

これで「ファイルの種類が異なります」エラーは出なくなる

最後のファイル名でヘアーなのかアクセなのかモデルの種類を判別している模様
face body tops bottoms hair shoes acce
(詳細は配布pdf参照)


モデル位置が飛ぶ問題
ZUPとYUPの変換に間違うとモデルが飛びます。
対処方法
ファイルのやり取りはすべてYUPでセーブする。
これだとmaxで作業しづらいので
インポートした後にモデルのルートを選んで 90度回転。
作業後に元に戻して出力する。これでOK。

UVが飛ぶ問題
maxからの出力がUVWの三軸なのに対し、
PTCのcolladaインポータが3軸をサポートしていないため
座標が壊れる模様。

注)当方プログラマじゃなくて素人なので詳しいことは突っ込まないで下さいw

・・誰かテキストエディタを使ったうまい変換方法教えて欲しいです。手作業がツライ。。。
ファイルをドラックしたら全部変換出来るテキストフィルタを作って欲しいッス。

問題箇所


      <source id="acce_aShape_0-skin-map-channel1">
         <float_array id="acce_aShape_0-skin-map-channel1-array" count="18">0.772116 0.278405 0 0.283755 0.950232 0 0.283755 0.278405 0 0.772114 0.056042 0 0.283756 0.056042 0 0.772114 0.950232 0</float_array>
         <technique_common>
           <accessor source="#acce_aShape_0-skin-map-channel1-array" count="6" stride="3">
             <param name="S" type="float"/>
             <param name="T" type="float"/>
             <param name="P" type="float"/>
           </accessor>
         </technique_common>
       </source>


3軸→2軸に変換

float_array id
数列(u1,v1,w1,u2,v2,w2,,,,,,)を
数列(s1,t1,s2,t2,,,,,,)に変換。

stride="3"
stride="2"

<param name="P" type="float"/>この行は消す

変換後

      <source id="acce_aShape_0-skin-map-channel1">
         <float_array id="acce_aShape_0-skin-map-channel1-array" count="18">0.772116 0.278405 0.283755 0.950232 0.283755 0.278405 0.772114 0.056042 0.283756 0.056042 0.772114 0.950232</float_array>
         <technique_common>
           <accessor source="#acce_aShape_0-skin-map-channel1-array" count="6" stride="2">
             <param name="S" type="float"/>
             <param name="T" type="float"/>
           </accessor>
         </technique_common>
       </source>

(文責・ユキねえ)


  • 最終更新:2010-04-28 12:34:40

このWIKIを編集するにはパスワード入力が必要です

認証パスワード