お疲れさまです!ふかいまさやです!
僕は前回の自主制作をなんとか終えたものの、いまだその完成度にしこりが残ったまんま。

たとえモデリングがうまくいったとしても、マテリアル設定などのシェーディング段階であらぬ方向に、その軌道修正もにっちもさっちもいきません。
課題はモリモリですが、作品のクオリティ問題において今もっとも致命的なのは「シェーディングの知識不足」であるという仮説のもと、UdemyのBlenderシェーダー講座を受講。

また、うめちゃん寺に駆け込みました。
今回もたくさん学びがありましたが、そのなかでも僕が特にそうだったのか!と思ったミックスノードについて、書き残しておこうと思います。
(※Blenderバージョン 2.93を使っての内容となります)
ミックスノードとは
Mix (ミックス)ノードは、二つの入力画像それぞれに対応するピクセルに働き、画像をミックスします。シェーダーとテクスチャの環境では “MixRGB” と呼ばれます。
平たく言うと、ある割合で2つを混ぜる、ってことです。
後述しますがミックスノードにおけるブレンドの仕方にはいくつかの種類があり、上の画像は「ミックス」というブレンドモード、「2つの入力情報を加算して平均化する」という働きがあります。
真ん中あたりの青ゲージ”係数”は0~1の間で動かすことができ、「色1の入力情報に色2をどれだけ混合するか」を表します。
僕のアホ計算で考えるとブレンドモード「ミックス」で係数0.5のときは、
- 赤*(1-0.5) + 青*(0.5) = 紫
ですね。

係数0のときは、 赤*(1-0) + 青*(0) = 赤

係数1のときは、赤*(1-1) + 青*(1) = 青
ミックスノードのブレンドモードの種類
Blender 2.93時点で、ミックスノードのブレンドモード(ブレンドの仕方)はこれだけあります。
- ミックス
- 暗い方
- 乗算
- 焼き込みカラー
- 明るい方
- スクリーン
- 覆い焼きカラー
- 追加
- オーバーレイ
- ソフトライト
- リニアライト
- 差分
- 減算
- 除算
- 色相
- 彩度
- カラー
- 値
多すぎ。
とりあえずは「追加」「減算」「乗算」「除算」から理解を始めればいいらしいので、次にその4つの挙動をみていきます。
ブレンドモード:追加・減算・乗算・除算 それぞれの挙動
前提
ミックスするマテリアル
ここでは2つのマテリアルをミックスしていきます。
マテリアルはそれぞれこんな感じ。

色1:ノイズ(ノイズテクスチャ)

色2:分割(グラデーションテクスチャ)
ブレンドモード「ミックス」係数0.5だとこうなります。
白黒について
前提がもう一点ありました。
もうやめてくれ! でもこれ重要。
blenderでは、黒は0、白は1、グレースケールは0~1の範囲で表され、範囲外の値は近い方の最大(小)値になります。
なので、
- 黒(0) + 白(1) = 白(1)
- 灰(0.5) – 黒(0) = 灰(0.5)
- 白(1) * 黒(0) = 黒(0)
- 白(1) / 灰(0.5) = 白(1)
となります。アホ計算で表すと。
ブレンドモード「追加」の挙動
では、感情を殺して淡々とみていきましょう。
「追加」は色1と色2の足し算です。

「追加」係数0.5

「追加」係数0

「追加」係数1
ブレンドモード「減算」の挙動
「減算」は色1と色2の引き算です。

「減算」係数0.5

「減算」係数0

「減算」係数1
ブレンドモード「乗算」の挙動
「乗算」は色1と色2の掛け算です。

「乗算」係数0.5

「乗算」係数0

「乗算」係数1
ブレンドモード「除算」の挙動
「除算」は色1と色2の割り算です。

「除算」係数0.5

「除算」係数0

「除算」係数1
それぞれの係数0.5を見比べ
最後に「追加」「減算」「乗算」「除算」の係数0.5を比較しときます。

「追加」係数0.5

「減算」係数0.5

「乗算」係数0.5

「除算」係数0.5
同じマテリアルでも、ブレンドモード次第で見え方が違ってくるのでした。
おわりに
シェーディング勉強ちゅう#blender初心者 #Blenderプラネット https://t.co/rRLdAfJhgt pic.twitter.com/NgvsSLez8G
— ふかいまさや-CG勉強ブログ (@fukaimasaya_cg) October 4, 2022
ご覧いただきありがとうございました!
「除算」はハイコントラストとかに使えそう。
ではまた。