CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender 4.1】ジオメトリノードヘアーの使い方
こんにちは!
コチラの記事では、フリーの3DCGソフト「Blender」を使う上でのヒントになる情報を発信しています。
今回は、Blender 3.3で追加されたジオメトリノードベースのヘアーシステム(以下「ジオメトリノードヘアー」と呼びます)の使い方をまとめてみました。
ジオメトリノードヘアーを使うことで、従来の「ヘアーパーティクル」と比べて簡単に髪の毛が追加・編集出来て、しかも動作も軽いので、ぜひ参考に使ってみてください。
ジオメトリノードヘアーの追加方法
まずは、オブジェクトにジオメトリノードヘアーを追加する方法を紹介します。
「Curves」というオブジェクトが追加されて、ヘアーを追加したオブジェクトが「Curves」のペアレントに設定されています。
スカルプトモード上で、ヘアーを生やすことができるようになります。
ヘッダーの「Curve Shape」→「長さ」で生やすヘアーの長さを調節できます。
ヘアーの太さを表示する方法
ヘアーを編集するにあたって、ヘアーの太さを表示する必要があります。
実は、デフォルト状態では3Dビューポートにはヘアーの太さが正しく表示されません。
レンダリングエンジン(レンダラー)を「Cycles」にすると、設定されたヘアーの太さが正しく表示されます(下の例では、初期状態ではところてんのようにかなり太くなっています)。
オブジェクトモードやマテリアルプロパティ、EEVEEレンダービューでヘアーの太さを表示するには、いったん「レンダリングプロパティから」レンダラーをEEVEEに切り替えます。
「カーブ」→「シェイプ」を「ストランド」から「ストリップ」に変更するとヘアーの太さが正しく表示されます。
ヘアーの密度を調節する際は、ヘアー太さの表示設定を済ませてからやったほうが、最終的なレンダリング結果のイメージと合わせやすくなります。
ジオメトリノードヘアーの編集方法
次に、追加したジオメトリノードヘアーの編集方法を紹介します。
編集方法には大きく分けて2つの方法があります。
- ヘアースカルプトモード:全体的な髪形や、部分的なヘアーの長さや曲がり具合、密度などを調節したい場合
- ジオメトリノード:全体的な毛の太さや毛質、曲がり具合などを調節したい場合
それぞれのやり方を、具体例を交えて紹介します。
ヘアースカルプトモードを使う
全体的な髪形の作成や、部分的にヘアーを調整したりするのにヘアースカルプトモードを使います。
ブラシを使って編集する場合、「Ctrl+Tab」キーで表示されるパイメニューから「スカルプト」を選択し、ヘアースカルプトモードに切り替えます。
ツールバーから編集に使用するツールを選択し、ヘアーの向きや生えている位置などを調節できます。
ツールの種類は以下の通りです。
- 追加(Add):クリックした範囲にヘアーを追加する
- 削除(Delete):クリックした範囲のヘアーを削除する
- 密度(Density):ヘアーの密度を増やす
- くし(Comb):ヘアーをマウスのストローク方向に流す
- スネークフック(Snake Hook):ヘアーをマウスのストローク方向に伸ばす
- 伸長/収縮(Grow/Shrink):ヘアーを伸ばす・縮める
- ピンチ(Pinch):ヘアーをまとめる
- パフ(Puff):ヘアーを立たせる
- スムース(Smooth):ヘアーの曲がり具合を滑らかにする
- スライド(Slide):ヘアーの生えている位置をずらす
ちなみに、このスカルプトモードの使い方は「ヘアーパーティクル」のパーティクル編集モードとほぼ同じです。
詳細な髪形の作り方については、ヘアーパーティクルの編集方法をまとめたこちらの記事を参照してください。
ヘアーノードを使う
ヘアーを編集するジオメトリノード(ヘアーノード)を追加することで、毛の密度・太さ・曲がり具合などを調節することができます。
ジオメトリノードを使った編集方法は、ノードを追加しパラメータを変更することで、非破壊的に編集できる(編集する前の状態に戻すことができる)のが特徴です。
ヘアーノードの追加方法・便利なヘアーノードの紹介
Blender 3.5へのバージョンアップのときに、以下のとおり多くのヘアーノードが追加されました。
- 変形(Deformation)
- Blend Hair Curves(近くの髪の毛の形状を混ぜ合わせる)
- Displace Hair Curves(変形)
- Frizz Hair Curves(ちぢれさせる・パーマをかける)
- Hair Curves Noise(ノイズを加える)
- Roll Hair Curves(クセを付ける)
- Rotate Hair Curves(回転させる)
- Shrinkwrap Hair Curves(メッシュ表面に沿わせる)
- Smooth Hair Curves(スムーズをかける)
- Straighten Hair Curves(まっすぐにする)
- Trim Hair Curves(短くする)
- 生成(Generation)
- Duplicate Hair Curves(髪を複製する)
- Generate Hair Curves(髪を生成する)
- Interpolate Hair Curves(髪を補間する)
- ガイド(Guides)
- Braid Hair Curves(三つ編みを作る)
- Clump Hair Curves(髪束をまとめる)
- Create Guide Index Map(近くにある髪を「ガイドインデックスマップ」でグループ化する)
- Curl Hair Curves(巻き髪・カールをつける)
- 読込(Read)
- Curve Info(カーブ情報)
- Curve Root(カーブの根元のポイント情報)
- Curve Segment(カーブの節のポイント情報)
- Curve Tip(カーブ先端のポイント情報)
- Hair Attachment Info(メッシュの付属情報)
- ユーティリティ(Utility)
- Attach Hair Curves to Surface(カーブの位置をメッシュ表面に追従させる)
- Redistribute Curve Points(カーブの節点を再配置する)
- Restore Curve Segment Length(カーブの節の長さを復元する)
- 書込(Write)
- Set Hair Curve Profile(ヘア形状を設定する)
このセクションでは、ヘアーノードの追加方法と、便利なヘアーノードをいくつか紹介します。
ヘアーノードを始めとする、Blender 3.5の新機能については、こちらの記事で紹介しているので、あわせて参考にしてみてください。
ヘアーノードの追加方法
ヘアーノードを追加する方法は以下の3通りあります。
- アセットブラウザーから追加
- モディファイアープロパティから追加
- ジオメトリノードエディターから追加
結局のところどれを選んでも同じ結果になりますが、好みで選んでください。
「アセットブラウザーから追加」する場合は、こちらのようにアセットブラウザーから「ヘアー」を開き、好みのヘアーアセットをドラッグアンドドロップしてください。
ドラッグアンドドロップで自由にモデル・マテリアルなどを追加できるアセットブラウザーの使い方については、こちらの記事を参考にしてみてください。
モディファイアープロパティから追加する場合は、モディファイアープロパティの「モディファイアーを追加」→「ヘアー」のメニューから、追加したいヘアーノードを選択します。
すると、モディファイアースタックが追加されて、ヘアーノードが反映されます。
ジオメトリーノードエディター上で追加する場合は、さらに以下のように2つのやり方があります。
- モディファイアースタックの「Surface Deform」を選択し「サーフェス上のカーブ変形」と「グループ出力」の間にヘアーノードを追加する
- 「モディファイアーを追加」→「ジオメトリノード」で新しいモディファイアースタックを追加し、その「グループ入力」と「グループ出力」の間にヘアーノードを追加する
1つ目のやり方はこんな感じです。
2つ目のやり方はこちらです。
便利なヘアーノードの紹介
先ほど紹介した通り、非常に多くのヘアーノードがありますが、ジオメトリノードヘアーを編集する際に便利なヘアーノードを3つ紹介します。
Duplicate Hair Curves(ヘアーカーブ複製)
ヘアーを複製し、毛量を増やしてくれるヘアーノードです。
「半径」の値の範囲内に、「量」で設定した本数分ヘアーを複製してくれます。
Set Hair Curve Profile(ヘアーカーブ断面設定)
ヘアーの太さと形状を設定してくれるヘアーノードです。
「シェイプ」を0にし、「半径」の値を調節することでヘアーの太さを設定できます。
Frizz Hair Curves(縮れ毛ヘアーノード)
ヘアーを縮れさせたり、パーマの効果を追加するノードです。
人の髪には多少なりクセがあるので、このノードを追加することでヘアーをよりリアルに見せることができます。
好みの仕上がりになるよう、「距離」「シェイプ」「シード」の項目を調節します。
ジオメトリノードヘアーを使った表現例
実際に、ジオメトリノードヘアーを使った表現の例をいくつか紹介します。
グラデーションをつける
こちらのように、生え際から毛先に向かってカラーグラデーションを付ける方法を紹介します。
やり方はかなり簡単で、マテリアルを追加した後、シェーダーエディター上で以下のマテリアルノードを接続するだけです。
- カーブ情報
- カラーランプ
- プリンシプルヘアーBSDF
こちらのように、カーブ情報の「距離」をカラーランプに接続し、カラーランプからプリンシプルヘアーBSDFの「カラー」にインプットすることで、グラデーションを表現できます。
こちらのように、染めた髪の毛の根元だけ黒くしたい場合にも使えます。
メッシュに変換
ジオメトリノードヘアーをメッシュに変換することで、データを軽くできます。
実際の手順としては、事前に髪のテクスチャを用意した上で、ヘアーノードをメッシュに変換し、UVを生成してテクスチャを反映します。
ヘアーからメッシュに変換する方法について、詳しくはこちらの記事で紹介しているチュートリアル動画を参考にしてみてください。
シミュレーション
ジオメトリノードヘアーを、シミュレーションを使って動かす方法を紹介します。
シミュレーションで動かす方法は以下の2通りありますので、それぞれやり方を紹介します。
- クロスシミュレーションで動かす
- シミュレーションノードで動かす
クロスシミュレーションで動かす
こちらのように、クロスシミュレーションを使ってヘアーをなびかせることができます。
こちらのように、メッシュオブジェクトでクロスシミュレーションを行い、ジオメトリノードヘアーの「位置設定」ノードでメッシュのシミュレーション結果を読み込んでいます。
クロスシミュレーションでヘアーを動かす方法について、詳しいやり方はコチラのチュートリアル動画を参考にしてみてください。
シミュレーションノードで動かす
ちょっと難易度が高いですが、ジオメトリノードでシミュレーションができる機能「シミュレーションノード」で、ヘアーの動きを表現することもできます。
シミュレーションノードでヘアーの動きを表現する方法について、詳しいやり方はコチラのチュートリアル動画を参考にしてみてください。
ジオメトリノード上で粒子・流体などの運動をシミュレーションできる「シミュレーションノード」を使った様々なエフェクト・表現について、こちらの記事で紹介しているので参考にしてみてください。
まとめ
今回は、ジオメトリノードヘアーの追加・編集方法・表現方法の例を紹介してみましたが、いかがだったでしょうか?
ジオメトリノードヘアーを使いこなすことでリアルな髪や毛皮をBlenderで表現できるようになるので、ぜひこちらの記事を参考にしていただければと思います。