Houdini 17.5 ノード オブジェクトノード

Geometry object node

モデルを定義するジオメトリオペレータ(SOP)を格納します。

On this page

ジオメトリオブジェクトとは、キャラクタや静物などの高レベルでモデル化したオブジェクトを意味します。そこには形状を定義しているジオメトリオペレータを含んでいます。

パラメータ

Transform

Transform Order

左のメニューでは、トランスフォームを適用する順番(例えば、スケールしてから回転して移動)を選択します。これは、順番を変えるだけでオブジェクトの位置と向きが変わります。

右のメニューでは、X,Y,Z軸の回転順を選択します。キャラクタ次第では、ある順番にすればキャラクタのジョイントトランスフォームが扱いやすくなる場合があります。

Translate

XYZ軸に沿って移動します。

Rotation

XYZ軸に沿って回転します。

Scale

XYZ軸に沿って不均一にスケールします。

Pivot

オブジェクトの基点。 ピボットポイントの設定も参照してください。

Uniform Scale

3つの軸すべてに沿って均一にオブジェクトをスケールします。

Modify Pre-Transform

このメニューには、pre-transformの値を操作するオプションがあります。pre-transformとは、標準のトランスフォームパラメータよりも前に適用される内部的なトランスフォームのことです。これは、全体のトランスフォームを変更しないで、以下の移動、回転、スケールのパラメータ値のための参照のフレームを変更することができます。

Clean Transform

これは、同じ全体のトランスフォームを維持しながら、移動、回転、スケールのパラメータをデフォルト値に戻します。

Clean Translates

これは、同じ全体のトランストームを維持しながら、移動パラメータを(0, 0, 0)に設定します。

Clean Rotates

これは、同じ全体のトランストームを維持しながら、回転パラメータを(0, 0, 0)に設定します。

Clean Scales

これは、同じ全体のトランストームを維持しながら、スケールパラメータを(1, 1, 1)に設定します。

Extract Pre-transform

これは、同じ全体のトランスフォームを維持しながら、移動、回転、スケールのパラメータを設定してpre-transformを削除します。pre-transformに傾斜があると完全に削除できないことに注意してください。

Reset Pre-transform

これはパラメータを変更せずに完全にpre-transformを削除します。これは、移動、回転、スケールのパラメータがデフォルトの値でなければ、オブジェクトの全体のトランスフォームが変わります。

Keep Position When Parenting

オブジェクトが親子化されても、オブジェクトのトランスフォームパラメータを変更することで、現在のワールドポジションを保持します。

Child Compensation

オブジェクトをトランスフォームする時、その子のトランフォームパラメータを変更することで、その子の現行ワールドトランスフォームを保持します。

Enable Constraints

オブジェクトの Constraints Network を有効にします。

Constraints

Constraints Network CHOPのパス。 拘束を作成する方法も参照してください。

Tip

Constraintsドロップダウンボタンを使用することで、Constraintsシェルフツールのどれかをアクティブにすることができます。そのボタンを使用すると、パラメータエディタで選択されているノードから自動的に1番目のピックセッションが満たされます。

Note

オブジェクトのLookatとFollow Pathのパラメータは廃止されました。代わりにLook AtFollow Pathの拘束を使用してください。 これらのパラメータは、今のところ非表示にしているだけなので、そのノードのパラメータインターフェースを編集することで表示させることができます。

Render

Material

Materialノードのパス。

Display

このオブジェクトをビューポートで表示してレンダリングするかどうか。チェックボックスをオンにすれば、Houdiniは、このパラメータを使用します。 値を0にするとビューポートでオブジェクトが非表示になりレンダリングされず、1にするとオブジェクトが表示されてレンダリングされます。 チェックボックスをオフにすると、Houdiniはこの値を無視します。

Phantom

trueの時、オブジェクトが主光線でレンダリングされなくなります。副光線のみがオブジェクトに当たります。

(Render Visibilityプロパティを参照してください。)

Renderable

このオプションをオフにすると、インスタンスがレンダリングされなくなります。オブジェクトのプロパティはVEX内から照会することが可能ですが、ジオメトリはレンダリングされません。これはオブジェクトをトランスフォーム空間オブジェクトに変換するのとほぼ同等です。

Render Visibility (vm_rendervisibilityプロパティ)を参照してください。

Display As

ビューポート内のジオメトリの表示方法。

Polygons As Subdivision (Mantra)

ポリゴンをサブディビジョンサーフェスとしてレンダリングします。creaseweightアトリビュートは、線状の折り目を生成します。このアトリビュートは、ポイント、頂点、プリミティブで定義することができます。

OpenSubdivを使ってレンダリングする時は、creaseweightアトリビュートだけでなく、cornerwieghtアトリビュート、subdivision_holeグループ、追加アトリビュートを取り込んで、精密化の挙動を制御することができます。 これらの情報は、他の設定を上書きします:

  • int osd_scheme, string osd_scheme: OSDサブディビジョンの構造を指定します(0が"catmull-clark"、1が"loop"、2が"bilinear")。Loopサブディビジョンに関しては、そのジオメトリには三角形しか含めることができません。

  • int osd_vtxboundaryinterpolation: Vertex Boundary Interpolationメソッド(詳細は、vm_osd_vtxinterpを参照してください)

  • int osd_fvarlinearinterpolation: Face-Varying Linear Interpolationメソッド(詳細は、vm_osd_fvarinterpを参照してください)

  • int osd_creasingmethod: Crease(折り目)メソッドを指定します。0がCatmull-Clark、1がChaikinです。

  • int osd_trianglesubdiv: 三角形のウェイト付けアルゴリズムを指定します。0がCatmull-Clarkウェイト、1が"滑らかな三角形"ウェイトです。

Shading

Categories

スペースまたはカンマで区切ったこのオブジェクトが属するカテゴリのリスト。

プリミティブ単位でのマテリアルの割り当て(Material SOP)は現在サポートされていません。

Reflection Mask

パターンのリスト。これらのパターンに一致するオブジェクトが、このオブジェクトに映し出されます。オブジェクトを指定するには、ワイルドカード(例えば、key_*)とバンドル参照を使うことができます。

Light Linkerペインを使えば、グラフィカルユーザーインターフェースを使ってライトとオブジェクト間の関係を編集することもできます。

Mantraのobject:reflectmaskプロパティは、 ReflectionカテゴリとReflectionマスクを組み合わた結果を含んだ計算されたプロパティです。

Refraction Mask

パターンのリスト。これらのパターンに一致するオブジェクトが光の屈折で見えるようになります。オブジェクトを指定するには、ワイルドカード(例えば、key_*)とバンドル参照を使うことができます。

Light Linkerペインを使えば、グラフィカルユーザーインターフェースを使ってライトとオブジェクト間の関係を編集することもできます。

Mantraのobject:refractmaskプロパティは、 RefractionカテゴリとRefractionマスクを組み合わた結果を含んだ計算されたプロパティです。

Light Mask

パターンのリスト。これらのパターンに一致すライトが、このオブジェクトを照明します。ライトを指定するには、ワイルドカード(例えば、key_*)とバンドル参照を使うことができます。

Light Linkerペインを使えば、グラフィカルユーザーインターフェースを使ってライトとオブジェクト間の関係を編集することもできます。

Mantraのobject:lightmaskプロパティは、 LightカテゴリとLightマスクを組み合わせた結果を含んだ計算されたプロパティです。

Volume Filter

いくつかのボリュームプリミティブ(Geometry Volumes、Image3D)はボリュームチャンネルの評価中にフィルターを使用することができます。これはフィルターを指定します。デフォルトのボックスフィルターは評価が速くて、ほとんどの滑らかな流体シミュレーションに対して鮮明なレンダーを生成します。ボクセルデータがエイリアス(エッジに沿ったギザギザ)を含んでいると、もっと大きなフィルター幅またはもっと滑らかなフィルターを使って納得できる結果を生成する必要があります。エイリアスのあるボリュームデータに対しては、フィルター幅が1.5のgaussが良いフィルターです。

  • point

  • box

  • gauss

  • bartlett

  • blackman

  • catrom

  • hanning

  • mitchell

Volume Filter Width

これはobject:filterプロパティのフィルター幅を指定します。フィルター幅はボクセルの数で指定します。フィルター幅が大きいほどレンダリングやブラーの生成に時間がかかりますが、ある種のボクセルデータではエイリアスを処理する必要が出てきます。

Matte Shading

有効にすると、オブジェクトのサーフェスシェーダがプライマリ光線用のMatteシェーダに置き換えられます。 デフォルトのMatteシェーダは、オブジェクトを完全に不透明でアルファ値が0としてレンダリングします。 オブジェクトを表示させる場所で画像に穴を効果的に切り取ることができます。 この設定は、手動で画像をパスに分ける時に役に立ちます。つまり、背景要素を前景オブジェクトと別々にレンダリングすることができます。 デフォルトのMatteシェーダは、"Matte" VEXシェーダですが、vm_matteshaderレンダープロパティを追加して、他のシェーダを割り当てることで、別のMatteシェーダを設定することが可能です。 セカンダリ光線が、まだオブジェクトに割り当てられたサーフェスシェーダを使用しているので、オブジェクトを直接レンダリングしなくても、反射と間接照明を表示することができます。

ボリュームの正しいマットシェーディングについて:

  1. オブジェクトにvm_matteshaderプロパティを追加します。

  2. Volume Matte シェーダを作成します。

  3. このシェーダの密度をジオメトリシェーダの密度に合わせます。

  4. このシェーダをvm_matteshaderに割り当てます。

そして、 Matte Shading トグルが有効な時、デフォルト(密度を単に1に設定)ではなく、あなた独自のボリュームマットシェーダを使用します。 完全に不透明なマットが必要であれば、ボリュームマットではなく、マットシェーダを使用します。

Raytrace Shading

マイクロポリゴンの頂点をシェーディングするのではなくて、すべてのサンプルをシェーディングします。この設定はオブジェクト単位基準でレイトレースレンダリングを有効にします。

マイクロポリゴンレンダリングの時、シェーディングは通常ではフレームの最初のマイクロポリゴンの頂点で起こります。サンプルのカラーを決めために、コーナー頂点が補間されます。object:rayshadeを有効にすると、レイトレースシェーディングアルゴリズムが読み出されます。これは各サンプルを単独でシェーディングします。これはシェーディング負荷が膨大に増えることを意味します。しかし、各サンプルは正しい時間と位置でシェーディングされます。

プリミティブ単位でのマテリアルの割り当て(Material SOP)は現在サポートされていません。

Sampling

Geometry Velocity Blur

このメニューでは、オブジェクトに対して実行する ジオメトリVelocityブラー のタイプを選択することができます。 トランスフォームブラー変形ブラー とは別に、時間と共に変化するポイントに保存されたアトリビュートを使って、ポイントの動きに応じたモーションブラーをレンダリングすることができます。 ジオメトリ内のポイント番号が時間と共に変化する場合(例えば、ポイントが誕生したり死亡するパーティクルシミュレーション)、このタイプのブラーを使用してください。

フレーム間でジオメトリのトポロジーが変化する場合、Mantraはジオメトリを補間できなくて正しくモーションブラーを計算できなくなります。 そのような場合、元のジオメトリが変化しても整合性のあるvaccelのアトリビュートをモーションブラーに使用することができます。 流体シミュレーションのサーフェスがまさにそのよい例です。 この場合と他のタイプのシミュレーションデータでは、ソルバが自動的にVelocityアトリビュートを作成します。

No Velocity Blur

レンダラーでモーションブラーを許可するように設定しても、このオブジェクトに対してモーションブラーをレンダリングしません。

Velocity Blur

Velocityブラーを使用するには、ポイントVelocityを計算して、それをvPointアトリビュートに保存しなければなりません。 レンダラーは、このアトリビュートが存在すれば、それを使用してVelocityモーションブラーをレンダリングします(レンダラーがモーションブラーのレンダリングを許可するように設定されていることが前提です)。 シミュレーションノード(例えばパーティクル系DOPs)は自動的にvアトリビュートを生成します。 他にも、Point Velocity SOPを使ってVelocityを計算して追加することができます。

vアトリビュートの単位は、1秒あたりのHoudiniユニットです。

Acceleration Blur

加速度ブラーを使用するには、ポイント加速度を計算して、それをaccelPointアトリビュートに保存しなければなりません(Acceleration attributeプロパティを使えば、その加速度アトリビュート名を変更することができます)。 レンダラーは、このアトリビュートが存在すれば、それを使用して複数セグメントの加速度モーションブラーをレンダリングします(レンダラーがモーションブラーのレンダリングを許可するように設定されていることが前提です)。 シミュレーションは自動的にaccelアトリビュートを生成することができます。 他にも、Point Velocity SOPを使って加速度を計算して追加することができます。

Acceleration Blurがオンの時、ジオメトリに 角速度 アトリビュート(w)が存在すれば、急回転にもブラーがかかります。 これは、ベクトルアトリビュートであり、各コンポーネントは、X、Y、Z軸を基準とした1秒あたりのラジアンの回転速度を意味しています。

これを"Velocity Blur"または"Acceleration Blur"に設定すると、変形ブラーがオブジェクトに適用されなくなります。 これを"Acceleration Blur"に設定すると、Geo Time Samplesプロパティを使用して、加速度サンプルの数を設定することができます。

Velocityアトリビュート(v)を使って線形モーションブラーを実行したVelocity Motion Blur。
Velocityの変化量を使ってもっと精度良く高速回転する青いオブジェクトに対してモーションブラーを実行したAcceleration Motion Blur。
高速スピンする立方体のように、オブジェクトのスピンを扱ったAngular Acceleration Blur。

Dicing

Shading Quality

このパラメータは、すべてのレンダリングエンジンに対してジオメトリのサブディビジョン解像度を制御し、さらにマイクロポリゴンレンダリングに対してシェーディング解像度を制御します。他のすべてのパラメータがデフォルトの時、値を1にすると、近似で1つのマイクロポリゴンがピクセル毎に作成されます。値を高くするとより小さいマイクロポリゴンを生成します。これはシェーディングが細かくなり、品質が良くなることを意味します。

レイトレースエンジンでは、シェーディング品質は、サーフェスのシェーディング量を変更することなく、滑らかなサーフェス(NURBS、サブディビジョンとしてのレンダリング)とディスプレイスメント用のジオメトリのサブディビジョン品質にのみ影響を与えます。レイトレースを使用する時は、サーフェスシェーディング品質を良くするためには、ピクセルサンプルとレイサンプリングのパラメータを使用しなければなりません。

シェーディング品質の変更の効果は、vm_shadingquality2乗 の係数によってシェーディングの量を増やしたり、下げたりすることができます。つまり、シェーディング品質を2にすると、4倍シェーディング量を実行し、0.5にすれば0.25倍のシェーディング量を実行します。

Dicing Flatness

このプロパティはほぼ平坦なプリミティブのテセレーションレベルを制御します。値を上げることで、より多くのプリミティブが平坦とみなされ、細分化が少なくなります。より精密(最適化がすくない)なほぼ平坦なサーフェスにするなら、このオプションを 下げて ください。

Ray Predicing

このプロパティは、レンダリング開始前に、このオブジェクトが全てのディスプレイスメントとサブディビジョンが適用されたジオメトリを生成するようにします。この設定を有効にすると、レイトレースは膨大なメモリを必要としますが非常に速くなります。

Disable Predicing

ジオメトリが光線に当たると、細分化されます。

Full Predicing

同時にすべてのジオメトリを細分化して保存します。

Precompute Bounds

正確な境界ボックスを計算するためにジオメトリをすべて細分化します。 この設定では、ボックスが計算されればすぐに細分化したジオメトリを破棄するのでメモリ効率が非常に良いです。 これはFull Predicingのようにメモリをたくさん消費する必要がなく大きなディスプレイスメント境界を使ってディスプレイスメントを効率よく処理するのに役に立ちます。

レイトレースするとき、モデル上のすべてのポリゴンが(プライマリまたはセカンダリの光線で)可視ならば、ジオメトリの一部をキャッシュ化してオンザフライでジオメトリを再生成するよりは、モデル内のすべてのジオメトリをPre-diceする方が効率が良いです。これは特にグローバルイルミネーションを計算するときがそうです(光線間の干渉が少ないので)。

プリミティブ単位でのマテリアルの割り当て(Material SOP)は現在サポートされていません。

Shade Curves As Surfaces

カーブをレンダリングする時、カーブをサーフェスに変換してdicingするので、そのサーフェス上の複数のポイントにサーフェスシェーダが実行されます。これはカーブをカーブのようなサーフェスにするときには役に立ちますが、効率が悪くなります。デフォルトでは単にカーブのポイントにシェーダを実行し、作成されたサーフェス上にシェーディングしたポイントを複製します。

Geometry

Backface Removal (Mantra)

有効にすると、カメラ側を向いていないフェースはレンダリングされません。

Procedural Shader

このオブジェクトのレンダージオメトリを生成するためにレンダラーで使用されるジオメトリSHOP。

Force Procedural Geometry Output

プロシージャルシェーダを割り当てた時のジオメトリの出力を有効にします。あなたが割り当てたプロシージャルが、正しく機能しているプロシージャルに存在するジオメトリに依存していないことがわかっていれば、このトグルを無効にできます。

Polygons As Subdivision (Mantra)

ポリゴンをサブディビジョンサーフェスとしてレンダリングします。creaseweightアトリビュートは、線状の折り目を生成します。このアトリビュートは、ポイント、頂点、プリミティブで定義することができます。

OpenSubdivを使ってレンダリングする時は、creaseweightアトリビュートだけでなく、cornerwieghtアトリビュート、subdivision_holeグループ、追加アトリビュートを取り込んで、精密化の挙動を制御することができます。 これらの情報は、他の設定を上書きします:

  • int osd_scheme, string osd_scheme: OSDサブディビジョンの構造を指定します(0が"catmull-clark"、1が"loop"、2が"bilinear")。Loopサブディビジョンに関しては、そのジオメトリには三角形しか含めることができません。

  • int osd_vtxboundaryinterpolation: Vertex Boundary Interpolationメソッド(詳細は、vm_osd_vtxinterpを参照してください)

  • int osd_fvarlinearinterpolation: Face-Varying Linear Interpolationメソッド(詳細は、vm_osd_fvarinterpを参照してください)

  • int osd_creasingmethod: Crease(折り目)メソッドを指定します。0がCatmull-Clark、1がChaikinです。

  • int osd_trianglesubdiv: 三角形のウェイト付けアルゴリズムを指定します。0がCatmull-Clarkウェイト、1が"滑らかな三角形"ウェイトです。

Render As Points (Mantra)

ジオメトリのポイントのレンダリングの方法を制御します。デフォルトの設定の No Point Rendering は、パーティクルシステムのポイントのみをレンダリングします。 Render Only Points に設定すると、頂点とプリミティブの情報をすべて無視して、ポイントのアトリビュートのみを使ってジオメトリをレンダリングします。 Render Unconnected Points も同様に動作しますが、ジオメトリのプリミティブで使われていないポイントだけをレンダリングします。

以下の2つのアトリビュートは、それが存在すればポイントプリミティブを制御します。

orient

ポイントジオメトリの法線を決めるベクトル。このアトリビュートがなければ、ポイントは入射光の方向を向きます(VEX I variable)。

width

ポイントの3Dサイズを決めます(デフォルトは0.05)。

Use N for point rendering

Mantraは、ポイントプリミティブをレンダリングする時にNアトリビュートからNグローバルを初期化します。無効(デフォルト)にすると、ポイント法線はカメラ方向に初期化されます。

Metaballs as Volume

サーフェスとは対照的にメタボールをボリュームとしてレンダリングします。メタボールのボリューム品質は、ジオメトリ内のすべてのメタボールの平均のサイズに基づいて設定されるので、メタボールのサイズを大きくしたり、小さくしたりすると、自動的にレンダリング品質が調整されます。

Coving

Mantraが隙間を防ごうとします。

Covingとは、レンダリング時に細分化したジオメトリで発生した隙間を埋める処理で、隙間は、異なるレベルの細分化の隣合わせでTジャンクションでのズレが原因で作成されます。

デフォルト設定の Coving for displacement/sub-d は、ディスプレイスメントシェーダとサブディビジョンサーフェスのサーフェスの隙間だけを埋めます。ポイントの変位は大きい隙間を作成する可能性があります。これは、ほとんどのレンダリングでは十分ですが、非常に低いシェーディングレートを使っていたり、レンダリングした画像のアルファに隙間があれば、 Coving for all primitives を使う場合があります。

Disable Coving を使わないでください。これは、パフォーマンスのメリットがなく、実際にパフォーマンスに悪影響を及ぼす場合があります。なぜなら、Houdiniは、隙間から見えるジオメトリをレンダリングしなければならなくなるからです。

0

隙間埋めなし。

1

変位サーフェスとサブディビジョンサーフェスのみを隙間埋めします。

2

すべてのプリミティブを隙間埋めします。

Material Override

Material Overrideの評価とIFDの出力の方法を制御します。

Evaluate Once に設定すると、チャンネルやエクスプレッションを使用するマテリアルのパラメータは、全体のディテールのために一度だけ評価されます。これにより、Houdini側ではなくMantra側で完全にマテリアルパラメータの割り当てをハンドルできるので、非常に高速にIFDが生成されます。 パラメータの値を Evaluate for Each Primitive/Point に設定すると、プリミティブ単位またはポイント単位でパラメータを評価します。 パラメータを Disabled に設定すれば、完全にマテリアルの上書きをスキップすることもできます。

Automatically Compute Normals (Old)

MantraがNアトリビュートを自動的に計算します。Nアトリビュートが存在すれば、値はそのままです。しかし、Nアトリビュートが存在しなければ、作成されます。これはNアトリビュートを持たないポリゴンジオメトリを滑らかにシェーディングします。

プリミティブ単位でのマテリアルの割り当て(Material SOP)は現在サポートされていません。

Ignore Geometry Attribute Shaders

ジオメトリにシェーダがプリミティブ単位で定義されている時、このパラメータは、それらのシェーダを上書きして、オブジェクトのシェーダのみを使用します。これは、オブジェクトにマットシェーディングを実行するのに役に立ちます。

プリミティブ単位でのマテリアルの割り当て(Material SOP)は現在サポートされていません。

Misc

Set Wireframe Color

指定したワイヤーカラーを使用します。

Wireframe Color

オブジェクトの表示カラー。

Viewport Selecting Enabled

オブジェクトがビューポートでピック可能になります。

Select Script

ビューポートでオブジェクトをピックした時に実行するスクリプト。Select Scriptを参照してください。

Cache Object Transform

一度Houdiniがオブジェクトトランスフォームを計算すると、それらをキャッシュ化します。これは、特にワールド空間位置の計算負荷が高いオブジェクト(例えば、Stickyオブジェクト)と長い親子チェーンの最後にあるオブジェクト(例えば、ボーン)に役に立ちます。 このオプションはStickyオブジェクトとBoneオブジェクトではデフォルトでオンになっています。

オブジェクトトランスフォームキャッシュのサイズを制御する方法に関しては、Houdini Preferencesウィンドウの OBJ Caching の章を参照してください。

Shade Open Curves In Viewport

ビューポートでこのオブジェクトに含まれた開いたカーブが照らされます。

これをオンにすると、ジオメトリにwhitehairguardhairのアトリビュートがあれば、よりヘアーに適したGLSLシェーダも使用されます。

さらに、widthアトリビュートを持ったカーブは、シェーディングモードで色々な幅の太いリボンとしてレンダリングされます。

Onion Skinning

未来や過去の異なるフレームで、複数スキンを持つこのジオメトリを描画します。 現行フレームの前後でのスキンの数、そのフレーム増分数、スキンの不透明度とカラーの染色は、3D Display Optionsで設定することができます。

Off

オニオンスキンを無効にします。

Transform only

オブジェクトトランスフォームの効果だけを表示します。これは、実際のジオメトリが時間軸で変化した場合に、それを再クックしないので Deformation よりも高速です。

Deformation

オブジェクトトランスフォームとジオメトリ変形の両方を使ってスキンを表示します。 これは、ジオメトリがアニメーションする場合にSOPレベルのジオメトリをクックします。

ローカル変数

IPT

これは通常では-1です。しかし、オブジェクトがポイントインスタンスを実行していれば、この変数はテンプレートジオメトリのポイント数に設定されます。IPT変数をアクティブにするには、Point Instancingパラメータが、このオブジェクトで有効になっている必要があります。

Note

この変数は廃止予定です。代わりに、instancepointエクスプレッション関数を使ってください。

Examples

The following examples include this node.

BlendPoseBasic Example for Blend Pose channel node

このサンプルでは、BlendPose CHOPでランダムなトラッカーポイントポジションを使ってジオメトリを変形させる方法を説明しています。

ChannelBasic Example for Channel channel node

このサンプルでは、Channel CHOPとNoise CHOPを使って、キーフレームアニメーションにバリエーションを加えて、簡単にキーフレームアニメーションを調整する方法を説明しています。 もちろんビューポートでは通常通りにオブジェクトを操作することができます。 そのオブジェクトの値はChannel CHOPで修正されます。

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を使って、チャンネルをコピーして、それらのチャンネルをジオメトリに適用する方法を説明しています。

CopyStamping Example for Copy channel node

このサンプルでは、Copy CHOPのCopy Stamp機能の使い方を説明しています。 カスタム変数をCopy CHOP内に作成して、それを使ってジオメトリを修正しています。

このサンプルでは、Geometry CHOPをchopnet内にインポートしています。そして、Copy Stampのテクニックを使って、Alphaアトリビュートをスコープして、操作しています。

新しいAlphaデータをSOPレベルに戻して、ジオメトリの位置に適用しています。

CountImpacts Example for Count channel node

このサンプルでは、Count CHOPを使って、DOPシミュレーションのインパクトを数える方法を説明しています。

このサンプルでは、Count CHOPの値を使って、ティーポットのコピーを生成します。

DelayPosition Example for Delay channel node

このサンプルでは、オブジェクトの位置を取得して、Delay CHOPを使って、アニメーションを遅延させる方法を説明しています。

ExtractTransforms Example for Dynamics channel node

このサンプルでは、Dynamics CHOPを使って、DOPシミュレーションからトランスフォーム情報を引き出し、その情報をオブジェクトに適用する方法を説明しています。

Export Example for Export channel node

このサンプルでは、Export CHOPについて説明しています。 Export CHOPは、チャンネルをエクスポートするのに便利なツールです。 このツールを使えば、CHOPのチャンネルをチャンネル名を変更することなく、別のチャンネルに合わせることができます。 このサンプルでは、CHOPのチャンネルをモデルのtyパラメータにエクスポートする方法を説明しています。

ExpressionLine Example for Expression channel node

このサンプルでは、Expression CHOPでエクスプレッションを使う方法を説明しています。

Geometry Example for Geometry channel node

このサンプルでは、Geometry CHOPを使って、SOPからデータを取得して、そのデータをチャンネルに変換する方法を説明しています。

このサンプルでは、Geometry CHOPを使って、Superquad SOPのすべてのポイントの位置を取り込んで、そのデータからチャンネルを作成しています。

GeometryMethods Example for Geometry channel node

このサンプルでは、Geometry CHOPのAnimatedとStaticの別々の使い方を説明しています。

Lookup Example for Lookup channel node

このサンプルでは、Lookup CHOPを使って、イベントまたはトリガーに基づいてアニメーションを再生する方法を説明しています。

Keyboard Example for MIDI Out channel node

このサンプルでは、MIDI Out CHOPを使ってMIDIデータを書き出し、MIDI In CHOPを使ってMIDIデータを読み込む方法を説明しています。 書き出したMIDIは、ジオメトリベースになっていて、読み込んだMIDIは他のジオメトリを制御しています。

NoiseTransform Example for Noise channel node

このサンプルでは、Noise CHOPを使ってアニメーションを生成して、それをジオメトリに適用する方法を説明しています。

ObjectBasic Example for Object channel node

このサンプルでは、Object CHOPについて説明しています。

Object CHOPを使って、オブジェクトからチャンネル情報を取り込みます。

このデータは、CHOPネットワーク内で操作することができ、オブジェクトまたは別のオペレータに戻すことができます。

AnimationSequence Example for Sequence channel node

このサンプルでは、3つの別々のオブジェクトからアニメーションを取得して、4つ目のオブジェクトへ1つのアニメーションとしてシーケンス化させる方法を説明しています。

WaveGrid Example for Wave channel node

このサンプルでは、Wave CHOPを使って、ジオメトリを歪ませる方法を説明しています。

GeometryMattes Example for Geometry compositing node

このサンプルでは、Geometry COPを使って、SOPジオメトリからソリッドマットを作成する方法を説明しています。

ClipLayerTrigger Example for Agent Clip Layer dynamics node

このサンプルでは、Agent Clip Layer DOPを使って、エージェントの上半身にクリップを適用する方法を説明しています。 このクリップは、そのエージェントが境界ボックス内にある時にアクティブになります。

ApplyRelationship Example for Apply Relationship dynamics node

このサンプルでは、Apply Relationship DOPを使って、Pin拘束をワイヤーオブジェクトに追加する方法を説明しています。

BridgeCollapse Example for Apply Relationship dynamics node

このサンプルでは、Apply Relationship DOPを使って、自動的に拘束を伝搬させて、崩壊する橋のRBDシミュレーションを作成する方法を説明しています。

ConstrainedTeapots Example for Apply Relationship dynamics node

このサンプルでは、Apply Relationship DOPを使って、RBD Pin Constraintノードで複数の拘束を作成する方法を説明しています。

MutualConstraints Example for Apply Relationship dynamics node

このサンプルでは、Apply Relationshipノードを使って、2つのDOPオブジェクト間を相互に拘束する方法を説明しています。

SimpleBlend Example for Blend Solver dynamics node

このサンプルでは、Blend Solverの使い方を説明しています。 この場合、Blend Solverを使って、RBDとキーフレームの計算間をブレンドしています。

BuoyancyForce Example for Buoyancy Force dynamics node

このサンプルでは、他のオブジェクトからbuoyancy(浮力)フォースのソースとして使用するサーフェスフィールドを抽出する方法を説明しています。

AnimatedClothPatch Example for Cloth Object dynamics node

このサンプルでは、1枚の布を4つの角でピン留めする方法を説明しています。その4つの角は、アニメーションジオメトリに拘束されています。

BendCloth Example for Cloth Object dynamics node

このサンプルでは、布オブジェクトのStiffness(剛性)を、Strong BendまたはWeak Bendパラメータで定義する方法を説明しています。

BendDamping Example for Cloth Object dynamics node

このサンプルでは、Damping(減衰)パラメータを使って、布オブジェクトがRest Position(静止位置)に落ち着く速さを制御する方法を説明しています。

BlanketBall Example for Cloth Object dynamics node

このサンプルでは、4つの角をピン留めした毛布上を跳ね返るボールをシミュレーションする方法を説明しています。

ClothAttachedDynamic Example for Cloth Object dynamics node

このサンプルでは、RBDオブジェクトのダイナミクスポイントに布を接続する方法を説明しています。

ClothFriction Example for Cloth Object dynamics node

このサンプルでは、布オブジェクトの物理特性であるFriction(摩擦)パラメータの使い方を説明しています。

ClothUv Example for Cloth Object dynamics node

このサンプルでは、UV座標を使って、三角形化した布のWarped(縦糸)とWeft(横糸)の方向を指定する方法を説明しています。

UV方向がグリッドのXY方向に揃っているので、メッシュを三角形化していても、四角形グリッドとほぼ同様の見た目になります。

青と黄の線で布の折り目の方向を可視化しています。これは、布オブジェクトのVisualizationタブで有効にすることができます。

DragCloth Example for Cloth Object dynamics node

このサンプルでは、布オブジェクトにNormal DragとTangent Dragのパラメータで、布オブジェクトの挙動に影響を与える方法を説明しています。

MultipleSphereClothCollisions Example for Cloth Object dynamics node

このサンプルでは、色々な特性を使って布を球と衝突させる方法を説明しています。 Stiffness(剛性)とSurface Mass Densityを調整することで、布の挙動を変更することができます。

PanelledClothPrism Example for Cloth Object dynamics node

このサンプルでは、形状を維持した開口部のある角柱を作成する布の作成方法を説明しています。

PanelledClothRuffles Example for Cloth Object dynamics node

このサンプルでは、seamanglePrimitiveアトリビュートを使ってStaticオブジェクトに追加した布オブジェクトを揺らす方法を説明しています。

AnchorPins Example for Constraint Network dynamics node

このサンプルでは、異なるアンカー位置がピン拘束に影響を与える方法を説明しています。

AngularMotorDenting Example for Constraint Network dynamics node

このサンプルでは、Angular Motorをピン拘束と一緒に使用して、凹みの効果を作成する方法を説明しています。

BreakingSprings Example for Constraint Network dynamics node

このサンプルでは、SOP Solverを使用して、遠くに引き伸ばされたConstraint Network内のスプリング拘束を切る方法を説明しています。

Chains Example for Constraint Network dynamics node

このサンプルでは、Pin拘束でオブジェクトをチェーン状に接続する方法を説明しています。

ControlledGlueBreaking Example for Constraint Network dynamics node

このサンプルでは、Constraint Networkの接着ボンドを徐々に弱くして、ビルの崩壊を制御する方法を説明しています。

GlueConstraintNetwork Example for Constraint Network dynamics node

このサンプルでは、破壊するオブジェクトの隣接する破片を接着するConstraint Networkの作成方法を説明しています。 strengthなどのPrimitiveアトリビュートを使えば、そのネットワーク内の個々の拘束の特性を修正することもできます。

Hinges Example for Constraint Network dynamics node

このサンプルでは、ピン拘束でオブジェクト間にヒンジを作成する方法を説明しています。

PointAnchors Example for Constraint Network dynamics node

このサンプルでは、ポイントアンカーを使った基本的なConstraint Networkの作成方法を説明しています。

SoftConstraintNetwork Example for Constraint Network dynamics node

このサンプルでは、単純なソフト拘束のネットワークを作成する方法を説明しています。このネットワークを使用することで、オブジェクトを曲げた後に粉砕させることができます。

SpringToGlue Example for Constraint Network dynamics node

このサンプルでは、近くのオブジェクト間にSpring拘束を作成して、シミュレーションで、その拘束を接着拘束に変更する方法を説明しています。

AutoFracturing Example for Copy Objects dynamics node

このサンプルでは、Multi Solverと併せてCopy Object DOPを使って、他のオブジェクトと衝突した際に自動的にRBDオブジェクトを半分に割る方法を説明しています。

AnimatedStaticAgents Example for Crowd Solver dynamics node

このサンプルでは、Crowd Solver向けに"アニメーションする静的な"エージェントをセットアップする方法を説明しています。 このようなエージェントは、SOPレベルのアニメーションに追従し、これを障害物として使用したり、ラグドールに変換することができます。

CrowdHeightField Example for Crowd Solver dynamics node

このサンプルでは、Crowd SolverのTerrain AdaptationとBullet SolverのラグドールのコリジョンにHeight Fieldを使用する方法について説明しています。

FollowTerrain Example for Crowd Solver dynamics node

このサンプルでは、地形の法線方向にエージェントが向く群衆シミュレーションのセットアップの方法について説明しています。

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です。

ClipTransitionGraph Example for Crowd Transition dynamics node

このサンプルでは、クリップトランジショングラフを使用することで、ステートのトランジションに対してトランジションクリップを用意する方法を説明しています。

CrowdTriggers Example for Crowd Trigger dynamics node

このサンプルでは、Crowd Trigger DOP用のビルトインのトリガータイプの使い方を説明しています。

FieldForceSmoke Example for Field Force dynamics node

SmokeシミュレーションからVelocityフィールドを抽出して、それをPOPシミュレーションの風のフォースとして使用します。

FEMSpheres Example for finiteelementsolver dynamics node

このサンプルでは、FEM Solverを使用して、球が地面と衝突した時にその球を変形させる方法を説明しています。 この球は、地面と衝突する前にパーティクルベースのアニメーションをしていて、衝突時にFEM Solverに切り替わります。

DensityViscosity Example for FLIP Solver dynamics node

このサンプルでは、ソリッドオブジェクトと作用する異なる密度と粘度を持つ2つの流体について説明しています。

FlipColumn Example for FLIP Solver dynamics node

このサンプルでは、流体の色がStaticオブジェクトとの衝突で混色させる方法を説明しています。

SpinningFlipCollision Example for FLIP Solver dynamics node

このサンプルでは、ジオメトリのVelocityベクトルに基づいて、 ジオメトリ上に撒き散らしたポイントから新しいパーティクルを生成して FLIP流体を作成する方法を説明しています。 また、流体用の衝突オブジェクトとして動作するように、 ジオメトリをセットアップする方法も説明しています。

VariableViscosity Example for FLIP Solver dynamics node

このサンプルでは、粘度が変化する3つの流体と移動するオブジェクトの間での作用を説明しています。

FillGlass Example for Fluid Object dynamics node

他のRBDオブジェクトからのシミュレーションをソースとした流体でRBDコンテナを満たします。

FluidFeedback Example for Fluid Object dynamics node

このサンプルでは、ボールをFeedback Scaleパラメータを大きくしたタンクに落としています。 RBDシミュレーションとFluidシミュレーションを併せることで、ボールは沈まずに浮きます。

PaintedGrog Example for Fluid Object dynamics node

このサンプルでは、色の付いた滴を落として、Grogキャラクタをペイントするためにトーラスを作成しています。 Grogキャラクタは、その色の付いたトーラスによって色が付着します。 このサンプルでは、流体シミュレーションにカラー情報を追加する方法も説明しています。

RestartFluid Example for Fluid Object dynamics node

このサンプルでは、流体シミュレーションの一部を抽出して、それを元に異なる解像度、位置、サイズで新しい流体シミュレーションを作成する方法を説明しています。

RiverBed Example for Fluid Object dynamics node

単純な河床に流体ソースと流体シンクをセットアップすることで、液体が川のように急流します。

VariableDrag Example for Fluid Object dynamics node

このサンプルでは、流体シミュレーションでDrag(抵抗)フォースを変化させる方法を説明しています。 指定したフィールドを高い抵抗力のある領域にして、自動的に流体サーフェスにのみDragを適用し、その領域にはマイナスのDragを適用することで、 より揮発性のある流体を作成しています。

HotBox Example for Gas Calculate dynamics node

このサンプルでは、ボリューム表現のオブジェクトを取得して、それをTemperature(温度)フィールドに追加する方法を説明しています。 オブジェクトの温度は、Smoke Densityの値の調整、またはGas CalculateマイクロソルバDOPのPre-Multフィールドを調整することで変更することができます。

DiffuseSmoke Example for Gas Diffuse dynamics node

このサンプルでは、Gas Diffuse DOPで煙シミュレーションの密度を拡散させる方法を説明しています。

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を使用して、流体シミュレーションの体積を維持する方法を説明しています。

dopexample_gasnetfetchdata Example for Gas Net Fetch Data dynamics node

このサンプルでは、Gas Net Fetch Dataを使って、別々の2つのDOPシミュレーション間でデータを交換する方法を説明しています。

使い方は、Houdiniコマンドラインツールから

Windowsの場合:

%HFS%\python27\python2.7  %HH%\python2.7libs/simtracker.py 8000 9000 -v

Linux、Macの場合:

$HFS/python27/python2.7  $HH/python2.7libs/simtracker.py 8000 9000 -v

を実行し、Houdiniを2つ立ちあげます。そして、各Houdiniで同じサンプルファイルを開き、 それぞれのAutoDopNetwork内のswitch_slicesノードの Select Input をそれぞれ0と1に設定して、両方のシミュレーションを再生します。

TimelessGas Example for Gas Particle to Field dynamics node

このサンプルでは、TimelessモードでgasParticleToFieldの使い方を説明しています。

TeapotUnderTension Example for Gas Surface Tension dynamics node

このサンプルでは、ティーポットの形をした液体のブロッブを作成しています。 そして、表面張力によって、ブロッブを球状に平滑化しています。

UpresRetime Example for Gas Up Res dynamics node

このサンプルでは、Up Res Solverを使って、既存のシミュレーションの時間を再調整する方法を説明しています。 このメリットは、シミュレーションの見た目に影響を与えずに簡単に速度を調整できることです。 Up Res Solverには、Timeタブがあり、シミュレーションの速度を変更する色々なコントロールがあります。

grass

このサンプルでは、RBDオブジェクトで押しつぶされる草をシミュレーションしています。 Furオブジェクトで草の葉を表現し、Wireオブジェクトで動きをシミュレーションしています。 単一のFurオブジェクトで草を表現し、その近辺の草の葉がそれに合わせて動きます。 硬さが異なるオブジェクトを追加すれば、不均一な動きを表現することができます。 "Complex Mode"を有効にすると、2つのオブジェクトを使って草が表現されます。 それぞれのカーブに設定した硬さは、Wireオブジェクトの"Angular Spring Constant"と"Linear Spring Constant"パラメータで調整することができます。

GuidedWrinkling Example for FEM Hybrid Object dynamics node

これは、ハイブリッドオブジェクトを使ってガイドとなる皺のセットアップです。 1番目のシミュレーションは、四面体と三角形で構成されたまだ皺のない詳細メッシュを作成します。 2番目のシミュレーションは、1番目のシミュレーションで作成されたアニメーションをターゲットにし、皺を追加しています。

MagnetMetaballs Example for Magnet Force dynamics node

このサンプルでは、メタボールのグループに対してMagnet Forceノードを使うことで、 衝撃を与えた時にオブジェクトの破片を跳ね返す方法を説明しています。

SimpleMagnets Example for Magnet Force dynamics node

このサンプルでは、一組のメタボール(プラスとマイナスのメタボール)と一緒にmagnetforce DOPを使うことで、RBDの球を引き寄せ/引き離しをする方法を説明しています。

パーティクル流体の浮力

このサンプルでは、Particle FluidとRBDオブジェクトを組み合わせることで、相互に影響し合うようにする方法を説明しています。 その結果、球が浮きます。

ViscousFlow

このサンプルでは、パーティクルベースの流体によって高い粘度の流れを作成する方法を説明しています。 この流体によって、溶岩や泥のような遅い流れの流体をシミュレーションすることができます。

WorkflowExample

この少し複雑なサンプルでは、パーティクル流体のシミュレーション、保存、サーフェス化、レンダリングの単純なワークフローを説明しています。 サンプルにある3つのジオメトリノードの名前は、それぞれ使用する順番としてStep 1、Step 2、Step 3という名前にしています。 各ノードは、パーティクルジオメトリをディスクに書き出したり、ディスクからジオメトリを読み込んだり、ディスクからサーフェス化したジオメトリを読み込みます。 このサンプルでは、さらにシェーダとカメラを組んでいるので、簡単にレンダリングすることができます。

このシーンでアニメーションする流体は、高い弾力を持つゼラチンのようなブロッブです。

AdvectByFilaments Example for POP Advect by Filaments dynamics node

このサンプルでは、POP Advect by Filamentsノードを使って、VortexフィラメントのセットのVelocityフィールドで パーティクルを移流させる方法を説明しています。

AdvectByVolume Example for POP Advect by Volumes dynamics node

このサンプルでは、POP Advect by Volumesノードを使って、煙シミュレーションのVelocityで パーティクルを移流させる方法を説明しています。

ParticlesAttract Example for POP Attract dynamics node

このサンプルでは、POP Attractノードを使って、パーティクルのグループを、アニメーションする球の動きに追いかけさせる方法を説明しています。 さらに、POP InteractとPOP Dragのノードを使って、パーティクルと球の距離間での作用を制御しています。

ParticlesIntercept Example for POP Attract dynamics node

このサンプルでは、POP Attractノードを使って、個々のパーティクルを妨害したり、 追従するパーティクルシミュレーションを作成する方法を説明しています。

PointAttraction Example for POP Attract dynamics node

このサンプルでは、POP AttractノードのAttraction TypeをPointに設定することで、 ポイント単位でパーティクルの引き寄せを制御する方法を説明しています。

SphereAxisForce Example for POP Axis Force dynamics node

このサンプルでは、POP Axis ForceノードのTypeをSphereに設定してパーティクルシミュレーションを制御する方法を3通り説明しています。

TorusAxisForce Example for POP Axis Force dynamics node

このサンプルでは、POP Axis Forceノードを使って、パーティクルのグループを渦巻き上げさせる方法を説明しています。

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流体シミュレーションの流れを制御する方法を説明しています。

FlockInPops Example for POP Flock dynamics node

このサンプルでは、POP Flockノードを使って、パーティクルの群れを制御する方法を説明しています。

CurlForce Example for POP Force dynamics node

このサンプルでは、POP Forceノードを使って、渦巻きノイズをパーティクルシミュレーションに加える方法を説明しています。

BaconDrop Example for POP Grains dynamics node

このサンプルは、ベーコンをトーラス上に落とすデモです。 これは、テクスチャマップから2Dオブジェクトを抽出し、同じ肉の筋目をしたオブジェクトをDOPへ繰り返しで追加する方法を説明しています。

KeyframedGrains Example for POP Grains dynamics node

このサンプルでは、ソリッドの豚の頭の内部のGrain(粒)にキーフレームを打って、アニメーションする操り人形の作成方法を説明しています。

TargetSand Example for POP Grains dynamics node

このサンプルでは、モデルの表面上のポイントに引き寄せられる粒のシミュレーションを説明しています。

VaryingGrainSize Example for POP Grains dynamics node

このサンプルでは、まったく異なるサイズの粒で引き寄せられるシミュレーションを説明しています。

SwarmBall Example for POP Interact dynamics node

このサンプルでは、POP Interactノードを使って、パーティクル間の距離を制御し、ボール状の群れを作成する方法を説明しています。

LookatTarget Example for POP Lookat dynamics node

このインタラクティブなサンプルでは、POP Lookatノードの使い方を説明しています。 再生ボタンを押して、ビューポートにある緑のターゲットハンドルを動かしてみてください。 円錐のパーティクルが、あなたが動かしたターゲットの方向に向きます。

DragCenter Example for POP Property dynamics node

このサンプルでは、POP PropertyノードのDrag Centerパラメータを使用して、中心のずれた抵抗を落下オブジェクトに適用する方法を説明しています。

ProximateParticles Example for POP Proximity dynamics node

このサンプルでは、POP Proximityノードを使って、近くにあるパーティクルを探して、 他のパーティクルとの近接度に基づいてアトリビュートを設定する方法を説明しています。

BillowyTurbine Example for Pyro Solver dynamics node

このサンプルでは、Pyro SolverとSmoke Objectを使って、 タービン(RBDオブジェクト)を通過した煙を渦巻くように放出させる方法を説明しています。 タービンの羽は、Copy、Circle、AlignのSOPでプロシージャルにモデリングしています。

SimpleRotationalConstraint Example for RBD Angular Spring Constraint dynamics node

このサンプルでは、RBD Angular Spring Constraintの使い方を説明しています。

RagdollExample Example for Cone Twist Constraint dynamics node

このサンプルでは、単純なぬいぐるみにRBD Cone Twist Constraintを使っています。

ShatterDebris Example for RBD Fractured Object dynamics node

このサンプルでは、破壊の方法を説明しています。 RBD Fractured ObjectやDebrisのシェルフツールを使えば、破壊されたジオメトリの破片から発生する瓦礫を作成することができます。

まず最初に破壊の定義をするために、Shatterツール(Modelシェルフ)をグラスに使用します。 次にRBD Fractureツールをグラスに使用して、その破壊された破片をRBDオブジェクトにします。 最後にDebrisツールをそのRBD Fractureオブジェクトに使用してデブリ(瓦礫)を作成します。

StackedBricks Example for RBD Fractured Object dynamics node

このサンプルでは、1個のSOPからたくさんのRBDオブジェクトを作成する方法を説明しています。 さらに、Velocity Pointアトリビュートを使って、オブジェクトの初期速度を設定する方法も説明しています。

BlendSolverWithRBDGlue

このサンプルでは、RBD Glueオブジェクトからアニメーションキーフレームデータを取り込んで、 それを立方体のシミュレーションにブレンドして、衝撃によって複数の破片に砕く方法を説明しています。

BreakingRock

このサンプルでは、RBD Glue Objectノードを使って、 衝突で自動的に砕けるRBDオブジェクトを作成する方法を説明しています。 さらに、モデルをこのようなシミュレーションで適切に砕くテクニックも説明しています。

ChoreographedBreakup

このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。

たくさんの球を接着してトーラス形状を作成し、さらに、水平に移動する平面を追加しています。 この平面が通過した後の球が分解されていきます。

ChoreographedTubeBreakup

このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。

平面が移動すると、破壊した円柱が分解されていきます。

ShatterGlass

このサンプルでは、RBDオブジェクトを使ってグラスを破壊する方法を説明しています。 グラスは、単純な三角形の破片を接着して構成されています。

このサンプルでは、衝突検出を実行する時にオブジェクトを限りなく薄いサーフェスとして扱うことで、ボリュームベースの衝突検出が機能しない状況を作っています。

FrictionBalls Example for RBD Object dynamics node

このサンプルでは、RBD Objectのfrictionパラメータについて説明しています。

RBDInitialState Example for RBD Object dynamics node

このサンプルでは、RBDオブジェクトのInitial Stateパラメータの使い方を説明しています。

ActivateObjects Example for RBD Packed Object dynamics node

このサンプルでは、RBD Packed Objectの"active" Pointアトリビュートを修正して、オブジェクトをStaticからActiveに変更する方法を説明しています。

AnimatedObjects Example for RBD Packed Object dynamics node

このサンプルでは、RBD Packed Objectのアニメーションパックプリミティブを使用して、 後にシミュレーションのアクティブオブジェクトへ推移させる方法を説明しています。

DeleteObjects Example for RBD Packed Object dynamics node

このサンプルでは、シミュレーションから境界ボックス外のオブジェクトを削除する方法を説明しています。

EmittingObjects Example for RBD Packed Object dynamics node

このサンプルでは、SOP Solverを使って、新しいRBDオブジェクトを作成して、それを既存のRBD Packed Objectに追加する方法を説明しています。

SpeedLimit Example for RBD Packed Object dynamics node

このサンプルでは、シミュレーションの特定のオブジェクトの速度を制限する方法を説明しています。

Chain Example for RBD Pin Constraint dynamics node

このサンプルでは、お互いにチェーン状に拘束したRBDオブジェクトを作成する方法を説明しています。

Chainlinks Example for RBD Pin Constraint dynamics node

このチェーンシミュレーションでは、個々のチェーンリンクが、RBDシミュレーションでお互いに反応しています。

GravitySlideExample Example for Slider Constraint dynamics node

このサンプルでは、Slider Constraintを使って、1軸だけでスライドと回転をするボックスを作成する方法を説明しています。

InheritVelocity Example for RBD State dynamics node

このサンプルでは、RBD Stateノードを使って、オブジェクトの動きからVelocityを継承して、接着したRBD破壊シミュレーション内で、他のオブジェクトと衝突させる方法を説明しています。

ReferenceFrameForce Example for Reference Frame Force dynamics node

水で満たされたRBDの花瓶を使って、花瓶の参照フレーム内で水のシミュレーションをします。

RippleGrid Example for Ripple Solver dynamics node

このサンプルでは、Ripple SolverとRipple Objectのノードの使い方を説明しています。 Bulge SOPでグリッドを変形させて、Ripple Objectの初期ジオメトリとRest Geometry(静止ジオメトリ)を作成しています。このオブジェクトは、Ripple Solverに接続しています。

ScalePieces Example for Script Solver dynamics node

このサンプルでは、Script Solverノードを使って、RBDシミュレーションで破片を時間軸に沿ってスケールさせる方法を説明しています。

2dfluid Example for Smoke Object dynamics node

2D流体をCOPにエクスポートして、それを画像シーケンスファイルとしてディスクに保存し、それをテクスチャマップ、変位マップなどに使う方法を説明しています。

DelayedSmokeHandoff Example for Smoke Object dynamics node

このサンプルでは、RBDオブジェクトが何かに当たった数フレーム後に、RBDを煙に変換する方法を説明しています。

Open CL smoke Example for Smoke Object dynamics node

GPUアクセラレーションのSmokeシミュレーションを最適化する上で、最初にテストで使用できる単純なOpen CLアクセラレーションのSmokeシミュレーションの使い方を説明しています。 Smoke SolverUse OpenCLパラメータを参照してください。

高速化するには、システムはビデオカードへ、またはビデオカードからのコピーを最低限にする必要があります。 このサンプルでは、コピーを最低限にするための方法をいくつか説明しています。

  • DOPのキャッシュ化をオフにします。キャッシュ化は、フレーム毎にフィールド すべて をコピーする必要があります。これは、スクラブとランダムフィールドを検査する時に役に立ちますが、速度を速くするのには不要です。

  • SOPのDensityのみをインポートします。つまり、フレーム毎にGPUからCPUに1個のフィールドのみをコピーします。

  • バックグラウンドでディスクに保存します。これは、スループットを良くします。

  • シンプルなSmoke Solverを使います。

ビューポートでシミュレーションした出力の表示には、GPU → CPU → GPUの往復が必要ですが、これは、一般的には、ディスプレイカード以外のカードでのシミュレーションをサポートするのに必要です。

RBDtoSmokeHandoff Example for Smoke Object dynamics node

このサンプルでは、RBDオブジェクトをSmokeに変換する方法を説明しています。 同じSmokeオブジェクト内で複数の異なる色のSmokeフィールドを使っています。

SourceVorticlesAndCollision Example for Smoke Object dynamics node

このサンプルでは、Smoke Source、キーフレームを打ったRBDオブジェクト、Gas Vorticle Geometryなどを使って、単純なSmokeシステムを説明しています。

rbdsmokesource Example for Smoke Object dynamics node

ぼんやりとした四面体がボックス内を跳ね回って、その煙の連続的な放出で臨場感を出しています。

VolumePreservingSolid Example for FEM Solid Object dynamics node

このソリッドオブジェクトには、強いボリューム温存フォース(例えば、肉)を持っています。 ボリューム温存フォースの効果は、オブジェクトが地面に当たった時にはっきりと表示されます。

StaticBalls Example for Static Object dynamics node

このサンプルでは、グリッドが落下して地面に当たる前に3つの球から跳ね返るRBDシミュレーションでStatic Objectノードを使用しています。

VellumSmokeSheet Example for Vellum Solver dynamics node

このサンプルでは、VellumシミュレーションとSmokeシミュレーションを組み合わせて、風に揺れるシーツを作成する方法を説明しています。

FractureExamples Example for Voronoi Fracture Solver dynamics node

このサンプルでは、実際にHoudiniでボロノイ破壊を使う7つの方法を含んでいます。 特に、破壊シミュレーションでVoronoi Fracture SolverとVoronoi Fracture Configure Objectのノードの使い方を説明しています。 アニメーションを再生するなら、それらのサンプルのディスプレイフラグをオンにし、セットアップをテストするなら、各サンプルの中に入ってください。

SimpleVortex Example for Vortex Force dynamics node

このサンプルでは、何個かのボールを使って、Vortex Force DOPで生成したフォースを可視化しています。

BreakWire Example for Wire Solver dynamics node

このサンプルでは、ポイント単位でワイヤー拘束を壊す方法を説明しています。 Wire Solverで、'pintoanimation'という名前のアトリビュートを持つポイントを拘束するようにセットアップしています。

CurveAdvection Example for Wire Solver dynamics node

このサンプルでは、Pyroシミュレーションに基づいて、カーブを移流させる方法を説明しています。 Attribute Wrangle SOPを使って、ボリュームのVelocityをサンプリングして、それをワイヤーオブジェクトに適用しています。

Pendulum Example for Wire Solver dynamics node

このサンプルでは、拘束ポイントにあるオブジェクトと振り子の玉にあるオブジェクトを相互に影響を与え合う方法を説明しています。

CrowdPov Example for Agent Cam object node

このサンプルでは、agent camを群衆エージェントに割り当てて、群衆シミュレーションで、ある人からの視点を取得する方法を説明しています。

PortalBox Example for Environment Light object node

このサンプルでは、窓の形状を使って、ポータルライトを作成する方法を説明しています。 ボックスをモデリングして、窓と壁の2つのSOPに分割しています。 環境光のPortal Geometryパラメータに窓を指定して、壁をレンダリングします。 Portal Geometryパラメータをオン・オフして、Render Viewでのレンダリング品質の違いを確認してみてください。

extracttransform Example for Extract Transform object node

このサンプルでは、ジオメトリを、事前にベイクした.bgeoシーケンスで定義された移動するジオメトリの子にする方法を説明しています。

RainbowGeometryLight

このサンプルで注目すべき特徴は以下の通りです:

  • ジオメトリエリアライト

  • 減衰ランプ制御

  • サーフェスモデルのスペキュラーレイヤー

サンプルでは、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照明とコースティクスを別々の平面に分けます。

環境ライト

ポイントライト

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ノードで出力するシーンを切り替える方法を説明しています。

rop_example_bakeanimation

このサンプルでは、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 SamplesShadow 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つあります:

  1. Mantra ROPの Properties タブの Sampling サブタブの Pixel Samples パラメータ。 Pixel Samples を増やせば、ピクセル内にRay Marchingを増やすことができるので、品質が良くなります。さらに、ボリュームに対してアンチエイリアスとモーションブラーの品質が良くなります。

  2. 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カラーも調整しています。

netbarrierpost Example for Net Barrier render node

このサンプルでは、netbarrier ROPを使って、複数のマシンがお互いに同期化するようにする方法を説明しています。

RampReference

このサンプルでは、アニメーションするランプと参照ランプの使い方を説明しています。

ShutterShape

このサンプルでは、Shutter Shapeパラメータで、グレースケールのランプでシャッターの開口時間を制御する方法を説明しています。

rop_example_wedge Example for Wedge render node

このサンプルでは、Wedge ROPをセットアップして、自動的にたくさんの色々なネットワークを作成する方法を説明しています。

AtmosphereShader

このサンプルでは、ボリュームシャドウありのAtmosphereシェーダを作成する方法を説明しています。 FogオブジェクトにはVEX Lit Fogシェーダを追加し、SpotlightのDepth Map Shadowsを有効にしています。 シーン内のオブジェクトには、matteシェーダを接続しています。

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

このサンプルは、いろいろなジオメトリのバリエーションを持ついくつかのレイヤーを作成して、 それらのレイヤーをエージェントにランダムに割り当てる方法を説明しています。

AgentRelationshipBasic Example for Agent Relationship geometry node

このサンプルでは、単純な親子エージェントのセットアップ方法について説明しています。

SimpleCrowdCloth Example for Agent Vellum Unpack geometry node

このサンプルでは、Vellum Solverを使って、群衆キャラクタの布をシミュレーションする単純なワークフローを説明しています。

AlignTube Example for Align geometry node

このサンプルでは、あるオブジェクトが他のサーフェスの方向を向くようにAlign SOPがどのようにしてUV情報を使用しているのか説明しています。

Align SOPのUV参照パラメータは、 AlignTubeのサンプルのようにアニメーションすることができます。

UVパラメータをアニメーションすると、ジオメトリが他のサーフェスに沿うように向きと位置が色々と変化します。

PackedFragments Example for Assemble geometry node

このサンプルでは、Assemble SOPを使用して、リジッドボディシミュレーション向けに球をパックオブジェクトに分解する方法を説明しています。

BlendAttr Example for Attribute Composite geometry node

このサンプルでは、Attribute Composite SOPを使ってアトリビュートをブレンドする方法を説明しています。

AttribCopyTessel Example for Attribute Copy geometry node

このサンプルでは、AttribCopy SOPを使って、あるジオメトリのアトリビュートを他のジオメトリに転送する方法を説明しています。

Paint SOPを使ってグリッド上に"顔文字"をカラーアトリビュートでペイントすると、そのカラーアトリビュートが他のグリッドにも転送されます。グリッドのサイズが異なるので、テセレーションが起きます。

ジオメトリのサイズが異なる時、AttribCopy SOPはアトリビュートのパターンを繰り返します。

CurveTexturing Example for Attribute Create geometry node

AttribCreate SOPは、色々なオブジェクト固有のアトリビュートを作成する時に使用します。新しく作成したアトリビュートにはラベルと値を設定することが可能です。

このサンプルでは、レンダリング時のカーブの幅を設定するためにAttribCreate SOPで線幅アトリビュート名の"width"を作成しています。Switch SOPで以下の2つのバージョンを切り替えることができます。

  • 1つ目のAttribCreate SOPでは、X軸方向に一定幅のアトリビュートを作成しています。

  • 2つ目のAttribCreate SOPでは、エクスプレッションでカーブの幅を調整することで先細りの効果を表現しています。

このアトリビュートはレンダリング時にMantraで使われます。結果を確認するには、ビューポートのレンダリングアイコンを右クリックして、"render_example"を選択してください。

FadedTorus Example for Attribute Fade geometry node

このサンプルでは、impactレコードとAttribute Fade SOPを使ったアトリビュートの蓄積方法とフェード方法を説明しています。

attribfromvolume Example for Attribute from Volume geometry node

このサンプルでは、AttribFromVolume SOPを使って、ボリュームの値をPointアトリビュートに転送する方法を説明しています。

AttribPromoteSphere Example for Attribute Promote geometry node

このサンプルでは、AttribPromote SOPを使って、ポイントとプリミティブ間でアトリビュートを転送(プロモート)する方法を説明しています。

CopyUsingOrient Example for Attribute Reorient geometry node

このサンプルでは、Attrib Reorient SOPを使って、方向アトリビュート名の"orient"をポイントに追加する方法を説明しています。 それらのアトリビュートをCopy SOPを使って各インスタンスに適用しています。

RandomMaterial Example for Attribute String Edit geometry node

このサンプルでは、Attrib String Edit SOPを使って、文字列Primitiveアトリビュートの修正と、 プリミティブ単位でグリッドのカラーをランダム化する方法を説明しています。 サンプルでは、material_overridePrimitiveアトリビュートの文字列値にdiff_intを修正しています。

NormalsAttribTransfer Example for Attribute Transfer geometry node

AttribTransfer SOPは、ソースジオメトリの色々なPointアトリビュートをターゲットのジオメトリに転送するのに使用する場合があります。 この場合では、グリッドの法線アトリビュートNを他のグリッドに転送しています。

TransferColor Example for Attribute Transfer geometry node

Attribute Transfer SOPは、あるジオメトリのカラーアトリビュートを他のジオメトリに転送することができます。 Attribute Transfer SOPのパラメータを使って色々な効果を設定することができます。

AttributeRename Example for Attribute Rename geometry node

このサンプルでは、Attribute SOPを使ってHoudini内のアトリビュートを削除・名前変更する方法を説明しています。 RendermanのRIBを適切に出力するために、アトリビュートの名前を変更することがあります。

AddPoint Example for Attribute Wrangle geometry node

このサンプルでは、Attribute Wrangle SOPとaddpoint()VEXエクスプレッションを使って、単一の新しいポイントを追加する方法を説明しています。

CentroidPoints Example for Attribute Wrangle geometry node

このサンプルでは、primintrinsic関数を使用して、プリミティブの頂点数を取得する方法を説明しています。 最初に、プリミティブ-頂点の組を線形頂点値に変換してから、その線形頂点値で参照されたポイントを検索することで その頂点に該当するポイントを見つけることができます。

FluffyTorus Example for Bake Volume geometry node

このサンプルでは、Bake Volume SOPをセットアップしてFogボリュームのシャドウによるライトフィールドを計算する方法を説明しています。 これによってMantraのConstantボリュームシェーダで適切にレンダリングするためのフィールドが出力されます。

FlounderBend Example for Bend geometry node

このサンプルは、新しいBendノードを使用して、魚のヒラメを曲げる方法を説明しています。

TorusBlast Example for Blast geometry node

このサンプルでは、Blast SOPを使ってモデルのエレメントを削除する方法を説明しています。

Blast SOPを使えば、指定したパターンでポイント、エッジ、ポリゴン、ブレークポイントを削除することができます。

BlendColors Example for Blend Shapes geometry node

このネットワークでは、Blend Shapes SOPを使って、あるジオメトリのカラーを他のジオメトリのカラーに変化させています。

Blend Shapesに接続した入力が、モーフィーングの対象になります。

Blend Shapes SOPは、指定したアトリビュートすべてを補間します。この場合では、複数の入力間の“Cd”を補間しています。

アニメーションを再生して、その効果を確認してください。

PolyBlend Example for Blend Shapes geometry node

Blend Shapes SOPを使って、入力ジオメトリから形状とアトリビュートをブレンドしています。

この場合では、3つの入力を変形する対象としてBlendShapes SOPに接続して、DifferencingとBlend Positionオプションにチェックを付けています。

ブレンド値が特定の効果を出すようにキーフレームしています。アニメーションを再生して、その結果を確認してください。

NumbersOnPoints Example for Block End geometry node

このノードは、ポイント上に番号をスタンプする方法を示しています。 これは、for-each loopを使用して、各ポイントを反復し、メタデータソースを使用して、現行の反復番号を取得します。

SimpleFeedback Example for Block End geometry node

これは、for-loopsを使用して、同じノードのシーケンスを何度もジオメトリに再適用する方法を示しています。

SwissCheese Example for Block End geometry node

このノードは、1つのジオメトリのすべてのピースを反復して、元のジオメトリからボリュームを連続して減算する方法を示しています。

BoundingBox Example for Bound geometry node

このサンプルでは、ジオメトリから境界ボックスを作成する方法を説明しています。

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)が変わると、自動的にボックスとラティスもサイズが変わります。

BulgeCat Example for Bulge geometry node

Bulge SOP、メタボール、NURBSの球を組み合わせて単純な猫の頭を作成しています。

BulgeTube Example for Bulge geometry node

Bulge SOPを使って、磁力にメタボールを指定してジオメトリを変形しています。

磁力の強度はBulge SOPで調整することができます。

Metaball SOPのパラメータは、変形させるジオメトリのBulge SOPの最終効果を修正するために調整することもあります。

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で完全に変形させるメソッドを用意しています。

CarveExtractCurve Example for Carve geometry node

このサンプルでは、Carve SOPを使ってサーフェスジオメトリから色々なエレメントを抽出する方法を説明しています。

ジオメトリのタイプに応じて、Carve SOPはポリゴンオブジェクトからポイントを抽出したり、NURBSサーフェスからカーブを抽出します。

さらに、Carve SOPはサーフェスのUとVの情報を使って色々なエレメントを抽出し、UとVの値をアニメーションすることで、ポイントやカーブがジオメトリ上を移動するといった色々な効果を作成することができます。

CopySpikes Example for Carve geometry node

このサンプルでは、Carve SOPがサーフェスから3Dアイソパラメトリックカーブを抽出する方法と、その抽出したカーブをコピーのテンプレートとして使用する方法を説明しています。

Carve SOPを使ってプリミティブをスライスしたり、複数の断面にカットしたり、プリミティブからポイントや横断面を抽出することができます。

このサンプルでは、Extractオプションを使って3Dアイソパラメトリックカーブを抽出しています。Carve SOPは同じV方向の値を持ったサーフェス上のポイントからカーブを抽出するので、円盤のような形状が連続して作成されています。

Copy SOPは、それらのカーブ上のポイントをテンプレートとして使用して、ソースジオメトリをコピーしています。

DiscCarve Example for Carve geometry node

このサンプルでは、NURBSサーフェスからカーブを抽出して、そのカーブをアニメーションする時のCarve SOPの使用方法を説明しています。

Carve SOPはUとVのサーフェスデータを使ってジオメトリを刻みます。

このサンプルでは、他のジオメトリの入力として使用するカーブを抽出して面白い効果を作成しています。

Carve SOPで、V方向を指定して、その値を0から1までの範囲で、キーフレームやエクスプレッションを使ってアニメーションしています。

BlobbySphere Example for Channel geometry node

このサンプルでは、Channel SOPを使ってCHOPからSOPに情報を送信して、その情報をジオメトリに追加する方法を説明しています。

アニメーションする球を使用して、その球で選択した領域のアニメーションに遅延を設定しています。

CHOPネットワークでは、Geometry CHOPが球ジオメトリのポイントポジションデータを取り込み、遅延の効果を出すためにそのデータをLag CHOPに渡してします。 Channel SOPはLag CHOPを参照して、ポイントデータを元のNURBSの球の選択した領域に戻しています。

ChannelSOPColorExample Example for Channel geometry node

このサンプルでは、CHOPを使ってジオメトリのカラー値をChannel SOPを通じて駆動する方法を説明しています。

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)にスナップします。

ClipParticle Example for Clip geometry node

このサンプルでは、Clip SOPで無限平面を使用して、パーティクルの流れを切り取る非常に単純な方法を説明しています。

アニメーションを再生して、その効果を確認してください。

ClipVariations Example for Clip geometry node

このサンプルでは、ジオメトリに対してClip SOPの色々な使用方法を説明しています。

クリップ平面で制限したジオメトリの部分に依存して、効果が生成されています。

Clip SOPはクリップ平面でグループ境界を指定することで、グループツールとしても使用することができます。

クリップ平面はアニメーション可能です。アニメーションを再生して、その結果を確認してください。

CaptureDeform Example for Cloth Deform geometry node

このサンプルでは、Cloth CaptureノードとCloth Deformノードを使って低解像度の布のシミュレーションを高解像度の布に転送する方法を説明しています。

アニメーションするソースポイント Example for Cluster Points geometry node

ポインの数が変わるソースジオメトリをクラスタにする時、そのクラスタとクラスタの番号はフレーム毎にランダムに変化するので、おかしな結果になります。それを避けるために、いくつかのテクニックを使って、ポイントの最終番号に基づいたクラスタを作成しなければなりません。

最初に、Cluster Pointsノードでクラスタにするポイントのポイントポジションのセットを指定するために、 Cluster Pointsノードの2番目の入力 を接続します。これを rest position と呼びます。

例えば、Impact Analysisツールは、RBDオブジェクトの衝突からポイントを作成します。その結果のジオメトリのポイントの数は、RBDオブジェクトが衝突するほど増えます。

  1. ROP OutputドライバFileノードを組み合わせて、インパクトポイントジオメトリをディクスにキャッシュ化します。

    (サンプルのファイルは単純化するためにディスクにキャッシュ化していません)

  2. FileノードからTimeshiftノードを枝分かれして、Timeshiftの出力をCluster Pointsノードの2番目(rest position)の入力に接続します。

  3. Timeshiftノードの Frame パラメータをクラスタを実行したい時間のフレームに設定します。通常はエフェクトの最後のフレームです。$NFRAMES変数を使えば、常にシーンの最後のフレーム番号を設定することができます。

次に、必要な分だけスモークボックスを作成するために、Smoke Objectノードの Continuous を有効にしなければなりません。 これは、 すべてのフレーム でインスタンスポイント毎に新しいスモークボックスを作成します。 これを回避するために、クラスタの中心点が現れるフレームにだけボックスを作成します。 サンプルファイルでは、For Each SOPを使ってクラスタの中心点現れるフレーム以外のすべてのフレームのクラスタの中心点を削除しています。

ばら撒いたポイントのポジションと番号がジオメトリを変形した時にフレームが変わっても、つじつまが合うようにするには、ばら撒いたポイントをくっつける方法を参照してください。

CombGrass Example for Comb geometry node

このサンプルでは、Comb SOPを使ってインタラクティブに法線上を"ペイント"することでポイント法線の方向を変更する方法を説明しています。

2つのComb SOPを使って、別々の方向を向いたグリッドの法線の方向を整えています。 Sequence Blend SOPで2つのComb SOPをブレンドすることで法線が揺れているように見せています。

単純なラインジオメトリをそれらのポイントに接続しています。

Comb SOPは髪の毛や草原などのアニメーションに使うことができます。

ConnectedBalls Example for Connectivity geometry node

このサンプルでは、Connectivity SOPで生成したアトリビュートを使って、DOPシミュレーションの別々のジオメトリに色を付ける方法を説明しています。

ConvToTrimSurface Example for Convert geometry node

このサンプルでは、Convert SOPを使って、トリムされたNURBS/Bezierサーフェスを作成する方法を説明しています。

トリムされたサーフェスのテクスチャの扱い方を比較した4つのサンプルがあります。

  • Grid Surface グリッド上の単純なテクスチャマップ。

  • Trimmed Circle Using the Trim SOP Project SOPとTrim SOPを使ってトリムされたサーフェスを作成する一般的な方法。

  • Trimmed Circle Using the Convert SOP Convert SOPを使ってトリムされたサーフェスを作成する方法。

  • NURBS Surface Using the Convert SOP トリムされていないサーフェス上にテクスチャをパラメータ化する方法。

テクスチャのパラメータ化を分かりやすくするために、ポイント表示とワイヤーフレーム/シェーディングモードの切り替えをします。

ConvertBasic Example for Convert geometry node

このサンプルでは、Convert SOPが単純な球を使ってジオメトリタイプを変換する色々な方法を説明しています。

この説明ではチャートを使用しています。

チャートの左側では、変換元のジオメトリタイプを説明しています。

チャートの上側では、変換先のジオメトリタイプを説明しています。

この説明で使用しているSphere SOPとConvert SOPすべては、違いを分かりやすくするためにデフォルト値を使用しています。

CurveToPrimCircle Example for Convert geometry node

このサンプルでは、カーブをプリミティブの円に変換する方法を説明しています。

NURBSまたはBezierの閉じたカーブをプリミティブの円に変換するには、最初にポリゴンに変換する必要があります。

閉じたポリゴンカーブに変換してしまえば、カーブをプリミティブの円に変換することが可能です。

Potatochip Example for Convert geometry node

このサンプルでは、Convert SOPを使って閉じたカーブをサーフェスに変換する方法を説明しています。

サンプルには2つのバージョンがあります。1つ目は、カーブがサーフェスに上手く変換されています。 2つ目は、元のカーブの形状が凹んでいるので上手くサーフェスに変換されていません。

シェーディングモードで表示すると分かりやすいです。

CookieBasic

このサンプルでは、Cookie SOPの色々な使い方を説明しています。

CookieGear

このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。

このインスタンスでは、ポイントをFacet SOPを使って結合し、Divide SOPを使ってサーフェスを滑らかにして、Cookie SOPで円柱で減算して穴を空けています。

CookieStar

このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。

星の形状を作成して、それを球から減算しています。

CopyAttributes Example for Copy Stamp geometry node

Copy SOPはジオメトリをコピーするだけでなく、それ以上のこともできます。このサンプルでは、Copy SOPを使ってテンプレートジオメトリ(またはポイント)からカラーアトリビュートをコピーしたジオメトリに転送しています。

カラー情報を追加したポリゴンの球をソースジオメトリとして使用しています。球からカラーアトリビュート(Cd)付きのポイントを抽出し、それをCopy SOPでテンプレートとして使用します。Copy SOPはカラー情報をコピーしたポリゴンの円に転送します。

CopyTemplateAttribs Example for Copy Stamp geometry node

Copy SOPは、テンプレートから特定のアトリビュートを、コピーしたプリミティブに転送することができます。このサンプルでは、カラーアトリビュートを設定したポイントをテンプレートとして、球にカラーアトリビュートを追加しています。Particle SOPは球のポイントからパーティクルを生成するために使用しています。

Copy SOPは次の2つの事をしています:

  • ジオメトリをパーティクルにコピー。

  • ソースの球のポイントからカラーアトリビュートをパーティクルの位置にあるジオメトリに転送。

アニメーションを再生して、その効果を確認してください。

ParticleCopyScale Example for Copy Stamp geometry node

Copy SOPは、Particle SOPを使ったパーティクルをテンプレートとしてジオメトリをコピーすることができます。このサンプルでは、Copy SOPのScaleパラメータを使って特殊な効果を作成しています。 Copy SOPは、Scale以外にもコピーしたジオメトリのアトリビュートを制御することができます。

アニメーションを再生して、その効果を確認してください。

StampRandom Example for Copy Stamp geometry node

このサンプルでは、Copy SOPを使って、色々なオブジェクトを指定したテンプレートジオメトリにランダムにコピーしています。それをするためにCopy SOPのStamp機能を使っています。さらに、全体のプロセスがプロシージャルなので、コピーするジオメトリのタイプと数、使用するテンプレートの種類を決めるオプションがあります。

Copy SOPのStampタブ内に"switch"という名前の変数を作成しています。この変数はSwitch SOPのSelect Inputパラメータの入力値を駆動します。同様に、Copy SOPは入力ジオメトリをランダムな数だけテンプレートのポイントにコピーすることができます。

StampStars Example for Copy Stamp geometry node

このサンプルでは、Copy SOPのStampの機能のパワーを説明しています。

ここでは、Copy SOPを使って、円を球のポイントにコピーしています。 Stampタブでは、円の分割数、スケール、カラー、押出し量などの色々な調整をコピーに適用しています。その結果、色々な形の“星”がランダムに生成されています。

Stampにエクスプレッションを使えば、単純な円から色々な数の星を作成することができます。

CreaseBasic Example for Crease geometry node

このサンプルでは、Crease SOP, Vertex SOP, Attribute Create SOP, Subdivide SOPの4つの方法を使って、creaseweightアトリビュートをポリゴンジオメトリに追加しています。

また、MantraとRenderManでレンダリングした際にも違いが出てきます。Mantraは著作権の問題でcreaseをレンダリングできないことを知っておいてください。

Note

Mantraでcreaseをレンダリングするには、そのジオメトリを計算できるようにSubdivision SOPを追加する必要があります。オブジェクトレベルでRenderタブのGeometryパラメータをGeometry As Isに設定してください。

RenderManを使用していれば、Subdivide SOPは単なる結果のプレビュー用にすぎません。RenderManはレンダリング中にcreaseを計算します。オブジェクトレベルでRenderタブのGeometryパラメータをPolygons as Subdivision Surfacesに設定してください。

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

このサンプルは、いくつかの異なったタイプのエージェントを群衆に集める方法を説明しています。

CurveHood Example for Curve geometry node

このサンプルではCurve SOPを使って車のフードを作成する方法を説明しています。

あるカーブのポイントに依存して新しいカーブ上にポイントを作成しています。これによって、あるカーブ上のポイントを動かして他のカーブに影響を与えることができます。

CurveClayBasic Example for Curveclay geometry node

このサンプルでは、CurveClay SOPを使ってNURBSやBezierのジオメトリに対してエンボス加工を作成しています。

CurveClay SOPを使った2通りの方法でフォントを球面上に刻印しています。

1つ目が投影したプロファイルを使った方法、2つ目が2つのプロファイルを使った方法です。

UltraSharpFont Example for Curveclay geometry node

このサンプルでは、CurveClayのジオメトリを改良する方法を説明しています。

文字"t"をグリッド上に投影しています。CurveClay SOPはプロファイル情報を認識し、それを使ってサーフェスジオメトリを変形します。

CurveClayのジオメトリのエッジを鋭くするために、SharpnessとRefinementパラメータを試してみてください。

DeleteDemo Example for Delete geometry node

このサンプルでは、Delete SOPでシーンから特定のジオメトリを削除する方法を説明しています。

ジオメトリは、ポイントまたはポイント番号、グループ、境界ボックス内の位置で削除することができます。

DeleteFan Example for Delete geometry node

Delete SOPでは、色々な方法を使ってプリミティブを削除することができます。

このサンプルのファンのように、プリミティブをパターン範囲を使って削除して、面白いオブジェクトを作成することができます。

DeltaMushDemo Example for DeltaMush geometry node

このサンプルでは、Delta Mush SOPを使用したボーン変形の平滑化の方法を説明しています。

DissolveBox Example for Dissolve geometry node

このサンプルでは、Dissolve SOPでジオメトリのポイント、エッジ、プリミティブを削除する方法を説明しています。 Dissolve SOPは色々なエレメントを削除した後に残る穴に自動的にパッチを当てます。

RemoveSharedEdges Example for Divide geometry node

Divide SOPはジオメトリからエッジを除去することが可能です。 このサンプルでは、Divide SOPは単純なグリッドから内部エッジをすべて除去しています。

LowHigh Example for Dop Import geometry node

このサンプルではRBDオブジェクトに対応するために低解像度と高解像度のセットアップをする方法を説明しています。 どちらの解像度もDOP Import SOPを参照して、低解像度ジオメトリでシミュレーションをして、その結果を高解像度ジオメトリに転送してレンダリングしています。

ProxyGeometry Example for Dop Import geometry node

このサンプルでは、DOP Import SOPを使って、DOPシミュレーションでプロキシジオメトリ(代用ジオメトリ)の使用を可能にするテクニックを説明しています。 1組みのジオメトリをシミュレーションに使用し、そのシミュレーション結果のトランスフォーメーション情報をもっと解像度の高いジオメトリに適用しています。

dopimportrecordsexample Example for DOP Import Records geometry node

このサンプルでは、DOPシミュレーションの記録に一致したポイントを作成しています。 DOP Import Recordsノードは、オブジェクト毎に1個のポイントまたはインパクト毎に1個のポイントを作成することができます。

DuplicateBox

このサンプルでは、Duplicate SOPを使ってboxジオメトリをスケールとオフセットを累積させながらコピーを複数回繰り返しています。現行コピー番号を意味するグローバルパラメータの$CYを使ったエクスプレッションを使ってパラメータを制御しています。

EdgeCollapseBasic Example for Edge Collapse geometry node

このサンプルで示すように、Edge Collapse SOPは、単純にエッジを削除します。 ポイント番号は、欠落したエッジに順応するように再配置されます。

EdgeCuspStairs Example for Edge Cusp geometry node

Edge Cusp SOPは、簡単にレンダリング時にモデル上に明確なエッジを作成することができます。 Edge Cuspは、共有エッジを個別化し、ポイント法線を再計算してエッジを作成します。

EdgeDivideBasic Example for Edge Divide geometry node

このサンプルでは、EdgeDived SOPを使ってポリゴンのエッジ上にポイントを挿入する方法を説明しています。

EdgeFlipBasic Example for Edge Flip geometry node

このサンプルでは、EdgeFlip SOPを使ってサーフェス上の選択したエッジを反転する方法を説明しています。

PolySplit SOPを使ってポリゴンにエッジを作成し、それをEdgeFlip SOPを使って回転しています。

EdgeFracture Example for Edge Fracture geometry node

このサンプルでは、EdgeFracture SOPを使って、入力メッシュのエッジに沿わせて様々な粉砕を行なう方法を説明しています。

ReferenceGeometry Example for Edit geometry node

このサンプルでは、アニメーションするジオメトリにEdit SOPを適用した時にEdit SOPのReference Geometryの入力を接続した場合と接続しない場合の違いを説明しています。

TerrainEdit Example for Edit geometry node

このサンプルでは、Edit SOPを使って地形を作成する方法を説明しています。

ExtractAnimatedTransform Example for Extract Transform geometry node

このサンプルでは、剛体の動きを表現した変形ジオメトリから、トランスフォームがアニメーションされたパックプリミティブを作成する方法を説明しています。 この結果は、リジッドボディシミュレーションのColliderに適しています。

ExtrudeFont Example for Extrude geometry node

このサンプルでは、Extrude SOPを使って、ボリュームとジオメトリを平坦なプリミティブから作成する方法を説明しています。

また、ジオメトリを別パートにグループ分けする方法と各グループに別々のシェーダを適用する方法も説明しています。

FacetVariations Example for Facet geometry node

このサンプルでは、Facet SOPを使って、指定したオブジェクトを滑らかにしたり、多角化したりする方法を説明しています。 また、ポイントが結合できることも説明しています。

右矢印キー(次のフレームに移動)を押すと、各サンプルが表示されます。

PackedPoints Example for File geometry node

このサンプルでは、File SOPを使って、ディスクのパックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。 パックジオメトリをディスクに保存すると、参照付きでポイントジオメトリのみがディスクファイルに保存されます(ディスクファイルは非常に軽いです)。

PackedSamples Example for File geometry node

このサンプルでは、File SOPを使って、パックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。

GridFillet Example for Fillet geometry node

Fillet SOPを使えば、2つのNURBSサーフェス間にパラメータ付きでブリッジを作成することができます。 フィレットは元のサーフェスのUV情報をブリッジに使用します。

フィレットのタイプには、Freeform、Convex、Circularがあります。Freeformは通常では自然とした滑らかな形状を生成します。 左右のUV、Width、Scale、Offsetなどのパラメータを使ってサーフェス間のフィレットの位置を制御します。

FitCurves Example for Fit geometry node

このサンプルでは、Fit SOPを使ってNURBSカーブを基本ポリゴンカーブにフィットさせる方法を説明しています。

Fit SOPは、入力ジオメトリのポイントを通過するNURBSまたはBezierカーブを新しく構築します。

フィッティングには方法が2通りあります:

Interpolationは、入力カーブ(元のポリゴンカーブ)と同じCVの数を出力します。

Approximationは、CVの数を減らすと同時に、入力ポイントを通過するカーブを近似します。

アニメーションを再生して、これら2つの方法がカーブに与える影響の違いを確認してください。

FitSurfaces Example for Fit geometry node

このサンプルでは、Fit SOPを使ってポリゴンメッシュをNURBSサーフェスにフィットさせる方法を説明しています。フィッティングには方法が2通りあります:

  • Approximationは、データポイントのパスに従っておおまかにプリミティブを生成します。

  • Interpolationは、データポイントすべてを通過するプリミティブを生成します。

ColourAdvect

このサンプルでは、Fluid Source SOPを使って、新しいボリュームの色を煙のシミュレーションに加えて移流させる方法を説明しています。

CoolLava

このサンプルは、Cool Within Objectシェルフツールを使用して、溶岩を冷却する方法を説明しています。

TorusVolume

このサンプルでは、Fluid Source SOPを使って、トーラスから流体シミュレーション用のボリュームを作成する方法を説明しています。

BubblyFont Example for Font geometry node

Font SOPを使ってシーン内に3Dテキストジオメトリを作成することができます。

ジオメトリはポリゴン、Bezier、またはその2つを組み合わせて設定されます。

カーブを含んだ文字にはBezier、直線のエッジにはポリゴンという組み合わせが使われます。

デフォルト以外のフォントはFontパラメータで指定します。

FontBasic Example for Font geometry node

このサンプルでは、Font SOPを使ってテキストの書式で利用可能なパラメータをいくつか説明しています。

ForceBasic Example for Force geometry node

このサンプルでは、Metaball SOPとParticle SOPをForce SOPと組み合わせてダイナミックアニメーションを作成する方法を説明しています。

Force SOPのRadial Forceパラメータを使用すると、パーティクルが内側と外側に吹きつけられます。 Directional Forceパラメータを使用すると、ある軸を基準にメタボールがぐるぐるまわると、それに伴って回転する渦が作成されます。

再生ボタンを押してアニメーションを確認してください。

ForEachMagnet

このサンプルでは、ForEach SOPを3つのモード(グループ、アトリビュート、ナンバー)で使い方を説明しています。 ローカル変数をサポートしないSOP(例:Magnet)は、このサンプルで示す3つのモードのどれかを使えば、ローカル変数をサポートするようにできます。

cheese

このサンプルでは、ForEach SOPを使って一切れのチーズに球を個々にブーリアン演算する方法を説明しています。

cutup

このサンプルでは、ForEach SOPを使って、あるオブジェクトが他のオブジェクトの各パートと交差して、結果を一緒にマージする方法を説明しています。

FractalGeoTypes Example for Fractal geometry node

このサンプルでは、Fractal SOPでジオメトリを変形してランダムで凸凹なサブディビジョンサーフェスを生成します。 これは地形、景観、岩、破片などを表現するのに役に立ちます。

Fractal SOPを各ジオメトリタイプに適用してジオメトリタイプによって変位に違いがあることを確認してください。

Clumping Example for Fur geometry node

Fur SOPは髪の毛のようなカーブをインスタンス化するために使用します。

このケースでは、1つ目のFur SOPでクランプ(束)に適用するカーブを作成しています。 2つ目のFur SOPではクランプ(束)を定義しています。

FurBall Example for Fur geometry node

このサンプルでは、Fur SOPがガイドカーブとスキンジオメトリに応じて髪の毛のようなカーブを作成する方法を説明しています。

FurBallWorkflow Example for Fur geometry node

このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。

FurPipelineExample Example for Fur geometry node

このサンプルでは、カスタムシェーダを使ってFur SOPで生成したファーの外観を定義する方法を説明しています。

FurRandomScale Example for Fur geometry node

このサンプルでは、CVEXシェーダを使ってプロシージャルなエフェクトをFur SOPで生成したカーブに適用する方法を説明しています。 Fur SOPのガイドジオメトリとスキンジオメトリの入力からのアトリビュートすべてをCVEXシェーダで利用可能です。 CVEXシェーダは、各カーブの固有IDを示す"fur_id"と各ポイントの位置を示す"P"のアトリビュートを使用します。

FurTextureMap Example for Fur geometry node

このサンプルでは、テクスチャマップを使ってファーに色を付ける方法を説明しています。

Shaved Example for Fur geometry node

このサンプルでは、テクスチャを使ってファーの密度を設定する方法を説明しています。

FuseHood Example for Fuse geometry node

このサンプルでは、Fuse SOPを使って独立したカーブ間のポイントを結合する方法を説明しています。

車のフードの3つのパネルを作成してFuse SOPを使って1つに結合しています。

glueclusterexample Example for Glue Cluster geometry node

このサンプルでは、Glue Cluster SOPとGlue Network Constraint DOPを使ってボロノイ破壊するパーツを1つにまとめる方法を説明しています。 これによって、クラスタリングが凹状のオブジェクトを用意しなくてもBulletと使用することができるようになります。

GridBasic Example for Grid geometry node

Grid SOPは非常によく使われるプリミティブで、特にパーティクルのソースで使われます。非常に汎用的でたくさんのサーフェスパラメータのオプションがあります。

このサンプルには、Primitive TypesとConnectivityを色々と変えたグリッドがあります。

FeaturedEdges

このサンプルでは、Edge Groupを使って、オブジェクトの特徴的なエッジをPolyreduceで保持する方法を説明しています。

GroupCopyBox Example for Group Copy geometry node

このサンプルでは、他のネットワークのグループに基づいて、ジオメトリをグループ化する方法を説明しています。

TransferProximity Example for Group Transfer geometry node

このサンプルでは、Group Transfer SOPによって、グループのプリミティブの近接度から、グループを新しいジオメトリセットに転送する方法を説明しています。

HoleBasic Example for Hole geometry node

このサンプルでは、Hole SOPの使い方を説明しています。

そこにはHole SOPを使ったサンプルが4つあり、サーフェスに穴を追加したり、穴を削除する方法を説明しています。

Brickify Example for IsoOffset geometry node

このサンプルでは、IsoOffset SOPを使ってオブジェクトをブロック化する方法を説明しています。

SquabVolume Example for IsoOffset geometry node

このサンプルは、isooffsetを使用してボリュームに変換されたSquabテストオブジェクトに対して Volume Visualizerの使用方法を説明しています。

BasicJoin Example for Join geometry node

このサンプルでは、Join SOPが複数のパーツのジオメトリをフェースとサーフェスで接続する方法を説明しています。

Join SOPは個々のパーツのジオメトリをアトリビュートを引き継いで1つのプリミティブに結合します。

NURBS、Bezier、メッシュのサーフェスをJoin SOPで使用します。

ポリゴンはJoin SOPでは機能しません。

BallBounce Example for Lattice geometry node

このサンプルでは、Lattice SOPを使って跳ね返るボールの作成方法を説明しています。

DeformLattice Example for Lattice geometry node

Lattice SOPは、ソースジオメトリを囲んだ単純なジオメトリを操作することでアニメーションする変形を作成することができます。

このサンプルでは、Lattic SOPでアニメーションするBOX SOPを使用してソースジオメトリを変形する方法を説明しています。 このケースでは、ソースジオメトリは球を使用しています。

LatticePerChunk Example for Lattice geometry node

このサンプルでは、ForEach SOPを使ってLattice SOPを球の各セグメントに適用する方法を説明しています。

MultiTexture

このサンプルでは、Layer SOPを使って複数のテクスチャを1つのオブジェクト上に重ねる方法を説明しています。

MultiUV

このサンプルでは、Layer SOPとVEX Layered Surface SHOPを使用することで、別々のUVセットに複数のシェーディングレイヤーを持たせる方法を説明しています。

LineDirection Example for Line geometry node

このサンプルでは、Line SOPを使ってラインを生成する方法を説明しています。

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を使って窓のあるビルを生成する方法を説明しています。

MagnetBubbles Example for Magnet geometry node

このサンプルではMagnet SOPでジオメトリを変形する方法を説明しています。

Magnet SOPの影響力をメタボールの大きさに設定しています。その影響力は、サーフェスとメタボールの中心との距離に基づいて変形します。

このサンプルでは、平面のサーフェス上を跳ねて移動するパーティクルにメタボールを追加しています。そのサーフェスとメタボールが交差した箇所が泡のように変形します。

MagnetDistortion Example for Magnet geometry node

このサンプルでは、Magnet SOPの色々な使い方を説明しています。 Magnet SOPを使ってポイントの位置・カラー・法線・Velocityに影響を与えることができます。

MatchTopologySphere Example for Match Topology geometry node

このサンプルでは、Match Topology SOPを使ってポイント番号とプリミティブ番号を揃える方法を説明しています。

Tracking Points, Reference Points, and Assume Primitives Matchの機能は、完全な一致を得るために使用します。

SimpleMDD

このサンプルでは、MDD SOPとMDD File Writer ROPの使い方を説明しています。

MeasureArea Example for Measure geometry node

このサンプルでは、Measure SOPを使って、プリミティブの面積に基づいて、グループを作成する方法を説明しています。

MeasureLaplacian Example for Measure geometry node

このサンプルでは、Laplacianの測定法を使ってアトリビュートを平滑化または鮮明化する方法を説明しています。

MergeAttributes Example for Merge geometry node

Merge SOPは入力のアトリビュートすべてを入力のジオメトリすべてに適用します。各入力ジオメトリが独自のアトリビュートを持っている場合があります。

3つの球をMerge SOPに接続しています。1番目の球にはアトリビュートがありません。2番目の球にはPoint SOPでカラーアトリビュート(Cd)が追加されています。 3番目の球には別のPoint SOPで法線アトリビュート(N)が追加されています。

Merge SOPはアトリビュートを構築する方法を 知りません が、アトリビュートを追加することができます。その結果、Merge SOPで追加されるアトリビュートすべてはゼロに設定されます。 1番目と2番目の球はそれぞれカラー値が白(1,1,1)、青(0,0,1)にも関わらず黒になっています。これは法線アトリビュートが追加されて、値がゼロに設定されているからです。

アトリビュートの値を指定するなら、Merge SOPに頼らないようにしてください。

BlendMetaballs Example for Metaball geometry node

このサンプルは、メタボールがフォースとして作用することを基本的な例を使って説明しています。メタボールはMetaball SOPで作成することができます。

Point SOPは、各フォースがお互いに引き寄せられた状態のメタボールを視覚的に表現するために使用しています。

MetaExpression Example for Metaball geometry node

このサンプルでは、Attribute Create SOPのmetaExpressionを使ってメタボールを色々な方法でくっつける方法を説明しています。

MirrorSpout Example for Mirror geometry node

このサンプルでは、Mirror SOPを使ってジオメトリをミラーする方法を説明しています。

PaintAttributes Example for Paint geometry node

このサンプルでは、Paint SOPでジオメトリ上にアトリビュートをペイントして、アトリビュートでジオメトリを修正する方法を説明しています。

PaintColour Example for Paint geometry node

このサンプルでは、Paint SOPでジオメトリに色を塗る方法を説明しています。

PaintPoints Example for Paint geometry node

このサンプルでは、領域単位でポイント数を設定して、ジオメトリ上にペイントでポイントを撒き散らす方法を説明しています。

FlutteringLeaves

このサンプルでは、Particle SOPを使って、ひらひらと舞う葉っぱのシミュレーションの作成方法を説明しています。

また、Point SOPでポイント法線を修正することで、パーティクルの速度と方向に影響を与える方法を説明しています。 パーティクルとは実際には空間内のポイントなので、パーティクルのアトリビュートを制御するにはPoint SOPを使用するのが効果的な方法です。

再生ボタンを押してシミュレーションを確認してください。

PScale

このサンプルでは、Particle SOPを使って指定したパーティクルのデフォルトサイズを設定する方法を説明しています。

単純なグリッドを使って風で流されて行くパーティクルの動的シミュレーションを作成することができます。 パーティクルがグリッドから離れるほど、パーティクルがゆっくりと消えていきます。

ParticleAttractor

このサンプルでは、メタボールをフォースとしてParticle SOPを使用する方法を説明しています。

パーティクルは原点から発生し、止まっているメタボールに向かって進みます。 メタボールにはForce SOPが適用されていて、パーティクルがメタボールに到達すると広がっていきます。

ParticleCollisionBasic

これは、Particle SOPを使ってSOPレベルでパーティクルを発生し、ジオメトリと衝突さる基本的なサンプルです。

ParticleDisturbance

このサンプルでは、パーティクルのソースにグリッドを使い、MetaballとForce SOPを組み合わせてParticle SOPを使うことで物理アニメーションを作成しています。

メタボールの船が航跡沿いからパーティクルを外側に弾き出しながら突き進んで行きます。 Force SOPを使うことでパーティクルが船に反応するようになっています。

アニメーションを再生して全体の効果を確認してください。

ParticleExamples

このサンプルでは、Particle SOPの色々な使い方を5つの説明しています。

  • Creep Creep SOPを使ってサーフェス沿いにパーティクルを這わせます。

  • Group サーフェス上のポイントのグループからパーティクルを発生します。

  • Bounce パーティクルを跳ね返らせます。

  • Split 接触時にパーティクルを分割します。

  • Collide 衝突オブジェクトからパーティクルを発生します。

  • Moving Object 移動オブジェクトからパーティクルを発生します。

  • Force メタボールを使ってパーティクルに力を加えます。

ParticleFountain

このサンプルでは、いくつかのParticle SOPと基本モデルから噴水を作成する方法を説明しています。

法線オフセット、速度の多様化、衝突時の動作を設定して、パーティクルの動きと見た目を設定する方法がわかります。

ParticlePusher

このサンプルでは、Metaball SOPとForce SOPを使って、Particle SOPで生成したパーティクルの流れを左右に押し出す方法を説明しています。

パーティクルは球から広がって発生すると同時に、メタボールが左右に動いてパーティクルを押し出します。

アニメーションを再生して全体の効果を確認してください。

ParticleTube

Particle SOPはSOPレベルでパーティクルを作成することができ、そのパーティクルを直接ジオメトリと作用させることが可能です。 さらに、パーティクルは次々とポイントジオメトリとして扱われます。

このサンプルでは、チューブオブジェクト上を這うパーティクルとチューブオブジェクトに衝突するパーティクルがあります。 そのオブジェクトのポイント法線(パーティクルの法線を含む)を調整してSOP内のパーティクルを制御することも可能です。

PeakEars Example for Peak geometry node

このサンプルでは、Peak SOPを使って頭にとがった耳を作成する方法を説明しています。

Peak SOPに"先端"となるポイント番号を指定し、法線に沿ってそのポイントを移動してとがった耳を作成しています。

PlatonicSolidsTypes Example for Platonic Solids geometry node

Platonic Solids SOPは色々なタイプのプラトン立体を生成します。プラトン立体とは、凸状で頂点とフェースすべてがまったく同じ形式の多角形のことです。プラトン立体は、正四面体、正六面体、正八面体、正十二面体、正二十面体の5つだけあります。このSOPではそのタイプを選択することができます。

このサンプルでは、異なる多角形が7つあり、どれもPlatonic Solids SOPで作成することができます。

AimPointNormals Example for Point geometry node

このサンプルでは、Point SOPを使ってポイント法線の方向をパスに沿わせる方法を説明しています。 これによって、ジオメトリをポイントにコピーした時にジオメトリの向きを制御できるようになります。

Carve SOPにエクスプレッションを使用することで、フレーム毎に1ポイントの基準でポイントを螺旋に沿って抽出しています。 円錐を抽出したポイントに連続でコピーすることで、パスに沿ってアニメーションします。

CrossProduct Example for Point geometry node

このサンプルでは、Point SOPを使って外積を計算する方法を説明しています。 外積は、2つの入力ベクトルに垂直なベクトルを定義します。

このサンプルを可視化する場合は、SOPネットワークに移動して、ディスプレイツールバーの Point Normals を有効にしてください。

PointBorrowing Example for Point geometry node

このサンプルでは、Point SOPで他の入力に応じてジオメトリを変形する方法を説明しています。

球を作成して、そのポイントをランダムに変形しています。 そして、Point SOPに元の球と変形した球の両方を入力に接続して、元の球と変形した球の平均値となる球を作成しています。 これには、単純な数式によってポイント毎に2つの球の位置を平均化しています。

PointExamples Example for Point geometry node

Point SOPは非常に汎用的なオペレータです。 このサンプルでは、Point SOPを使ってポイントのウェイト、カラー、法線、UVのアトリビュートを制御する方法を説明してます。

さらに、Point SOPによってPointアトリビュート間に色々な関係を作成することができます。

PointNormals Example for Point geometry node

このサンプルでは、Point SOPを使って法線をジオメトリに追加する方法を説明しています。

また、ポイント法線をコピーしたジオメトリの向きとシェーダの外観に影響を与える方法も説明してます。

PointOffsetSurface Example for Point geometry node

Point SOPを使って単純な変位を作成して、それを球のサーフェスの一部に適用しています。

Point Positionでポイント法線と数値を設定すれば、ポイントは法線方向に変位します。 そしてMergeとSkin SOPを使って、変位したサーフェスと元のサーフェスを接続しています。

PointSpiral Example for Point geometry node

このサンプルでは、Point SOPを使って直線を螺旋に変換する方法を説明しています。

ここでは2つの方法があります。 1つ目が直線のポイント番号を使ってエクスプレッションで定義する方法です。 2つ目が直線の境界ボックスのポイントの位置を使ってエクスプレッションで定義する方法です。

PointTerrainErode Example for Point geometry node

このサンプルでは、Fractal SOPを使って山の景観を作成する方法を説明しています。

Point SOPによって山を次々と削っています。 Point SOPでSpareチャンネル"erode"とclamp()関数を使って、全体の土地を制御しています。

PythonExpressionSopDeformer Example for Point geometry node

このサンプルでは、SOPノード内に単純なPythonエクスプレッションを使って、グリッドを変形する方法を説明しています。 エクスプレッションでは、PythonのMathライブラリをインポートして、noiseを使ってグリッドのポイントを変形しています。

TwistyCube Example for Point Cloud Iso geometry node

このサンプルでは、Point Cloud Iso Surface SOPを使って点群からポリゴンを構築する方法を説明しています。

AlphaOmega Example for Points from Volume geometry node

このサンプルでは、Points From Volume SOPでFLIPシミュレーション用のターゲットゴールを作成して、指定したジオメトリを満たすようにします。

PolybevelBox Example for PolyBevel geometry node

このサンプルでは、Poly Bevel SOPを使ってジオメトリを面取りする方法を説明しています。

BridgeCurvesandPrims Example for Poly Bridge geometry node

これには、Bridge SOPの使用方法を説明したサンプルが2つ入っています。

最初のサンプルでは、カーブをNURBSに投影して、そのカーブでトリムしたNURBSにBridge SOPを使用する方法を説明しています。2番目のサンプルでは、2つに離れたプリミティブにBridge SOPを使用する方法を説明しています。

再生ボタンを押してBridge_ Two_Carvesオブジェクトのアニメーションを確認してください。

PolycapTube

このサンプルでは、Poly Cap SOPを使って、ジオメトリ内の穴を塞ぐ方法を説明しています。

PolyCutBasic Example for PolyCut geometry node

このサンプルでは、PolyCut SOPを使って、アトリビュートに応じてカーブを分解する方法を説明しています。

PolyextrudeTube Example for Poly Extrude geometry node

このサンプルでは、Poly Extrude SOPを使ってジオメトリを押し出す方法と、さらに、Poly ExtrudeコントロールのGlobalとLocalの違いを説明しています。

PolyKnitBasic

このサンプルでは、PolyKnit SOPによるポリゴンの結合の色々なオプションを説明しています。 PolyKnit SOPは穴や隙間を塞いだり、ポリゴンのエッジを再定義するのに役に立ちます。

PolyKnitを使って手動で既存のポリゴン間にポリゴンを縫い合わせることができます。 新しいポリゴンを"縫い合わせる"ための入力ポイントのリストを指定してポリゴンを作成します。

PolyKnitはポイントの選択順やリストのパターンによって結果が異なります。 PolyKnit SOPによる新しいポリゴンの作成方法に関する詳細はヘルプを参照してください。

PolyPatchDNA Example for PolyPatch geometry node

このサンプルでは、Poly Patch SOPを使ってプロシージャルに複雑なモデルを作成する方法を説明しています。

ここではDNAモデルを作成しています。

PolyreduceBatwing Example for PolyReduce geometry node

このサンプルでは、Polyreduce SOPを使って、ジオメトリのポリゴン数を減らす方法を説明しています。

PolysoupTorus Example for PolySoup geometry node

このサンプルでは、Polysoup SOPを使って、高解像度ポリゴンをメモリ使用量が少ない単一プリミティブに変換する方法を説明しています。

PolySplitHood Example for PolySplit geometry node

このサンプルでは、PolySplit SOPでポリゴンを分割して車のフードのジオメトリを改良する方法を説明しています。

PolyStitchBasicSmooth Example for PolyStitch geometry node

このサンプルでは、Poly Stitch SOPでUVが一致しないポリゴン間の継ぎ目を縫い合わせたり、改良する方法を説明しています。 このノードは継ぎ目を滑らかにしたり、裂け目を除去するのに役に立ちます。

PolywireModel Example for PolyWire geometry node

このサンプルでは、Poly Wire SOPを使ってポリゴンの枠にポリゴンを作成する方法と、パラメータをローカル変数でカスタマイズできることを説明しています。

PrimCenter Example for Primitive geometry node

このサンプルでは、Primitive SOPを使って正しくプリミティブをカーブに沿わせる方法を説明しています。

Sweep SOPはデフォルトでは、プリミティブの原点をカーブ上に配置します。 プリミティブの重心が原点から離れていると、プリミティブもカーブから離れて配置されます。

正しくプリミティブの重心をカーブに配置するには、その重心を原点にしなければなりません。 それをするために、Primitive SOPを使用しています。

PrimRotate Example for Primitive geometry node

このサンプルでは、Primitive SOPでグリッド上の個々のプリミティブを回転する方法を説明してます。

Group SOPを使ってグリッド上の境界ボックスをアニメーションしているため、Primitive SOPでランダムな回転が有効になっています。

PrimitiveColors Example for Primitive geometry node

このサンプルでは、Primitive SOPでカラーアトリビュートをプリミティブに追加する方法を説明しています。

rand()関数をRGBフィールドに使用することで、各プリミティブに別々のランダムなカラーを生成しています。

prim()関数はSOPのアトリビュート値を参照するために使用し、他のSOPのアトリビュート値を駆動しています。

PrimitiveExplode Example for Primitive geometry node

このサンプルでは、Primitive SOPでオブジェクトの個々のプリミティブを制御できることを説明しています。

Translateパラメータにエクスプレッションを使用して、プリミティブが重心から離れる アニメーションを作成しています。 さらに、他のエクスプレッションによってプリミティブをランダムに回転したり、各プリミティブにランダムなカラーを設定しています。

それらのパラメータによって元の球を破壊する爆発を表現しています。

PrimitiveMetaWeight Example for Primitive geometry node

このサンプルでは、Primitive SOPで他のジオメトリのアトリビュートを駆動する方法を説明しています。 このケースでは、Metaball SOPのWeightパラメータに影響を与えています。

さらに、パラメータをアニメーションしています。再生ボタンを押してアニメーションを再生してください。

FlagProfiles Example for Profile geometry node

このサンプルでは、Project SOPでサーフェス上のプロファイルを作成する方法する方法を説明しています。

Profile SOPでサーフェスからプロファイルを抽出したり、プロファイルをサーフェスに再マップしています。 プロファイルをサーフェスに合わせてアニメーションさせたり、サーフェス内をアニメーションさせています。

ProjectCurve Example for Project geometry node

このサンプルでは、Project SOPでTubeジオメトリにCircleを投影しています。

Circleプロファイルをベクトル方向でTubeに投影しています。 Trim SOPでそのプロファイルを使用してTubeに穴を空けています。

BasicRail Example for Rails geometry node

このサンプルでは、Rail SOPで単純なカーブを指定して、そのカーブに基づいてサーフェスを作成しています。

単にSOPのパラメータを変えるだけで、色々なサーフェスを作成することができます。 最終的にはカーブが消えてサーフェスが残ります。

RayWrap Example for Ray geometry node

Ray SOPは、あるサーフェスを他のサーフェス上に投影します。

これは、投影元のサーフェスの法線と投影先のサーフェスとの衝突を計算しています。

このサンプルでは、Ray SOPでGridサーフェスをSphereサーフェス上に投影しています。 Facet SOPは、投影したGridの法線を修正しています。

RBDConstraints Example for RBD Constraints From Lines geometry node

このサンプルでは、RBD Constraints from Lines、RBD Constraints from Curves、RBD Constraints from RulesのSOPの使い方を説明しています。

BasicRefine Example for Refine geometry node

このサンプルでは、Refine SOPを使って、たくさんのタイプのサーフェスからディテールを追加・削除する方法をいくつか説明しています。

Squidremesh Example for Remesh geometry node

このサンプルでは、Remesh SOPを使って、巨大イカ蟹のモデルを、ハードエッジを保持しながら再メッシュする方法を説明しています。

ResampleLines Example for Resample geometry node

このサンプルでは、3つのタイプのカーブ(Polygon, NURBS, Bezier)に対してResample SOPを使う方法を説明しています。

Resample SOPは、カーブをポリゴンラインのセグメントに変換することでカーブを再構築します。

カーブは"Along Arc"や"Along Chord"で再構築されます。 "Along Arc"は再構築の基準としてHull情報を使用し、Maximum Segment LengthやMaximum Segmentの数で定義することができます。 "Along Chord"はMaximum Segment Lengthだけで定義することができます。

Maximum Segmentの数に基づいてカーブを再サンプリングすると、カーブの始点から終点までの長さを測定して、カーブを等間隔のセグメントのラインに分割されますが、長さは指定できません。 ラインのディテールはセグメントの数に比例しています。

Maximum Segment Lengthに基づいてカーブを再サンプリングすると、全体のカーブが最後のセグメント以外は同じ長さのセグメントのラインに分割されます。 Maintain Last Vertexオプションをオンにすると、最後のセグメントの長さは終点までの距離を保持するのでMaximum Segment Lengthの値以下になります。 オプションをオフにすると、最後のセグメントの長さは終点までの距離が無視され、他のセグメントと同じ長さになります。

ディスプレイツールバーのPointsを有効にして、Resample SOPがどのようにラインセグメントを再リサンプリングしているのか確認してください。

BasicRest Example for Rest Position geometry node

Rest Position SOPは、変形するサーフェスにシェーダを密着させるために、サーフェス法線に基づいたアトリビュートを作成します。

すべてのプリミティブがrestアトリビュートをサポートしていますが、二次曲線/曲面のプリミティブ(円、チューブ、球、メタボール)に関しては、Rest Position(静止位置)の移動のみサポートしています。 つまり、Rest Normal(静止法線)は、それらのプリミティブタイプでは正しく動作しません。

ジオメトリを変形したり、ボリュームまたはソリッドのマテリアル/パターンをシェーダに割り当てる時のみ、Rest Position SOPを使用してください。

Mantraでポリゴンやメッシュに対してFeathering(境界ぼかし)を使う場合は、Rest Normal(静止法線)が必要になります。 NURBS/Bezierは、Rest Position(静止位置)を使って正しいRest Normal(静止法線)を計算します。

その効果を確認するために、レンダリングをセットアップする必要があります。

Rest適用なし Rest適用あり

BasicRevolve Example for Revolve geometry node

このサンプルでは、Revolve SOPに指定した軸でカーブやサーフェスを回転させてジオメトリを作成する方法を説明しています。 トーラスや花瓶のような単純なオブジェクトはRevolve SOPとユーザー定義の入力で生成します。

ここでは、ジオメトリタイプ毎のRevolve SOPのパラメータの違いを確認してください。

SkinBasic Example for Skin geometry node

このサンプルでは、1つの入力の円を複数コピーして配置した円や、2つのジオメトリタイプが違う円の間を通過するサーフェスをSkin SOPで作成する方法を説明しています。

SkinCurves Example for Skin geometry node

このサンプルでは、Skin SOPを使って、1本のカーブにサーフェスを作成する方法、6本のカーブに対して2本のカーブ毎にサーフェスを作成する方法、三角状に配置された3本のカーブに対してサーフェスを作成する方法を説明しています。

SkinShip Example for Skin geometry node

このサンプルでは、宇宙船の作成でSkin SOPを使用する方法を説明しています。

最初にCurve SOPでカーブを作成します。 次に、Skin SOPで個々のカーブを指定してサーフェスを作成します。

SkinSurfaceCopies Example for Skin geometry node

このサンプルでは、Skin SOPを使って新しくサーフェスを作成する方法を説明しています。

ここでは、トーラスからサーフェスを抽出し、それを複数コピーして、それらのサーフェスを通過するスキンを作成しています。

Hills Example for Smooth geometry node

このサンプルでは、Smooth SOPでポイント間の距離がより均一になるように改良する方法を説明しています。

サーフェスを定義しているポイントの小さい変化に対しては平らにする一方で、大きな変化に対してはその値の傾向に偏ります。

SolidFractureWeld Example for Solid Fracture geometry node

このサンプルでは、Vellum Solverによる接合や切断をするために、SolidFractureを使って四面体を分割する方法について説明しています。

CircleSolvers Example for Solver geometry node

このサンプルは、ソルバノードを使用して、 常微分方程式により、オブジェクトをトランスフォームすることができるいろいろな方法を説明しています。

このサンプルには、6個の異なるソルバがあります。 また、評価基準として正確な解もあります。 ソルバは、以下の 初期条件を持つ結合常微分方程式を解く数値法です:

x' = y ; x(0) = 1
y' = -x ; y(0) = 0

常微分方程式の数値法は: Forward Euler, Runge-Kutta Second Order, Runge-Kutta Third Order, Runge-Kutta Fourth Order, および2つの方法で解かれるParker-Sochackiです。 あるバージョンでは、Parker-Sochackiは、5の位数でハードコード化されます。 別のバージョンでは、Parker-Sochackiは、ユーザーが階数を調整することができるfor loopで書き込まれます。

Footsteps Example for Solver geometry node

このサンプルでは、グリッドにSDFを使って簡単な足跡を作成する方法を説明しています。

SimpleCloth Example for Solver geometry node

このサンプルでは、Verletインテグレーションと単純な明示的なバネを使って簡単な布をシミュレーションする方法を説明しています。

SimplePop Example for Solver geometry node

このサンプルでは、簡単にパーティクルシステムの使い方を説明しています。 ここでは、ソースジオメトリからパーティクルを発生させ、重力でパーティクルを落下させています。

SphereTypes Example for Sphere geometry node

このサンプルでは、Sphere SOPが作成可能なジオメトリタイプすべてとそれらの違いを説明しています。

正しいジオメトリタイプを選択すれば、ネットワークフローとレンダリングを高速にすることができます。

BoundLattice

このネットワークでは物理シミュレーションでよく利用される3つのSOP(Bound, Spring, Lattice)を使用しています。

ソースジオメトリとして単純なポリゴンの球を作成しています。変形する参照として動作するBound SOPに球を接続しています。 また、Bound SOPは変形するオブジェクトを補強します。

境界ボックスを衝突オブジェクトのグリッドのグループと一緒にSpring SOPに接続しています。 Spring SOPは、他のオブジェクトと衝突した際のソースジオメトリの変形と挙動を適切に計算して物理運動をシミュレーションします。 Spring SOPは、オブジェクトの変形に影響を与える色々なアトリビュート(質量、摩擦などの特性)と一緒に外部の力を追加できる場所です。

最後にLattice SOPがSpring SOPから変形情報を受取、それをソースジオメトリの球に追加しています。

SpringExamples

このサンプルでは、Spring SOPの3つの主な機能を説明しています。

Spring SOPで2つのオブジェクト間に相互作用が働くようにして、動きを定義し、力を加えることで入力のジオメトリを変形すれば、布のような効果を作成することができます。

アニメーションを再生してSpring SOPの動作を確認してください。

SpringFlag

このサンプルでは、Spring SOPで旗をシミュレーションする方法を説明しています。

ここでは、Spring SOPがGrid SOPのポイントに対して物理法則をシミュレーションした力を追加して、旗のエフェクトを作成しています。

SpringHair

このサンプルでは、Spring SOPで動的な髪の毛を作成する方法を説明しています。

ラインを球のポイント上にコピーして、それらをソースとしてSpring SOPに接続しています。 そして、Metaball SOPとForce SOPを髪の毛のモーションエフェクトとして接続しています。

SpringLine

このサンプルでは、Spring SOPで直線をラバーバンドのような特性を追加しています。 Xform SOPと組み合わることで、ラバーバンドが床の上を跳ねます。

StitchGrid Example for Stitch geometry node

このサンプルでは、Stitch SOPでジオメトリのエッジまたはサーフェスの結合の方法を説明しています。

グリッドを作成し、階段方式で複製したものをStitch SOPを使って接続しています。

SubdivideCrease Example for Subdivide geometry node

このサンプルでは、ボックスの底面を細分化すると同時に上面の折り目を保持する方法を2つ説明しています。

SurfsectBasic Example for Surfsect geometry node

このサンプルでは、Sursect SOPのブーリアン演算の使い方を説明しています。

球からボックスを減算して、6つの円盤を残し、ボックスから球を減算して、角だけを残しています。

SweepBasic Example for Sweep geometry node

このサンプルでは、Sweep SOPでジオメトリをカーブ上のポイントにコピーする方法を説明しています。

Sweep SOPは、コピーするジオメトリをコピー先のカーブ上のポイントに自動的に垂直に配置することができる独特な使い方ができます。 コピーしたジオメトリのスケールにバリエーションを加えるためにエクスプレッションを使っています。

SweepCurve Example for Sweep geometry node

このネットワークには、Sweep SOPのサンプルがあります。NURBSのカーブとNURBSの円をそれぞれSweep SOPのBackboneの入力に使用しています。

Sweep SOPのCross Sectionのスケールを制御することで色々な効果を表現することができます。 最後に、Sweep SOPで作成したジオメトリにSkin SOPを使ってサーフェスを張っています。

SweepDome Example for Sweep geometry node

このサンプルでは、Sweep SOPのBackbone(ジオメトリのコピー先)にグリッドを指定し、Cross Section(コピーするジオメトリ)にハルとして円弧(Circle SOP)を指定しています。

その結果のSweepオブジェクトに対してSkin SOPでサーフェスを張っています。

WigglyWorm Example for Sweep geometry node

このサンプルでは、Sweep SOPで簡単に変形可能なジオメトリを構築する方法を説明しています。 Sweep SOPにはBackbone(コピー先のジオメトリ)とCross Section(コピーするジオメトリ)が必要です。

sin()関数を使って、蛇のように動くBackboneのアニメーションを作っています。 Backboneの各ポイントに円をコピーして虫の骨組みを作成しています。 最後にSkin SOPで虫の体を作成して完成です。

PlateBreak Example for TimeShift geometry node

このサンプルでは、TimeShift SOPを使って破壊シミュレーションでスローモーションのエフェクトを表現する方法を説明しています。

TorusExamples Example for Torus geometry node

このサンプルでは、色々なジオメトリタイプのトーラスの作り方を説明しています。

Chainmail Example for Triangulate 2D geometry node

このサンプルでは、鎖かたびらの環を作成する新しいTriangulate2D SOPの高度な使い方を説明しています。

BasicTwist

このサンプルでは、Twist SOPの柔軟性を説明しています。 Twist SOPでは、twist, bend, shear, taper, linear taper, squashなどのたくさんの処理ができます。

ここでは、Twist SOPのPolygon, Mesh, NURBs, NURBs Perfect, Bezier, Bezier Perfectの別々のジオメトリタイプへの影響の違いを説明しています。

UnpackWithStyle Example for Unpack geometry node

このサンプルでは、アンパックと同時にスタイルシート情報を評価することができるUnpack SOPの機能について説明しています。 Nested Packed Primitiveでは、スタイル情報を維持しつつも部分的にアンパックできることを説明しています。 このサンプルでは、Python SOPを使って、プリミティブ単位でスタイルシートから情報を抽出する方法も説明しています。

ProjectionTypes Example for UV Project geometry node

このサンプルでは、UV Project SOPでサポートされている色々な投影タイプを説明しています。

SoftRotate Example for UV Transform geometry node

このサンプルでは、UV Transform SOPでSoft Radiusを有効にして、テクスチャ座標の回転をアニメーションする方法を説明しています。

再生ボタンを押してアニメーションを再生してください。

CorrectOverlapDrape Example for Vellum Drape geometry node

このサンプルでは、Vellum Drape SOPを使って、最初から重なった布から有効な開始位置を見つける方法について説明しています。

BasicRestBlend Example for Vellum Rest Blend geometry node

このサンプルでは、Vellum Rest Blendを使って、ジオメトリからVellum拘束の静止状態を更新する色々な方法について説明しています。

AnimatedConstraints Example for Vellum Solver geometry node

このサンプルでは、シミュレーション中にVellum拘束のプロパティをアニメーションさせる方法について説明しています。

ArmLayer Example for Vellum Solver geometry node

このサンプルでは、layerPointアトリビュートを使って、何重ものVellum Clothをシミュレーションした時の衝突を改善する方法について説明しています。

ArmTarget Example for Vellum Solver geometry node

このサンプルでは、Pin to Target拘束を使って、Vellum Clothをキャプチャ/変形ジオメトリに引き寄せる方法について説明しています。

CollisionDisable Example for Vellum Solver geometry node

このサンプルでは、disableexternalPointアトリビュートを使って、ポイント単位でVellumコリジョンを無効にする方法について説明しています。

DynamicAttach Example for Vellum Solver geometry node

このサンプルでは、衝突オブジェクトまでの近接度に基づいてVellumシミュレーション中にAttach to Geometry拘束を作成する方法について説明しています。

DynamicStitchGlue Example for Vellum Solver geometry node

このサンプルでは、シミュレーション中にVellumジオメトリを動的に縫合または接着させる方法について説明しています。

GluedGrains Example for Vellum Solver geometry node

このサンプルでは、Vellum Grainsをお互いに接着させて、粘着的なパーティクルの効果を表現する方法について説明しています。

HairOrient Example for Vellum Solver geometry node

このサンプルでは、Vellum Solverの入力のヘアーガイドの向きを標準のGroomingツールを使わずに更新するもっと効率的で安定した方法を説明しています。

ResolutionTarget Example for Vellum Solver geometry node

このサンプルでは、詳細な皺のままモーション全体を維持できるように、高解像度のVellum Clothシミュレーションを前の低解像度シミュレーションに合わせる方法について説明しています。

SimpleWeld Example for Vellum Solver geometry node

このサンプルでは、Vellum Solverで布が引き裂かれるようにするための単純な接合部の切断方法について説明しています。

StiffnessDropoff Example for Vellum Solver geometry node

このサンプルでは、Stiffness Dropoffパラメータを使って、そっと引き離すPin拘束を作成する方法について説明しています。

TetrahedralFiber Example for Vellum Solver geometry node

このサンプルでは、Tetrahedral Fiber拘束を使って、収縮するソフトボディをシミュレーションする方法について説明しています。

VaryingFriction Example for Vellum Solver geometry node

このサンプルでは、Pointアトリビュートを使って、ポイント単位でVellum Clothシミュレーションの摩擦を変更する方法について説明しています。

VertexTexture Example for Vertex Split geometry node

このサンプルでは、Vertex Split SOPを使って頂点テクスチャ座標をポイントポジションにコピーするのに十分なポイントを追加する方法を説明しています。

VisibilityCheckers Example for Visibility geometry node

このサンプルでは、Visibility SOPで2D/3Dビューポートで選択したプリミティブを表示・非表示する方法を説明しています。

volumemerge Example for Volume Merge geometry node

このサンプルでは、Volume Merge SOPで複数のインスタンス化したボリュームを1台のカメラの視界領域のボリュームに平坦化する方法を説明しています。

barycenter Example for Volume Reduce geometry node

このサンプルでは、Volume Reduce SOPで3Dオブジェクトの重心を計算する方法を説明しています。

ImportVolumes Example for Volume VOP geometry node

このサンプルでは、複数のボリュームをVolume VOP SOPに取り込む方法を説明しています。

VoronoiSplitWeights Example for Voronoi Split geometry node

このサンプルでは、Voronoi Split SOPのWeight Attributeオプションを使って、パワーダイアグラム(ラゲールボロノイ図)を作成する方法について説明しています。

Wireblend Example for Wire Blend geometry node

このサンプルでは、Wire Blend SOPで入力のカーブをブレンドする方法を説明しています。 ここでは、モーフィングのターゲットとなる3つカーブをWire Blend SOPに接続し、Differencingオプションにチェックを付けています。 入力のモーフィングのブレンド値をキーフレームして、特定のエフェクトを表現しています。 アニメーションを再生して、結果を確認してみてください。

ModulusTransform Example for Transform geometry node

このサンプルでは、Transform SOP、Group SOP、剰余演算(%)を使って、周期的なアニメーションを作成する方法を説明しています。

TransformFracturedPieces Example for Transform Pieces geometry node

このサンプルでは、Transform Pieces SOPを使って、低解像度ジオメトリによるDOPリジッドボディ破壊シミュレーションの結果から、 高解像度ジオメトリをトランスフォームする方法を説明しています。

example_top_ffmpegencodevideo Example for FFmpeg Encode Video TOP node

このサンプルでは、FFmpeg Encode Videoノードを使って、画像シーケンスを動画ファイルに変換する方法について説明しています。

example_top_ffmpegextractimages Example for FFmpeg Extract Images TOP node

このサンプルでは、FFmpeg Extract Imagesノードを使って、動画ファイルから画像を抽出する方法について説明しています。

example_top_geometryimport Example for Geometry Import TOP node

このサンプルでは、Geometry Importノードを使ってDetail、Primitive、Point、Vertex毎にワークアイテムを作成して、それらをSOPネットワークで作用させる方法について説明しています。

example_top_invoke Example for Invoke TOP node

このサンプルでは、PDGデータを入力としてコンパイルブロックを実行する方法について説明しています。

example_top_partitionbytile Example for Partition by Tile TOP node

このサンプルでは、PDG/TOPのPartition by Tileノードの使い方について説明しています。

example_top_renderifd Example for Render IFD TOP node

このサンプルでは、Render Ifdノードを使ってIFDファイルを書き出す方法について説明しています。

example_top_ropcomposite Example for ROP Composite Output TOP node

このサンプルでは、PDGデータを入力としたROP Compositeノードを使って、COPネットワークを実行する方法について説明しています。

example_top_ropfetch Example for ROP Fetch TOP node

このサンプルでは、PDG/TOPのROP Fetchノードの使い方について説明しています。

GroupPainted Example for Add Point to Group VOP node

このサンプルでは、アトリビュートをペイントする方法と、Add Point To Group VOPとCreate Point Group VOPを使って、 そのアトリビュートからポイントグループを構築する方法を説明しています。

VOPpointgroup Example for Add Point to Group VOP node

1つおきにポイントを新しいグループに追加するVOP SOPのサンプルを説明しています。

ポイントグループのみがVOPでサポートされています。

ここで使用しているVOPは、Add Point To Group VOP、Create Point Group VOP、Point In Group VOPです。

WornMetal Example for Curvature VOP node

このサンプルでは、Curvature VOPをシェーダネットワークに追加して、マテリアルに剥げやアンティーク調の見た目を追加する方法を説明しています。

Fuzzy Logic Obstacle Avoidance Example Example for Fuzzy Defuzz VOP node

このサンプルでは、Fuzzy Logicコントローラを使用して実装されたエージェントの障害物回避とパスへの追従を説明しています。

Fuzzy Logic State Transition Example Example for Fuzzy Defuzz VOP node

このサンプルでは、Fuzzyネットワークセットアップに対してState Transitionがトリガーされる箇所への群衆セットアップを説明しています。

CrinkleSphere Example for Inline Code VOP node

このサンプルでは、Inline Codeノードを使って、VEXコードを直接シェーダやオペレータ定義に記述する方法を説明しています。

SimpleMetaImport Example for Meta-Loop Import VOP node

このサンプルでは、Meta-Loop Start、Meta-Loop Next、Meta-Loop Import VOPの使い方を説明しています。

入力ジオメトリ内のすべてのメタボールの密度の合計を計算し、それをComposite Network内で画像として作成しています。

RampParameter Example for Parameter VOP node

このサンプルでは、Ramp Parameter VOPノードを使って、PyroシミュレーションのTemperature(温度)アトリビュートでパーティクルの色を制御する方法を説明しています。

PointCloudIterateAverage Example for Point Cloud Iterate VOP node

このサンプルでは、pciterate VOPを使ってpcopenで返されたポイントを平均化する方法を説明しています。 最初に、ZX平面上の円の内側を1に初期化した浮動小数点"check"チャンネルでポイントクラウドを生成します。 そして、pciterate VOPを使ってループでシェーダ内にポイントをフィルタリングして、"check"チャンネルの値を平均化します。 このサンプルで使われているポイントクラウドは、points.pcとしてアセット内に保存しています。

PointCloudWrite Example for Point Cloud Write VOP node

このサンプルでは、pcwrite VOPを使って、ポイントクラウドファイルにポイントを書き出す方法を説明しています。 mantra1 ROPをレンダリングして、ポイントクラウドを生成し、gplayコマンドでポイントクラウドを閲覧してください。 ポイントの分布は、Mantraシェーダを実行した場所に依存します。 この場合では、Mantra ROPは、非表示にしたサーフェスをシェーディングして、球のバックフェースからポイントを生成できるように設定しています。

RaytraceVopShader Example for Ray Trace VOP node

このサンプルでは、VOP VEXネットワークを使って、単純なレイトレースシェーダについて説明しています。 シェーダプロパティを修正するには、マテリアル内にPropertiesシェーダを作成して、Outputシェーダノードに接続します。 そして、レンダリングパラメータをPropertiesノードに追加します。 例えば、反射の数を制御するには、reflect limitパラメータを追加します。

SensorDeform Example for Sensor Panorama Create VOP node

このサンプルでは、Sensor Creationに関する説明とConeコマンドを使って深度情報を抽出する方法を説明しています。 これは、中心の球を観測した球で変形させることができます。

オブジェクトノード

  • Agent Cam

    カメラを作成してそれを群衆エージェントに取り付けます。

  • Alembic Archive

    Alembicシーンアーカイブ(.abc)からオブジェクトをオブジェクトレベルにロードします。

  • Alembic Xform

    Alembicシーンアーカイブ(.abc)のオブジェクトからトランスフォームのみをロードします。

  • Ambient Light

    無指向性の一定レベルのライトをシーン内(またはライトのマスク内)のすべてのサーフェスに追加します。

  • Auto Bone Chain Interface

    Auto Bone Chain Interfaceは、RiggingシェルフのIK from ObjectsツールとIK from Bonesツールで作成されます。

  • Blend

    複数入力オブジェクトのトランスフォーメーションを切替またはブレンドします。

  • Blend Sticky

    2つ以上のStickyオブジェクトのトランスフォーム間をブレンドしてトランスフォームを計算することで、ポリゴンサーフェス上の位置をブレンドすることができます。

  • Bone

    ボーンオブジェクトは手/足/腕のようなオブジェクトの階層を作成します。

  • COP2 Plane

    絵を定義するコンポジットノード(COP2)用コンテナ。

  • Camera

    カメラからシーンを見て、その視点でレンダリングできます。

  • DOP Network

    ダイナミックシミュレーションを格納します。

  • Environment Light

    環境光はシーンの外部から背景照明を用意します。

  • Extract Transform

    2つのジオメトリの点の差分から変位量を取得します。

  • Fetch

    他のオブジェクトのトランスフォームをコピーして変位量を取得します。

  • Formation Crowd Example

    変化する編成のセットアップを説明した群衆サンプル

  • Franken Muscle

    いくつものジオメトリオブジェクト、Muscle Rig、Muscle Pinを組み合わすことで、独自のMuscleを作成します。

  • Fuzzy Logic Obstacle Avoidance Example

    このサンプルは、ファジィ論理コントローラにより実装されたエージェントの障害回避とパスの追従を示しています。

  • Fuzzy Logic State Transition Example

    このサンプルは、ファジィネットワークセットアップでステートのトランジション(遷移)がトリガーされる群衆のセットアップを示しています。

  • Geometry

    モデルを定義するジオメトリオペレータ(SOP)を格納します。

  • Groom Merge

    複数オブジェクトのグルームデータを1つのデータに結合します。

  • Guide Deform

    アニメーションスキンを使ってグルーミングカーブを動かします。

  • Guide Groom

    スキンジオメトリからガイドカーブを生成し、このノードに含まれている編集可能なSOPネットワークを使って、それらのカーブに対して細かい処理をします。

  • Guide Simulate

    入力ガイドに対して物理シミュレーションを実行します。

  • Hair Card Generate

    密集したヘアーカーブを、そのグルームのスタイルと形状を維持しつつポリゴンカードに変換します。

  • Hair Card Texture Example

    ヘアーカード用テクスチャの作成方法を示したサンプル。

  • Hair Generate

    スキンジオメトリとガイドカーブからヘアーを生成します。

  • Handle

    ボーンを制御するIKツールです。

  • Indirect Light

    間接光はシーン内の他のオブジェクトから反射した照明を生成します。

  • Instance

    インスタンスオブジェクトは他のジオメトリ、ライト、サブネットワークでさえもインスタンス化します。

  • Light

    シーン内の他のオブジェクトに光を当てます。

  • Light template

    組み込みレンダリングプロパティがない非常に限られたライトです。これは、ユーザー自身で必要なプロパティを選択して独自のライトを作成するときのみ使います。

  • Microphone

    Spatial Audio CHOP用にリスニングポイントを指定します。

  • Mocap Acclaim

    Acclaimモーションキャプチャーをインポートします。

  • Mocap Biped 1

    モーションキャプチャーアニメーションが設定された男性キャラクタ。

  • Mocap Biped 2

    モーションキャプチャーアニメーションが設定された男性キャラクタ。

  • Mocap Biped 3

    モーションキャプチャーアニメーションが設定された男性キャラクタ。

  • Muscle

    Muscleオブジェクトは、筋肉質のキャラクタやクリーチャのリグを組む時に使用できる多目的ツールです。

  • Muscle Pin

    Franken Muscleの領域をキャラクタリグに取り付けるための単純リグコンポーネントを作成します。

  • Muscle Rig

    スキンオブジェクト上にカーブをストロークすることで、筋肉の内部コンポーネント(リグ)を作成します。

  • Null

    シーンの位置決め、通常は親子関係を設定するのに使います。このオブジェクトはレンダリングされません。

  • Path

    方向付き曲線(パス)を作成します。

  • PathCV

    Pathオブジェクトを使って制御頂点を作成します。

  • Pxr AOV Light

    RenderMan RIS用のPxr AOV Lightオブジェクト。

  • Pxr Barn Light Filter

    RenderMan RIS用のPxr Barn Light Filterオブジェクト。

  • Pxr Blocker Light Filter

    RenderMan RIS用のPxr Blocker Light Filterオブジェクト。

  • Pxr Cookie Light Filter

    RenderMan RIS用のPxr Cookie Light Filterオブジェクト。

  • Pxr Day Light

    RenderMan RIS用のPxr Day Lightオブジェクト。

  • Pxr Disk Light

    RenderMan RIS用のPxr Disk Lightオブジェクト。

  • Pxr Distant Light

    RenderMan RIS用のPxr Distant Lightオブジェクト。

  • Pxr Dome Light

    RenderMan RIS用のPxr Dome Lightオブジェクト。

  • Pxr Gobo Light Filter

    RenderMan RIS用のPxr Gobo Light Filterオブジェクト。

  • Pxr Int Mult Light Filter

    RenderMan RIS用のPxr Int Mult Light Filterオブジェクト。

  • Pxr Mesh Light

    RenderMan RIS用のPxr Mesh Lightオブジェクト

  • Pxr Portal Light

    RenderMan RIS用のPxr Portal Lightオブジェクト。

  • Pxr Ramp Light Filter

    RenderMan RIS用のPxr Ramp Light Filterオブジェクト。

  • Pxr Rectangle Light

    RenderMan RIS用のPxr Rectangle Lightオブジェクト。

  • Pxr Rod Light Filter

    RenderMan RIS用のPxr Rod Light Filterオブジェクト。

  • Pxr Sphere Light

    RenderMan RIS用のPxr Sphere Lightオブジェクト。

  • Python Script

    Python Scriptオブジェクトは、モデリングしたオブジェクトを定義するジオメトリオペレータ(SOP)用のコンテナです。

  • Ragdoll Run Example

    単純なラグドールのセットアップを示した群衆サンプル。

  • Rivet

    オブジェクトサーフェスに鋲を作成します。通常は親子関係を設定するのに使用します。

  • Simple Biped

    フルコントロール付きのシンプルで効率的なアニメーションリグ。

  • Simple Female

    フルコントロールを備えたシンプルで能率的な女性キャラクタアニメーションのリグ。

  • Simple Male

    フルコントロールを備えたシンプルで能率的な男性キャラクタアニメーションのリグ

  • Sound

    Spatial Audio CHOPで使う音声放出ポイントを定義します。

  • Stadium Crowds Example

    スタジアムのセットアップ方法を示した群衆サンプル。

  • Stereo Camera Rig

    シーン内のゼロ視差設定平面と軸違いレンズ間の距離を制御するパラメータを用意しています。

  • Stereo Camera Template

    デジタルアセットとしてより機能的なステレオカメラリグが構築できる機能を提供しています。

  • Sticky

    サーフェスのUVに基づいて粘着オブジェクトを作成します。通常は親子関係を設定するのに使用します。

  • Street Crowd Example

    2つのエージェントグループを使ったストリートのセットアップを示した群衆サンプル。

  • Subnet

    オブジェクト用のコンテナです。

  • Switcher

    他のカメラからのビューに切り替えます。

  • Tissue Solver

    筋肉、解剖学的ボーンモデル、スキンオブジェクトを集めて、それらを単一ダイナミクスシミュレーションに配置します。

  • Toon Character

    アニメーションが用意されたトゥーンキャラクタ。

  • Top Network

    TOP Network Objectには、タスクを実行するノードが含まれています。

  • VR Camera

    VR画像のレンダリングに対応したカメラ。

  • Viewport Isolator

    ビューポート毎に独立した制御が選択できるPython Script HDA。

  • glTF