Q100126: Python을 사용하여 Ocula 스크립트 생성을 자동화하는 방법

팔로우

요약

이 문서에서는 Python을 사용하여 O_Solver 노드로 Ocula 스크립트 생성을 자동화하는 방법을 설명합니다.

추가 정보

Nuke 의 Python API를 사용하면 간단한 Ocula 스크립트 생성을 자동화하여 작업 준비 시간을 절약할 수 있습니다. 아래 예제 코드는 이를 수행할 수 있는 한 가지 방법을 보여줍니다.
아래 함수는 다음을 수행합니다.
  1. 두 가지 보기를 갖도록 Nuke 스크립트를 설정합니다.
  2. 특정 영상에 대한 읽기 노드를 생성합니다.
  3. O_Solver 노드를 생성하고 이를 읽기 노드에 연결합니다.
  4. 읽기 시퀀스의 첫 번째, 마지막 및 중간 프레임에 대해 O_Solver 노드에 키프레임을 생성합니다.
# Create an O_Solver keyed at first_frame, last_frame and the mid frame

def createOculaTree(filename, first_frame, last_frame):
  mid_frame = int( (first_frame + last_frame)/2 )

  # set up views
  nuke .root()["setlr"].execute()

  # create the read and set up for the frame range
  reader = nuke .createNode("Read",inpanel=False)
  reader.knob("file").setValue(filename)
  reader.knob("first").setValue(first_frame)
  reader.knob("last").setValue(last_frame)
  
  # set up the O_Solver node and create a key
  solver = nuke .createNode('O_Solver4_0',inpanel=False)
  solver.setInput(0, reader)
  nuke .execute(solver, nuke .FrameRanges([first_frame, mid_frame, last_frame]))
그런 다음 푸티지를 가리키는 간단한 스크립트에서 이를 사용하고 함수를 실행한 다음 스크립트를 저장할 수 있습니다.
# define the location of your footage
# and the frame range stereoSequence='/path/to/stereoFootage.%V.###.ext'
first=1
last=20

# Create the Ocula script
createOculaTree(stereoSequence,first,last)

# save out your script
nuke .scriptSaveAs('/path/to/save/ ocula Script.nk', True)
참고: Python을 통해 O_Solver 노드를 실행하려면 NukeOcula 모두에 대한 대화형 라이센스를 사용해야 합니다.
  • Nuke 터미널 세션을 실행하는 경우 인수에 "-i"를 사용하여 시작해야 합니다(예: "Nuke13.2 -t -i" 또는 "Nuke12.3 -ti").

  • 외부 Python 세션에서 Nuke Python 모듈로 사용하는 경우 "import nuke " 명령 앞에 os.environ[ "NUKE_INTERACTIVE" ] = "1" 을 설정해야 합니다.
추가 읽기
Nuke 의 Python API 사용 방법에 대한 자세한 내용은 Nuke Python 개발자 가이드를 참조하세요.

키워드: Ocula , python, O_Solver

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

    이유를 알려주세요