On this page |
このノードは、ポイントの結合やサーフェス法線の統一をすることもできます。
Divideと同様に、Facetは、ステージ内のジオメトリを変更するパイプラインとして動作します。 そのため、Compute Normals(法線計算)がPre Compute NormalsとPost Compute Normalsの2つがあります。 例えば、異なるポリゴンと共有されているポイントを固有化する前にサーフェス法線を計算することができます。 それによって、ポイントを共有している間は法線が計算されるので、スムースシェーディングと固有のポイントが通常とは違う結果になります。
このツールは、ポリゴンのクリーンアップで役に立ちます。 このツールでは、裏面ポリゴンの向きの変更、Degeneracy(縮退)ポリゴンの削除、ポイントの結合/固有化、ポリゴンのエッジの鋭角化をすることができます。
Tip
このノードは、 .dxf ファイルから読み込んだジオメトリのクリーンアップで非常に役に立ちます。 .dxf ファイルに存在する法線の反転を修正します。
Facetの使い方
パラメータ
Group
ファセットするジオメトリのサブセット。
Group Type
Group に指定するグループタイプ。
Guess from Group を指定し、そのグループタイプが曖昧な場合、 Group にはプリミティブグループが指定されているものと推測されます。
Pre-Compute Normals
入力ジオメトリに基づいて法線を計算します。
Make Normals Unit Length
入力の法線の長さを1にサイズ変更します。
Unique Points
ポイントを共有している頂点に新しくポイントを作成して、ポイントを共有しないようにします。
Consolidate
No Consolidate
ポイントを結合しません。
Consolidate Points Slow/Fast
指定した距離以内のポイントを結合します。
Consolidate Normals Slow/Fast
指定した距離以内のポイントの法線を平均化します。
Note
ConolidateのSlowバージョンを使うべきではありません。これは上位互換用のためだけのものです。
Distance
Consolidateで使用する距離の閾値。
Use Accurate Distance
Distanceが結合距離を正確に表現するようにします。他のポイントのDistance内にポイントが動いてしまわないように、ポイント番号の順番で結合を実行します。
Remove Inline Points
ポイントが前と次のポイントを結んだ直線上に並んでいた場合に、ポリゴンからそれらのポイントを削除します。
Distance
同一線とみなす距離の閾値。
Orient Polygons
すべてのポリゴンの表裏を揃えます。時計回りがポリゴンの表。
Cusp Polygons
エッジ角度が Cusp Angle を超えたポイントを固有化することで、隣接する側面間にハードエッジを作成します。 密閉されたメッシュのポイントを固有化するともはや密閉ではなくなるので、Normalノードによる頂点法線の計算が優先されます。
Cusp Angle
鋭角化する角度の閾値。
Remove Degenerate
Degeneracy(縮退)ポリゴンをクリーンアップします。
Make Planar
各ポリゴンのポイントを平面上に乗せて平坦化します。
Post-Compute Normals
このオペレーションの結果に基づいて法線を計算します。
Reverse Normals
すべてのポイント法線の向きを反転します。他の計算がすべて終わった後に実行されます。
Examples
FacetVariations Example for Facet geometry node
このサンプルでは、Facet SOPを使って、指定したオブジェクトを滑らかにしたり、多角化したりする方法を説明しています。 また、ポイントが結合できることも説明しています。
右矢印キー(次のフレームに移動)を押すと、各サンプルが表示されます。
The following examples include this node.
CopyAnimation Example for Copy channel node
このサンプルでは、Copy CHOPを使って、チャンネルをコピーして、それらのチャンネルをジオメトリに適用する方法を説明しています。
CountImpacts Example for Count channel node
このサンプルでは、Count CHOPを使って、DOPシミュレーションのインパクトを数える方法を説明しています。
このサンプルでは、Count CHOPの値を使って、ティーポットのコピーを生成します。
Lookup Example for Lookup channel node
このサンプルでは、Lookup CHOPを使って、イベントまたはトリガーに基づいてアニメーションを再生する方法を説明しています。
NoiseTransform Example for Noise channel node
このサンプルでは、Noise CHOPを使ってアニメーションを生成して、それをジオメトリに適用する方法を説明しています。
AnimationSequence Example for Sequence channel node
このサンプルでは、3つの別々のオブジェクトからアニメーションを取得して、4つ目のオブジェクトへ1つのアニメーションとしてシーケンス化させる方法を説明しています。
BridgeCollapse Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、自動的に拘束を伝搬させて、崩壊する橋のRBDシミュレーションを作成する方法を説明しています。
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です。
DensityViscosity Example for FLIP Solver dynamics node
このサンプルでは、ソリッドオブジェクトと作用する異なる密度と粘度を持つ2つの流体について説明しています。
TeapotUnderTension Example for Gas Surface Tension dynamics node
このサンプルでは、ティーポットの形をした液体のブロッブを作成しています。 そして、表面張力によって、ブロッブを球状に平滑化しています。
このサンプルでは、Particle FluidとRBDオブジェクトを組み合わせることで、相互に影響し合うようにする方法を説明しています。 その結果、球が浮きます。
rbdsmokesource Example for Smoke Object dynamics node
ぼんやりとした四面体がボックス内を跳ね回って、その煙の連続的な放出で臨場感を出しています。
FractureExamples Example for Voronoi Fracture Solver dynamics node
このサンプルでは、実際にHoudiniでボロノイ破壊を使う7つの方法を含んでいます。 特に、破壊シミュレーションでVoronoi Fracture SolverとVoronoi Fracture Configure Objectのノードの使い方を説明しています。 アニメーションを再生するなら、それらのサンプルのディスプレイフラグをオンにし、セットアップをテストするなら、各サンプルの中に入ってください。
TransparentShadows Example for Light object node
このサンプルでは、ディープシャドウマップを使って透明シャドウを設定する方法を説明しています。 シーンには、影を落とす透明なグリッドを配置しています。 レンダラーには、マイクロポリゴンレンダリングを使用しています。
AmbientOcclusion Example for Mantra render node
アンビエントオクルージョンは、レイトレーシングによって開いた空間内に柔らかいDiffuseライティングを高速に生成するための技術です。 これは、あるポイントを中心にどれだけの大きさの半球がシーン内の他のサーフェスで塞がるのか調べて、塞がる箇所が多い場所ほど、より暗いライティングを生成する方法で計算されます。 この技術は、完全なグローバルイルミネーションほどの負荷をかけずに、そのGI(グローバルイルミネーション)のような効果が必要な時に役に立ちます。
これに特化したサンプルとして、アンビエントオクルージョンのライトといくつかのジオメトリをデジタルアセットの形式で用意しています。 このサンプルでは、Environment Lightを使用し、そのパラメータにアクセスしやすいように、そのパラメータをプロモートしています。
サンプル数を減らすことで、レンダリングでノイズが発生する代わりにレンダリング時間を短くすることができます。 以下のレンダリングでは、上図と同じシェーダを使用していますが、サンプル数をデフォルトの256から16に減らしています。 この値は、LightのRender Optionsタブの Sampling Quality で設定しています。
環境マップ
滑らかな環境マップを持っていれば、グローバル背景カラー(ホワイト)を環境マップの値に置き換えることができます。 また、Sky Environment MapタブのSky Environment Mapも有効にすることができます。
Down Hill Lava Flow Example for Material shader node
このファイルでは、傾斜が低い箇所にCrust(地殻)が集まって硬化する溶岩の流れを作成しています。このアニメーションは、シェーダで作成していて、ジオメトリそのものはアニメーションしていません。
Note
Lava(溶岩)マテリアルのパラメータのほとんどを、サーフェスノードで作成したPointアトリビュートで上書きしています。
CopySpikes Example for Carve geometry node
このサンプルでは、Carve SOPがサーフェスから3Dアイソパラメトリックカーブを抽出する方法と、その抽出したカーブをコピーのテンプレートとして使用する方法を説明しています。
Carve SOPを使ってプリミティブをスライスしたり、複数の断面にカットしたり、プリミティブからポイントや横断面を抽出することができます。
このサンプルでは、Extractオプションを使って3Dアイソパラメトリックカーブを抽出しています。Carve SOPは同じV方向の値を持ったサーフェス上のポイントからカーブを抽出するので、円盤のような形状が連続して作成されています。
Copy SOPは、それらのカーブ上のポイントをテンプレートとして使用して、ソースジオメトリをコピーしています。
CaptureDeform Example for Cloth Deform geometry node
このサンプルでは、Cloth CaptureノードとCloth Deformノードを使って低解像度の布のシミュレーションを高解像度の布に転送する方法を説明しています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
このインスタンスでは、ポイントをFacet SOPを使って結合し、Divide SOPを使ってサーフェスを滑らかにして、Cookie SOPで円柱で減算して穴を空けています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
星の形状を作成して、それを球から減算しています。
FacetVariations Example for Facet geometry node
このサンプルでは、Facet SOPを使って、指定したオブジェクトを滑らかにしたり、多角化したりする方法を説明しています。 また、ポイントが結合できることも説明しています。
右矢印キー(次のフレームに移動)を押すと、各サンプルが表示されます。
PathAnalysis Example for Find Shortest Path geometry node
これは、FindShortestPathとAttribWrangleによる測定に基づいた"中心軸"パスを優先にする高度なサンプルです。これは、壁への近接を回避するのに役に立ちます。
空間内でもっと簡単に確認するには、Display OptionsダイアログのOptimizationタブにあるCulling > Remove Backfacesをオンにします。 Switchノードを使って別の中心軸測定を可視化してみてください。パスの中心軸を考慮しない同じサンプルを、違いがわかるようにSOPネットワーク内の端に置いています。
このサンプルでは、ForEach SOPを使って一切れのチーズに球を個々にブーリアン演算する方法を説明しています。
LsystemBuilding Example for L-System geometry node
このサンプルは、L-System SOPを使って窓のあるビルを生成する方法を説明しています。
MirrorSpout Example for Mirror geometry node
このサンプルでは、Mirror SOPを使ってジオメトリをミラーする方法を説明しています。
PartitionBall Example for Partition geometry node
このサンプルでは、Partition SOPによってDOPオブジェクトを決定して、DOPシミュレーション内のジオメトリを分解する方法を説明しています。
PolybevelBox Example for PolyBevel geometry node
このサンプルでは、Poly Bevel SOPを使ってジオメトリを面取りする方法を説明しています。
PolyStitchBasicSmooth Example for PolyStitch geometry node
このサンプルでは、Poly Stitch SOPでUVが一致しないポリゴン間の継ぎ目を縫い合わせたり、改良する方法を説明しています。 このノードは継ぎ目を滑らかにしたり、裂け目を除去するのに役に立ちます。
PrimCenter Example for Primitive geometry node
このサンプルでは、Primitive SOPを使って正しくプリミティブをカーブに沿わせる方法を説明しています。
Sweep SOPはデフォルトでは、プリミティブの原点をカーブ上に配置します。 プリミティブの重心が原点から離れていると、プリミティブもカーブから離れて配置されます。
正しくプリミティブの重心をカーブに配置するには、その重心を原点にしなければなりません。 それをするために、Primitive SOPを使用しています。
PrimRotate Example for Primitive geometry node
このサンプルでは、Primitive SOPでグリッド上の個々のプリミティブを回転する方法を説明してます。
Group SOPを使ってグリッド上の境界ボックスをアニメーションしているため、Primitive SOPでランダムな回転が有効になっています。
PrimitiveExplode Example for Primitive geometry node
このサンプルでは、Primitive SOPでオブジェクトの個々のプリミティブを制御できることを説明しています。
Translateパラメータにエクスプレッションを使用して、プリミティブが重心から離れる アニメーションを作成しています。 さらに、他のエクスプレッションによってプリミティブをランダムに回転したり、各プリミティブにランダムなカラーを設定しています。
それらのパラメータによって元の球を破壊する爆発を表現しています。
RayWrap Example for Ray geometry node
Ray SOPは、あるサーフェスを他のサーフェス上に投影します。
これは、投影元のサーフェスの法線と投影先のサーフェスとの衝突を計算しています。
このサンプルでは、Ray SOPでGridサーフェスをSphereサーフェス上に投影しています。 Facet SOPは、投影したGridの法線を修正しています。
BasicRevolve Example for Revolve geometry node
このサンプルでは、Revolve SOPに指定した軸でカーブやサーフェスを回転させてジオメトリを作成する方法を説明しています。 トーラスや花瓶のような単純なオブジェクトはRevolve SOPとユーザー定義の入力で生成します。
ここでは、ジオメトリタイプ毎のRevolve SOPのパラメータの違いを確認してください。
See also |