サポートチケットを作成する
フォローする

Q100126:pythonを使ってOCULAスクリプトを自動生成する方法

概要

この記事では、pythonを使ってO_Solverノードを使ってOculaスクリプトを自動生成する方法を説明します。

詳しくは

Nukeのpython APIを使って簡単なOculaスクリプトの作成を自動化し、作業準備の時間を節約することができます。以下のコード例は、これを実行できる1つの方法を示しています。
以下の関数は以下のことを行います。
  1. Nukeスクリプトに2つのビューを設定します。
  2. 指定されたフッテージのReadノードを作成します
  3. O_Solverノードを作成し、それをReadに接続します。
  4. Readシーケンスの最初のフレーム、最後のフレーム、中央のフレームに対して、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/stereoFootge.%V.###.ext'
first=1
last=20

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

# save out your script
nuke .scriptSaveAs('/path/to/save/oculaScript.nk', True)
ご注意: pythonでO_Solverノードを実行するには、NukeとOculaの両方にインタラクティブライセンスを使用する必要があります。
  • Nukeターミナルセッションを実行している場合は、引数に "-i"を付けて起動する必要があります(例: "Nuke10.0 -t -i"または "Nuke10.0 -ti")。

  • 外部のPythonセッションでNukeをPythonモジュールとして使用している場合は、 "import nuke"コマンドの前にos.environ ["NUKE_INTERACTIVE"] = "1"を設定する必要があります。
参考文献
Nukeのpython APIの使い方の詳細については、 Nuke Python開発者ガイドを参照してください。

キーワード: Ocula 、python、O_Solver

この記事は役に立ちましたか?
/

We're sorry to hear that!

Please tell us why.
1人中1人がこの記事が役に立ったと言っています

コメント