ノードの基本的な使い方とグラデーションのかけ方を解説【Blender4.0】

Blender

こんにちは、トナカイです。

今回は、Blenderのノードの使い方について解説します。

ノードを使うことで色々な質感を表現できるようになります。この記事ではノードの基本的な使い方と、使い方の例としてグラデーションをかけたリンゴを作ります。

※Blender4.0で動作確認をしました。

ノードとは

ノードとは、オブジェクトの色や質感を設定するボックスです。

ボックスの1つ1つがノードです。グラデーションを設定するノードやテクスチャの向きを設定するノードなど、様々な種類のノードがあります。

ノードを組み合わせて使うことで、複雑な質感が表現できます。

ノードは、シェーダーエディターから操作することができます。

「色を設定するだけなら、わざわざシェーダーエディターを使わなくても、マテリアルプロパティで設定すればいいのでは?」と思うかもしれません(トナカイは思いました)。

単純な着色であればマテリアルプロパティのみで対応できますが、グラデーションや髪の毛のハイライトなど、複雑な設定をする場合にはシェーダーエディターを使うほうが想定通りの仕上がりになります。

シェーダーエディターの表示方法

シェーダーエディターは、画面左上にある「エディタータイプ」から表示できます。

シェーダーエディターを開くと、以下の画面が表示されます。

ノードを編集する際は、この画面から操作します。

ノードの基本的な使い方

デフォルトで表示されている「プリンシプルBSDF」を例に、ノードの使い方を解説します。

色を変えてみましょう。

プリンシパルBSDFにある「ベースカラー」の横の四角をクリックすると、カラーサークルが表示され、色を調整することができます。

※マテリアルの出力の対応を見やすくするために、画面を分割しました。

プリンシプルBDSPのベースカラーと、マテリアルプロパティのベースカラーが対応していることが分かります。

ポイント
  • シェーダーエディターを使う時には、「ノードを使用」にチェックを入れておきましょう。チェックがないと、ノードの設定が反映されません。
  • 3Dビューポートの「シェーディング」の設定は「マテリアルプレビュー」にしておくと、実際の質感に近い状態で表示されます。

ノードの追加方法と繋げ方

ノードは、シェーダーエディター上でShift+Aを押すと追加できます。

ノード同士を繋げる時には、ノードの横についている点を長押しし、別のノードの端子までドラッグします。

このようにノードを繋げることで、マテリアルを作りこむことができます。

ノードの具体的な使い方:グラデーションを例に解説

ここからはノードの具体的な使い方として、グラデーションの作り方を解説します。

立方体やUV球にグラデーションをかけるだけでは少し寂しいので、リンゴを作ることにしました。

果実部分はUV球から作りました。枝はカーブのベベルでできています。

※カーブの使い方は、以下の記事をご覧ください。

果実部分にグラデーションをかけています。

葉っぱと枝の部分はシェーダーエディターを使わず、マテリアルプロパティで色を付けるのみにしています。

作ったノード

ノードの組み合わせは以下の通りです。まずは実際に作ってみたいという方は、こちらを参考にノードを設定してみてください。

各ノードの意味

テクスチャ座標

調べてみましたが、よく分かりませんでした……。

XYZ分離

グラデーションの方向を設定するために追加しました。

画像ではZの端子からデータを出力しています。

もしXの端子から線を繋げればX軸方向にグラデーションがかかりますし、Yの端子から出力すればY軸方向にグラデーションがかかります。

グラデーションの方向は「マッピング」というノードを使うことでも設定できます。

ただ、立方体メッシュではうまくいくのですが、リンゴのような球体メッシュではグラデーションの向きを変えられませんでした。

そのため、今回はマッピングではなくXYZ分離を使って上下方向にグラデーションがかかるようにしています。

カラーランプ

色を調整するためのノードです。

中央にあるバー(カラーストップ)を左右に動かすことで、グラデーションのかかり具合を変更できます。

一番下の色がついたボックスを選択すると、カラーパレットが出てきて色が変更できます。

マテリアル出力

マテリアルを出力するためのノードです。これがないと、真っ黒なマテリアルが表示されてしまいます。

シェーダーエディターを使う時の注意:fbxファイルをエクスポートするだけではUnityで表示されない

Blenderの利用者の中には、「作成したモデルをUnityで表示させたい」という方もいるのではと思います。

シェーダーエディターを使ってマテリアルを表示させる時は、fbxファイルをエクスポートするだけではUnityで表示できないという点に注意が必要です。

例えば、この記事ではシェーダーエディターでグラデーションを作ってみました。しかし、これをfbxファイルに変換してUnityにインポートすると、下の画像のように表示されてしまいます。

茎と葉っぱの部分には色がついていますが、果肉部分に設定したグラデーションは反映されず、真っ白になってしまいました。

マテリアルプロパティで設定した色は、fbxファイルをUnityにインポートするだけでもオブジェクトに反映されます。

しかし、シェーダーエディターを使って作成したマテリアルは、そのままではUnityに表示させることができません。

シェーダーエディターで設定したマテリアルは、ベイクという作業で作成した画像ファイルをUnityにインポートすることで表示できるようになります。

ベイクの詳しいやり方は、以下の記事を参考にしてください。この記事で作成したリンゴをもとに、ベイクの手順を解説しています。

まとめ

ノードを使うことでマテリアルの詳細な調整が可能になります。

マテリアルプロパティだけでは表現できない質感がある場合には、シェーダーエディターを使うことも検討してみてください。