Labs Edge Color / Dissolve Flat Edges / Edge Group To Curveノードについて


こちらの記事では、「Labs Edge Color」「Labs Dissolve Flat Edges」「Labs Edge Group To Curve」ノードの概要および各ノードのパラメーターについてご紹介します。
SideFXLabsツールのノードは、SideFX社のホームページで紹介されています。併せてご覧ください。


SideFXLabsツールのインストール手順

SideFX Labsツールセットのインストール手順については、以下の記事をご参照ください。

Houdiniの内部システムからの直接インストール

Githubからの手動インストール



Labs Edge Colorノードとは

ジオメトリ上の鋭角なエッジに色を付けます。

Edge Colorは、コントラストとぼかしを制御して、ジオメトリの鋭角な変化を強調します。また、convex(凸)エッジとconcave(凹)エッジを識別し、それらを別々に処理することもできます。Edge Colorは、必要なエッジ間の合理的な量のサブディビジョンが必要であることに注意してください。色は@Cdポイントアトリビュートとして格納されているので、フラットな領域ごとに内部ディテールが足りない場合は、エッジを他のジオメトリから分離するのに十分なポイントがありません。

各パラメーターについて

①Mask Color

エッジに使用する色を設定します。

②Blend Mode

色をブレンドする方法を指定します。

Convex

③Intensity

convex(凸)エッジをマスクする強度を設定します。

④Contrast

追加するコントラストの量を設定して、エッジのマスク処理を薄くまたは濃くします。

⑤Blur Amount

マスク処理の結果をぼかして柔らかくします。

Concave

⑥Blur Amount

マスク処理の結果をぼかして柔らかくします。


Labs Edge Colorノードの機能

次に、Labs Edge Colorノードの機能についてご紹介します。今回は、Houdini18.0.460を使用しています。最初に、Houdiniを起動してSideFXLabsツールが正常に読み込まれていることを確認します。

ジオメトリネットワーク上でBoxノードを作成します。

Boxノードの下にPolyBevelノードを接続して、Groupパラメーターの右端カーソルアイコンをクリックし、ベベルを掛けるエッジを選択します。

■補足:エッジの選択
ビューポート左上にある選択ツールの[Select Edges]をクリックすることで、エッジを選択することができます。

こちらでは、全てのエッジを選択しています。選択後、ビューポート上でEnterキーを押します。

次に、ジオメトリを細分化するためにPolyBevelノードの下にSubdivideノードを接続して、Depthパラメーター4にします。

ジオメトリに色を割り当てるためにSubdivideノードの下にColorノードを接続します。そして、Colorパラメーターで好みの色を選択します。

Colorノードの下にLabs Edge Colorノードを接続します。ディスプレイフラグをつけると鋭角なエッジに対して色が割り当てられたことが確認できます。

ここからは、Labs Edge Colorパラメーターについてご紹介します。
Intensityパラメーターは、割り当てられる色の強度を設定します。ここでは、白色を指定しています。Intensityが高い程、多く色が割り当てられていることが確認できます。

Contrastパラメーターは、コントラストの量を設定して、エッジのマスク処理を調整します。数値が低いほど、色が薄いことが確認できます。

Blur Amountパラメーターは、色をぼかして柔らかくします。数値が高いほど、ぼかしが強く掛かり、柔らかい表現を行うことができます。

下の動画は、テストジオメトリ「Pighead」を使用して、Labs Edge ColorノードのIntensity、Contrast、Blur Amountパラメーターを調整しています。

Labs Edge Colorノードについては以上です。次に、Labs Dissolve Flat Edgesノードについてご紹介します。



Labs Dissolve Flat Edgesノードとは

平坦な面のエッジを削除します。

平坦なエッジを識別し、それらを削減します。デフォルトでは、完全に平坦なエッジのみを検出します。Max Edge Angleパラメーターは、[flatness]のしきい値を使用できるため、ほとんどの平坦なエッジを削減することができます。

各パラメーターについて

①Max Edge Angle

[flatness]のしきい値を設定します。0は、エッジが完全に平坦であることを意味します。数値が大きいほど、より多くのエッジが検出され、削減されます。


Labs Dissolve Flat Edgesノードの機能

次に、Labs Dissolve Flat Edgesノードの機能についてご紹介します。こちらも同様に、Houdini18.0.460を使用しています。

最初に、ジオメトリネットワーク上にBoxノードを配置します。パラメーターの[Primitive Type:Polygon Mesh]に変更して、[Axis Divisions XYZ:100]に設定します。

Boxノードの下にSubdivideノードを接続します。Subdivideノードを接続することで、ジオメトリが滑らかに細分化されたことが確認できます。

次に、Subdivideノードの下にLabs Dissolve Flat Edgesノードを接続します。このノードは、とてもシンプルです。接続後、ディスプレイフラグを付けることでメッシュが削減されたことが確認できます。

下画像は、各ノードのノード情報を確認した結果です。Subdivideノードで細分化した結果、ポリゴン数などが増加し、Labs Dissolve Flat Edgesノードを接続することで、メッシュが削減され、最初のBoxノードの時よりも大幅に値が減少したことが確認できます。

下画像は、Gridノードに対して、PolyExturdeノードでプリミティブを押し出して、Labs Dissolve Flat Edgesノードを接続した結果です。

こちらも大幅にメッシュが削減されたことが確認できます。

Labs Dissolve Flat Edgesノードについては以上です。次に、Labs Edge Group To Curveノードについてご紹介します。



Labs Edge Group To Curveノードとは

エッジグループをポリゴンカーブに変換します。

エッジグループは、曲線を定義する便利な方法ですが、メッシュから曲線を抽出するプロセスは、以前は容易ではありませんでした。
このノードは、エッジグループを取得して、それをPolyCurveに変換します。
また、抽出された曲線にある程度の厚みを加える追加オプションも提供します。UVシームの可視化やスクリーンショットに役立ちます。

各パラメーターについて

①Group

抽出するエッジグループを指定します。

②Connect End Points

端が重なっている曲線を1本の曲線につなげます。

Thickness

③Enable

有効にすると、生成されたカーブに厚みを持たせるために、Sweepが実行されます。

④Mode

生成されたカーブのSweepまたはPolyWireを切り替えます。PolyWireは、Sweepよりも交点を適切に処理します。

⑤Divisions

Sweepされたサークルの解像度を制御します。

⑥Color

生成されたメッシュの頂点カラーを設定します。

⑦Thickness

生成されたメッシュの幅を設定します。


Labs Edge Group To Curveノードの機能

次に、Labs Edge Group To Curveノードの機能についてご紹介します。こちらも同様に、Houdini18.0.460を使用しています。
最初に、ジオメトリネットワーク上でTestgeometry Rubbertoyを作成します。

パラメーターの[Add Shader]のチェックを外し、シェーダーをオフにします。

次に、テストジオメトリの下にLabs Edge Group To Curveノードを接続します。Groupパラメーターの右端カーソルアイコンを選択して、グループ化するエッジを選択します。

こちらでは、下画像のようにエッジを選択しています。選択後、ビューポート上でEnterキーを押します。

Enterキーを押すことで、Groupパラメーターに選択したエッジが指定およびグループ化され、ビューポートを確認すると、ポリゴンカーブに変換されたことが確認できます。

次に、Thickness > Enableにチェックを入れることで、デフォルトのSweepが適用され、生成したカーブに厚みが付きます。

ここからは、Labs Edge Group To Curveノードのパラメーターについてご紹介します。Modeパラメーターには、デフォルトの[Sweep][PolyWire]の2種類があります。
デフォルトの[Sweep]の場合、メッシュ同士が結合していることが確認できます。

Modeを[PolyWire]に変更した場合、メッシュ間に隙間ができます。

次に、Divisionsパラメーターについてご紹介します。Divisionsは、スイープされたカーブの解像度をコントロールします。下画像は、[Mode:Sweep]の状態で、パラメーターを調整した結果です。Divisionsの数値が高いほど、スイープされたカーブの解像度は高く、メッシュが多いことが確認できます。

また、[Mode:PolyWire]に変更して、Divisionsを調整した結果です。こちらも解像度が高い時は、生成されるメッシュが多いことが確認できます。

次に、Thicknessパラメーターについてご紹介します。Thicknessは、生成されたメッシュの幅をコントロールします。下画像は、[Mode:Sweep]の状態でパラメーターを変更した結果です。Thickness:0.1の場合、エッジの幅が広いことが確認できます。

また、[Mode:PolyWire]に変更した場合も同様に、数値が高い時はエッジの幅が広いことが確認できます。

下画像は、テストジオメトリ「Tommy」に対して、ポリカーブを抽出した結果です。ここでが、[Mode:Sweep]を使用しています。
このように、エッジを指定して、グループ化することで容易にポリゴンカーブに変換し、Thicknessオプションを使用して厚みをつけることができます。

「Labs Edge Color」「Labs Dissolve Flat Edges」「Labs Edge Group To Curve」ノードについては以上です。

これらのノードを使用することで、鋭角なエッジの色付けやエッジの削減およびポリゴンカーブへの変換など、Labsツールを使用することで容易に作業を行うことが出来ます。