>   >  NUKE プラクティカル・ガイド:Vol. 8:secret for Gizmo(その1)
Vol. 8:secret for Gizmo(その1)

Vol. 8:secret for Gizmo(その1)

GizmoをNUKEに登録する

このように汎用性のあるノード群をGroup化すると、別のショット、さらには別のプロジェクトでカスタムツールとしてこのGroupノードを簡単に呼び出すことができる。このGroupノードのプロパティのnodeタブからexport as Gizmoをクリックで、ユーザーが指定した任意の場所に.Gizmoファイルとして保存される。

Nukeプラクティカル・ガイド vol.8・図11

Groupノードのプロパティからexport as Gizmoを選択すれば、Gizumoファイルを書き出すことが可能

この.Gizmoファイルは[File → Import Script]から呼び出すことができるが、それだと面倒だしわざわざ.Gizmoファイルにした意味もない。そこで、これをノードグラフ上でその他のノードと同じように手軽にtabボタンから呼び出せるしたいと思う。

これにはいくつかの方法があるが、ここでは一般的な方法を説明する。NUKEは初期起動時にユーザーディレクトリ領域に「.nuke」という各ユーザーが自前で準備したPythonやこれらGizmo等をインストールできるフォルダを作成する。ユーザーディレクトリというのは、例えば、Windowsであれば「C:¥Users¥(ユーザー名)¥.nuke」、Macの場合、「/Users/(ユーザー名)/.nuke」といった具合であるが、無い場合は自分で作ってもよいし、また場合によっては不可視フォルダとして存在している場合もあるので注意が必要だ。
この「.nuke」フォルダに、Gizmoの入っているプラグインパスを指定するinit.pyと、そこからGizmoをNUKEから呼び出すために登録するmenu.pyを作成し、さらに今回はこの「.nuke」フォルダに「Gizmos」というGizmo用のフォルダを作成しておく。

init.pyの記述は;

nuke.pluginAddPath( './Gizmos' )

......である。この ./Gizmo というのがinit.pyのある場所からみたGizmosフォルダの表し方で、Gizmosフォルダに入っている.Gizmoや.pyなどはNUKE起動時にいったんNUKEが認識を行う。

menu.pyの記述は;

nuke.menu('Nodes').addCommand('test', "nuke.createNode('test')")

......であり、これは「test」ってコマンド名(ノード名)でnukeが呼び出せる「test」ノードを作成できるように登録するっていうことである。

init.py、menu.pyがすでに存在していて、その中に予め何か記述のある場合は、その一番下の行に改行して上記の記述を各ファイル(.py)に書き加えればよい。

と、これでNUKE上から自前のGizmoが手軽に通常のノードと同じようにして呼び出せるようになった。

駆け足ではあるが、今回はGizmoの作成から登録までを説明した。次回はnukepediaをはじめ、githubや個人サイト等で入手のできるよく使われているGizmoの紹介と面倒なGizmo登録を簡単にできるようにするTIPSを紹介したいと思う。また、本題とは関係なかったが、今回説明したマスクの作成の方法はそれなりに応用も利くので、それはそれで何かの足しになればと。

TEXT_テラオカマサヒロ(Galaxy of Terror)
株式会社ギャラクシーオブテラーにて VFX ディレクターとして活躍中。現在は北米に活動拠点を置き、実写合成からフルCGまで幅広いVFX制作に携わっている。
個人サイト「tiraokan.」

その他の連載