こちらの記事では、ギズモやNDKプラグイン、PythonおよびTclスクリプトによるカスタマイズをNUKEに追加する方法について紹介致します。
▼概要
NUKEは起動時に、さまざまなディレクトリをスキャンして、Nukeの動作をカスタマイズするファイルを探します。お気に入りのディレクトリ、メニューオプション、画像フォーマット、ギズモ、NDKプラグイン、Pythonスクリプト、一般的なTclスクリプト、および環境設定に関する情報を検索します。
警告:Pythonファイルの内容に誤りがあった場合、NUKEが動作しなくなる可能性がありますので、慎重に編集する必要があります。
▼カスタマイズ用のファイルの保存先について
あるリリースのすべてのバージョンでカスタマイズを利用できるようにするには、次のディレクトリに配置します。
- Linux: /usr/local/Nuke/<*>/plugins/
- Mac: /Library/Application Support/Nuke/<*>/plugins/
- Windows: C:\Program Files\Common Files\Nuke\<*>\plugins\
以下の画像は、Windows上でエクスプローラで「Nuke」フォルダを開いた際の画像です。<*>部分には、「10.0」「11.0」「11.1」等のリリースの数字が入ります。
NUKEでこれらのデフォルトの場所ではなく他の場所でプラグインを検索できるようにしたい場合は、こちらの方法で共通のプラグインパスをユーザー側で定義します。
NUKEは、ホームディレクトリ内の特定のサブディレクトリとNUKEのアプリケーションディレクトリも、プラットフォームによって示された順序で探します。
アプリケーションディレクトリの下にカスタマイズを配置した場合は、カスタマイズはそのバージョンでのみ利用可能になります。
Linux:
- /usr/local/Nuke11.1v2/plugins
- /usr/local/Nuke11.1v2/plugins/nukescripts
- /home/<ログイン名>/.nuke
Mac:
- /Applications/Nuke11.1v2/Nuke11.1v2.app/Contents/MacOS/plugins
- /Applications/Nuke11.1v2/plugins/nukescripts
- /Users/<ログイン名>/.nuke
Windows:
- ドライブ文字:\Program Files\Nuke11.1v2\plugins\nukescripts or
- ドライブ文字:\Program Files (x86)\Nuke11.1v2\plugins\nukescripts
- ドライブ文字:\Program Files\Nuke11.1v2\plugins
- ~\.nuke
ご注意:Windowsでは、.nukeフォルダはHOME環境変数が指すディレクトリの下にあります。この変数が設定されていない場合(一般的な設定の場合)、環境変数USERPROFILEで指定されたフォルダの下に.nukeディレクトリが作成されます。この環境変数には、通常、以下のパスが設定されています。
- ドライブ文字:¥Documents and Settings¥<ログイン名>¥
- ドライブ文字:\<ユーザー名>\<ログイン名>\
HOMEおよびUSERPROFILE環境変数が設定されているかどうか、およびそれらが指している場所を確認するには、Windowsエクスプローラーのアドレスバーに「%HOME%」または「%USERPROFILE%」を入力し、[Enter]キーを押します。環境変数が設定されている場合、その環境変数が指しているフォルダが開きます。
設定されていない場合は、エラーが発生します。
▼NUKE STUDIO での起動時のPythonコードの実行
NUKE STUDIOでは、init.pyやmenu.pyファイルを使用して、Python またはプラグインの環境を設定するだけでなく、起動時に自動的にPythonコードを実行することもできます。このPythonコードのデフォルトの場所は次のとおりです。
- <STARTUP_PYTHON_PATH>/Python/Startup
デフォルトでは、<STARTUP_PYTHON_PATH>は上記でOS毎に紹介した$ HOME / .nukeです。
/ Python / Startupディレクトリ内にある__init__.pyを含むPythonの.pyモジュールまたはパッケージは、アプリケーションの起動時にインポートされ、hiero.plugins名前空間に追加されます。
▼NUKEのプラグインパスを定義する方法とその読み込む順序
こちらの方法を使用して、NUKEのプラグインパスを定義することで、複数のアーティスト向けに、カスタマイズの共有ディレクトリを割り当て、まとめてNUKEを制御することができます。
プラグインパスを定義するには、以下の操作を行います。
- 各アーティストのマシンで、「NUKE_PATH」環境変数を作成します。
- NUKEのカスタマイズに関連するファイルがあるディレクトリのパスを「NUKE_PATH」環境変数の変数値に割り当てます。
例えば、Macではcshまたはtcshシェルを使用して、以下の内容を入力します。
setenv NUKE_PATH /SharedDisk/Nuke
bashまたはkshシェルを使用する場合は、以下の内容を入力します。
export NUKE_PATH=/SharedDisk/Nuke
プラグインの読み込み(plugin_find())は、最初のプラグインが見つかるまでNUKE_PATHを検索し、最もローカルなプラグインのみを読み込みます。例えば、NUKE_PATH変数に次の内容が設定されているとします。
<プロジェクトディレクトリ>;<スタジオディレクトリ>;<カンパニーディレクトリ>
最初のプラグインが見つかるまで、パスは次の順序で検索されます。
- ~/.nuke
- <プロジェクトディレクトリ>
- <スタジオディレクトリ>
- <カンパニーディレクトリ>
- NUKEのディレクトリ
しかしながら、NUKE_PATH環境変数はinit.pyとmenu.pyの読み込みを行うときは逆の順序で解析され、発見されたすべてのコピーが使用されます。 これにより、ローカルの設定でよりグローバルな設定を上書きできます。 上のようなディレクトリ構造では、init.pyスクリプトは次の順序で実行されます。
- <NUKEのディレクトリ>/init.py
- <カンパニーディレクトリ>/init.py
- <スタジオディレクトリ>/init.py
- <プロジェクトディレクトリ>/init.py
- ~/.nuke/init.py