On this page | |
Since | 19.0 |
Attribute Fill SOPは、入力ジオメトリのPointアトリビュートに対していくつかの偏微分方程式の1つを解くことができます。 ポイント間のエッジ接続は、直接的なデータ交換を容易にし、そのエッジ長がこの接続強度を決めます。 つまり、このノードは実際には、入力メッシュのグラフ構造を使用して微分演算子を離散化することで、それぞれの方程式の組み合わせの近似の解を求めます。 対応している方程式を以下に載せます。
-
Eikonal モードは、メッシュ内のすべてのポイントに到達するのにかかる時間を計算します。 Boundary Group にはシードポイントを格納してください。これらのシードポイントにおける到着時間は0に固定されます。 Speed Attribute には、各ポイントにおける移動速度を指定します。値が大きいほど移動を速くすることができます。
Note
このモードは実質的にDijkstraアルゴリズムを実行して最短経路を求めています。 各エッジのウェイトは、ポイント間の距離を出発頂点での速度で除算した値になります。
-
Poisson モードは、 Boundary Group のポイントでの既知の値を与えてアトリビュートを滑らかに補間するのに役立ちます。 オプションで Attribute to Match を指定することができ、このノードは、出力される Attribute がその Attribute to Match と同じ値のエッジ間で同じ変化率になるように試みます。 Attribute to Match を指定すると、さらに Weight Attribute を指定することができます。 Weight Attribute の値が大きいほど(1に近いほど)、 Attribute to Match は厳格なガイドとして機能するのに対して、値が小さいほど(0に近いほど)、ソルバーは可能な範囲で平滑化するようになります。
-
Diffusion モードは、(熱の拡散の仕方と同じ様に)高い値から低い値の方への広がりを取り込むのに役立ちます。 このモードでの Speed Attribute には、その拡散する速さを格納してください。 有効な Boundary Group を指定すると、それらのポイントの Attribute 値は固定されます(こうすることで、それらのポイントは一定の熱源のように作用させることができます)。 この Diffusion モードは、時変システムを解決するので、 Diffusion Time を必ず指定する必要があり、この Diffusion Time が大きいほど、その広がりが大きくなります。
入力 ¶
Input
ソルバを実行させるエッジ接続されたポイントクラウド。
出力 ¶
Output
Attribute 値が更新された入力ジオメトリ。
パラメータ ¶
Mode
このメニューから、解かれる方程式を選択します。 Eikonal は、ソースポイントからメッシュ内のすべてのポイントに到達するのにかかる時間を計算します。 Poisson は、いくつかのポイントでの既知の値を与えてアトリビュートを滑らかに補間するのに役立ちます。 Diffusion は、アトリビュート値の高い値から低い値への広がりをモデル化します。
Attribute
修正するPointアトリビュートの名前。 書き出される値は、選択した Mode モードによって異なります。 Eikonal モードでは、入力のアトリビュート値が無視されます。 Poisson モードでは、 Boundary Group 内のポイントの入力値のみが使用されます。 Diffusion モードでは、すべてのポイントの入力値が使用されます。
Speed Attribute
各ポイントにおける“速度”が格納されたアトリビュートの名前。 Eikonal モードでは、これらの値は、各ポイントから出発する時の移動速度を制御します。 Diffusion モードでは、このアトリビュートが拡散速度を決めます。 どちらのモードでも、値が大きいほど、データの入れ替わり速度を速くすることができます。
Attribute to Match
Poisson ソルバがマッチングに使用するアトリビュートの名前。 これによる結果の値は、 Boundary Group 内の入力 Attribute 値の範囲内で Attribute to Match の変化率に従います(つまり、これによる結果の隣接する2つのポイント間のアトリビュート値の差が Attribute to Match の値の差に近くなります)。
このアトリビュートを指定しなかった場合、このノードは、 Boundary Group で指定された Attribute 値から近い可変値の検索を試みます。 例えば、 Attribute to Match がすべてのポイントにおいて同じ定数値ならば、その結果は、( Weight Attribute を指定していない場合を前提にすると)これを指定しないことと全く同じことになります。
Weight Attribute
各ポイントにおける Attribute to Match に従う相対的重要度を記録したアトリビュートの名前。 ソルバは、 Weight Attribute の値が大きいポイントに対して Attribute to Match の変化率にもっと厳格に従うようにします。
有効なウェイト値の範囲は0
から1
です。
このノードは、内部的にウェイト値をこの範囲にクランプします。
実質的なウェイト値がすべて1
の場合、その結果は Weight Attribute を指定しないことと同じになります。
Boundary Group
特別なソースポイントであることを示すポイトグループ。 Eikonal モードでは、このグループ内のポイントが“出発点”として扱われます。 つまり、これらのポイントにおける到達時間が0に設定されます。 Poisson モードでは、 Boundary Group には、既知の入力 Attribute 値として固定されるポイントを格納します。 Diffusion モードでは、このグループ内のポイントは、固定ソースのように作用します。 つまり、そのグループ内でのポイントの Attribute 値は変更不可であるものの、それらの値がソルバに影響を与えます。
Note
Poisson モードでは、 Boundary Group とエッジで繋がっていないポイントの Attribute 値はデフォルト値になります。 Eikonal モードでは、そのようなポイントに対して Unreachable Time の値が書き出されます。
Minimum Edge Length
内部ソルバで確認されたポイント間の最小距離。 入力ジオメトリ内に非常に近接した繋がったポイントが含まれている場合、 Poisson モードや Diffusion モードで計算する必要があるシステムには条件が悪いです。 このノードが誤った結果を生成してしまう場合は、この値を上げてください。
Minimum Speed
内部ソルバで確認された最小拡散レート。 指定された拡散レートが非常に0に近い場合、 Diffusion モードで計算する必要があるシステムには条件が悪いです。 このノードが誤った結果を生成してしまう場合は、この値を上げてください。
Diffusion Time
Diffusion モードでシミュレーションする時間の間隔。 Diffusion Time の値が大きいほど、 Attribute 値をもっと広く拡散させることができます。
Note
このノードは、暗黙的に要求されたサイズで1回のステップを実行します。 このノードをループ内に配置して、いくつか小さいステップを受け取ることで、計算を“サブステップ化”することができます。
Unreachable Time
Boundary Group からエッジを辿って到達できないジオメトリのポイントの Attribute 値には、この値が書き出されます。 このパラメータは、 Mode が Eikonal に設定されている場合に適用されます。