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

DOP Network object node

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

On this page

DOP Network ObjectはDOPシミュレーションを格納します。 シミュレーションは、あらゆる数のシミュレーションオブジェクト(/obj内で表示されているObjectsのことではありません)で構成することができます。 これらのシミュレーションオブジェクトは、このノードに格納されているDOPノードによって構築・制御されます。

キャッシュ化オプションやタイムステップコントロールなど、シミュレーション全体における制御が、このノードに用意されています。 また、このノードのTransformパラメータを使ってシミュレーション全体をトランスフォームすることができます。 このレベルでシミュレーションをトランスフォームしても、全くシミュレーションには影響は与えません。 Transformは、シミュレーションが発生した後に適用されます。

Tip

キャッシュ化した流体の再生を改善するには、 Simulation タブにある Cache Memory を増やしてください。

パラメータ

Playback Simulation

DOP Networkをシミュレーションファイルのプレイヤーにします。 playbackモードを有効にすると、DOP Networkの結果が選択したシミュレーションファイルになります。 ネットワークの内部ノードは無視されます。 このオプションを使用して再生するシミュレーションファイルを作成する方法は、DOP Network内にOutputノードを作成することです。

Simulation

Reset Simulation

シミュレーションキャッシュ全体をクリアします。ビューポートでDOP Networkを見ているときは、 右手側のビューポートの上部にあるボタンがアクティブになります。そのボタンを押すと Reset Simulation ボタンを押したときと全く同じ動作が実行されます。

Display

シミュレーションをビューポート内に表示するかどうか。

Initial State

シミュレーションの初期状態として使われるファイルの名前。 このファイルは、File DOPまたはDynamics Output Driverのどちらかが作成したシミュレーション状態ファイルでなければなりません。 このパラメータが設定されると、このネットワーク内のDOPノードは最初のシミュレーションタイムステップで処理されません。

Timestep

シミュレーションのタイムステップの長さをコントロールします。 通常この値をフレームタイムの数倍にしますが、必須ではありません。 より大きいタイムステップを指定すると、シミュレーションは高速になりますが精度が低下し、安定性にも欠けます。 タイムステップが小さければ結果はより美しくなりますが、計算時間が遅くなります。

Substeps

デフォルトのタイムステップエクスプレッションは、このパラメータを使って、DOPシミュレーションが各フレームで 実行するサブステップ数を制御します。タイムステップで1/$FPSパラメータで作業するよりも簡単に調整することができます。

Offset Time

このシミュレーションのためのシミュレーション時間と再生バーに表示されるグローバル時間の間のオフセットを秒で指定します。 パラメータを1に設定すると、このシミュレーションはフレーム25までクッキングを開始しません。 グローバル時間が1秒の場合、シミュレーション時間は0になります。 doptimeなどのいくつかのエクスプレッション関数は、グローバル時間からシミュレーション時間へ、またそのシミュレーション時間からグローバル時間へ変換するためにあります。

Start Frame

デフォルトのオフセット時間エクスプレッションは、このパラメータを参照して、適切にオフセット時間を設定します。 これで、開始時間を秒ではなくフレームで設定することができ、一部のケースにおいてより直接的に行なうことができます。 開始フレームを24に設定すると、シミュレーションはフレーム24までクッキングを開始しません。

Note

これを使うと、$SFおよび$Fは、シミュレーション内部と同じものを参照しなくなります。

Scale Time

このDOP Network用にグローバル時間をシミュレーション時間に関連付けるスケール係数を指定します。 1より大きい値は、シミュレーション時間がグローバル時間よりも高速に進むことを意味します。 1未満の値は、シミュレーションがグローバル時間を基準にスローモーションで実行されるようになります。 doptimeなどのいくつかのエクスプレッション関数は、グローバル時間からシミュレーション時間へ、またそのシミュレーション時間からグローバル時間へ変換するためにあります。

Max Feedback Loops

異なるソルバを使っているシミュレーションオブジェクトが相互Affector(クロスオブジェクトやRBDオブジェクト)に設定されている時、 このパラメータは、2つのソルバの解決を試みながら反復を実行するための最大数をコントロールします。 異なるソルバが相互Affectorである状況で、この数を増やすと、満足のいくシミュレーション結果に到達する可能性が高くなりますが、シミュレーション計算時間も増加することになります。

流体シミュレーションのケースでは、流体は適用されたフィードバックフォースに適応することができないので、 高い値ではなく2の値を使ってください。値が大きいと流体が不自然に強くなり、相当な時間がかかります。

Enable Automatic Resimulation

DOPシミュレーション内のパラメータを変更した時、あるいは参照した外部ノードを変更した時、 シミュレーションのキャッシュは無効とマークされます。 このパラメータがオンの場合、次にシミュレーション時間が0に到達するように再生バーを動かすと、キャッシュがクリアされ、最初のシミュレーションタイムステップが再計算されます。 シミュレーション時間が0の時にキャッシュが無効化される場合、初期状態が即座に再計算されます。 現行時間が時間0を超えている場合、一番最近のタイムステップが再クックされ、現行時間を超えたキャッシュがクリアされます。 しかし前のタイムステップは全て無効とマークされる以外は着手されないまま残ります。 このパラメータがオフの場合、キャッシュは全く同じ方法で無効であるとマークされますが、キャッシュが自動的にクリアされることは決してありません。 このモードでシミュレーションを再クックするには、このパラメータダイアログ上、またはビューポート上部にある Recook Simulation ボタンを使わなければなりません。

Provide Data Hints

シミュレーションデータ関係がスクリプトディレクトリにあるdophints.cmdと呼ばれるファイルに保存できるように規則化します。 このオプションがオンなら、各タイムステップの終わりに、シミュレーション状態がそのファイル内のルールと比較されます。 ルールが破られた場合、それに該当するDOPノードに警告が追加されます。 これは、DOPの使い方を学習する時、またはシミュレーションの問題をデバッグする時に非常に役に立ちます。 このオプションをオフにすると、各タイムステップの終わりに、この動作確認ステップがスキップされるので、シミュレーションのパフォーマンスが改善します。

Interpolate Display Data

グローバル時間をシミュレーションのタイムステップ境界と並んでいない値に設定すると、 このパラメータは、どのようにシミュレーションを表示するべきかを制御します。 このパラメータがオフの場合、最も近いシミュレーションタイムステップの内容が表示されます。 このパラメータがオンの場合、直前および次のシミュレーションタイムステップの内容が補間されて、現行時間に実際にあったようなシミュレーションの近似値を作成します。 このオプションによって、たとえシミュレーションのタイムステップがグローバルフレーム時間と並んでいないとしても、シミュレーションをビューポートにスムーズに表示させることができます。

Cache

Cache Simulation

シミュレーションキャッシュを有効にします。このオプションを有効にしない限り、ソルバの多くは適切に動作しません。 しかし、非常に大規模なシミュレーションにおいては、このオプションを無効にすると、シミュレーション用のメモリ使用量が確実に最小になります。

Compress .sim Files

キャッシュ化用にディスクに書き出される.simファイルを圧縮するかどうかを決定します。 圧縮すると、ディスクのサイズを大幅に削減することができますが、キャッシュ化する時間もまた大幅に増加します。 キャッシュの読み込みまたは書き出しが遅いと感じたら、特に流体シミュレーションでは非圧縮の.simファイルを使ってみてください。

Allow Caching To Disk

メモリにおけるキャッシュの最大サイズに到達した場合、DOP Networkは、新しいエントリー用に古いキャッシュエントリーの削除、または古いエントリーをディスクへ保存のどちらかを行なうことができます。 もしこのオプションがオンである場合、古いキャッシュエントリーがディスクに保存され、必要であればディスクから再読み込みされます。 このモードでは、単に古いキャッシュエントリーを破棄するよりも速度は遅くなりますが、内部メモリキャッシュサイズに関係なく常にシミュレーション履歴全体を確実に使用することができます。

Cache to Disk in Non Interactive Sessions

HScriptまたはHythonといった非インタラクティブセッションにおいては、シミュレーション履歴全体を利用したくはないことも多いでしょう。 デフォルトの挙動は、Allow Caching to Diskを無視して、ディスクにキャッシュ化しないことです。 この挙動は、このトグルで上書きすることができます。 ディスクに古いシミュレーション状態を保存すると、処理が非常に重くなることがしばしばあり、その結果に関して再生バーをスクラブしてはいないので、ディスク容量の無駄です。

Cache Substep Data

一部のソルバは、より良い結果を得るために、独自の時間の内部サブサンプリングを実行します。 このオプションは、この内部サブサンプリング中に作成されたサブステップデータに関し、キャッシュの一部として保存するべきかどうか、またはシミュレーションのタイムステップが計算を 終了したら即座に破棄するべきかを制御します。このオプションをオンにしておくと、デバッグ目的やサブタイムステップデータを正確に表示させる必要がある場合に役に立ちます。 実際のサブステップデータを使用すると、補間されたデータを表示するより正確な結果が生成されます。

Cache Memory (MB)

このシミュレーション用のキャッシュがどのくらいのメモリを消費することができるかをメガバイトで指定します。 この制限を超過すると、前述の Allow Caching To Disk パラメータ値に依存しながら、古いキャッシュエントリーが削除されるか、またはスペースを空けるためにディスクに保存されます。

Timeless (No History)

各フレームがまるで最初のフレームであるかのように、シミュレーションが新しく開始されます。 これは、$SFは常に1であるという意味です。しかしながら、もしネットワークが.simファイルに基づいて$Fを持つFile DOPで構成される場合、現行フレームのみが読み込まれなければならず、 ベイクしたシミュレーションの高速なランダムアクセスが可能であることも意味します。 このモードでは、キャッシュに保存されるのは1フレームのみですのでご注意ください。

Save Checkpoints

通常、 Allow Caching to Disk が有効で、シミュレーションがメモリ制限に到達している時、シミュレーションはtempディレクトリにあるファイルに保存されます。 これらは有効な.simファイルである一方、管理が難しいです。このオプションがオンの時、各フレームは即座に指定したディレクトリにキャッシュ化されます。 各フレームはCache Memoryに到達するまでメモリ内に保存されますが、(既にディスク上にあるので)この時点ではディスクには保存されません。 チェックポイントの利点は、キャッシュフレームが既に存在する場合、たとえシミュレーションがリセットされたとしても、DOPはそのフレームをクックせず、代わりにそのフレームを読み込むことです。 さらに言えば、要求されたフレームの前で、最後の有効なチェックポイントフレームの後のフレームをクックするだけです。 そのため、もしcache_50.simを持っていてフレーム100をクックしようとする場合、フレーム50でクッキングを開始することができます。

Save Checkpointsの使用は、Automatic ModeでFile DOPを使うことと同等です。 しかし、File DOPでフレーム50に飛ぼうとするとき、最初の50フレームを読み込まなくてはなりません。 チェックポイントを使えば、このステップをスキップできます。

Checkpoint Files

チェックポイントを保存するためのファイルシーケンス。これらは.simファイルで、File DOPまたは File SOPを使って読み込むことが可能です。変数$SFはフレーム番号を指定するために使わなければいけません。 $Fはシミュレーション空間で動作しているので、使うことはできません。$SF4もサポート済みです。

Checkpoint Trail Length

チェックポイントファイルが削除される前にどれだけの量の履歴が保存されるか。 値が0では、キャッシュファイルは削除されません。 そうでなければ、この値よりも古いフレームはディスクから消去されます。

Note

削除されるのは、Houdiniのこのセッションで作成されたチェックポイントファイルのみです。 もし存在するキャッシュファイルでHoudiniを再スタートする場合、削除されません。 クラッシュした位置から再スタートしたいでしょうし、もしまたクラッシュした場合にまた同じ位置から 再スタートできることを保証したかったので、このような仕様にしました。

Checkpoint Interval

チェックポイント間のフレーム間隔。これを1に設定すると、フレーム毎にチェックポイントを保存します。 これを高い値に設定すると、指定したフレームおきにチェックポイントを保存します。 例えば、これを5に設定すると、5フレームおきにチェックポイントを保存します。

大きなシミュレーションを走らせる場合は、これによってディスク容量を節約することができます。

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の拘束を使用してください。 これらのパラメータは、今のところ非表示にしているだけなので、そのノードのパラメータインターフェースを編集することで表示させることができます。

Examples

The following examples include this node.

CountImpacts Example for Count channel node

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

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

DynamicLights Example for Dynamics channel node

このサンプルでは、Dynamics CHOPを使って、DOPシミュレーションからインパクトデータを抽出して、そのデータを修正して、シーンのライトを制御する方法を説明しています。

ExtractTransforms Example for Dynamics channel node

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

HoldLight Example for Hold channel node

このサンプルでは、Hold CHOPとDynamics CHOPを使って、新しいインパクトが発生するまで、DOPシミュレーションのインパクトの位置にライトを固定する方法を説明しています。

Lookup Example for Lookup channel node

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

AnimatedActiveState Example for Active Value dynamics node

このサンプルでは、Active Value DOPを使って、オブジェクトのActive状態をアニメーションさせる方法を説明しています。 オブジェクトがActiveでない(Passive)時、そのオブジェクトはシミュレーションされません。 オブジェクトのActiveとPassiveの両方の動きをキーフレームするには、Active Value DOPを使います。

AutoFreezeRBD Example for Active Value dynamics node

このサンプルでは、RBDオブジェクトがRest状態になる時を自動的に検知して、Active状態をオフにするシステムを説明しています。 これは、計算時間とジッターを軽減するためにRBDオブジェクトをフリーズします。

SimpleAffector Example for Affector dynamics node

このサンプルでは、Affector DOPを使って、RBDオブジェクトセット間に色々なAffectorリレーションシップをセットアップする方法を説明しています。 また、それらのAffectorリレーションシップがシミュレーションに影響を与える違いを説明しています。

LookAt Example for Anchor: Align Axis dynamics node

このサンプルでは、ティーポットが跳ね返るボールの方向に向き続けるLook At Constraintを構築する方法を説明しています。 アンカーと拘束のリレーションシップから拘束を構築しています。

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の作成方法を説明しています。

SpringToGlue Example for Constraint Network dynamics node

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

AutoFracturing Example for Copy Objects dynamics node

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

SimpleCopy Example for Copy Objects dynamics node

このサンプルでは、Copy Objects DOPを使う方法を説明しています。 単一のRBD Objectを100回コピーしてから、それらのオブジェクトにランダムな初期Velocityとグリッドジオメトリからの位置を割り当てています。 そして、それらの100個の球が地面に落下します。

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

このサンプルでは、エージェントの足をロックさせる方法について説明しています。

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用のビルトインのトリガータイプの使い方を説明しています。

TypesOfDrag Example for Drag Force dynamics node

このサンプルでは、RBDオブジェクトにDrag(抵抗)を加える方法として、 Liner Velocity(線形速度)による抵抗、Angular Velocity(角速度)による抵抗、Angular Velocity(角速度)を直接変更する方法の3通りを説明しています。

FieldForceSmoke Example for Field Force dynamics node

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

FromRBD Example for Field Force dynamics node

このサンプルでは、他のActive RBDオブジェクトをField Force DOPのソースとして使用する方法を説明しています。 2つのボールが立方体内を跳ね返り、それらのボールの1つが、ジオメトリに記録されたForceの値に応じて片方のボールを跳ね返すように設定しています。

SimpleField Example for Field Force dynamics node

このサンプルでは、Field Force DOPの使い方を説明しています。 RBDオブジェクトのグループが最初にフィールドに引き寄せられて、フィールドを通過して引き離されます。

fieldforce Example for Field Force dynamics node

このサンプルでは、Field Force DOPを使って、パーティクルが煙に対して吹く方法を説明しています。

CacheToDisk Example for File dynamics node

このサンプルでは、File DOPを使って、シミュレーションをディスクにキャッシュ化して、それを読み戻す方法を説明しています。

FEMSpheres Example for finiteelementsolver dynamics node

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

DensityViscosity Example for FLIP Solver dynamics node

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

FlipColorMix Example for FLIP Solver dynamics node

このサンプルでは、Flip Solverを使って、赤の流体と青の流体のカラーを混ぜて、紫の流体を作成する方法を説明しています。

FlipColumn Example for FLIP Solver dynamics node

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

FlipFluidWire Example for FLIP Solver dynamics node

このサンプルでは、Flip SolverとFluid Force DOPの使い方を説明しています。 Fluid Force DOPを使って、FLIP流体の動きに応じてワイヤーオブジェクトに力を加えています。 流体オブジェクト内に存在する流体の箇所にのみDragフォースを適用しています。

SpinningFlipCollision Example for FLIP Solver dynamics node

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

VariableViscosity Example for FLIP Solver dynamics node

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

FluidWireInteraction Example for Fluid Force dynamics node

このサンプルでは、Fluid Force DOPの使い方を説明しています。 Fluid Force DOPによって流体オブジェクトの動きに応じてワイヤーオブジェクトにDrag(抵抗)フォースを加えます。 流体オブジェクト内に存在する流体の箇所にのみDragフォースを適用しています。

BallInTank Example for Fluid Object dynamics node

このサンプルでは、RBDボールを液体タンク内に投げ入れる方法を説明しています。

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に設定して、両方のシミュレーションを再生します。

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の球を引き寄せ/引き離しをする方法を説明しています。

MaskedField Example for Mask Field dynamics node

このサンプルでは、Mask Fieldによるフォースの適用範囲を定義する方法を説明するために、たくさんのRBDオブジェクトにUniform Forceを適用しています。

SimpleMultiple Example for Multiple Solver dynamics node

このサンプルでは、Multiple Solverの使い方を説明しています。 オブジェクトの動きがRBD Solverで制御されているのと同時に、ジオメトリはSOP Solverで修正されています。

VolumeSource Example for Particle Fluid Emitter dynamics node

このサンプルでは、Particle Fluid Emitterでコンテナを流体で充満させる方法を説明しています。 タンク内のボリュームをParticle Fluid EmitterのEmission Geometryとして指定し、このジオメトリ内のポイントからランダムにパーティクルを、指定したフレーム数の間で放出しています。 このサンプルでは、SPH流体を使用しています。

パーティクル流体の浮力

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

FluidGlass Example for Particle Fluid Solver dynamics node

このサンプルでは、グラスに注がれた滑らかな流体の流れを作成する方法を説明しています。

PopFlow Example for Particle Fluid Solver dynamics node

このサンプルでは、POP NetworkとParticle Fluidシミュレーションを統合することで、 パーティクル流体シミュレーターによる流体力学を用いたアーティスティックなPOPの制御 をする方法を説明しています。

PressureExample Example for Particle Fluid Solver dynamics node

このサンプルでは、Viscosity(粘度)を考慮しない圧力駆動型の単純なフローを説明しています。 また、継続的にパーティクル流体を放出する方法とParticle Fluid Surface SOPによる流体のサーフェス化の方法も説明しています。

ViscoelasticExample Example for Particle Fluid Solver dynamics node

このサンプルでは、パーティクルベースの流体に粘着性と伸縮性のあるフォースを加えることで、 粘弾性のある流体の挙動を生成する方法を説明しています。 その結果、変形に抵抗して形状を維持しようとする流体のようなオブジェクトになります。

ViscousFlow Example for Particle Fluid Solver dynamics node

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

WorkflowExample Example for Particle Fluid Solver dynamics node

この少し複雑なサンプルでは、パーティクル流体のシミュレーション、保存、サーフェス化、レンダリングの単純なワークフローを説明しています。 サンプルにある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ノードを使って、近くにあるパーティクルを探して、 他のパーティクルとの近接度に基づいてアトリビュートを設定する方法を説明しています。

CrossTheStreams Example for POP Stream dynamics node

このサンプルでは、POP Streamノードを使って、パーティクルシミュレーション内で異なる挙動をするストリームを定義する方法を説明しています。

BillowyTurbine Example for Pyro Solver dynamics node

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

DampedHinge Example for RBD Angular Spring Constraint dynamics node

このサンプルでは、RBD Angular Spring Constraintを使って、緩んだヒンジを作成する方法を説明しています。

SimpleRotationalConstraint Example for RBD Angular Spring Constraint dynamics node

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

Stack Example for RBD Auto Freeze dynamics node

ティーポットが10フレーム毎に地面に落下します。 RBD AutoFreeze DOPを使って、停止したティーポットを検出して、それをフリーズさせることで、シミュレーションを安定化して高速化することができます。

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オブジェクトを使ってグラスを破壊する方法を説明しています。 グラスは、単純な三角形の破片を接着して構成されています。

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

Pendulum Example for RBD Hinge Constraint dynamics node

このサンプルでは、RBD Hinge Constraintを使って、 RBDオブジェクトとワールド空間位置または他のRBDオブジェクトとの間にヒンジのジョイントを設定して振り子を作成する方法を説明しています。

SimpleKeyActive Example for RBD Keyframe Active dynamics node

このサンプルでは、RBD Keyframe Activeノードを使って、キーフレームアニメーションからRBD Solverに切り替え、 そしてキーフレームアニメーションに戻す方法を説明しています。 Switch SolverやBlend Solverでも同じアニメーションを作成することができますが、 この手法は、2,3個のRBDオブジェクトに対して、キーフレームアニメーションをシミュレーションによる動きに切り替えるだけであれば、最もシンプルです。

DeformingRBD Example for RBD Object dynamics node

このサンプルでは、変形するジオメトリを伴ったリジッドボディダイナミクスシミュレーションを説明しています。 ぐらついたトーラスが地面に落下します。

FrictionBalls Example for RBD Object dynamics node

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

RBDInitialState Example for RBD Object dynamics node

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

SimpleRBD Example for RBD Object dynamics node

このサンプルでは、RBD Object DOPを使って、単純なリジッドボディダイナミクスシミュレーションを説明しています。 1個の球が地面に落下します。

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シミュレーションでお互いに反応しています。

Pendulum Example for RBD Pin Constraint dynamics node

このサンプルでは、RBD Pin Constraintを使って、RBDオブジェクトをワールド空間位置または他のRBDオブジェクトにピン留めする方法を説明しています。

popswithrbdcollision Example for RBD Point Object dynamics node

RBD形式の衝突をPOPで行なうために、POPシミュレーションにRBDシミュレーションを接続する方法を説明しています。

GravitySlideExample Example for Slider Constraint dynamics node

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

DegreesOfFreedom Example for RBD Solver dynamics node

このサンプルでは、RBD ConstraintノードのConstraint Typeパラメータの使い方を説明しています。 このパラメータは、拘束したオブジェクトの自由度を制御することができます。

PaddleWheel Example for RBD Solver dynamics node

このサンプルでは、たくさんのエレメントとRBD機能を組み合わせて、落下するたくさんのオブジェクトにぶつかる水掻きホイールのシミュレーションを作成しています。

このサンプルでは、RBD SolverのResolve Penetrationパラメータなどを設定し、衝突するオブジェクトをグループ化し、拘束を作成する方法を説明しています。

Weights Example for RBD Spring Constraint dynamics node

このサンプルでは、RBD Spring Constraintを使って、フォースや長さの閾値を超えると壊れるバネを作成する方法を説明しています。

InheritVelocity Example for RBD State dynamics node

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

Simple Example for RBD Visualization dynamics node

このサンプルでは、RBD Object DOPを使って、単純なリジッドボディダイナミクスシミュレーションを説明しています。 単純な球が地面に落下します。 RBD Visualization DOPを追加することで、衝突時のImpactフォースを表示しています。

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に接続しています。

Freeze Example for Script Solver dynamics node

このサンプルでは、Script Solverを使って、オブジェクトのVelocityがある閾値よりも小さくなった時に、シミュレーションからそのオブジェクトを削除する方法を説明しています。 このテクニックを使えば、定位置に落ち着くことがわかっているシミュレーションを高速化することができます。

ScalePieces Example for Script Solver dynamics node

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

SumImpacts Example for Script Solver dynamics node

このサンプルでは、Script SolverとSOP 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

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

DentingWithPops Example for SOP Solver dynamics node

このサンプルでは、たくさんの重要なDOPの概念を組み合わせています。

  • 最初に、POP SolverとRBD Solverのオブジェクトを両方使って、双方向にお互い反応させます。 RBDオブジェクトは、パーティクルに影響を与え、パーティクルはRBDオブジェクトに影響を与えます。

  • 次に、実際にRBDオブジェクトにMulti-Solverを使って、RBD SolverとSOP Solverを組み合わせます。 RBD Solverは全体のオブジェクトの動きを制御し、一方でSOP Solverはジオメトリを凹ませます。

  • 最後に、SOP SolverはRBD SolverからImpact情報を抽出してジオメトリを凹ませます。 SOP Solverは、DOPエクスプレッション関数を使って、この情報を抽出します。

その結果、パーティクルをぶつけられるトーラスのシミュレーションになります。 パーティクルはトーラスで跳ね返り、トーラスが動きます。 さらに、各パーティクルの衝突によって、トーラスが少し凹みます。

VisualizeImpacts Example for SOP Solver dynamics node

このサンプルでは、SOP SolverでカスタムガイドジオメトリをRBDオブジェクトに追加することで、RBDシミュレーション内のImpactデータを可視化する方法を説明しています。

このサンプルでは、Impactの位置と強さを示す緑の線を持つ3つのトーラスがグリッドに落下します。 フォースを可視化するために、補助的なジオメトリデータとして実際のトーラスに追加しているので、RBD Solverは完全にそのエフェクトを無視します。 SOP Solverを独立したSOP Networkとして使うことで、RBDオブジェクトからImapctの可視化を抽出することもできます。

StaticBalls Example for Static Object dynamics node

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

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で生成したフォースを可視化しています。

TurbulentSmoke Example for Wind Force dynamics node

このサンプルでは、Wind DOPを使って、乱気流を流体シミュレーションに追加する方法を説明しています。

AnimatedSkin Example for Wire Glue Constraint dynamics node

このサンプルでは、Wire Glue Constraint DOPを使ってワイヤーオブジェクトをアニメーションジオメトリに拘束する方法を説明しています。

CompressedSpring Example for Wire Object dynamics node

このサンプルでは、ワイヤーオブジェクトに初期姿勢を指定する方法を説明しています。

BeadCurtain Example for Wire Solver dynamics node

このサンプルでは、Wire Solverを使ってビーズカーテンをシミュレーションする方法を説明しています。 RBDボールがカーテンを通過して、カーテンからの反応を反映して、ボールが相互に衝突で影響し合います。

BendingTree Example for Wire Solver dynamics node

このサンプルでは、Wire Solverを使って、L-System SOPで作成した木のたわみをシミュレーションする方法を説明しています。

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を群衆エージェントに割り当てて、群衆シミュレーションで、ある人からの視点を取得する方法を説明しています。

PackedFragments Example for Assemble geometry node

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

FadedTorus Example for Attribute Fade geometry node

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

CaptureDeform Example for Cloth Deform geometry node

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

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個のポイントを作成することができます。

ColourAdvect

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

CoolLava

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

glueclusterexample Example for Glue Cluster geometry node

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

PartitionBall Example for Partition geometry node

このサンプルでは、Partition SOPによってDOPオブジェクトを決定して、DOPシミュレーション内のジオメトリを分解する方法を説明しています。

AlphaOmega Example for Points from Volume geometry node

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

PlateBreak Example for TimeShift geometry node

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

TransformFracturedPieces Example for Transform Pieces geometry node

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

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がトリガーされる箇所への群衆セットアップを説明しています。

RampParameter Example for Parameter VOP node

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

オブジェクトノード

  • Agent Cam

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

  • Alembic Archive

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

  • Alembic Xform

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

  • Ambient Light

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

  • Atmosphere

    レンダリング時に霧の効果を作成します。

  • 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

    アニメーションが用意されたトゥーンキャラクタ。

  • VR Camera

    VR画像のレンダリングに対応したカメラ。

  • Viewport Isolator

    ビューポート毎に独立した制御が選択できるPython Script HDA。

  • glTF