| On this page |
Copernicusでのブロック ¶
COPネットワークでのブロックは、SOPネットワークでのコンパイルブロックと同様に動作し、複数のノードをカプセル化して、それらを単一オブジェクトのように扱うことができます。
ブロックは通常、Block Begin COPノードと
Block End COPで構成され、その間に他のノードを配置します。
Simulate をオンにすると、シミュレーションモードが有効になり、プロセスがフレームバーと連動し、メモリ内のキャッシュ化とチェックポイント化が可能になるため、再クックとスクラブ操作が高速になります。
もう1つ重要な機能は、Live Simulationです。 これは、Houdiniがほぼリアルタイムで継続的にアニメーションできるようにし、変更内容に対してリアルタイムにフィードバックさせることができます。 これは、ビデオゲームの世界に似ており、あなたが積極的に何かを押しているかどうかにかかわらず、物事が再生されます。 このモードはプレイバーに連動していないものの、常に再クックしています。 そのため、ネットワークに変更を加えると、その結果がビューポート内でライブ再生されます。
Reaction-Diffusion(反応拡散)ブロック ¶
Reaction-Diffusion(反応拡散)シミュレーション は、化学物質の反応と拡散の複雑な2Dシミュレーションです。 このシミュレーションでは、2つの化学物質が互いに反応して、媒体中を拡散して、特定の速度で補充される際の相互作用に基づいて、動的な固有なパターンを生成します。
Note
コンパイルされたCOPネットワークはシミュレーションをサポートしていません。
Note
この実装の反応拡散は解像度に依存します。 解像度を変えると不安定になることがありますが、これはタイムステップが大きすぎることが原因です。 この不安定さを解消するには、 Substeps の数を増やすか、 Time Scale の数を減らすことによって、時間ステップのサイズを小さくします。 これには、ランタイムコストを伴います。 方程式の明示的な積分には、(反応のスケールと同様に)結果が解像度に依存しないことを確認するためのタイムステップの制限がありますが、これは不安定さを引き起こしてしまう可能性があります。
解像度を2倍にした場合、安定を保つには Substeps の約4倍(または Time Scale の約4分の1)が必要になることがあります。
Reaction-Diffusion Block Beginと
Reaction-Diffusion Block Endを作成し、その間に他のCOPを追加して、Reaction-Diffusionシミュレーションブロックを作成します。
他にも、⇥ Tabメニューから Reaction-Diffusion Block を選択することで、Reaction-Diffusion Block Begin COPとReaction-Diffusion Block End COPを自動的に配置することができます。
passthrough入力を使用すれば、追加入力をブロック内に取り込むことができます。
feedback入力を使用すれば、フレーム毎に更新しなければならない値を追加することができます。
Note
前フレームに依存しないオペレーションは、クックが一回だけで済むようにReaction-Diffusion Block Beginの前に実行してください。 フィードバックに不要なポスト処理オペレーションは、Reaction-Diffusion Block Endの後に実行してください。
Note
Reaction Parameters セクションのパラメータは敏感です。 Reaction-Diffusionは非線形な挙動を示します。 つまり、速い変化は反応全体を反転させたり、駄目にしたり、吹き飛ばすような状態にさせたりします。 これにはいくつかの理由があります:
-
入力パラメータの組み合わせによっては、分岐点の近くに位置するため、制御パラメータのわずかな変化で反応の安定が急激に変化することがあります。 ノードは'Normalized'モード( Switch to Raw Values がオフの時)でこの問題の解決を試みますが、それでも発生することがあります。
-
入力パラメータを速く変更しすぎることは、化学物質が完全に成長して、入力パラメータが再び変更される前に新しい拡散パラメータに安定化するのに十分な時間がないことを意味します。
このソルバは、ハードイテレーションカウント、キャッシュシミュレーション、サンドボックススタイルのライブシミュレーションなど、いくつかの方法で操作することができます。 また、Reaction-Diffusionブロックを(例えば、原料化学値を入力する)別のReaction-Diffusionブロックに接続することもできます。
例えば、Reaction-Diffusionを使用することで、ゼブラ柄、サンゴ、魚の鱗のような有機的なパターンを作成することができます。
Reaction-Diffusionソルバブロックの使い方 ¶
-
COPネットワーク内で⇥ Tabメニューから Reaction-Diffusion Block を選択します。これによって、
Reaction-Diffusion Block Begin COPと
Reaction-Diffusion Block End COPが配置されます。
Note
ブロックの代わりに、Reaction-Diffusion Block Begin COPとReaction-Diffusion Block End COPを個別に追加することができます。 Reaction-Diffusion Block Begin COPでは、 Block Path パラメータにそのReaction-Diffusion Block End COPのパスを設定して、そのBlock Begin COPの
chemical出力をそのBlock End COPのchemical入力に接続します。 -
ソルバ用の
activationマスクを作成します。シェイプや激しいノイズはアクティブな反応を作ります。 また、Block Begin COP上にデコレータレシピを追加することで、初期条件を設定することができます。 プリセットや条件によっては、隣接するピクセル間のコントラストが大きくないとアクティブにならないため、すぐに効果が消えてしまうものもあります。 パターンがうまく動作しない場合は、サイズを小さくしたり、ノイズを追加してみてください。
-
ブロックの
chemical入出力間に追加ノードを接続します。このchemicalワイヤーに接続可能なノードがいくつかあります。Note
反応は不安定になることがあります(Reaction Parametersを参照)。
Tip
化学反応を異なる方向へ移流させるには、 Distort by Slope レシピを使います。
コンテンツライブラリのサンプル ¶
|
Coral Synapseプロジェクトでは、HoudiniのFlowソルバ、Reaction-Diffusionシステムとの相互作用に焦点を当てたクリエイティブなワークフローを探求することができます。 このセットアップでは、興味深い反応拡散パターンを生成して、最終的なシェーダにレイヤのディテールとバリエーションを追加する方法を示しています。 ファイルはここからダウンロードすることができます。 |
|---|