Q100465: 다양한 Nuke 버전용 플러그인을 로드하는 방법

팔로우

요약

이 기사에서는 여러 버전의 Nuke 에 대해 서로 다른 플러그인 디렉토리를 로드하는 방법에 대한 두 가지 방법을 설명합니다.

여러 다른 버전의 Nuke 동시에 사용하는 경우 일부 타사 플러그인이 사용 중인 모든 Nuke 버전과 호환되지 않을 수 있으므로 이는 도움이 될 수 있습니다.

Nuke 13.0v1부터 Python 2는 더 이상 지원되지 않으므로 Python 3.7과 호환되도록 Python 스크립트를 업데이트하는 동안에도 도움이 될 수 있습니다.

추가 정보

먼저, 각 Nuke 버전마다 다른 디렉토리에 플러그인을 저장해야 합니다. 그런 다음 Nuke 시작 시 로드할 추가 디렉터리를 추가할 수 있습니다.

특정 Nuke 버전에 대해서만 로드하려는 플러그인은 로컬 ~/.nuke 폴더 Nuke 추가하면 안 됩니다. 이 디렉토리는 항상 로드되기 때문입니다( 안전 모드 에서 실행하지 않는 한 ).

다양한 Nuke 버전의 플러그인을 로드하는 데 사용할 수 있는 두 가지 방법이 있습니다. 첫 번째 방법은 pluginAddPath() 메서드를 사용하거나 Nuke StudioHiero 의 경우 addPluginPath() 메서드를 사용하여 Python을 통해 플러그인 디렉터리를 추가하는 것입니다. 두 번째 방법은 환경 변수 세트를 사용하여 Nuke , Nuke Studio 또는 Hiero 를 시작하는 사용자 정의 래퍼 스크립트를 만드는 것입니다.

두 방법의 차이점은 평가 순서 입니다 . pluginAddPath() 사용하면 Nuke 의 플러그인 경로 앞에 디렉터리가 추가되는 반면, 환경 변수를 사용하면 ~/.nuke 디렉터리 뒤에 디렉터리가 로드됩니다. 다음은 Nuke 의 플러그인 경로에 두 개의 디렉터리가 추가된 스크립트 편집기에서 nuke .pluginPath() 를 실행하는 예입니다. 하나는 Python을 통해 추가되고 다른 하나는 환경 변수로 설정됩니다.

어떤 방법을 사용하기로 결정하는지는 현재 파이프라인 환경과 플러그인이 의존할 수 있는 종속성에 따라 달라집니다.


파이썬 스크립트

Nuke

init.py 파일을 사용 하면 특정 Nuke 버전 실행 시 로드되는 플러그인 경로를 정의할 수 있습니다.

다음은 Nuke 12 또는 Nuke 14를 시작했는지 확인하고 이에 따라 플러그인 경로를 로드하는 Python 코드의 예입니다.

 import nuke

if nuke .NUKE_VERSION_MAJOR==14:
nuke .pluginAddPath(" /path/to/plugins/folder/ nuke 14 ")

if nuke .NUKE_VERSION_MAJOR==12:
nuke .pluginAddPath(" /path/to/plugins/folder/ nuke 12 ")


위 코드는 실행 중인 Nuke 의 주요 버전(예: Nuke 12, Nuke 14 등)만 확인하지만 ' ' 문과 NUKE _MINOR_VERSION 사용하면 어떤 Nuke 버전이 특정하게 시작될지 더 구체적으로 지정할 수 있습니다. 플러그인. 예를 들어 다음 코드는 버전이 일치하는 경우 플러그인 경로를 로드하기 전에 Nuke 버전이 14.0인지 확인합니다.

 import nuke 

if nuke .NUKE_VERSION_MAJOR==14 and nuke .NUKE_VERSION_MINOR==0:

nuke .pluginAddPath(" /path/to/plugins/folder ")


다음과 같이 NUKE _VERSION_STRING 사용하여 전체 Nuke 버전을 확인할 수도 있습니다.

 import nuke 

if nuke .NUKE_VERSION_STRING=="14.0v5":

nuke .pluginAddPath(" /path/to/plugins/folder ")

Nuke Studio & Hiero

Nuke 용 플러그인 경로를 생성하는 것과 유사하게 Nuke StudioHiero 의 경우 시작된 Nuke Studio / Hiero 버전을 확인하고 이에 따라 플러그인 경로를 로드하는 ' if ' 문을 작성하여 이 작업을 수행할 수 있습니다.

그러나 이 코드를 ~/.nuke/init.py 파일 에 추가하는 대신 ~/.nuke/Python/Startup 또는 ~/.nuke/Python/StartupUI 디렉터리 내부의 .py 파일에 저장해야 합니다. . Nuke StudioHiero 에 플러그인 경로를 추가하는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다 .

참고: 로드하는 추가 디렉터리에는 ~/.nuke 폴더와 동일한 /Python/Startup 또는 /Python/StartupUI 폴더 구조가 포함되어야 합니다.

다음은 Nuke Studio / Hiero 12 또는 13에 로드할 다양한 플러그인 경로를 설정하는 예입니다.

import hiero 
from hiero .core import *

if env["VersionMajor"]==14:
# scripts saved in /path/to/plugins/folder/ hiero 14/Python/Startup
hiero .core.addPluginPath("/path/to/plugins/folder/ hiero 14")

if env["VersionMajor"]==12:
# scripts saved in /path/to/plugins/folder/ hiero 12/Python/Startup
hiero .core.addPluginPath("/path/to/plugins/folder/ hiero 12")


Nuke 와 마찬가지로 ' ' 문과 함께 env["VersionMinor"] 사용하여 주 버전과 부 버전의 플러그인 경로를 정의할 수 있습니다. 예를 들어 다음 코드는 모든 Nuke Studio / Hiero 14.0 버전에 대한 플러그인 경로를 로드합니다.

 import hiero
from hiero .core import *

if env["VersionMajor"]==14 and env["VersionMinor"]==0:
# scripts saved in /path/to/plugins/folder/ hiero 14/Python/Startup
hiero .core.addPluginPath(" /path/to/plugins/folder/ hiero 14 ")

env["VersionString"] 사용하여 정확한 버전을 기반으로 플러그인을 로드할 수도 있습니다. 그러나 env["VersionString"] 의 결과에는 제품 이름도 포함됩니다(예: "Hiero 14.0v5" 또는 "NukeStudio 14.0v5" ).

import hiero 
from hiero .core import *

if env["VersionString"]=="Hiero 14.0v5" or env["VersionString"]=="NukeStudio 14.0v5":
# scripts saved in /path/to/plugins/folder/ hiero 13/Python/Startup
hiero .core.addPluginPath("/path/to/plugins/folder/ hiero 14")

래퍼 스크립트 만들기

래퍼 스크립트는 시스템 명령이나 유틸리티를 실행 파일에 포함시켜서 명령줄에 다시 입력할 필요 없이 명령을 반복적으로 호출할 수 있습니다. 이 경우 NUKE _PATH 또는 HIERO _PLUGIN_PATH 환경 변수를 설정하고 애플리케이션을 시작할 수 있습니다. 래퍼 스크립트를 통해 환경 변수를 설정한다는 것은 해당 활성 명령줄 세션에 대해서만 명령이 활성화되고 시스템에 영구적으로 설정되지 않음을 의미합니다.

래퍼 스크립트는 컴퓨터의 어느 곳에나 저장할 수 있으며 터미널에서 실행하여 실행할 수 있습니다. 기본적으로 이러한 파일이 터미널에서 열리도록 설정하여 해당 파일을 두 번 클릭하여 간단히 실행할 수도 있습니다.

Nuke

macOS 및 Linux용 래퍼 스크립트에는 매우 유사한 명령이 포함되어 있으며 Nuke 애플리케이션 디렉터리가 두 운영 체제 간의 가장 큰 차이점입니다. 각 운영 체제의 Nuke 14.0v2에 대한 예제 스크립트는 아래에서 찾을 수 있습니다.

맥 OS

 #! /bin/bash
export NUKE _PATH=/path/to/some/folder/
/Applications/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0

리눅스

 #! /bin/sh
export NUKE _PATH=/path/to/some/folder/
/usr/local/ Nuke 14.0v5/ Nuke 14.0

이는 Windows 명령 프롬프트에서 명령을 실행하는 스크립트를 작성해야 하는 Windows와는 상당히 다릅니다. 이를 위해 다음 명령이 포함된 배치 파일( .bat )을 생성할 수 있습니다.

윈도우

set NUKE _PATH=/path/to/some/folder
"C:\Program Files\Nuke14.0v5\Nuke14.0.exe"

참고: 이 문서에 첨부된 각 OS에 대한 예제 래퍼 스크립트도 찾을 수 있습니다.

Nuke Studio & Hiero

Nuke Studio 및 Hiero의 경우 애플리케이션을 시작하기 전에 --hiero 또는 --studio 시작 플래그를 Nuke Studio Hiero --hiero --studio HIERO _PLUGIN_PATH 변수를 설정해야 합니다 .

맥 OS

 #! /bin/bash
export HIERO _PLUGIN_PATH=/path/to/some/folder/
/Applications/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0v5 --studio

리눅스

 #! /bin/sh
export HIERO _PLUGIN_PATH=/path/to/some/folder/
/usr/local/ Nuke 14.0v5/ Nuke 14.0 --studio

윈도우

 set HIERO _PLUGIN_PATH=/path/to/some/folder 
"C:\Program Files\Nuke14.0v5\Nuke14.0.exe" --studio

추가 읽기

Nuke 에서 플러그인을 로드하는 방법에 대한 자세한 내용은 설명서의 다음 페이지에서 확인할 수 있습니다.

  1. Gizmos, NDK 플러그인, Python 및 Tcl 스크립트 로드
  2. Nuke 플러그인 경로 정의
  3. 플러그인 설치
  4. Hiero 의 환경 정보
  5. Nuke 환경 변수

우리는 문제로 불편을 끼쳐 드려 죄송합니다

이유를 알려주세요