gShaders チュートリアル
このチュートリアルではgShadersにおけるマテリアルの作成からレンダリングまでのひと通りの説明を行います。
チュートリアルを始める前に、レンダリングに使用するHDRイメージを用意しておいて下さい。
- マテリアルを作成する
-
まず最初にgShaderマテリアルを作成してみましょう。
gShadersにはgMaterial、gLens、gEnvironmentと言う3つのコンポーネントからなっています。
このうちシェーディングをコントロールするものはgMaterialになります。
gMaterialを作成するにはHyperShadeのCreateタブからMentalrayのMaterialを選択し、その右のリストからgMaterialをクリックします。

作成されたgMaterial

- マテリアルをアサインする
-
次にポリゴンのsphereを作成し、そのsphereに先ほど作ったgMaterialをアサインします。
- 環境ノードを作成する
-
gMaterial以外の二つのgLens・gEnvironmentノードはそれぞれクオリティのコントロールと、環境を制御するノードです。
gShadersでは、これらノードをシーンに必ず一つづつ作成し、レンダリングするカメラに接続して使用します。
これらノードを作成するにはHyperShadeから作成する方法もありますが、それ以外にそれらノードの作成やカメラへのコネクトを容易にしたり、
gShaders用のレンダリング設定の最適化を瞬時に簡単に行うためのツール「gShaders Globals」が用意されています。
今回はこの「gShaders Globals」を使用してgLens・gEnvironmentの作成及び設定やレンダリング設定の最適化を行います。
「gShaders Globals」はMayaのメインメニューのgShadersの中にあります。

「gShaders Globals」を選択すると、専用のウィンドウが開きます。

まずはgEnvironmentの作成と設定をします。「G-Environment & Lens Settings」セクションを展開し、「Create gEnvironment」をクリックします。

リストにgEnvironment1が追加され、同時にmentalrayIblShapeが作成されます。こnIBL球自体はなんの効果ももたないビューポートのプレビュー用球です。
このIBLのImageNameとrotateの情報が先ほど作成されたgEnvironmentに接続されており、こちらのmentalrayIblShapeの前述した二つのアトリビュートを設定することにより、
gEnvironmentに反映されます。
mentalrayIblShapeのImageNameにお手持ちのHDRイメージを指定します。次にこのままではIBL球が小さすぎるのでスケールで大きくします。
レンダリング時にはこれが環境光及び映り込み用のイメージとして機能します。

- レンズノードを作成する
-
続いてレンダリング時にカメラからのレイのコントロールを行うgLensノードを作成及びパラメータの設定を行います。
@Create gLensボタンをクリックするとA下のリストにgLensが追加されます。

- gLens及びgEnvironmentをカメラに接続する。
-
gLens及びgEnvironmentはカメラに接続する事によって機能するようになります。これらのノードをカメラに接続するには以下の手順に従います。
1)Environment & Lens Relation Editorの左側のリストからgLens(及びgEnvironment)を選択します。
2)次に右側のリストからレンダリングに使用するカメラを選択します。複数ある場合はCtrlボタンを押しながら選択して下さい。
今回はperspカメラを使用します。

- レンダリングの設定を最適化する
-
gShaderをレンダリングするには、レンダラをMentalrayに設定し、各種パラメータも調整する必要があります。
gShaders Globalsを使用し、これらの設定を行います。
gShaders Globalsの一番上のボタン3つを上から順にクリックします。

これで設定が完了しました。特に一番上のボタン「Set Optimized Render Settings」はレンダラ変更やRaytraceの設定など、
非常に重要なパラメータを操作するボタンです。レンダリング前には必ずクリックしておいて下さい。
- レンダリングする
-
それではレンダリングを実行します。
ポリゴン球をperspカメラの中心に配置し、レンダリングボタンをクリックします。

レンダリングする事ができました。
これから、このポリゴン球のパラメータを設定していきます。
- レンダリング品質の設定を行う
-
ポリゴン球の質感を詰める前に、Raytraceの設定やAntialiacingの設定を行います。
今回はgShaders Globalsのプリセットを使用します。
「Render Settings for G-Shader」セクションを展開し、Presetsボタンを左クリックします。

するとクオリティプリセット一覧メニューが現れるので、Medium Qualityを選択します。
- 球の質感を調整する
-
今回は少しぼやけた白銀球のような質感にします。まずはこのままだとリフレクションが弱いのでリフレクションを強くします。
RGBをすべて0.9にします。

続いて気持ち白さを上げるために、DiffuseのRGBをすべて0.5に設定してみましょう。

変化がほとんど見られません。これはgMaterialのshaderTypeがMixTypeであり、リフレクションを上げることによって、
相対的にdiffuseが下げられるためです。
この挙動の違いは質感を調整する上で非常に重要です。Maya標準シェーダ等とは異なるため注意をして下さい。
続いてリフレクションをぼかします。ディフォルトでも少々ぼけていますが、さらにぼかします。
Glossyを0.6に設定します。

リフレクションのぼけが非常に大きくなりました。
- ノイズを調整する
-
現状ポリゴン球には大量のノイズがのっているため、なにが映り込んでいるのかがわかりません。
このノイズを軽減するにはgLensノードを使用します。
gShaders GlobalsのG-Environment & Lens Relation Editorの左のリストから、gLens1をダブルクリックします。
するとgLens1のアトリビュートエディタが開きます。

samplingLevelを4に設定します。
ノイズ量はこのsamplingLevelを上げることによって軽減されます。基本手にgShadersのクオリティのコントロールはこのパラメータのみです。
再度レンダリングを実行します。

ノイズが大幅に軽減されました。
- 最終レンダリングをする
-
最後にレンダリングの品質を再度調整し、最終レンダリングを行います。
gShaders Globalsウィンドウの「Render Settings for G-Shader」セクションを展開し、
Presetsボタンを左クリックします。

クオリティプリセット一覧から、Production Qualityを選択します。
Sampleが1から2へと変更され、Raytraceのパラメータもそれぞれ2倍の数値が入りました。
このSampleとsamplingLevelによって最終的なノイズ量が決定されます。
それでは最後にもう一度レンダリングを実行します。

- 最後に
-
以上でgShadersのレンダリングまでの工程の説明は終了です。
さらなる詳細なパラメータの設定についてはマニュアルをご覧く下さい。
また、質感やテクスチャの使用方法についてはTopページにリンクされているサンプルファイルを参考にして下さい。
Main Pageに戻る