前々回の記事「Blenderのヘアーパーティクルを使った髪型の作り方メモ」でヘアーパーティクルで髪型を作成したので、今回はレンダリング前の設定という感じで、髪一本一本の形状の設定やマテリアルなどを設定していきたいと思います。 ほぼ自分用の作業日誌みたいなものです。
髪全体のボリュームを調整する前に、まずは髪一本一本の太さや形状を調整します。
髪一本一本の形状 – Cycles、Eevee共通
下記の画像は平面上にヘアーパーティクルを何本か設定し拡大したものです。
この髪一本一本の形状を調整するには、パーティクルタブ内の「ヘアー形状」で調整します。 ヘア形状には下記のような項目があります。
- ストランド形状
- 根本の半径
- 先端
- 範囲の大きさ
- 先端を閉じる
「根本の半径」は文字通り髪の根元の半径で、デフォルトでは「0.1m」になっています。 0.1m というと 10cm ですが、「範囲の大きさ」が「0.01」となっているので、実際は 10cm × 0.01 で 1mm となっています。 そして「先端」は 0mm になっていて尖った形をしています。
髪が細いとわかりにくいので、根本の半径を大きくして髪を太くしてみます。
上記画像は根本の太さを 3mm にしてみました。
先端の太さも同じ 3mm にしてみると下記のような鉛筆型になります。
今度は「ストランド形状」という項目を変えてみます。 ストランド形状は -1 から 1 の間で指定します。 デフォルトでは「0」になっていて、きれいな三角錐の形をしています。 これを「0.5」にしてみると下記のようになります。
細い部分が多くなるので、髪のボリュームを抑えたいときにはいいかもしれません。
今度は「-0.5」にしてみると下記のように鉛筆型に近い形になります。
Eeveeの場合
Eevee の場合はもうひと手間加える必要があります。 レンダータブにある「ヘアーの形状タイプ」を「ストランド」から「ストリップ」に変更します。
ストリップに変更するときちんとヘア形状が反映されます。
ストランドとストリップでは上記のようにかなり印象が変わります。 まつげもヘアーパーティクルで作っているので全然違って見えますね。
髪全体のボリューム – Cycles、Eevee共通
髪の毛の形状を決めたら全体的なボリュームを設定します。 これは Cycles でも Eevee でも同じです。 パーティクルタブの「子パーティクル」にある「表示数」「レンダリング時の数」を調整します。
「表示数」はビューポートでの髪の本数、「レンダリング時の数」はレンダリングしたときの髪の表示数です。 ビューポートでの表示を多くしすぎると動作が重くなり、作業しずらくなるので注意が必要です。 髪の本数を増やせば全体的にボリュームがでるので、バランスを見ながら調整します。
Cycles のレンダー設定
Cycles でヘアーパーティクルをレンダリングするときは、レンダータブにある「ヘアー」にチェックを入れます。
「シェイプ」項目は「太い」または「リボン」から選択します。
「プリミティブ」項目はラインセグメント、カーブセグメント、三角形面から選択します。 まぁラインセグメントでレンダリングするのが速いし無難なのかなと思います。
詳しくは公式マニュアル ( 英語 ) を参照してください。
Hair — Blender Manual
ヘアーパーティクルのマテリアルの適用
ヘアーパーティクルのマテリアル設定は、パーティクルタブ内のレンダーで設定します。 もしパーティクルの発生源 ( エミッター ) も表示したい場合は、エミッターと髪の両方のマテリアルが必要になるのでふたつ用意しなくてはなりません。
ヘアーパーティクルのマテリアル – Cyclesの場合
Cycles の場合はプリンシプルヘアーBSDFという髪用のプリンシプルシェダーが用意されているのでそれを使っています。 プリンシプルヘアーBSDFシェーダーの使い方ついては公式マニュアルを参照してください。
Principled Hair BSDF — Blender Manual (2.79)
下記はプリンシプルヘアーBSDFシェーダーだけを設定したものです。
これだけで充分リアルなんですが、せっかくなので髪の生え際 ( 根本 ) を黒くしていきたいと思います。 まずは髪全体の色を設定します。
今回はカラーランプノードとボロノイテクスチャノードを使って、ノイズの入った茶色に設定してみました。 ボロノイテクスチャの拡大縮小を調整してノイズっぽくしています。 続いて髪にグラデーションを加えます。
ヘアー情報ノードとカラーランプノードを追加し、ヘアー情報ノードの「距離」とカラーランプをつなぎます。 そしてRGB ミックスノードを追加して、係数とカラーランプをつなぎます。 先程作った髪色を「色1」につなぎ、「色2」にはミックスする色を指定します。 今回は明るい色なのでスクリーンでミックスしてみました。 グラデーションの加減はカラーランプノードのグラデーションで調整します。
毛先ではなく、髪の根元を暗くしたいのでグラデーションを反転します。
カラーランプを反転してグラデーションの加減を調整し、上記画像のように頭頂部の色が変わるようにします。 あとは暗い色に変更して「乗算」でミックスすれば完成です。
ヘアーパーティクルのマテリアル – Eeveeの場合
ヘアーBSDF / シェーダープリンシプルヘアーBSDFシェーダーは Eevee 未対応なので、ディフューズBSDFシェーダーを使って髪を表現してみたいと思います。 まずはディフューズBSDFシェーダーを使って下記のようにノードをつなげました。
ボロノイテクスチャノードとカラーランプノードは Cycles のときと同じです。 続いてツヤを追加していきます。
光沢シェーダーノードを追加して、ミックスシェーダーでつなげます。 光沢シェダーのカラーをグレーにしてツヤを調整します。
Cycles に比べるとチープ感は否めません… 髪に深みを持たせるためもう一色加えてみます。
ボロノイテクスチャノードとカラーランプノードを複製して、少し暗い色を作ります。 それを RGB ミックスでミックスします。 このままだと二色が単純に混ざるだけなので、ランダムに色が変わるようにしていきます。
ヘア情報ノードをとカラーランプノードを追加して、ランダムをカラーランプノードにつなげます。
カラーランプノードは RGBミックスノードの係数につなぎます。 カラーランプのグラデーションを調整するとミックス具合を調節できます。
似たような色だとわかりにくいので、わかりやすい色に変更したものが下記になります。
次に毛先の方を明るくしたいと思います。
カラーランプノードを追加し、ヘアー情報ノードの距離へつなぎます。 RGB ミックスを追加し、カラーランプノードから係数へつなぎます。 もうひとつの RGB ミックスを「色1」へつなぎ、「色2」に毛先の色を指定します。 明るい色にしたいのでスクリーンでミックスします。
最後に髪の根元を暗くしていきます。 先程と同じようにカラーランプノードを追加して、ヘア情報ノードの距離へつなぎます。 もうひとつ RGB ミックスノードを追加し下記のようにつなぎます。
もう少しなんとかしたいですね … もうちょっと勉強してみます。
今回は以上になります。 次回はヘアダイナミクスを使って髪を動かしていきます。