2008年06月08日
メタセコとパルテノンでスカプリ用テクスチャベイク

以前の記事で紹介した、MQOデータをスカルプトプリムに変換するツールと、ParthenonRendererというフリーのレンダラーを使って簡単な陰影ベイキング(焼き付け)を実験してみました。
Parthenonでは、GPU(ビデオカードのチップ)処理でラジオシティライクなレンダリングを行えるのですが
モードをかえることでMQOデータのUVマップに陰影を焼き付けることができます。
これを応用し、MQOコンバータツールを用いて予め作ったモデルをParthenonで陰影焼き付けをした画像を
InWorldにて実際にSculptedPrimとして適用して確認するまでを試しました。
まずは、以前の記事を参考にmqoToSculptをあらかじめインストールしておきます。
「新規MQOを作成」タブにて基本となるMQOデータを作成し、これをMetasequoiaで読み込みます。
今回はMQOデータを出力するので機能制限されたフリーウェア版でも送金済のフルバージョンでも両方大丈夫だとおもいます。
試しにこんな形を作りました。

これをMQOデータで別名保存するのですが、注意点があります。Parthenonに読み込ませるにあたって総て三角ポリゴンで
構成されている必要があるため、CTRL+Aで全選択してから「選択部処理」で四角形ポリゴンを三角形にします。
ただ、あとでMQOデータからSculptedPrim用のイメージを書き出すにあたり、再度mqoToSculptを使うのですが
これは三角形ポリゴンである必要もないので、無駄にポリゴン数を増やさないために、四角形を三角形にする直前のデータを
SculptedPrimの形状データ変換用に保存し、それとは別に三角形ポリゴン化したものを別名保存しておくとあとで形状を
再び整えたいときなどには便利かもしれません。
今回は三角形化したものでそのまま進めていますが、実際にやってみてやりやすい方法でモデルを管理すれば良いでしょう。
MQOデータを保存したらMetasequoiaは終了させます。PCスペックが十分なら起動させたままでもいいのですが
Parthenonはグラフィックボードに負荷がかかるので他にグラフィック系ソフトが起動していると処理が遅くなります。
ParthenonRendererはこちらからダウンロードしてください。インストール作業は必要ありません。
解凍してでてきたParthenon.exeを実行すれば起動します。
動作環境として紹介されているのは以下の構成です。
我が家のマシンのうち、グラフィックボード搭載済(RadeonX700PRO、Geforce7600GS、Geforce8500GT)の
メイン、サブ1、サブ2マシンではどれも正常に動作しました。OSは7600GS搭載のマシン(メイン)のみ2000で他はXPです。
最新のDirectXやDirectXのSDKがインストールされていないとエラーが出るかもしれません。
エラーが出た場合は見つからないとされるDLLのファイル名を検索エンジンで調べるなどしてください。
マシンごとにケースバイケースなので私にはサポートしきれません。
正常に起動したら、先ほど作っておいたMQOデータを読み込みます。

この段階ではのっぺりしてますが、これはMQOデータの形状と適用されているテクスチャが
とりあえず表示されているだけなので気にしません。今回は特にテクスチャは作ってないので白塗りのようになってます。
まずはParthenonの基本的な機能としてのレンダリングをしてみます。
「Rendering」メニューからRunを選択すると、前処理の進行度が表示されたあとにレンダリングが始まります。
レンダリングは自分で止める(Cancel実行)までひたすら実行されます。
頃合いをみて「File」メニューから「SaveImage」を選べばBMPファイルとしてレンダリング結果が保存されます。

そして、本題というか今回の実験はここから本番です。
「Rendering」メニューにある「Mode」でLightMapsをクリックしてチェックを付けます。
これでレンダリングを開始すると、読み込んだMQOデータに適用されているUVマップにレンダリング時の陰影が反映されます。
つまり、SculptedPrim用のテクスチャに、形状に対しての光の影響を焼き付けることに応用できるわけです。
LightMapsモードでもレンダリングは自分で止めるまで実行され続けるので、これも適当な結果が得られたとおもった時点で
「File」メニューから「SaveImage」を選んで保存します。

こんな結果が得られます。
今回は下地のテクスチャはないので、これをこのままテクスチャとして貼れば陰影が再現されるはずです。
とりあえずSculptedPrimViewerで確認してみます。

こんなかんじ。
あとは、MQOデータをmqoToSculptに通してScuptedPrimの形状用画像と、上で作った陰影テクスチャをアップロードして
プリムに適用し、テクスチャの明るさを最大にすれば、記事冒頭のようなものができあがります。
形状にあわせた模様を入れる場合は、陰影テクスチャをフォトショップやGIMPなどを使って乗算で上位レイヤーにかぶせれば
陰影が反映されます。
「新規MQOを作成」タブにて基本となるMQOデータを作成し、これをMetasequoiaで読み込みます。
今回はMQOデータを出力するので機能制限されたフリーウェア版でも送金済のフルバージョンでも両方大丈夫だとおもいます。
試しにこんな形を作りました。

これをMQOデータで別名保存するのですが、注意点があります。Parthenonに読み込ませるにあたって総て三角ポリゴンで
構成されている必要があるため、CTRL+Aで全選択してから「選択部処理」で四角形ポリゴンを三角形にします。
ただ、あとでMQOデータからSculptedPrim用のイメージを書き出すにあたり、再度mqoToSculptを使うのですが
これは三角形ポリゴンである必要もないので、無駄にポリゴン数を増やさないために、四角形を三角形にする直前のデータを
SculptedPrimの形状データ変換用に保存し、それとは別に三角形ポリゴン化したものを別名保存しておくとあとで形状を
再び整えたいときなどには便利かもしれません。
今回は三角形化したものでそのまま進めていますが、実際にやってみてやりやすい方法でモデルを管理すれば良いでしょう。
MQOデータを保存したらMetasequoiaは終了させます。PCスペックが十分なら起動させたままでもいいのですが
Parthenonはグラフィックボードに負荷がかかるので他にグラフィック系ソフトが起動していると処理が遅くなります。
ParthenonRendererはこちらからダウンロードしてください。インストール作業は必要ありません。
解凍してでてきたParthenon.exeを実行すれば起動します。
動作環境として紹介されているのは以下の構成です。
A video card that supports Floating-Point buffers in DirectX.
It should also support Vertex Shader 2.0 and Pixel Shader 2.0 or later.
DirectXで浮動小数点数バッファをサポートするビデオカード.
Vertex Shader 2.0 and Pixel Shader 2.0のサポートも必要です.
DirectX 9.0 or later. You will need d3dx9_24.dll or later.
DirectX 9.0以降. d3dx9_24.dllかそれ以降のDLLが必要になります.
我が家のマシンのうち、グラフィックボード搭載済(RadeonX700PRO、Geforce7600GS、Geforce8500GT)の
メイン、サブ1、サブ2マシンではどれも正常に動作しました。OSは7600GS搭載のマシン(メイン)のみ2000で他はXPです。
最新のDirectXやDirectXのSDKがインストールされていないとエラーが出るかもしれません。
エラーが出た場合は見つからないとされるDLLのファイル名を検索エンジンで調べるなどしてください。
マシンごとにケースバイケースなので私にはサポートしきれません。
正常に起動したら、先ほど作っておいたMQOデータを読み込みます。

この段階ではのっぺりしてますが、これはMQOデータの形状と適用されているテクスチャが
とりあえず表示されているだけなので気にしません。今回は特にテクスチャは作ってないので白塗りのようになってます。
まずはParthenonの基本的な機能としてのレンダリングをしてみます。
「Rendering」メニューからRunを選択すると、前処理の進行度が表示されたあとにレンダリングが始まります。
レンダリングは自分で止める(Cancel実行)までひたすら実行されます。
頃合いをみて「File」メニューから「SaveImage」を選べばBMPファイルとしてレンダリング結果が保存されます。

そして、本題というか今回の実験はここから本番です。
「Rendering」メニューにある「Mode」でLightMapsをクリックしてチェックを付けます。
これでレンダリングを開始すると、読み込んだMQOデータに適用されているUVマップにレンダリング時の陰影が反映されます。
つまり、SculptedPrim用のテクスチャに、形状に対しての光の影響を焼き付けることに応用できるわけです。
LightMapsモードでもレンダリングは自分で止めるまで実行され続けるので、これも適当な結果が得られたとおもった時点で
「File」メニューから「SaveImage」を選んで保存します。

こんな結果が得られます。
今回は下地のテクスチャはないので、これをこのままテクスチャとして貼れば陰影が再現されるはずです。
とりあえずSculptedPrimViewerで確認してみます。

こんなかんじ。
あとは、MQOデータをmqoToSculptに通してScuptedPrimの形状用画像と、上で作った陰影テクスチャをアップロードして
プリムに適用し、テクスチャの明るさを最大にすれば、記事冒頭のようなものができあがります。
形状にあわせた模様を入れる場合は、陰影テクスチャをフォトショップやGIMPなどを使って乗算で上位レイヤーにかぶせれば
陰影が反映されます。
アレンジ
Shadeでスカプリる(?)人必見?!
Blenderで一発スカルプ作成!(plugin紹介)
メタセコデータ用スカルプマップコンバータ
ZBrush3.1で簡単スカプリ作成
Shade10発表!SecondLife形式での出力に対応
Shadeでスカプリる(?)人必見?!
Blenderで一発スカルプ作成!(plugin紹介)
メタセコデータ用スカルプマップコンバータ
ZBrush3.1で簡単スカプリ作成
Shade10発表!SecondLife形式での出力に対応
Posted by むじ at 08:45│Comments(0)
│SculptedPrim