9.02.2008

なんでめんどいか?っていうのと、その他の話題。

先のエントリで勝手に結論:とか出してたから、なんでメンドイのかを一筆。

実は、SXファイルの取り扱いについて調べていたところ、DirectXのサンプルプログラムではおなじみのイルカのモデルをDelphi+QuadrupleDで作ってみましたという人の記事を発見。(こちら

そこによると、形状ごとのモデルを用意する→頂点をブレンドしてアニメーションさせるという手順でアニメーションをさせていたのだ。

これは単純に、アニメーションのパターン数×1パターンで使うアクションの枚数分のファイルが必要になり、六角大王+HumanMDLの「ROKファイルとP3Dファイルを用意すれば、アニメーションできるザマスわよ。」という状況とはあまりにもかけ離れてくる――そう読んだからだ。

さらに、アニメーションのパターンによっては頂点のブレンド方法を変えなくちゃいけないことが予測される。ということは、とてもお手軽アニメーションとかいうわけにはいかなそうなのである。




だけど、後半で書いたP3DファイルがあればSXメッシュだけでもアニメーションできるんじゃないだろうか?
という疑問はかなりいい線行ってそうな感じがする。

P3Dファイルを扱うプログラムを実装した段階で気付いたと思うけど、P3DFigureの作成において、メッシュリストを引数として受け取るSpawnメソッドを利用していたからだ。

メッシュリストを引数として受け取るってことは、それが六角大王のファイルである必要はないということだろう。
つまりこれは、ほかのモデラを利用できるってことなんじゃないだろうか?
(まだ試していないから、今後の課題としてやってみようと思う。)




もし六角大王以外のモデラが使えると何が嬉しいか?
一番うれしいのは、テクスチャのマッピング情報をメッシュに持たせることが可能だということなんじゃないだろうか。
SXファイルのフォーマットについて詳しく調べていないから確かなことは言えないけど、少なくとも六角大王フリー版ではモデルにテクスチャを貼り付けることができないと聞いた。

けれど、六角大王で作られたデータはQuadrupleDの管理下に入った時点でSX形式に直されているハズなので、テクスチャを貼り付けることが可能だ。(テクスチャが貼れることは確認済み)

テクスチャが貼れるということは、テクスチャは何らかのマッピング指令に基づいてマッピングされているんじゃないだろうかと。そう考えたわけである。
(たとえば、メタセコイアだとUVマッピングによってマッピング情報をモデルに持たせることができる)

六角大王ではマッピングの情報をモデルに埋め込めていないわけだから、なんらかのデフォルトマッピングというのが定義されているのは間違いないんじゃないかと。そういう結論に至ったのだ。

テクスチャが貼れると、キャラに表情をつけたり、服の細かい模様を3Dで描かなくてもよくなる。
これは、多少規模の大きい3Dのゲームを作るなら便利な機能なんだろう。
同じ形の家だけど、テクスチャが違うから別の家に感じさせることができるとか。
(家の場合、アニメーションしなくても良いから、別に六角大王にこだわる必要は無いんだけどね。)




以上を踏まえてのとりあえずの結論は、SX形式に対応したポリゴンモデラがあればいいじゃん。
ついでだから、HumanMDLの形式でアニメーションつけられるようにしてさ。

ふぅ。

要するに、今あるものを使うのが一番楽だよってこと。
でも、話題自体は面白いからもう少し追いかけてみるかな。

0 件のコメント: