2012年

2月

21日

MMDfromColladaにシェーディング切り替え機能をつけてみた

Colladaのエフェクト部分を毎回「Phong」シェーディングに強制的に設定していたので切り替えるようにしてみました。Colladaのeffectタグで指定できるシェーディングは「Phong」、「Blinn」、「Lambert」、「Constant」の4つです。

書き出しの変更点はタグ名の変更と一部パラメータの切り替えだけだったので簡単に済みました。とりあえず手持ちのツールで何度か確認した結果をご覧ください。

 

まずはBlender2.62↓

右から『Blinn』、『Lambert』、『Phong』

Lambert以外大差なし。ちなみにConstantはこんな感じに・・・↓

 

真っ白!何でこんなことになった?

 

Blenderだけでは不安だったので、Blender以外のソフトで描画してみました。

まずはGoogle SketchUp8。

 

差が出ない・・・

Sketchupのレンダリングが悪いのかと思い、『Kerkythea(カキーシャ)』というフリーレンダラーを導入してみました。

 

Kerkythea単体ではColladaファイルは読み込めないらしく、Sketchupのプラグインを使うことでKerkytheaへモデルデータを送り込むらしいです。

 

結果がコチラ↓

レンダリング設定を「Photomap-Quick」で描画したもの。

めちゃくちゃ綺麗だけど、3体のモデルに差はない。

 

とりあえず設定を変えて描画した結果を幾つか。

途中から楽しくなって描画する必要のない設定まで試しています。

 

「Diffuse Texture Pass」で描画。これは差が出ないことは端から分かってた。

 

「Clay Render (Photomap Quick)」で描画。名前のとおり粘土っぽいです。

 

これは完全に遊び。「Depth Render」、深度バッファのZ値を描画しただけです。

 

一番期待していたレイトレース。「Ray Tracing-High」で描画。

これも綺麗だけど差が出ない。

 

ちなみにKerkythea本体でのレンダリングはこんな感じです。

既に差がない・・・まぁ最初から分かっていたんですけど。

 

sketchupへモデルを読み込んだ時点でシェーディングが無効&マテリアルが統一されてるようです。これでは無意味。

 

次に、Softimage Mod Toolで試してみました。

 

右から「Blinn」、「Lambert」、「Constant」、「Phong」です。

描画方法は「テクスチャ」を選びました。Constant以外全く同じですね。

 

Constant以外は正しく設定されているはずなんですが、Constantだけがどうも自信がない。ツールの設定とか殆どいじってないのでそこらへんを変更すればもうちょっと変わるんでしょうけどね。でも使い方が分からないツールが多いのでなるべく控えたい。

 

Collada Domを入手して自作のビューワー作ったほうがいいかもしれないですね。

MMDfromCollada1030b版にて複数のバグ報告がありました。

・テクスチャが描画に反映されない(DirectX版のみ)

・一部のモデルが正常に出力できない

 

両方ともまだ原因が分かっていませんが、対処として起動状況をログ出力するようにしました。

アプリケーション終了後、exeファイルを同じフォルダにログファイルが出力されます。

使用中にエラーや不具合が起きた場合はこのログをメール等で私に送っていただければ以前より問題に対応しやすくなると思います。

 

一通りまとまり次第、次のバージョンをリリースします。今のところはなるべくOpenGL版をご使用くださるようお願いいたします。