Bifröst ユーザ キャッシュを生成する

ユーザ キャッシュのための Bifröst シミュレーションを準備する

ユーザ キャッシュの生成時に、不要な計算と必要なメモリを少なくするには、次の操作を行います。

  1. シーンに複数の Bifröst シミュレーションがある場合は、ユーザ キャッシュを作成しないシミュレーションを一時的にオフにできます。これを行うには、メイン コンテナ ノードのコンテナ アトリビュート(Container Attributes)グループにある有効(Enable)のチェックを外します。
  2. Bifröst が同時にスクラッチ キャッシュの使用や作成を実行していないことを確認します。操作方法:
    • Bifrost > Bifrost オプション(Bifrost Options)を選択し、バックグラウンド処理を有効化(Enable Background Processing)をオフにします。スクラッチ キャッシュはバックグラウンド処理が有効な場合は常に使用されます。
    • スクラッチ キャッシュをオフにします。メイン コンテナ ノードの シミュレーション アトリビュート(Simulation Attributes)グループにあるスクラッチ キャッシュ(Scratch Cache)をオフに切り替えるか、またはBifrost オプション(Bifrost Options)ダイアログ ボックスのスクラッチ キャッシングを有効化(Enable Scratch Caching)をオフに切り替えると、シーン内のすべての Bifröst シミュレーションを対象にできます。
      注: Bifrost オプション(Bifrost Options)ダイアログ ボックスでスクラッチ キャッシングを有効化(Enable Scratch Caching)が既にオフになっている場合でも、個々のコンテナ ノードではスクラッチ キャッシュ(Scratch Cache)がまだ有効になっている場合があります。すべてのノードのスクラッチ キャッシュ(Scratch Cache)をオフにするには、スクラッチ キャッシングを有効化(Enable Scratch Caching)をオンに切り替えてから再度オフに切り替えます。

シーン内のすべてのキャッシュ可能なオブジェクトに対してユーザ キャッシュを作成する

この方法は、液体、Aero、泡、コライダ オブジェクトなど、シーン内のすべてのキャッシュ可能なオブジェクトに対して個別のユーザ キャッシュを作成します。この方法は、新しくキャッシュされたフレームを既存のユーザ キャッシュに追加してシミュレーションのフレーム レンジを拡張する場合に使用します。「既存の Bifröst ユーザ キャッシュに追加する」を参照してください。

  1. キャッシュするシミュレーションのコンテナを選択します。
  2. Bifrost > 計算してディスクにキャッシュ(Compute and Cache to Disk) > を選択します。
  3. 必要に応じて設定されていることを確認します。例:
    • 圧縮形式(Compression format) が適切な品質に設定されている。
    • メイン コンテナ ノードのシミュレーション アトリビュート(Simulation Attributes)グループのシミュレーション設定にある開始フレーム(Start Frame)で開始されるように、キャッシュ時間の範囲(Cache time range)を設定している。
    • 書き込みモード(Write Mode)すべてを書き込む(Write All)に設定されている。

    計算とキャッシュのオプション」を参照してください。

  4. 作成(Create)または適用(Apply)をクリックします。

    バックグラウンド処理を有効化(Enable Background Processing)がオフの場合、要求されたフレームが Bifröst 計算サーバに一つずつ送られ、Maya を操作できるようになるまですべてのフレームの処理が完了するのを待つ必要があります。

    ユーザ キャッシュがディスクに書き込まれます。さらに、次の操作が行われます。
    • 計算およびキャッシュされたフレームは、タイムライン上で青色に表示されます。
    • キャッシュ可能なオブジェクトの場合、コンテナ ノードのオブジェクトのキャッシング(Caching)アトリビュート グループで、キャッシュ ディレクトリ(Cache Directory)およびキャッシュ名(Cache Name)アトリビュートを設定します。
    • 有効(Enable)をオンにし、キャッシュ コントロール(Cache Control)を 1 (読み取りモード)に設定します。
  5. 必要に応じて、高速なスクラブおよび再生のためにスクラッチ キャッシュ(Scratch Cache)を再度オンにすることができます。
注: キャッシュを使用するときは、ダイナミクス(Dynamics)プリファレンスの現在のタイムまでランナップ(Run up to current time)をオフにします。

個々 の Bifröst オブジェクトにユーザを作成する

キャッシング(Caching) アトリビュートを設定することにより、個別の Bifröst オブジェクトにユーザ キャッシュを作成することができます。シミュレーション内の他のオブジェクトのユーザ キャッシュが不要な場合は、単一のオブジェクトをキャッシュすると不要な計算を減らすことができます。この場合、フレーム レンジを拡張するにはシミュレーション全体をキャッシュし直す必要があります。このユーザ キャッシュにはアペンドできません。

重要: 設定 > タイム スライダ(Settings > Time Slider)プリファレンスで、ループ(Looping)1 回(Once)に設定されていることを確認します。この設定がされていない場合、Bifröst は開始フレームに戻るとシミュレーションをキャッシュしなおします。
  1. キャッシュするシミュレーションのメイン コンテナを選択します。
  2. アトリビュート エディタ(Attribute Editor )で、キャッシュするオブジェクトのメイン プロパティ ノードのタブをクリックします。
  3. オブジェクトのキャッシング(Caching)グループで、キャッシュ コントロール(Cache Control) を 2 (書き込みモード)。

    その他のすべてのキャッシング アトリビュートが目的の通りに設定されていることを確認します。「Bifröst キャッシング アトリビュート」を参照してください。

  4. ユーザ キャッシュを作成するには、開始フレームからシミュレーションを再生します。

    Bifröst はオブジェクトのフレームを計算してキャッシュし、指定した場所に保存します。

  5. キャッシュ コントロール(Cache Control)を 1 (読み取りモード)に設定します。
  6. シミュレーションをプレビューします。

ユーザ キャッシュからの読み取りを停止する

  1. シミュレーションを開始フレームまで巻き戻します。
  2. メイン プロパティ ノードの Bifröst オブジェクトのキャッシング(Caching)アトリビュート グループにある有効(Enable)をオフにします。

    キャッシュ コントロール(Cache Control) は 1 (読み取りモード)に設定されたままです。ただし、ユーザ キャッシュの読み取るよりも、シミュレーションの計算が優先されます。