지원 티켓 만들기
팔로우

Q100248 : 핵무기에 콜백 추가하기

개요

이 기사에서는 Nuke에서 콜백을 설정하는 방법과 콜백에 사용할 올바른 Python 명령을 찾는 방법에 대해 설명합니다.

사용 가능한 콜백 및 예제의 전체 목록은 Nuke 10.0 또는 Nuke 10.5 Nuke Python 개발자 가이드에서 찾을 수 있습니다 .

추가 정보

콜백은 노드 생성이나 스크립트로드와 같은 다양한 이벤트가 누크에서 발생하면 Python 함수를 자동으로 호출하는 Nuke Environment에 추가 된 코드 조각입니다.

이 기능은 노드를 만들 때 노브 값을 설정하거나 스크립트의 증분 버전을 자동 저장하거나 새 프로젝트를 설정할 때 프로젝트 설정을 변경하는 경우와 같은 여러 상황에서 유용합니다.

아래에서 여러분은 Write 노드의 'file type'을 exr로 설정하고 Nuke에 새로 생성 된 모든 Write 노드에서 'file'경로를 임시 위치로 설정하는 콜백을 작성하는 방법의 예를 찾을 수 있습니다.

콜백을 설정하려면 다음 단계를 따르십시오 (각 단계에 대한 자세한 내용은 계속 읽으십시오).

  1. Nuke 's Script Editor에서 사용할 명령을 테스트하여 제대로 작동하는지 확인하십시오.
  2. 콜백 함수를 정의하고 .nuke 폴더 안에 init.py로 저장된 텍스트 파일에 콜백으로 추가하십시오.
  3. 다음 번에 Nuke를 열면 지정된 이벤트가 발생할 때 콜백이 실행됩니다.

1. Nuke 's Script Editor에서 사용할 명령을 테스트하여 올바르게 작동하는지 확인하십시오

콜백을 생성하기 위해 먼저 Nuke 세션 내에서 Script Editor의 Python 명령을 테스트하는 것이 유용합니다. 사용 가능한 Python API 명령에 대한 자세한 내용은 Nuke Python Developer Guide Nuke Python API Reference 에서 찾을 수 있습니다 .

스크립팅을위한 노드 노브의 이름은 일반적으로 노브 위로 마우스를 가져 가면 표시되는 레이블에서 찾을 수 있습니다.

예를 들어, Write 노드의 'file'노브는 'file'을 사용하여 스크립팅을 위해 참조 될 수 있으며 'file type'노브는 'file_type'을 통한 스크립팅을 위해 참조됩니다 :


특정 노브 (예 : '파일 유형')의 현재 값을 가져 오려면 스크립트 편집기에서 다음 명령을 실행하십시오.

node = nuke.toNode(“Write1”)
# replace Write1 with the name of
# your Write node if it is different

print node["file_type"].getValue() 

그러면 콘솔에 다음 내용이 인쇄됩니다.

# Result: print node["file_type"].getValue()
# Result: 2.0

이 경우 2.0은 파일 유형의 드롭 다운 목록에서 'dpx'의 색인입니다.

파이썬을 통해 '파일 형식'을 'exr'로 변경하려면 스크립트 편집기에서 다음 명령을 입력하십시오.

node["file_type"].setValue(3)

이것은 콜백에 추가하려는 명령 중 하나입니다. 대상 '파일'경로를 임시 위치로 설정하는 다른 하나는 다음과 같습니다.

node["file"].setValue("/tmp/test.####.exr")

2. 콜백 함수를 정의하고 .nuke 폴더 안에 init.py로 저장된 텍스트 파일에 콜백으로 추가하십시오

하나의 파이썬 함수에서 콜백을 수행하기를 원하는 모든 액션을 정의하고 아래 예제 코드에서 볼 수 있듯이이 함수를 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로 이름을 바꾸고 파일 확장자가 .py 또는 .txt가 아닌지 확인하기 위해 파일 확장자가 파일 브라우저에 표시되는지 확인하십시오 .


이 파일은 Nuke가 시작할 때 플러그인을 찾을 첫 번째 위치 인 .nuke 폴더에 있어야합니다. .nuke 폴더를 찾으려면이 기사를 참조하십시오. Q100048 : Nuke 위치

3. 다음 번에 Nuke를 열면 지정된 이벤트가 발생할 때 콜백이 실행됩니다

이 작업을 완료하면 Nuke 환경에 콜백이 추가되고 다음에 응용 프로그램을 시작하고 새 쓰기 노드를 만들 때 '파일'및 '파일 형식'설정이 적용됩니다.

참고 : 특정 클래스의 모든 노드에 특정 설정이 적용되고 이전 저장된 스크립트에서로드 된 특정 설정을 사용하려면 nuke.addOnUserCreate 대신 nuke .addOnCreate 콜백을 사용할 수 있습니다 .

콜백 설정에 문제가 발생하는 경우 지원 티켓을 열고 발생한 문제 및 지금까지 수행 한 문제 해결 단계를 알려주십시오.

지원 티켓을 여는 방법에 대한 자세한 내용은 ' 지원 포털 사용 '문서를 참조하십시오.

도움이 되었습니까?
/

We're sorry to hear that!

Please tell us why.
8명 중 4명이 도움이 되었다고 했습니다.

댓글