NUKE DiskCache ノードについて

こちらの記事では、NUKEの「DiskCache」ノードについて、概要と使用方法を紹介致します。

 

▼DiskCacheノードとは

DiskCacheノードは、接続したノードより上流の部分をキャッシュし、下流で使用するためのノードです。これにより、Nukeは上流のノードを毎回再計算する必要なく、キャッシュしたデータを参照することができます。

デフォルトでは、DiskCacheノードは、カレントフレームのViewerで表示した範囲で、選択したチャンネルのキャッシュを取得します。

DiskCacheノードは、以下のような目的で使用されます。

  • 大規模で複雑なノードツリー上で作業している時に、DiskCacheノードを使用することで作業が完了している一部分をキャッシュする。
  • RotoノードやRotoPaintノードで作業する際に、間にDiskCacheノードを追加することで、フレームの切り替えをより早くする。

 

▼キャッシュされたファイルについて

DiskCacheノードによってキャッシュされたファイルの保存先は、NukeのViewerが自動的にキャッシュするファイルと同じです。PreferencesのCaching > Disk Cachingの項目で、保存先のディレクトリとサイズを設定できます。保存先のディレクトリは、大規模で高速なローカルディスクに設定することをお勧めします。

また、ファイルは32ビット(float)でキャッシュされます。

 

▼DiskCacheノードの使用方法

  1. ビューアで表示する範囲を設定します。デフォルトでは、ビューアに表示されている範囲のみがキャッシュされます。
     
  2. [Other] > [DiskCache]を選択して、キャッシュしたい部分の最下流になるノードの後に​​DiskCacheノードを追加します。以下の画像の位置に配置した場合、キャッシュして出力する結果は、赤枠にあるノード群の出力結果です。
     

     
  3. プロパティで、チャンネルドロップダウンメニューから、キャッシュするチャンネルを選択します。
     

     
    この時点から、Nukeは前のノードの出力を常に再計算するのではなく、キャッシュされたデータを参照します。
    パンとズームを行うと、画像の新しい部分がキャッシュされます。
     
  4. 現在のフレームおよび表示範囲よりも多くをキャッシュしたい場合は、DiskCacheプロパティの[Precache]ボタンをクリックし、表示されたダイアログボックスにキャッシュするフレーム範囲を入力します。
     
    これにより、Nukeは指定されたすべてのフレームをキャッシュします。[Precache]ボタンでキャッシュした場合、Viewerに表示される内容に関係なく、すべての範囲をキャッシュします。必要な画像がすでに部分的にキャッシュされている場合、Nukeは欠落しているもののみ計算します。