증상
Nuke 의 편집 > 기본 설정... 에서 경로 대체를 설정했지만 명령줄 렌더링 또는 Python 터미널 모드 중에 파일 경로가 올바르게 대체되지 않습니다. 경로 대체는 다음과 같습니다.
원인
Nuke GUI 모드 외부에서 실행될 때 환경 설정이 로드되지 않기 때문에 명령줄 렌더링 또는 Python 터미널 모드에서 파일 경로가 올바르게 대체되지 않을 수 있습니다.
GUI가 없는 터미널 모드를 사용하면 GUI를 시작하지 않고도 Python 명령을 입력할 수 있습니다.
이 모드에서는 >>> 명령 프롬프트가 표시됩니다. 명령줄 모드(배치 모드)를 사용하면 터미널에서 명령을 실행하여 Nuke 스크립트를 렌더링할 수 있습니다(GUI 없이).
자세한 내용은 명령줄 작업에 대한 Nuke 온라인 도움말을 참조하세요.
해결
이 문제를 해결하려면 경로 대체 쌍 목록을 가져오고 활성 Nuke 세션에 대해서만 작동하는 명령줄 인수 --remap
사용하거나 init.py 파일에 filenameFilter 콜백을 설정하여 전체에 걸쳐 지속되도록 할 수 있습니다. Nuke 세션.
현재 Nuke 세션
다음은 터미널 모드에서 Nuke 실행할 때 플래그가 사용되는 방법의 예입니다.
nuke -t --remap "X:/path,Y:,A:,B:/anotherpath"
어디:
nuke
적절한 Nuke 실행 파일 설치 위치를 참조합니다.윈도우 : C:\Program Files\Nuke14.0v5\Nuke14.0.exe
OSX : /응용 프로그램/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0
리눅스 : /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 개발자 가이드 에서도 확인할 수 있습니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요