The WONDER ROAD

     

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

2021年12月

今回はカラーランプノードについて詳しく見ていきます。

Blender_Color_Ramp

Contents

  1. カラーランプノードの効果
  2. 入力ソケット
  3. プロパティ
  4. 出力ソケット

1. カラーランプノードの効果

カラーランプとは、その名の通り「色の傾き」、つまり色のグラデーションを表現するときにつかいます。
 
カラーランプノードでは、カラーストップというものをつかって色の種類や変化をコントロールします。カラーストップというのは、指定した色がどこに配置されるべきかを示すマークのようなもので、各ストップの間の色は選択した方法によって補間されて表現されることになります。

たとえば、両端のカラーストップを赤と青に設定すると、赤から青へ徐々に変化するグラデーションがつくれます。

Blender_Color_Ramp_Node_1

ただ、カラーランプノードだけを接続しただけでは、うまくグラデーションが表示されません。係数で指定した値の色で表示されます。

Blender_Color_Ramp_only_0

Blender_Color_Ramp_only_fac_0.5


グラデーションテクスチャノードを追加すると、表面上にグラデーションが表現されます。

Blender_Color_Ramp_Gradient_0

Blender_Color_Ramp_Gradient_1


さらにグラデーションの向きや位置を指定するためには、テクスチャ座標ノードとマッピングノードを追加します。
ここではZ軸(画像上下方向)回りに90°回転させてみました。

Blender_Color_Ramp_Coordinate_0

Blender_Color_Ramp_Coordinate_1
 

2. 入力ソケット

    係数    

設定した色の勾配のなかで、どの色を表示するかを0~1の値で指定します。カラーランプノードを直接出力ノードに接続したときは、ここで指定した色で出力されます。
上で設定したようなカラーランプノードを使って係数を変化させていくとこのように表示されます。

Blender_Color_Ramp_only_fac_0
係数 0
Blender_Color_Ramp_only_fac_0.5
係数 0.5
Blender_Color_Ramp_only_fac_1
係数 1

3. プロパティ

カラーランプノードのなかで、それぞれのプロパティを操作する方法を詳しく見ていきます。

Blender_Color_Ramp_Widget_No

    ①追加    

表示されているカラーバンドに新しいカラーストップを追加します。
両端にだけストップがある場合は中間位置に追加されます。3つ以上ストップがある場合は、さいごに選択したストップとその左側のストップとの中間に追加されます。


Blender_Color_Ramp_Widget_Add


    ②削除    

選択したカラーストップを削除します。


Blender_Color_Ramp_Widget_Delete

    ③その他の操作    

[ + ] と [ - ] ボタンの横にある [ v ] ボタンをクリックすると追加のメニューが表示されます。

    カラーランプを反転    

カラーランプを反転させます。表示されたカラーバーの左右を入れ換える操作です。

Blender_Color_Ramp_Widget_Flip


    ストップを左から配置    

カラーストップを左から右へ等間隔に配置します。カラーバーのいちばん右端へはストップは配置されません。

Blender_Color_Ramp_Widget_Left


    ストップを均等に配置    

カラーバーの両端にストップが配置され、その間にすべてのカラーストップが等間隔に配置されます。


Blender_Color_Ramp_Widget_Evenly




    アイドロッパー    

アイドロッパーはスポイトのアイコンで表示されています。Blenderのウィンドウ内からいろいろなデータをサンプリングすることができます。座標軸のアイコンの色やウィンドウ枠などからもサンプリングできます。
  • カラー

    画面内のサンプリングしたい色の上でクリックしてサンプリングできます。

    Blender_Color_Ramp_Color

  • カラーランプ

    画面内でカーソルをドラッグすることで、カラーランプの両端の色を指定することができます。

    Blender_Color_Ramp_Color_2

    リセット    

カラーランプを初期の状態へ戻します。カラーバーも黒から白へのグラデーションに戻ります。

Blender_Color_Ramp_Reset


    ④カラーモード    

カラーストップの間の色を補間するときにつかう色空間をRGB、あるいはHSV/HSLから選択します。

    ⑤補間オプション    

カラーストップの間の色補間をする方法を選択します。

RGBモード
Blender_Color_Ramp_Color_Mode_Ease
イーズ
Blender_Color_Ramp_Color_Mode_Cardinal
カーディナル
Blender_Color_Ramp_Color_Mode_Linear
リニア
Blender_Color_Ramp_Color_Mode_B-Spline
B-スプライン
Blender_Color_Ramp_Color_Mode_Constant
一定

HSV/HSLモード
次のようなカラーバーの設定のときを考えます。

Blender_Color_Ramp_HSV_Bar


HSV/HSLのそれぞれの補間法はカラーサークルを見ながら考えると分かりやすいと思います。

Blender_Color_Ramp_HSV_Circle

カラーランプの色の変化は、カラーストップで指定した色から次のカラーストップの色へカラーサークルの円周上を移動したようなグラデーションになります。
この場合であれば、赤→黄色→ピンク→青の順で変化します。そして、それぞれの補間法によってカラーサークルを移動する通り道が異なるため、グラデーションの様子が異なります。
  • 接近
    最初のカラーストップの色から次のカラーストップの色まで、円周上の短いほうを通る変化になります。
  • 最遠
    最初のカラーストップの色から次のカラーストップの色まで、円周上の遠いほうを通る変化になります。
  • 時計回り
    最初のカラーストップの色から次のカラーストップの色まで、時計回りの変化になります。
  • 反時計回り
    最初のカラーストップの色から次のカラーストップの色まで、時計回りの変化になります。
Blender_Color_Ramp_HSV_Closest
接近
Blender_Color_Ramp_HSV_Further
最遠
Blender_Color_Ramp_HSV_CW
時計回り
Blender_Color_Ramp_HSV_CCW
反時計回り

4. 出力ソケット

    カラー    

設定したカラーが出力されます。

    アルファ    

画像のアルファチャンネルがある場合はアルファチャンネルが出力されます。


モデルにテクスチャを貼りつけるときに必ず必要なUVマッピングについて、基本的な内容をパパッと理解しておきましょう。

Blender_UV_Mapping_0

Contents

  1. UVマッピングとは
  2. UVマッピングのメリット
  3. プロパティ
  4. 出力ソケット

1. UVマッピングとは


3Dモデルの形状を作成したあとで、リアルな質感を表現するために画像やテクスチャを貼りつけます。その際に、どこに貼りつけてもいい場合もありますが、ほとんどの場合は色や質感の範囲をきちんと決めたいと思うはずです。そのときにいちばん使いやすい方法が「UVマッピング」です。

UVマッピングでは、まず3次元空間にあるメッシュを2次元平面に展開します。ちょうどサイコロの展開図をかいて組み立てるイメージです。

Blender_UV_Mapping_1


このときに展開図の左右方向をU方向、上下方向をV方向としていすれば、2次元の画像やテクスチャを展開図上でUV座標で表すことができ、位置決めすることが出来るようになります。
なぜUVかというと、3次元空間のXYZと区別するためです。

こうしてテクスチャを配置した展開図を組み立て直して、3次元形状のメッシュにすると、メッシュ上のきちんと決めた位置に画像やテクスチャが表現されるようになります。

このように考えると、3Dオブジェクト上の点は3次元空間のXYZ座標と同時に、UV座標でも表されることになります。


2. UVマッピングのメリット

UVマップによって、テクスチャのどの部分が、モデル上のどの位置に貼り付けられるかが指定されると説明しました。
つまり、3Dモデルのポリゴンのそれぞれの頂点は、2次元(UV)と3次元(XYZ)両方の座標をもっていることになります。このUVマップをつくる操作は、メッシュを2次元平面に展開するような作業なので「アンラップ」と呼ばれます。

ほとんどの簡単な形状のオブジェクトについては、Blenderで自動的にアンラップされますが、現実に存在するような複雑な形状のものとなると、立方体、円筒、球のようなもので表現するには不十分となります。そのため、より正確な展開形状をつくるために、UVマップをガイドする「シーム」というものを使用します。

UVマップをつかったテクスチャマッピングと似たような効果で、プロシージャルテクスチャというものがあります。こちらは画像ではなく、規則性のある模様を計算で表示します。そのため、どのような3D形状にもフィットするため簡単につかうことができます。ただ、複雑な形状には向かないうえに、規則的な模様なので、仕上がりが何か不自然な感じになります。

UV_Mapping_1


このようにUVマッピングをつかうことで、実際の物体の形状を詳細に再現するために、表面上のすべての要素をコントロールすることができます。






今回は、入力ノードのなかでもよく使われるテクスチャ座標ノードについて詳しく見ていきます。

Blender_Texture_Mapping

Contents

  1. テクスチャ座標ノードの効果
  2. 入力ソケット
  3. プロパティ
  4. 出力ソケット

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

テクスチャ上の座標をテクスチャ座標といいます。
テクスチャを物体の上に配置するためには、物体のどの部分にテクスチャのどの部分を貼り付けるかといった情報が必要になります。

これをテクスチャ座標をつかって指定します。
座標ですので軸方向の指定が必要になりますが、モデル空間のXYZ座標と区別して、U,V,Wで表します。ほとんどの場合は2次元画像を配置することになると思いますので、UV座標と言ったりします。

Blender_Texture_Coordinate_Node_1

2. 入力ソケット

このノードがその他のノードの入力となるノードですので、入力ソケットはありません。

3.プロパティ

このノードでは、「オブジェクト」の指定と「インスタンサーから」にチェックするかどうかを指定できます。

「オブジェクト」の指定は「オブジェクト」の出力ソケットを使用するときにだけ有効で、詳細は後ほど解説します。
「インスタンサーから」にチェックするオプションはインスタンシングを使用した際に有効のようですが、インスタンシングを細かく理解していないのでここでは省略させてもらいます。

4.出力ソケット

モデルのオブジェクトに下のような虹色模様の画像を貼りつけます。

Blender_Texture_Coordinate_Image_1


そのときに、出力ソケットによってどのように表現が変わるかを見ていきましょう。

    1.生成(Generated)    

これはメッシュの頂点の位置をもとに自動的に作られる座標となります。おまかせで作ってくれるため簡単ですが、「ここに貼り付けたい」といった細かい制御ができません。
下のように、最初から準備されている立方体に画像を貼り付けると上下面に貼り付けられ、側面には画像が回りこんでいません。

Blender_Texture_Coordinate_Generated

また、座標はメッシュ上に固定されているわけではないようで、オブジェクトを変形すると画像は変形しません。

Blender_Texture_Coordinate_Generated_2


    2.UV    

アクティブなUVマップから座標をつくります。ここではBlenderで自動で作成されたUVマップとなりますが、画像を貼り付けると立方体を包み込むように表面に画像が配置されているのがわかります。実際はUVマップを細かく指定することで自分の思い通りにコントロールできるようになります。

Blender_Texture_Coordinate_UV

こちらは座標がメッシュ状に固定されているようでオブジェクトを変形させるとそれに伴い画像も引き伸ばされたり、圧縮されたり変形します。

Blender_Texture_Coordinate_UV_2

    3.ノーマル (Normal)    

メッシュの法線を利用した座標です。はっきりとした特徴は理解できませんでしたが、メッシュの法線の向きによって表示される画像の部分が異なるようです。

Blender_Texture_Coordinate_Normal_1

ちなみにUV球に使用するとこのようになります。

Blender_Texture_Coordinate_Normal_2


    4.オブジェクト    

オブジェクトをもとに座標をつくります。複数のオブジェクトがある場合はプロパティの「オブジェクト」ボックスに指定することでそちらのオブジェクトを基準とします。指定せずに空のままでも構いません。
たとえば、キューブとモンキーのオブジェクトをつくります。そして、キューブをもとに座標をつくった場合はオブジェクトを動かしても特に変化はありません。

Blender_Texture_Coordinate_Object_1

しかし、プロパティでモンキーを指定すると座標はモンキーに固定されているので、キューブを移動させると表示が変わります。

Blender_Texture_Coordinate_Object_2


    5.カメラ    

「カメラ」となっていますが、視点に合わせて座標が設定されるような感じです。

Blender_Texture_Coordinate_Camera


    6.ウインドウ    

オブジェクトの向きには関係なく、ウインドウに合わせて座標がつくられ、ウインドウのサイズに合わせて画像が配置される形です。

Blender_Texture_Coordinate_Window


    7.反射    

画像の位置がどのようにコントロールされているのかはわかりませんが、表面に用意した画像が反射しているように表示されます。

Blender_Texture_Coordinate_Reflection





このページのトップヘ