MRが楽しい

MRやVRについて学習したことを書き残す

Blender標準テクニック[ローポリキャラクター制作で学ぶ3DCG]を試す その62(高度な肌マテリアルの作成)

本日は書籍「Blender標準テクニック[ローポリキャラクター制作で学ぶ3DCG]」の実施枠です。

マテリアルの作成準備が整いました。
今回からノード機能を駆使した「高度なマテリアル作成」に着手します。
f:id:bluebirdofoz:20180312051342j:plain
一つの技術ポイントであり、3Dモデルの品質を大きく左右する要素な気がするので細かく実施していきます。
今回は肌マテリアルを修正します。

やりたいこととしては肌の影部分に赤みを追加します。
本来、肌は不透明ではないので、影部分で血の赤色が強調されます。
このため、肌色単体の色変化では肌がくすんで感じられてしまいます。

最初に、プロパティウィンドウのマテリアル一覧から新規マテリアルを作成します。
以下の通り、設定します。
・名称:Toon
・ディフューズ
  トゥーン
  色:R:1.000 G:1.000 B:1.000(白)
  強度:1.0
  サイズ:1.4
  スムーズ:0
・スペキュラー
  強度:0
・シェーディング
  放射:0
f:id:bluebirdofoz:20180312051508j:plain

次にマテリアルを編集するための「ノードエディター」ウィンドウを作成します。
f:id:bluebirdofoz:20180312051519j:plain
更に、3つのボタンの内、一番左の「マテリアル」ボタンがオンになっていること(シェーダーノード)を確認します。

プロパティウンドウのマテリアル一覧から、肌マテリアルを選択します。
マテリアル一覧下のボタンをオンにするか、「ノードを使用」にチェックを入れます。
f:id:bluebirdofoz:20180312051528j:plain
すると「ノードエディター」上に「マテリアル」ノードと「出力」ノードが追加され、2つが線で繋がる状態が表示されます。

もし表示されない場合は「追加」から 入力 -> マテリアル と 出力 -> 出力 を追加できます。
端子をドラッグで接続して画像と同じ形にします。
f:id:bluebirdofoz:20180312051537j:plain

ノードが表示されたら「マテリアル」ノードのプルダウンメニューから先ほど作成した「Toon」マテリアルを選択します。
f:id:bluebirdofoz:20180312051550j:plain

次に「追加」から コンバーター -> カラーランプ を選択します。
f:id:bluebirdofoz:20180312051559j:plain

「マテリアル」ノードと「出力」ノードのリンク上にドロップすると、3つのノードが直列に繋がった以下の状態になります。
f:id:bluebirdofoz:20180312051612j:plain
ドロップに失敗した場合は端子をドラッグすることで接続を修正できます。

カラーバーの左側(位置:0.0)が肌の影の色、右側(位置:1.0)が光が当たった肌の色になります。
書籍データを参考に、まず、左側(位置:0.0)を選択した状態で以下の通りカラーの設定を行います。
・肌の影の色
 R:0.694
 G:0.366
 B:0.309
f:id:bluebirdofoz:20180312051623j:plain

次に右側(位置:1.0)を選択した状態で以下の通りカラーの設定を行います。
・肌の影の色
 R:0.965
 G:0.815
 B:0.665
f:id:bluebirdofoz:20180312051631j:plain
二色を比較すると、影色の方が R の比率が高く、赤みがかった色に設定していることが分かります。

これで肌マテリアルの修正は完了です。
修正前と修正後を比較して見ました。肌の陰に注目すると違いがよく分かります。
f:id:bluebirdofoz:20180312051703j:plain


余談。
しかし、この「ノードエディター」を以前何処かで見たような気がする……。
と思ったら Unity 2018 で導入される Shader Graph Tool でした。シェーダノードの概念は同じだから似てて当然ですね。
blogs.unity3d.com
モデリングの学習でしたが、この辺りの学習は今後の Unity でのシェーダ理解にも繋がりそうです。