On this page |
Merge DOPは、複数の別々のオブジェクトのストリームやデータを受け取り、それらを1つのストリームに結合します。 データとオブジェクトを1つのストリームに結合することはできません。 すべての入力をオブジェクトストリームにするか、またはすべての入力をデータにしなければなりません。
オブジェクトを結合しても、それらのオブジェクト間のリレーションシップが構築されるわけではありません。 しかし、便宜的に、 Affector Relationship パラメータをオンにすることで、異なるオブジェクトストリーム間にAffectorリレーションシップを作成することができます。 それと同じ機能は、Group DOPとAffector DOPを使うことで実現することができますが、それにはより多くのノードを必要とします。 Intangible Value を設定したオブジェクトは、Mergeノードで作成されるリレーションシップを持ちません。
データを結合する時、このノードの出力への接続は、このノードのすべての入力に接続しているかのように扱われます。 これは、単一データ入力だけを用意して、複数のデータを取り付けられるデジタルアセットを扱う時に役に立ちます。
同様に、このノードを使えば、デジタルアセットが単一データ出力を通じて複数のデータを出力することができます。 また、このノードには、複数のデータを簡単に接続できるように単一ストリームへグループ化する便利な視覚的なメソッドがあります。
Note
このノードをバイパスにすると、リレーションシップの計算が無効になり、1番目の入力だけを処理します。
パラメータ
Activation
このパラメータ値が0の時は、リレーションシップが追加されません。 1の時は、Affector Relationshipがリレーションシップの追加を制御します。 どちらの場合でも、オブジェクトが1つのストリームに結合されます。
Affector Relationship
このノードがシミュレーションオブジェクトのストリームを結合する時、このパラメータは、それらのオブジェクト間にAffectorリレーションシップをセットアップします。
No Change
入力オブジェクト間にAffectorリレーションシップが新しく作成されません。
Left Inputs Affect Right Inputs
一連の入力1,2,3などを指定すると、入力1に接続したオブジェクトが入力2,3などのオブジェクトに対するアフェクターになります。 入力2のオブジェクトは、入力3以降のオブジェクトのアフェクターになります。 このオプションを使えば、入力オブジェクトが、このノードに接続された入力オブジェクトの順番で計算されます。
Mutual
すべての入力ストリームのすべてのオブジェクトが相互アフェクターになります。
Relationship
オブジェクトのストリームを結合する時、このパラメータは、それらのストリーム間に作成するリレーションシップの種類を決めます。
選択できる項目:
None
Affectorリレーションシップが作成されません。 Affector Relationshipフィールドの No Change と同じ設定。
Constraint
2つのオブジェクト間に拘束を持つように内部的に使用されます。
Pump
影響を受けるオブジェクトのローカルVelocityをソースオブジェクトのVelocityに合わせます。 これは流体オブジェクトに適用します。
Sink
影響を受けるオブジェクトのAffectorに接触する箇所のボリュームを削除します。 これは流体オブジェクトに適用します。
Group
オブジェクトを同じグループの一部にするように内部的に使用されます。
Collide
影響を受けるオブジェクトは、アフェクターオブジェクトからの衝突に反応します。
Target
ユーザー定義効果用のプレースホルダーアフェクター。 Gas Target Forcesで使われます。
Source
影響を受けるオブジェクトは、アフェクターオブジェクトを液体や煙の密度の作成用のソースとして使用します。
Empty
特定の順番で計算を強制します。影響を受けるオブジェクトは、アフェクターオブジェクトの後に計算されますが、他に本質的な意味はありません。
これは、SOP Solverが他のオブジェクトを参照して、DOP Engineには不可視な依存関係を作成する時に役に立ちます。
入力
All
このノードの入力に接続されたすべてのオブジェクトまたはデータが、単一出力を通して送り出されます。
出力
First
このノードの入力に接続されたすべてのオブジェクトまたはデータが、単一出力を通して送り出されます。
ローカル変数
ST
この値は、ノードが評価されるシミュレーション時間です。
この値は、変数Tで表現される現在のHoudiniの時間と同じではなく、DOP Networkの Offset Time と Time Scale のパラメータの設定に依存しています。
この値は、シミュレーションの開始時間がゼロになるようになっています。つまり、シミュレーションの最初のタイムステップをテストする時は、$T == 0
や$FF == 1
を使うのではなくて、$ST == 0
のようなテストを使うのがベストです。
SF
この値は、ノードが評価されるシミュレーションフレーム(正確には、シミュレーションタイムステップ番号)です。
この値は、変数Fで表現される現在のHoudiniのフレーム番号と同じではなく、DOP Networkパラメータの設定に依存しています。代わりに、この値は、シミュレーション時間(ST)をシミュレーションタイムステップサイズ(TIMESTEP)で割算した値と同じです。
TIMESTEP
この値は、シミュレーションタイムステップのサイズです。この値は、1秒あたりのユニットで表現した値をスケールするのに役に立ちますが、タイムステップ毎に適用されます。
SFPS
この値は、TIMESTEPの逆数です。シミュレーション時間の1秒あたりのタイムステップ数です。
SNOBJ
これはシミュレーション内のオブジェクトの数です。Empty Objectノードなどのオブジェクトを作成するノードでは、この値は、オブジェクトが評価される度に値が増えます。
固有のオブジェクト名を確保する良い方法は、object_$SNOBJ
のようなエクスプレッションを使うことです。
NOBJ
この値は、このタイムステップ間で現行ノードで評価されるオブジェクトの数です。 この値は、多くのノードがシミュレーション内のオブジェクトすべてを処理しないので、SNOBJとは異なります。
この値は、ノードが各オブジェクトを続けて処理(例えば、Group DOP)しないなら0を返します。
OBJ
この値は、ノードで処理される特定のオブジェクトのインデックスです。 この値は、指定したタイムステップで常にゼロからNOBJ-1まで実行されます。 この値は、OBJIDやOBJNAMEなどのシミュレーション内の現行オブジェクトを識別せず、現在の処理順でのオブジェクトの順番を識別します。
この値は、オブジェクト毎に乱数を生成するのに役に立ちます。他には、処理別にオブジェクトを2,3のグループに分けるのに役に立ちます。 この値は、ノードがオブジェクトを続けて処理(例えば、Group DOP)しないなら-1を返します。
OBJID
この値は、処理されているオブジェクトの固有のオブジェクトIDです。 すべてのオブジェクトは、すべての時間のシミュレーション内のオブジェクトすべてで固有な整数値が割り当てられています。たとえオブジェクトが削除されても、そのIDは決して再利用されません。
オブジェクトIDは、指定したオブジェクトを固有なものと識別するために常に使われています。 オブジェクトIDは、オブジェクト毎に別々の処理をさせたいシミュレーションで非常に役に立ちます。 オブジェクト毎に固有の乱数を生成するのにも使われます。
この値は、dopfieldエクスプレッション関数を使って、オブジェクトの情報を検索するのにベストな方法です。 この値は、ノードがオブジェクトを続けて処理(例えば、Group DOP)しないなら-1を返します。
ALLOBJIDS
この文字列には、現行ノードで処理されているオブジェクトすべての固有のオブジェクトIDをスペース区切りにしたリストが含まれています。
ALLOBJNAMES
この文字列には、現行ノードで処理されているオブジェクトすべての名前をスペース区切りにしたリストが含まれています。
OBJCT
この値は、現行オブジェクトが作成された時のシミュレーション時間(変数STを参照)。
そのため、オブジェクトが現在のタイムステップで作成されたかどうかチェックするには、$ST == $OBJCT
のエクスプレッションが常に使われます。
この値は、ノードがオブジェクトを続けて処理(例えば、Group DOP)しないなら0を返します。
OBJCF
この値は、現行オブジェクトが作成された時のシミュレーションフレーム(変数SFを参照)。
この値は、OBJCT変数にdopsttoframeエクスプレッションを使ったものと等価です。この値は、ノードがオブジェクトを続けて処理(例えば、Group DOP)しないなら0を返します。
OBJNAME
これは、処理されているオブジェクトの名前を含む文字列の値です。
オブジェクト名は、シミュレーション内で固有であることが保証されていません。 しかし、オブジェクト名が固有になるように注意して名前を付けていれば、オブジェクトの識別は、オブジェクトIDよりも、オブジェクト名を指定するほうが簡単です。
オブジェクト名は、同じ名前を持つオブジェクトの数を仮想グループとして扱うこともできます。
"myobject"という名前のオブジェクトが20個あれば、DOPのActivationフィールドにstrcmp($OBJNAME, "myobject") == 0
を指定すると、DOPがその20個のオブジェクトのみを操作します。
この値は、ノードがオブジェクトを続けて処理(例えば、Group DOP)しないなら空っぽの文字列を返します。
DOPNET
これは、現在のDOP Networkのフルパスを含む文字列です。 この値は、ノードを含むDOP Networkのパスを知りたりDOPサブネットのデジタルアセットで非常に役に立ちます。
Note
ほとんどのダイナミクスノードには、そのノードのパラメータと同じ名前のローカル変数があります。 例えば、Positionノードでは、以下のエクスプレッションを記述することができます:
$tx + 0.1
これはオブジェクトをタイムステップ毎にX軸方向に0.1単位分移動させます。
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リレーションシップがシミュレーションに影響を与える違いを説明しています。
ClipLayerTrigger Example for Agent Clip Layer dynamics node
このサンプルでは、Agent Clip Layer DOPを使って、エージェントの上半身にクリップを適用する方法を説明しています。 このクリップは、そのエージェントが境界ボックス内にある時にアクティブになります。
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(浮力)フォースのソースとして使用するサーフェスフィールドを抽出する方法を説明しています。
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を調整することで、布の挙動を変更することができます。
PanelledClothRuffles Example for Cloth Object dynamics node
このサンプルでは、seamangle
Primitiveアトリビュートを使って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オブジェクトを半分に割る方法を説明しています。
SimpleCopy Example for Copy Objects dynamics node
このサンプルでは、Copy Objects DOPを使う方法を説明しています。 単一のRBD Objectを100回コピーしてから、それらのオブジェクトにランダムな初期Velocityとグリッドジオメトリからの位置を割り当てています。 そして、それらの100個の球が地面に落下します。
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を使用する方法について説明しています。
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シミュレーションの風のフォースとして使用します。
FromRBD Example for Field Force dynamics node
このサンプルでは、他のActive RBDオブジェクトをField Force DOPのソースとして使用する方法を説明しています。 2つのボールが立方体内を跳ね返り、それらのボールの1つが、ジオメトリに記録されたForceの値に応じて片方のボールを跳ね返すように設定しています。
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フォースを適用しています。
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キャラクタは、その色の付いたトーラスによって色が付着します。 このサンプルでは、流体シミュレーションにカラー情報を追加する方法も説明しています。
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に設定して、両方のシミュレーションを再生します。
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の球を引き寄せ/引き離しをする方法を説明しています。
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
このサンプルでは、グラスに注がれた滑らかな流体の流れを作成する方法を説明しています。
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でプロシージャルにモデリングしています。
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アトリビュートを使って、オブジェクトの初期速度を設定する方法も説明しています。
このサンプルでは、RBD Glueオブジェクトからアニメーションキーフレームデータを取り込んで、 それを立方体のシミュレーションにブレンドして、衝撃によって複数の破片に砕く方法を説明しています。
このサンプルでは、RBD Glue Objectノードを使って、 衝突で自動的に砕けるRBDオブジェクトを作成する方法を説明しています。 さらに、モデルをこのようなシミュレーションで適切に砕くテクニックも説明しています。
このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。
たくさんの球を接着してトーラス形状を作成し、さらに、水平に移動する平面を追加しています。 この平面が通過した後の球が分解されていきます。
このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。
平面が移動すると、破壊した円柱が分解されていきます。
このサンプルでは、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に追加する方法を説明しています。
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 SolverのUse 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で作成した木のたわみをシミュレーションする方法を説明しています。
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を群衆エージェントに割り当てて、群衆シミュレーションで、ある人からの視点を取得する方法を説明しています。
AgentRelationshipBasic Example for Agent Relationship geometry node
このサンプルでは、単純な親子エージェントのセットアップ方法について説明しています。
PackedFragments Example for Assemble geometry node
このサンプルでは、Assemble SOPを使用して、リジッドボディシミュレーション向けに球をパックオブジェクトに分解する方法を説明しています。
CaptureDeform Example for Cloth Deform geometry node
このサンプルでは、Cloth CaptureノードとCloth Deformノードを使って低解像度の布のシミュレーションを高解像度の布に転送する方法を説明しています。
ConnectedBalls Example for Connectivity geometry node
このサンプルでは、Connectivity SOPで生成したアトリビュートを使って、DOPシミュレーションの別々のジオメトリに色を付ける方法を説明しています。
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個のポイントを作成することができます。
ExtractAnimatedTransform Example for Extract Transform geometry node
このサンプルでは、剛体の動きを表現した変形ジオメトリから、トランスフォームがアニメーションされたパックプリミティブを作成する方法を説明しています。 この結果は、リジッドボディシミュレーションのColliderに適しています。
このサンプルでは、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と使用することができるようになります。
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コントローラを使用して実装されたエージェントの障害物回避とパスへの追従を説明しています。
RampParameter Example for Parameter VOP node
このサンプルでは、Ramp Parameter VOPノードを使って、PyroシミュレーションのTemperature(温度)アトリビュートでパーティクルの色を制御する方法を説明しています。
See also |