[雑記] Metasequoiaのmqoって、テキストファイルだったんか

こんばんは。
若干微熱?風邪気味?のおじいさんです。
今日はさっさと寝る事にして、その前にメモ。先日から、Flashで3Dを扱おうとがんばってるわけですが、目標はMetasequoiaから読み込んで表示する事。
そのファイル形式って、公開されていたんですねぇ。

Metasequoia ファイルフォーマット
 http://www.metaseq.net/metaseq/format.html

そもそも認識違いを発見。
mqo がオブジェクトで、mqmが材質だったのか。で、私が拾ってきたモデリングデータに入ってる、mqxは何?ボーンデーターですか。なるほど。

中身をみるとテキスト(^-^;)
これはありがたい。
しかも、上記URLのファイルフォーマットを見てると、めちゃめちゃシンプル。


さらに強力な助っ人。

プラグインSDK
http://www.metaseq.net/metaseq/sdk.html

ここで、SDKを落として、展開。とりあず、HTMLのドキュメントを読む。ふむ、ImportMQO.cppのLoadMQOから読み進めていけばいいんじゃね?と思った。

もう少し読んでいく。
IMportMQO.cppの、LoaderMQO::Loadでファイルを読んでいる。
CheckHeader、MailLoopを実行して失敗したらエラーをThrow。

CheckHeaderでは、ファイルが本当にMetasequoiaかどうか調べてる。あと、バージョンも。

MailLoopでは、ファイルを一行づつ読み込みながら、あれこれと読み込む。
うーん、このファイル形式ってJSONあたりに変換できねぇんだろうか、と思考。JSONじゃなくて、YAMLの方が構造的には近そうだ。Object->vertexん中身辺りも名前が付いていたら、一括変換できたんじゃないかと思ったが、無理そう。下手にやって、対応できなかったら嫌んなので、まじめに移植する事を考える。

ImportMQO.cppのライン数は925L。
まじめに取り組んだら、一週間とかで移植できそうだが、テストをどーやってやるか、の世界になっちゃうあなと。

後、最大の問題はPapervison3Dとmetasequoiaの間で、表現能力の差があるって点かな。どうやっても、完璧な再現はできないわけで。どの辺りで妥協するか。
とりあえず、曲面の表現はさておいて、ポリゴン状態のをPapervision3Dで表現できたら良しとするか。

進んだいい気分になったので、今日はこんな所で。

この記事へのコメント

この記事へのトラックバック