Blender 3.3 の新ヘアシステム Hair Curves
Blender 3.3 には、これまでのパーティクルヘア に加えて、カーブをベースとした新しいヘアシステム機能が追加されました。 Hair Curves オブジェクトのスカルプトモードで、Add ブラシや密度ブラシで、ヘアを植えるオブジェクトの表面をなぞっていくことでヘアを植えていきます。 植えたあとで長さや形状、位置、本数も変更できます。 編集モードはなく、スカルプトモードで編集します。
ヘアーを植えるオブジェクトの用意
ヘアーを植えるメッシュオブジェクトを選択してアクティブにします。
「カーブ/空のヘアー」を追加
ヘアーを植えるオブジェクトが選択されている状態で、メニューの「追加/カーブ/空のヘアー」を選択します。 これで新しい Hair Curves オブジェクトが作成され、自動的に次のような設定が行われます。
- アクティブなメッシュオブジェクトを親にして新しい Curves オブジェクトを生成する。
- メッシュオブジェクトのサーフェイスと UVMap をCurves オブジェクトに設定する。
- ジオメトリノードに Deform Curves with Surfaceノードを設定する。
その結果、親のオブジェクトの動きにヘアは追従して、メッシュの変形に合わせてヘアの相対位置は移動するため、アーマチュアやシェイプキーのアニメーションでも使用できます。
スカルプトモードで編集
Hair Curves オブジェクトのモードをスカルプトモードに切り替えます。
ブラシ
Hair Curves オブジェクトのビューポートをスカルプトモードに切り替えて、[T]キーを押すと表示されるツールバーにブラシのアイコンが並びます。
密度(Density)ブラシ
密度ブラシは、ヘアの密度 (density) や一度に植える本数を指定して、ペイントするように親オブジェクトのポリゴン上に植毛します。 座標軸を指定して対称に植えることができます。 「カーブ形状」で長さとカーブの頂点数を指定できます。 周囲のヘアの長さや形状を変更している場合は、補間にチェックすると周りに合わせたヘアを追加できます。
ストランド(Strand)
プロパティのレンダープロパティのカーブパネルの設定が「ストランド」の場合は、ヘアを1本の線として表します。
ストリップ(Strip)
カーブパネルの設定が「ストリップ」の場合は、ヘアを太さのある形で表現します。 細かく形状を指定する場合はジオメトリノードでメッシュに変換します。 頭髪のように本数が多い場合は「ストリップ」の太さ(半径)を指定するだけにすると、本数が多くても速度の低下は最小限ですみます。
ヘアーのマテリアル
ヘアーのマテリアルは普通にマテリアルプロパティで指定します。ヘアにマテリアルを割り当てるには、ジオメトリノードの「Set Material」ノードを使用します。
ヘアーのビューポート表示
ソリッドモードでヘアーに色を設定するためには、マテリアルプロパティの「ビューポート表示」のカラーで指定します。 ヘアーを「ストリップ」にして、色を設定したほうがソリッドモードで見やすくなるので、この設定で進めます。
伸縮/収縮(Grow/Shrink)ブラシ
密度(density)ブラシではヘアの長さは一定なので、伸縮/収縮ブラシで長さを変更します。[-]アイコンを選択するか、 Ctrlキーを押しながらでは、ヘアは短くカットされます。
球(Sphere)/投影(Projected)ではブラシを奥行きに向かってブラシの効く範囲を指定します。 「投影」ではスクリーンに垂直な方向に無限にブラシの効果が及びます。 「球」の場合は、マウスカーソルに近いヘアの位置をもとにして近い空間にブラシの効果を適用します。
くし(Comb)ブラシ
くしで梳くようにヘアカーブを変形させます。 「投影」を使うと確実に変形できますが、オブジェクトの裏側にまで影響が及ぶため注意が必要です。
ヘアーの細分化(Additional Subdivision)
レンダープロパティのカーブパネルの「さらに細分化」の値を大きくすると、ヘアはなめらかに表示されます。
パフ(Puff)ブラシ
ヘアの根本をオブジェクトの表面に垂直に立ち上げます。
スライド(Slide)ブラシ
ヘアの根本の位置を移動するブラシです。
スムーズ(Smooth)ブラシ
ヘアをまっすぐに伸ばすブラシです。
ピンチ(Pinch)ブラシ
ヘアを集めるように変形します。 コントロールを押しながらではバラけるように変形します。
スネークフック(Snake Hook)ブラシ
マウスカーソルの動きに合わせてヘアを伸ばします。
削除(Delete)ブラシ
ヘアを削除します。
追加(Add)ブラシ
ヘアを指定した本数増やします。 カーブ形状で長さや形状を周囲のヘアに合わせて変形します。
選択ペイント(Selection Paint)ブラシ
マスクとは逆にブラシの影響範囲以外をアクティブにして、その他の部分がマスクされます。 コントロールを押しながらではマスクブラシとして作用します。
「選択」メニューでは、選択する部分を変更できます。
ヘアの形状とジオメトリノード
ヘアーの形状はジオメトリノードを使って指定できます。
ジオメトリノードによって色々な使い方が考えられます。
ヘアのシェーダノードの例
頭髪に単色のマテリアルを割り当てると、どうしても人工的なカツラのような感じになってしまいます。 生え際の色を暗くしたり、髪の色を一本一本異なる色にすると自然な感じになります。
ここでは、生え際の色を暗く、髪の色を異なる色にするシェーダを作ってみます。 分かりやすいように、生え際は黒、髪の色は赤か青といった極端な例となっています。 カーブパネルの設定は「ストリップ」に設定しています。
シェーダノードの全体像です。 簡単なノード構成ですが、2つのColor Rampの値の調整と、Mix ノードの2色の設定、Multiply ノードのFactor の値を変更することで、いろいろな表情のマテリアルを作成できると思います。
- Curves Info ノードの「Intercept」は根本が0.0、毛先が1.0となる値で、Float Curve ノードを通してPrincipled BSDF のアルファに繋いで、毛先ほど細くなる感じを表します (Curves Alfa)。
- 「Intercept」をColorRamp ノードに繋いで、根本から黒の範囲を設定します(Root Color)。
- Curves Info ノードの「Random」をColorRamp ノードに繋いで、赤と青を混合する比率を指定します(Color Selection)。
頭髪、まつ毛、まゆ毛を Curve Hair にした例
上記のジオメトリシェーダとマテリアルを使ったサンプルです。
まつ毛とまゆ毛は「Curve to Mesh」でメッシュにして、先細りの形状を設定しています。
この解像度では頂点数が増えるばかりで効果はありませんね。
ジオメトリーノードで形状を制御
Hair Curves の親オブジェクトとの距離を制御して、根元の頂点以外を表面から離れるように配置するジオメトリノードです。 左下の値を大きくすると、ヘアの根元以外が表面から離れる方向に移動します。
レンダリング結果です。 値を-0.1から0.2に変化させています。 ジオメトリーノードで1つの値を変えるだけで、髪全体のボリュームを変えることができました。
子カーブと集結
Hair Curves の本数を増やして頭髪を作成すると、ヘアスタイルを整える場合に扱いにくかったり、処理が重くなったりします。 パーティクルヘアのように少ない本数のヘアカーブでヘアスタイルを決め、親ヘアの周りにその子となるヘアを同じような形状で本数を増やす方法を考えます。
ジオメトリノードの働き
- 最初に Set Curve Radius ノードに、 Radius (半径) で与えた値をでヘアの太さを設定します。
- Duplicate Element ノードに Children (子) で与えた値をで本数を増やして、
- ±1の範囲の乱数に Range (範囲) で与えた値を乗算して、位置をRangeの範囲でバラつかせます。
- 乱数で生成した値(ベクトル)を Capture Attribute ノードで捕捉して、カーブの頂点位置に同じ乱数を加えられるようにします。
- カーブの位置(0.0 - 1.0)にそって、Float Curve で求めた値を捕捉した乱数値にScale ノードで乗算します。Float Curve の値が0に近いほど、カーブはバラつかず集まるようになります(集結:Clumping)。
- カーブの根元を、最も近い頭のオブジェクトの表面の座標にして、乱数でバラついて離れた頭皮とカーブの根元を接触させます。
- 最後にマテリアルを設定します。
ジオメトリノード
ジオメトリノード(日本語)
使用例
頭髪は、前、中間、後ろの3つのオブジェクトに分けてます。 全体を1つのカーブヘアオブジェクトとすると、収拾がつきません。 ヘアスタイルによって分け方を変えた方がいいでしょう。
Capture Attribute を使わない場合(縮れ)
Capture Attribute ノードで乱数で生成した値をカーブ位置のオフセットとしていますが、Capture Attribute ノードを除いて、乱数をオフセットに加えると、カーブの頂点ごとに別の乱数値が与えられます。
ジオメトリノード(日本語)
使用例
カーブの途中の位置がランダムに変化するため、結果として縮れたような髪の毛になります。
Hair Curves(新ヘアシステム)を使うほうが、パーティクルヘアより楽に感じます。 といっても、思ったとおりのヘアスタイルにしようとしてもブラシの使い方になれないと簡単ではありません。😂
Blender 2.8 - 4.3 の使い方 [目次]
- (01) インストールと日本語化
- (02) 画面構成とモード
- (03) オブジェクトモード
- (04) 球と円柱でモデリング
- (05) スカルプトモード
- (06) 編集モード
- (07) リトポロジー
- (08) Python スクリプト
- (09) マテリアル (1)
- (10) マテリアル (2)
- (11) マテリアル (3)
- (12) アーマチュア(ボーン)
- (13) Rigifyによるリギング
- (14) パーティクルヘア
- (15) グリースペンシル
- (16) ジオメトリーノード (1)
- (17) ジオメトリーノード (2)
- (18) カメラ
- (19) ジオメトリーノード (3)
- (20) 新ヘアシステム Hair Curves
- (21) ヘアカーブの進化
- (22) Vector Displacement Mapブラシ
- (23) アセットライブラリ
- (24) シミュレーションゾーン
- (25) ボーンコレクションとRigify