On this page |
Rayノードは、1番目の入力ジオメトリの各ポイントをそのポイントの法線方向で、光線を2番目の入力ジオメトリに投影させて、それらのポイントを動かします。
このノードを使えば、布をサーフェスに被せたり、あるオブジェクトを他のオブジェクトでShirink-Wrap(収縮包装)させたり、それと同様の効果を作成することができます。
Rayの使い方 ¶
-
Model タブのRayツールをクリックします。
-
投影するポイントまたはプリミティブを選択して、Enterを押して選択を確定します。
-
投影先のプリミティブを選択して、Enterを押して選択を確定します。
Note
このツールは、投影先のサーフェスよりも小さいサーフェスを投影する時にうまく動作します。
サンプル ¶
-
Gridノードを配置して、 Orientation を XY Plane にして、 Center を 0,0,2.5 に設定します。
-
Gridノードの下にPointノードを追加して、パラメータエディタのStandardタブの Keep Normal を Add Normal に変更します。
-
Sphereノードを配置して、 Primitive Type を NURBS に、 Radius を 2,2,2 に、 Center を 0,0,-2.5 に設定します。
-
ビューアの右側のツールバーの Display point normalsをオンにします。
-
Pointノードの下にRayノードを追加して、2番目の入力にSphereノードを接続します。
-
Intersect Farthest Surface チェックボックスをオンにすると、投影されたGridがSphereの“背面側”に投影されます。
Rayノードは、Gridのポイントをポイント法線方向に動かします。 Collision Primitives(2番目の入力)の1番目のサーフェス上にGridのポイントが停止します。 Intersect Farthest Surface オプションをオンにすることで、Sphereの反対側にそれらのポイントを停止させることができます。 つまり、Collision Primitives(2番目の入力)で一番遠くにあるサーフェスにポイントを投影します。
パラメータ ¶
Group
投影するプリミティブまたはポイントのグループ。
Entity
投影するポイントまたはプリミティブ。
Collision Group
投影先のプリミティブのグループ。
Method
Project Rays
ポイントをその法線方向に沿って投影先のジオメトリと交差する位置まで投影します。
Minimum Distance
ポイントを投影先のジオメトリで一番近いポイント上に配置します。 このメソッドはポイント法線を使用しません。このメソッドは、あるプリミティブを他のプリミティブにShirink-Wrap(収縮包装)または投影するために使用します。
Note
パックプリミティブと不均一スケールの球/チューブ/円プリミティブとの距離は、トランスフォームされていない空間内で最近接ポイントが検索されるので、 実際の最近接ポイントを表現することができない場合があります。
Direction from
光線を送信する方向を決定する方法。
Vector
光線方向ベクトルを明示的に指定します。
Normal
必要に応じて入力の法線を計算し、それを光線方向として使用します。
Attribute
指定したアトリビュートを使用します。このアトリビュートには、光線の送信方向を示す3つのfloatのベクトルアトリビュートを指定してください。
Ray Direction
各ポイントから光線を発射する方向。
Direction Attribute
光線方向の決定に使用するPointアトリビュート。
Show Guide Geometry
インスタンス先のジオメトリを描画するかどうかを制御します。これは、挙動には何も影響を与えず、ビューポートにのみ影響します。
Transform Points
光線が交差したポイントを動かします。
Intersect Farthest Surface
投影するポイントを一番近いCollision Primitives(2番目の入力)ではなく、一番遠いCollision Primitives(2番目の入力)に投影します。
Point Intersection Normal
光線が交差したポイントのポイント法線が、投影先のCollision Primitives(2番目の入力)の法線方向になります。
この法線方向は、サーフェス法線であり、補間されたポイント法線ではありません。
補間されたポイント法線が必要であれば、 Import Attributes From Hits をオンにして、 Point Attributes でN
アトリビュートを指定する必要があります。
その場合、このオプションは何の効果もなくなります。
Point Intersection Distance
投影元のポイントからCollision Primitivesまでの距離が格納されたdist
アトリビュートが追加されます。
Reverse Rays
これを設定すると、法線方向の逆方向に光線を発射します。
Ray Tolerance
光線の交差の許容値を制御します。数値の四捨五入が原因で、Collision Primitives(2番目の入力)が光線を通過させてしまう場合があります。 このRay Toleraneは、許容誤差で当たり判定を緩くさせることで、光線の漏れを減らすことができます。 非常に小さなジオメトリに対しては、デフォルト値を下げないと誤検知してしまう場合があります。同様に、非常に大きなジオメトリに対しては、デフォルト値を上げる必要があります。
Scale
Transform Pointsがオンの時の交差パスのスケールサイズ。
Lift
ポイントを新しい位置に移動させた後に、サーフェスを法線方向にオフセットします。
Bias
ポイントの元の位置から法線方向に沿って、光線が交差する点を探す時の最小距離。 つまり、光線の開始位置をオフセットすることができます。
Max Distance
ポイントの元の位置から光線が届く最大距離。 この範囲外での光線の交差は検知されません。 Method が Minimum Distance の場合、サーフェスからこの距離よりも離れたポイントは動きません。
Sample
1ポイントあたりに送信される光線の数。1より大きい場合、光線をランダムにかき乱して、 Ray Combiner で指定した方法で結合します。
Jitter Scale
余分な光線のかき乱し具合を制御します。
Ray Combiner
このオプションは、余分な光線からの情報の使い方を指定することができます。
Average ray
2番目の入力のジオメトリに当たった光線を平均化します。 ポイントは、その平均距離で法線方向に動かされます。 Point Intersection Normal をオンにすると、その結果の法線も、発射した光線すべてから平均化されます。
Median ray
2番目の入力のジオメトリに当たった光線で真ん中の長さの光線が見つけられます。 ポイントは、その真ん中の光線の長さで法線方向に動かされます。 Point Intersection Normal をオンにすると、その結果の法線も、真ん中の光線の法線になります。
Shortest ray
2番目の入力のジオメトリに当たった光線で一番短い光線が見つけられます。 ポイントは、この光線の長さで法線方向に動かされます。 Point Intersection Normal をオンにすると、その結果の法線も、一番短い光線の法線になります。
Longest ray
2番目の入力のジオメトリに当たった光線で一番長い光線が見つけられます。 ポイントは、この光線の長さで法線方向に動かされます。 Point Intersection Normal をオンにすると、その結果の法線も、一番長い光線の法線になります。
Seed
乱数生成のシード値。 それぞれのジッターされた光線は、これとポイント番号によってシードされます。
Create Point Group
交差したポイントをグループにします。
Ray Hit Group
Pointグループの名前。
Prim Num Attribute
有効にすると、各ポイントが当たったプリミティブ番号を意味するアトリビュートが出力されます。 Attribute Interpolateと一緒に使用するには、これと Prim UVW Attribute を有効にして、ポイントを変形ジオメトリに引っ付かせます。
Prim UVW Attribute
有効にすると、各ポイントが当たったプリミティブのパラメータ空間の座標を意味するアトリビュートが出力されます。 Attribute Interpolateと一緒に使用するには、これと Prim Num Attribute を有効にして、ポイントを変形ジオメトリに引っ付かせます。
Import Attributes from Hits
これは、投影先のサーフェスからアトリビュートを抽出することができます。 抽出したアトリビュートには、光線が当たったサーフェスの位置に応じて補間された値が格納されます。 このオプションは Ray Combiner オプションと一緒に動作します。 アトリビュート値は、当たった光線すべてのアトリビュートの平均値、真ん中の長さの光線に関連した値、 一番短い光線の値、一番長い光線の値のどれかになります。 補間されたアトリビュート値は、正規化されていません。
Point Attributes
2番目の入力から抽出したいPointアトリビュートを指定します。
指定したそのアトリビュートが1番目の入力に存在しない場合は、そのアトリビュートが作成されます。
指定したそのアトリビュートが1番目の入力のアトリビュートと名前が同じでも、サイズやタイプが違っても、上書きされます。
ここで法線アトリビュート(N
)を指定した場合、 Point Intersection Normal オプションは何の効果もなくなり、
各ポイントに設定される最終法線は、ターゲットサーフェスから取得したポイント法線を補間して計算されます。
Vertex Attributes
2番目の入力から抽出したいVertexアトリビュートを指定します。
Primitive Attributes
2番目の入力から抽出したいPrimitiveアトリビュートを指定します。
Detail Attributes
2番目の入力から抽出したいDetailアトリビュートを指定します。
入力 ¶
Ray Points or Primitives
2番目の入力のジオメトリ上に投影するジオメトリ。 このジオメトリには必ずポイント法線アトリビュートがなければなりません(ポイント法線の追加は、Pointノードを使います)。
Collision Primitives
投影先のジオメトリ。
Examples ¶
See also |