Sample Signed Distance Field
メニューパス : Operator > Sampling > Sample Signed Distance Field
Sample Signed Distance Field Operator を使うと、Texture3D に格納された距離フィールドを取得できます。
Signed Distance Field (SDF) は空間のある点から形状のサーフェスまでの距離を決定します。慣例により、この関数は形状内の点には負、形状外の点には正になります。SDF はオブジェクトの面上では、ゼロに等しくなります。
Operator プロパティ
Input | Type | 説明 |
---|---|---|
texture | Texture3D | SDF を格納する 3D テクスチャです。 |
position | Position | SDF をサンプリングする位置です。 |
OrientedBox | OrientedBox | SDF に適用する変換を指定するオリエンテッドボックスです。 |
Level | float | ミップマップレベルです。 |
Output | Type | 説明 |
---|---|---|
distance | float | SDF が定義する、position からサーフェスまでの符号付き距離です。この値は position が形状の外側にある場合は正に、position が形状の内側にある場合は負になります。 |
direction | Vector3 | SDF が定義するサーフェス上の、最も近い点を指す方向です。 |
追記
SDF の位置、向き、およびスケールは、OrientedBox を使って設定できます。OrientedBox の中央は、SDF の中央と一致します。
制限
ワールド座標でこの Operator が正しい距離を出力するためには、OrientedBox の大きさ (サイズ) が SDF をベイクする際に使用したボックスの大きさと一致する必要があります。これが正しく設定されていないと、テクスチャ境界の内側および外側からの距離に異なるスケールが使われることになり、出力が正常に作動しません。
また、SDF に不均一 (non-uniform) の、つまり、ベイクするために使ったボックスの大きさに比例しないスケールを適用すると、距離が歪んでしまいます。