요약
이 문서에서는 Nuke 의 여러 버전에 대해 서로 다른 플러그인 디렉토리를 로드하는 두 가지 방법을 설명합니다.
여러 가지 Nuke 버전을 동시에 사용하는 경우 이 기능이 유용할 수 있습니다. 일부 타사 플러그인이 현재 사용 중인 Nuke 의 모든 버전과 호환되지 않을 수 있기 때문입니다.
Nuke 13.0v1부터 Python 2는 더 이상 지원되지 않습니다. 따라서 Python 스크립트를 Python 3.7과 호환되도록 업데이트하는 동안에도 이 방법이 도움이 될 수 있으며, Nuke 16.0v1에서 PySide2에서 PySide6으로 변경하여 Python 코드를 업데이트할 때도 동일한 원칙이 적용됩니다.
더 많은 정보
먼저, Nuke 버전별로 플러그인을 다른 디렉터리에 저장해야 합니다. 그런 다음 Nuke 실행 시 로드할 추가 디렉터리를 추가할 수 있습니다.
Nuke 의 특정 버전에서만 로드하려는 플러그인은 로컬 ~/.nuke 폴더 의 최상위에 추가하면 안 됩니다. 이 디렉토리는 항상 로드되기 때문입니다( 안전 모드 에서 실행하는 경우는 제외).
Nuke 의 다양한 버전에 맞는 플러그인을 로드하는 데 사용할 수 있는 두 가지 방법이 있습니다.
-
Nuke 의 경우
pluginAddPath()메서드를 사용하거나 Nuke Studio 및 Hiero 의 경우addPluginPath()메서드를 사용하여 Python을 통해 플러그인 디렉토리를 추가할 수 있습니다. -
또는 사용자 정의 래퍼 스크립트를 사용하여 원하는 플러그인을 가리키는 환경 변수와 함께 Nuke , Nuke Studio 또는 Hiero 의 특정 버전을 실행할 수 있습니다.
두 메서드의 결과에서 가장 큰 차이점은 평가 순서 입니다 . pluginAddPath() 사용하면 Nuke 플러그인 경로 앞에 디렉터리가 추가되고, 환경 변수를 사용하면 ~/.nuke 디렉터리 뒤에 디렉터리가 추가됩니다. 다음은 스크립트 편집기에서 nuke .pluginPath()를 실행하여 Nuke 플러그인 경로에 두 개의 디렉터리를 추가하는 예입니다. 하나는 Python을 통해 추가되고 다른 하나는 환경 변수를 통해 설정됩니다.
어떤 방법을 사용할지는 현재 파이프라인 환경과 플러그인이 의존할 수 있는 종속성에 따라 달라집니다.
Python 시작 스크립트 만들기
init.py 파일을 사용 하면 Nuke 버전에 대해 실행 시 로드되는 플러그인 경로를 정의할 수 있습니다.
다음은 Nuke 13 또는 Nuke 16을 실행했는지 확인하고 이에 따라 플러그인 경로를 로드하는 Python 코드의 예입니다.
import nuke
if nuke .NUKE_VERSION_MAJOR==16:
nuke .pluginAddPath(" /path/to/plugins/folder/ nuke 16 ")
if nuke .NUKE_VERSION_MAJOR==13:
nuke .pluginAddPath(" /path/to/plugins/folder/ nuke 13 ")
위 코드는 실행 중인 Nuke 의 주요 버전(Nuke 13, Nuke 16 등)만 확인하지만, and 문과 NUKE _MINOR_VERSION 사용하면 특정 플러그인을 실행할 Nuke 버전을 더욱 구체적으로 지정할 수 있습니다. 예를 들어, 다음 코드는 플러그인 경로를 로드하기 전에 Nuke 버전이 15.1인지 확인하고, 버전이 일치하면 해당 버전을 확인합니다.
import nuke
if nuke .NUKE_VERSION_MAJOR==15 and nuke .NUKE_VERSION_MINOR==1:
nuke .pluginAddPath(" /path/to/plugins/folder/ nuke 151 ")
다음과 같이 NUKE _VERSION_STRING 사용하여 전체 Nuke 버전을 확인할 수도 있습니다.
import nuke
if nuke .NUKE_VERSION_STRING=="16.0v4":
nuke .pluginAddPath(" /path/to/plugins/folder/ nuke 160v4 ")
Nuke Studio & Hiero
Nuke 의 플러그인 경로를 만드는 것과 비슷하게, Nuke Studio 와 Hiero 의 경우 Nuke Studio / Hiero 의 어떤 버전이 실행되었는지 확인하고 그에 따라 플러그인 경로를 로드하는 if 문을 작성하면 됩니다.
하지만 이 코드를 ~/.nuke/init.py 파일에 추가하는 대신, ~/.nuke/Python/Startup 또는 ~/.nuke/Python/StartupUI 디렉터리 내의 .py 파일에 저장해야 합니다. Nuke Studio 와 Hiero 에 플러그인 경로를 추가하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요. Q100373: Nuke Studio 와 Hiero 에 플러그인 경로를 추가하는 방법 .
참고: 로드하는 추가 디렉토리에도 ~/.nuke 폴더와 동일한 /Python/Startup 또는 /Python/StartupUI 폴더 구조가 포함되어야 합니다.
다음은 Nuke Studio / Hiero 13 또는 16에 대해 로드할 다양한 플러그인 경로를 설정하는 예입니다.
import hiero
from hiero .core import env
if env["VersionMajor"]==16:
# scripts saved in /path/to/plugins/folder/ hiero 16/Python/Startup
hiero .core.addPluginPath("/path/to/plugins/folder/ hiero 16")
if env["VersionMajor"]==13:
# scripts saved in /path/to/plugins/folder/ hiero 13/Python/Startup
hiero .core.addPluginPath("/path/to/plugins/folder/ hiero 13")
Nuke 와 마찬가지로 env["VersionMinor"] and 문과 함께 사용하여 주 버전과 부 버전의 플러그인 경로를 정의할 수 있습니다. 예를 들어, 다음 코드는 모든 Nuke Studio / Hiero 15.1 버전의 플러그인 경로를 로드합니다.
import hiero
from hiero .core import env
if env["VersionMajor"]==15 and env["VersionMinor"]==1:
# scripts saved in /path/to/plugins/folder/ hiero 151/Python/Startup
hiero .core.addPluginPath(" /path/to/plugins/folder/ hiero 151 ")
env["VersionString"] 사용하여 정확한 버전에 따라 플러그인을 로드할 수도 있습니다. 단, env["VersionString"] 의 결과에는 제품 이름(예: "Hiero 16.0v4" 또는 "NukeStudio 16.0v4" )도 포함됩니다.
import hiero
from hiero .core import env
if env["VersionString"].endswith("16.0v4"):
# scripts saved in /path/to/plugins/folder/ hiero 160v4/Python/Startup
hiero .core.addPluginPath("/path/to/plugins/folder/ hiero 160v4")
환경 변수 래퍼 스크립트 만들기
래퍼 스크립트는 시스템 명령이나 유틸리티를 실행 파일에 내장하여 명령줄에 다시 입력하지 않고도 명령을 반복적으로 실행할 수 있도록 합니다. 이 경우, NUKE _PATH 환경 변수를 설정하고 애플리케이션을 실행할 수 있습니다. 래퍼 스크립트를 통해 환경 변수를 설정하면 해당 명령은 활성 명령줄 세션에서만 활성화되며 시스템에 영구적으로 설정되지 않습니다.
래퍼 스크립트는 컴퓨터의 어느 곳에나 저장할 수 있으며, 터미널에서 실행하여 실행할 수 있습니다. 또한, 이 파일들이 기본적으로 터미널에서 열리도록 설정하여 두 번 클릭하면 실행되도록 할 수도 있습니다.
macOS와 Linux용 래퍼 스크립트는 매우 유사한 명령을 포함하고 있으며, Nuke 애플리케이션 디렉터리가 두 운영 체제의 가장 큰 차이점입니다. 각 운영 체제의 Nuke 16.0v4용 예제 스크립트는 아래에서 확인할 수 있습니다.
팁: Nuke Studio 와 Hiero 에도 동일한 원칙이 적용되며, 이 스크립트에 --hiero 또는 --studio 실행 플래그를 추가하여 실행할 수 있습니다.
맥OS:
#! /bin/bash
export NUKE _PATH=/path/to/some/folder/
/Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/ Nuke 16.0
리눅스:
#! /bin/sh
export NUKE _PATH=/path/to/some/folder/
/usr/local/ Nuke 16.0v4/ Nuke 16.0
이는 Windows 명령 프롬프트에서 명령을 실행하는 스크립트를 만들어야 하는 Windows와는 상당히 다릅니다. 이를 위해 다음 명령이 포함된 배치 파일( .bat )을 만들 수 있습니다.
윈도우:
set NUKE _PATH=\path\to\some\folder
"C:\Program Files\Nuke16.0v4\Nuke16.0.exe"
참고: 이 문서에는 각 운영 체제에 대한 예제 래퍼 스크립트도 첨부되어 있습니다.
추가 읽기
Nuke 에서 플러그인을 로딩하는 방법에 대한 자세한 내용은 다음 설명서 페이지에서 확인할 수 있습니다.
- Q100490: init.py 및 menu.py 시작 스크립트 파일은 무엇입니까?
- Gizmo, NDK 플러그인, Python 및 Tcl 스크립트 로딩
- Nuke 플러그인 경로 정의
- 플러그인 설치
- Hiero 로의 환경 정보
- Nuke 환경 변수
예제 파일
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요