The WONDER ROAD

     

Uターンの失敗からリスタートするブログ

2021年10月

今回はカラーノードの中のRGBミックスノードについてです。

Blender_RGB_Mix_node


Contents

  1. RGBミックスノードの効果
  2. RGBミックスノードの入力ソケット
  3. プロパティを変更してみる
  4. RGBミックスノードの出力ソケット

1. RGBミックスノードの効果

ミックスノードは入力された2つの画像や色を混ぜ合わせます。

Blender_Mix_Node

ためしに次のような画像を混ぜ合わせて、オブジェクト表面に貼り付けてみます。

Blender_Mix_Image_1
画像1
Blender_Mix_Image_2
画像2
Blender_Mix_Image_1+2
画像1+2

2. RGBミックスノードの入力ソケット

RGBミックスノードの入力ソケットは以下の3種類です。

    係数    

ミックスノードが仕上がりの画像にどの程度の効果を与えるかをコントロールします。
係数0のときは「色1」に指定した画像のままとなり、係数1のときは「色2」に指定した画像となります。係数0.5のときは「色1」と「色2」の画像が同じ程度となるように混ぜ合わさった画像となります。

Blender_Mix_Factor_0
係数0
Blender_Mix_Factor_1.0
係数1
Blender_Mix_Image_1+2
係数0.5

    色1    

背景となる色や画像を指定します。仕上がりの画像のサイズや解像度はこちらの画像と同じになります。

    色2    

前景画像となります。

3. プロパティを変更してみる


   ブレンドモード    

画像を混ぜ合わせる手法として、平均的に混ぜ合わせる「ミックス(Mix)」以外に下記の17種類のブレンドモードが用意されています。
  • 値(明度) (Value)
  • カラー  (Color)
  • 彩度 (Saturation)
  • 色相 (Hue)
  • 除算 (Divide)
  • 減算 (Subtract)
  • 差分 (Difference)
  • リニアライト (Linear Light)
  • ソフトライト (Soft Light)
  • オーバーレイ (Overlay)
  • 追加 (Add)
  • 覆い焼きカラー (Color Dodge)
  • スクリーン (Screen)
  • 明るい方 (Lighten)
  • 焼きこみカラー (Color Burn)
  • 乗算 (Multiply)
  • 暗い方 (Darken)

    範囲制限    

これにチェックを入れると出力値を0~1.0に制限するのですが、違いはあまりよくわかりませんでした。

4. RGBミックスノードの出力ソケット

RGBミックスノードの出力ソケットは「カラー」だけになります。







いろいろ用意されているテクスチャノードから、今回は波テクスチャノードについて詳しく見ていきます。

Blender_Wave_Texture_Node


Contents

  1. 波テクスチャノードの効果
  2. 波テクスチャノードの入力ソケット
  3. プロパティを変更してみる
  4. 波テクスチャノードの出力ソケット

1. 波テクスチャノードの効果

波テクスチャノードは自動的に帯状やリング状の模様を生成します。

2021-10-09_14h41_31

2. 波テクスチャノードの入力ソケット

波テクスチャノードの入力ソケットはつぎの7項目になります。

    ベクトル    

テクスチャを読み込む際に向きを決めるテクスチャ座標のことです。何も接続されていない場合は既定のテクスチャ座標がつくられます。

    スケール    

テクスチャのスケールを指定します。未接続の場合は表示の数値で指定します。

Blender_Wave_Texture_Scale_0.5
スケール 0.5
Blender_Wave_Texture_Scale_1
スケール 1
Blender_Wave_Texture_Scale_5
スケール 5

    歪み    

波の歪みの量を調整します。未接続の場合は表示の数値で指定します。0は歪みなし、値が大きくなると歪みが大きくなります。

Blender_Wave_Texture_Distortion_0
歪み 0
Blender_Wave_Texture_Distortion_1
歪み 1
Blender_Wave_Texture_Distortion_10
歪み 10

    細かさ    

歪みノイズの細かさを指定します。未接続の場合は表示の数値で指定します。0はノイズなしとなり、数値が大きくなるとノイズが大きくなります。
ここで歪み「10」の「細かさ」変化させたときの例を見てみます。

Blender_Wave_Texture_Detail_0
細かさ 0
Blender_Wave_Texture_Detail_1
細かさ 1
Blender_Wave_Texture_Detail_10
細かさ 10

    細部のスケール    

歪みノイズのスケールを指定します。未接続の場合は表示の数値で指定します。0に設定すると「歪み」を設定していても効果がなくなります。数値を大きくするとノイズの影響が大きくなるようなイメージです。

Blender_Wave_Texture_Detail_Scale_0
細部のスケール 0
Blender_Wave_Texture_Detail_Scale_1
細部のスケール 1
Blender_Wave_Texture_Detail_Scale_5
細部のスケール 5

    細部の粗さ    

スムーズなノイズとよりシャープなピークをもった粗いノイズとのあいだで調整されます。

Blender_Wave_Texture_Roughness_0
細部の粗さ 0
Blender_Wave_Texture_Roughness_0.5
細部の粗さ 0.5
Blender_Wave_Texture_Roughness_1
細部の粗さ 1

    位相オフセット    

帯状の波の位置を決めます。

Blender_Wave_Texture_Phase_Offset

3. プロパティを変更してみる

波テクスチャノードのプロパティは以下の3つです。

    波のタイプ    

帯状の波となる「バンド」か円形の波となる「リング」か波の形状を選択します。
Blender_Wave_Texture_Type_Band
バンド
Blender_Wave_Texture_Type_Ring

リング

    バンド/リングの方向    

波が伝わる方向をXYZ軸で指定します。
「バンド」を使用するときはXYZ軸方向とは別に、「斜め」という選択肢があります。「リング」を使用するときには一点から外側に広がる「球状」という選択肢があります。

Blender_Wave_Texture_Direction_X
X
Blender_Wave_Texture_Direction_Y

Y
Blender_Wave_Texture_Direction_Z
Z
Blender_Wave_Texture_Direction_Diagonal

斜め
Blender_Wave_Texture_Direction_Spherical
球状
    波の断面    

波の断面形状を指定します。表面で見ると色の濃淡の様子が変わります。
  • サイン: 標準のサイン波の形状
  • 鋸歯: ノコギリの歯のような形状
  • 三角形: 三角波の形状

Blender_Wave_Texture_Profile_Sine
サイン
Blender_Wave_Texture_Profile_Saw

鋸歯
Blender_Wave_Texture_Profile_Triangle
三角形



4. 波テクスチャノードの出力ソケット

    カラー    

テクスチャのカラーを出力します。

    係数    

テクスチャの強度を出力します。

「係数」のつかい方についてはよくわからないところもありますが、「係数」をマテリアル出力の「サーフェス」ソケットにつないでも同じような出力になりました。

いろいろ用意されているテクスチャノードから、今回は画像テクスチャノードについて詳しく見ていきます。

Blender_Image_Texture_Node

Contents

  1. 画像テクスチャノードの効果
  2. 画像テクスチャノードの入力ソケット
  3. プロパティを変更してみる
  4. 画像テクスチャノードの出力ソケット

1. 画像テクスチャノードの効果

画像ファイルをテクスチャとして追加することができます。

Blender_Image_Texture_0

たとえば、レンガの画像を追加するとこのようなモデルになります。

Blender_Image_Texture_1

2. 画像テクスチャノードの入力ソケット

画像テクスチャノードの入力ソケットは「ベクトル」のみになります。
これはテクスチャを貼り付ける向きを決めるために参照にする座標になります。何も接続されていない場合はアクティブなUV座標が使われます。

ためしにテクスチャ座標ノードを追加してみます。
  • 未接続あるいは「UV」:UV座標に沿ってそれぞれの面に画像が追加されます。
  • 「オブジェクト」: オブジェクトのローカル座標に沿って画像が追加されます。
  • 「ウィンドウ」: 画面の垂直方向を正面として画像が追加されます。

Blender_Image_Texture_Vector_1
未設定またはUV
Blender_Image_Texture_Vector_2
オブジェクト
Blender_Image_Texture_Vector_3
ウィンドウ

3. プロパティを変更してみる

まず、いちばん上のメニューからオブジェクトに貼り付ける画像を開きます。
 
    テクスチャ補間    

レンダリングの際に画像を拡大・縮小する方法を選択します。
  • リニア: 標準の補間法で線形で補間します。
  • 近接: 補間はせずいちばん近い位置のピクセルをそのまま使います。
  • 三次式: リニアよりスムーズで高品質な補間になります。
  • Smart: 拡大時には三次式、縮小時にはリニアをつかいます。
    パフォーマンスと鮮明さを両立する方法です。

    投影方法    

テクスチャをマッピングする際に使う投影方法を選択します。
  • フラット: テクスチャ座標のXY座標をつかってマッピングします。
  • ボックス:   仮想のボックスの6面に対して画像をマッピングします。
  • 球: 球面上にマッピングします。
  • チューブ: ボトルにまかれたラベルのようにマッピングします。
Blender_Image_Texture_Flat
フラット
Blender_Image_Texture_Box
ボックス
Blender_Image_Texture_Sphere
Blender_Image_Texture_Tube
チューブ

    画像の範囲外の外挿方法    

オリジナルの画像のサイズを超えた場合の外挿方法を選択します。
  • リピート: 画像を水平方向垂直方向に繰り返して並べます。
  • 拡張: 端にあるピクセルを繰り返すことで画像を延長します。
  • クリップ: オリジナルの画像のサイズをキープし、外側のピクセルを透明の黒にします。

Blender_Image_Texture_Repeat
リピート
Blender_Image_Texture_Extend
拡張
Blender_Image_Texture_Clip
クリップ

    色空間    

画像を読み込む際や保存する際に、変換先、変換元となる画像ファイルの色空間を選択します。ほとんどの場合は標準の色空間の「sRBG」を選択することとなります。

4. 画像テクスチャノードの出力ソケット


    カラー    

画像のRGBチャンネルが出力されます。画像にアルファチャンネルがある場合、アルファ出力が使用されているときはプリマルチプライドになり、使用されていない場合はストレートとなります。

    アルファ    

画像のアルファチャンネルが出力されます。


プリマルチプライドやストレートなどアルファチャンネルについての詳細はこちらの記事をどうぞ。




マテリアルの設定と同じくらい重要なテクスチャ。テクスチャの基礎をまずは確認しましょう。

Blender_Texture

Contents

  1. テクスチャとは
  2. Blenderのテクスチャノード
  3. テクスチャノードのつかい方

1. テクスチャとは

texture(テクスチャ)という言葉には、「(織物の)生地」とか「質感、手触り」という意味があります。
この意味からも想像できる通り、オブジェクトの質感を表現するために、オブジェクト表面に貼り付ける画像のことを「テクスチャ」といいます。また、「テクスチャ」をオブジェクトに貼り付ける作業のことを「テクスチャマッピング」といいます。

2. Blenderのテクスチャノード

Blenderにはいろいろなてテクスチャノードが用意されています。
  • レンガテクスチャノード
  • チェッカーテクスチャノード
  • 環境テクスチャノード
  • グラデーションテクスチャノード
  • IESテクスチャノード
  • 画像テクスチャノード
  • マジックテクスチャノード
  • マスグレイプテクスチャノード
  • ノイズテクスチャノード
  • 点密度ノード
  • 大気テクスチャノード
  • ボロノイテクスチャノード
  • 波テクスチャノード
  • ホワイトノイズテクスチャノード

3. テクスチャノードのつかい方

どのテクスチャノードでもつかい方は基本的に同じです。
まず、シェーダーエディターに切り替え、必要なテクスチャノードを追加します。そして、テクスチャ座標や各種パラメーターの入力値を入力すると、色や値が出力値として表示されます。

Blender_Texture_1







画像編集ソフトなどで「アルファチャンネル」というワードがよく出てきますが、詳しく調べずに何となくつかっていませんか?
デジタル画像を扱うために必要なアルファチャンネルは、CGをつくるときにも大切です。

Blender_Alpha_Channel


Contents

  1. アルファチャンネルとは
  2. 実際にアルファチャンネルをつかってみる
  3. 2種類のアルファチャンネルつき画像

1. アルファチャンネルとは


デジタル画像の色を表現するために、赤、緑、青の3つのカラーチャンネルのほかに、透明度を扱うチャンネルがあります。これをアルファチャンネルといいます。
カラーチャンネルと同じように、アルファチャンネルも透明度がグレースケールで表されます。透明度が高いと黒く、逆に低いと白く表示されます。
画像にアルファチャンネルを掛け合わせると、透明度が高い部分は見えなくなり、透明度の低い部分だけが見えるようになります。
このような機能を利用して、画像を切り抜いたり出来るわけです。

2. 実際にアルファチャンネルをつかってみる

ここでは画像編集ソフトGIMPをつかって、アルファチャンネルを実際に追加して効果を確認したいと思います。

まずはこのような画像をふつうに切り抜いてみます。

Blender_Alpha_Channel_1

カラーチャンネルを表示してみると、RGBカラーのみでアルファチャンネルはありません。

Blender_Alpha_Channel_2

この状態から、そのまま切り取るとこのように背景が何もない白色になります。

Blender_Alpha_Channel_3

つぎにアルファチャンネルを追加して切り抜いてみます。結果はこのように背景が透明になりました。

Blender_Alpha_Channel_4

これを別の背景画像と重ねてみると、背景部分が透けて見え切り抜いた画像が貼り付けられたようになります。

Blender_Alpha_Channel_5

アルファチャンネルだけをみてみるとこのようになっています。黒い部分は透明なので見えず、白い部分だけが見えることになります。

Blender_Alpha_Channel_6


3. 2種類のアルファチャンネルつき画像

アルファチャンネルのついた画像には、「ストレートアルファ」と「プリマルチプライドアルファ」の2つのタイプがあります。

    (1) ストレートアルファ    

このタイプではRGBチャンネルとアルファチャンネルが分離していて、透明度の情報はアルファチャンネルのみに保存されています。

    (2) プリマルチプライドアルファ    

こちらのタイプは「プリマルチプライド」という名前の通り、アルファチャンネルが事前にRGBチャンネルに掛け合わされて保存されています。


ストレート→プリマルチプライドに変換する作業を「マルチプライ処理」、反対にプリマルチプライド→ストレートに変換する作業を「アンプリマルチプライ処理」といいます。




Blenderのチュートリアルで3Dモデルをつくりながら、チャートのようなグラフのような画面を操作しているのを見たことはありませんか?実はとても大事な機能です。


Blender_Shader_Editor


Contents

  1. シェーダーエディターとは
  2. シェーダーエディターの表示内容
  3. シェーダーエディターのつかい方

1. シェーダーエディターとは

シェーダーエディターとはBlenderに用意されているエディターのひとつで、その名の通りシェーダーを編集する機能があります。Blenderのチュートリアルなどでよく見られるこんな感じの画面です。

Blender_Shader_Editor_1

レンダリングは「ノード」と呼ばれる機能ブロックを順に処理することで実行されます。この「ノード」を線でつないでデータを処理する流れを表したものをノードツリーといいます。
BlenderにはCyclesとEeveeというふたつのレンダリングエンジンが準備されていますが、どちらもマテリアルをノードツリーで定義しています。そのため、マテリアルを設定、編集するシェーダーエディターでは、ノードツリーを編集していくことになります。
マテリアルにシェーダーを追加するなどの設定は、プロパティウィンドウでもできますが、シェーダーエディターでノードツリーを表示し、編集するほうが入力や出力の関係などが視覚的にわかりやすく、扱いやすいです。

2. シェーダーエディターの表示内容

シェーダーエディターで表示される要素について詳しく見ていきましょう。

Blender_Shader_Editor_2


エディターに表示されている四角いブロックを「ノード」といいます。「ノード」の左側には入力ソケット、右側には出力ソケットが並んで表示されています。出力ソケットから別のノードの入力ソケットへつなげることで処理を進めていきます。
ノードブロックのソケットは、入出力する情報の種類に応じて4種類に色分けされています。
  • 黄色: 色やイメージなどの色情報
  • 灰色: 値や係数などの数値情報
  • 青色: 座標、角度、スケールなどのベクトル情報
  • 緑色: レンダリングで表現されるシェーダー情報
基本的には同じ色のソケット同士をつなぎますが、最後は必ずマテリアル出力につなげます。

3. シェーダーエディターのつかい方

シェーダーエディターを表示させるには、各エリアの左上にある「エディタータイプ」から「シェーダーエディター」を選択します。

Blender_Shader_Editor_3

あるいは  Shift  +  F3  を押すと、  「コンポジター」→「テクスチャノードエディター」→「シェーダーノードエディター」の順で画面が切り替わります。

マテリアルを設定していない状態では、シェーダーエディターには何も表示されません。新規のマテリアルを作成すると、自動的に「プリンシプルBSDF」ノードと「マテリアル出力」ノードが追加されます。

Blender_Shader_Editor_4

シェーダーノードを変更したいときは、ノードを選択し   x   キーで削除し、   Shift   +   A   を押して新しいシェーダーノードを追加します。ここではディフューズシェーダーを追加し、変更がわかりやすいように色をつけます。   

Blender_Shader_Editor_5


さいごに「BSDF」ソケットとマテリアル出力ノードの「サーフェス」ソケットを線でつなぎます。

Blender_Shader_Editor_6

円錐にマテリアルを設定したので、色がかわります。

Blender_Shader_Editor_7
設定前
Blender_Shader_Editor_8
設定後








このページのトップヘ