Blender 3.3 LTSに含まれる予定のヘアーの作成に適した新しいカーブシステムについての紹介です。この新しいヘアシステムは、以前紹介したオープンムービープロジェクト Project Heist の制作と並行して開発されています。
次の動画では、プロダクションデザインを担当の Andy Goralczyk氏が Project Heist の主人公を用いて新しいヘアシステムについて説明してくれています。
また、開発者のDALAI FELINTO氏はBlenderの開発ブログで、新しいシステムの背後にある主な設計思想、初期の成果を取り上げ、近い将来にどうなるのかを説明しました。以下では、その内容を紹介したいと思います。
カーブオブジェクト
新システムはカーブ(Curves)オブジェクトをベースにしています。毛髪の作成を始めるには、まず(頭皮となる)表面(surface)が必要です。このメッシュは、変形と、新しいカーブを追加するために使用されます。
サーフェスオブジェクトをアクティブにして、追加メニューから、カーブ → 空のヘアーを選びます。これで新しいカーブオブジェクトが作成され、以下のような設定が自動的に行われます。
- アクティブなメッシュオブジェクトをサーフェイスとして設定します。
- 新しいカーブオブジェクトをサーフェスにペアレント化します。
- Deform Curves with Surface ノードをセットアップします。
ヘア用に新しいカーブオブジェクトを追加して、カーブの追加とコーミングを開始したい場合、ほとんどこの手順をとることになるとされています。アニメーションの場合、サーフェスがアニメーションされると、カーブは自動的に変形します。もっと複雑な設定が必要な場合は、最初のノードグループを調整できます。
アウトライナーは、複数のカーブオブジェクトをグループ化したり、非表示にしたり、基本的なレイヤーシステムを構築するための場所となっています。
球状ブラシ
2020年、ジオメトリノードプロジェクトの開発段階において、Blender StudioのアーティストであるAndy Goralczyk氏は、既存のパーティクルシステムについて最も望むことを尋ねられました。そのときの答えが、Geometry Nodesプロジェクトの最初のステップとなり、パーティクルプロジェクトを今日のような形に発展させることにつながったとされています。
ヘアパーティクルは、アーティストがセットドレッシングを行う際によく使用するシステムなので、Andy氏は、ヘアグルーミングについても質問を受けました。その質問に対し、Andy氏は、既存の機能についてのコメントだけでなく、一般に2Dブラシと呼ばれる投影モードでは不自然なエフェクトや、髪の櫛に不気味な歪みが生じるといった、既存のブラシについて特別な懸念を示しました。
これがきっかけで、チームは新しいツールにおいて球状ブラシ(Spherical Brush)を優先して作成することになりました。新しい3Dブラシは、カーソルに近いカーブに基づいて空間内の位置を計算し、その位置から球体として効果を適用します。
ワークフローについて
デジタルヘア制作のワークフローは、プロシージャルと破壊の2種類に大別されます。破壊的ワークフローはヒーローキャラクターに最適で、プロシージャルパイプラインは処理能力(スループット)に優れており、よりスケーラブルな方法でヘアスタイルを再現したり微調整したりすることができます。
破壊的なパイプラインは、アーティストが手作業でビジョンを実現するためのツールに重点を置いています。そのために、コーム、ピンチ、パフ、シュリンク、スライドなどのツールが必要です。
一方、プロシージャルワークフローは、固まり具合、長さ、密度、ねじれ、粗さ、ねじれなどのパラメータに基づいて髪を作り、形を整えていきます。
新しいヘアシステムでは、この両方を組み合わせも考えられています。
破壊的なワークフロー
- 追加(Add)
- くし(Comb)
- 削除(Delete)
- Density
- Grow/Shrink
- ピンチ(Pinch)
- パフ(Puff)
- スライド(Slide)
- スムーズ(Smooth)
- スネークフック(Snake Hook)
プロシージャルワークフロー
ジオメトリノードプロジェクトは、Blenderのワークフローにおけるプロシージャルパイプラインの可能性を示しました。非破壊的なモデリングは以前から可能でしたが、既存のモディファイアときめ細かいユーザ制御のジオメトリノードを組み合わせることで、飛躍的にその可能性が高まりました。
ヘアが単なるカーブであり、カーブがジオメトリノードですでにサポートされていることを考えると、新しいCurvesオブジェクトにも同じような利点があります。
子の補間、髪の分け目、複雑なヘアスタイル、ストレートでない髪のタイプなど、ヘアの使用例に焦点を当てたカーブノードの必要性はまだありますが、破壊ツールで可能なすべてのエフェクトはノードでも可能で、完全なプロシージャルのパイプライン、またはノードで強化されたガイドヘアとの混合パイプラインが可能になるはずです。
現時点では、一般的なカーブエフェクトがノードシステムで利用可能です。Project Heistでは、乱れた髪を追加するために、すでにこれをテストしており、メインヘアオブジェクトと同じカーブデータブロックを使用したオブジェクトで、いくつかのジオメトリノードモディファイアを追加して、さらにランダム性とボリュームを追加しています。
プロシージャル破壊ツール
ヘア開発の初期段階において、Andy氏はSimon Thommes氏と協力して、Project Heist用の破壊的なコーミングの一部として効果を追加するために、いくつかの「使い捨て」ジオメトリノードを作成しました。
彼は、既存のツールを使って作業し、新しいGeometry Nodesモディファイヤーを追加し、いくつかのパラメータを微調整して、モディファイヤーを適用していました。これにはノイズ、密度調整、ランダム削除、ヘア再サンプル、厚み、長さのランダム化などが含まれています。
これらのエフェクトの中には、広く使えるツールになりそうなもの(リサンプリングなど)もありますが、他の効果はプロダクションのルックに固有のもの(ヘアカーブプロファイルを定義するヘアの厚みなど)であることがすぐにわかりました。結局、各ブラシの核となる部分は、かなり小さなものでした。
そこで、アーティストの意見を可能な限り活用し、パイプライン特有の効果を生み出すためのツールを提供するために、あるアイデアが生まれました。
- ジオメトリノードベースのカーブスカルプティングブラシ(Geometry Nodes based curve sculpting brushes)。
- ジオメトリノードベースのカーブオペレーター(Geometry Nodes based curve operators)。
これは、メッシュモデリングや、新しいツールのプロトタイプにも有効なものです。オペレータ固有の入出力(選択やエラーメッセージなど)をどのようにノードに統合するか、また、ブラシエンジンとオペレータロジックをどのように分離するかについて、最終的な設計はまだされていません。
また、これはプリセットの一部として、通常のブラシと一緒にアセットブラウザシステムに組み込まれることになるとされています。
次のステップ
新しいカーブシステムはBlenderに正式に導入されましたが、まだ初期段階にあります。チームは現在、SIGGRAPH 2022のデモに十分なほどこのシステムをエキサイティングなものにすることに集中しており、現在のところ、ノードベースオペレータの予備的なサポート、ヘアをカットするための新しいツール、それを滑らかにするためのツール、そしてフィルオペレーターなどが考えられています。
次のステップは、非破壊的なパイプラインのために、より髪に特化したジオメトリノードをサポートすることです。最後には、新しいカーブオブジェクトの編集モードを含め、古いカーブシステムを置き換える作業を行う必要があります。プロジェクトがこの段階に達したら、より多くの人が既存のオペレータの移植を手伝えるように、タスクフォースやヘルプの呼びかけが行われる予定となっています。
新しいカーブシステムの使用について
新しいシステムをテストするには、Blender 3.3 のデイリービルドの最新版をダウンロードしてください。
Blender 3.3 のデイリービルドのダウンロードはこちらから
現在の制限についてドキュメントはこちらから
バグ報告はこちらのページから可能です。
新しいヘアシステムのデモファイルはこちらからダウンロード可能です。
コメント