[キャッシュ ディスク](Cache Disk)オペレータは、[キャッシュ](Cache)オペレータと同じように機能しますが、MAX ファイルからディスク ファイルにキャッシュを個別に保存できる点が異なります。
[キャッシュ](Cache)オペレータと同様に、パーティクル システムのすべてのアクティビティを事前に計算して保存できるため、計算を待たずに、アニメーションをすぐに再生またはスクラブできます。ディスク ファイルの使用以外の大きな違いは、ディスク キャッシュはメモリ キャッシュよりも低速であるため、自動更新のオプションがないという点です。利点は、キャッシュのサイズの唯一の制限が、ハード ドライブ上の空き領域であるという点です。
キャッシュ ディスクを使用するには、キャッシュするイベント、またはパーティクル フロー全体をキャッシュする場合はグローバル イベントに[キャッシュ ディスク](Cache Disk)を追加し、[ファイルを選択](Select File)をクリックして、ファイル名を指定し、[保存](Save)をクリックします。次に、キャッシュを作成するには、アニメーションを再生し、[更新](Update)ボタンをクリックします。
また、ディスク キャッシュはメモリ キャッシュよりも低速であるため、[キャッシュ ディスク](Cache Disk)には自動更新オプションがありません。パラメータを変更したときに、変更した結果を表示する場合は、[更新](Update)ボタンをクリックする必要があります。
ヒント: パーティクル システムが互いに依存している場合は、特にネットワークを介してレンダリングするとき、またはフレームを非連続的にレンダリングするときはレンダリングの前に、[キャッシュ](Cache)オペレータを使用してシミュレーションを計算します。パーティクル システムは相互に依存しているため、パーティクル フローは 1 回につき 1 フレームのみ反復できます。
キャッシュがパーティクル フローで機能する方法に関する一般的な情報については、「[キャッシュ](Cache)オペレータ」の概要を参照してください。
「[キャッシュ選択](Cache Selective)オペレータ」も参照してください。
インタフェース
- 使用時
- ビューポート内での再生時かレンダリング時、またはその両方で、パーティクル モーションをキャッシュします。既定値は[ビューポート](Viewport)です。
重要: ビューポート内およびレンダリング用に同数のパーティクルを使用する場合にのみ、[ビューポート/レンダリング](Viewport/Render)オプションを選択します。つまり、グローバル イベント(またはパーティクル フロー ソース)の放出ロールアウトの 2 つの
マルチプライヤ量の設定が同じである必要があります。それ以外の場合に選択すると、予期しない結果が起こる可能性があります。
- [範囲]
- [キャッシュ ディスク](Cache Disk)オペレータが機能するフレーム範囲を設定します。既定値は、[アクティブ セグメント]です。
- [アクティブ セグメント](Active Segment) [時間設定](Time Configuration)ダイアログ ボックスの[開始時間](Start Time)および[終了時間](End Time)の設定で定義されたアクティブ セグメント内のフレームのみがキャッシュされます。これは、トラック バーに表示されたフレーム範囲です。[Alt]+[Ctrl]を押しながらトラック バーをドラッグしてもアクティブ セグメントを変更できます。この操作では、左、中央、または右のマウス ボタンを使用できます。
- [カスタム](Custom) [キャッシュ ディスク](Cache Disk)オペレータの[開始時間](Start Time)および[終了時間](End Time)設定(次を参照)で定義された、カスタム範囲内のフレームのみがキャッシュされます。
注: アニメーションの一部のみをキャッシュする場合、パーティクル フローは、キャッシュされたデータを使用して、キャッシュされていない後続のフレーム内のパーティクルの動作を計算します。たとえば、フレーム 0 ~ 50 をキャッシュしてからフレーム 60 に移動すると、フレーム 51 はキャッシュされたデータを基に計算され、フレーム 52 ~ 60 はそれぞれ前のフレームを基に計算されます。
- [開始時間](Start Time)、[終了時間](End Time)
- [範囲](Range)が[カスタム](Custom)に設定されている場合(前述を参照)の、キャッシュ対象範囲の最初と最後のフレームです。既定値は、0 および 30 です。
注: フレーム範囲のタイム フレームは、アニメーション全体を基準にした絶対値時間です。[キャッシュ ディスク](Cache Disk)オペレータをローカルに使用し、イベント内にパーティクルが存在しないフレーム範囲を指定する場合、パーティクル フローはキャッシュを使用しません。
- [サンプリング]
- [キャッシュ ディスク](Cache Disk)オペレータがアニメーションのサンプリングおよびキャッシュを行う頻度を決定します。既定値は[フレームごと]です。
- [フレームごと](Every Frame)アニメーション データをフレームごとにキャッシュします。
- インテグレーション ステップ(Integration Step): [使用時](Use At)設定(前述を参照)とフローの[システム マネージメント](System Management)ロールアウト(グローバル イベントを選択)で指定された[インテグレーション ステップ](Integration Step)設定を使用して、インテグレーション ステップごとにアニメーション データがキャッシュされます。[使用時](Use At)が[ビューポート/レンダリング](Viewport/Render)に設定されている場合、2 つの[インテグレーション ステップ](Integration Step)値の低い方の値を使用します。たとえば、[ビューポート](Viewport)が[1/2 フレーム](Half Frame)に、[レンダリング](Render)が[1/8 フレーム](1/8 Frame)に設定されている場合、サンプリング レートは毎フレーム 8 になります。
- N 番目のフレームごと(Every Nth Frame): [N]値(次を参照)で指定されたフレーム間隔でアニメーション データがキャッシュされます。
- N
- [サンプリング](Sampling)が[N 番目のフレームごと](Every Nth Frame)に設定されている場合、キャッシュのフレーム間隔を設定します。既定値は 5 です。
たとえば、[N]を既定値の 5 に設定すると、5 フレームごとにアニメーション データがキャッシュに格納されます。
- キャッシュ テストの結果
- パーティクル データをキャッシュする場合、テスト操作の結果もキャッシュします。既定値ではチェックマークが付いています。
[キャッシュ ディスク](Cache Disk)をローカル オペレータとして使用し、次のイベントがキャッシュ タイプのオペレータを保持しない場合、このオプションは重要です。次のイベントが適正に動作するには、現在のイベントからパーティクルを受け取る必要があります。これらのパーティクルは、テスト操作により生成されます。[キャッシュ ディスク](Cache Disk)オペレータはテスト操作を記録して、後で再生できます。
[キャッシュ ディスク](Cache Disk)オペレータをグローバル オペレータとして使用する場合は、テスト結果をキャッシュする必要はありません。これは、システムがキャッシュ データをイベントごとにキャッシュしており、テスト結果なしで任意のフレームに移動できるためです。
[キャッシュ ファイル](Cache Files)領域
各[キャッシュ ディスク](Cache Disk)オペレータは、そのデータをアニメーションごとに 1 つずつディスク ファイルのシーケンスに保存します。ファイル名には base_name#.pfc の形式を使用します。base_name は指定する名前、# は先行ゼロの 4 桁の数値、および .pfc(パーティクル フロー キャッシュ)はファイル名拡張子です。
- [ファイルを選択](Select Files)ボタン
- このボタンをクリックして、キャッシュ ファイルの場所とベース名を指定します。この操作が完了すると、ベース名がボタン上に表示されます。ボタンの上にマウス カーソルを置くと、ツール ヒントの上にパス全体とベース名が表示されます。
[更新とリセット](Update And Reset)領域
ディスク キャッシュはメモリ キャッシュよりも低速であるため、キャッシュ ディスクにはディスク キャッシュを自動的に更新するオプションがありません。パラメータを変更したときに、変更した結果を表示する場合は、[更新](Update)ボタンをクリックする必要があります。
- 更新
- パーティクル システム内でパラメータを変更すると、キャッシュされたデータが無効になる可能性があります。このボタンをクリックすると、この領域で指定した範囲を使用してキャッシュを手動で更新できます。
進行中に更新をキャンセルするには、[Esc] を押します。
- [クリア]
- この領域で指定された範囲を使用して、キャッシュ ファイルを削除します。
- [範囲]
- [更新](Update)または[クリア](Clear)をクリックするときに[キャッシュ](Cache)オペレータにより再計算されるフレーム範囲を設定します。既定値は、[アクティブ セグメント]です。
- [アクティブ セグメント](Active Segment) [時間設定](Time Configuration)ダイアログ ボックスの[開始時間](Start Time)および[終了時間](End Time)の設定で定義された、アクティブ セグメント内のフレーム用キャッシュのみが更新されます。これは、トラック バーに表示されたフレーム範囲です。[Alt]+[Ctrl]を押しながらトラック バーをドラッグしてもアクティブ セグメントを変更できます。この操作では、左、中央、または右のマウス ボタンを使用できます。
- [カスタム](Custom) [開始時間](Start Time)および[終了時間](End Time)設定(次を参照)で定義された、カスタム範囲内のフレーム用キャッシュのみが更新されます。
- [開始時間](Start Time)、[終了時間](End Time)
- [範囲](Range)が[カスタム](Custom)に設定されている場合(上を参照)の、更新される範囲の最初と最後のフレームです。既定値は、0 および 30 です。
- ビューポートを更新
- このチェック ボックスにチェックマークが付いている場合、キャッシュの手動更新中にビューポート内でアニメーションが再生されます。チェックマークが付いていない場合、手動更新中にビューポート内にアニメーションが表示されないため、特に大規模または複雑なパーティクル システムでは、キャッシュの処理速度が向上します。既定値ではチェックマークが付いています。
- すべて更新(Update All)
- 現在のフローのすべての[ディスク キャッシュ](Disk Cache)オペレータのキャッシュを更新します。このオプションを使用すると、フロー全体に影響するパラメータを変更した後に各キャッシュを個別に更新する必要がなくなります。
- [すべてクリア]
- 現在のフローのすべての[ディスク キャッシュ](Disk Cache)オペレータのキャッシュ ファイルを削除します。
- [キャッシュからデータを除外](Exclude Data From Cache)
- パーティクル フローで、指定したアニメーション データがキャッシュ ファイルに保存されないようにします。このオプションをオンにすると、キャッシュからそのタイプのデータを除外できます。データ タイプは、[シェイプ](Shape)、[スクリプト データ](Script Data)、[スケール](Scale)、[マテリアル ID](Material ID)、[マッピング](Mapping)、および[回転](Rotation)です。
これらのオプションを使用すると、特に除外したデータがポスト キャッシュ オペレータで計算される場合(後述を参照)場合は、キャッシュ ファイルのサイズを減らすことができます。通常は[シェイプ](Shape)データが最もストレージを消費します。パーティクル シェイプがポスト キャッシュ オペレータで定義されている場合は、データは無視されるため、キャッシュ ファイルにデータを保存する必要はありません。
- [ポストキャッシュ オペレータを使用](Use Post-Cache Operators)
- キャッシュ処理の後にオペレータを適用できます。そのため、それらのオペレータのアクションはキャッシュに保存されません。このオプションをオンにした後に、[リスト別に追加](Add By List)をクリックすると、現在のフロー内の動作に影響のあるオペレータがすべて示されるダイアログ ボックスが表示され、このダイアログ ボックスからオペレータを選択できます。選択したオペレータは、[ポスト キャッシュ オペレータ](Post-Cache Operators)リストに表示されます。
ポスト キャッシュ オペレータを使用して、計算済みのパーティクル システムを調整します。参照オブジェクトとの衝突、および場合によってはパーティクル間の衝突により、パーティクルの移動に計算のほとんどが費やされる場合があります。この場合は、最初にモーションを計算してから、キャッシュ ファイルに保存することをお勧めします。他のパーティクル アスペクト(サイズ、シェイプ、カラー、マッピング、方向)は、キャッシュ後に計算し、後から適用できます。
- [ポストキャッシュ オペレータ](Post-Cache Operators)
- [ポスト キャッシュ オペレータを使用](Use Post-Cache Operators)で指定されたオペレータが表示されます。
- [リスト別に追加](Add By List)
- ダイアログが開き、キャッシュ処理の後に影響が適用されるオペレータを選択できます。したがって、これらのオペレータのアクションはキャッシュに保存されません。
- [削除]
- [ポスト キャッシュ オペレータ](Post-Cache Operators)リストからハイライト表示されたオペレータを削除します。
- メモリ制限
- 最適なパフォーマンスを実現するために、[キャッシュ ディスク](Cache Disk)オペレータは、キャッシュの一部のみをメモリに保存します。このパラメータで、RAM キャッシュの最大サイズを指定します。合計キャッシュ サイズが[メモリ制限](Memory Limit)値を超えると、最新のフレームのみが RAM に保存されます。特定のフレームのキャッシュ情報が使用可能になると、その情報は、ディスクの .pfc の拡張子の付いたファイルに書き込まれます。
- メモリ クリア(Clear Memory)
- RAM キャッシュをパージし、オペレータで強制的にファイル(使用できる場合)からキャッシュ データを取得するか、キャッシュ データを再計算します(キャッシュ ファイルが使用できない場合)。
- [すべてクリア]
- すべての[キャッシュ ディスク](Cache Disk)オペレータで[メモリ クリア](Clear Memory)機能(前述を参照)を実行します。