前々回の記事「Blenderのヘアーパーティクルを使った髪型の作り方メモ」でヘアーパーティクルで髪型を作成したので、今回はレンダリング前の設定という感じで、髪一本一本の形状の設定やマテリアルなどを設定していきたいと思います。 ほぼ自分用の作業日誌みたいなものです。

髪全体のボリュームを調整する前に、まずは髪一本一本の太さや形状を調整します。

髪一本一本の形状 – Cycles、Eevee共通

下記の画像は平面上にヘアーパーティクルを何本か設定し拡大したものです。

ヘアーパーティクルのヘア形状

この髪一本一本の形状を調整するには、パーティクルタブ内の「ヘアー形状」で調整します。 ヘア形状には下記のような項目があります。

  • ストランド形状
  • 根本の半径
  • 先端
  • 範囲の大きさ
  • 先端を閉じる

根本の半径」は文字通り髪の根元の半径で、デフォルトでは「0.1m」になっています。 0.1m というと 10cm ですが、「範囲の大きさ」が「0.01」となっているので、実際は 10cm × 0.01 で 1mm となっています。 そして「先端」は 0mm になっていて尖った形をしています。

髪が細いとわかりにくいので、根本の半径を大きくして髪を太くしてみます。

根本の半径を大きくしたヘアー

上記画像は根本の太さを 3mm にしてみました。

先端の太さも同じ 3mm にしてみると下記のような鉛筆型になります。

鉛筆型のヘアー

今度は「ストランド形状」という項目を変えてみます。 ストランド形状は -1 から 1 の間で指定します。 デフォルトでは「0」になっていて、きれいな三角錐の形をしています。 これを「0.5」にしてみると下記のようになります。

ストランド形状0.5に設定したヘアー

細い部分が多くなるので、髪のボリュームを抑えたいときにはいいかもしれません。

今度は「-0.5」にしてみると下記のように鉛筆型に近い形になります。

ストランド形状を-0.5に設定したヘアー

Eeveeの場合

Eevee の場合はもうひと手間加える必要があります。 レンダータブにある「ヘアーの形状タイプ」を「ストランド」から「ストリップ」に変更します。

ヘアー形状のタイプ「ストランド」
ヘアの形状タイプ:ストランド
ヘアー形状のタイプ「ストリップ」
ヘアの形状タイプ:ストリップ (ライティングのせいで真っ黒になっていて平面ぽく見えますが、ちゃんと立体的なヘアになっています)

ストリップに変更するときちんとヘア形状が反映されます。

ストランドとストリップの比較

ストランドとストリップでは上記のようにかなり印象が変わります。 まつげもヘアーパーティクルで作っているので全然違って見えますね。

髪全体のボリューム – Cycles、Eevee共通

髪の毛の形状を決めたら全体的なボリュームを設定します。 これは Cycles でも Eevee でも同じです。 パーティクルタブの「子パーティクル」にある「表示数」「レンダリング時の数」を調整します。

髪の表示数

「表示数」はビューポートでの髪の本数、「レンダリング時の数」はレンダリングしたときの髪の表示数です。 ビューポートでの表示を多くしすぎると動作が重くなり、作業しずらくなるので注意が必要です。 髪の本数を増やせば全体的にボリュームがでるので、バランスを見ながら調整します。

Cycles のレンダー設定

Cycles でヘアーパーティクルをレンダリングするときは、レンダータブにある「ヘアー」にチェックを入れます。

Cyclesのヘアーのレンダーセッティング

「シェイプ」項目は「太い」または「リボン」から選択します。

Cyclesの「太い」と「リボン」の比較
リボンは平面としてレンダリングするようで、ツヤが平面的になります

プリミティブ」項目はラインセグメント、カーブセグメント、三角形面から選択します。 まぁラインセグメントでレンダリングするのが速いし無難なのかなと思います。

詳しくは公式マニュアル ( 英語 ) を参照してください。
Hair — Blender Manual

ヘアーパーティクルのマテリアルの適用

ヘアーパーティクルのマテリアル設定は、パーティクルタブ内のレンダーで設定します。 もしパーティクルの発生源 ( エミッター ) も表示したい場合は、エミッターと髪の両方のマテリアルが必要になるのでふたつ用意しなくてはなりません。

ヘアーパーティクルのマテリアルの適用

ヘアーパーティクルのマテリアル – Cyclesの場合

Cycles の場合はプリンシプルヘアーBSDFという髪用のプリンシプルシェダーが用意されているのでそれを使っています。 プリンシプルヘアーBSDFシェーダーの使い方ついては公式マニュアルを参照してください。

Principled Hair BSDF — Blender Manual (2.79)

下記はプリンシプルヘアーBSDFシェーダーだけを設定したものです。

プリンシプルヘアーBSDF

これだけで充分リアルなんですが、せっかくなので髪の生え際 ( 根本 ) を黒くしていきたいと思います。 まずは髪全体の色を設定します。

ボロノイテクスチャとカラーランプを追加

今回はカラーランプノードボロノイテクスチャノードを使って、ノイズの入った茶色に設定してみました。 ボロノイテクスチャの拡大縮小を調整してノイズっぽくしています。 続いて髪にグラデーションを加えます。

ヘアー情報を追加して髪にグラデーションをかける

ヘアー情報ノードカラーランプノードを追加し、ヘアー情報ノードの「距離」とカラーランプをつなぎます。 そしてRGB ミックスノードを追加して、係数とカラーランプをつなぎます。 先程作った髪色を「色1」につなぎ、「色2」にはミックスする色を指定します。 今回は明るい色なのでスクリーンでミックスしてみました。 グラデーションの加減はカラーランプノードのグラデーションで調整します。

毛先ではなく、髪の根元を暗くしたいのでグラデーションを反転します。

カラーランプを反転してグラデーションの向きを反転

カラーランプを反転してグラデーションの加減を調整し、上記画像のように頭頂部の色が変わるようにします。 あとは暗い色に変更して「乗算」でミックスすれば完成です。

Cyclesでのヘアーパーティクルのレンダリング結果

ヘアーパーティクルのマテリアル – Eeveeの場合

ヘアーBSDF / シェーダープリンシプルヘアーBSDFシェーダーは Eevee 未対応なので、ディフューズBSDFシェーダーを使って髪を表現してみたいと思います。 まずはディフューズBSDFシェーダーを使って下記のようにノードをつなげました。

ディフューズBSDFシェーダー

ボロノイテクスチャノードとカラーランプノードは Cycles のときと同じです。 続いてツヤを追加していきます。

光沢シェーダーノードを追加して、ミックスシェーダーでつなげます。 光沢シェダーのカラーをグレーにしてツヤを調整します。

光沢BSDFシェーダーを追加

Cycles に比べるとチープ感は否めません… 髪に深みを持たせるためもう一色加えてみます。

カラーをもうひとつ追加してRGBミックスで混ぜる

ボロノイテクスチャノードとカラーランプノードを複製して、少し暗い色を作ります。 それを RGB ミックスでミックスします。 このままだと二色が単純に混ざるだけなので、ランダムに色が変わるようにしていきます。

ヘア情報ノードをとカラーランプノードを追加して、ランダムをカラーランプノードにつなげます。

髪の色をランダムにする

カラーランプノードは RGBミックスノードの係数につなぎます。 カラーランプのグラデーションを調整するとミックス具合を調節できます。

似たような色だとわかりにくいので、わかりやすい色に変更したものが下記になります。

二種類の髪の色がランダムに混ざる
赤い色の髪と茶色の髪がランダムに混ざり合っています

次に毛先の方を明るくしたいと思います。

毛先を明るくする

カラーランプノードを追加し、ヘアー情報ノードの距離へつなぎます。 RGB ミックスを追加し、カラーランプノードから係数へつなぎます。 もうひとつの RGB ミックスを「色1」へつなぎ、「色2」に毛先の色を指定します。 明るい色にしたいのでスクリーンでミックスします。

ノードの全体像
ここまでの構成

最後に髪の根元を暗くしていきます。 先程と同じようにカラーランプノードを追加して、ヘア情報ノードの距離へつなぎます。 もうひとつ RGB ミックスノードを追加し下記のようにつなぎます。

髪の根元を暗くする
ノードの構成
ノード全体
Eeveeでのヘアーパーティクルのレンダリング結果

もう少しなんとかしたいですね … もうちょっと勉強してみます。

今回は以上になります。 次回はヘアダイナミクスを使って髪を動かしていきます。

参考にさせていただいたページ