Blender 3.5 のヘアカーブの進化
Blender 3.3 LTS から新しいヘアシステムの Hair Curves が導入されました。 Blender 3.5 ではさらに大きく進化したヘアシステムとなって、新しい使い方ができるようになっています。
新しい機能のため、まだ日本語化されていない部分が多いため、英語表示のスクリーンショットとしています。 また、明るいテーマ (Blender Light) の不具合が 3.5 で修正されたため、テーマとして Blender Light を使います。 ヘアカーブの基本的な使い方はこちら。
Fur の使い方
Blender 3.5 では新しいカーブプリミティブとして毛皮的な表現が簡単にできる「Fur」が追加されました。 Blender に新しくアセットとしてバンドルされるようになったヘア用のジオメトリノードを利用して実現されています。 新しい「Fur」カーブプリミティブを試すために、まず毛を植えるオブジェクトを用意します。 今回はサイズが 40cm 程度のクマのヌイグルミ的なオブジェクトとしました。 オブジェクト全体にカーブが発生するのでメッシュオブジェクトを2つに分けて、ボディの部分を選択してアクティブにします。
メニューの「Add」のカーブを選ぶと、3.5から「Fur」が選択できるようになっています。 ジオメトリノードによって、カーブを簡単に操作できるようなプリミティブです。
オブジェクトが小さいので、カーブの長さを短く、密度を高くしています。
モディファイアを確認すると、ジオメトリノードによる 5つのモディファイアが確認できます。 一番下の「Frizz Hair Curves」は縮れたヘアにするモディファイアです。
「Frizz Hair Curves」の Factor を 0.0 に変更すると、真っ直ぐなヘアになります。 生える方向がムラになっているのは「Hair Curves Noise」による効果です。
「Hair Curves Noise」の Factor を 0.0 に変更すると、最初に指定した長さのまっすぐなヘアが均一に生えた状態になります。 表面に垂直な真っ直ぐなヘアは、密度を上げても視点(カメラ)からはヘアが見えない部分ができてしまいます。
「Hair Curves Noise」の Factor を 0.2 に変更すると、生える方向が少し変化します。
Scale を大きくするとノイズの大きさが小さくなるため、毛並みが乱れた感がでてリアルさが増します。
パラメータを微調整して、Cycles でレンダリングすると、リアルな感じのぬいぐるみとなりました。
以上のように、Fur を選んでパラメータを変更するだけで簡単にモフモフな表現ができるようになっています。
Essential アセット
Blender 3.5 から、Blenderのアセットが標準でバンドルされるようになりました。 Blender 3.5 ではジオメトリノードで実現されたヘア用のモディファイアが付属しています。
エリアの1つをアセットライブラリに切り替えて、「Hair」を選択します。
ヘア用のアセットの使い方
アセットライブラリを利用するモデルを用意します。 このモデルは、このサイトで解説した方法 ( スカルプト、 リトポロジー、 目、 皮膚、 ジオメトリーノード、 ヘアカーブ ) を組み合わせて作成しています。
アセットライブラリの一部では、ヘアを生やす場所の指定にマスク用のテクスチャを使うため、頭皮部分だけ白くした、Maskという名前のテクスチャ画像を用意しました。
Generate Hair Curves
Generate Hair Curves を追加すると、指定したオブジェクトに指定した長さ、密度のヘアを植えることができます。 マスク用のテクスチャを指定すると生やす場所を指定できます。
Interpolate Hair Curves
まず、ガイドカーブ用の Empty Hair を追加して、 スカルプトモードで Add ブラシを使って数本のヘアカーブを植えます。
オブジェクトモードに切り替えて、ヘアカーブを選択した状態にします。
アセットライブラリから、「Interpolate Hair Curves」のアイコンを 3Dビューポートにドラッグします。
一旦、ガイドカーブがすべて消えますが、Surface Object に植毛するオブジェクトを選択して、植える部分を制限するためのマスクテクスチャを指定します。
スカルプトモードに切り替えると、白く表示されたガイドカーブの周辺に補間されたヘアが生えます。 「Distance to Guides」の値で広がりが決まり、「Density」の値を大きくすると本数が増えます。
Clump Hair Curves
Clump Hair Curves をドラッグすると、毛先がまとまった形になります。
Curl Hair Curves
Curl Hair Curves を追加するとガイドカーブの周りにカールします。
Frizz Hair Curves
Frizz Hair Curves を追加すると縮れたヘアになります。
Interpolate Curves ノードとガイドカーブ
上記の Fur でも バンドルアセット でも Blender 3.5 のジオメトリーノードに追加された Interpolate Curves ノードを利用しています。ヘアカーブをガイドとして数本置いて、長さや形状を補間させることができます。 ヘアカーブの使い勝手が大きく向上する機能なので、基本的な使い方からていねいに説明できればと思います。
Interpolate Curves ノードの基本
まず、ノードを追加するメニューの位置ですが、Blender 3.5 からノードメニューの階層が1段深くなったため、ちょっと探しにくくなりました。「Add / Curve / Operations / Interpolate Curves」、日本語だと「追加 / カーブ / 処理リスト / カーブ補間」となります。
ヘアを植えるオブジェクトとして「Icosphere」を使います。
補間の元になるカーブ (ガイド) を追加するため、ヘアを植えるオブジェクトを選択して、Curve / Empty Hair を選択します。 この状態では空なので何も見えません。
アウトライナーから追加した「Curves」オブジェクトを選択して、スカルプトモードに切り替えます。 Add ブラシを選択して、長さを 1m としたガイド用のヘアを数本追加します。
このままでは、ヘアが細くて見にくいので太さを変更できるようにレンダープロパティのCurves の項目から 「Strip」を選択します。 またカーブがなめらかに表示されるように、追加の細分化 (Additional Subdivision) として 3 を設定します。
クシ (Comb) ブラシでちょっと変化をつけます。
オブジェクトモードに切り替えて、下側のエリアをジオメトリノードエディタにします。 ヘアカーブのジオメトリノードには最初から「Deform Curves on Surface」が追加された状態になっています。
このノードはアーマチュアなどで物体の表面のポリゴンが変形した場合にもヘアカーブが形の変化に追従してくれるようにするノードです。
球体の方を選択して、ジオメトリノードエディタの「New」をクリックすると内容が空のジオメトリノードができます。
カーブのジオメトリノードとして Interpolate Curves を使いますが、Points入力にはヘアを植えるオブジェクト側のカーブの根元の位置(Point)を指定する必要があります。
そのために「Distribute Points on Faces」を追加して、リストから「Poisson Disk」を選択すると、球体は消えて球体表面に小さな点 (Points) が出現します。 この Points を補間でヘアの生える位置 (毛根) として使います。
元の球体も表示したいので、「Join Geometry」ノードで Group Input のGeometry 出力と、「Distribute Points on Faces」の Points 出力を結合します。
ノードを接続するラインを曲げるための節点は「Shift + 右ドラッグ」でラインを切るようにすると出てきます。 「Ctrl + X」を押すと節点だけ消えます。
次にオブジェクトモードでヘアカーブを選択して、ジオメトリノードエディタで「Interpolate Curve」ノードを追加します。「Interpolate Curve」の「Points」入力にObject Info ノードの Geometry 出力をつないで、オブジェクトとして球体 (Icosphere) を選択すると、「Distribute Points on Faces」で生成した点にヘアが発生します。
一方、最初のガイド用のヘアは表示されなくなります。
スカルプトモードに切り替えると、ガイドヘアは白く表示され、これをくし・ブラシなどで変形させると、保管されたヘアカーブも同じように変形することが確認できます。
ヘアカーブの生える場所をコントロール
「Interpolate Curve」ノードを使っても、オブジェクト全体にヘアカーブを発生させたくない場合があります。 オブジェクトの一部の表面だけに限定してヘアカーブの生やす事を考えます。
そのために「Distribute Points on Faces」を追加して、出力の Points を補間でヘアの生える位置 (毛根) として使います。元の球体も表示したいので、「Join Geometry」ノードで Group Input のGeometry 出力と、「Distribute Points on Faces」の Points 出力を結合します。
また球体には2種類の色のマテリアルを設定しています。 マテリアルスロットの上の白いマテリアルのインデックスは 0、ピンク色のマテリアルのインデックスは 1 のように上から順に「マテリアルインデックス」という番号が振られます。
次にオブジェクトモードでヘアカーブを追加して、スカルプトモードでヘアカーブを数本追加します。
次にオブジェクトモードでヘアカーブを選択して、ジオメトリノードエディタで「Interpolate Curve」ノードを追加します。ガイドカーブは表示されなくなります。
「Object Info」ノードを追加して、オブジェクトには球体(Icosphere)を指定します。 Geometry 出力は「Interpolate Curve」ノードの Points 入力に接続します。
カーブが見やすくなるように、「Set Curve Radius」で少し太くして、「Set Material」でみどり色を設定しました。
マテリアルでコントロール
球体オブジェクトのジオメトリノードで、「Distribute Points on Faces」の Selection 入力の ON/OFF でポイントの出力をコントロールできます。 ここでは、マテリアルインデックスを 1 と比較して等しい場合に真(1)となるノードを接続します。 マテリアルインデックスを 1 であるピンク色のマテリアルの部分にだけヘアを植えることができました。
頂点カラーでコントロール
頂点カラーでポイントの分布を制御します。 ここでは頂点 (Face Corner) の青色成分が 0.2 より大きい場合にポイントを発生させます。
頂点グループでコントロール
編集モードで頂点グループを割り当てて、その頂点グループ名を使う。 頂点グループ名が「Group」の場合にポイントを発生させます。
同じマテリアルで異なるインデックスでコントロール
同じマテリアルを2つ登録すると、別々のマテリアルインデックスを同じマテリアルに与えることができます。 ここではマテリアルインデックスの 0 と 2 が同じマテリアルに設定していて、マテリアルインデックスが 2 の場合だけポイントを発生させます。下の頭髪の例で使用しています。
上記のアセットではマスクテクスチャ画像を使ってヘアの発生箇所をコントロールしていましたが、ここで示したようにいろいろな方法でコントロールすることができます。
ヘアスタイルを整える
Blender 3.5 でヘアカーブを変形させるにはスカルプトモードと編集モードが使えます。 編集モードは Blender 3.5 で新しく追加された機能です。
ここでは、以下のようなジオメトリノードを使います。 ガイドカーブと補間で表示されるカーブを「Guide」チェックボックスで別々に表示できるようにしています。 ガイドカーブを表示する場合は太く表示するようにしています。
スカルプトモード
スカルプトモードでは補間されるカーブとともに、ガイドカーブも白く表示されます。
編集モード
編集モードでは、頂点とエッジが表示されてメッシュの編集のように選択して変形できるようになります。
ガイド表示でスカルプトモード
スカルプトモードではガイドカーブが白く表示されますが、同じものを表示しているのでサブディビジョンのレベル以外は違いはありません。
編集モードでガイド表示
頂点を細かく選択したり、移動が楽になります。細かい修正がしやすい使い方です。
編集モードでは色々な頂点の選択方法が選べます。 中でも Endpoints が毛先や根元を頂点数を指定して選択できます。 「End Points」のチェックボックスをチェックすると毛先からの頂点数を指定して選択できます。
チェックを外すと、根元からの頂点数を指定できます。
選択される頂点は、すでに選択した頂点の中から選択されるため、以下の操作では根元から2番めの頂点だけ選択といった使い方が可能です。
- Endpoints でチェックを外して根元を1つ選択
- 選択メニューで「Invert」で反転
- Endpoints でチェックを外して根元を1つ選択
編集モードで部分的に選択した場合
編集モードで部分的に選択します。
スカルプトモードでは選択された部分だけ明るく表示されます。 明るく表示され他部分だけがブラシで変形できます。
ヘアとオブジェクトの衝突回避
右端のアイコンをチェックすると、クシブラシで移動させる場合に頂点がオブジェクトの表面を貫通して移動することがなくなります。
クシブラシでカーブのフォールオフ
「Curve Falloff」を設定すると、カーブの位置によって Comb ブラシの効き方を変更できるようになりました。ヘアの根元が寝ないように曲線による設定が可能となっています。 髪の分け目などが楽になりました。
バンドルアセットも組み合わせて使用
上記の様の自分でヘアスタイルを整えた場合でも、アセットから選択して追加でモディファイアを適用することができます。
Clump Hair Curves をドラッグすると、毛先がまとまった形になります。
Curl Hair Curves を追加するとガイドカーブの周りにカールします。
Braid Hair Curves を追加するとガイドカーブの周りが三つ編み状になります。
Blender 3.5 ではヘアスタイルを整えるのが圧倒的に楽になりました。 頭髪を複数のパートに分けたりする必要がほとんど無くなると思います。
ハサミもクシもブラシもドライヤーもすべて揃いました。あとは美容師の技術だけ。
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