On this page |
このノードは、入力を接続すると、以下に説明するように、その入力にポイントとポリゴンを追加します。 入力を接続しなかった場合は、このノードは、新しい要素としてポイントとポリゴンを生成します。
ポイントの抽出
Addノードは、pointエクスプレッションと併せて使用すると、他のノードから特定のポイントを抽出することができます。 例えば、 geo1 のGrid SOPからポイント番号5のポイントのX、Y、Zの値を抽出する場合は、以下の通りです:
point("/obj/geo1/grid1",5,"P",0),point("/obj/geo1/grid1",5,"P",1), point("/obj/geo1/grid1",5,"P",2)
入力を接続した場合、この方法で追加したポイントは、ポイントリストの最後に追加されます。 このノードのタイルをクリックすると、Informationポップアップが表示されるので、ポイントの数を確認することができます。 例えば、2つのポイントを追加して、ポイント数が347(ポイント番号が0から346)になっていれば、追加した2つのポイントの番号は345と346です。
指定した数のポイントを作成する
Add SOPを追加して、そのSOPが1個のポイントを作成するように設定してから、Copy SOPを接続して、Copy SOPの Number of Copies にコピーするポイントの数(アニメーション可能)を設定します。
Copy SOPはコピー数を0に設定しても正しく動作します。
パラメータ
Points
概要
3つの入力フィールドは、ポイントのXYZの座標を意味しています。 その下の入力フィールは、ポイントのスプラインウェイトを意味しています。 後でこのポイントをスプライン(NURBS/Bezier)プリミティブの作成で使用するのであれば、このウェイトはスプラインの形状に影響を与え、プリミティブを有理化します。 ポリゴンとメタボールは、このウェイトの影響を受けません。
X、Y、Z、Wには、定数(数値)または変数を設定することができます。
Delete Geometry But Keep the Points
このパラメータは、すべてのポリゴン、NURBS、他のプリミティブを削除して、ポイントのみをそのまま残します。
Polygons: By Pattern
概要
各ポリゴンに対して、ポイントパターンを指定することで、一定の数のポリゴンを作成します。ここでポリゴンのポイント接続リストを入力して、ポリゴンを作成します。
{from}-{to}[:{every}][,{of}] 例1: 1 2 3 4 例2: 1 3-15 16 8 例3: 1-234 820-410 235-409 例4: 0-15:2 例5: 0-15:2,3
Polygons: By Group
概要
グループフィールドとグループ/スキップの規則に基づいた数だけのポリゴンを作成します。
Group
接続するポイントのサブセット。
Add
オプションでポイントのサブグループを結合します。
N
サブグループの結合で使用する増分値。
Attribute
By Attributeを指定すると、このアトリビュートの同じ値を持つポイントが接続されます。接続順は、グループのポイント順に準じています。
Remove Unused Points
接続されたポイントのみを保持します。
Particles
概要
ポイントの集合体からパーティクルシステムを作成することができます。 パーティクルシステムには欲しいアトリビュートがまったく作成されません。 これは、パーティクルの集合体を、Initial StateまたはDOPのソースなどの他のオペレーションのパーティクルシステムとしてフラグを立てたい時に役に立ちます。
すべてのジオメトリをパーティクルに変換するには、 Points タブの Delete Geometry But Keep the Points チェックボックスをオンにして、このタブの Add Particle System チェックボックスをオンにして、 Particle Group を空っぽにします。
Add Particle System
パーティクルシステムプリミティブを作成するかどうか制御します。
Particle Group
パーティクルシステムに追加するポイント。ポイントは、指定した順番でパーティクルシステムに追加されます。 このフィールドを空っぽにすると、すべてのポイントがパーティクルシステムに追加されます。
Add Unused Points to Particle System
パーティクルプリミティブが存在しなかった場合、パーティクルプリミティブが作成されます。
どのプリミティブの一部にもなっていないポイントすべてが、1番目のパーティクルプリミティブに追加されます。
ローカル変数
N
ジオメトリの最後のポイントのインデックス。
CEX, CEY, CEZ
入力の重心。
XMIN, XMAX
入力の境界ボックスのX座標の範囲。
YMIN, YMAX
入力の境界ボックスのY座標の範囲。
ZMIN, ZMAX
入力の境界ボックスのZ座標の範囲。
SIZEX, SIZEY, SIZEZ
入力の境界ボックスのサイズ。
Examples
AddItUp Example for Add geometry node
このネットワークでは、Add SOPによるジオメトリの構築と操作に関するたくさんの使用方法を説明しています:
-
空間内にポイントを作成する時に使用します。そして、指定したパターンでポイントからポリゴンを作成することができます。そのポリゴンはオープンまたはクローズにすることができます。さらに、各ポイントはエクスプレッションやキーフレームを使ってアニメーションすることもできます。
-
ポイントの作成と同時に他のプリミティブからポイントを取り出す時に使用します。これらのポイントはポリゴンを作成する時に使用します。
-
Add SOPは他のポリゴンオブジェクトから抽出したポイントを使ってポリゴンを作成する時に利用します。Group SOPでは、Add SOPが参照するポイントグループを作成することができます。
-
Add SOPはアニメーションするNullオブジェクトのグループからポリゴンを作成する時に使用します。Object Merge SOPはポリゴンの生成時にAdd SOPに取り込まれているSOPの中にあるNullポイントを参照します。 Fit SOPは参照したNullポイントから順番に補間スプラインを作成する時に使用します。
-
Add SOPプリミティブを作成しないでポイントを生成する時に使用します。また、Add SOPを使って他のオブジェクトのポイントを抽出することができます。
-
最後に、Add SOPではさらに縦の列と横の列のポイントを作成することもできます。
The following examples include this node.
LookAtTargetAndOffset Example for Constraint Lookat channel node
1番目の例では、グローバルのY軸UpベクトルによるLookAt拘束について説明しています。 2番目の例では、オブジェクトで駆動されるUpベクトルによるLookAt拘束について説明しています。 3番目の例では、Keep Positionを有効にしたLookAt拘束について説明しています。 この拘束の後のCHOP Offsetノードは、その拘束が適用された時にオブジェクトの向きを維持させます。 LookAtシェルフツールを使用することで、これらの例を再現することができます。
CopyAnimation Example for Copy channel node
このサンプルでは、Copy CHOPを使って、チャンネルをコピーして、それらのチャンネルをジオメトリに適用する方法を説明しています。
CountImpacts Example for Count channel node
このサンプルでは、Count CHOPを使って、DOPシミュレーションのインパクトを数える方法を説明しています。
このサンプルでは、Count CHOPの値を使って、ティーポットのコピーを生成します。
DynamicLights Example for Dynamics channel node
このサンプルでは、Dynamics CHOPを使って、DOPシミュレーションからインパクトデータを抽出して、そのデータを修正して、シーンのライトを制御する方法を説明しています。
Fetch Example for Fetch Parameters channel node
このサンプルでは、Fetch CHOPについて説明しています。
このサンプルでは、Fetch CHOPを使って、Nullノードのtx、ty、tzのチャンネルをインポートする方法を説明しています。
SimpleIKSolver Example for IKSolver channel node
このサンプルでは、IKSolver CHOPの使い方を説明しています。
SimpleInverseKin Example for InverseKin channel node
このサンプルでは、手動でInverseKin CHOPを使う方法を説明しています。
Inverse Kinematics付きのボーンチェーンの作成は、CharacterシェルフタブのBonesツールを使うのが一番簡単です。
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つのアニメーションとしてシーケンス化させる方法を説明しています。
SimpleTransformChain Example for TransformChain channel node
このサンプルでは、TransformChain CHOPの使い方を説明しています。
AutoFreezeRBD Example for Active Value dynamics node
このサンプルでは、RBDオブジェクトがRest状態になる時を自動的に検知して、Active状態をオフにするシステムを説明しています。 これは、計算時間とジッターを軽減するためにRBDオブジェクトをフリーズします。
ClipLayerTrigger Example for Agent Clip Layer dynamics node
このサンプルでは、Agent Clip Layer DOPを使って、エージェントの上半身にクリップを適用する方法を説明しています。 このクリップは、そのエージェントが境界ボックス内にある時にアクティブになります。
BridgeCollapse Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、自動的に拘束を伝搬させて、崩壊する橋のRBDシミュレーションを作成する方法を説明しています。
SimpleBlend Example for Blend Solver dynamics node
このサンプルでは、Blend Solverの使い方を説明しています。 この場合、Blend Solverを使って、RBDとキーフレームの計算間をブレンドしています。
MultipleSphereClothCollisions Example for Cloth Object dynamics node
このサンプルでは、色々な特性を使って布を球と衝突させる方法を説明しています。 Stiffness(剛性)とSurface Mass Densityを調整することで、布の挙動を変更することができます。
AngularMotorDenting Example for Constraint Network dynamics node
このサンプルでは、Angular Motorをピン拘束と一緒に使用して、凹みの効果を作成する方法を説明しています。
Chains Example for Constraint Network dynamics node
このサンプルでは、Pin拘束でオブジェクトをチェーン状に接続する方法を説明しています。
Hinges Example for Constraint Network dynamics node
このサンプルでは、ピン拘束でオブジェクト間にヒンジを作成する方法を説明しています。
CrowdHeightField Example for Crowd Solver dynamics node
このサンプルでは、Crowd SolverのTerrain AdaptationとBullet SolverのラグドールのコリジョンにHeight Fieldを使用する方法について説明しています。
FootLocking Example for Crowd Solver dynamics node
このサンプルでは、エージェントの足をロックさせる方法について説明しています。
PartialRagdolls Example for Crowd Solver dynamics node
このサンプルでは、部分ラグドールのセットアップ方法について説明しています。エージェントのジョイントのサブセットがBullet Solverによってアクティブオブジェクトとしてシミュレーションされ、残りのジョイントがアニメーションします。
PinnedRagdolls Example for Crowd Solver dynamics node
このサンプルでは、ラグドールを外部オブジェクトに取り付ける拘束のセットアップ方法と、モーターを使ってアニメーションクリップを持つアクティブラグドールを駆動させる方法について説明しています。
Formation Crowd Example Example for Crowd Solver dynamics node
変化する編成のセットアップを説明した群衆サンプル
このセットアップではエージェントの部隊を作成しています。ここでは2つのパスが作成されています。 部隊の中央部分から動き始め、2つの編成に分かれます。 1つが左側に、もう1つが前方に行進して、ゆっくりとその編成が、くさび形に変わります。
エージェントを編成内に維持させるために、独自のジオメトリ形状を使用しています。 その形状は、個々のエージェントに対してゴールとして使用されるポイントです。 その形状をブレンドシェイプさせることで、別の編成に変化させることが可能です。 crowdsourceオブジェクトの中に入って、その構造を確認してください。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
Stadium Crowd Example Example for Crowd Solver dynamics node
スタジアムのセットアップを説明した群衆サンプル。
このセットアップは、スタジアムの群衆を作成します。 回転するcheer_bboxオブジェクトをエージェントの境界ボックスとして使用しています。 エージェントがそのオブジェクトの中に入ると、座っている状態から応援している状態へ推移します。 数秒後には、応援している群衆がまた座っている状態に戻ります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
Tip
群衆の一部だけをもっと高速にプレビューしたいのであれば、/obj/crowdsource/switch_all_subsectionにSwitchノードがあります。 そのスイッチを0に設定すると、すべてのエージェントが表示され、1に設定すると、一部のみが表示されます。
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つの流体について説明しています。
FlipColorMix Example for FLIP Solver dynamics node
このサンプルでは、Flip Solverを使って、赤の流体と青の流体のカラーを混ぜて、紫の流体を作成する方法を説明しています。
FlipFluidWire Example for FLIP Solver dynamics node
このサンプルでは、Flip SolverとFluid Force DOPの使い方を説明しています。 Fluid Force DOPを使って、FLIP流体の動きに応じてワイヤーオブジェクトに力を加えています。 流体オブジェクト内に存在する流体の箇所にのみDragフォースを適用しています。
CombinedSmoke Example for Gas Embed Fluid dynamics node
このサンプルでは、Gas Embed Fluid DOPを使って、2つのSmoke Volumeを結合し、ボリューム間を滑らかにぼかしています。
EqualizeFlip Example for Gas Equalize Volume dynamics node
このサンプルでは、Gas Equalize Volume DOPを使用して、流体シミュレーションの体積を維持する方法を説明しています。
EqualizeLiquid Example for Gas Equalize Volume dynamics node
このサンプルでは、Gas Equalize Volume DOPを使用して、流体シミュレーションの体積を維持する方法を説明しています。
TeapotUnderTension Example for Gas Surface Tension dynamics node
このサンプルでは、ティーポットの形をした液体のブロッブを作成しています。 そして、表面張力によって、ブロッブを球状に平滑化しています。
WorkflowExample Example for Particle Fluid Solver dynamics node
この少し複雑なサンプルでは、パーティクル流体のシミュレーション、保存、サーフェス化、レンダリングの単純なワークフローを説明しています。 サンプルにある3つのジオメトリノードの名前は、それぞれ使用する順番としてStep 1、Step 2、Step 3という名前にしています。 各ノードは、パーティクルジオメトリをディスクに書き出したり、ディスクからジオメトリを読み込んだり、ディスクからサーフェス化したジオメトリを読み込みます。 このサンプルでは、さらにシェーダとカメラを組んでいるので、簡単にレンダリングすることができます。
このシーンでアニメーションする流体は、高い弾力を持つゼラチンのようなブロッブです。
ParticleCollisions Example for POP Collision Detect dynamics node
このサンプルでは、POP Collision Detectノードを使って、 変形しながら回転するトーラスと衝突するパーティクルをシミュレーションする方法を説明しています。
ColorVex Example for POP Color dynamics node
このサンプルでは、POP ColorノードでVEXエクスプレッションを使って、パーティクルに色を付ける方法を3通り説明しています。
CurveForce Example for POP Curve Force dynamics node
このサンプルでは、POP Curve Forceノードを使って、パーティクルシミュレーションとFLIP流体シミュレーションの流れを制御する方法を説明しています。
TargetSand Example for POP Grains dynamics node
このサンプルでは、モデルの表面上のポイントに引き寄せられる粒のシミュレーションを説明しています。
LookatTarget Example for POP Lookat dynamics node
このインタラクティブなサンプルでは、POP Lookatノードの使い方を説明しています。 再生ボタンを押して、ビューポートにある緑のターゲットハンドルを動かしてみてください。 円錐のパーティクルが、あなたが動かしたターゲットの方向に向きます。
BillowyTurbine Example for Pyro Solver dynamics node
このサンプルでは、Pyro SolverとSmoke Objectを使って、 タービン(RBDオブジェクト)を通過した煙を渦巻くように放出させる方法を説明しています。 タービンの羽は、Copy、Circle、AlignのSOPでプロシージャルにモデリングしています。
このサンプルでは、RBD Glueオブジェクトからアニメーションキーフレームデータを取り込んで、 それを立方体のシミュレーションにブレンドして、衝撃によって複数の破片に砕く方法を説明しています。
このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。
たくさんの球を接着してトーラス形状を作成し、さらに、水平に移動する平面を追加しています。 この平面が通過した後の球が分解されていきます。
Chainlinks Example for RBD Pin Constraint dynamics node
このチェーンシミュレーションでは、個々のチェーンリンクが、RBDシミュレーションでお互いに反応しています。
InheritVelocity Example for RBD State dynamics node
このサンプルでは、RBD Stateノードを使って、オブジェクトの動きからVelocityを継承して、接着したRBD破壊シミュレーション内で、他のオブジェクトと衝突させる方法を説明しています。
ReferenceFrameForce Example for Reference Frame Force dynamics node
水で満たされたRBDの花瓶を使って、花瓶の参照フレーム内で水のシミュレーションをします。
SumImpacts Example for Script Solver dynamics node
このサンプルでは、Script SolverとSOP Solverを使って、タイムステップ毎にオブジェクトに加えられた衝撃エネルギーの合計に基づいて、 RBDオブジェクトの色を変更する方法を説明しています。
rbdsmokesource Example for Smoke Object dynamics node
ぼんやりとした四面体がボックス内を跳ね回って、その煙の連続的な放出で臨場感を出しています。
VisualizeImpacts Example for SOP Solver dynamics node
このサンプルでは、SOP SolverでカスタムガイドジオメトリをRBDオブジェクトに追加することで、RBDシミュレーション内のImpactデータを可視化する方法を説明しています。
このサンプルでは、Impactの位置と強さを示す緑の線を持つ3つのトーラスがグリッドに落下します。 フォースを可視化するために、補助的なジオメトリデータとして実際のトーラスに追加しているので、RBD Solverは完全にそのエフェクトを無視します。 SOP Solverを独立したSOP Networkとして使うことで、RBDオブジェクトからImapctの可視化を抽出することもできます。
FractureExamples Example for Voronoi Fracture Solver dynamics node
このサンプルでは、実際にHoudiniでボロノイ破壊を使う7つの方法を含んでいます。 特に、破壊シミュレーションでVoronoi Fracture SolverとVoronoi Fracture Configure Objectのノードの使い方を説明しています。 アニメーションを再生するなら、それらのサンプルのディスプレイフラグをオンにし、セットアップをテストするなら、各サンプルの中に入ってください。
BreakWire Example for Wire Solver dynamics node
このサンプルでは、ポイント単位でワイヤー拘束を壊す方法を説明しています。 Wire Solverで、'pintoanimation'という名前のアトリビュートを持つポイントを拘束するようにセットアップしています。
CurveAdvection Example for Wire Solver dynamics node
このサンプルでは、Pyroシミュレーションに基づいて、カーブを移流させる方法を説明しています。 Attribute Wrangle SOPを使って、ボリュームのVelocityをサンプリングして、それをワイヤーオブジェクトに適用しています。
PortalBox Example for Environment Light object node
このサンプルでは、窓の形状を使って、ポータルライトを作成する方法を説明しています。 ボックスをモデリングして、窓と壁の2つのSOPに分割しています。 環境光のPortal Geometryパラメータに窓を指定して、壁をレンダリングします。 Portal Geometryパラメータをオン・オフして、Render Viewでのレンダリング品質の違いを確認してみてください。
このサンプルで注目すべき特徴は以下の通りです:
-
ジオメトリエリアライト
-
減衰ランプ制御
-
サーフェスモデルのスペキュラーレイヤー
サンプルでは、NURBSカーブに基づいたジオメトリライトを構成しています。 ライトの減衰には、カラーキーを使うことで、異なるライトの色をライトからの距離に応じて生成することができます。 ground plane shaderは、2つのスペキュラーコンポーネント(広いコンポーネントと狭い光沢コンポーネント)でサーフェスモデルを使って、複数レイヤーの外観を生成します。
TransparentShadows Example for Light object node
このサンプルでは、ディープシャドウマップを使って透明シャドウを設定する方法を説明しています。 シーンには、影を落とす透明なグリッドを配置しています。 レンダラーには、マイクロポリゴンレンダリングを使用しています。
IndirectLightBox Example for Indirect Light object node
このサンプルでは、間接Diffuse照明用の間接光オブジェクトをセットアップする方法を説明しています。 シーンは、何回も押し出して作成したボックスと、光源とカメラで構成されています。 カメラの範囲に入るすべてのライトが、カメラに到達する前にシーン内で2度以上跳ね返るようにライトを配置しています。 間接光オブジェクトは、100万個のフォトンを生成するように設定されています。 フォトンマップを可視化するには、ライトのレンダリングモードを"Direct Global Photon Map"に変更します。 サンプリング品質を調整するには、Mantra ROPのPixel SamplesまたはRay Samplesを修正します。 このサンプルで使用するレンダリングエンジンは、PBRです。
TubeCaustic Example for Indirect Light object node
このサンプルでは、コースティクスのフォトンマップ生成用の間接光オブジェクトをセットアップする方法と、ライトマスクとフォトンターゲットの使い方を説明しています。 シーンは、反射するチューブとポイントライトと環境ライトで構成されています。 各ライトには、コースティクスを生成する間接光があり、ライトマスクによって指定したライトからのみフォトンを生成しています。 フォトンターゲットを使って、フォトンを反射するチューブに向かってのみ送信しています。 Mantra ROPは、ライト単位でdirect_diffuseコンポーネント用のディープラスター平面を生成し、2つのライトからのDiffuse照明とコースティクスを別々の平面に分けます。
環境ライト
ポイントライト
このサンプルでは、MuscleオブジェクトのMuscle Control Handlesを使って、筋肉の形を制御してアニメーションする方法を説明しています。
このサンプルでは、2 Point Muscleを使って、オブジェクト空間内で筋肉の揺れを作成する方法を説明しています。
PathPathcvWorm Example for Path object node
このサンプルでは、PathとPathCVのノードの使い方を説明しています。 Path CVは、360以上回転することが可能です。 また、ControlタブにはInitial Twistパラメータがあります。 このパラメータは、すぐに背骨を作成するのに役に立ちます。
StickyDonut Example for Sticky object node
このサンプルでは、グリッドサーフェス上を滑るStickyオブジェクトにドーナッツが引っ付いています。
switchcamera Example for Switcher object node
このサンプルでは、2つのカメラ間でビューを切り替え、Renderノードで出力するシーンを切り替える方法を説明しています。
このサンプルでは、Bake Animation ROPをセットアップして、リグのアニメーションを他のリグに転送すると同時にオブジェクト拘束をベイクする方法について説明しています。
FetchROP Example for Fetch render node
このサンプルでは、Fetch ROPを使って、異なるネットワークにあるROPノードにレンダー依存関係を構築する方法を説明しています。 noise COPを使って、Mantraでレンダリングするサーフェスに対してJust-In-Timeでテクスチャを生成します。
AmbientOcclusion Example for Mantra render node
アンビエントオクルージョンは、レイトレーシングによって開いた空間内に柔らかいDiffuseライティングを高速に生成するための技術です。 これは、あるポイントを中心にどれだけの大きさの半球がシーン内の他のサーフェスで塞がるのか調べて、塞がる箇所が多い場所ほど、より暗いライティングを生成する方法で計算されます。 この技術は、完全なグローバルイルミネーションほどの負荷をかけずに、そのGI(グローバルイルミネーション)のような効果が必要な時に役に立ちます。
これに特化したサンプルとして、アンビエントオクルージョンのライトといくつかのジオメトリをデジタルアセットの形式で用意しています。 このサンプルでは、Environment Lightを使用し、そのパラメータにアクセスしやすいように、そのパラメータをプロモートしています。
サンプル数を減らすことで、レンダリングでノイズが発生する代わりにレンダリング時間を短くすることができます。 以下のレンダリングでは、上図と同じシェーダを使用していますが、サンプル数をデフォルトの256から16に減らしています。 この値は、LightのRender Optionsタブの Sampling Quality で設定しています。
環境マップ
滑らかな環境マップを持っていれば、グローバル背景カラー(ホワイト)を環境マップの値に置き換えることができます。 また、Sky Environment MapタブのSky Environment Mapも有効にすることができます。
MotionVector Example for Mantra render node
このサンプルでは、後でVelocityのコンポジットをするために、モーションベクトルレイヤーを生成する方法を説明しています。
サンプルを読み込んで、5フレーム分をレンダリングしてください。画像ビューアでは、C
(カラー)からmotion_vector
に切り替えると、その結果を見ることができます。
Volume Rendering - メタボールのボリュームレンダリング Example for Mantra render node
メタボールジオメトリは、Mantraでそのままボリュームとしてレンダリングすることが可能です。メタボールのレンダリングを有効にするには、ジオメトリオブジェクトの Render タブの Geometry サブタブの Metaballs as Volume パラメータをチェックします。メタボール上のPointアトリビュートは、Pointアトリビュートがメタボールサーフェスに対して補間されるのと同様に、シェーディングポジションで補間されます。
以下に、ランダムなポイントカラーアトリビュートを使ったサンプルを載せています:
シャドウ品質とパフォーマンスの制御
シャドウマップの生成には、 Pixel Samples と Shadow Step Size パラメータ(Mantra ROP内)を使って、サーフェスに対して使用するのとまったく同じ方法で、品質とパフォーマンスを制御します。ほとんどのボリュームは、柔らかいDiffuseシャドウを落とすので、ボリュームレンダリングの時は、低解像度のディープシャドウマップを使ってレンダリング時間を短くすることがほとんどです。シャドウマップの 解像度 は、Houdiniのライトの Shadow タブで変更することができます。
Volume Rendering - ファイル参照の煙 Example for Mantra render node
ボリュームレンダリングは、高品質な煙、雲、飛沫、炎などのボリュームエフェクトを統合したレンダリングを可能にするレンダリング手法です。
ボリュームレンダリングは、多くのタイプのボリュームエフェクトのレンダリングに適しています。Mantraボリュームによるレンダリングが特に適したシーンは以下のとおりです:
-
詳細な"hero"(メインとなる)の雲、煙、炎
-
インスタンス化した雲、煙、炎のフィールド(視界)
ボリュームレンダリングがまったく適さないシーンは以下のとおりです:
-
単一の均一なフォグを持つシーン
この特化したサンプルでは、bgeoファイル(1フレームのみ)を煙の流体シミュレーションからエクスポートして、それをFile SOPを使って参照しています。VEX Volume Cloudを使ったマテリアルを、Volume Objectのトップレベルで、このボリュームデータに割り当てています。シェーディングモードでこのシーンを見るには、環境変数の HOUDINI_OGL_ENABLE_SHADERS を1に設定します。
品質/パフォーマンスの制御
ボリュームレンダリングは、Ray Marchingを使って、ボリューム内に入り込みます。Ray Marchingは、画像内の各ピクセルに対して均一に光線に沿って入り込むことで、ボリューム内にシェーディングポイントを生成します。ボリュームのRay Marchingの品質と速度を変更する方法が2つあります:
-
Mantra ROPの Properties タブの Sampling サブタブの Pixel Samples パラメータ。 Pixel Samples を増やせば、ピクセル内にRay Marchingを増やすことができるので、品質が良くなります。さらに、ボリュームに対してアンチエイリアスとモーションブラーの品質が良くなります。
-
Mantra ROPの Properties タブの Sampling サブタブの Volume Step Rate パラメータ。 Volume Step Rate を上げれば、ボリューム内部のサンプルが増えるので、品質が良くなりますが、パフォーマンスが悪くなります。別々のシャドウ品質をシャドウに使うことができます。
変更すべきパラメータは、ピクセルのアンチエイリアスで必要な品質に依存します。 Pixel Samples を増やすよりも、 Volume Step Rate を小さくする方が良いです。なぜなら、 Volume Step Rate が小さいほど正確なレンダリングができるからです。
以下のレンダリングでは、 Pixel Samples を2×2、 Volume Step Rate を1にしています。シャドウの細部に注目してください。
以下のレンダリングでは、 Pixel Samples を4×4、 Volume Step Rate を0.25にしています。シャドウの細部が消えて、ボリュームが少し透明になっています。品質レベルは、ほぼ同じです。
Volume Rendering - プリミティブからのボリュームレンダリング Example for Mantra render node
ボリュームレンダリングは、高品質な煙、雲、飛沫、炎などのボリュームエフェクトを統合したレンダリングを可能にするレンダリング手法です。
ボリュームレンダリングは、多くのタイプのボリュームエフェクトのレンダリングに適しています。Mantraボリュームによるレンダリングが特に適したシーンは以下のとおりです:
-
詳細な"hero"(メインとなる)の雲、煙、炎
-
インスタンス化した雲、煙、炎のフィールド(視界)
流体ソルバを呼び出さなくても、プリミティブからボリュームを簡単に作成することができます。
この特化したサンプルでは、プリミティブのトーラスを使って、煙のボリュームをレンダリングしています。IsoOffset SOPを使えば、トーラス内部を充たすボリュームが生成されます。そして、VEX Volume Cloudを使ったマテリアルを、トーラスの形状をしたボリュームデータに割り当てています。 Smoke Cloud Density を5に、 Smoke Shadow Density を10に設定すれば、煙のような見た目を作成することができます。
以下の画像は、 Volume Quality (Mantra ROP)、 Shadow Quality (スポットライトの Shadow タブの Depth Map Shadows タイプ)、 Sampling Divs (IsoOffset SOPの Dimensions タブの Uniform Sampling を"Non Square"に設定)を調整してレンダリングしたトーラスです。煙のDiffuseカラーも調整しています。
このサンプルでは、アニメーションするランプと参照ランプの使い方を説明しています。
このサンプルでは、Shutter Shapeパラメータで、グレースケールのランプでシャッターの開口時間を制御する方法を説明しています。
Down Hill Lava Flow Example for Material shader node
このファイルでは、傾斜が低い箇所にCrust(地殻)が集まって硬化する溶岩の流れを作成しています。このアニメーションは、シェーダで作成していて、ジオメトリそのものはアニメーションしていません。
Note
Lava(溶岩)マテリアルのパラメータのほとんどを、サーフェスノードで作成したPointアトリビュートで上書きしています。
FirePit Example for Material shader node
Note
このファイルでは、ジオメトリはアニメーションしていません。 テクスチャをアニメーションさせることで、すべてのアニメーションを表現しています。
炎は、UVテクスチャを簡単に適用できるようにグリッドで作成し、Magnet SOPを使ってメタボール周辺を歪ませています。
炎には、黄色または青のFlameテクスチャのどれかを割り当てています。
Flamesのopacity mask wrapをDecalに設定することで、テクスチャがFlameジオメトリの上部で単一ピクセルリングを繰り返して表示するのを回避しています。
また、flameOpacMap.jpg
というマスクファイルを使って、上部にFlameの形状を調整しています。
noise offsetを$T
でY軸を強くアニメーションさせることで、Flameが上昇しているように見せています。これは、Noise jitterもY軸に対して大きくなります。
炭は、変形させたグリッドにCopy Stampを適用した球で表現しています。
Attribute CreateSOPを使えば、SOPレベルでLava(溶岩)のテクスチャのパラメータを上書きしてCopy Stampすれば、$BBY
などのローカル変数を使ってテクスチャをアニメーションさせることができます。
そうすれば、テクスチャのCrust(地殻)とその値だけを使って、炭の上部の形状を修正することができます。
これは、炭の下部で使用するテクスチャのLava(溶岩)のアスペクト比を保持します。熱を発する炭の下部の残り火を表現するために、Lava(溶岩)の強度(Kd
アトリビュート)をスタンプしてアニメーションしています。
StyleDisplacement Example for Material shader node
このサンプルファイルでは、2つの四角形で構成されたオブジェクトに対して、片方の四角形にはバンプマップを、もう片方の四角形にはTrue Displacementが適用されています。 そのオブジェクトが複製されており、2番目のコピーでは、スタイルシートを使用して、それらの2つの四角形に対してマテリアルの割り当てを逆にしています。
Basic RIS Shading Example Example for RIS Shader Network shader node
このファイルでは、私達はシンプルなジオメトリを作成し、そこにBxDFシェーダを割り当てています。 シェーディングネットワークは、BxDFシェーダに接続されたパターンシェーダで構成されています。
VolumeNoiseIso Example for Mantra: VEX Volume Procedural shader node
このサンプルでは、Mantraのボリュームレンダリング機能を使って、CVEXシェーダで定義したアイソサーフェスをレンダリングする方法を説明しています。 noiseフィールドをCVEXシェーダで生成し、それをVEX Volume Proceduralに接続しています。 密度が0のサーフェスを見つけて、法線を表示するSimple Surfaceシェーダを使ってシェーディングすることで、ボリュームをシェーディングします。
AddItUp Example for Add geometry node
このネットワークでは、Add SOPによるジオメトリの構築と操作に関するたくさんの使用方法を説明しています:
-
空間内にポイントを作成する時に使用します。そして、指定したパターンでポイントからポリゴンを作成することができます。そのポリゴンはオープンまたはクローズにすることができます。さらに、各ポイントはエクスプレッションやキーフレームを使ってアニメーションすることもできます。
-
ポイントの作成と同時に他のプリミティブからポイントを取り出す時に使用します。これらのポイントはポリゴンを作成する時に使用します。
-
Add SOPは他のポリゴンオブジェクトから抽出したポイントを使ってポリゴンを作成する時に利用します。Group SOPでは、Add SOPが参照するポイントグループを作成することができます。
-
Add SOPはアニメーションするNullオブジェクトのグループからポリゴンを作成する時に使用します。Object Merge SOPはポリゴンの生成時にAdd SOPに取り込まれているSOPの中にあるNullポイントを参照します。 Fit SOPは参照したNullポイントから順番に補間スプラインを作成する時に使用します。
-
Add SOPプリミティブを作成しないでポイントを生成する時に使用します。また、Add SOPを使って他のオブジェクトのポイントを抽出することができます。
-
最後に、Add SOPではさらに縦の列と横の列のポイントを作成することもできます。
LayerVariations Example for Agent Layer geometry node
このサンプルは、いろいろなジオメトリのバリエーションを持ついくつかのレイヤーを作成して、 それらのレイヤーをエージェントにランダムに割り当てる方法を説明しています。
DeformVolume Example for Attribute from Volume geometry node
このサンプルでは、ボリュームを変形する方法を説明しています。 最初に、ボリュームの解像度に合った分割数でBox SOPを作成し、そこからポイントの3Dグリッドを作成します。 次に、ボリュームの密度アトリビュート名の"dens"をそれらのポイントに転送します。 最後に、好きなようにポイントを変形して、空っぽのボリュームを作成すれば、そのボリュームをポイントの密度で満たすことができます。
RandomMaterial Example for Attribute String Edit geometry node
このサンプルでは、Attrib String Edit SOPを使って、文字列Primitiveアトリビュートの修正と、
プリミティブ単位でグリッドのカラーをランダム化する方法を説明しています。
サンプルでは、material_override
Primitiveアトリビュートの文字列値にdiff_int
を修正しています。
BoxSpring Example for Box geometry node
Box SOPは、ボックスの作成以外のことにも使用します。これは、特定の目的で既存のジオメトリを囲むこともできます。 Box SOPは、単純な六面体のポリゴンボックスを作成したり、ジオメトリの境界ボックスを計算したり、Lattice SOPと組み合わせて使用します。 box.hipファイルには、以下の事を説明するために、2つのオブジェクトがあります:
-
animated_bounding_box
animated_bounding_boxオブジェクトでは、アニメーションするオブジェクトを単純なボックスで囲む方法を説明しています。 これは、複雑なジオメトリを表示するときに、ボックスを表示フラグに設定し、複雑なジオメトリをレンダーフラグに設定したい場合に役に立ちます。
-
box_spring_lattice
これは、Box SOPとLattice SOPを組み合わせて使用したサンプルです。 Box SOPは、あるジオメトリ、この場合は球を囲む時に使用します。Box SOPのDivisionsにチェックを付けて、その値にLattice SOPの分割数を参照するように設定することで適切なジオメトリを作成します。
ボックス上面のポイントは、Group POPでグループ化しています。Spring POPは、そのグループのポイントをFixed Pointsに設定して、ボックスを変形しています。
この方法でBox SOPを使用すれば、入力のジオメトリ(この場合は、basic_sphere)が変わると、自動的にボックスとラティスもサイズが変わります。
SlowParticles Example for Cache geometry node
このサンプルでは、Particle SOPを使用してパーティクルの流れを作成しています。
Cache SOPを使用して、パーティクルを遅くさせています。Cache SOPでは、アニメーションのフレームレートを制御して、グローバルフレームレートよりも遅くアニメーションを読むことができます。
CapCarousel Example for Cap geometry node
このサンプルでは、グループの作成によって指定した2つのジオメトリの領域を埋める方法を説明しています。
2つのGroup SOPを使って、group_bottomとgroup_middleの2つのグループを作成します。これらのグループは、Number Enableを使用して作成しています。Patternの番号は、プリミティブ番号に一致します。これらの番号は、Primitives Numbersを有効にすることで確認することができます。
2つのCap SOPを使って、2つのグループを埋めます。First V CapまたはLast V Capのどれかで穴を埋めることで、埋めたいグループの端をどのようにするのか選択することができます。
CapTubeExamples Example for Cap geometry node
このサンプルでは、円柱の穴を埋める方法をタイプ別で説明しています。
NURBS、メッシュ、Bezierの3つのジオメトリに対して穴を埋めています。
ジオメトリのタイプ別にfaceted, shared, rounded, tangentialの穴埋めのタイプのサンプルを用意しています。
穴埋めのタイプの詳細は、Cap SOPのヘルプを参照してください。
VexDeform Example for Capture Attribute Unpack geometry node
これは、Capture Attribute Unpack SOPを使用して、キャプチャアトリビュートをVEXにアクセス可能な何かに変える方法を説明したサンプルです。 これには、キャプチャアトリビュートを滑らかにして、それらのVEXで完全に変形させるメソッドを用意しています。
DiscCarve Example for Carve geometry node
このサンプルでは、NURBSサーフェスからカーブを抽出して、そのカーブをアニメーションする時のCarve SOPの使用方法を説明しています。
Carve SOPはUとVのサーフェスデータを使ってジオメトリを刻みます。
このサンプルでは、他のジオメトリの入力として使用するカーブを抽出して面白い効果を作成しています。
Carve SOPで、V方向を指定して、その値を0から1までの範囲で、キーフレームやエクスプレッションを使ってアニメーションしています。
CircleExamples Example for Circle geometry node
このサンプルでは、Circleのジオメトリタイプと円弧タイプの違いを説明しています。
ジオメトリタイプには、primitives, polygons, NURBS, Beziersがあります。
円弧タイプには、closed circle, open arc, closed arc, sliced arcがあります。
サンプルの円弧は、アニメーションするので、アニメーションを再生して、その円弧が開いていることを確認してください。
ClayBasic Example for Clay geometry node
このサンプルでは、Clay SOPの使用方法を説明しています。サンプルを見やすくするためにポイントをアニメーションしています。
Matrix - ポイントのトランスフォーメーションをMatrixで指定します。
Vector - ポイントをベクトルに沿って移動します。
Point - ポイントをオブジェクト空間の絶対XYZ座標に移動します。
Primitive - ポイントが2番目の入力のプリミティブの(U,V)にスナップします。 2番目の入力がなければ、自身の(U,V)にスナップします。
CombGrass Example for Comb geometry node
このサンプルでは、Comb SOPを使ってインタラクティブに法線上を"ペイント"することでポイント法線の方向を変更する方法を説明しています。
2つのComb SOPを使って、別々の方向を向いたグリッドの法線の方向を整えています。 Sequence Blend SOPで2つのComb SOPをブレンドすることで法線が揺れているように見せています。
単純なラインジオメトリをそれらのポイントに接続しています。
Comb SOPは髪の毛や草原などのアニメーションに使うことができます。
ConvertBasic Example for Convert geometry node
このサンプルでは、Convert SOPが単純な球を使ってジオメトリタイプを変換する色々な方法を説明しています。
この説明ではチャートを使用しています。
チャートの左側では、変換元のジオメトリタイプを説明しています。
チャートの上側では、変換先のジオメトリタイプを説明しています。
この説明で使用しているSphere SOPとConvert SOPすべては、違いを分かりやすくするためにデフォルト値を使用しています。
Potatochip Example for Convert geometry node
このサンプルでは、Convert SOPを使って閉じたカーブをサーフェスに変換する方法を説明しています。
サンプルには2つのバージョンがあります。1つ目は、カーブがサーフェスに上手く変換されています。 2つ目は、元のカーブの形状が凹んでいるので上手くサーフェスに変換されていません。
シェーディングモードで表示すると分かりやすいです。
このサンプルでは、Cookie SOPの色々な使い方を説明しています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
このインスタンスでは、ポイントをFacet SOPを使って結合し、Divide SOPを使ってサーフェスを滑らかにして、Cookie SOPで円柱で減算して穴を空けています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
星の形状を作成して、それを球から減算しています。
CopyAttributes Example for Copy Stamp geometry node
Copy SOPはジオメトリをコピーするだけでなく、それ以上のこともできます。このサンプルでは、Copy SOPを使ってテンプレートジオメトリ(またはポイント)からカラーアトリビュートをコピーしたジオメトリに転送しています。
カラー情報を追加したポリゴンの球をソースジオメトリとして使用しています。球からカラーアトリビュート(Cd)付きのポイントを抽出し、それをCopy SOPでテンプレートとして使用します。Copy SOPはカラー情報をコピーしたポリゴンの円に転送します。
CreepBlob Example for Creep geometry node
このサンプルでは、メタボールをサーフェス上に這わせる方法を説明しています。 このケースでは、サーフェスは捻じ曲がったチューブで、メタボールは管を通過して押し出される"ブロッブ"のように見えます。
チューブは、メタボールを這わせるために作成しています。 円は同じチューブからプロファイルを抽出して作成しています。 円はCreep SOPでチューブに沿ってアニメーションしています。
メタボールは抽出した円のポイントに接続して"ブロッブ"を作成しています。
CreepParticleTubeA Example for Creep geometry node
このサンプルでは、パーティクルがサーフェス上を這う2通りの方法を説明しています。このケースでは、サーフェスは捻じ曲がったチューブです。
1つ目がサーフェスの内側にパーティクルを這わせる方法、2つ目がサーフェスの外側にパーティクルを這わせる方法を説明しています。これはCreep SOPのz scaleを変更することで、サーフェス法線方向にパーティクルをオフセットしています。
パーティクルはチューブから抽出した円から発生しています。
CreepSpiral Example for Creep geometry node
このサンプルでは、Creep SOPを使ってラインをチューブの上に螺旋状に巻きつける方法を説明しています。
CreepText Example for Creep geometry node
このサンプルでは、テキストジオメトリがアニメーションサーフェスに沿って這います。
サーフェスは、Sequence Blend SOPでアニメーションするカーブを2つ使ってスキンしています。Creep SOPでジオメトリを這わせるにはカーブではなくサーフェスが必要です。
CreepWeave Example for Creep geometry node
このサンプルでは、ジオメトリを受け取り、それをアニメーションするサーフェスに這わせる方法を説明しています。
織物の形をしたfabric.bgeoをFile SOPで取り込んでいます。 NURBSグリッドはsinとnoise関数を使って、波のように揺れるアニメーションを表現しています。
fabric.bgeoがCreep SOPでアニメーションするサーフェス上を這うことで、織物が波のように揺れているように見えます。
PopulateRandomAgents Example for Crowd Source geometry node
このサンプルは、いくつかの異なったタイプのエージェントを群衆に集める方法を説明しています。
DeltaMushDemo Example for DeltaMush geometry node
このサンプルでは、Delta Mush SOPを使用したボーン変形の平滑化の方法を説明しています。
LowHigh Example for Dop Import geometry node
このサンプルではRBDオブジェクトに対応するために低解像度と高解像度のセットアップをする方法を説明しています。 どちらの解像度もDOP Import SOPを参照して、低解像度ジオメトリでシミュレーションをして、その結果を高解像度ジオメトリに転送してレンダリングしています。
ExtrudeFont Example for Extrude geometry node
このサンプルでは、Extrude SOPを使って、ボリュームとジオメトリを平坦なプリミティブから作成する方法を説明しています。
また、ジオメトリを別パートにグループ分けする方法と各グループに別々のシェーダを適用する方法も説明しています。
PackedPoints Example for File geometry node
このサンプルでは、File SOPを使って、ディスクのパックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。 パックジオメトリをディスクに保存すると、参照付きでポイントジオメトリのみがディスクファイルに保存されます(ディスクファイルは非常に軽いです)。
PackedSamples Example for File geometry node
このサンプルでは、File SOPを使って、パックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。
FurBallWorkflow Example for Fur geometry node
このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。
LSystemMaster Example for L-System geometry node
L-System SOPは、反復処理によって複雑な形状を定義することが可能です。このノードは初期文字列を繰り返して評価する数学的な言語を使用し、その評価結果からジオメトリを生成します。各評価の結果が次のジオメトリの反復の基本になり、ジオメトリが成長していきます。
このサンプルのネットワークは、あなたが初めてL-Systemの独自ルールを記述するのに十分です。
しかし、L-Systemの作成に本気で興味のある人は次の本を読むべきです:
The Algorithmic Beauty of Plants, Przemyslaw Prusinkiewicz and Aristid Lindenmayer
L-Systemのコマンドの完全なリストは、Houdiniのヘルプを参照してください。
LsystemBuilding Example for L-System geometry node
このサンプルは、L-System SOPを使って窓のあるビルを生成する方法を説明しています。
ParticleExamples Example for Particle geometry node
このサンプルでは、Particle SOPの色々な使い方を5つの説明しています。
-
Creep Creep SOPを使ってサーフェス沿いにパーティクルを這わせます。
-
Group サーフェス上のポイントのグループからパーティクルを発生します。
-
Bounce パーティクルを跳ね返らせます。
-
Split 接触時にパーティクルを分割します。
-
Collide 衝突オブジェクトからパーティクルを発生します。
-
Moving Object 移動オブジェクトからパーティクルを発生します。
-
Force メタボールを使ってパーティクルに力を加えます。
CrossProduct Example for Point geometry node
このサンプルでは、Point SOPを使って外積を計算する方法を説明しています。 外積は、2つの入力ベクトルに垂直なベクトルを定義します。
このサンプルを可視化する場合は、SOPネットワークに移動して、ディスプレイツールバーの Point Normals を有効にしてください。
TwistyCube Example for Point Cloud Iso geometry node
このサンプルでは、Point Cloud Iso Surface SOPを使って点群からポリゴンを構築する方法を説明しています。
BlendPUsingv Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使って、Velocityを考慮しながらポイント位置をブレンドする方法を説明しています。
BlendPointAttributes Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使ってPointアトリビュートをブレンドする方法を説明しています。
BlendPrimitiveAttributes Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使ってPrimitiveアトリビュートをブレンドする方法を説明しています。
BlendVertexAttributes Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使ってVertexアトリビュートをブレンドする方法を説明しています。
TorusExamples Example for Torus geometry node
このサンプルでは、色々なジオメトリタイプのトーラスの作り方を説明しています。
UnpackWithStyle Example for Unpack geometry node
このサンプルでは、アンパックと同時にスタイルシート情報を評価することができるUnpack SOPの機能について説明しています。 Nested Packed Primitiveでは、スタイル情報を維持しつつも部分的にアンパックできることを説明しています。 このサンプルでは、Python SOPを使って、プリミティブ単位でスタイルシートから情報を抽出する方法も説明しています。
DetectOverlap Example for Volume Merge geometry node
このサンプルでは、Volume SOPとVolume Merge SOPをプロシージャルに使って、たくさんの入力のボリュームの重複した領域を検出する方法を説明しています。
volumemerge Example for Volume Merge geometry node
このサンプルでは、Volume Merge SOPで複数のインスタンス化したボリュームを1台のカメラの視界領域のボリュームに平坦化する方法を説明しています。
barycenter Example for Volume Reduce geometry node
このサンプルでは、Volume Reduce SOPで3Dオブジェクトの重心を計算する方法を説明しています。
WornMetal Example for Curvature VOP node
このサンプルでは、Curvature VOPをシェーダネットワークに追加して、マテリアルに剥げやアンティーク調の見た目を追加する方法を説明しています。
RampParameter Example for Parameter VOP node
このサンプルでは、Ramp Parameter VOPノードを使って、PyroシミュレーションのTemperature(温度)アトリビュートでパーティクルの色を制御する方法を説明しています。
PointCloudWrite Example for Point Cloud Write VOP node
このサンプルでは、pcwrite VOPを使って、ポイントクラウドファイルにポイントを書き出す方法を説明しています。 mantra1 ROPをレンダリングして、ポイントクラウドを生成し、gplayコマンドでポイントクラウドを閲覧してください。 ポイントの分布は、Mantraシェーダを実行した場所に依存します。 この場合では、Mantra ROPは、非表示にしたサーフェスをシェーディングして、球のバックフェースからポイントを生成できるように設定しています。