三日月館【別館】開発・制作Tips集
[NUKE] PythonでReadノードのfileプロパティを変更した時にframe range, formatも自動で更新させる
最終更新:
fumiduki1985
-
view
下記の操作でReadノードのfileプロパティを設定した場合、frame rangeやformatも選択した画像や動画ファイルに合わせて設定される。
- ノードグラフ上でReadノードを作成した場合
- Readノードのプロパティパネルのfile右にあるボタンでファイル選択ダイアログを使用した場合
Pythonを使用して上記と同様にfileプロパティ変更時にframe rangeやformatを自動設定させるには、fileプロパティのKnob(File_Knobオブジェクト)のfromUserText()を使用する必要がある。
Knob.setValue()では、fileプロパティの変更だけ行われるので注意。
Knob.setValue()では、fileプロパティの変更だけ行われるので注意。
File_Knob.fromUserText()メソッドには、通常のファイルパスに加え、下記のような有効なフレーム範囲を追記した文字列を入力することができる。
'D:\test\image.png' # 単一の静止画の場合は通常通りのパス文字列でOK 'D:\test\seq_image#.png 0-9' # これは、seq_image0.png ~ seq_image9.pngの連番静止画を表す
これは、nuke.getFileNameList()が返す形式と合致しているので、合わせて使用すると良いケースがあるだろう。
(ファイルパス中の#は、NUKEの仕様における連番番号の表記に従っていると思われる。)
(ファイルパス中の#は、NUKEの仕様における連番番号の表記に従っていると思われる。)
記述例:
import nuke # ReadノードとFile_Knobを取得 readNode = nuke.toNode('Read1') fileKnob = readNode['file'] # fileプロパティを変更して、frame range, formatを自動更新させる fileKnob.fromUserText('D:\test\seq_image#.png 0-9')