Message#53 | |
post by yoh | 回答ありがとうございます。 すみません、説明不足でしたがモーフ自体は既にうまく動作しているのです。C++&DirectXだとLoadMesh()を用いてXファイルをランタイムに直読みさせる方式があるようですが、そうではなく、コンパイル時にインポータで読み込んでXNA内部形式に変換しそこで自作プロセッサを通してモーフィング用のメッシュを1つに纏めています。 ただし運用面で色々条件がありまして、 1・"elem:"オブジェクトをコピーして適当な名前に変更(これをそのまま出力して欲しいというのが今回の要望)。 2・同一頂点が別頂点として扱われないよう、スムージングは「180度」に固定。 3・頂点の格納順が一致している必要がある(でないとそもそもKeynoteが正しく動作しない)。 4・面の格納順やマテリアルも一致している必要がある(Metasequoia&Keynote上ではうまくモーフィングしていても、Xファイル出力時に面の順序に応じて頂点の順序が入れ替わってしまう)。 5・モーフとボーンアニメーションが連動しない(今回はそれでよい)。 といったところです(だいたい予想の範囲内とは思いますが…)。もちろん、面の構成を少し弄っただけでもあっさり崩れるのは致し方ありません。 さて、確かに独自フォーマット策定が理想的かつ確実なのですが(というかやってみたい)、正直なところ工数上の制約が大きく、一方で現状モーフもボーンアニメーションなども全て動作してしまっていること、また1,2,4はともかく3についてはどうあがいてもモデリング時に注意するしかないこともあり、ここはこのまま押し切るつもりでした。で、まあせめて1だけでも出力オプションか何かで…と思ったしだいです。 でもまあ、いずれはフォーマット作るべきかも知れませんね。長くなりましてすみません。 2009年11月17日(火)21時29分 |