Q100273: Nuke 터미널 세션에서 경로 대체를 설정하는 방법

팔로우

증상

Nuke편집 > 기본 설정... 에서 경로 대체를 설정했지만 명령줄 렌더링 또는 Python 터미널 모드 중에 파일 경로가 올바르게 대체되지 않습니다. 경로 대체는 다음과 같습니다.

pathSubs.png


원인

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 개발자 가이드 에서도 확인할 수 있습니다.

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

    이유를 알려주세요