Readノードに関するTips

こちらの記事では、Readノードでの読み込みに関するTipsを紹介致します。

 

▼シーケンスの両端で画像を非表示にする方法

デフォルトの場合、NUKEでシーケンスを読み込むと、シーケンスの再生開始前と再生終了後は、その最初または最後のフレームを表示し続けるモードに設定されています。

そのシーケンスの再生範囲のみ画像を表示させたい場合は、Readノードの[frame range][before][after]「black」に変更します。

これにより、[frame range]で指定されているフレームの前後は黒(何も表示しない)状態でシーケンスを再生することができます。

 

 

▼フレーム毎にスキップしているシーケンスを連番として読み込む方法

Writeノードで、フレームレンジを指定する際に「0-100×10」と入力することにより、10フレームずつスキップした状態(0,10,20,30…)でレンダリングすることができます。

そういった「nフレーム毎にレンダリングしたシーケンス」は、そのまま読み込むと、途中の飛ばした番号のフレームはエラーとして表示されます。

このスキップしたシーケンスを連番として再生したい場合は、Readノードの設定を変更します。

[frame]パラメータを[expression]に変更し、 入力フィールドに以下の内容を入力します。

frame*n

10フレームずつスキップしたシーケンスの場合は、「frame*10」と入力します。その場合は、0フレーム目で0フレーム目の画像、1フレーム目で10フレーム目の画像というように再生が行われます。

また、1フレーム目から開始し、10フレームずつスキップしたシーケンス(1,11,21,31…)の場合は、「frame*10+1」とすると同様に連番での読み込みが行えます。

 

 

▼.aviファイルの読み込み時のメタデータについて

一部の.aviファイルをReadノードで読み込み、ViewMetadataノードを接続して確認した場合に、必要なメタデータが確認できないことがあります。

しかしながら、Readノード内での読み込み方を変更することで、より多くのメタデータを読み込むよう強制することができます。

Readノードの[file]欄で、ファイルパスの前に「ffmpeg:」または「mov64:」を追加してください。 以下の画像は、先程と同じシーケンスで、「mov64:」を先頭に入力した際の結果画像です。いくつかメタデータが追加で読み込まれていることが確認できます。

 

 

▼.movファイルの読み込み時のデコード設定について

デフォルトでは、NUKEは.movファイルを読み込む場合に「mov64」を使用します。

NukeのPythonのコールバックを使用することで、Readノードのデコード設定を「mov32」に変更することができます。

一時的に設定する場合は、まずNUKE内でPaneのメニューから、Script Editorタブを呼び出します。

そして、以下のコードを入力し、[Ctrl+Enter]キーを押します。こちらは、新しく.movを読み込むReadノードを作成するとき、または既存ノードの「file」設定で.movファイルのパスを指定するように設定したときに、「mov32」デコーダを選択します。

 

import nuke 
def setMov32_onCreate(): 
    node = nuke.thisNode() 
    if node['file'].value().endswith('.mov'): 
        node['decoder'].setValue('mov32') 
nuke.addOnCreate(setMov32_onCreate, nodeClass="Read") 
 
def setMov32_onChange(): 
    node = nuke.thisNode() 
    knob = nuke.thisKnob() 
    if knob.name() == 'file' or node['file'].value().endswith('.mov'): 
        node['decoder'].setValue('mov32') 
nuke.addKnobChanged(setMov32_onChange, nodeClass="Read")

NUKE内で常にこちらのデコーダ設定を使用したい場合は、上記の内容を.nukeディレクトリの中にあるinit.pyファイルに追記する必要があります。init.pyファイルが存在しない場合、新規で作成し、その中に上記の内容を記述してください。.nukeフォルダ、init.pyファイルにつきましては、こちらをご覧ください。