OctaneRender:Mix/Compositeノードを使用した複数テクスチャの組み合わせ
https://www.youtube.com/watch?v=wt-tHubdD4w
Octaneでは複数のテクスチャを組み合わせるのに、Mix (ミックス)ノードやComposite (合成)ノードといった機能が用意されていますが、今回はそれらノードによるテクスチャの組み合わせ方、またそれぞれの使用方法などについて解説します。
まずはMix (ミックス)テクスチャノードについて解説します。このMix (ミックス)ノードは非常に単純でして、二つのテクスチャを組み合わせることができます。例えばサンプルシーンにある球体にチェック模様のテクスチャを適用してみたいと思います。Modo標準のチェッカーテクスチャの場合、プロパティのところから組み合わせる色を指定することができます。Octaneにも同様のプロシージャルテクスチャCheckがありますので、まずそちらを適用してみましょう。New Texture (新規テクスチャ) > Checks (チェック) テクスチャを追加し、スケールの値を調整してみます。そうするとチェック模様がマッピングされたものの、その色というのを指定する場所はありません。Checks (チェック)テクスチャではあくまでテクスチャの文様だけを表現するものだからです。ここで色を表すColor (カラー)テクスチャが必要となります。
Diffuse (ディフューズ)チャンネルを選択した状態で、New Texture (新規テクスチャ) > RGB Color (RGB 色) を追加します。色を指定すること自体も、RGB Color (RGB 色)というテクスチャノードを使用することになります。このノードで色を赤に指定しておきます。もう一度、Diffuse (ディフューズ)チャンネルを選択し、RGB Color (RGB 色)を追加したら、今度は色を青に設定しておきます。この二つのカラーテクスチャノードを組み合わせたいわけですが、ここでMix (ミックス)ノードを使います。
New Texture (新規 Texture) > Mix (ミックス)をクリックし、Mix (ミックス)ノードを追加します。赤を表すカラーテクスチャをFirst Texture (1番目のテクスチャ)へ、青を表すテクスチャをSecond Texture (2番目のテクスチャ)へと接続したら、Output (出力)をDiffuse (ディフューズ)へと接続します。そうすると紫色になりました。これはMix (ミックス)テクスチャのAmount (量)の値がデフォルトで0.5に設定されているからです。このAmount (量)の値は接続された二つのテクスチャの混ざり度合いを示す値となっています。ですので、Amount (量)が0の場合はFirst Texture (1番目のテクスチャ)、つまり赤色のみになり、反対にAmount (量)の値が1の場合はSecond Texture (2番目のテクスチャ)、つまり青色のみとなります。
ここでChecks (チェック)ノードのOutput (出力)を、Mix (ミックス)テクスチャのAmount (量)へと接続します。そうすると、混ざり度合いがチェック模様によって定義されることになりましたので、赤と青のチェック模様が出現することになります。Amount (量)に指定できるテクスチャは、プロシージャルテクスチャに限りません。例えばNew Texture (新規テクスチャ) > Grayscale Image (グレースケール画像)を追加し、ファイル名称にロゴ画像を接続してみます。すると赤と青でロゴが表現されるようになりました。同様にFirst Texture (1番目のテクスチャ)やSecond Texture (2番目のテクスチャ)に指定できるのも、色を表すColor (色)テクスチャだけではありません。例えばSecond Texture (2番目のテクスチャ)を選択した状態で、New Texture (新規テクスチャ)> RGB Image (RGB 画像)を追加し、RGB画像を接続してみると、画像の上にロゴが表現できるようになります。
このようにMix (ミックス)テクスチャは二つのテクスチャを組み合わせる非常に単純なノードとなっていますが、これに対しComposite (合成)はさらに複雑な組み合わせが可能になっています。ではここからはComposite (合成)ノードを使ってテクスチャを組み合わせてみます。
サンプルとなるシーンには、あらかじめテクスチャが三つ用意されています。マテリアルのDiffuseノードへと接続すると、それぞれのテクスチャが確認できます。
では今回使用するComposite (合成)ノードを追加してみましょう。New Texture (新規テクスチャ) > Composite Texture (合成テクスチャ)を追加します。これがテクスチャを複数重ね合わせるノードとなります。このComposite (合成)ノードは基本的にPhotoshopのレイヤー構造と似ています。Photoshopのレイヤーを見てみると、レイヤーは下から上へと重ねられますが、このComposite (合成)ノードもLayer 1、Layer 2と下から上へと重ねるようになります。
Composite (合成)ノードの出力をDiffuse (ディフューズ)へと接続した状態で、先ほどDiffuse (ディフューズ)に接続したテクスチャをLayer (レイヤー) 1へと接続してみましょう。そうするとタイプが違うといったエラーが発生します。このComposite (合成)のLayerに接続するのはテクスチャではなく、テクスチャレイヤーというタイプになります。テクスチャレイヤーとは何かというと、Photoshopにおけるレイヤーと同じようなものです。レイヤーで中に含めている画像の不透明度やマスクを設定することができます。ではテクスチャレイヤーを追加してみます。Layer (レイヤー) 1を選択している状態で、New Texture Layer (新規テクスチャレイヤー) > Texture (テクスチャ) を追加します。このTexture Layer (テクスチャレイヤー)のInput (入力)にテクスチャの出力を接続します。これで接続したテクスチャがモデルに表示されるようになりました。
同様にLayer (レイヤー) 2に次のテクスチャを接続してみます。テクスチャレイヤーを追加し、そのテクスチャレイヤーを介して、Layer (レイヤー) 2へと接続します。この状態だとPhotoshopのレイヤーと同様、ただ単に上にあるLayer (レイヤー) 2が表に出ています。Photoshopのレイヤーでは不透明度の設定がありますが、このTexture Layer (テクスチャレイヤー)にもOpacity (不透明度)のパラメータがあります。Opacity (不透明度)の値を0.5に設定すると、下にあるLayer (レイヤー) 1の画像が重ねて見えるようになります。ブレンドモードなども用意されていますので、重ね合わせる方式も多数用意されています。
Photoshopではレイヤーマスクを使って、レイヤーの画像をくりぬくことができますが、OctaneでもTexture Layer (テクスチャレイヤー)のOpacity (不透明度)にマスクとなるテクスチャを接続することで、レイヤーマスクの役割を果たすことができます。RGB Image (RGB 画像)テクスチャノードを追加し、マスクとなる画像をファイル名称に指定し、その出力をOpacity (不透明度)へと接続することで、Photoshopのレイヤーマスクと同じような効果を得ることができます。
さらにもう一つ画像を重ねてみましょう。Composite Texture (合成テクスチャ)のレイヤーの数が足りなくなったら、Add Input (入力を追加)をクリックします。これにより、Layer (レイヤー)入力を増やすことができますので、追加されたLayer (レイヤー) 3を選択し、Texture Layer (テクスチャレイヤー)を追加し、テクスチャを接続します。Layer (レイヤー) 2と同様、マスクの画像を設定してみると、下にあるLayer (レイヤー) 2およびLayer (レイヤー) 1の画像がPhotoshopと同じように表示させることができます。
このようにテクスチャを組み合わせるにはMix (ミックス)およびComposite (合成)というテクスチャノードが用意されていますが、組み合わせた後にどのような画像が表示されてほしいのかを考えて、用途に合ったノードを使用するようにしてください。