2006年06月07日

DriverはGradientと共に modo201

ShaderTreemodo201のShaderTreeのリストには3つの欄がある。
  • アイテムの有効無効を設定する欄(目のアイコン)
  • アイテムの名前欄(Name)
  • アイテムの効果欄(Effect)

がそれだ。その中で今回はEffectの欄にあるDriverについて勉強した。

effecteffect欄で右クリックするとこのようなポップアップメニューが出る。ShaderTreeに登録されたアイテムの設定項目から有効にしたい効果をここから選択できる。
だから例えばmaterialをひとつ作っておいてDiffuseColorに赤を設定しても、effectの欄がBumpであればDiffuseColorは無効になる。ただ、3DViewには色が出てきちゃったりするのはご愛嬌なのかなぁ(プレビューやレンダ結果はちゃんとなるけどね)。この図で見ると語尾に何もつかないもの、Colorが付くものAmountが付くものが目立つ。語尾にColorがつくものは色を指定するもので、Amountが付くものは色も指定できるが量だけを指定したい、色で言えばグレースケールで処理したい場合のようだ。何も指定していないものはColorとAmountの区別がもともと必要が無い、量を設定するもののようだ。
Bump・Diffuse・Displacement・Luminous・Normal・Reflection・Roughness・Specular・Subsurface・TransparentはCGではお馴染みのパラメータだ。そしてGroupMaskとLayerMaskは名前の通りマスキングするためのアイテムだと想像出来る。で、残ったDriverってのが何者なのかが今回のテーマだ。

リファレンスをめくっていてもなかなか埒があかないのでドキュメントに全文検索をかけたらチュートリアルビデオが出てきた。「Render_and_Shading_Help_videos.html」の中の「Using Texture Drivers with Gradients」がそれだ。タイトルでもわかる通り、DriverはGradientと組み合わせて使うそうだ。GradientはバンプやWeight値、視線との角度などを入力パラメータとして、それをグラフを使って他の値の強度に変換する仕組みだ。例えばバンプの凹んでいる所は拡散反射を低くしたいといった使い方をする。Driverは設定したマテリアルをGradationの入力に繋げるための仕組だ。Bumpなどと違ってDriverは単独ではマテリアルに何の影響も及ぼさないのが特徴だ。

実際にやってみた。

球を1つ作成まず球を1つ作ってそれにアイテムマスクを作っておく。

ノイズを追加次にノイズをひとつ追加する。パラメータは適当だが、同じにしたければ図の左下のパラメータを参考に設定すれば良いだろう。EffectがDiffuseColorでColor1とColor2にそれぞれ黒と白が設定されているのでこんな感じにレンダリングされる。

グラディエントを追加次にGradientを追加した。今のところGradientのEffectもNoiseと同じDiffuseColorなので、Gradientが上に来るとNoizeが隠れて図のようにNoizeの質感が消える。この辺は追加された位置で結果が変わるのでShaderTreeの順番には注意して欲しい。

グラディエントエディタ1GradientのTextureLayerパネルの下の方にあるGradientEditorボタンを押してGradientEditorを起動して、設定する。図のように1つ点を追加した。点の追加の方法は、追加したい位置でマウスの中ボタンをクリックする。点が出来たら1つを選択して、右のカラーピッカーから色を選択する。今回はそれぞれの点に赤と青を設定した。このグラフの横軸が入力パラメータの値である。

グラディエントを設定後GradientEditorで設定した結果がこれである。設定によって微妙に色は異なると思うが単色になっていると思う。これはGradientのInputParameterがまだBumpHeightになっているから、もともとBumpが設定されていないこの球はBumpの値が一定値になり、単色で表現されているわけだ。

Driverを設定いよいよ今回のテーマであるDriverを設定してみよう。設定個所は2つで、まずGradientのInputParameterをDriverAにする。次にNoiseのEffectをDriverAにする。これだけだ。ちなみにDriverはAからDまであるが設定が一致していればどれを使っても構わない。これでNoiseの濃淡が色になって現れた。これだけならNoise単独でも出来そうだが、Gradientを使えば3色以上の切り替えやグラデーションのコントロールが自在に出来るようになるのでやっぱり無くてはならないんだと思う。

NoiseがGradientの上にあると上手くいかないちなみにDriverAの発信源であるNoiseがGradientの上に来ると設定がループしてしまうからか、うまく作動しないので発信源はGradientの下に配置する必要がある。図はNoiseを上に持って行った例。

グラディエントとイメージマップを追加これだけじゃ面白くないのでレンガのイメージマップを追加して、さらにGradientをもうひとつ追加してみた。ShaderTree上の順番は図を参照。GradientのEffectをLayerMaskにすることで、イメージマップを部分的に透過して先に作ったノイズと合成するようにした。

グラディエントエディタ2GradientEditorの設定はこんな感じにしてみた。ノイズのちょうど真中あたりの明るさと一番明るいところの2箇所でイメージマップが現れて、他は下のノイズが出る設定だ。

グラディエントを設定後レンダリング結果はこんな感じ。混ざったものが出来た。

ノイズを変形してみたついでにNoise自体を横に伸ばしてみた。2つのGradationは両方ともNoiseのDriverAパラメータでコントロールされているので両方が同期して変化しているのが確認できる。

modoではShaderTreeから簡単にマテリアルのプリセットを保存読み込み適用が出来る。ただ、サムネイル無しはちょっと困りモノだ。やり方があるのかも知れないが今のところわからない。



take_z_ultima at 15:25 │Comments(0)TrackBack(0)CG  | modo

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Google 広告