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

증상

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

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

    이유를 알려주세요