요약
이 문서에서는 Python을 사용하여 Nuke Studio 또는 Hiero 타임라인의 각 클립에 대해 OCIOCDLTransform 소프트 효과를 자동으로 생성하고 각 샷에 대한 ASC CDL 파일 경로를 정의하는 방법을 설명합니다.
더 많은 정보
NukeStudio 또는 Hiero 내부에서 클립에 대한 OCIOCDLTransform 소프트 효과를 수동으로 생성하는 경우, 각 클립에 대해 한 번에 하나의 효과를 생성한 다음, 각 소프트 효과에 대한 .cc 파일 경로를 수동으로 설정해야 합니다.
이 작업은 시간이 많이 걸릴 수 있는데, 특히 타임라인에 샷이 많고 각 샷에 적용할 .cc 파일이 따로 있는 경우 더욱 그렇습니다.
하지만 Python을 사용하여 이 설정을 자동화할 수 있으며, 아래는 각 클립에 대해 OCIOCDLTransform 소프트 효과를 생성하고 각 소프트 효과에 다른 .cc 파일 경로를 적용하는 예제 코드입니다.
for trackItem in [y for x in hiero .ui.activeSequence().videoTracks() for y in x.items()]:
trackItemEffect = trackItem.parentTrack().createEffect("OCIOCDLTransform",trackItem=trackItem )
trackItemEffect.node()["read_from_file"].setValue(1)
shotNumber = trackItem.name()[trackItem.name().rfind("_")+1:]
ocioPath = "/path/to/CDL/shot_" + shotNumber + ".cc"
trackItemEffect.node()["file"].setValue(ocioPath)
코드를 줄별로 분석하면 각 줄의 기능은 다음과 같습니다.
1. for trackItem in [y for x in hiero .ui.activeSequence().videoTracks() for y in x.items()]:
첫 번째 줄은 for 루프를 생성하고 타임라인의 모든 클립을 반복합니다. 나머지 코드는 타임라인 클립 목록 내에서 한 번에 각 클립에 적용됩니다.
hiero .ui.activeSequence().videoTracks() 명령은 타임라인에서 현재 활성화된 시퀀스를 쿼리하고, 각 비디오 트랙의 모든 클립 항목을 순회하며 Python 목록에 추가합니다. 이렇게 하면 다음 줄의 명령을 적용할 전체 클립 목록이 생성됩니다.
2. trackItemEffect = trackItem.parentTrack().createEffect("OCIOCDLTransform",trackItem=trackItem )
두 번째 줄은 부드러운 효과를 만들고 for 루프에서 현재 클립에 추가합니다.
3. trackItemEffect.node()["read_from_file"].setValue(1)
세 번째 줄은 현재 클립에 대해 생성된 소프트 효과에 대한 '파일에서 읽기' 노브 값을 설정합니다.
4. shotNumber = trackItem.name()[trackItem.name().rfind("_")+1:]
네 번째 줄은 클립의 샷 번호를 생성합니다. 샷 이름을 쿼리하고, 마지막 밑줄을 찾은 후 샷 이름을 분리하여 샷 번호만 남깁니다.
5. ocioPath = "/path/to/CDL/shot_" + shotNumber + ".cc"
다섯 번째 줄은 위치 경로와 파일 명명 규칙을 사용하여 .cc 파일에 대한 경로를 생성하고, 이를 샷 번호와 .cc 파일 확장자에 연결합니다.
6. trackItemEffect.node()["file"].setValue(ocioPath)
마지막 줄은 소프트 효과 파일 경로를 5번째 줄에서 생성된 경로로 설정합니다.
참고: 이 코드는 샷 및 .cc 파일 경로에 대해 기존 명명 규칙을 기반으로 작동합니다. 이를 워크플로에 적용하려면 프로젝트에 사용된 명명 규칙에 맞게 4번과 5번 줄을 수정해야 합니다.
아래는 스크립트 편집기에서 코드를 실행하고 Nuke Studio 타임라인 내 모든 클립에 대해 OCIOCDLTransform 소프트 효과를 생성한 결과입니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요