こないだCG覚書:Sketchupからコミスタイラスタ3DLTプラグインという記事を書いたのですが、ポズスタのとあわせようと思ったらやっぱりパースがあわせにくい。なので今回はSketchupからモデルを出力してポズスタ上であわす方法を模索しようと思います。
前から使ってたのは、lwoexport-005というプラグインです。これはグループごとに分離してオブジェクト出力されてマテリアルも出力されるのですが、ある程度まで分解しないとものすごくオブジェクトが多くなるのと、実際には使われていないマテリアル(もうオブジェクトを消しちゃったやつのとか。マテリアルの『モデル内』にあるのが全部出る)まで出力されること、それとテクスチャが出力されないという面倒くささがありました。それより何より、メタセコに読み込んだときになぜかマテリアルの不透明度が0%になっていて、それを逐一修正しないといけない。かなりめんどい。めんどくさすぎる。
ので、今回はSketchupの7以上で使える、object exporterというプラグインを新しく試してみました。他にもOBJ形式に書き出せるプラグインは多いですが、今のところこれが一番使いやすいです。では覚書をつづきから。
使い方としてはごく単純で、ダウンロードしてきた.rbファイルを、GSUインストールフォルダの中のPluginフォルダーにいれるだけです。すると、GSUを起動したあとにメニューのファイルに、下の方にOBJexporterというのが出ます。
選択するといきなりシーン全体が書き出されます(その前に、一度も保存していないシーンだと保存を要求されます)。保存しているSKPファイルと同じ場所に、OBJファイルとマテリアル情報のmtlファイル、テクスチャを使っている場合は『(ファイル名_Textures』というフォルダが出力されたはずです。
メタセコで見てみましょう。サイズは自動調整ボタンを押しました。
オブジェクトは有無を言わさず全部統合されます。マテリアルは実際にオブジェクトで使っているものだけです。
直接同じファイルをポズスタで『モデルを追加』で開いてみました。
うーむ、テクスチャが出ていない。一番手っ取り早く修正してみましょうか。
まず、出来たOBJファイルとmtlファイルを、テクスチャの入っているフォルダにコピーします。でもって、mtlファイルを開きます。この場合、5.OBJというファイル名なので、mtlファイルをメモ帳等で開くと、例えばフェンス部分のマテリアルの表記はこうなっています。
newmtl _OSB
Ka 0.000000 0.000000 0.000000
Kd 0.941176 0.764706 0.478431
Ks 0.000000 0.000000 0.000000
d 1.000000
map_Kd 5_Textures/_OSB.jpg
この5_Textures/を消してしまうのです。複数あればその全部。前にあるmap_Kd(半角スペース)まで消してしまわないように。で、上書き保存して、今度はポズスタ上で、テクスチャフォルダにコピーしたほうのOBJファイルを開くと…
おー、ちゃんと反映されましたよ。この木はGSU上で形状で抜いてるので、透明度で抜いてるのではないです。またテストせんと。
オブジェクトが全部統合されてるのが難といえば難なのですが、メタセコ上でOBJ出力するとなぜかポズスタ上でマテリアルが暗くなりますし、別オブジェクトになりません。LWO2ならオブジェクトは分離されるのですが、なぜかUVが狂ってしまいます。
まあその辺は適宜使い分けてください。どうせテクスチャをそのまま使うわけでなし。
取り込んできた際のスケールあわせがちょっと面倒ですが(数値で指定できるようにしてよー)、前みたいにパースを合わせるよりは楽だと思いますし。どうせトレスするもんですから、邪魔にならないところにスケールあわせ用の人物板モデルでもおいておけば便利なのではないでしょうかね。コミスタの3DLTでベクター線検出等で直にモデルを使う場合はやはり前の記事の、Export_CSDプラグインを使うほうがいいでしょうね。
ちなみに、mtlを修正してフォルダ内に入れたOBJをDAZStudioで取り込むとこんな感じです。ただ、最初インポートするときにスケールをかなり拡大(この場合3000%にした)にしないと小さすぎて行方不明になっちゃいますが…