Q100458: Nuke Studio 내보내기 토큰 사용자 정의

팔로우

요약

이 기사에서는 Nuke Studio 에서 사용 가능한 내보내기 토큰 목록을 찾고 사용자가 내보내기에서 사용되는 내보내기 경로를 추가로 사용자 정의할 수 있도록 추가 토큰을 추가하는 방법을 설명합니다.


추가 정보

Nuke Studio 내보내기 내의 내보내기 토큰은 내보내기 위해 선택된 작업을 기반으로 문자열로 해석되는 특수 키워드입니다. 예를 들어, {shot} 내보내기 토큰은 내보낼 샷의 이름을 반환하며, 토큰은 샷을 내보낼 때만 사용할 수 있습니다. 내보내기를 사용하여 사용자의 이름을 반환하는 {user} 토큰과 같은 다른 토큰은 시퀀스, 샷 또는 클립을 내보낼 때 사용할 수 있습니다.

사용 가능한 토큰 목록은 다음을 통해 확인할 수 있습니다.

  • 경로 템플릿 위로 마우스를 가져가서 도구 설명 읽기

  • 활성 경로 템플릿을 마우스 오른쪽 버튼으로 클릭하고 키워드 선택...을 선택합니다.

추가 토큰 추가

Python을 사용하여 추가 토큰을 추가하면 프로덕션 파이프라인과 같은 특정 환경에서 더 잘 작동할 수 있습니다.

이를 위해서는 특정 키워드에 대해 호출되고 토큰 대신 최종 경로에 사용할 문자열을 반환하는 확인자를 추가해야 합니다.

다음 인스턴스를 재정의하여 해석기를 추가할 수 있습니다.

hiero .core.TaskPresetBase.addUserResolveEntries

기본 hiero .core.TaskPresetBase.addUserResolveEntries 재정의하면 해석기가 모든 내보내기 프로세서에 추가됩니다.

그러나 hiero .exporters.FnShotProcessor.ShotProcessorPreset.addUserResolveEntries 와 같은 addUserResolveEntries의 다른 인스턴스 중 하나를 재정의하면 리졸버는 샷 내보내기 프로세서에만 추가됩니다.

글로벌 수출 토큰 추가

다음은 글로벌 내보내기 토큰을 추가하는 방법의 예입니다.

 import hiero .core
def global_addUserResolveEntries(self, resolver):
resolver.addResolver("{proj}", "First four characters of the project.", lambda keyword, task: task.projectName()[:4])

# This token can be applied to ANY export process, so add it to the base class
hiero .core.TaskPresetBase.addUserResolveEntries = global_addUserResolveEntries

이 예에서는 프로젝트의 전체 이름을 반환하는 task.projectName()[:4] 호출하여 프로젝트 이름의 처음 4자를 반환한 다음 Python 문자열 구문을 사용하여 처음 4자만 반환합니다.

addResolver() 함수에는 세 가지 인수, 즉 토큰의 이름(키워드), 도구 설명 및 키워드 선택 대화 상자에 표시되는 토큰 설명, 그리고 문자열을 반환하는 함수인 확인자가 필요합니다. 토큰 대신 경로에 사용됩니다.

샷별 내보내기 토큰 추가

다음은 샷별 내보내기 토큰을 추가하는 방법의 예입니다.

 from hiero .exporters.FnShotProcessor import ShotProcessorPreset
def shot_addUserResolveEntries(self, resolver):
def plateWidth(task):
trackItem = task._item
media = trackItem.source().mediaSource()
return str(media.width())

resolver.addResolver("{platewidth}", "Returns the width of the source plate", lambda keyword, task: plateWidth(task))

resolver.addResolver("{plateheight}", "Returns the height of the source plate", lambda keyword, task: str(task._item.source().mediaSource().height()))

# This token will only be applied to the Shot Processor
ShotProcessorPreset.addUserResolveEntries = shot_addUserResolveEntries

이 예는 소스 플레이트 너비/높이의 문자열을 반환합니다. 너비는 미디어 소스 .width() 메서드의 문자열을 반환하는 plateWidth() 함수를 호출하여 찾습니다. 높이는 같은 방식으로 구하지만 다른 함수를 호출하는 대신 한 줄로 구합니다. 두 리볼버 모두 shot_addUserResolveEntries() 함수에 추가되므로 addUserResolveEntries 재정의할 때 둘 다 샷 내보내기 프로세서에 추가됩니다.

스크립트 편집기에서 위 예제를 실행하면 해당 토큰이 해당 Nuke Studio 세션의 내보내기 프로그램에 추가됩니다. 토큰이 올바르게 작동하는지 확인하려면 경로에 토큰을 추가하고 내보내기에서 경로 미리보기를 확인하세요. 이 경우 풀 HD 영상의 해상도가 반환됩니다.

토큰을 .nuke/Python/Startup/init.py 파일에 추가하여 Nuke Studio 설정에 영구적으로 추가할 수 있습니다. 아직 존재하지 않는 경우 토큰을 생성하세요.

추가 읽기

Nuke Studio 내보내기 시스템에 대한 자세한 내용은 다음 문서에서 확인할 수 있습니다.

수출 시스템

.nuke 디렉토리를 찾는 방법에 대한 정보는 여기에서 찾을 수 있습니다.

Q100048: Nuke 디렉토리 위치

Python/Startup/init.py 에 대한 정보는 여기에서 찾을 수 있습니다.

Q100142: 시작 시 Nuke Studio 에서 Hiero Python 코드를 실행하는 방법

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

    이유를 알려주세요