こちらの記事では、NUKEの「DiskCache」ノードについて、概要と使用方法を紹介致します。
▼DiskCacheノードとは
DiskCacheノードは、接続したノードより上流の部分をキャッシュし、下流で使用するためのノードです。これにより、Nukeは上流のノードを毎回再計算する必要なく、キャッシュしたデータを参照することができます。
デフォルトでは、DiskCacheノードは、カレントフレームのViewerで表示した範囲で、選択したチャンネルのキャッシュを取得します。
DiskCacheノードは、以下のような目的で使用されます。
- 大規模で複雑なノードツリー上で作業している時に、DiskCacheノードを使用することで作業が完了している一部分をキャッシュする。
- RotoノードやRotoPaintノードで作業する際に、間にDiskCacheノードを追加することで、フレームの切り替えをより早くする。
▼キャッシュされたファイルについて
DiskCacheノードによってキャッシュされたファイルの保存先は、NukeのViewerが自動的にキャッシュするファイルと同じです。PreferencesのCaching > Disk Cachingの項目で、保存先のディレクトリとサイズを設定できます。保存先のディレクトリは、大規模で高速なローカルディスクに設定することをお勧めします。
また、ファイルは32ビット(float)でキャッシュされます。
▼DiskCacheノードの使用方法
- ビューアで表示する範囲を設定します。デフォルトでは、ビューアに表示されている範囲のみがキャッシュされます。
- [Other] > [DiskCache]を選択して、キャッシュしたい部分の最下流になるノードの後にDiskCacheノードを追加します。以下の画像の位置に配置した場合、キャッシュして出力する結果は、赤枠にあるノード群の出力結果です。
- プロパティで、チャンネルドロップダウンメニューから、キャッシュするチャンネルを選択します。
この時点から、Nukeは前のノードの出力を常に再計算するのではなく、キャッシュされたデータを参照します。
パンとズームを行うと、画像の新しい部分がキャッシュされます。
- 現在のフレームおよび表示範囲よりも多くをキャッシュしたい場合は、DiskCacheプロパティの[Precache]ボタンをクリックし、表示されたダイアログボックスにキャッシュするフレーム範囲を入力します。
これにより、Nukeは指定されたすべてのフレームをキャッシュします。[Precache]ボタンでキャッシュした場合、Viewerに表示される内容に関係なく、すべての範囲をキャッシュします。必要な画像がすでに部分的にキャッシュされている場合、Nukeは欠落しているもののみ計算します。