Blender 3.5 の使い方 (21) ヘアカーブの進化

前 (新ヘアシステム) www.mztn.org 次 (VDMブラシ )


Blender 3.5 のヘアカーブの進化

Blender 3.3 LTS から新しいヘアシステムの Hair Curves が導入されました。 Blender 3.5 ではさらに大きく進化したヘアシステムとなって、新しい使い方ができるようになっています。


b35_20220223_720.jpg


新しい機能のため、まだ日本語化されていない部分が多いため、英語表示のスクリーンショットとしています。 また、明るいテーマ (Blender Light) の不具合が 3.5 で修正されたため、テーマとして Blender Light を使います。 ヘアカーブの基本的な使い方はこちら

Fur の使い方

Blender 3.5 では新しいカーブプリミティブとして毛皮的な表現が簡単にできる「Fur」が追加されました。 Blender に新しくアセットとしてバンドルされるようになったヘア用のジオメトリノードを利用して実現されています。 新しい「Fur」カーブプリミティブを試すために、まず毛を植えるオブジェクトを用意します。 今回はサイズが 40cm 程度のクマのヌイグルミ的なオブジェクトとしました。 オブジェクト全体にカーブが発生するのでメッシュオブジェクトを2つに分けて、ボディの部分を選択してアクティブにします。

fur35_00.png


メニューの「Add」のカーブを選ぶと、3.5から「Fur」が選択できるようになっています。 ジオメトリノードによって、カーブを簡単に操作できるようなプリミティブです。

fur35_01.png


オブジェクトが小さいので、カーブの長さを短く、密度を高くしています。

fur35_02.png


モディファイアを確認すると、ジオメトリノードによる 5つのモディファイアが確認できます。 一番下の「Frizz Hair Curves」は縮れたヘアにするモディファイアです。

fur35_03.png


「Frizz Hair Curves」の Factor を 0.0 に変更すると、真っ直ぐなヘアになります。 生える方向がムラになっているのは「Hair Curves Noise」による効果です。

fur35_04.png


「Hair Curves Noise」の Factor を 0.0 に変更すると、最初に指定した長さのまっすぐなヘアが均一に生えた状態になります。 表面に垂直な真っ直ぐなヘアは、密度を上げても視点(カメラ)からはヘアが見えない部分ができてしまいます。

fur35_05.png


「Hair Curves Noise」の Factor を 0.2 に変更すると、生える方向が少し変化します。

fur35_06.png


Scale を大きくするとノイズの大きさが小さくなるため、毛並みが乱れた感がでてリアルさが増します。

fur35_07.png


パラメータを微調整して、Cycles でレンダリングすると、リアルな感じのぬいぐるみとなりました。

fur35_08.png


以上のように、Fur を選んでパラメータを変更するだけで簡単にモフモフな表現ができるようになっています。

Essential アセット

Blender 3.5 から、Blenderのアセットが標準でバンドルされるようになりました。 Blender 3.5 ではジオメトリノードで実現されたヘア用のモディファイアが付属しています。

エリアの1つをアセットライブラリに切り替えて、「Hair」を選択します。

hair20230221_asset.png


ヘア用のアセットの使い方

アセットライブラリを利用するモデルを用意します。 このモデルは、このサイトで解説した方法 ( スカルプトリトポロジー皮膚ジオメトリーノードヘアカーブ ) を組み合わせて作成しています。


hair20230222_asset_00.png


アセットライブラリの一部では、ヘアを生やす場所の指定にマスク用のテクスチャを使うため、頭皮部分だけ白くした、Maskという名前のテクスチャ画像を用意しました。

hair20230222_asset_00mask.png


Generate Hair Curves

Generate Hair Curves を追加すると、指定したオブジェクトに指定した長さ、密度のヘアを植えることができます。 マスク用のテクスチャを指定すると生やす場所を指定できます。

hair20230222_asset_g01.png


Interpolate Hair Curves

まず、ガイドカーブ用の Empty Hair を追加して、 スカルプトモードで Add ブラシを使って数本のヘアカーブを植えます。

hair20230222_asset_ip01.png


オブジェクトモードに切り替えて、ヘアカーブを選択した状態にします。

hair20230222_asset_ip02.png


アセットライブラリから、「Interpolate Hair Curves」のアイコンを 3Dビューポートにドラッグします。

hair20230222_asset_ip03.png


一旦、ガイドカーブがすべて消えますが、Surface Object に植毛するオブジェクトを選択して、植える部分を制限するためのマスクテクスチャを指定します。

hair20230222_asset_ip04.png


スカルプトモードに切り替えると、白く表示されたガイドカーブの周辺に補間されたヘアが生えます。 「Distance to Guides」の値で広がりが決まり、「Density」の値を大きくすると本数が増えます。

hair20230222_asset_ip05.png


Clump Hair Curves

Clump Hair Curves をドラッグすると、毛先がまとまった形になります。

hair20230222_asset_ip06.png


Curl Hair Curves

Curl Hair Curves を追加するとガイドカーブの周りにカールします。

hair20230222_asset_ip07.png


Frizz Hair Curves

Frizz Hair Curves を追加すると縮れたヘアになります。

hair20230222_asset_ip08.png



Interpolate Curves ノードとガイドカーブ

上記の Fur でも バンドルアセット でも Blender 3.5 のジオメトリーノードに追加された Interpolate Curves ノードを利用しています。ヘアカーブをガイドとして数本置いて、長さや形状を補間させることができます。 ヘアカーブの使い勝手が大きく向上する機能なので、基本的な使い方からていねいに説明できればと思います。

Interpolate Curves ノードの基本

まず、ノードを追加するメニューの位置ですが、Blender 3.5 からノードメニューの階層が1段深くなったため、ちょっと探しにくくなりました。「Add / Curve / Operations / Interpolate Curves」、日本語だと「追加 / カーブ / 処理リスト / カーブ補間」となります。

InterpolateCurveNode.png


ヘアを植えるオブジェクトとして「Icosphere」を使います。

InterpolateCurve000.png


補間の元になるカーブ (ガイド) を追加するため、ヘアを植えるオブジェクトを選択して、Curve / Empty Hair を選択します。 この状態では空なので何も見えません。

InterpolateCurve001.png


アウトライナーから追加した「Curves」オブジェクトを選択して、スカルプトモードに切り替えます。 Add ブラシを選択して、長さを 1m としたガイド用のヘアを数本追加します。

InterpolateCurve002.png


このままでは、ヘアが細くて見にくいので太さを変更できるようにレンダープロパティのCurves の項目から 「Strip」を選択します。 またカーブがなめらかに表示されるように、追加の細分化 (Additional Subdivision) として 3 を設定します。

InterpolateCurve003.png


クシ (Comb) ブラシでちょっと変化をつけます。

InterpolateCurve004.png


オブジェクトモードに切り替えて、下側のエリアをジオメトリノードエディタにします。 ヘアカーブのジオメトリノードには最初から「Deform Curves on Surface」が追加された状態になっています。

このノードはアーマチュアなどで物体の表面のポリゴンが変形した場合にもヘアカーブが形の変化に追従してくれるようにするノードです。

InterpolateCurve005.png


球体の方を選択して、ジオメトリノードエディタの「New」をクリックすると内容が空のジオメトリノードができます。

InterpolateCurve006.png


カーブのジオメトリノードとして Interpolate Curves を使いますが、Points入力にはヘアを植えるオブジェクト側のカーブの根元の位置(Point)を指定する必要があります。

そのために「Distribute Points on Faces」を追加して、リストから「Poisson Disk」を選択すると、球体は消えて球体表面に小さな点 (Points) が出現します。 この Points を補間でヘアの生える位置 (毛根) として使います。

InterpolateCurve007.png


元の球体も表示したいので、「Join Geometry」ノードで Group Input のGeometry 出力と、「Distribute Points on Faces」の Points 出力を結合します。

ノードを接続するラインを曲げるための節点は「Shift + 右ドラッグ」でラインを切るようにすると出てきます。 「Ctrl + X」を押すと節点だけ消えます。

InterpolateCurve008.png


次にオブジェクトモードでヘアカーブを選択して、ジオメトリノードエディタで「Interpolate Curve」ノードを追加します。「Interpolate Curve」の「Points」入力にObject Info ノードの Geometry 出力をつないで、オブジェクトとして球体 (Icosphere) を選択すると、「Distribute Points on Faces」で生成した点にヘアが発生します。

一方、最初のガイド用のヘアは表示されなくなります。

InterpolateCurve009.png


スカルプトモードに切り替えると、ガイドヘアは白く表示され、これをくし・ブラシなどで変形させると、保管されたヘアカーブも同じように変形することが確認できます。

InterpolateCurve009a.png


InterpolateCurve010.png


InterpolateCurve011.png


ヘアカーブの生える場所をコントロール

「Interpolate Curve」ノードを使っても、オブジェクト全体にヘアカーブを発生させたくない場合があります。 オブジェクトの一部の表面だけに限定してヘアカーブの生やす事を考えます。

そのために「Distribute Points on Faces」を追加して、出力の Points を補間でヘアの生える位置 (毛根) として使います。元の球体も表示したいので、「Join Geometry」ノードで Group Input のGeometry 出力と、「Distribute Points on Faces」の Points 出力を結合します。

また球体には2種類の色のマテリアルを設定しています。 マテリアルスロットの上の白いマテリアルのインデックスは 0、ピンク色のマテリアルのインデックスは 1 のように上から順に「マテリアルインデックス」という番号が振られます。

InterpolateCurve_B20230224a.png


次にオブジェクトモードでヘアカーブを追加して、スカルプトモードでヘアカーブを数本追加します。

InterpolateCurve_B20230224b.png


次にオブジェクトモードでヘアカーブを選択して、ジオメトリノードエディタで「Interpolate Curve」ノードを追加します。ガイドカーブは表示されなくなります。

InterpolateCurve_B20230224c.png


「Object Info」ノードを追加して、オブジェクトには球体(Icosphere)を指定します。 Geometry 出力は「Interpolate Curve」ノードの Points 入力に接続します。

InterpolateCurve_B20230224d.png


カーブが見やすくなるように、「Set Curve Radius」で少し太くして、「Set Material」でみどり色を設定しました。

InterpolateCurve_B20230224e.png


マテリアルでコントロール

球体オブジェクトのジオメトリノードで、「Distribute Points on Faces」の Selection 入力の ON/OFF でポイントの出力をコントロールできます。 ここでは、マテリアルインデックスを 1 と比較して等しい場合に真(1)となるノードを接続します。 マテリアルインデックスを 1 であるピンク色のマテリアルの部分にだけヘアを植えることができました。

InterpolateCurve_B20230224f.png



頂点カラーでコントロール

頂点カラーでポイントの分布を制御します。 ここでは頂点 (Face Corner) の青色成分が 0.2 より大きい場合にポイントを発生させます。

InterpolateCurve_B20230224vc.png


頂点グループでコントロール

編集モードで頂点グループを割り当てて、その頂点グループ名を使う。 頂点グループ名が「Group」の場合にポイントを発生させます。

InterpolateCurve_B20230224vg.png


同じマテリアルで異なるインデックスでコントロール

同じマテリアルを2つ登録すると、別々のマテリアルインデックスを同じマテリアルに与えることができます。 ここではマテリアルインデックスの 0 と 2 が同じマテリアルに設定していて、マテリアルインデックスが 2 の場合だけポイントを発生させます。下の頭髪の例で使用しています。

InterpolateCurve_B20230224index.png


上記のアセットではマスクテクスチャ画像を使ってヘアの発生箇所をコントロールしていましたが、ここで示したようにいろいろな方法でコントロールすることができます。


ヘアスタイルを整える

Blender 3.5 でヘアカーブを変形させるにはスカルプトモードと編集モードが使えます。 編集モードは Blender 3.5 で新しく追加された機能です。


hair20230221_00.png


ここでは、以下のようなジオメトリノードを使います。 ガイドカーブと補間で表示されるカーブを「Guide」チェックボックスで別々に表示できるようにしています。 ガイドカーブを表示する場合は太く表示するようにしています。

hair20230221_00node.png


スカルプトモード

スカルプトモードでは補間されるカーブとともに、ガイドカーブも白く表示されます。

hair20230221_00sc.png


編集モード

編集モードでは、頂点とエッジが表示されてメッシュの編集のように選択して変形できるようになります。

hair20230221_00ed.png


ガイド表示でスカルプトモード

スカルプトモードではガイドカーブが白く表示されますが、同じものを表示しているのでサブディビジョンのレベル以外は違いはありません。

hair20230221_01sc.png


編集モードでガイド表示

頂点を細かく選択したり、移動が楽になります。細かい修正がしやすい使い方です。

hair20230221_01ed.png


編集モードでは色々な頂点の選択方法が選べます。 中でも Endpoints が毛先や根元を頂点数を指定して選択できます。 「End Points」のチェックボックスをチェックすると毛先からの頂点数を指定して選択できます。

hair20230221_01ed2.png


チェックを外すと、根元からの頂点数を指定できます。

hair20230221_01ed3.png


選択される頂点は、すでに選択した頂点の中から選択されるため、以下の操作では根元から2番めの頂点だけ選択といった使い方が可能です。

hair20230221_01ed4.png


編集モードで部分的に選択した場合

編集モードで部分的に選択します。

hair20230221_02ed.png


スカルプトモードでは選択された部分だけ明るく表示されます。 明るく表示され他部分だけがブラシで変形できます。

hair20230221_02sc.png


ヘアとオブジェクトの衝突回避

右端のアイコンをチェックすると、クシブラシで移動させる場合に頂点がオブジェクトの表面を貫通して移動することがなくなります。

hair20230221_03.png


クシブラシでカーブのフォールオフ

「Curve Falloff」を設定すると、カーブの位置によって Comb ブラシの効き方を変更できるようになりました。ヘアの根元が寝ないように曲線による設定が可能となっています。 髪の分け目などが楽になりました。

CurveFallOff01.png


バンドルアセットも組み合わせて使用

上記の様の自分でヘアスタイルを整えた場合でも、アセットから選択して追加でモディファイアを適用することができます。

Clump Hair Curves をドラッグすると、毛先がまとまった形になります。

hair20230221_asset_01.png


Curl Hair Curves を追加するとガイドカーブの周りにカールします。

hair20230221_asset_02.png


Braid Hair Curves を追加するとガイドカーブの周りが三つ編み状になります。

hair20230221_asset_03.png


Blender 3.5 ではヘアスタイルを整えるのが圧倒的に楽になりました。 頭髪を複数のパートに分けたりする必要がほとんど無くなると思います。

ハサミもクシもブラシもドライヤーもすべて揃いました。あとは美容師の技術だけ。


ページ先頭へ


Blender 2.8 - 4.3 の使い方 [目次]

copyright (C) 2019-2024 Jun Mizutani