トップページ> 連携 > Poser連携

PoserフィギュアをLightWaveにImport その2

 前回、とりあえずPoserからobj形式でLightWaveに取り込み、スムージングをかけるところまで成功した。

 使用しているのは、LayOutツールの方だ。

 スムージング/カメラ操作については以下の記事を参考にして欲しい。

 次にやりたいのは、この石膏みたいな灰色のフィギュアに色というかテクスチャを割り当てることだ。手動でちまちま割り当ててもいいのだが、Poserから書き出したマテリアル関係の情報が全く無視されているのが気になる。

 色々調べた結果、Poserからobjファイルと一緒に書き出されたマテリアル関連のファイル(拡張子.mtl)を読み込むためのプラグインがあるってことがわかった。LightWaveは、デフォルトで出来ないことは誰かがプラグインで実現してしまっている、という頼もしい文化があるようだ。

mtlファイルのimport/exportプラグイン

プラグインを配布しているのは、Mike Greenというサイト。人の名前なのかも知れない。

 mtlファイルimport/Exportプラグイン(スクリプト) →MTL Import/Export

 

 ダウンロードファイルを解凍するといくつかファイルが出てくるが、これじゃないかなー、と思うもの(MGMTLImporter.ls)を使うことにした。ファイル名にMDとついているのは、Modelerで使うスクリプトっぽい。たぶん。

 スクリプトの実行方法は、とりあえず、「ユーティリティタブ」をクリックしたときに出てくる「LScript」で、スクリプトを直接指定したら動いた。

先ほど解凍したファイルの中から「MGMTLImporter.ls」を選択し、開くをクリック

 次に何故なんだか知らないが、.lwo形式でobjを保存するから名前をつけろ、みたいなことを言われる。うーむ、なんでそんなことをするのかさっぱりわからないが、とりあえず適当なファイル名を付けた。

適当なファイル名をつけて、保存をクリック

 簡単な設定用ウインドウが現れる。

「Load MTL from:」の右端にある三角マークをクリックして、.mtlファイルを指定

UVmap for texturesのところを「OBJ_UVTextureMap」に変更

OKをクリック

 .mtlファイルというのは、Poserからobj形式で書き出したときに同時に出力されるマテリアル関連の情報が入ったファイルである。なお、各種テクスチャファイル(.jpgなど)は、PoserでCOLLADA形式で書き出し、という技を使って.objファイルと同じフォルダ内にコピーしてある(参考:PoserからOBJ書き出しするときに、必要なテクスチャも書き出す方法

 「Loaded materials」(マテリアルをロードした)というメッセージが出て、すんなりいけたかなと思ったら、そんなことはなかった。


▲すんなり行けた?

 「クリップを開く事ができませんでした。」というメッセージが表示される。何やら、マテリアル内で使っているテクスチャが開けないとか言うことらしいのだが、ファイル自体はちゃんとobjファイルと同じ場所にあるし、なんで開けないのかはさっぱりわからない。とりあえず無視して「OK」をクリックしていく。

 その後も際限なく同じようなエラーが出るが、無視しまくって、OKをカチカチカチカチとクリックしまくり。たまに、ファイル選択ウインドウが開いちゃったりするのだが、そのときは「キャンセル」ボタンをクリックして、とにかく先に進めてみた。

 すると、Materials applied(マテリアルは適用された)とメッセージがでた。

 そして、ついにフィギュアがテクスチャつきで表示されたのである。


▲フィギュアがテクスチャつきで表示された、感動の瞬間

 なお、テクスチャつきで表示するには、画面上部のプルダウンメニューで表示方法を「テクスチャソリッド」に変更しておく必要があると思う。


▲テクスチャソリッドにしておこう

 寄ってみるとこんな感じ。

 髪とかまゆげとか、どうやら透明マップでポリゴンが「抜かれていない」状態のもよう。しかし、色・質感編集(F5)で髪の質感を見てみると、透明マップはちゃんと適用されている。


▲透明度の「T」(たぶんテクスチャの意味?)に、透明マップがちゃんと設定されていた

 プレビューだと透明マップの切り抜きが表示されない、ということかも知れない。


▲レンダリング画像

 レンダリング(F9)してみたら、髪やまゆげ、まつげなど透明マップを使って切り抜いている部分がちゃんと表示されたようだ。ただ、レンダリングの品質がものすごく悪い気がする。なんだかざらざらしちゃってるのだ。

 でも、とりあえずこれで、Poserからフィギュアを持ち出して、LightWaveでレンダリングする、という意味では成功と言っていいんじゃないだろうか。

 もっときれいにレンダリングする方法とかは、また今度調べることにして、今回の実験を終わる。

(追記)上記記事を書いたのは体験版(バージョン9.3.1)だったが、製品版V9.6でも上記の手順でMTLプラグインを確認したので、一応追記しておこう。

関連: PoserからOBJ書き出しするときに、必要なテクスチャも書き出す方法 

次のPoserから取り込んだマテリアルの透明部分を反転させるへ

LightWaveはモデリング機能とレイアウト(配置・レンダリング)機能を兼ね備えた拡張性の高い統合3DCGソフトです。
トップページ> 連携 > Poser連携 もくじ