サンプル

Active Value

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オブジェクトをフリーズします。

Affector

SimpleAffector Example for Affector dynamics node

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

Agent Clip Layer

ClipLayerTrigger Example for Agent Clip Layer dynamics node

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

Agent Look At

AgentLookAtBasic Example for Agent Look At dynamics node

このサンプルでは、群衆内の他のエージェントまたは点群のポイントを見るなど、Look Atターゲットを定義するいくつかの方法について説明しています。

Anchor: Align Axis

LookAt Example for Anchor: Align Axis dynamics node

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

Apply Relationship

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オブジェクト間を相互に拘束する方法を説明しています。

Blend Solver

SimpleBlend Example for Blend Solver dynamics node

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

Buoyancy Force

BuoyancyForce Example for Buoyancy Force dynamics node

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

Cloth Object

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オブジェクトに追加した布オブジェクトを揺らす方法を説明しています。

Constraint Network

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拘束を作成して、シミュレーションで、その拘束を接着拘束に変更する方法を説明しています。

Copy Objects

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個の球が地面に落下します。

Crowd Solver

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を使用する方法について説明しています。

CrowdStickyCollisions Example for Crowd Solver dynamics node

このサンプルでは、Bullet SolverのSticky Collisionsを使用して、矢がラグドールに当たった後にその矢をそのラグドールに引っ付けたままにする方法を説明しています。

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オブジェクトの中に入って、その構造を確認してください。

Stadium Crowd Example Example for Crowd Solver dynamics node

スタジアムのセットアップを説明した群衆サンプル。

このセットアップは、スタジアムの群衆を作成します。 回転するcheer_bboxオブジェクトをエージェントの境界ボックスとして使用しています。 エージェントがそのオブジェクトの中に入ると、座っている状態から応援している状態へ推移します。 数秒後には、応援している群衆がまた座っている状態に戻ります。

Tip

群衆の一部だけをもっと高速にプレビューしたいのであれば、/obj/crowdsource/switch_all_subsectionにSwitchノードがあります。 そのスイッチを0に設定すると、すべてのエージェントが表示され、1に設定すると、一部のみが表示されます。

Street Crowd Example Example for Crowd Solver dynamics node

2つのエージェントグループによるストリートのセットアップを説明した群衆サンプル。

このセットアップは、2つのエージェントグループを作成します。 黄色のエージェントがゾンビで、ストリートのパスに沿います。青色のエージェントがぶらついている歩行者で、ゾンビが近づくと走ります。

エージェントの状態を変更するトリガーは、crowd_sim DOPNETでセットアップします。 ゾンビのグループは、信号との距離と信号の色を使用し、信号が赤になると停止状態に変わります。 生存者のグループは、ゾンビが近づくと走行状態に変わります。

Crowd Trigger

CrowdTriggers Example for Crowd Trigger dynamics node

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

Drag Force

TypesOfDrag Example for Drag Force dynamics node

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

Field Force

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オブジェクトのグループが最初にフィールドに引き寄せられて、フィールドを通過して引き離されます。

File

CacheToDisk Example for File dynamics node

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

/nodes/dop/finiteelementsolver

FEMSpheres

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

HybridWrinkle

このサンプルでは、FEM Solverを使って動的に皺を生成する方法について説明しています。 このサンプルには汎用的なセットアップが含まれています。 骨と筋肉を表現したオブジェクトは、脂肪と皮膚を表現した他のオブジェクトに接続されています。 この骨と筋肉を表現したオブジェクトをアニメーションさせて、間接的にその皮膚に皺を生成しています。 このサンプルでは、FEM Solid Object、FEM Hybrid Object、FEM Fuse Constraint、FEM Solid Objectに組み込まれている分布ターゲット拘束の使い方を説明しています。

TimelessQuasistatic

このサンプルでは、FEM Solverを使った時間軸のないQuasistatic(準静的)シミュレーションのセットアップについて説明しています。 モデルは、ソフト拘束とアニメーションによって駆動されます。 このセットアップによって、例えばPDGを使用してフレームを並列でシミュレーションすることができます。

VolumePreserver

このサンプルでは、FEM Solverを使って、変形するトーラスの体積を維持する方法について説明しています。

FLIP 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つの流体と移動するオブジェクトの間での作用を説明しています。

Fluid Force

FluidWireInteraction Example for Fluid Force dynamics node

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

Fluid Object

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を適用することで、 より揮発性のある流体を作成しています。

Gas Calculate

HotBox Example for Gas Calculate dynamics node

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

Gas Diffuse

DiffuseSmoke Example for Gas Diffuse dynamics node

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

Gas Embed Fluid

CombinedSmoke Example for Gas Embed Fluid dynamics node

このサンプルでは、Gas Embed Fluid DOPを使って、2つのSmoke Volumeを結合し、ボリューム間を滑らかにぼかしています。

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

Gas Net Fetch Data

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

Gas Particle to Field

TimelessGas Example for Gas Particle to Field dynamics node

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

Gas Surface Tension

TeapotUnderTension Example for Gas Surface Tension dynamics node

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

Gas Up Res

UpresRetime Example for Gas Up Res dynamics node

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

/nodes/dop/grassdeforms

grass

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

/nodes/dop/hybridobject

GuidedWrinkling

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

Magnet Force

MagnetMetaballs Example for Magnet Force dynamics node

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

SimpleMagnets Example for Magnet Force dynamics node

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

Mask Field

MaskedField Example for Mask Field dynamics node

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

Multiple Solver

SimpleMultiple Example for Multiple Solver dynamics node

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

/nodes/dop/particlefluidsolver

パーティクル流体の浮力

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

ViscoelasticExample

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

ViscousFlow

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

WorkflowExample

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

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

POP Advect by Filaments

AdvectByFilaments Example for POP Advect by Filaments dynamics node

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

POP Advect by Volumes

AdvectByVolume Example for POP Advect by Volumes dynamics node

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

POP Attract

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に設定することで、 ポイント単位でパーティクルの引き寄せを制御する方法を説明しています。

POP Axis Force

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ノードを使って、パーティクルのグループを渦巻き上げさせる方法を説明しています。

POP Collision Detect

ParticleCollisions Example for POP Collision Detect dynamics node

このサンプルでは、POP Collision Detectノードを使って、 変形しながら回転するトーラスと衝突するパーティクルをシミュレーションする方法を説明しています。

POP Color

ColorVex Example for POP Color dynamics node

このサンプルでは、POP ColorノードでVEXエクスプレッションを使って、パーティクルに色を付ける方法を3通り説明しています。

POP Curve Force

CurveForce Example for POP Curve Force dynamics node

このサンプルでは、POP Curve Forceノードを使って、パーティクルシミュレーションとFLIP流体シミュレーションの流れを制御する方法を説明しています。

POP Flock

FlockInPops Example for POP Flock dynamics node

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

POP Force

CurlForce Example for POP Force dynamics node

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

POP Grains

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

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

POP Interact

SwarmBall Example for POP Interact dynamics node

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

POP Lookat

LookatTarget Example for POP Lookat dynamics node

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

POP Properties

DragCenter Example for POP Properties dynamics node

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

POP Proximity

ProximateParticles Example for POP Proximity dynamics node

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

POP Stream

CrossTheStreams Example for POP Stream dynamics node

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

POP Wind Shadow

WindBlock Example for POP Wind Shadow dynamics node

このサンプルでは、VellumシミュレーションでWind Shadowをセットアップする色々な方法を見ていきます。

Pyro Solver

BillowyTurbine Example for Pyro Solver dynamics node

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

RBD Angular Spring Constraint

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

RBD Auto Freeze

Stack Example for RBD Auto Freeze dynamics node

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

Cone Twist Constraint

RagdollExample Example for Cone Twist Constraint dynamics node

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

RBD Fractured Object

ShatterDebris Example for RBD Fractured Object dynamics node

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

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

ShatterGlass Example for RBD Fractured Object dynamics node

このサンプルでは、RBD Fractured Object、RBD Pin Contraints、RBD Material Fractureを使用したHoudiniでのグラスの粉砕の方法を説明しています。

StackedBricks Example for RBD Fractured Object dynamics node

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

/nodes/dop/rbdglueobject

BlendSolverWithRBDGlue

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

BreakingRock

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

ChoreographedBreakup

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

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

ChoreographedTubeBreakup

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

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

RBD Hinge Constraint

Pendulum Example for RBD Hinge Constraint dynamics node

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

RBD Keyframe Active

SimpleKeyActive Example for RBD Keyframe Active dynamics node

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

RBD Object

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個の球が地面に落下します。

RBD Packed Object

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に追加する方法を説明しています。

ScalingRBDs Example for RBD Packed Object dynamics node

このサンプルでは、シミュレーション中にRBDオブジェクトのスケールを変更する方法を説明しています。

SpeedLimit Example for RBD Packed Object dynamics node

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

RBD Pin Constraint

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オブジェクトにピン留めする方法を説明しています。

Slider Constraint

GravitySlideExample Example for Slider Constraint dynamics node

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

RBD Solver

DegreesOfFreedom Example for RBD Solver dynamics node

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

PaddleWheel Example for RBD Solver dynamics node

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

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

RBD Spring Constraint

Weights Example for RBD Spring Constraint dynamics node

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

RBD State

InheritVelocity Example for RBD State dynamics node

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

RBD Visualization

Simple Example for RBD Visualization dynamics node

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

Reference Frame Force

ReferenceFrameForce Example for Reference Frame Force dynamics node

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

Ripple Solver

RippleGrid Example for Ripple Solver dynamics node

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

/nodes/dop/sbdregionconstraint

ConstrainedFEMBalls

このサンプルでは、FEM Region Constraintノードを使用して、チューブメッシュをその中でアニメーションする球の動きに拘束する方法について説明しています。

Script 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オブジェクトの色を変更する方法を説明しています。

Smoke Object

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

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

/nodes/dop/solidobject

VolumePreservingSolid

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

SOP Solver

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の可視化を抽出することもできます。

Static Object

StaticBalls Example for Static Object dynamics node

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

Vellum Solver

VellumSmokeSheet Example for Vellum Solver dynamics node

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

Voronoi Fracture Solver

FractureExamples Example for Voronoi Fracture Solver dynamics node

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

Vortex Force

SimpleVortex Example for Vortex Force dynamics node

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

Wind Force

TurbulentSmoke Example for Wind Force dynamics node

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

Wire Glue Constraint

AnimatedSkin Example for Wire Glue Constraint dynamics node

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

Wire Object

CompressedSpring Example for Wire Object dynamics node

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

Wire Solver

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

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

Agent Clip Transition Graph

ClipTransitionGraph

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

Crowd MotionPath Follow

RagdollFromMotionPaths

このサンプルでは、SOPレベルのアニメーションに追従するエージェントをCrowd Solverに取り込む方法を説明しています。 これらのエージェントは、シミュレーションされるエージェントの回避に使用したり、ラグドールに変換することができます。

ノードのサンプル

ノードタイプ別のサンプル