On this page |
概要
このノードは、FacetノードまたはVertexノードよりも精度が高い手法を使ってPoint,Vertex,Primitive,Detailの法線を計算します。
Vertexノードとは違い、これは Merge Identical Vertices オプションを無効にしたPolySoupノードで作成されたポリゴンスーププリミティブの頂点法線の計算に対応しています。 既存のポリゴンスーププリミティブは、 Merge Identical Vertices を無効にしたPolySoupノードを通過し、確実に頂点がマージしないようにすることができます。
パラメータ
Group
修正させる法線アトリビュートN
のジオメトリのサブセット。
ここにはポイント、頂点、プリミティブ、エッジのグループを指定することができます。 必要であれば、 Add Normals to の値に応じて、ポイント、頂点、プリミティブのグループまで拡張されます。 入力ジオメトリに法線アトリビュートがなくて、 Add Normals to が Vertices に設定されている場合、まず最初にCusp Angleが180度と見なして、 すべての頂点に対して完全に滑らかな頂点法線が計算され、次に指定したグループに対して法線が計算されます。 入力ジオメトリに法線アトリビュートがなくて、 Add Normals to がそれ以外に設定されている場合、このグループは無視され、関連するジオメトリ要素すべてに対して法線が計算されます。
Group Type
Group に指定するグループのタイプ。
Guess from Group を指定していて、そのグループタイプが曖昧な場合には、 Group にプリミティブグループが指定されているものと推測されます。
Override Normal
作成または変更する法線アトリビュートの名前。
Compute Normals
有効にすると、 Add Normals to, Cusp Angle, Weighting Method に基づいて、指定した Group に対して法線アトリビュートが作成または変更されます。
Add Normals to
法線アトリビュートN
を追加または修正するエレメントのタイプ。
Points
法線がポイント毎に計算されます。 これは、ポイント周辺の頂点法線の平均で、それらのポイントに付帯する各ポリゴンに対する頂点角度でウェイトがつけられます。 そのため、例えばサーフェスを三角形化しても結果は変わりません。
Vertices
法線が頂点毎に計算されます。単一ポイント周辺の頂点の法線がお互いに Cusp Angle よりも小さい場合、それらの法線が平均化され、各ポリゴンの頂点角度でウェイトがつけられます。
Primitives
法線は、プリミティブ毎に計算されます。
Detail
単一法線がDetailに対して計算されます。これは、プリミティブ法線の平均であり、プリミティブの面積でウェイトがつけられます。
Cusp Angle
頂点法線を計算する時、単一ポイント周辺の頂点の法線がお互いにこの角度(度)以下の場合、それらの法線が平均化され、各ポリゴンの頂点角度でウェイトがつけられます。
Weighting Method
By Vertex Angle に設定すると、法線を計算する時に、細いポリゴンが原因で問題が起きないように、そして法線への寄与度を角度でウェイトがつくように注意が払われるので、三角形分割によって法線が大きく変わることはありません。 Each Vertex Equally に設定すると、計算が速くなりますが精度が下がります。これは、Facet SOPで使用される手法と同様の手法を使って、各頂点がそのポイント周辺で均等なウェイトになるように法線を計算しますが、安定性を確保するためのチェックが行なわれません。 By Face Area に設定すると、その挙動は __Each Vertex Equally_ と同様ですが、ポイント法線を計算する時に、面積が広いフェースの頂点の方にウェイトがかかります。これは、単純な面取りしか付いていないジオメトリに対して滑らかなベベルの見た目になるように偽る時によく使用します。
Make Normals Unit Length
有効にすると、指定した Group 内の既存法線が正規化されます。つまり、法線の長さが1
になります。
Compute Normals が有効な時、これは無効になります。
その理由は、計算された法線が既に正規化されているからです。
Reverse Normals
有効にすると、指定した Group 内の法線の方向が逆になります。つまり、法線に-1
が乗算されます。
Examples
BoxNormals Example for Normal geometry node
このサンプルでは、Normal SOPを使用して、5つのタイプのボックスと押し出されたテキストに対して、ポイント法線と頂点法線の見た目の違いを説明しています。
The following examples include this node.
BreakingSprings Example for Constraint Network dynamics node
このサンプルでは、SOP Solverを使用して、遠くに引き伸ばされたConstraint Network内のスプリング拘束を切る方法を説明しています。
ControlledGlueBreaking Example for Constraint Network dynamics node
このサンプルでは、Constraint Networkの接着ボンドを徐々に弱くして、ビルの崩壊を制御する方法を説明しています。
LayerVariations Example for Agent Layer geometry node
このサンプルは、いろいろなジオメトリのバリエーションを持ついくつかのレイヤーを作成して、 それらのレイヤーをエージェントにランダムに割り当てる方法を説明しています。
DeltaMushDemo Example for DeltaMush geometry node
このサンプルでは、Delta Mush SOPを使用したボーン変形の平滑化の方法を説明しています。
BoxNormals Example for Normal geometry node
このサンプルでは、Normal SOPを使用して、5つのタイプのボックスと押し出されたテキストに対して、ポイント法線と頂点法線の見た目の違いを説明しています。
SpikyDeformingTorus Example for Scatter geometry node
このサンプルでは、Scatter SOPとAttribute Interpolate SOPを使用して、ジオメトリが変形しても、ばら撒かれたポイントが整合性を保つように簡単に調整する方法を説明しています。
SpottedSoccerBalls Example for Scatter geometry node
このサンプルでは、Scatter SOPを使用して、別々の破片が追加または削除されても、整合性を保つようにポイントをばら撒く方法を説明しています。 これは、プリミティブ毎に独自の乱数シードを使用するオプションで実現しています。
See also |