NUKE の相対パスの置き換えについて

こちらの記事では、NUKE の相対パスの設定方法と、再設定方法についてご紹介致します。

▼相対パスの設定方法

Readノード等のパス指定を相対パスで行う場合は、前提として、プロジェクトフォルダを設定する必要があります。

プロジェクトフォルダの指定は、Project Settingsで行います。
Node Graph上やProperties上にカーソルを置いた状態で、[S]キーを押すと開くことができます。

Rep_01

こちらの[project directory]が、プロジェクトフォルダを設定する場所です。
もちろんここにファイルパスを入力することでも設定できますが、[Script Directory]をクリックすると、この欄に[python {nuke.script_directory()}]を追加することができます。

[python {nuke.script_directory()}]は、現在開いている.nkファイルのディレクトリを読み込むPythonコードです。下の画像の例でいうと、赤で囲った部分が、自動的に入力されます。
こちらを使用することで、上位のパスが変更されても、ファイル構造が変更されていなければ、そのまま参照することができます。

Rep_02

こちらのコードをコピーして、Readノード等の[file]の項目で使用することもできますし、../ もしくは ./を使用して参照することも可能です。

差し替え例1:.nkスクリプトのあるフォルダの中に素材フォルダがある

Rep_04

差し替え例2:.nkスクリプトの入っているフォルダと同じ階層に素材のフォルダがある

Rep_03

こちらの設定を行う前に、ファイルを移動させ、画像のリンクが切れていた場合でも、上記の設定をファイルパスを指定している各項目で行っていくことで、再参照および今後の移動時に再設定が必要なくなります。

 

▼パスの再設定を行う方法

Readノード、Writeノードを大量に呼び出している.nkファイルでは、これらの設定を再度個別に行うことは、かなり時間のかかる作業になります。
すでに絶対パスが入力されていて、まとめて再設定を行いたい場合、スクリプト内の検索および置き換え機能を使用することができます。使用方法は以下の通りです。

  1. Node Graph上にカーソルを置いて[Ctrl+A]を押して、スクリプト内のノードすべてを選択します。
    ※置き換えに含めたくないノードがある場合は、[Shift]をおしながらクリックして解除します。
  2. 次に、Node Graph上にカーソルを置いたまま[Ctrl+Shift+/]を押してください。
    [Search/Replace in Reads and Writes]ウィンドウが開きます。
    Rep_07
  3. [Search for:]に、置き換え元のパス[Replace with:]に、置き換え先のパスを入力します。
    以下の画像は、入力例です。
    Rep_08
  4. [OK]を押します。これで、条件に該当するファイルパスを置き換えることができます。

※例では相対パスに置き換えていますが、絶対パスを[Replace with:]に入力して置き換えることも可能です。

※Errorのままの場合は、タイムスライダを動かす[Reload]を押すなどして、再読み込みを行ってください。

 

次回のNUKEの記事では、こちらの内容に関連して、パスをまとめて再設定しやすくするための設定方法について、ご紹介したいと思います。