【Blender4.5】Mixノードの使い方:カラー合成のポイント

blender
記事内に広告が含まれています。

Blenderでマテリアルを作っていると、「テクスチャ同士をどう重ねればいいのか?」で手が止まることが多いと思います。
特に Mixノード は万能なので、加算、乗算、スクリーン…とモードが増えるほど逆に「どれを使えば正解?」と迷いやすいノードです。

この記事では、

  • マテリアルシェーダーでパターンや模様を作るとき
  • コンポジットでエフェクトをかけるとき

どう合成すれば思い通りの模様・効果ができるかという視点でMixノードを整理します。
果物の表面の傷や模様、暗部の追加、質感の補強など、具体的にどう応用すればリアルなマテリアルになるのかや、レンダー画像にどのようなモードで合成すると効果的なエフェクトをかけることができるかを、例を交えながら紹介します。

また、具体的にりんごのマテリアルを合成を組み合わせて作ってみようと思います。良かったら参考にしてみてください。

この記事は、BlenderのMixノードの効果的な使用法、合成方法を解説している初級~中級者向けの記事です。

難易度 3.0

スポンサーリンク

Mixノードの基本

Mixノードは、Factor(係数)で補間量を制御しながら、値・色・ベクトルの入力を混ぜるノードです。

Mixノードには3つのモードがあります。

  • Float
  • Vector
  • Color

①Float

単一の値を合成するシンプルなノードです。

Result = A * (1 - Factor) + B * Factor

②Vector

  • 目的:主に 3つの値(X, Y, Z)を持つベクトル を合成するためのノードです。
  • Factorでの合成
    • Uniform:Factorが単一の値(Float)で、ベクトル全体に同じ比率で合成されます。
    • Non-Uniform:Factorがベクトルとして入力でき、X/Y/Z軸ごとに異なる比率で合成できます。
  • 合成式(基本的にカラー/Floatと同じ):
Result = A * (1 - Factor) + B * Factor

③Color

カラー(Color)モードは3チャンネル(R,G,B)の色の合成用に使われますが、内部の計算としてはベクトル(X,Y,Z)でも入ります。

カラーモードを使う最大のメリットとして複数のブレンドモード(合成方法)があり、様々な計算方法で合成ができるので便利ということです。

ブレンドモード一覧(Color用)
  • Add(加算)
  • Subtract(減算)
  • Multiply(乗算)
  • Screen(スクリーン)
  • Divide(除算)
  • Difference(差分)
  • Darken(暗い方)
  • Lighten(明るい方)
  • Overlay(オーバーレイ)
  • Color Dodge(覆い焼きカラー)
  • Color Burn(焼き込みカラー)
  • Hue(色相)
  • Saturation(彩度)
  • Value(値)
  • Color(カラー)
  • Soft Light(ソフトライト)
  • Linear Light(リニアライト)

Mixノードは大きく分けると 2種類の使い方 があります。カラー合成値合成かで、模様を作ったりマテリアルで見た目を調整するときはカラー合成(Colorモード)がよく使われ、値・ベクトルの計算では値合成(Float, Vectorモード)がよく使われます。が、Mixのカラー合成でベクトル計算をするときもあったりと、カラー合成は使用範囲が広く便利です。なので今回は主にColorモードでの計算方法や合成方法の効果的な使い方を解説していきます。

スポンサーリンク

よく使うモードと向いている状況

※計算式については一般的に使われているもの(photoshopなどの合成計算)を参考にしています。Blenderでの正確な計算式を参照しているわけではありませんが、あまり矛盾のないものを選んでいるつもりです。一般的な計算式はこんな感じと思ってみて頂けるといいかなと思います。

Mix(通常混合)

範囲を決めて模様や柄を合成。

  • マスクによる切り替え
  • 境界をぼかして滑らかに移行
  • テクスチャA⇄Bを連続的に変えたいとき

用途

Factorに白(1)~黒(0)の値を入れると、黒い範囲にはAが出力、白い範囲にはBが出力される。(白→B、黒→A)

色があっても簡単に範囲を決めて合成できるので柄やパターンの合成によく使われます。

グラデーションなどで範囲を決めてマスクのようにも使われることがあります。

Result = A * (1 - Factor) + B * Factor

Darken(暗い方)

ピクセルの暗い方が残る

Darken(暗い方) モードは、ピクセルごとに「AとBのうち明度が低い(暗い)方の値を採用する」 という単純なブレンドです。

用途

  • 黒を含む細かいディテールを自然に合成したいとき
    • たとえば 傷、汚れ、ひび割れ、布のしわなどを重ねる場合
  • 絵画的なレイヤー表現に使う
    • スケッチ風、汚れのマットのようなものを重ねる
  • アニメ表現などの影
    • 影の方を暗くして影色として使う

計算式

Result = min(A, B)

とにかく値の小さい方の色がそのまま出力されます。

Factor = 1

Multiply(乗算)

暗い部分を足したいときの最有力。

  • テクスチャが明るすぎる時に引き締める
  • 既存の模様に「黒い模様」や「汚れ」を追加する
  • 中間トーンを暗くする

用途

果物の例でいうと、
「りんごの斑点」「バナナの黒ずみ」
など、暗部ベースの模様が欲しいときはMultiplyが自然に馴染む。

白い部分は変化せず黒い部分だけが残るような使い方ができる。

計算式

Point:
Factor を使った場合、線形補間(Lerp)と掛け算を組み合わせて計算されます:

Factor = 1 のとき→ Result = A * B
Factor = 0 のとき→ Result = A

暗い色が乗るようなイメージです。

Factor = 1

Result = A * (1 - Factor) + (A * B) * Factor

応用

少し色をつけると、濃い色の場合はオーバーレイのように色が付きます。

これを利用してシミとか斑点にちょっとにじんだ色を付けることができます。

スポンサーリンク

Color Burn(焼き込みカラー)

暗部を強調しつつ、独特の濃い色調を生み出す

  • 強いコントラスト … 特に暗部がより深く、重いトーンになる
  • 彩度が上がりがち … 特に明るい色と混ざると彩度が強調される
  • 褪せたヴィンテージ感やダメージ表現などに最適

用途

焼けた質感や経年の風合いをつける

  • 金属、紙、木材などの下地に、錆、焦げ、染料、シミなどを重ねるときに有効
  • Multiplyだと平坦すぎるが、Color Burnは色の深みが出る
tenpkukan文字のふちは少しグラデーションがかかってます

計算式

  • Bが暗い(小さい)と、Resultが強く暗くなる
  • Aが明るいほど、焼き込み具合が変わる(明部と暗部が強調される)
  • 通常のMultiply(乗算)よりもコントラストが上がり、色味にも影響が出る

Factor = 1 のときの計算式の一例(一般的な Color Burn の式)

if B == 0:  Result = 0
else:       Result = 1 - (1 - A) / B
なぜ彩度が上がるように見えるのか

Color BurnはR,G,Bそれぞれのチャンネルに対して個別に焼き込み処理を行います。

  • 色相や明度が違う色同士を混ぜたときに、強く明度が落ちるチャンネルとそうでないチャンネルの差が拡大する
  • 結果として、彩度が(見た目として)飛び出すケースが多い

Lighten(明るい方)

ピクセルごとに比較して、明るい(数値の大きい)方を出力します。

用途

  • 白を含む細かいディテールを自然に合成したいとき
    • たとえば 傷、ひび割れ、果物の種
  • 絵画的なレイヤー表現に使う
    • スケッチ風、ハッチングのようなものを重ねる
  • アニメ表現などの光
    • 光の色として使う

白黒模様で白い部分だけを合成したいときに便利です。

計算式

result = max(A, B)

とにかく値が大きい方がそのまま出力されます。

Screen(スクリーン)

明るい部分を足したい時に便利な逆Multiply。

用途

  • ハイライト系の模様を足す
  • 石の白い粉っぽい模様(カビっぽさ含む)
  • 光の表現・エフェクト
  • 中間トーンを明るくする

Screenは白が強く出るので、
「明るい模様を追加したい」
場合に向いています。

計算式

  • A : 下地の色(背景)
  • B : 重ねる色(前景)
  • 各成分 R, G, B を個別に計算します。

これは「色を反転(1−色)させてから乗算し、さらに反転する」ことで明るく合成されます。
なので、濃い色同士でも明るい結果になるのが特徴です。

result = 1 - (1 - A) * (1 - B)

特徴

  • 足し算よりも自然に明るくなる
     単純な加算の場合は色が簡単に白飛びするが、screenは明るくなりつつもコントラストが保たれる。
  • 黒(0)との合成は変化しない
     result = 1 - (1 - A) * 1 = A → 真っ黒な画像に重ねても変わらない。
  • 白(1)との合成は真っ白になる
     result = 1 - (1 - A) * 0 = 1 → 白は完全に明るさを押し上げる。

※同じ画像同士で合成すると白同士では黒くなります

Color Dodge(覆い焼きカラー)

主に「強い光」や「ハイライト」を表現するために使われ、特に明るい部分を強調しながら鮮やかにする

用途

  • 発光や反射の強調
  • 金属やガラスのギラつき再現
  • アニメ・イラスト調でオーラや魔法の光の表現

計算式

result = A / (1 - B)
  1. 明るい色(白に近い色)を重ねると非常に強く明るくなる
  2. 色が濃い(暗い)部分にはほとんど影響を与えない(背景黒だと変化しない)
  3. 結果がギラつくような強いハイライト表現になる
  • 白(1.0)を重ねると式が分母0になり、無限大になるので白飛び
  • 非常にコントラストが強いため、適量が大事
スポンサーリンク

Add(加算)

色同士を単純に足し合わせる

用途

  1. 明るさが増す(一気に明るくなる)
  2. 特に光源やハイライトの合成に最適
  3. 「Screen」よりももっと単純な明るさの足し算

コンポジットのGlareノードはAddで光の表現を合成しています。

計算式

result = A + B
  • 発光の合成
  • 単純に値を足し算したいとき

表現したい色が単純に明るくなるだけで見た目が破綻しやすい

Overlay(オーバーレイ)

コントラストを付けつつ模様をブレンドしたいとき。

乗算(暗部強化)+スクリーン(明部強化)が合体したような動作。

用途

  • レンガや果物の模様の“コントラスト強化”
  • 人物肌のベースカラーと色ムラの馴染ませ
  • 単調な画像にメリハリをつけたいときに便利

計算式

  • 明るい部分に対しては Screen(スクリーン)と似た処理
  • 暗い部分に対しては Multiply(乗算)と似た処理

→ つまり、暗いところはより暗く、明るいところはより明るくなる。
中間値(0.5付近)を中心にコントラストが引き立つ「メリハリ」合成モードです。

Overlayは強すぎるので、Factorで調整して使うのが基本。

if A < 0.5:
    result = 2 * A * B           # Multiplyとほぼ同じ
else:
    result = 1 - 2*(1-A)*(1-B)   # Screenとほぼ同じ

※同じ画像同士で合成すると白同士では黒くなります

Soft Light(ソフトライト)

微妙なコントラストや光の変化を加えながら、柔らかく色を調整

Overlayが強調表現(はっきり・コントラストアップ)だとすると、Soft Lightはその「優しい版」です。
ニュアンス重視の質感調整に適したモードです。

用途

  • 明暗を自然に強調しながら、画面を柔らかく見せる
  • 肌のレンダリングや自然光の雰囲気作りに向いている
  • Overlayのように強烈に色が飛ばず、結果が穏やか

計算式

Aが暗ければ画像を少し暗くし、Aが明るければほんの少し明るくします。

中間部分の変動はとてもなめらかです。

OpenImageIO標準のSoft Light

if (A <= 0.5):
    result = A + (2*B - 1) * A * (1 - A)
else:
    result = A + (2*B - 1) * (sqrt(A) - A)

※同じ画像同士で合成すると白同士では黒くなります

Linear Light(リニアライト)

暗い箇所は焼き込みカラーのように暗く、明るい箇所は覆い焼きカラーのように明るくなります。

用途

  • カラーテクスチャからハイライト/筆致を強調
  • セルルックや手描き風の光・陰影強化
  • 明暗のレタッチ

計算式

result = A + 2B - 1

A に B の明暗差をダイナミックに押し付けるような効果です。Bの影響力が強いので、Bでコントラストをつけるようにすると光のような効果がでます。

Difference(差の絶対値)

ピクセルごとの差分の絶対値を取る

用途

  • 差分検出
  • ネガポジ反転(簡易)
    • B を白で塗ると、A の反転色が得られる。
  • エッジや線画抽出の一部として
    • 微妙にずらしたもの同士で Difference をとると、差分=輪郭になる

計算式

result = |A - B|

同じ色同士なら差がないので黒になる。

スポンサーリンク

Exclusion(除外)

Difference(差の絶対値)に似ているけれど、やや穏やかで、中間調で違った雰囲気

用途

  • Difference と同様に「差分」を基にしているブレンドモード
  • ただし、Differenceほどコントラストが強くない
  • 混ぜた色同士が中間灰色に向かいやすい(=「排除」ではなく「仲良く中間点」みたいな効果)

計算式

result = A + B - 2AB

黒や白(0 or 1)は Difference と同じ挙動

だけど、中間の値になるほど、Difference より「柔らかく」なる

Subtract(減算)

ピクセルごとに引き算

用途

  • 明度を下げる
  • 単純に減算したいとき
  • 模様を白くして引くことで溝を作る

計算式

result = A - B
  • 0~1の範囲にクランプ
  • Bが黒の場合変化なし

Divide(除算)

割り算

用途

  • 正規化(Normalization)
    • ある値を基準値で割って “相対値” を求めるとき
  • ライトの補正 / 露光の逆補正
    • Divide は「明るさを減らす」動きが直感的に作れます。
  • エッジ抽出の一種(比率による差分)
    • Add / Subtract は「差分そのもの」ですが、
    • Divide は「比率による差分」なので微妙な違いが残りやすく、境界抽出的な使い道があります。
  • 色の補正(ホワイトバランス)
    • 色かぶりを取りたいとき

計算式

result = A / B
  • B が 0 のときはそのまま
  • 1以上になることが多いのでClump Resultのオン/オフで画像が変わります

Hue(色相)

彩度・明度は保持しつつ、合成相手の色相を適用する

用途

  • テクスチャの明暗を保持したまま色味だけを変えたい場合
  • カラーバリエーション生成

計算式

result = HSV_to_RGB(H = H(B), S = S(A), V = V(A))
  • A の彩度・明度は保持しつつ、B の色相を適用
  • A の彩度が低い(ほぼグレー)場合:Hueを変えてもほとんど変化しません(彩度がないと色相は見えないため)
スポンサーリンク

Saturation(彩度)

色相・明度はそのままに、合成相手の彩度を適用

用途

彩度だけを調整したいとき

  • 元画像の色味や明暗を保ったまま、鮮やかさだけ変えたい場合
  • 例:
    • 写真やテクスチャの鮮やかさを上げる/下げる
    • ペイントしたテクスチャの彩度だけ別パターンに置き換える

計算式

result = HSV_to_RGB(H = H(A), S = S(B), V = V(A))

A の色相・明度はそのままに、B の彩度を適用

Color(カラー)

明度(Value)だけを保持し、合成相手の色相(Hue)と彩度(Saturation)を適用

用途

  • 明度は保持したまま色だけ変えたいとき
  • 色の置き換え
    • Hueとは違い、ある色のフィルターをかぶせたような効果になる
  • カラーバリエーション生成

計算式

result = HSV_to_RGB(H = H(B), S = S(B), V = V(A))

A と B の 色相(Hue)と彩度(Saturation)の両方を B に置き換え、A の明度(Value)だけを保持 する

Value(明度)

色相(Hue)と彩度(Saturation)を保持し、合成相手の明度を適用

用途

  • テクスチャの明暗だけを差し替えたいとき
  • 二つの画像の明度構造を合成するとき

計算式

result = HSV_to_RGB(H = H(A), S = S(A), V = V(B))

A の色相(Hue)と彩度(Saturation)はそのままに、B の明度を適用します。

スポンサーリンク

果物表面の例:模様と傷の重ね方

果物の表皮は、実際には 複数のレイヤーの模様が合わさってできています。

例:りんご

  • ベースの赤
  • 微妙な色ムラ
  • 赤い筋
  • 白っぽい点々(果点)

これらをMixノードで合成しながら作っていきたいと思います。

これは実写画像です。

①、②ベースの色と色ムラ → Mix(通常合成)

まず赤、うすい赤、黄色、などの色ムラの模様を入れていきます。

色ムラ模様の範囲をノイズで作ります。それをFactorにして、Aの赤ベースにBの黄色をミックスします。

これで色ムラのあるりんごのベース色ができました。

③赤い筋 → Multiply(乗算)

りんごの表面に見える赤い筋のような模様を入れます。

明るい赤に少し暗い赤の筋模様を足すと、自然に沈んで一体化します。Factorを変更して濃さを調整することもできます。

④白っぽい点々(果点) → Screen(明部追加)

りんごの表面には気孔などの痕の果点という白い点々があります。

これは比較的明るい点なので、Screenで乗せると違和感なく馴染みます。

出来上がり

レンダリングしてみたリンゴがこちらです。

こんな感じでどんどん合成で模様や特徴を付け足していくことでどんどんリアルな表現に近づいていくと思います。

スポンサーリンク

まとめ:「合成のクセ」を理解するとマテリアルは一気に作りやすくなる

Mixノードは感覚でやってもある程度は形になりますが、ある程度目安が合った方が時短にもなります。
まとめ:合成モードの使いどころ

  • 暗いものを足したい(自然物・複雑な模様) → Multiply
  • 暗いものを足したい(単色・アニメ調) → Darken
  • 明るいものを足したい(自然物・複雑な模様) → Screen
  • 明るいものを足したい(単色・アニメ調) → Lighten
  • 光の表現(自然・ソフト) → Add or Screen or Soft Light
  • 光の表現(ぎらつき・アニメ調) → Color Dodge or Linear Light
  • コントラストが欲しい → Overlay
  • 範囲を決めてブレンド → Mix(通常)

思いつくものを挙げてみましたが、工夫によって思いもかけない合成方法を使っている人もいるんじゃないかと思います。自分で実験してみていい感じの合成方法を持っておくといいかもしれません。

コメント