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

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

Nukepediaをはじめ、GitHubや個人サイト等でも様々な"Gizmo"(ギズモ)を入手することができる。このGizmoというのはよく使う手法などをノードの組み合わせとして登録して、いつでもそれを呼び出せるといったモノだ。もっというと先述のようなサイトからダウンロードして用いれば、別の誰かの良く使う手法を自分のノードグラフ上で再現することでできて、かつそれを利用して自分のノードグラフ上で発展させることもできる優れモノのである。今回はこのGizmoについて探っていこうと思う。

Gizmo とは

Gizmoを説明するにはまずGroupノードを説明する必要がある。Groupノードは、よく使うノード群をノードグラフ上で見かけ上ひとつのノードにまとめて、ちょうど器(うつわ)のようなモノに入れてまとめてしまって操作するというモノで、その器の中のノード群の必要なプロパティだけを、このGroupノードのプロパティとして表示し調整することができるという優れものだ。そして、このGizmoをNUKE上でいつでもファンクションとして呼び出せるようにあらかじめNUKEに登録可能な形式にしたものがGizmoと呼ばれる。

Group ノードの作成

例えば、マスクのエッジにフラクタルノイズを加えて、直線的な"乗り換え感"を誤摩化すといった「よくやるような手法」をGroupノードを経由して、今回はこれをGizmoとして登録してみる。それでは実際に、Groupノードを作ってそれを"Gizmo化"する、ということをやってみよう。

適当なロトマスクを準備して、それを図のようなノードグラフに組み上げる。ノード構成について簡単に説明しておくと、blurとerodeで与えられたロトマスクのボケ幅を調整できるようにして、その部分の白黒情報に従ってフラクタルノイズが入るようにしている。
少々ややこしい組み方しているが、このような組み方をしているのは、例えば、元あるロトマスクをblurとerodeでボケ幅を与えたモノにフラクタルノイズを加えて、それを元のそのボケ幅のあるロトの形状でマスクすると図のように単調で元の形状が判別しやすいものになってしまうためである。

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

    Rotoノードを用いたマスクの例

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

    このノードに左図のロトマスクを組み込む

今回組み上げたノード群だと、minusしているところがあり、ここで値的にいったんマイナス値が出てしまうのだが、これのおかげで、最初のロトの形状がわかりづらい複雑なマスクを作り出すことができる。

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

今回組み上げたノード群

ともあれ、この方法で、組んだノード群をGroupノードに変換するために、これらを選択し[Edit → Group → Collapse to Group]コマンドを用いてGroup化する。

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

組み上げたノード群をグループ化する

このとき、Outputとして複数のノードが候補として考えられる場合は、「どれをこのGroupノードのアウトプットとするか?」といった主旨のアラートが立ち上がるので、この場合はClampノードを指定した。

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

Groupノードのアウトプット先をClamp1に指定

Group化すると、見かけ上はひとつのGroupノードとしてノードグラフ上に存在するが、このGroupノードのプロパティの右上の方にある「S」マーク(show the internal structure of this Group node)をクリックすると、このGroupノードの中に入ることができる。

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

    見かけはひとつのGroupノードとしてノードグラフ上に表示される

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

    「S」マークをクリックすると、Groupノード内に入ることができる

さらに、Groupノードはそのプロパティで、Groupノードの中に持つノードのアトリビュートを調整できるように調整したり、各アトリビュートをGroupノードのプロパティ上に表示することができる。
その手順は、Groupノードのプロパティで右クリックをしてManage User Knobsを選び、pickボタンをクリックし、"おもて"に表示させたいアトリビュートを選択する。
今回はボケ幅とノイズの大きさを、この"おもて"から調整できるように、つまりGroupノードのプロパティから調整できるようにすることにした(009.png)。

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

<STEP 1>Groupノードのプロパティで右クリックをしてManage User Knobsを選択

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

<STEP 2>pickボタン(赤枠)をクリックし、[x/ysize] size を選択

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

<STEP 1>Groupノードのプロパティ上に、[x/ysize] size が表示されるようになった

しかし、このままだと、常にこの丸型のロトのマスクしかできないので、Groupの中のRotoノードを外に出してGroupノードのInputとする。これで、ロトに限らずアルファをコネクトすればその形状に従ったノイズ付きのマスクを得ることができる。これでいったんGroupノードは完成したものとする。

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

Groupノードから、Rotoノードを外に出し、GroupノードのInputに指定する。これにより、Rotoノードの代わりにアルファをコネクトすればアルファ画像の形状に従ったノイズ付きマスクが生成可能

その他の連載