GPUベースのバイアスレンダラーであるRedshiftでマテリアルを作成する際はRedshift Shader Graphというツールを使い、ノードベースで作っていきます。
このRedshift Shader GraphはCinema 4Dのマテリアルエディタと違って、数多くのノードを組み合わせたり、パラメータを調整することで複雑なマテリアルを作成することが可能ですが、始めて利用する方にとってはどのように操作すれば良いのか迷ってしまいますよね。
一見難しそうに見えるRedshift Shader Graphですが、こちらの記事で紹介している基本操作さえ覚えれば、問題なく利用できるようになります。
今回の記事は前回の記事の応用編として、Poly Havenで入手したイメージテクスチャ(PBRテクスチャ)を適用する方法を詳しく紹介したいと思います!
テクスチャの入手
Cinema 4DのマテリアルやCorona Rendererでのマテリアル適用の記事で使用した、Poly HavenのBrick Wall 001のテクスチャを今回のチュートリアルでも使っていきます。
4Kなどの解像度を設定の上、「Download」の項目からテクスチャのファイルを入手します。
RS Materialの作成とテクスチャのインポート
Cinema 4Dのマテリアルマネージャから「作成」、「Redshift」の「Material」を選択して、RS Materialを作成します。
RS MaterialをダブルクリックしてRedshift Shader Graphを表示させたら、先ほど入手したテクスチャをシェーダーグラフの中にドラッグ・アンド・ドロップします。
今回使用するマップはao、diffuse、displacement、normals、roughの全てになりますが、Normals(法線)とAO(アンビエントオクルージョン)マップを使用する場合は少し追加のノードが必要なので、今はNormalsとAOを除いた4つのマップを使いましょう。
追加されたテクスチャはノードが重なられた状態になっていると思うので、左側に移しわかりやすく整理すると良いでしょう。
Diffuse(カラー)
マテリアルのベースとなるカラー(Diffuse)マップをRS Materialに接続します。
Diffuseのノードにある「Out Color」のポートをクリックして、RS Materialの左上にある青いエリアにドラッグします。
オプションが表示されるので「Base Properties/Diffuse」の項目から「Diffuse Color」を選択し、ポートを接続します。
Roughness(ラフネス)
ラフネスマップノードの「Out Color」をRS Materialの青色エリアへとドラッグし、「Base Properties/Reflection」、の「Refl Roughness」を選択して接続します。
Displacement(ディスプレイスメント)
ディスプレイスメントマップはRS MaterialではなくOutputノードに接続する必要があります。
左側のノード一覧から「Displacement」と検索し、RS Displacementノードをシェーダーグラフの中に追加します。
ディスプレイスメントマップのノードにあるOut ColorをRS Displacementノードの青いエリアにドラッグし、「Texture」の「Tex Map」を選択します。
RS DisplacementノードのOutを「Output」ノードの青いエリアにドラッグして「Displacement」のポートへと接続します。
なお、ディスプレイスメントを使用するにはさらにRedshift Objectタグをオブジェクトに追加する必要があります。
RS Materialを適用させるオブジェクトを右クリックして、「Redshiftタグ」の中にある「Redshift Object」を選択します。
Redshiftタグをクリックして、属性マネージャ内にある「Geometry」を開いて、「Override」、「Tessellation:Enable」と「Displacement:Enable」の項目にチェックします。
ディスプレイスメントの高さは「Maximum Displacement(ディスプレイスメントの最大値)」、「Displacement Scale(ディスプレイスメントの高さ)」を設定することで凹凸を作ることが出来ます。
設定の例ですが、Maximumを「10」にしてDisplacement Scaleを「8」にするなど、Displacement ScaleはMaximumの数値と同じか、それ以下にする必要があります。
Normal(法線)
ノーマルマップを追加するには左側の検索画面から「Normal」と検索し、「RS Normal Map」ノードを追加します。
RS Normal Mapを選択して右側のエディタが表示されたら、「General」の中にある「Texture」の項目にノーマルマップのテクスチャをドラッグ・アンド・ドロップして追加します。
RS Normal Mapの「Out Displacement Vector」をRS Materialの「Overall」、「Bump Input」へと接続します。
Bump(バンプ)
バンプマップがある場合は左側のノード一覧から「Bump」と検索してRS Bumpマップを追加します。
今回のテクスチャにはバンプマップが無いので、ラフネスのマップを代用してみましょう。RoughnessノードのOut ColorをRS Bumpの青いエリアにドラッグし、「Texture」の「Input」を選択します。
RS BumpをRS Materialノードに接続します。先程のノーマルマップと同じように「Overall」の項目にある「Bump Input」を選択してノードを完成させます。
AO(アンビエントオクルージョン)
アンビエントオクルージョンはAOマップとRS AOシェーダーを追加する2つの方法があります。
AOマップを使用する
AOマップを使用する場合はノード一覧の検索画面から「Color Layer」と検索し、RS Color Layerノードを追加します。
DiffuseのテクスチャノードのOut colorをRS Color Layerの「Base Color」のポートへと接続します。
AOテクスチャをシェーダーグラフに読み込み、Out ColorをRS Color Layerの「Layer 1 Color」へと接続します。
RS Color Layerノードを選択し、「Layer 1」の「Blend Mode」を「Multiply」にしたら、RS Color Layerの「Out Color」をRS Materialの「Diffuse Color」へと接続します。
AOシェーダーを使用する
AOのテクスチャは読み込まずAOシェーダーを使用する場合は左側のノード一覧から「AO」と検索し、「RS AO」をシェーダーグラフに追加します。
RS AOの「Out」をRS Materialの青いエリアにドラッグし、「Overall」の「Overall Color」に接続します。
RS AOノードを選択して「Samples」や「Spread」、「Falloff」、「Max Distance」の項目を変更して理想の影を作成します。
プレビューサイズの変更
テクスチャを追加する際、プレビューサイズの初期値は「Default」となっており、解像度が荒いです。
解像度の変更を行う場合はマテリアルマネージャでRSマテリアルをクリックし、属性マネージャの「Editor」の中にある「Texture Preview Size」を変更すると良いでしょう。
レンダリング
今回のシェーダーを立方体に適用してレンダリングしてみた結果がこちらです。照明はHDRIのみ設定しています。
ディスプレイスメントを追加することでよりリアルな感じになりますが、ディスプレイスメントの値を大きくしてしまうとレンダリングに多くの時間をかけてしまうので注意しましょう。
今回はRedshiftにおけるイメージテクスチャの適用方法について紹介しました。be CG Artist!では同じテクスチャを使ってCinema 4Dのフィジカルレンダラー、Corona Rendererを使った方法も紹介しているので、操作やレンダリングの出力を比較してみてベストなレンダラーを見つけてみてください!
関連記事:
(MIKIO)