概要
この記事では、Nukeで相対ファイルパスを使用する方法について説明します。
詳しくは
Nukeでファイルパスを指定する主な方法は2つあります。
- 絶対パス
絶対パスには絶対パス名が含まれているので、たとえばWindowsでは次のようになります。
C:\Users\Admin\Documents\Nuke\Project001\Shot001\Frame_####.dpx
- 相対パス
相対パスには、パスの一部だけが共通の相対ポイントまで含まれます。たとえば、次のようになります。
Shot001\Frame_####.dpx
残りの部分はC:\Users\Admin\Documents\Nuke\Project001
ヌークが背後で埋める相対的な基準として提供されます。
つまり、親ディレクトリの場所とすべてのファイルを移動することができ、ファイルパスが共通点を基準にして参照されるため、プロジェクトは引き続き機能します。
相対パスの参照
完全なファイルパスを参照するために使用される共通の相対パスは、Nukeスクリプトのproject_directoryノブで定義されています。
これは、次のいずれかに設定できます。
- 絶対パス、または
- Nukeスクリプトが保存されているのと同じディレクトリ。
project_directoryの値を編集するには:
1)Nukeスクリプトを開く
2)編集/プロジェクト設定を選択して、プロジェクト設定を開きます
3)script directryリボタンを押すと、project_directoryのボックスに次のコードが入力されます:
[python {nuke.script_directory()}]
これは、project_directoryのパスを、Nukeスクリプトが格納されているものと同じパスに設定します。
project_directoryを定義するとき、Nukeスクリプトの場所からディレクトリを読み込むだけで、Readノードのファイルパス参照は必要ありません。また、スクリプトの場所から、 ..\
これにより、Nukeスクリプトをサブディレクトリに置くことができますが、相対参照を使用して必要なすべてのファイルにアクセスすることができます。たとえば、次のようになります。
プロジェクトの完全なパスに到達するには: C:\Users\Admin\Documents\Nuke\Project001\Scripts\NukeScript_001.nk
あなたは持っているでしょう:
- project_directory:
[python {nuke.script_directory()}]
- Readノードの相対パスは次のように設定されます。
..\Shot002\Frame02_####.dpx
結果の絶対パスは次のようになります。 C:\Users\Admin\Documents\Nuke\Project001\Shot002\Frame02_####.dpx
下の画像は、このプロジェクトのファイル構造を示しています。
この記事の原文は下記のFoundryナレッジベースに記載されています。