On this page |
DOP Import SOPはDOPネットワークからジオメトリを取り込み、さらにDOPオブジェクトのトランスフォームに基づいて入力ジオメトリをトランスフォームします。 Import Style パラメータでは、いくつかのモードのオペレーションを選択することができます。
DOPオブジェクトには、それら自体に関連した異なるトランスフォームを2つ持っています。 1つ目のトランスフォームは、オブジェクトに接続したPositionデータから取得します。 2つ目のトランスフォームは、オブジェクト上のGeometryデータから取得します。このデータには、それ自体に関連したトランスフォームを継承しています。 このSOPは、それらのトランスフォームのどれか、両方、またはどちらもなしにすることができます。 さらに、逆変換を適用することで、効率的に他のDOP Import SOPのトランスフォームオペレーションを元に戻すことができます。
DOP Import SOPは、ポイントとプリミティブに対して選択したベクトルアトリビュートのトランスフォーメーションも可能です。
Point Velocity
ジオメトリのトランスフォームだけではなく、このSOPはジオメトリにVelocity Pointアトリビュートを作成することができます。
このVelocityは、DOPシミュレーションのジオメトリ上にあるVelocityアトリビュート(例えば、Cloth Solverで設定するアトリビュート)、全体のオブジェクトのVelocity、 オブジェクトのPositionデータに保存したAngular Velocityを組み合わせることで計算します。 このSOPは、オブジェクトの線形速度と角速度を組み合わせることで、各ポイントの瞬間Velocityを計算することができます。 または、いくつかのタイムステップで2つのVelocityを統合することができます。 瞬間Velocityの手法は、各ポイントのVelocityを正しく表現しますが、オブジェクトに速い角速度がある場合、それらの瞬間Velocityを使ったレンダリングでは、オブジェクトの表示が爆発っぽくなります。 この場合では、統合したVelocityを使うことで、外挿したポイントがオブジェクトのジオメトリの"内側に"存在させることができます。 Integrate Over Timeパラメータでは、統合間隔を指定してタイムステップに合うように設定、または複数セグメントのモーションブラーを使用する時には各ジオメトリセグメントの期間に設定してください。
"vel"ベクトルフィールドがオブジェクトに存在すれば、それがVelocityフィールドとして解釈され、計算したVelocityに加算されます。
シミュレーションオブジェクトのGeometryのVelocityアトリビュートは、Attribute Transfer SOPと同様のテクニックによって入力ジオメトリへ転送されます。 入力ジオメトリをシミュレーションオブジェクトのGeometryに合わせて良いPoint Velocityを取得する必要性はありません。 このオプションは、モーションブラー付きでシミュレーションオブジェクトをレンダリングするのに役に立ちます。
DOP Objectをポイントとして取り込む時は、このオプションを有効にします。 DOP Object全体のVelocityは、常にそのオブジェクトを意味するポイントに割り当てられます。
パラメータ
DOP Network
トランスフォームとVelocityの情報の抽出元となるDOP Network。
Object Mask
トランスフォームの抽出元となるDOP Network内のオブジェクトを指定します。
Use Single Object
このオプションをオンにすると、全体の入力ジオメトリが Object Mask パラメータで合致した1番目のシミュレーションオブジェクトによってトランスフォームされます。 このオプションをオフにすると、Object Maskの各オブジェクトに対して、このSOPはオブジェクトと同じ名前のプリミティブグループを検索します。 そのプリミティブグループのみが、それに合致したオブジェクトから影響を受けます。 つまり、いくつかのジオメトリが合致したプリミティブグループに属していない場合は、それらのジオメトリは全くトランスフォームされません。
Import Style
このSOPのオペレーションモードを制御します。
Transform Input Geometry
入力に接続したSOPノードからジオメトリを引き出し、DOP Networkから取り出したオブジェクトを使って、そのジオメトリをトランスフォームします。 Object Names は、各オブジェクトに属するプリミティブを識別するために使用します。
Fetch Geometry from DOP Network
DOP Networkからジオメトリを引き出し、その入力に接続しているSOPを無視します。 これはObject Merge SOPと同様の機能ですが、DOP Networkに対して動作します。 このノードはジオメトリのトランスフォームに対して優れたコントロールが用意されており、その目的用に使いやすいパラメータがあります。
Fetch Packed Geometry from DOP Network(廃止)
DOP Networkから取り出す各オブジェクトに対してパックプリミティブを作成します。 RBD Packed Objectに関しては、オブジェクトのパックプリミティブが返され、それが Pivot Location パラメータに応じて調整されます。 そうでない場合、オブジェクトのジオメトリが埋め込んだパックプリミティブにパックされます。 パックオブジェクトに関しては、このオプションは廃止され、代わりに Fetch Geometry from DOP Network モードを使用してください。このモードはパックプリミティブの位置を調整しません。 他のオブジェクトタイプに関しては、 Pack by Name パラメータを有効にしたPack SOPを使用することができます。
Fetch Unpacked Geometry from DOP Network
DOP Networkからジオメトリを引き出し、その入力に接続しているSOPを無視します。 RBD Packed Objectに関しては、アンパックした衝突ジオメトリが返されます。
Stamp Input Geometry
入力に接続しているSOPからプリミティブグループのコピーを作成します。 このモードは、 Transform Input Geometry と同様ですが、同じ名前の複数のDOPオブジェクトがある時、 それらのオブジェクトすべてが同じ名前の入力プリミティブグループから別々のコピーを生成したい時に、使うことができます。 このオプションは、入力SOPにプリミティブグループの一部ではないジオメトリを含んでいる場合にも役に立つので、DOPオブジェクトに相当しません。
Create Points to Represent Objects
オブジェクト毎に1ポイント作成し、そのポイントに位置、向き、Velocityを意味するアトリビュートを設定します。 これは、DOP Networkから非常に軽いジオメトリを生成することができ、レンダリング時にポイントインスタンスを使用することができます。
Pivot Location
パックプリミティブで参照されるポイントに対して、オフセットを初期化する方法を指定します。
Display As
Import Style が Fetch Packed Geometry from DOP Network の時のパックプリミティブのビューポートLOD。
Import By Name
プリミティブグループではなく、nameアトリビュートを使って、各DOPオブジェクトに属するプリミティブを識別します。
Object Names
各DOPオブジェクトの識別に使用される名前の書式を指定します。
それらの名前は、 Transform Input Geometry モードやインポートしたジオメトリにプリミティブグループやname
Primitiveアトリビュートを作成する時に使用されます。
Use DOP Object Name
DOP Object Nameは、オブジェクトの識別に使用されます。
RBD Packed Objectに関しては、name
Pointアトリビュートが使用されます。
Use DOP Object Id
ソースDOPオブジェクトの数値IDに基づいて名前を生成します。 同じ名前の複数のDOPオブジェクトをDOP Networkからインポートするようなときは、この設定を使用します。
Use Full Path to Object
RBD Packed Objectに関しては、DOPオブジェクト名とname
Pointアトリビュートの値を組み合わせて、object2/piece3
のようなIDを生成します。
複数のRBD Packed Objectsに同じ名前のパックプリミティブが含まれているようなときは、この設定を使用します。
Geometry Data Path
DOP Networkから取り込むジオメトリのサブデータパス。 同じデータパスがすべてのソースオブジェクトで使われます。 空っぽのままにすると、オブジェクトの1番目のジオメトリデータが使われます。
Inverse Transform
シミュレーションオブジェクトで計算されるトランスフォームの逆トランスフォームを適用します。
Transform Geometry With Position Data
シミュレーションオブジェクトのPositionというDetaを検索し、その移動と回転の情報を抽出して、ジオメトリをトランスフォームします。
Transform Geometry With Geometry Data
シミュレーションオブジェクトに追加したGeometryデータに組まれたトランスフォームを使います。 これは、Geometry Dataに対して Use Object Transform を設定した時に通常では設定されるトランスフォームです。
Preserve World Space Positions
このSOPを含んだオブジェクトの逆トランスフォームを使用します。 これはジオメトリのワールド空間位置をオブジェクトレベルのトランスフォームから独立させることができます。 これは、抽出するトランスフォームのシミュレーションオブジェクトに対して、ソースジオメトリとして使用するオブジェクト内にこのSOPを配置する時に役に立ちます。 オブジェクトレベルトランスフォームは、シミュレーションオブジェクトの初期位置に対して使う場合がありますが、このSOPからジオメトリ出力のワールド空間位置に影響を与えたくない場合があります。 Inverse Operationオプションを設定すると、このトランスフォームの成分も反転されます。
Center at Pivot
Import Style を Create Points to Represent Objects に設定した時、RBD Objectのピボットをポイントの中心点として使用します。これは、通常では、オブジェクトの重心にポイントを配置します。 これは、作成したポイントがソースシミュレーションの動きにうまく合うようになります。
Add DOP Object Name Attribute
オブジェクトの名前を含んだname
文字列Primitiveアトリビュートを追加します。
name
の書式は、 Object Names パラメータで指定します。
Add DOP Object Path Attribute
DOP Networkのパスの後にDOPオブジェクトIDを含んだ文字列Primitiveアトリビュートのdopobject
を追加します。
Add DOP Object Id Attribute
ソースオブジェクトのDOPオブジェクトIDを含んだ整数Primitiveアトリビュートのdopobjectid
を追加します。
Add to Existing Velocity Attributes
DOPオブジェクトから計算したVelocityをジオメトリ上の既存のVelocityアトリビュート値に加算します。このオプションをオフにすると、DOPオブジェクトから計算したVelocityが単に既存Velocityアトリビュート値を上書きするだけです。
Note
ジオメトリを動的に破壊する時、Velocityをより小さい塊に転送するために、Point Velocityを追加します。このパラメータをオンにすると、それらのPoint Velocityが最終レンダリングに反映されます。 モーションブラーを改良するなら、このパラメータをオフにします。デフォルトではオンになっていますが、シェルフツールのデフォルトではオフになっています。
Delete Abandoned Primitives
トランスフォームモードの時、DOPオブジェクトに相当しないプリミティブは、トランスフォームせずに削除されます。 これは、ソルバが時間軸でオブジェクトを削除する場合に役に立ちます。
Point Velocities
このSOPのジオメトリに対してPoint Velocityを計算するかどうか、そして計算の方法を制御します。 Instantaneous(瞬間)とIntegrated(積分)のVelocity計算は、概要で説明しています。
Integrate Over Time
Integrated Point Velocitiesの計算方法で計算するVelocityの時間の間隔。この値は単一フレーム時間に設定するか、または複数セグメントモーションブラーを使った時の単一ジオメトリセグメントの期間に設定します。
Do Not Trigger Simulation
取り込んだDOPシミュレーションが古くなった場合、シミュレーションを試みずに古いキャッシュの値を返します。 これは、シミュレーションキャッシュ内の不正なジオメトリを持ったSOP Solverで使われるSOPチェーンを確認する時の再帰問題を回避します。
Examples
LowHigh Example for Dop Import geometry node
このサンプルではRBDオブジェクトに対応するために低解像度と高解像度のセットアップをする方法を説明しています。 どちらの解像度もDOP Import SOPを参照して、低解像度ジオメトリでシミュレーションをして、その結果を高解像度ジオメトリに転送してレンダリングしています。
ProxyGeometry Example for Dop Import geometry node
このサンプルでは、DOP Import SOPを使って、DOPシミュレーションでプロキシジオメトリ(代用ジオメトリ)の使用を可能にするテクニックを説明しています。 1組みのジオメトリをシミュレーションに使用し、そのシミュレーション結果のトランスフォーメーション情報をもっと解像度の高いジオメトリに適用しています。
The following examples include this node.
ApplyRelationship Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、Pin拘束をワイヤーオブジェクトに追加する方法を説明しています。
BridgeCollapse Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、自動的に拘束を伝搬させて、崩壊する橋のRBDシミュレーションを作成する方法を説明しています。
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
このサンプルでは、seamangle
Primitiveアトリビュートを使ってStaticオブジェクトに追加した布オブジェクトを揺らす方法を説明しています。
AnchorPins Example for Constraint Network dynamics node
このサンプルでは、異なるアンカー位置がピン拘束に影響を与える方法を説明しています。
BreakingSprings Example for Constraint Network dynamics node
このサンプルでは、SOP Solverを使用して、遠くに引き伸ばされたConstraint Network内のスプリング拘束を切る方法を説明しています。
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オブジェクトを半分に割る方法を説明しています。
CrowdHeightField Example for Crowd Solver dynamics node
このサンプルでは、Crowd SolverのTerrain AdaptationとBullet SolverのラグドールのコリジョンにHeight Fieldを使用する方法について説明しています。
PartialRagdolls Example for Crowd Solver dynamics node
このサンプルでは、部分ラグドールのセットアップ方法について説明しています。エージェントのジョイントのサブセットがBullet Solverによってアクティブオブジェクトとしてシミュレーションされ、残りのジョイントがアニメーションします。
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に設定すると、一部のみが表示されます。
CrowdTriggers Example for Crowd Trigger dynamics node
このサンプルでは、Crowd Trigger DOP用のビルトインのトリガータイプの使い方を説明しています。
FieldForceSmoke Example for Field Force dynamics node
SmokeシミュレーションからVelocityフィールドを抽出して、それをPOPシミュレーションの風のフォースとして使用します。
fieldforce Example for Field Force dynamics node
このサンプルでは、Field Force 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流体を作成する方法を説明しています。 また、流体用の衝突オブジェクトとして動作するように、 ジオメトリをセットアップする方法も説明しています。
FluidFeedback Example for Fluid Object dynamics node
このサンプルでは、ボールをFeedback Scaleパラメータを大きくしたタンクに落としています。 RBDシミュレーションとFluidシミュレーションを併せることで、ボールは沈まずに浮きます。
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に設定して、両方のシミュレーションを再生します。
UpresRetime Example for Gas Up Res dynamics node
このサンプルでは、Up Res Solverを使って、既存のシミュレーションの時間を再調整する方法を説明しています。 このメリットは、シミュレーションの見た目に影響を与えずに簡単に速度を調整できることです。 Up Res Solverには、Timeタブがあり、シミュレーションの速度を変更する色々なコントロールがあります。
このサンプルでは、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の球を引き寄せ/引き離しをする方法を説明しています。
FluidGlass Example for Particle Fluid Solver dynamics node
このサンプルでは、グラスに注がれた滑らかな流体の流れを作成する方法を説明しています。
AdvectByVolume Example for POP Advect by Volumes dynamics node
このサンプルでは、POP Advect by Volumesノードを使って、煙シミュレーションのVelocityで パーティクルを移流させる方法を説明しています。
CurveForce Example for POP Curve Force dynamics node
このサンプルでは、POP Curve Forceノードを使って、パーティクルシミュレーションとFLIP流体シミュレーションの流れを制御する方法を説明しています。
BillowyTurbine Example for Pyro Solver dynamics node
このサンプルでは、Pyro SolverとSmoke Objectを使って、 タービン(RBDオブジェクト)を通過した煙を渦巻くように放出させる方法を説明しています。 タービンの羽は、Copy、Circle、AlignのSOPでプロシージャルにモデリングしています。
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オブジェクトに使用してデブリ(瓦礫)を作成します。
このサンプルでは、RBD Glueオブジェクトからアニメーションキーフレームデータを取り込んで、 それを立方体のシミュレーションにブレンドして、衝撃によって複数の破片に砕く方法を説明しています。
このサンプルでは、RBD Glue Objectノードを使って、 衝突で自動的に砕けるRBDオブジェクトを作成する方法を説明しています。 さらに、モデルをこのようなシミュレーションで適切に砕くテクニックも説明しています。
このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。
平面が移動すると、破壊した円柱が分解されていきます。
FrictionBalls Example for RBD Object dynamics node
このサンプルでは、RBD Objectのfrictionパラメータについて説明しています。
RBDInitialState Example for RBD Object dynamics node
このサンプルでは、RBDオブジェクトのInitial Stateパラメータの使い方を説明しています。
EmittingObjects Example for RBD Packed Object dynamics node
このサンプルでは、SOP Solverを使って、新しいRBDオブジェクトを作成して、それを既存のRBD Packed Objectに追加する方法を説明しています。
SpeedLimit Example for RBD Packed Object dynamics node
このサンプルでは、シミュレーションの特定のオブジェクトの速度を制限する方法を説明しています。
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破壊シミュレーション内で、他のオブジェクトと衝突させる方法を説明しています。
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シミュレーションで破片を時間軸に沿ってスケールさせる方法を説明しています。
SumImpacts Example for Script Solver dynamics node
このサンプルでは、Script SolverとSOP Solverを使って、タイムステップ毎にオブジェクトに加えられた衝撃エネルギーの合計に基づいて、 RBDオブジェクトの色を変更する方法を説明しています。
2dfluid Example for Smoke Object dynamics node
2D流体をCOPにエクスポートして、それを画像シーケンスファイルとしてディスクに保存し、それをテクスチャマップ、変位マップなどに使う方法を説明しています。
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エクスプレッション関数を使って、この情報を抽出します。
その結果、パーティクルをぶつけられるトーラスのシミュレーションになります。 パーティクルはトーラスで跳ね返り、トーラスが動きます。 さらに、各パーティクルの衝突によって、トーラスが少し凹みます。
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のノードの使い方を説明しています。 アニメーションを再生するなら、それらのサンプルのディスプレイフラグをオンにし、セットアップをテストするなら、各サンプルの中に入ってください。
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
このサンプルでは、拘束ポイントにあるオブジェクトと振り子の玉にあるオブジェクトを相互に影響を与え合う方法を説明しています。
PackedFragments Example for Assemble geometry node
このサンプルでは、Assemble 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個のポイントを作成することができます。
このサンプルでは、Fluid Source SOPを使って、新しいボリュームの色を煙のシミュレーションに加えて移流させる方法を説明しています。
このサンプルは、Cool Within Objectシェルフツールを使用して、溶岩を冷却する方法を説明しています。
FurBallWorkflow Example for Fur geometry node
このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。
glueclusterexample Example for Glue Cluster geometry node
このサンプルでは、Glue Cluster SOPとGlue Network Constraint DOPを使ってボロノイ破壊するパーツを1つにまとめる方法を説明しています。 これによって、クラスタリングが凹状のオブジェクトを用意しなくてもBulletと使用することができるようになります。
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リジッドボディ破壊シミュレーションの結果から、 高解像度ジオメトリをトランスフォームする方法を説明しています。
RampParameter Example for Parameter VOP node
このサンプルでは、Ramp Parameter VOPノードを使って、PyroシミュレーションのTemperature(温度)アトリビュートでパーティクルの色を制御する方法を説明しています。