Q100273: Nuke ターミナル セッションでパス置換を設定する方法

フォローする

症状

Nuke[編集] > [設定...]でパス置換を設定しましたが、コマンド ライン レンダリング中または Python ターミナル モード中にファイル パスが正しく置換されません。パスの置換は次のようになります。

パスサブ.png


原因

Nuke GUI モード以外で実行されている場合、環境設定が読み込まれないため、コマンド ライン レンダリングまたは Python ターミナル モードではファイル パスが正しく置換されない可能性があります。

ターミナル モード (GUI なし) では、GUI を起動せずに Python コマンドを入力できます。
このモードでは>>>コマンド プロンプトが表示されます。コマンド ライン モード (バッチ モード) では、ターミナルでコマンドを実行して、 Nukeスクリプトを (GUI なしで) レンダリングできます。
詳細についてはNukeオンライン ヘルプのコマンド ライン操作を参照してください。

解決

これを解決するには、コマンドライン引数--remapを使用します。これはパス置換ペアのリストを取得し、アクティブなNukeセッションに対してのみ機能します。または、 init.pyファイルにfilenameFilterコールバックを設定して、すべてのセッションで永続化することができます。 Nukeセッション。

現在のNukeセッション

Nukeターミナル モードで実行するときにフラグがどのように使用されるかの例を次に示します。

nuke -t --remap "X:/path,Y:,A:,B:/anotherpath"

どこ:

  • nuke適切なNuke実行可能ファイルのインストール場所を参照します。

    Windows : C:\Program Files\Nuke14.0v5\Nuke14.0.exe
    OSX : /アプリケーション/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0
    Linux : /usr/local/ Nuke 14.0v5/ Nuke 14.0

  • X:/pathで始まるパスはすべて、 Y:で始まるように変換されます。
  • A:で始まるパスはすべて、 B:/anotherpathで始まるように変換されます。

異なるオペレーティング システム間でパスを置換するには、コマンドはたとえば次のようになります。

nuke -t --remap "/home/project/shot/,C:/project/shot"

注:パス マッピングは現在のNukeセッションにのみ適用され、 Nuke GUI の実行時に使用される Preferences.nk ファイルには影響しません。


複数のNukeセッション

複数のNukeセッションにわたってパス置換を永続的にするには、 filenameFilterコールバックを使用できます。次の例は、前の例と同様のシナリオでこれを設定する方法を示しています。

import nuke 

def myFilenameFilter(filename):
filename = filename.replace( 'X:/path', 'Y:/' )
filename = filename.replace( 'A:/', 'B:/anotherpath' )

return filename

nuke .addFilenameFilter(myFilenameFilter)

すべてのターミナル セッションでこのコードを実行するには、コードをinit.py ファイルに追加する必要があります。

filenameFilterコールバックの詳細についてはNuke Python Developer Guide」を参照してください。

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

    理由をお聞かせください