ラベル マテリアル の投稿を表示しています。 すべての投稿を表示
ラベル マテリアル の投稿を表示しています。 すべての投稿を表示

2010年10月28日木曜日

luxとSLGのテクスチャとエミッタを調べてみた

blenderでテクスチャを貼ったデータをSmallLuxGPUやLuxRenderでレンダしてみたら
テクスチャが正しく表示されないことがあるのでいろいろテストしてみたり。

テストの結果からすると
・SLGではオブジェクトのエミッタがオンの場合テクスチャが無視されて表示されない
・SLG、lux共にテクスチャにアルファ付きのpngを使用すると透過情報が正しく反映されない
という状況っぽい。


やったテストはこんな感じ。
まずはテクスチャ用の画像を作成してアルファ付きのpngファイルとして保存。



でblender2.54でテクスチャを貼ったオブジェクトを作成して、テクスチャのuse alphaとemitの
ON/OFFを切り替えてレンダするとこうなる。



左からemit:OFF,alpha:OFF/emit:OFF,alpha:ON/emit:ON,alpha:OFF/emit:ON,alpha:ON。
blenderでレンダした場合はこんな感じにほぼ意図したとおりの結果に。


次に上記のシーンをrender_smallluxgpuを使用してSmallLuxGPUでレンダしたのが下の画像。
emitとalphの組み合わせはblenderのレンダ結果と同じ順。



最初の2つのemitを設定していない場合を見ると、alphaの状態にかかわらずpngの透過情報が反映されている。さらにテクスチャで無くオブジェクト自体がアルファ抜きされて肉が抜けている。
後ろ2つのemit有効の場合ではどちらもテクスチャが表示されていない。

という状況なのでSLGでテクスチャに使う画像は透過情報を持たないフォーマットの方が混乱が
少なくてよさそう。ただエミッタ設定とテクスチャが併用できないのはどうしようもないかなぁ・・・。


最後にLuxRenderでレンダするとこんな感じ。エクスポータはluxblend25、luxはv0.7.1開発版。
luxではテクスチャのもつアルファ情報の使用を切り替えるオプションがないので
アルファ無し、有り2種類のテクスチャ作成してレンダ。なので順番としては、左から
emit:OFF,alpha:無/emit:OFF,alpha:有/emit:ON,alpha:無/emit:ON,alpha:有。



テクスチャにアルファ有りのpngを使用した時の結果がおかしいのはSLGと同様。
ただしluxの場合はエミッタを設定していてもテクスチャは表示される模様。
面の周囲の黒い縁取りが表示されてないのはuv座標のオフセットがずれたのかも。
おそらくエクスポート時の設定で調整できるはず。


というわけで、普通に使うならおとなしくLuxRenderを使用するのが良さげ。
SmallLuxGPUは開発者向けのテスト兼デモプログラムという扱いなのであまり突っ込んでも
意味がないので、OpenCL対応という点では次のLuxRender v0.8に期待したいところ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2010年10月16日土曜日

luxblendでお手軽ディスプレースメントマッピング

luxblendにはblenderで作成したマテリアルをLuxRenderのマテリアルに変換する
機能があります。

が、v0.5など以前の古いバージョンに付属のluxblendでは変換がうまく行われず、変換後の
マテリアルの質感やテクスチャのマッピングが残念な感じになってしまうことがたびたびありました。
そのため変換を使わずluxblendのマテリアルエディタでゼロからマテリアルを作成することが
多かったのですが久しぶりに変換機能を使ってみたらかなり良さげに改善されている模様。


というわけでテストついでにディスプレースメントマッピングを題材に手順をまとめてみました。


まずはblenderでデータ作成。UV Sphereを追加してSubSurfモディファイヤを適用。
さらにマテリアルのDisplaceにプロシージャルテクスチャのCloudsを設定。
で、blenderでレンダするとこんな感じ。




luxblendの"Convert all Blender materials"を実行するとこんな感じにLuxRenderの
マテリアルに変換される。




で、とりあえずこれをluxでレンダするとこんな感じ。



テクスチャは貼られているけどdisplacementには適用されていない。
ただ、テクスチャのマッピングは問題ないのでこれをそのままluxblendのdispmapの
テクスチャにコピーすればOK。



"Displacement Map"を有効にして上図のように設定。といってもコピー&ペーストしただけ。
でこの状態でluxで再びレンダするとこんな感じ。



今度はちゃんとDisplacementが適用されてでこぼこに。
変位の状態をよりblenderのマテリアルに近づけたければ、sublevelsの分割レベルやdispmapの適用量、Offsetの値を調整するとよさげ。


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2010年5月6日木曜日

LuxRenderのアルファマップ

というわけでリリースされたばかりのv0.7RC2を新マシンでいろいろ試しています。

ちょっと気になるのがluxblendからのエクスポートがたびたび失敗すること。
正確にはlxsやlxo等のLuxRenderネイティブのファイルの書き出しは成功している
んですが、その後にレンダリングが始まらない。
手動でluxrenderを起動してファイル読ませればいいんですが、ちょっと面倒。

また、たまに書き出し自体がうまくいってないような状況にも遭遇。
これは以前の0.6とかの頃にもちょくちょくあったのですが、そんな時は既存の
エクスポートされたファイルを削除してから再度エクスポートするとよさげ。

OSが違うせいなのかLuxRenderやluxblendに依存してる問題なのか分からないが
レンダリング自体に特に問題はないので、まぁいいや。

で、こうやっていろいろやり始めるといつも記憶が曖昧になるのがLuxRenderでの
アルファ抜きのやりかた。blenderのレンダラとはちょっと違ってマテリアルのmixを
使わないといけないのでセットアップをよく間違えるのでメモ。

アルファマップのテクスチャはこれ。




でluxblendでのマテリアル設定はこれ。




そうするとこんな感じになる。




やってみれば大したことないけど、よく忘れるw

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2009年11月6日金曜日

カーボンのつづき

昨日に引き続きLuxRenderでカーボンのマテリアルを試行錯誤。
それっぽくなってきた感じなので、適当な形状にマテリアルを設定してレンダリング。



角度を変えてもう一枚。
近くによるとスペキュラのテクスチャがやっつけすぎなのがばれるw



トップコートにクリアを吹いたっぽく、もう少し光沢が欲しいところ。
あと色もっと黒っぽくしたほうがよさげ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2009年11月5日木曜日

カーボンやステンレスなどの異方性マテリアル

ツールマークやヘアラインが入ったステンレスや積層カーボンなどの異方性マテリアルを
作りたくなっていろいろテストしてみた。

結果はこんな具合。



カーボンならもっと黒っぽいほうがよかったかもしれない。
あとパターンがやや大きいのでカーボンというより雲母みたいな感じ。
ソニーのノートPCでこんなテクスチャデザインのがあった気がするw。

とりあえずマテリアルは"metal" -> "amorphous carbon"を選択。
で、異方性を出すためexponentの値をx、yで変えてみたものの狙った結果にならない。
引き抜きや絞り加工したステンレスみたいに方向性が連続してるものならexponentだけ
でもいいのかもしれない。よく目にする、いかにもカーボンっぽい感じを出すにはspecular
にテクスチャ適用というよくあるやり方が一番効果的という結果。

あと、なんとなく選んだ"PHILIPS [ML 160W] Self-Ballasted HPM Vapor Lamp"
が思いのほかいい感じだった。今回のテーマとは関係無いがとりあえずメモ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2009年10月27日火曜日

LuxRenderのディスプレイメントマップ

 LuxRenderのディスプレイスメントマップ用のテクスチャは黒地に白で描かないとだめ。
モデル本来のジオメトリに対して黒が変位なし、白が変位ありという割当は固定。

blenderだとテクスチャのスイッチで白と黒の割当を反転できた気がしたので
同じ感じで適当に白地に黒で描いてたら嵌まった。
UV設定がいけないのか?、pngは読めないのか?とかテクスチャまわりをあれこれ
試したおかげでだいぶ詳しくなった気がする。
ちなみに変位方向、面から凸にするかor凹にするかは適用量の極性で指定する。
正なら凸、負なら凹の方向に変位する。

blenderのディスプレイスメントマッピングはあらかじめモデルのメッシュをそれなりに
細かく分割しておかないといけないが、LuxRenderではレンダ時に指定レベルで自動的に
分割してくれる。モデルを分割しておく必要は無いのでデータが軽いままで済むのは便利。
一通りやってみて慣れればそんなに使い方が難しいものでもないし。

blenderでSubsurfを設定している場合は、Subsurfによる分割面に対してLuxRenderの
自動分割が適用される。Subsurfをレベル3、LuxRenderの自動分割を2に指定すると
結果としてディスプレイスメントが適用される最終的な面の細かさはレベル6相当になる。

試した感じでは最終分割レベルが6〜10くらいになってればとりあえず良さそう。
あとはsmoothと組み合わせで微調整という感じ。

というわけで四角ポリゴン6枚の直方体にLuxRenderのディスプレイメントを適用すると
こんな感じに。同じテクスチャで左が適用量が負、右が正の場合。



いい具合に滑らか。実際にジオメトリが変形してるので光線の反射・屈折も反映される。
左の凹モデルのマテリアルをglassに変更してみるとこんな具合。



LuxRendrの光線表現の正確さと合わせて考えると、いろいろ面白い使い方がありそう。
回折格子とかにも使えるかもしれない。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2009年10月24日土曜日

LuxRenderの2種類の金属マテリアルの違い

SSSが一段落したんで今度は金属のマテリアルについて覚え書き。

LuxRenderのマテリアルは数種類のタイプに分類されているのだけど、金属材料に特化した
マテリアルは2種類ある。shinymetalとmetal。

shinymetalはユーザがスペキュラーやディフューズなどのパラメータを自由に設定可能。
現実には無いようなマテリアルを作りたいとか、ひとまず金属っぽいマテリアルを設定して
おいて後から詳細な調整をしたい、なんてときにはshinymetalを選ぶのがよさそう。

metalは実際の金属材料を測定した物性データを用いて、それぞれの金属をモデル化する
ためのもの。材料の選択以外にできるのは表面粗さの設定のみ。
実際の金属材料を意図したマテリアルが欲しいならこちらを選ぶのが手っ取り早そう。
プロダクトデザインとかの初期検討で材料毎に比較をしたいとか、設計途中のCADデータを
流用してレンダを出したいといった場合は具体的な材料があるはずなのでこれは便利。

metalの材料には金、銅、アルミ、カーボン、銀がプリセットで用意されている。
これ以外にも測定データを読み込ませてマテリアルとして使用する事もできる。
n/k値をsopra形式で記録したものならOKらしいがよくわからないので調べてみた。
sopraというのは誘電率?とかの物性を測定するための測定機器メーカーらしい。
その会社の測定器の出力するファイル形式に準じていればLuxRenderが認識できるっぽい。

ライトのIESファイルと同じ様な感じ。ならばn/kデータも探せばどうにか入手できるはず。

で、探したら見つかったのでメモ。

http://www.sopra-sa.com/ - sopraのホームページ
ページ右上のDOWNLOAD CENTERから。登録が必要だったので試してない。

http://savannah.nongnu.org/projects/freesnell - FreeSnellプロジェクト
光学関連の物性データ測定とデータベース構築を目的としているみたい。

http://people.csail.mit.edu/jaffer/FreeSnell/nk.html - 上記の関係者らしき人のページ
データコンバータか何かの解説のようだが途中にn/kデータのダウンロードリンク有り。


LuxRenderでデータが読み込めるのはざっと確認したけど、使用にあたってのライセンス
などはチェックしてません。仕事や商業利用の場合は自己責任で確認と利用のこと。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2009年10月22日木曜日

SSSのつづき

だいぶましになったのでそれっぽいシーンでレンダリングしてみた。

blenderのシーンはこんな具合。
でっちあげの手と天井にエリアライト、手の後ろから光を照らすバックライト。



まずエリアライトだけでレンダリングするとこんな感じ。



これにバックライトで光を当てるとこんな感じに。



指の先から光を受けている手のひらにかけてのグラデーションはほぼイメージどおり。
人差し指や中指あたりでの表面の拡散と内部散乱のバランスもいい感じ。
全体的に抜けてくる光はもう少し赤みが強くても良かったかもしれない。

肉厚、特に手のひらの厚みが均一なので透け方に変化が無いのがもったいなかったかも。
その辺をもう少し作り込んで、中に骨とかもいれてみるのも面白そう。

今のところLuxRenderにはblenderの様なSSSを有効にするためのオプションや、SSS固有
のパラメータは用意されていない。なので、あらかじめblenderで設定した他のマテリアル
の設定とは異なりSSSは自動的にはLuxRenderのマテリアルに反影されない。

けれどスペキュラーやディフューズ、透過などの汎用的なパラメータの組み合わせで今回の
ような表現ができるので慣れてくるとそのへんは問題なさそうな雰囲気。

逆にSSSのような特定の現象を再現するためのオプションや一部のマテリアルだけに固有な
パラメータがほぼ無いのは、マテリアル編集時に結果が想像しやすく効率がよかったり、
固有のパラメータが支配的でないぶん自由度が増えたりして良いのかもしれない。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

LuxRenderでSSSっぽい設定を試行錯誤してみる

 公式ドキュメントをざっとみたところ現状のLuxRender v0.6でSSSの設定は無いらしい。
ただしフェイクでSSSぽい感じは出せそうなのでいろいろ試してみた。



uの辺りを中心に凹ませた形状になってます。
肉の薄いところが透けてる感じはいいんだけど、きれいに透け過ぎというか内側での散乱が
足りない雰囲気。もっと中身が詰まっている感じを出したいところ。

透け過ぎるなら表面を荒らしたらいいんじゃ?と思ってやってみるとこんな感じに。



中身を詰めたんじゃなくて、ちゃんと表面だけを荒らしたように見える結果になってるのが
これはこれでおもしろい。

金属っぽい光沢感やガラスの透過光みたいにいかにもCGが得意そうな表現に目がいきがち
だけど、こういったCGらしくないぼんやりした質感も面白い。
人の肌の感じとかを表現するにはまだまだ足りない感じだけどしばらく試行錯誤してみる。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手