[キャッシュ選択](Cache Selective)オペレータ

[キャッシュ選択](Cache Selective)オペレータは、キャッシュから特定のタイプのデータを除外する点を除いて、[キャッシュ](Cache)オペレータとほとんど同じように動作します。また、[キャッシュ ディスク](Cache Disk)オペレータでは、ポストキャッシュ オペレータを指定できますが、キャッシュを手動で更新する必要があります。

[キャッシュ選択](Cache Selective)のワークフローは、[キャッシュ](Cache)オペレータのワークフローと少し異なり、パーティクル システム(通常はモーション)のほとんどの計算集約型プロパティを定義して事前計算したら、ポストキャッシュ オペレータを介して他のパーティクル システム プロパティ(シェイプ、サイズ、方向、マッピング、カラーなど)を操作するように設計されています。

[キャッシュ選択](Cache Selective)を使用するには、キャッシュするイベントに追加します。または、パーティクル フロー全体をキャッシュする場合は、[キャッシュ選択](Cache Selective)をグローバル イベントに追加します。

ヒント: パーティクル システムが互いに依存している場合は、特にネットワークを介してレンダリングするとき、またはフレームを非連続的にレンダリングするときはレンダリングの前に、[キャッシュ](Cache)オペレータを使用してシミュレーションを計算します。パーティクル システムは相互に依存しているため、パーティクル フローは 1 回につき 1 フレームのみ反復できます。

キャッシュがパーティクル フローで機能する方法に関する一般的な情報については、「[キャッシュ](Cache)オペレータ」の概要を参照してください。

[キャッシュ ディスク](Cache Disk)オペレータ」も参照してください。

インタフェース

使用時
ビューポート内での再生時かレンダリング時、またはその両方で、パーティクル モーションをキャッシュします。既定値は[ビューポート](Viewport)です。
重要: ビューポート内およびレンダリング用に同数のパーティクルを使用する場合にのみ、[ビューポート/レンダリング](Viewport/Render)オプションを選択します。つまり、グローバル イベント(またはパーティクル フロー ソース)の放出ロールアウトの 2 つのマルチプライヤ量の設定が同じである必要があります。それ以外の場合に選択すると、予期しない結果が起こる可能性があります。
注: エミッタが選択されている場合、データは白で表示されます。
[範囲]
[キャッシュ選択](Cache Selective)オペレータが機能するフレーム範囲を設定します。既定値は、[アクティブ セグメント]です。
  • [アクティブ セグメント](Active Segment) [時間設定](Time Configuration)ダイアログ ボックスの[開始時間](Start Time)および[終了時間](End Time)の設定で定義されたアクティブ セグメント内のフレームのみがキャッシュされます。これは、トラック バーに表示されたフレーム範囲です。[Alt]+[Ctrl] を押しながらトラック バーをドラッグしてもアクティブ セグメントを変更できます。この操作では、左、中央、または右のマウス ボタンを使用できます。
  • [カスタム](Custom) [キャッシュ選択](Cache Selective)オペレータの[開始時間](Start Time)および[終了時間](End Time)設定(次を参照)で定義された、カスタム範囲内のフレームのみがキャッシュされます。
注: アニメーションの一部のみをキャッシュする場合、パーティクル フローは、キャッシュされたデータを使用して、キャッシュされていない後続のフレーム内のパーティクルの動作を計算します。たとえば、フレーム 0 ~ 50 をキャッシュしてからフレーム 60 に移動すると、フレーム 51 はキャッシュされたデータを基に計算され、フレーム 52 ~ 60 はそれぞれ前のフレームを基に計算されます。
[開始時間](Start Time)、[終了時間](End Time)
[範囲](Range)が[カスタム](Custom)に設定されている場合(前述を参照)の、キャッシュ対象範囲の最初と最後のフレームです。既定値は、0 および 30 です。
注: フレーム範囲のタイム フレームは、アニメーション全体を基準にした絶対値時間です。[キャッシュ選択](Cache Selective)オペレータをローカルに使用し、イベント内にパーティクルが存在しないフレーム範囲を指定する場合、パーティクル フローはキャッシュを使用しません。
[サンプリング]
[キャッシュ選択](Cache Selective)オペレータがアニメーションのサンプリングおよびキャッシュを行う頻度を決定します。既定値は[フレームごと]です。
  • [フレームごと](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 Selective)をローカル オペレータとして使用し、次のイベントがキャッシュタイプ オペレータを保持しない場合、このオプションは重要です。次のイベントが適正に動作するには、現在のイベントからパーティクルを受け取る必要があります。これらのパーティクルは、テスト操作により生成されます。[キャッシュ選択](Cache Selective)オペレータはテスト操作を記録して、後で再生できます。

[キャッシュ選択](Cache Selective)オペレータをグローバル オペレータとして使用する場合は、テスト結果をキャッシュする必要はありません。これは、システムがキャッシュ データをイベントごとにキャッシュしており、テスト結果なしで任意のフレームに移動できるためです。

キャッシュをファイルに保存
このチェック ボックスにチェックマークが付いている場合、ディスクに保存するシーンと一緒に、キャッシュしたデータが含められます。これにより、保存されるファイルのサイズが非常に大きくなりますが、ファイルの再ロード時にパーティクル モーションを再計算する時間が短縮されます。既定値ではチェックマークが付いていません。

通常、キャッシュ データは、[保存](Save)または[名前を付けて保存](Save As)コマンドの実行時に作成されるディスク ファイルにのみ保存されます。また、次のオプションを使用して、キャッシュされたデータを一時保存ファイルに保存することもできます。

[キャッシュを一時保存ファイルへ]
キャッシュされたデータを、3ds Max [編集](Edit)メニュー [一時保存](Hold)で作成される一時保存ファイルに保存します。既定値ではチェックマークは付いていません。

[更新とリセット](Update And Reset)領域

[キャッシュ選択](Cache Selective)には、パフォーマンスに悪影響を与えるので、ディスク キャッシュを自動的に更新するオプションがありません。パラメータを変更したときに、変更した結果を表示する場合は、[更新](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 です。
ビューポートを更新
このチェック ボックスにチェックマークが付いている場合、キャッシュの手動更新中にビューポート内でアニメーションが再生されます。チェックマークが付いていない場合、手動更新中にビューポート内にアニメーションが表示されないため、特に大規模または複雑なパーティクル システムでは、キャッシュの処理速度が向上します。既定値ではチェックマークが付いています。
[キャッシュからデータを除外](Exclude Data From Cache)
パーティクル フローで、指定したアニメーション データがキャッシュ ファイルに保存されないようにします。このオプションをオンにすると、キャッシュからそのタイプのデータを除外できます。データ タイプは、[シェイプ](Shape)、[スクリプト データ](Script Data)、[スケール](Scale)、[マテリアル ID](Material ID)、[マッピング](Mapping)、および[回転](Rotation)です。
[ポストキャッシュ オペレータを使用](Use Post-Cache Operators)
キャッシュ処理の後にオペレータを適用できます。そのため、それらのオペレータのアクションはキャッシュに保存されません。このオプションをオンにした後に、[リスト別に追加](Add By List)をクリックすると、現在のフロー内の動作に影響のあるオペレータがすべて示されるダイアログ ボックスが表示され、このダイアログ ボックスからオペレータを選択できます。選択したオペレータは、[ポスト キャッシュ オペレータ](Post-Cache Operators)リストに表示されます。
[ポストキャッシュ オペレータ](Post-Cache Operators)
[ポスト キャッシュ オペレータを使用](Use Post-Cache Operators)で指定されたオペレータが表示されます。
[リスト別に追加](Add By List)
ダイアログが開き、キャッシュ処理の後に影響が適用されるオペレータを選択できます。したがって、これらのオペレータのアクションはキャッシュに保存されません。
[削除]
[ポスト キャッシュ オペレータ](Post-Cache Operators)リストからハイライト表示されたオペレータを削除します。

[メモリ使用量 (K)]領域

[キャッシュ選択](Cache Selective)オペレータは、システム メモリ内にデータを格納します。このオペレータが使用するメモリ量の上限を指定できます。[リミット](Limit)設定およびキャッシュされるデータの量が利用可能な空きメモリを超えた場合、コンピュータ システムは代わりにハード ディスク ベースの仮想メモリを使用します。このため、キャッシュの処理速度が低下します。パーティクル フローがキャッシングを行う場合、残りのフレームの計算は迅速に行われます。

この領域を使用してデータのキャッシュに使用されるメモリの量を監視することもできます。

リミット
パーティクル データのキャッシュに使用されるシステム メモリの最大量を、キロバイトで指定します。既定値は 100,000 (97.6 MB)です。
合計
キャッシュ データにより現在使用されているメモリの量。単位はキロバイト、読み込み専用です。
注: パーティクルの存在しないアニメーション フレームでも、ある程度のキャッシュ メモリが消費されます。これは、パーティクルのアクティビティがレンダリング ネットワーク全体およびすべてのフレームに定期的にアクセスしていないマシンでも一貫していることを保証するため、[変動](Variation)などのランダムに計算された値の状態もキャッシュに格納されるためです。
現在のフレーム
現在のフレーム用のキャッシュ データに使用されるメモリの量。単位はキロバイト、読み込み専用です。