5/25/2011

Nuke チュートリアル gizmoを作成して登録する

1920*1080で撮影したものをシネスコのマスクをかけて出力することがあります。今回ははその操作をGizmoにしてUIに登録してみたいと思います。



マスクをかける工程はいろいろあると思いますが、今回は上下を断ち切って、HDサイズの黒の平面の上に乗せる方法をとります。

まず上下を切り取るにはCropを使います。whボタンをクリックしてwidthとheightで設定するようにします。Nukeは左下が原点になっているので下から131ピクセル切り取ります。高さは818に設定します。



次に黒のConstantを作成し、サイズをHDにします。OverでConstantに合成します。デフォルトではアルファまで合成するので、outputをrgbにします。


BBoxが1ピクセルついているのでReformatでHDサイズにします。

これでひととおり、HDの画像にマスクをかける作業ができました。簡単な作業ですが全てのカットに対してこの作業をするとしたらGizmoに登録しておいた方が作業が楽になります。

これからはこの一連の作業をGizmo化してtoolbarに登録する方法を解説します。

まず先ほど作ったCropからReformatまでのノードを選択します。ctrl+gでそれらのノードをグループ化します。Outputを選択するダイアログが出て来たら、Reformatを選択します。


Groupができました。GroupのPropertiyのSボタンをクリックするとノードビューでGroupの中身を確認できます。Group内のInput、OutputがそれぞれGroupのアウトプットになります。

次にこのGroupをGizmoとして保存します。Groupのexport as gizmo...をクリックすると保存ダイアログが現れます。

Nukeの関連ファイルはWindowsの場合、C:/Documents and Settings/userの下に.nukeというフォルダがあり、そこに保存されます。

C:/Documents and Settings/user/.nuke/cineMask.gizmo

名前は何でもよいですが、cineMaskとして保存しておきます。

次にこのgizmoをNukeで使えるようにツールバーに登録します。
.nukeフォルダにmenu.pyというファイルがあります。もしなければ、テキストエディタで作ってもかまいません。NukeのScript Editorでも作れます。
menu.pyに以下を挿入して保存。

toolbar = nuke.menu('Nodes')
toolbar.addCommand('Users/cineMask', 'nuke.createNode("cineMask")')

ここではtoolbarにUsersというメニューを作って、その下にcineMaskノードを追加しています。

これでNukeを起動したときにcineMaskノードを呼び出すことができます。

今回のgizmoはHDのプロジェクトでしかうまく動きません。Nukeのgizmoを作るのは非常に簡単なので、それぞれのプロジェクトで作業を効率化したい時は作っておいた方がいいと思います。

No comments: