요약
이 기사에서는 Nuke 에서 콜백을 설정하는 방법과 콜백에 사용할 올바른 Python 명령을 찾는 방법을 설명합니다.
사용 가능한 콜백 및 예제의 전체 목록은 Nuke Python 개발자 가이드에서 찾을 수 있습니다.
추가 정보
콜백은 Nuke 에서 다양한 이벤트(예: 노드 생성 또는 스크립트 로드)가 발생할 때 자동으로 Python 함수를 호출하는 Nuke 환경에 추가된 코드 조각입니다.
이는 노드가 생성될 때 노브 값에 대한 기본 설정을 지정하거나, 스크립트의 증분 버전을 자동으로 저장하거나, 새 프로젝트를 설정할 때 프로젝트 설정을 변경하는 등 다양한 상황에서 유용합니다.
아래에서는 Nuke 에서 새로 생성된 모든 Write 노드에서 Write 노드의 "파일 형식"을 exr로 설정하고 "파일" 경로를 임시 위치로 설정하는 콜백을 생성하는 방법에 대한 예를 찾을 수 있습니다.
콜백을 설정하려면 다음 단계를 따르세요(각 단계에 대한 자세한 내용은 계속 읽어보세요).
- Nuke 의 스크립트 편집기에서 명령을 테스트하여 올바르게 작동하는지 확인하세요.
- 콜백 함수를 정의하고 이를 콜백으로 추가한 후 .nuke 폴더 내의 init.py에 저장합니다.
- 다음에 Nuke 열리면 지정된 이벤트가 발생할 때 콜백이 실행됩니다.
1. Nuke 의 스크립트 편집기에서 명령을 테스트하여 올바르게 작동하는지 확인하십시오.
콜백을 생성하려면 먼저 Nuke 세션 내의 스크립트 편집기에서 Python 명령을 테스트하는 것이 도움이 되는 경우가 많습니다. Nuke Python 개발자 가이드 및 Nuke Python API 참조 에서 사용 가능한 Python API 명령에 대한 자세한 내용을 확인할 수 있습니다 .
스크립팅을 위한 노드 노브의 이름은 일반적으로 노브 위로 마우스를 가져갈 때 표시되는 레이블에서 찾을 수 있습니다.
예를 들어, 쓰기 노드의 "파일" 손잡이는 "파일"을 사용하여 스크립팅을 위해 참조될 수 있고 "파일 유형" 손잡이는 "file_type"을 통해 스크립팅을 위해 참조됩니다.
특정 손잡이의 현재 값(예: "파일 유형")을 얻으려면 스크립트 편집기에서 다음 명령을 실행하십시오.
node = nuke .toNode(“Write1”)
# replace Write1 with the name of your Write node if it is different
print(node["file_type"].getValue())
그러면 콘솔에 다음이 인쇄됩니다.
# node = nuke .toNode("Write1")
# print(node["file_type"].getValue())
# Result: 2.0
이 경우 2.0은 파일 형식 드롭다운 목록에서 " dpx "의 인덱스입니다. Python을 통해 "파일 형식"을 " exr "로 변경하려면 스크립트 편집기에 다음 명령을 입력합니다.
node["file_type"].setValue(3)
이는 콜백에 추가하려는 명령 중 하나입니다. 대상 "파일" 경로를 임시 위치로 설정하는 다른 명령은 다음과 같습니다.
node["file"].setValue("/tmp/test.####.exr")
2. 콜백 함수를 정의하고 이를 콜백으로 추가한 후 .nuke 폴더 내의 init.py 에 저장합니다.
아래 예제 코드에 설명된 대로 콜백이 단일 Python 함수에서 수행할 모든 작업을 정의하고 이 함수를 OnUserCreate 콜백으로 추가합니다.
import nuke
def writeSettings():
node = nuke .thisNode()
node["file_type"].setValue(3)
node["file"].setValue("/tmp/test.####.exr")
# add callback to execute this every time a Write node is created
nuke .addOnUserCreate(writeSettings, nodeClass="Write")
이를 복사하여 텍스트 편집기에 붙여넣고 파일을 저장합니다.
파일 이름을 init.py 로 바꾸고 이 작업을 수행할 때 파일 확장자가 파일 브라우저에 표시되는지 확인하여 파일 확장자가 .txt 또는 기타 가 아닌 .py 인지 확인하세요.
이 파일은 Nuke 시작 시 플러그인을 찾는 첫 번째 위치인 .nuke 폴더에 배치되어야 합니다. .nuke 폴더를 찾으려면 이 문서를 참조하십시오: Q100048: Nuke 디렉토리 위치
3. 다음에 Nuke 열리면 지정된 이벤트가 발생할 때 콜백이 실행됩니다.
이 작업을 완료하면 콜백이 Nuke 환경에 추가되고 다음에 애플리케이션을 시작하고 새 쓰기 노드를 생성할 때 "파일" 및 "파일 유형" 설정이 적용됩니다.
참고: 특정 클래스의 모든 노드에 특정 설정을 적용하고 이전에 저장된 스크립트에서 로드한 설정도 적용하려면 nuke .addOnUserCreate 대신 nuke .addOnCreate 콜백을 사용할 수 있습니다 .
추가 도움말
콜백 설정 시 문제가 발생하는 경우 지원 티켓을 열고 발생한 문제와 지금까지 수행한 문제 해결 단계를 알려주십시오.
서포트 티켓 개설 방법에 대한 자세한 내용은 서포트 티켓 모집 방법 문서 를 참조하세요 .
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요