【Blender】トゥーンシェーダの作り方 #01(1/2)

今回はBlenderでのトゥーン表現をメモしてみました。

BlenderのバージョンはBlender3.5、レンダラーはBlenderのEEVEEを使用します。

トゥーンシェーダ全体図(アウトラインの一部を除く)

先に、トゥーンシェーダの全体像をお見せします。
ノードグループの中は2枚目の画像になりますが、ノードが小さいためアップにした画像も載せておきます。

ノードグループの中のアップ画像が以下です。

トゥーンシェーダのベースを作成する

ここから、トゥーンシェーダを実際に作っていきます。

トゥーンシェーダを付けたいオブジェクト(UV展開済み)を用意したところからスタートです。

オブジェクトには通常のPrincipled BSDFマテリアルがアサインされ、sunLightがシーン内に1つある状態で説明していきます。

膝上のパーツでトゥーンシェーダを組んでいきます。ViewportShadingは常にオンで進めていきます。また、sunLightの向きは正面上方からオブジェクトに向けていますが、トゥーンシェーダの効果が確認しにくい場合は角度を変えたりしてみてください。

オブジェクトにアサインされたマテリアルのPrincipled BSDFノードを削除し、Shift + Aで新規にDiffuse BSDFノードを作成します。

オブジェクトの色がグレーの状態になります。

Diffuse BSDFを選択してCtrl + Gを押し、ノードグループを作成します。自動的にノードグループの中に入るため、上の画像の状態になります。

マウスカーソルがシェーダーエディタの中にある状態でTabキーを押すとノードグループに入ったり出たりできます。

ノードグループの中で、新規にShader to RGBノードとColorRampノードを作成し、上の画像のように繋ぎます。また、ColorRampノードのRGBと記載がある部分の右の項目をConstantに変更します。

シーン内のライトの強さによって変化するカラーランプがシェーダに反映されるようなります。

つまみを調整し、色を変更すると反映されていることが確認できます。確認のために赤色と青色に変更しました。

ColorRampノードの色を「暗いグレー」「明るいグレー」「白」の3つに分けます。色の微調整とつまみ位置の調整は適宜おこないます。

次に、Shift + Aで新規にmixノードを作成します。

MixノードのFloatと記載がある箇所をColorに変更します。
そうすると、Mixと記載がある部分が出てくるため、その部分をMultiplyに変更します。上の画像はMultiplyに変更した後のノードの画像で、ノード名がMultiplyノードに変化しています。

ColorRampノードをCtrl +C、Ctrl + Vで複製します。

そして複製したColorRampノードを編集し、任意の一色にしておきます(この色がベースカラーになります)。

Multiplyノードを上の画像のように繋ぎます。インプットとアウトプットの繋ぎ先に注目してください。MultiplyノードのFactorを1.0に変更します。Multiplyノードは色と色を乗算で重ね掛けるノードで、Factorの数値で何%重ねるかが決まります。

結果、ベースカラーに対して影情報が乗算されて重ね掛けられる状態になります。

アウトラインを作成する

オブジェクトを選択した状態でMaterial Propertiesを開き、右端の + ボタンを押してマテリアルを追加します。次に、+ Newを押します。

マテリアルを変更します。Principled BSDFと記載のある個所をクリックし、Diffuse BSDFを選択します。

上の画像のようになります。

Colorを黒に近い赤茶色に変更します。この色がアウトラインの色になります。
さらにBackface Cullingにチェックを入れ、Shadow ModeをNoneに変更します。

次にModifier Propertiesを開き、Add Modifierをクリックします。

使用するモディファイアはSolidfyです。

上の画像のように設定します。

・Thicknessを0.1mに変更(調整の余地あり)
・Offsetを0に変更
・RimのFillにチェックを入れる
・NormalsのFlipにチェックを入れる
・MaterialsのMaterial Offsetを1に変更、Rimを1に変更

Material Propertiesに戻り、アウトラインのためのマテリアルの名前をOutlineに変更(今回テストなので_testを加えた)します。わかりやすくするためです。

アウトラインが追加されました。

これでベースは完成です。

アウトラインの濃淡をつける

次に、トゥーンシェーダを編集してアウトラインに濃淡が付くように調整を加えていきます。

オブジェクトを再度選択して、トゥーンシェーダのマテリアルを選択します。

シェーダーエディタでTabキーを押してノードグループの中に入ります。

新しく
・ColorRamp
・LayerWeight
・Math(作成後Addに変化する)
上記3つのノードをShift+Aで作成します。

ColorRampノードはConstantに変更し、左に白、右に黒の位置関係にしてカラーを分けます。Math(画像ではPowerと表記)ノードは作成後Addと記載のある個所をPowerに変更し、Powerノードにします。それらを設定した後の画像が上の画像です。

それぞれ上の画像のようにノードをつなぎます。

新規にMathノードを作成します。Math(画像ではMultiplyと表記)ノードは作成後Addと記載のある個所をMultiplyに変更し、Multiplyノードにします。

Mutiplyノードのインプットとアウトプットを上の画像のようにつなぎます。

Layer WeightノードのBlendを0.1にし、MultiplyノードのValueを10にします。
MultiplyノードのValueはアウトラインの出方に関わるため後で調整しますが、今は10としておきます。

新規にMixノードを作成します。

MixノードのFloatと記載のある個所をColorに変更し、Aと記載のある個所を黒色に設定します。この色はアウトラインの色と同じにすると良いため後で調整しますが、今は黒にしておきます。

MixノードをGuroup Outputノードの手前に位置するよう繋ぎます。上の画像を参考にしてインプットとアウトプットの繋ぎ先を確認してください。

分かりやすくするために色を少し明るめにしましたが、アウトラインの太さに濃淡がつくようになりました。

より強調したい場合は上の画像の箇所を微調整すると良いです。

以上でアウトラインの濃淡の追加が完了です。

後半ページで「キーライト・フィルライト・バックライトの効果を付ける」という内容をメモしています。後半ページはこちら

コメントを残す