Blender 3.3 以降で導入された新しいヘアーカーブシステムでは、髪の毛をカーブオブジェクトとして扱えるようになり、スカルプトモードや編集モードで直感的に形を整えられるようになりました。さらにジオメトリノードを組み合わせれば、手作業では難しいランダム性や自然な揺らぎなど、より柔軟で高度な表現が可能になります。
ただし、ジオメトリノードには複数の種類があり、パラメータも多いため「どれを使えばいいのか」「どう設定すれば思い通りになるのか」で迷ってしまうことも少なくありません。
そこで本記事では、ヘアーカーブで特によく使うジオメトリノードを厳選して紹介し、それぞれのパラメータや使用例をわかりやすく解説します。この記事を見ながら試していただければ、髪の表現の幅をもっと広げられるはずです。
また、ノードを複数使うときの順番や気を付けるポイントなども書いていますのでぜひ参考にしてみてください。
この記事は、Blenderのヘアーカーブシステム(Hair Curves)に使うジオメトリノードを解説した初心者~中級者向けの記事です。
難易度
- モディファイアの順序について
- マスクについて
- ヘアーカーブ用アセットの付け方
- ヘアーカーブ用アセットの機能一覧
- Interpolate Hair Curves(ヘアーカーブ補間)
- Hair Curves Noise (髪にノイズを加える)
- Frizz Hair Curves(縮毛・ちぢれ髪)
- Set Hair Curve Profile(ヘアカーブの太さプロファイルを設定)
- Clump Hair Curves (髪を房にする)
- Trim Hair Curves (髪の長さを変える)
- Roll Hair Curves(カーブを巻く)
- Curl Hair Curves(髪カーブをカールさせる)
- Braid Hair Curves(髪カーブを三つ編みにする)
- 使用例
- ヘアーカーブガイド
モディファイアの順序について

ジオメトリノードをつける順番ですが、順番によってヘアーの変形結果が変わってきます。以下のように付けるのが望ましいです。
- Interpolate Hair Curves / Duplicate Hair Curves
- まずガイドカーブから髪を生成
- この時点で「補間カーブの根元位置」を決める
- その他の操作(必要なら)
- 例えば、カーブの長さ調整やノイズを加える
- Deform Curves on Surface(Surface Deform)
- 最後に置くことで、生成済みカーブを現在のメッシュに沿わせて変形
- 変形後のメッシュに自然に追従する
理由
補間ノードで生成した時点のカーブは「メッシュの休止状態(Rest Position)」を基準に作るのが望ましいです。じゃないと、メッシュが変形したとき、その変形に沿って補間することになり、変形するごとに毛の位置が変化して不自然になります。
また、その他の変形についても、補間して毛を増やしてから変形しないと、うまく効果がかからない場合があります。(例:Clamp)
メッシュの変形は最後に Deform Curves を適用すれば、自然にメッシュに沿ったカーブが完成します。毛の位置も変化しません。
Deform Curves on Surface(Surface Deform)ノードはヘアーカーブを追加したときに自動で追加されていますが、他のノードを追加していくときは、このノードを最後に置くようにしましょう。
マスクについて

様々なヘアー系ノードに、効果範囲を限定するマスクの機能がありますが、デフォルト状態ではウェイトペイントなどの範囲が読み込めません。
まずInterpolate Hair CurvesノードでSurface, Surface UV Mapを設定しないとウェイトペイントなどの属性値が使えるようにならないときがありますので、マスクを使いたいときは、Interpolate Hair Curvesノードを併用し、ここにメッシュを設定しておいてください。
ヘアーカーブ用アセットの付け方

Asset Browserを開くと、ライブラリにHairという項目があります。その中にHair Curvesの編集に使える様々なツールが入っています。
使い方
アセットの中のツールをヘアーのカーブにドラッグ&ドロップするだけです。モディファイアプロパティを見ると、パラメータ制御付きのジオメトリノードがついているので、そこで毛の形状や生え方などを調整できるようになります。

ヘアーカーブ用アセットの機能一覧
よく使うものを抜粋して紹介します。パラメータ調整の参考にしてください。
- Interpolate Hair Curves(ヘアーカーブ補間)
- Hair Curves Noise (髪にノイズを加える)
- Frizz Hair Curves(縮毛・ちぢれ髪)
- Set Hair Curve Profile(ヘアカーブの太さプロファイルを設定)
- Clump Hair Curves (髪を房にする)
- Trim Hair Curves
Interpolate Hair Curves(ヘアーカーブ補間)

手動で植毛した、ガイド用髪の毛を元に、表面メッシュ上に新しいカーブを補間して生成します。
※似た機能として、補間はしないので高速で複製できる Duplicate Hair Curves(カーブ複製) があります。

⚠️ 注意
このノード/モディファイアを使うには、
- Surface(表面ジオメトリ/オブジェクト)
- Surface UV Map(曲線の根元を配置するために参照するUVマップ。)
の入力が必須です。
特に、Surfaceはデフォルトでは空なので、ヘアーカーブをつけているメッシュを選択する必要があります。

Surface Rest Position
サーフェスメッシュを変形前で扱う。チェック推奨です。(デフォルトはオフ)
→ 通常は Deform Curves on Surface ノードと組み合わせるので、Surface Rest Positionをオンにすると補間位置が変形前基準になり、整合性が取れる。
例えば、メッシュにモディファイアをつけて変形させると、その変形によって補間が影響され、さらにその後の Deform Curves on Surface ノード(Surface Deform)によって変形するので、毛の位置がめちゃくちゃになってしまいます。Surface Rest Positionをオンにして、元のメッシュの位置のまま補間することで、毛の位置がメッシュの変形にきちんと合うようになります。


Follow Surface Normal
補間したカーブをサーフェスの法線に沿わせる。
Surface Rest Positionがオフのときしか違いが出ませんでした。
左図は、このあとのDeform Curves on Surface ノード(Surface Deform)を非表示にしたものです。表示すると、さらに変形されて位置がぐちゃぐちゃになります。

Part by Mesh Islands
メッシュのアイランドごとに髪の分け目を作る。(デフォルトでオン)
左図のように、メッシュが別れてる場合、補間がメッシュごとに別々に働くようになります。
メッシュを分けない場合にセンター分けにした場合、真ん中部分で左右方向の補間がおこって、前後方向へ髪の毛が曲がってしまいます。
メッシュを離しても、これと同様に真ん中付近で別方向に補間が起こってしまうので、左右にパキッと分けたい場合はPart by Mesh Islandsにチェックが必要です。


Interpolation Guides
各補間カーブに使うガイドの数。
- 1本…そのカーブの長さだけをガイドにするので、補間なしの毛束になります。
- 2~4本…近いカーブの長さの補間をしてくれてちょうどいい感じになります。
- 10本…多すぎると、全てのカーブの長さが平均化されてしまうようになります。
※密度や距離などにも拠ります。

Distance to Guides
ガイド周囲のどの範囲までを補間対象にするか。
補間で生えてくる毛の範囲

Poisson Disk Distribution
ポアソンディスク分布を使い、補間カーブ同士が近づきすぎないようにする。

Density
補間カーブの密度。

Density Mask
補間密度に乗算するマスク。
ウェイトペイントなども使えて、Density MaskにVertex Groupで作成したグループ名を入力することで適用できます。

Mask Texture
UVに基づいてテクスチャをサンプリングし、不要なカーブを除外。
→ 頂点密度に依存せず精度が高い。
→ ただし Density Mask の方が高速。両方を組み合わせるのがベスト。
Viewport Amount
ビューポート表示時だけ密度を減らす係数。
Seed
ランダムシード値。
Hair Curves Noise (髪にノイズを加える)

髪のカーブを ノイズテクスチャで変形 させるノードです。髪の毛に自然な揺らぎや不規則さを加えるのに使います。
Hair Curves Noise と次の Hair Curves Frizz は「毛をランダムに乱す」点で似ていますが、目的と挙動が少し違います。
- Noise = 「外部のノイズ場を使って全体をゆらす」 → ふわっとした自然な揺らぎ・髪全体が風や湿気でバサッと乱れた感じ
- Frizz = 「毛の根元~先に沿った細かい乱れ」 → チリチリ・クセ毛感・湿気で髪の一本一本がうねって広がった感じ
「自然なロングヘア」を作りたいなら Noise がメイン
「猫の毛・縮毛・パーマ感」を出したいなら Frizz がメイン

Cumulative Offset(累積オフセット)
オフセットを「前のポイントから順に累積して」適用するかどうか。
→ ONにすると、根元からずれていった影響が毛先に行くほど大きくなる。
→ OFFだと各ポイントが独立して動く。

Factor(係数)
全体的な変形の強さ。

Distance(距離)
変形の「移動量」のスケール。Factorが強さ、Distanceが距離と考えると分かりやすい。

Shape(シェイプ)
曲線に沿った変形の分布。
- 0 = 全体一定
- 1.0に近い = 毛先の方のみノイズがかかる
- -1.0に近い = 根本の方のみノイズがかかる
→ ノイズがかかる部分の調整

Scale(スケール)
ノイズの大きさ。カーブの「根元位置」で決まる。
全体にかかるノイズ

Scale along Curve(カーブに沿ったスケール)
1本のカーブの中で、ノイズのスケールをどのくらい変化させるか。
→ 根元と毛先でノイズの細かさを変えるのに使える。

Offset per Curve(カーブごとのオフセット)
カーブごとにランダムなノイズのズレをつける。
→ 同じ動きにならず自然さが増す。
Seed(シード値)
ランダムのパターンを変えるための番号。

Preserve Length(長さを保持)
各カーブの長さを維持する。ONにすると、変形しても毛の長さが大きく変わらない。
Frizz Hair Curves(縮毛・ちぢれ髪)

髪の毛を縮れさせる。ヘアスタイルに自然なランダム感やクセ毛っぽさを加えるのに便利です。

Cumulative Offset(累積オフセット)
オフセット(ずらし量)を累積的に適用するかどうか。
これを有効にすると、前のポイントの影響を後のポイントも受けるようになります。髪の流れがより自然に見えるかも。

Factor(係数)
全体の効果をどのくらい適用するかをコントロールするスライダー。
値を小さくすれば効果は弱まり、大きくすれば強くなります。

Distance(距離)
カーブをどの程度乱すか(変形させるか)の強さを調整します。
この値を大きくすると、ちぢれる幅が広くなります。

Shape(形状)
カーブ全体の中で、どこにどのくらい効果をかけるかの「効果の分布」を設定します。
- -1= 根本だけ
- 0.0 = 全体に均一
- 1 = 毛先だけ
Seed(シード値)
ランダム性の元となる数値。違う値を入れると異なるちぢれ髪の結果になります。
同じ設定でバリエーションを出したいときに変更します。

Preserve Length(長さを保持)
変形後もカーブの長さを変えずに保つかどうか。
オンにすると、ちぢれても髪の長さは変わりません。
Set Hair Curve Profile(ヘアカーブの太さプロファイルを設定)

このノードは、ヘアカーブの太さ(radius)をカーブ全体の形状に応じて設定するためのものです。髪の根元から先端にかけて細くするなど、自然なプロファイル(断面形状)を与えることができます。

Replace Radius(半径を置き換える)
これをオンにすると、元々設定されていた半径を無視して新しい太さを上書きします。
オフの場合は、髪を追加するブラシのRadiusの設定値の太さになります。

Radius(ベースの半径)
「Replace Radius」がオンの場合に適用される基本の太さ。
たとえばここを「0.01」にすると、カーブ全体の太さのベースが0.01になります。

Shape(形状)
カーブの根元から先端にかけて、どのように太さが変化するかを指定します。
- 0.0 = 均一な太さ(一定)
- 0.5 = 線形に変化(根元→先端で徐々に細く)
- 0.9 = 先端部分が極端に細くなる
- -0.8 = 先端部分が極端に太くなる

Factor Min(最小係数)
カーブの根元付近の太さ倍率。
たとえば「1.0」にすればベースの太さのまま、「0.5」にすれば半分の太さに。

Factor Max(最大係数)
カーブの先端付近の太さ倍率。
たとえば「0.1」にすると、先端はベースの1/10の太さになります。
Clump Hair Curves (髪を房にする)

髪のカーブを「まとめる(束ねる)」ためのノードです。
ガイドカーブを基準にして、周囲の毛を引き寄せて房(クランプ)を作ります。

Guide Distance(ガイド距離)
どのくらい離れたカーブ同士を別のガイドとして扱うか。
→ 値を大きくするとガイドの数が減り、大きな房ができる。
→ 値を小さくするとガイドが増えて、小さな房が多くなる。

Guide Mask(ガイドマスク)
どのカーブをガイド候補にできるかを制御するマスク。
ウェイトペイントなどのGroup名を入力することで使えます。(Existing Guide Mapはオフにしないとそちらが優先されます。)

Existing Guide Map(既存ガイドマップを使う)
すでにある「guide_curve_index」属性を使うかどうか。
ON:既存のマップを利用。(大体はガイドカーブごとに房にするか、補間を使わないなら、全てのガイドカーブで大きな房を作る)
OFF:Guide Indexが未指定の場合、Guide DistanceとGuide Maskをもとに新しくガイドマップを生成。
(※外部でガイドマップを作っておいた方が制御が細かくできる)

Factor(係数)
クランプ効果の強さ。

Shape(シェイプ)
曲線に沿った影響の分布。
0に近いほど尖ったような形になり、1に近いほど上に膨らんだ形になる。

Tip Spread(毛先の広がり)
毛先がどのくらいランダムに広がるか。
→ 値を大きくすると、毛先がバラバラに散る。

Clump Offset(クランプオフセット)
束ごとにランダムな方向へズレる量。

Distance Falloff(距離減衰)
ガイドから離れたときに、クランプ効果をどれくらい弱めるか。
0 のときは減衰なし

Distance Threshold(距離しきい値)
ガイドの影響範囲の最大距離。
→ これ以上離れた毛はクランプされない。
0のとき しきい値はなく、全てクランプされる
Seed(シード値)
ランダム性を変えるための番号。

Preserve Length(長さを保持)
曲線の長さを保持する。ONにすると、束ねても毛の長さ自体は変わらない。
Trim Hair Curves (髪の長さを変える)

髪のカーブを 指定した長さに切りそろえる/伸縮させる ノードです。
「長さを整えるバリカン」みたいな役割で、均一に切ったりランダムに散らしたりできます。

Scale Uniform(均一スケール)
各カーブを 全体的に均一に縮めて/伸ばして 目標の長さに合わせます。
→ OFF:単純に毛先を切り落とす(根元は固定)
→ ON:根元から毛先までバランスよくスケーリング
※わかりやすいように髪にカールを加えています。

Length Factor(長さ係数)
元の長さに倍率をかける。
→ 1.0 = 元のまま
→ 0.5 = 半分に短く
→ 2.0 = 2倍に伸ばす

Replace Length(長さを置き換え)
ONにすると「Length」入力で完全に長さを置き換える。
OFFなら「Length Factor」と併用して元の長さを相対的に調整できる。
Length(長さ)
目標の長さを数値で指定。

Mask(マスク)
効果を部分的にブレンドするマスク。
→ 頭頂部は長く残して、側面だけ短く切る…といった使い分けが可能。

Random Offset(ランダムオフセット)
毛ごとにランダムに長さをばらつかせる量。
→ 均一すぎる毛並みを自然に見せるときに便利。

Pin at Parameter(固定ポイント)
カーブ上のどの位置を固定点とするか。
→ 例えば「根元を固定」にすれば毛先が切れる。
→ 「中央を固定」にすれば根元と毛先の両側から短くなる。
Seed(シード値)
ランダム処理のパターンを変えるための番号。
Roll Hair Curves(カーブを巻く)

髪のカーブを、毛先から根元に向かってクルクルと巻き上げます。
カールやねじれ表現に便利です。
Factor(強さ)
効果全体のブレンド量。0で無効、1で最大。
Subdivision(分割数)
変形の前に髪を細かく分割する数。多いほど滑らかに巻ける。

Variation Level(形状のばらつき)
巻きパスをどの程度スムーズにするか。値を上げるとランダムさが加わって自然なカールに。
※ある程度Roll Lengthがあったり、Subdivisionが高くないと効果が表れにくい

Roll Length(巻き込む長さ)
1本のカーブのうち、どの長さ分を巻き込むか。短いと毛先だけ、長いと全体をぐるぐる。

Roll Radius(巻きの半径)
カールの半径。大きいと緩やかなカール、小さいときついカール。

Roll Depth(巻きの深さ)
ロールを奥行き方向にずらす量。立体的なねじれ感を作れる。

Roll Taper(巻きの先細り)
根元に向かって徐々にカールを弱めたり、毛先側を強調したりする。

Retain Overall Shape(全体形状を保つ)
ロール(巻き)を 元のカーブ形状に沿ってオフセット配置することで、髪全体の流れやシルエットをできるだけ維持します。

Random Orientation(方向のランダム性)
カール方向をランダムにずらす量。自然な毛流れやバラつきを作れる。
Seed(シード値)
ランダム要素を変える値。
Preserve Length(長さを保持)
変形後も元のカーブの長さを保つ。
Curl Hair Curves(髪カーブをカールさせる)

ガイドカーブを使って、既存の髪カーブをカール形状に変形します。
ガイドによるまとまりや距離に応じて、自然な「縦ロール」や「ウェーブ感」を表現できます。
Roll Hair Curves が毛先から巻き上げるイメージなのに対して、こちらは全体をカール(縦ロールや波状カール)にするイメージです。

Guide Distance(ガイド距離)
新しいガイドマップを作るときの「ガイド同士の最小距離」。近すぎると別々のガイドにならない。

Guide Mask(ガイドマスク)
どのカーブがガイド候補として使えるかを指定するマスク。
※Existing Guide Mapをオフにして使います
Existing Guide Map(既存ガイドマップを使用)
すでにある guide_curve_index 属性(ガイドのカーブ)を使うかどうか。
OFF の場合、Guide Index がなければ、Guide Distance と Guide Mask を元にこのノード内で新規ガイドマップを生成します。
→ 別ノードでガイドマップを作ったほうが、より細かいコントロールが可能。
Factor(効果の強さ)
全体的なブレンド量。0で無効、1で最大。
Subdivision(分割数)
変形前に髪を分割する数。多いほど滑らかにカールできる。

Curl Start(カール開始位置)
カーブの根元からどの位置からカールを始めるか。
例:0 → 根元からすぐ、
数値が上がるほどカールのスタートが毛先に近づく

Radius(半径)
カール全体の大きさ。

Factor Start(開始半径の比率)
カール開始地点での半径の倍率。0ならカールなしで始まり、1なら最大半径で始まる。
Factor End(終了半径の比率)
毛先側での半径の倍率。毛先に行くほど細くしたいときに使う。

Frequency(周波数)
カールの「巻きの数」を決める。値を上げるとカールが細かくなる。
ポイントごとに異なる値を与えることも可能。

Random Offset(ランダムオフセット)
カーブごとにカールの位相をランダムにずらす量。
Seed(シード値)
ランダムオフセットの乱数を変える。
Braid Hair Curves(髪カーブを三つ編みにする)

既存の髪カーブを、ガイドカーブに沿って「三つ編み」に変形します。
太さや周波数、末端の広がり、ヘアゴム(ヘアタイ)のインスタンス配置も可能です。

Guide Distance(ガイド距離)
新しいガイドマップを作成するときの「ガイド同士の最小距離」。

Guide Mask(ガイドマスク)
ガイド候補として使えるカーブを制御するマスク。
※Existing Guide Mapがオフじゃないと使えません。
Existing Guide Map(既存のガイドマップを使用)
既存の guide_curve_index 属性(ガイド用カーブ)を使うかどうか。
オフ の場合、Guide Index がなければ Guide Distance と Guide Mask を使って自動生成されます。
※ガイドマップを別ノードで作成すると、より柔軟にコントロール可能。
Factor(効果の強さ)
全体的なブレンド量。0で無効、1で最大。
Subdivision(分割数)
三つ編み変形の前にカーブを細かく分割する数。多いほど滑らかに。
Braid Start(三つ編み開始位置)
カーブの根元から何%の位置から三つ編みを始めるか。
Radius(編み込みの半径)
三つ編み全体の大きさ。

Shape(半径の形状)
三つ編みの半径をカーブに沿ってどう変化させるか。
マイナスだと根本が細くなり、プラスで数値が大きくなると根本が太くなる。(Factor min 0 / Factor Max 1のとき)

Factor Min(最小半径の比率)
三つ編みの最小半径の倍率。
Factor Max(最大半径の比率)
三つ編みの最大半径の倍率。
※根本・毛先、ではなく、Shapeで決めた半径が小さい方が最小半径、大きい方が最大半径になります。
Frequency(周波数)
編み込みの繰り返し回数。値が大きいと細かい編み込みになる。
(カーブの位置ごとに異なる値を与えることも可能)
Thickness(髪の太さ)
三つ編みを構成する毛束1本あたりの太さ。

Thickness Shape(太さの形状変化)
毛束の太さをカーブに沿ってどう変化させるか。
細くなったり太くなったりする場所や、太さが変化します。三つ編みがゆるくなる感じに使えるかもしれません。

Shape Asymmetry(非対称性)
毛束の太さの変化を非対称にする度合い。

Flare Length(末端の広がりの長さ)
三つ編みの終端で広がる部分の長さ。

Flare Opening(末端の広がりの半径)
三つ編みの先端がどれくらい開くか。

Hair Tie(オブジェクト)
三つ編みを結ぶオブジェクトインスタンス
Hair Tie Scale(ヘアゴムのスケール)
ヘアゴムインスタンスの大きさ。
使用例
スザンヌの大きさはそのままです。
アフロ
- Clump Hair Curves
- Guide Distance 0.12m
- Hair Curves Noise
- Factor 0.2
- Distance 0.2m
- Scale 500
- Curl Hair Curves
- Guide Distance 0.12m
- Factor 0.7
- Curl Start 0.1
- Radius 0.1m
- Factor End 0.290
- Frequency 2
- Random Offset 0.5
- Roll Hair Curves
- Factor 0.8
- Subdivision 2
- Variation Level 50
- Roll Length 0.7m
- Roll Radius 0.05m
- Roll Depth 0.1m
- Roll Taper 0.1
- Retain Overall Shape 0.3
などをつかって表現しています。(数値はデフォルトから変更した数値)
カールした髪をさらにRoll Hair Curvesで巻くとそれっぽくなったんですが、めちゃくちゃ重くなりました…。アフロはノイズとかカール、ロールとモディファイアが重なるので結構処理が重くなりがちなヘアスタイルだと思います。

巻き髪
Curl Hair Curves を使ってセットしました。
- Guide Distance 0.25m
- Subdivision 3
- Curl Start 2
- Radius 0.25m
- Frequency 1.5
昔の漫画にあったような縦ロールが簡単に作れて楽しいです。

三つ編み
Braid Hair Curves を使ってセットしています。左右別のメッシュを作って一つにまとめています。
- Guide Distance 1.6m
- Subdivision 3
- Braid Start 0.6
- Radius 0.45m
- Flare Length 0.35m
- Flare Opening 0.1m
- Hair Tie リボンのインスタンス使用

ヘアーカーブガイド
ヘアーカーブ記事をまとめて、どこから読めばいいか導線を書いたガイド記事です。ヘアー、ファー、ヘアーカード作成まで。


コメント