증상
Nuke 의 '편집 > 환경설정...' 에서 경로 대체를 설정했지만, 명령줄 렌더링이나 Python 터미널 모드에서 파일 경로가 올바르게 대체되지 않습니다. 경로 대체는 다음과 같습니다.
원인
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 실행 파일 설치 위치를 참조합니다.윈도우 : C:\Program Files\Nuke16.0v4\Nuke16.0.exe
OSX : /응용 프로그램/ Nuke 16.0v4/ Nuke 16.0v4.app/내용/MacOS Nuke 16.0
리눅스 : /usr/local/ Nuke 16.0v4/ Nuke 16.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 개발자 가이드 에서도 확인할 수 있습니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요