Q100465:異なるバージョンのNuke用のプラグインをロードする方法

フォローする

概要

この記事では、Nukeの複数のバージョンに対して異なるプラグインディレクトリをロードする方法について2つの異なる方法を概説します。

複数の異なるバージョンのNukeを同時に使用している場合、サードパーティ製のプラグインが使用しているすべてのバージョンのNuke互換性がない場合があるため、これは役に立ちます


詳しくは

まず、あなたはあなたのプラグインをNukeのバージョンごとに異なるディレクトリに保存する必要があります。その後、起動時にロードするNukeの追加ディレクトリを追加できます。

特定のバージョンのNukeに対してのみロードしたいプラグインは、ローカルの 〜/ .nukeフォルダーには 追加し ないでください( セーフモードで 実行している場合を除く )。

あなたはハァハァの異なるバージョンのプラグインをロードするために使用できる2つの方法が最初に使用してPythonのを経由して、プラグインのディレクトリを追加して、ありますpluginAddPath()メソッド、またはaddPluginPath()ハァハァStudioおよびHieroための方法を。 2番目の方法は、環境変数を設定してNuke、Nuke Studio、またはHieroを起動するためのカスタムラッパースクリプトを作成することです。

2つの方法の違いは 評価の順序 です。 pluginAddPath()を使用するとNukeのプラグpluginAddPath()の前にディレクトリが追加されますが、環境変数を使用すると~/.nukeディレクトリの後にディレクトリがロードされます。 スクリプトエディタで nuke .pluginPath() を実行 して、Nukeのプラグ インパスに 2つのディレクトリを追加し、1つをPythonで追加し、もう1つを環境変数で設定した 例を次に示し ます。

 nuke .pluginPath() 

# Result: ['/path/set/via/Python', 'C:/Users/ username /.nuke', '/path/set/with/env/var', 'C:\\Program Files\\Common Files/Nuke/11.3/plugins', 'C:/Program Files/Nuke11.3v1/plugins/user', 'C:/Program Files/Nuke11.3v1/plugins/icons', 'C:/Program Files/Nuke11.3v1/plugins']

どの方法を使用するかは、現在のパイプライン環境と、プラグインが依存している可能性がある依存関係によって異なります。


パイソンスクリプト

Nuke

あなたのinit.pyファイルを使用して 、あなたは、与えられたNukeのバージョンの起動時にロードされているものをプラグインのパスを定義することができます。

これは、Nuke 10またはNuke 11を起動したかどうかをチェックし、それに応じてプラグインのパスを読み込むPythonコードの例です。

 import nuke 

if str(nuke.NUKE_VERSION_MAJOR)=='10':
nuke .pluginAddPath(" /path/to/plugins/folder/nuke11 ")

if str(nuke.NUKE_VERSION_MAJOR)=='11':
nuke .pluginAddPath(" /path/to/plugins/folder/nuke10 ")


上記のコードはあなたが実行しているNukeのメジャーバージョン(すなわち、 Nuke 10、Nuke 11など)のみをチェックしますが、 ' and 'ステートメントとNUKE _MINOR_VERSIONを使用することで、Nukeバージョンが確実に起動するものをより特定できますプラグインたとえば、次のコードは、バージョンが一致する場合にプラグインのパスをロードする前に、Nukeのバージョンが11.3であるかどうかを確認します。

 if str(nuke.NUKE_VERSION_MAJOR)=='11' and str(nuke.NUKE_VERSION_MINOR)=="3": 
nuke .pluginAddPath(" /path/to/plugins/folder ")


次のようにNUKE _VERSION_STRINGを使って完全なNukeバージョンをチェックすることもできます。

 if str(nuke.NUKE_VERSION_STRING)=="11.3v1": 
nuke .pluginAddPath(" /path/to/plugins/folder ")

Nuke StudioHiero

Nukeのプラグインパスを作成するのと同様に、Nuke StudioとHieroの場合は、起動されたNuke Studio / Hieroのバージョンをチェックし、それに従ってプラグインパスをロードする ' if 'ステートメントを記述することでこれを実行できます。

ただし、このコードを ~/.nuke/init.py ファイルに 追加するのではなく ~/.nuke/Python/Startup ディレクトリ または ~/.nuke/Python/StartupUI ディレクトリ 内の.pyファイルに保存する必要があります。 。 Nuke StudioとHieroにプラグインのパスを追加する方法については、 こちらを参照してください

以下は、Nuke Studio / Hiero 10または11用に異なるプラグインパスをロードするための設定例です。

 import hiero 
from hiero.core import *

if env["VersionMajor"]==10:
   hiero.core.addPluginPath(" /path/to/plugins/folder/hiero10/ Python/Startup")

if env["VersionMajor"]==11:
   hiero.core.addPluginPath(" /path/to/plugins/folder/hiero11/ Python/Startup")


Nukeと同様に、メジャーバージョンとマイナーバージョンのプラグインのパスを定義するために、 ' and 'ステートメントと共にenv["VersionMinor"]を使用できます。たとえば、次のコードはすべてのNuke Studio / Hiero 11.3バージョンのプラグインパスをロードします。

 import hiero 
from hiero.core import *

if env["VersionMajor"]==11 and env["VersionMinor"]==3:
   hiero.core.addPluginPath(" /path/to/plugins/folder/ Python/Startup”)

env["VersionString"]を使用して正確なバージョンに基づいてプラグインをロードすることもできます。

 import hiero 
from hiero.core import *

if env["VersionString"]==11.3v1:
   hiero.core.addPluginPath(" /path/to/plugins/folder/ Python/Startup”)

ラッパースクリプトの作成

ラッパースクリプトは、システムコマンドまたはユーティリティを実行可能ファイルに埋め込みます。このファイルから、コマンドラインでコマンドを再入力しなくても、コマンドを繰り返し呼び出すことができます。この場合は、 NUKE _PATHまたはHIERO _PLUGIN_PATH環境変数を設定してアプリケーションを起動できます。ラッパースクリプトを介して環境変数を設定することは、コマンドがそのアクティブなコマンドラインセッションに対してのみ有効であり、システム上で恒久的に設定されていないことを意味します。

ラッパースクリプトはあなたのマシンのどこにでも保存することができ、ターミナルでそれらを実行することによって実行することができます。これらのファイルをデフォルトでターミナルで開くように設定することもできますので、ダブルクリックして実行することができます。

Nuke

macOSとLinux用のラッパースクリプトには非常によく似たコマンドが含まれていますが、Nukeアプリケーションディレクトリが2つのオペレーティングシステムの最大の違いです。各オペレーティングシステム上のNuke 11.3v1用のスクリプトの例を以下に示します。

マックOS

 #! /bin/bash 
export NUKE_PATH=/path/to/some/folder/
/Applications/Nuke11.3v1/Nuke11.3v1.app/Contents/MacOS/Nuke11.3v1 Linux
 #! /bin/sh 
export NUKE_PATH=/path/to/some/folder/
/usr/local/Nuke11.3v1/Nuke11.3

これは、Windowsのコマンドプロンプトでコマンドを実行するスクリプトを作成する必要があるWindowsとはまったく異なります。 ( バット )これを行うには、次のコマンドを含むバッチファイルを作成することができます。

Windows

 set NUKE_PATH=/path/to/some/folder 
"C:\Program Files\Nuke11.3v1\Nuke11.3.exe"

注:この記事に添付されている各OSのラッパースクリプトの例もあります。

Nuke StudioHiero

Nuke StudioとHieroの場合は、 -hieroまたは-studio 起動フラグ を使用して、アプリケーションを起動する前にHIERO _PLUGIN_PATH環境変数を設定する必要があります

マックOS

 #! /bin/bash 
export HIERO_PLUGIN_PATH=/path/to/some/folder/
/Applications/Nuke11.3v1/Nuke11.3v1.app/Contents/MacOS/Nuke11.3v1 -studio

Linux

 #! /bin/sh 
export HIERO_PLUGIN_PATH=/path/to/some/folder/
/usr/local/Nuke11.3v1/Nuke11.3 -studio

Windows

 set HIERO_PLUGIN_PATH=/path/to/some/folder 
"C:\Program Files\Nuke11.3v1\Nuke11.3.exe" -studio

参考文献

Nukeへのプラグインのロードに関する詳細は、私たちのドキュメントの以下のページにあります。

  1. Gizmos、NDKプラグイン、そしてPythonとTclスクリプトのロード
  2. Nukeプラグインパスの定義
  3. プラグインのインストール
  4. Nuke Pythonリファレンスガイド - NUKE_VERSION変数
  5. Hieroの環境情報
  6. Nuke環境変数

私たちはそれを聞いて申し訳ございません

理由をお聞かせください