On this page |
このノードは、主に2つの機能があります:
-
Boolean: 2つのポリゴンオブジェクトのボリュームを加算、減算、交差など。
-
Crease: 2つのポリゴンオブジェクト間の交差からポリラインの交線を抽出します。
例えば、ボートと湖のポリゴンサーフェスの交差を計算して、その交差からパーティクルを放出することができます。
この出力をSubdivide SOPの2番目の入力に接続すれば、サブディビジョンサーフェスの折り目の線として定義することができます。
両方のオブジェクトは、開閉どちらでも構いません。このノードは、ポリゴンの法線によって"inside"と"outside"を判断します。 つまり、法線方向側が外側となります。 使用するサーフェスが開閉のどちらかに基づいて、 Check for Full Enclosure ( Boolean タブ)を変更します。
2つのポリゴンオブジェクトをCookieノードの2つの入力に接続することができます。または、 Group A と Group B のパラメータを使って1番目の入力で2つのグループを使用することができます。
Note
このノードで正確な結果を出すには、平面凸ポリゴンが必要です。 Pre-Convex Geometry オプションでポリゴンをそのように変換しますが、デフォルトではオンになっています。
Note
このノードは、三角形と四角形のポリゴンのPoint/Vertexアトリビュートを補間します。
Tip
このツールは、平均サイズのジオメトリで非常に上手く動作します。乱れが発生した場合は、ジオメトリのスケールを上げたり(ジオメトリが非常に小さい場合)、下げてみてください(ジオメトリが非常に大きい場合)。
パラメータ
Group A
1番目の入力のサブセットを"A"オブジェクトとして使用します。
Group B
1番目の入力のサブセットを"B"オブジェクトとして使用します。 別の方法として、"B"として使用したいジオメトリを、このノードの2番目の入力に接続することができます。
3D Tolerance
ポリラインを生成する時( Crease オプション)、ポリラインはゼロ長のセグメントまたはセグメント間に小さな隙間や微小セグメントができることがあります。
このノードは、3D Toleranceよりも小さい値のセグメント(不正セグメント)を削除し、このTolerance内の隙間を結合し、微小セグメントを回避します。
デフォルト値は、ユニットサイズのジオメトリに適しています。非常に大きい、または非常に小さいモデルに対しては、値を調整する必要があります。
正しくポリラインが生成されない場合には、この値を色々と変更してみてください。 つまり、ポリラインに微小セグメントや隙間があれば、この値を大きくします。ポリラインが隙間のある状態で接続されていたり、セグメントが消えていれば、この値を小さくします。
Pre-Convex Geometry
有効にすると、非平面ポリゴンすべてが三角形に変換されます。 平面ポリゴンに対しては、Point/Vertexアトリビュートが存在すれば、四角形に変換されます。
Boolean
Type
Operation
AとBのオブジェクトのボリュームを組み合わせて使用するブーリアン演算のタイプ。
Union
2つのオブジェクトのボリュームを1つに結合し、内側のジオメトリが除去されます。
Intersect
2つのオブジェクト間の交差ボリュームを保持し、共有ボリューム外のジオメトリを除去します。
A minus B
AオブジェクトからBオブジェクトのボリュームを除去します。
B minus A
BオブジェクトからAオブジェクトのボリュームを除去します。
User Defined
以下のチェックボックスで指定したジオメトリを保持します。
Keep Inside A
Bボリュームの内側にあるAの部分を保持します。このオプションは、 Operation が User Defined の時のみ利用可能です。
Keep Inside B
Aボリュームの内側にあるBの部分を保持します。このオプションは、 Operation が User Defined の時のみ利用可能です。
Keep Outside A
Bボリュームの外側にあるAの部分を保持します。このオプションは、 Operation が User Defined の時のみ利用可能です。
Keep Outside B
Aボリュームの外側にあるBの部分を保持します。このオプションは、 Operation が User Defined の時のみ利用可能です。
Keep Overlap A
Bサーフェスと重なっているAの部分を保持します。このオプションは、 Operation が User Defined の時のみ利用可能です。
Keep Overlap B
Aサーフェスと重なっているBの部分を保持します。このオプションは、 Operation が User Defined の時のみ利用可能です。
Check for Full Enclosure
このオプションは、非接続ポリゴンの場合に特定のテストを有効にします。これは、Ray Castを使って、ポリゴンが内側なのか外側なのかを判断します。
開いたサーフェスを使用する時は、このオプションを オフ にします。閉じたサーフェスを使用するときは、 オン にします。
Assume Input A is Closed
このオプションは、精度を検証するために、Full Enclosureテストで境界の内側/外側をテストします。
Aが閉じたサーフェスで、Bのポリゴンが出力で不正にグループ化されていれば、このオプションを オン にします。
このオプションは、 Check for Full Enclosure がオンの時のみ利用可能です。
Assume Input B is Closed
このオプションは、精度を検証するために、Full Enclosureテストで境界の内側/外側をテストします。
Bが閉じたサーフェスで、Aのポリゴンが出力で不正にグループ化されていれば、このオプションを オン にします。
このオプションは、 Check for Full Enclosure がオンの時のみ利用可能です。
Groups
出力ジオメトリにプリミティブグループを作成するためのコントロールがあります。
Create Groups
新しいグループを作成して、出力ジオメトリを格納します。
Inside/Outside/Overlap A/B
( Create Groups がオンの時) この名前のグループを作成して、AまたはBのinside/outside/overlapのジオメトリを格納します。
グループを作成したくない場合は、フィールドを空っぽのままにします。
複数のフィールドが同じ名前であれば、そのグループには、それらのフィールドがまとめて格納されます。
既に同じ名前のグループが存在していれば、出力ジオメトリが、そのグループに追加されます。
Consolidate Edges
2つのボリューム間で作成された境界エッジ上の余分なポイントを結合します。
Consolidate Tol
この距離内のポイントが結合されます。
Crease
Keep Source
入力ジオメトリを出力に含めます。
Autojoin Creases
Creaseセグメントを長い連続ポリゴンに接続します。
Do Jitter
交差前に小さくてランダムな距離で2番目の入力を動かし、その後にそれを戻します。 ノードが適切にカットしない同一フェースがあれば、これをオンにします。
Jitter Seed
Jitter距離の乱数シード。
Amount of Jitter
Jitter移動のスケール。
入力
Geometry A
1番目のポリゴンオブジェクトで、パラメータエディタで"A"として参照します。
Geometry B
2番目のポリゴンオブジェクトで、パラメータエディタで"B"として参照します。
Examples
このサンプルでは、Cookie SOPの色々な使い方を説明しています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
このインスタンスでは、ポイントをFacet SOPを使って結合し、Divide SOPを使ってサーフェスを滑らかにして、Cookie SOPで円柱で減算して穴を空けています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
星の形状を作成して、それを球から減算しています。
The following examples include this node.
AutoFracturing Example for Copy Objects dynamics node
このサンプルでは、Multi Solverと併せてCopy Object DOPを使って、他のオブジェクトと衝突した際に自動的にRBDオブジェクトを半分に割る方法を説明しています。
Street Crowd Example Example for Crowd Solver dynamics node
2つのエージェントグループによるストリートのセットアップを説明した群衆サンプル。
このセットアップは、2つのエージェントグループを作成します。 黄色のエージェントがゾンビで、ストリートのパスに沿います。青色のエージェントがぶらついている歩行者で、ゾンビが近づくと走ります。
エージェントの状態を変更するトリガーは、crowd_sim DOPNETでセットアップします。 ゾンビのグループは、信号との距離と信号の色を使用し、信号が赤になると停止状態に変わります。 生存者のグループは、ゾンビが近づくと走行状態に変わります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
このサンプルでは、Particle FluidとRBDオブジェクトを組み合わせることで、相互に影響し合うようにする方法を説明しています。 その結果、球が浮きます。
このサンプルでは、パーティクルベースの流体によって高い粘度の流れを作成する方法を説明しています。 この流体によって、溶岩や泥のような遅い流れの流体をシミュレーションすることができます。
この少し複雑なサンプルでは、パーティクル流体のシミュレーション、保存、サーフェス化、レンダリングの単純なワークフローを説明しています。 サンプルにある3つのジオメトリノードの名前は、それぞれ使用する順番としてStep 1、Step 2、Step 3という名前にしています。 各ノードは、パーティクルジオメトリをディスクに書き出したり、ディスクからジオメトリを読み込んだり、ディスクからサーフェス化したジオメトリを読み込みます。 このサンプルでは、さらにシェーダとカメラを組んでいるので、簡単にレンダリングすることができます。
このシーンでアニメーションする流体は、高い弾力を持つゼラチンのようなブロッブです。
このサンプルでは、RBD Glue Objectノードを使って、 衝突で自動的に砕けるRBDオブジェクトを作成する方法を説明しています。 さらに、モデルをこのようなシミュレーションで適切に砕くテクニックも説明しています。
このサンプルでは、Cookie SOPの色々な使い方を説明しています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
このインスタンスでは、ポイントをFacet SOPを使って結合し、Divide SOPを使ってサーフェスを滑らかにして、Cookie SOPで円柱で減算して穴を空けています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
星の形状を作成して、それを球から減算しています。
このサンプルでは、ForEach SOPを使って一切れのチーズに球を個々にブーリアン演算する方法を説明しています。
このサンプルでは、ForEach SOPを使って、あるオブジェクトが他のオブジェクトの各パートと交差して、結果を一緒にマージする方法を説明しています。
LsystemBuilding Example for L-System geometry node
このサンプルは、L-System SOPを使って窓のあるビルを生成する方法を説明しています。
PartitionBall Example for Partition geometry node
このサンプルでは、Partition SOPによってDOPオブジェクトを決定して、DOPシミュレーション内のジオメトリを分解する方法を説明しています。
See also |