Bifröst シミュレーションの構造

Bifröst シミュレーションは、接続された複数のオブジェクト、プロパティ、およびコンテナノードで構成されています。シミュレーションを編集して微調整していくと、いくつかの場所でアトリビュートを調整する必要があります。ほとんどの作業はBifrost メニューとアトリビュート エディタ(Attribute Editor)を使用して実行することができますが、ノード エディタ(Node Editor)を使用すると各種の要素間の関係を把握しやすくなります。

下の図は、基本的な液体シミュレーションのノード グラフを簡単に表したものです。Aero シミュレーションにも似たような要素がありますが、通常はより単純なものです。

1. エミッタ、コライダ、およびその他のメッシュ

このグラフには 2 つのコライダ メッシュと 2 つのエミッタ メッシュがあり、いずれもコライダ プロパティとエミッタ プロパティによりメイン コンテナに接続されています。アクセラレータなどの、シーンに追加できる他の種類のメッシュにも、同様のプロパティがあります。各メッシュ プロパティには、メッシュをシミュレーションで使用する方法に関連するアトリビュートがあります。たとえば、エミッタ プロパティには、連続放出や密度などのアトリビュートがあります。

この例では、コライダ メッシュが個別のプロパティ ノードを使用しています。これにより、さまざまな設定を使用できます。メッシュをこのように接続するには、Bifrost メニューのコマンドを使用して、メッシュを一度に 1 つずつ追加します。

エミッタのメッシュは同じエミッタ プロパティを共有します。つまり、常に同じ設定を使用することになるため、複数のプロパティの設定を調整する必要がありません。メッシュをこのように接続するには、メッシュをすべて同時に追加するか、先に既存のプロパティを選択します。

メッシュの接続方法を変更するには、新しいプロパティを追加するか、必要に応じて不要なプロパティを削除することにより、グラフを再接続します。

2. グローバル ガイド プロパティ
グローバル ガイド プロパティ ノードには、ガイド付きシミュレーションに使用する設定があります。これは液体グラフ用に自動作成されますが、ガイド付きシミュレーションが設定されていなければ使用されることはありません(液体サーフェスの Bifröst シミュレーションをガイドするを参照)。
3. メイン プロパティ
メイン プロパティ ノードには、シミュレーション全体をコントロールする設定の大部分があります。具体的には、重力、ボクセル サイズ、順応性など、液体シミュレーションまたは Aero シミュレーションに特有のアトリビュートがあげられます。また、メイン プロパティ ノードには、ユーザ キャッシュ ファイルの読み取りや書き込みを行うためのコントロールもあります。
4. メイン コンテナ
メイン コンテナは、プロパティ値を入力から取得し、シミュレーションを実行するノードです。この中には、シミュレーションを実行する方法と時点をコントロールするアトリビュートがいくつかあります。たとえば、開始フレームやスクラッチ キャッシュなどです。
5. シェイプ
シェイプ オブジェクトは、シーン内でのシミュレーションの結果を表しています。この中には、結果をパーティクルやボクセルとして表示するためのアトリビュートや、各種の診断オプションがあります。また、結果をメッシュする方法を有効にしてコントロールするためのアトリビュートもあります。
6. メッシュ
メッシュは、結果を表す別の方法です。レンダーするだけでなく、Alembic またはその他のキャッシュとして書き出し、他のシーンやソフトウェアで使用できるようにできます。シェイプでメッシュがアクティブでない場合、メッシュにはポリゴンはありません。
7. マテリアル
マテリアルおよび関連するシェーディング グループは、特殊な mental ray シェーダを使用しています。このシェーダはメッシュまたはシェイプ自体を直接レンダーできます。他のシェーダやレンダラで同じ操作ができるようにするための API があります。