10分で分かるNUKE
- 2020/12/01
(最終更新 2023/11/06)
初心者向けNuke入門。Nuke11~Nuke14あたり。キーボードショートカットはWindowsで記載。
内容:
作業画面 / 基本操作 / ファイル保存 / ノード / ノード操作 / ビューア / プロパティ / プロジェクト設定 / 環境設定 / Read / Merge / Reformat / Write
最初に。Nukeを使うときに、日本語のフォルダ/ファイル名を使うのはやめた方が良いです。マルチバイト文字は何かとエラーを起こしやすいため、映像/CG制作ソフトでアクセスするファイルパスは基本的に半角英数字(a~z、A~Z、0~9)と半角アンダーバー( _ )のみがオススメです。
Nukeでは主に3つのパネルで作業します。ビューア、ノードグラフ、プロパティビンです。ビューアは、映像が表示される場所です。ノードグラフは、ノードを組み合わせるメインの合成作業の場所です。プロパティビンは、各ノードの細かい設定を調整する場所です。
Nukeの作業画面は、ユーザーが好みで各パネルの配置を変えられるようになってます。自分の好きなようにカスタマイズしたい人は Workspaceメニュー>Save Workspace から名前をつけて保存できます。逆に「変にいじっちゃったけど元に戻したい」というときは Workspaceメニュー>Compositing をクリックすれば戻せます。
マウスの中央ホイールのスクロールで表示を拡大/縮小。中ドラッグで移動します。これはビューア上でもノードグラフ上でも同じです。
[F]キーでフィット表示します。たとえばノードグラフ上では、あるノードを選択して[F]キーを押すと、そのノードにズームします。なにも選択せずに[F]キーを押すと、全体が表示されます。このショートカットはビューア上でもノードグラフ上でも使えます。
ビューア上で[H]キーを押すと、高さに合わせてフィット表示されるので最大化できます。また、[スペース]キーでパネルを単独で最大化できるので、ビューア上で[スペース]を押すとビューアのみを最大化して表示できます。もう一度[スペース]を押すと戻ります。
なお、他の多くのソフトと同じように、[Ctrl]+[C]でコピー、[Ctrl]+[X]で切り取り、[Ctrl]+[V]でペースト、[Ctrl]+[A]で全選択、[Ctrl]+[Z]で元に戻す、などのショートカットはNuke上でノードを扱うときにもよく使います。
Nuke作業ファイルは、[Ctrl]+[S] で保存できます。実際の作業では、「XXXXX_v001.nk」という感じでバージョン付きのファイル名で保存するのがオススメです。 Fileメニュー>Save New Comp Version が便利です。バージョンを上げた名前で保存してくれます。ショートカットは[Alt]+[Shift]+[S] 。
Nukeはノードシステムの合成ソフトです。ノードと呼ばれるツールをノードグラフ上でつなげていくことで合成作業を進めます。ノードを組み合わせていったものを樹木に例えて「ツリー」と呼んだりします。また、川のように「上流」「下流」と言ったりもします。
ノードは左側にあるノードツールバーから呼び出すことができます。ただ、他にもっと楽にノードを呼び出す方法があるので、Nukeに慣れたらツールバーはほとんど使わなくなると思います。
各ノードの上に付いている矢印がインプット(入力)、ノードの下の矢印がアウトプット(出力)です。また、ノードによっては右側にmaskインプットがありますが、これを使えば一部だけ色調整するといったことができます。
各ノードの下にある色表示は、そのノードが持っているチャンネルを示しています。RGBチャンネルは赤緑青、アルファは白で表示されます。それ以外の色があったら、rgba 以外のチャンネル(depth や velocity など)を持っているということです。多様なチャンネルを扱うのはNukeの特長でもあります。しかし、不要なチャンネルはツリーを重くする場合があるので、要らないならRemoveノードで「keep」「rgba」に設定し、rgba チャンネル以外を削除することもできます。
よく使うノードはショートカットで呼び出します。ノードグラフ上で、[M]でMergeノード、[T]でTransformノード、[G]でGradeノード、[B]でBlurノード、[O]でRotoノード、[P]でRotoPaintノード、[W]でWriteノードが呼び出せます(※これらのショートカットはノードグラフ上で使う。ビューア上では別の機能になるので注意)。
それ以外のノードを呼び出すときは、ノードグラフ上で[Tab]キーを押し、出てきた入力欄にノード名を打ち込みます。欲しいノードが出てきたところで、[↓]キーを使って選んで、[Enter]を押します。
ノードとノードをつなぐ方法。矢印を引っ張るようにドラッグしていくと、くっついてつながります。でも、ちょっと離れたノードにつなぐのは大変です。そういうときは、[Shift]キーを押しながらノードを2つ選択してから、[Y]を押します。最初に選択したノードの上流に、2つ目に選択したノードがつながります。
ノードはクリックで選択。何もないところをクリックしたら選択が外れます。
[Shift]キーを押しながら、ノードを2つ、3つと複数選択できます。また、マウスでドラッグしてノードを囲うことでも複数選択できます。
選択したあと、ドラッグして移動することができます。
ノードを削除したいときは、ノードを選択して[Delete]キーです。
また、ノードを選択して[D]を押すと、ノードがDisable(無効)になります。もう一度[D]を押すと有効に戻ります。
ノードをつなぐパイプを折り曲げたいとき。ノードグラフ上で[Ctrl]キーを押していると、パイプ上に小さな黄色い ◇ が現れます。これをクリック/ドラッグすると、Dotノードができます。このDotノードを利用してパイプを折り曲げて、見やすく整理しましょう。Dotノードはパイプを分岐させたいときにも便利です。
また、キーボードにあるドット「 . 」を叩くことでもDotノードを作成できます。
複数ノードを選択して、[L]キーで整列させることができます。
Viewerノードにつないだノードが、ビューアに映像として表示されます。Viewerノードにつなぐのには数字キーを使います。たとえば、「Read1」ノードを選択して、キーボードの[1]を押します。今度は別の「Read2」ノードを選択して、[2]を押します。選択を解除して、キーボードの[1]、[2]で表示を切り替えることができます。キーボードの数字キー[1]~[0]に対応していて、最大10個のインプットが可能です。素材を見たり、合成結果を見たり、コンポジットのさまざまな段階を見ることができます。
ビューアの右下にRGBA値の表示があります。今マウスカーソルがある場所のピクセルの値を表示しています。たまに作業する中でここをチェックする場面があります。Nukeは浮動小数(float)でカラーを扱います。ざっくり説明してしまうと「黒を0、白を1」という感じで、小数点で扱うのですが、1.0を超える大きな値も、0.0を下回るマイナス値も出てきます。
ビューアの左上に「rgba」と表示されているドロップダウンがあります。ここでビューアに表示するチャンネルを切り替えられます。基本は rgba にしておけば良いです。EXRファイルのように様々なチャンネルを持っている素材では、ここを切り替えて他のチャンネルを確認することができます。
その少し右にある「RGB」と表示されているドロップダウンでは、RGBAの各チャンネルを1つずつ表示させることができます。実際にはビューア上でキーボードショートカット [R] [G] [B] [A] で切り替えていきます。2回押すと元に戻ります。アルファチャンネルの状態を確認したり、よく使います。
ビューアの上部にある gain のスライダーはとても便利です。コンポジット自体は変更せずに、一時的に見た目上で明るくしたり暗くしたりできます。gain を変更すると左側の数字が赤くなります。この赤い数字をクリックしてやると、元の明るさにリセットされます。
ビュー画面の下部にあるタイムスライダーで、他の時間(他のフレーム)へ移動できます。フレーム番号を数値入力して他のフレームへ移動することもできます。また、各種ボタンも利用します。
イン/アウトについて。[I]ボタンと[O]ボタンで再生範囲を限定することができます。一部の範囲だけを作業したりチェックしたりしたい場合に便利です。イン/アウトを設定した場合、右下のボタンでイン/アウト設定をオン・オフできるようになります。
タイムスライダーの左側の「Global」と表示されているドロップダウンがあります。ここでタイムスライダーの範囲を変更できます。Global だと、プロジェクトのフレームレンジになります。Input にすると、「今見ているノードが持っているフレームレンジ」になるので、素材を確認するときなどに便利です。In/Out を選ぶと、前述のイン/アウト設定のレンジになります。また、フレームスライダー上でマウス中央ホイールをスクロールすると、タイムスライダーを拡大縮小できますが、このとき Visible と表示されます。
ノードをダブルクリックすると、そのノードのプロパティが、プロパティビンに表示されます。ここで各ノードの調整を行います。個々の項目のことをNukeでは「ノブ」と呼んでいます。channels というノブに注意してください。「all」にしていると処理が重くなる場合があるので、「rgba」にするなどして必要なチャンネルだけ処理するようにします。
プロパティビンの左上の数字は、表示するパネルの最大数を設定する場所です。デフォルトでは「10」になっていますが、もっと小さい数字(1や2など)にして使っている人が多いかと思います。
プロパティの数値の調整にはさまざまな方法がありますが、シンプルに入力欄に数値を入力するのが簡単です。入力欄にカーソルを置いて、[↑][↓]の矢印キーで数値を増減させることができます。[←][→]の矢印キーで桁を移動し、どの桁の数字を増減させるか選べます。
ノードグラフ上かプロパティビン上で[S]キーを押して、Project Settings(プロジェクト設定)を表示させます。 Project Settings というのは、この現在作業して保存するNuke作業ファイルごとの設定を決める場所です。重要なのは、frame range(フレームレンジ=時間の範囲)、fps(フレームレート)、full size format(解像度)の3つ。
特に重要なのはfull size formatです。これは、このNuke作業ファイルで基準となる画像サイズ(解像度)です。いろいろなノードをつくったときのデフォルトの画像サイズになるので、必ずきちんと最初に設定しておく必要があります。ある程度作業を進めたあとにfull size formatを変えると、コンポジットがおかしなことになって大変です。
[Shift]+[S]を押して、Preferences(環境設定)を表示させます。ここでは、Nukeが自分の好みに動作するように設定できます。一例として、個人的に設定している箇所を少し紹介します。
・Behaviors>Nodes>new Merge nodes connect A input のチェックを外しています。ノードを選択してからMergeを作ったとき、選択していたノードはBに繋がるので作業しやすく、ツリーを整理しやすいです。
・同じところにある autokey roto shapes のチェックも外しています。このチェックが入っていると、マスクのシェイプを作った瞬間にキーフレームが打たれてしまうのですが、静止したマスク(アニメーションしないマスク)を切りたいときも多々あり、そういう場合にはマスクが意図せずアニメしてしまうという問題が起きやすいためです。
・Panels>Control Panels>max node in propaties bin を「1」にしています。前述しましたが、プロパティビンに表示するノードの最大数は、少な目が良いです。
・Panels>Node Graph>snap to grid および show grid のチェックをオンにしています。ノードを綺麗に整列させやすいためです。
・Behaviors>Startup>startup workspace は、ワークスペースをカスタマイズしたい人は変更すると良いです。
素材の読み込みはReadノードで行います。エクスプローラーからドラッグ&ドロップでノードグラフ上に投げ込めばReadノードができます。連番ファイルの場合は、連番の入っているフォルダを投げ込みます。
Readノードで気を付けること。Frame Range のところに「hold」となっているドロップダウンが2つあります。これは before と after というノブで、素材の「1フレーム目より前」と「ラストフレームより後ろ」の部分の処理をどうするか選ぶことができます。「hold」にしていると、前後は最初のフレーム、最後のフレームの静止画が延々と表示されます。これが都合が良いときもありますが、必要に応じて「black」にしたりします。
Frame のドロップダウンでフレームモードを選ぶことができます。連番ファイルを読み込んだときは連番の数字のところに並びますが、「start at」に変更して「1」と入力すると、タイムラインの1フレーム目から始まるようにできます。
Colorspace のドロップダウンで、この素材のカラースペースを選びます。Nuke内部は32bit浮動小数で、シーンリニアのカラースペースで計算しますが、各Readノードでカラースペースを指定することでNukeはそれぞれの素材を適切に変換して読み込みます。
Auto Alpha のチェックは、アルファチャンネルを持っていない実写素材やスチル素材などにアルファ「1」を与えることができます。
ノードグラフ上で[M]を押してMergeノードをつくります。Mergeノードには「A」と「B」の2つのインプットがあり、2つの画像を統合(マージ)します。operation ドロップダウンからは、どのようにAとBをブレンドするか、さまざまな計算式を選ぶことができます。最もよく使うのはデフォルトの「over」という計算式です。
Mergeノードでは over 以外の operation が多く用意されていますが、個人的に頻繁に使うのは、over, plus, mask, stencil の4つです。ほとんどの作業は、これだけでやっていけます。もちろん他の operation も使いますが、特定の作業をしたいときです。
ここで、Merge(over)の仕組みについて簡単に説明したいと思います。over は A + B(1 - a) という計算式で画像Aと画像Bを統合します。小文字の a は「画像Aのアルファチャンネル」を意味しています。つまり画像Aのアルファチャンネルの反転を画像Bに乗算した上でAと加算することで、画像Aによって画像Bが隠される形になり、あたかも「Bの手前にAがある」ような結果を得ることができます。このことから、over を使うときには、Aは必ずアルファチャンネルを持っていなければならないと分かります。(参考リンク:NUKE プラクティカル・ガイド:Vol.3:アニマル・ロジック流コンポジット | 連載 | CGWORLD.jp)
また、over の A + B(1 - a) という計算式では、画像Aはそのまま加算されるため、自分のアルファチャンネルで事前に乗算されている必要があります。CGレンダー画像などであればプリマルチプライド・アルファが一般的なので良いのですが、Photoshopでつくった画像などではストレート・アルファかもしれません。Aがストレート・アルファだったときは、Merge(over)で合成するとエッジに妙に明るいピクセルが発生したりします。このような場合は、Premultノードを追加して、プリマルチプライしてからMergeノードにインプットする必要があります。(参考記事:コンポジターに必要なアルファチャンネルの知識(前編))
その他の注意点。Mergeノードのmaskインプットは、使わないことをオススメします。事前にマスク処理したものをAにインプットする方が、データの取り回しが効率的になります。(参考リンク:Shizlog: [Nuke]Mergeノードのmaskインプットは使用を避ける)
Mergeノードのプロパティに、mixというノブがあります。デフォルトでは1になっていますが、これを弱めていくと、ノードを実行する前段階とブレンドされます。つまりMergeノードでは重ねるAを薄くするのに使用できます。しかし、コンポジットが分かりにくくなったりデータの取り回しが難しくなる場合があるので、全般的にmixノブはあまり使わないことをオススメします。
mixを使っているノードは「X」マークが表示されます。
mixを使う代わりに、Aの方にMultiplyノードをつけて、Aの rgba チャンネルを弱めることができます。こうした方が、何を重ねているか確認しやすくなります。
MergeノードのAインプットは、実はA2, A3・・・という具合に増やせるのですが、コンポジットが分かりづらくなって作業が大変になるので、使わない方が良いです。Mergeノードは「AとBという2つを統合する」というシンプルな使い方が良いと思います。
たまに「Bに何もインプットしない」という使い方をする方もいるみたいですが、不適切なやり方です。代わりにMerge(mask)を使うことをオススメします。(参考リンク:Shizlog: [Nuke]Mergeノード:アノ繋ぎ方が駄目なわけ(もういっかい)。)
Mergeノードは「Bが主役」というイメージを持つと良いです。Bという「土台」があって、そこにAを乗っけるイメージです。AとBに画像サイズ(解像度)の異なる2つの素材をインプットすると、アウトプットされるのはBのサイズの画像です。MergeノードをDisableしたときに残るのはBです。メタデータやノードが持つ時間「フレームレンジ」も、デフォルトではBから引き継がれるようになっています。ノードが持つさまざまなチャンネルも、AではなくBの持っているチャンネルがアウトプットに引き継がれます。
合成するときは画像サイズ(解像度)に注意が必要です。実際の作業ではさまざまな素材を使うので、素材の画像サイズもバラバラだったりします。画像サイズの異なる素材をそのままマージしてしまうと、Bの画像サイズで出力されますが、おかしなことになると思います。Nukeは画像の左下のカドを x=0 y=0 の基準点としているので、左下合わせで合成されてしまいます。
NukeではReformatノードで画像サイズを管理します。素材の画像サイズが好ましくない場合は、Reformatノードを追加して、適切な画像サイズにしてから扱うと良いです。
Reformatノードの type のドロップダウンは to format で使うことが多いです(他の使い方も可能です)。output format は、デフォルトでは root.format となっています。これはプロジェクト解像度のことです。このまま使うこともありますし、ドロップダウンで別の解像度を選ぶこともあります。
resize type は none(=サイズ変更なし)で使うことが多いですが、ケースバイケースで width などにすることもあります。center のチェックは入れます。black outside や preserve bounding box のチェックはオフにすることが多いですが、必要に応じてオンにすることもあります。
レンダリングするときは、ノードグラフ上で[W]キーを押してWriteノードをつくります。
・channelsノブで書き出すチャンネルを指定します。アルファチャンネルのない「rgb」で出すのか、アルファ付きの「rgba」で出すのか?「all」にしてEXRファイル形式にすれば、その他のさまざまなチャンネルも含んでレンダリングされます。
・fileノブの入力欄に、書き出したいパスをペーストして、拡張子まで含むフルパスを入力します。連番ファイルの場合は、「.####.exr」のように書きます。
・colorspaceノブのドロップダウンで、書き出すファイルのカラースペースを選びます。Nuke内部は32bit浮動小数で、シーンリニアのカラースペースで計算しますが、指定したカラースペースに変換して書き出されます。
・create directories のチェックを入れておけば、レンダリング時にフォルダを自動で作成してくれるので便利です。
[Render]ボタンをクリックします。レンダリング範囲は「global」にすればプロジェクトのフレームレンジになりますが、「1-24」のように書いて好きな範囲だけレンダリングすることも可能です。
次回へつづく
初心者向けNuke入門。Nuke11~Nuke14あたり。キーボードショートカットはWindowsで記載。
内容:
作業画面 / 基本操作 / ファイル保存 / ノード / ノード操作 / ビューア / プロパティ / プロジェクト設定 / 環境設定 / Read / Merge / Reformat / Write
最初に。Nukeを使うときに、日本語のフォルダ/ファイル名を使うのはやめた方が良いです。マルチバイト文字は何かとエラーを起こしやすいため、映像/CG制作ソフトでアクセスするファイルパスは基本的に半角英数字(a~z、A~Z、0~9)と半角アンダーバー( _ )のみがオススメです。
Nukeの作業画面
Nukeでは主に3つのパネルで作業します。ビューア、ノードグラフ、プロパティビンです。ビューアは、映像が表示される場所です。ノードグラフは、ノードを組み合わせるメインの合成作業の場所です。プロパティビンは、各ノードの細かい設定を調整する場所です。
Nukeの作業画面は、ユーザーが好みで各パネルの配置を変えられるようになってます。自分の好きなようにカスタマイズしたい人は Workspaceメニュー>Save Workspace から名前をつけて保存できます。逆に「変にいじっちゃったけど元に戻したい」というときは Workspaceメニュー>Compositing をクリックすれば戻せます。
基本的な操作方法
マウスの中央ホイールのスクロールで表示を拡大/縮小。中ドラッグで移動します。これはビューア上でもノードグラフ上でも同じです。
[F]キーでフィット表示します。たとえばノードグラフ上では、あるノードを選択して[F]キーを押すと、そのノードにズームします。なにも選択せずに[F]キーを押すと、全体が表示されます。このショートカットはビューア上でもノードグラフ上でも使えます。
ビューア上で[H]キーを押すと、高さに合わせてフィット表示されるので最大化できます。また、[スペース]キーでパネルを単独で最大化できるので、ビューア上で[スペース]を押すとビューアのみを最大化して表示できます。もう一度[スペース]を押すと戻ります。
なお、他の多くのソフトと同じように、[Ctrl]+[C]でコピー、[Ctrl]+[X]で切り取り、[Ctrl]+[V]でペースト、[Ctrl]+[A]で全選択、[Ctrl]+[Z]で元に戻す、などのショートカットはNuke上でノードを扱うときにもよく使います。
ファイルの保存
Nuke作業ファイルは、[Ctrl]+[S] で保存できます。実際の作業では、「XXXXX_v001.nk」という感じでバージョン付きのファイル名で保存するのがオススメです。 Fileメニュー>Save New Comp Version が便利です。バージョンを上げた名前で保存してくれます。ショートカットは[Alt]+[Shift]+[S] 。
ノードとは
Nukeはノードシステムの合成ソフトです。ノードと呼ばれるツールをノードグラフ上でつなげていくことで合成作業を進めます。ノードを組み合わせていったものを樹木に例えて「ツリー」と呼んだりします。また、川のように「上流」「下流」と言ったりもします。
ノードは左側にあるノードツールバーから呼び出すことができます。ただ、他にもっと楽にノードを呼び出す方法があるので、Nukeに慣れたらツールバーはほとんど使わなくなると思います。
各ノードの上に付いている矢印がインプット(入力)、ノードの下の矢印がアウトプット(出力)です。また、ノードによっては右側にmaskインプットがありますが、これを使えば一部だけ色調整するといったことができます。
各ノードの下にある色表示は、そのノードが持っているチャンネルを示しています。RGBチャンネルは赤緑青、アルファは白で表示されます。それ以外の色があったら、rgba 以外のチャンネル(depth や velocity など)を持っているということです。多様なチャンネルを扱うのはNukeの特長でもあります。しかし、不要なチャンネルはツリーを重くする場合があるので、要らないならRemoveノードで「keep」「rgba」に設定し、rgba チャンネル以外を削除することもできます。
ノードの操作方法
よく使うノードはショートカットで呼び出します。ノードグラフ上で、[M]でMergeノード、[T]でTransformノード、[G]でGradeノード、[B]でBlurノード、[O]でRotoノード、[P]でRotoPaintノード、[W]でWriteノードが呼び出せます(※これらのショートカットはノードグラフ上で使う。ビューア上では別の機能になるので注意)。
それ以外のノードを呼び出すときは、ノードグラフ上で[Tab]キーを押し、出てきた入力欄にノード名を打ち込みます。欲しいノードが出てきたところで、[↓]キーを使って選んで、[Enter]を押します。
ノードとノードをつなぐ方法。矢印を引っ張るようにドラッグしていくと、くっついてつながります。でも、ちょっと離れたノードにつなぐのは大変です。そういうときは、[Shift]キーを押しながらノードを2つ選択してから、[Y]を押します。最初に選択したノードの上流に、2つ目に選択したノードがつながります。
ノードはクリックで選択。何もないところをクリックしたら選択が外れます。
[Shift]キーを押しながら、ノードを2つ、3つと複数選択できます。また、マウスでドラッグしてノードを囲うことでも複数選択できます。
選択したあと、ドラッグして移動することができます。
ノードを削除したいときは、ノードを選択して[Delete]キーです。
また、ノードを選択して[D]を押すと、ノードがDisable(無効)になります。もう一度[D]を押すと有効に戻ります。
ノードをつなぐパイプを折り曲げたいとき。ノードグラフ上で[Ctrl]キーを押していると、パイプ上に小さな黄色い ◇ が現れます。これをクリック/ドラッグすると、Dotノードができます。このDotノードを利用してパイプを折り曲げて、見やすく整理しましょう。Dotノードはパイプを分岐させたいときにも便利です。
また、キーボードにあるドット「 . 」を叩くことでもDotノードを作成できます。
複数ノードを選択して、[L]キーで整列させることができます。
ビューア
Viewerノードにつないだノードが、ビューアに映像として表示されます。Viewerノードにつなぐのには数字キーを使います。たとえば、「Read1」ノードを選択して、キーボードの[1]を押します。今度は別の「Read2」ノードを選択して、[2]を押します。選択を解除して、キーボードの[1]、[2]で表示を切り替えることができます。キーボードの数字キー[1]~[0]に対応していて、最大10個のインプットが可能です。素材を見たり、合成結果を見たり、コンポジットのさまざまな段階を見ることができます。
ビューアの右下にRGBA値の表示があります。今マウスカーソルがある場所のピクセルの値を表示しています。たまに作業する中でここをチェックする場面があります。Nukeは浮動小数(float)でカラーを扱います。ざっくり説明してしまうと「黒を0、白を1」という感じで、小数点で扱うのですが、1.0を超える大きな値も、0.0を下回るマイナス値も出てきます。
ビューアの左上に「rgba」と表示されているドロップダウンがあります。ここでビューアに表示するチャンネルを切り替えられます。基本は rgba にしておけば良いです。EXRファイルのように様々なチャンネルを持っている素材では、ここを切り替えて他のチャンネルを確認することができます。
その少し右にある「RGB」と表示されているドロップダウンでは、RGBAの各チャンネルを1つずつ表示させることができます。実際にはビューア上でキーボードショートカット [R] [G] [B] [A] で切り替えていきます。2回押すと元に戻ります。アルファチャンネルの状態を確認したり、よく使います。
ビューアの上部にある gain のスライダーはとても便利です。コンポジット自体は変更せずに、一時的に見た目上で明るくしたり暗くしたりできます。gain を変更すると左側の数字が赤くなります。この赤い数字をクリックしてやると、元の明るさにリセットされます。
ビュー画面の下部にあるタイムスライダーで、他の時間(他のフレーム)へ移動できます。フレーム番号を数値入力して他のフレームへ移動することもできます。また、各種ボタンも利用します。
イン/アウトについて。[I]ボタンと[O]ボタンで再生範囲を限定することができます。一部の範囲だけを作業したりチェックしたりしたい場合に便利です。イン/アウトを設定した場合、右下のボタンでイン/アウト設定をオン・オフできるようになります。
タイムスライダーの左側の「Global」と表示されているドロップダウンがあります。ここでタイムスライダーの範囲を変更できます。Global だと、プロジェクトのフレームレンジになります。Input にすると、「今見ているノードが持っているフレームレンジ」になるので、素材を確認するときなどに便利です。In/Out を選ぶと、前述のイン/アウト設定のレンジになります。また、フレームスライダー上でマウス中央ホイールをスクロールすると、タイムスライダーを拡大縮小できますが、このとき Visible と表示されます。
プロパティビン
ノードをダブルクリックすると、そのノードのプロパティが、プロパティビンに表示されます。ここで各ノードの調整を行います。個々の項目のことをNukeでは「ノブ」と呼んでいます。channels というノブに注意してください。「all」にしていると処理が重くなる場合があるので、「rgba」にするなどして必要なチャンネルだけ処理するようにします。
プロパティビンの左上の数字は、表示するパネルの最大数を設定する場所です。デフォルトでは「10」になっていますが、もっと小さい数字(1や2など)にして使っている人が多いかと思います。
プロパティの数値の調整にはさまざまな方法がありますが、シンプルに入力欄に数値を入力するのが簡単です。入力欄にカーソルを置いて、[↑][↓]の矢印キーで数値を増減させることができます。[←][→]の矢印キーで桁を移動し、どの桁の数字を増減させるか選べます。
プロジェクト設定
ノードグラフ上かプロパティビン上で[S]キーを押して、Project Settings(プロジェクト設定)を表示させます。 Project Settings というのは、この現在作業して保存するNuke作業ファイルごとの設定を決める場所です。重要なのは、frame range(フレームレンジ=時間の範囲)、fps(フレームレート)、full size format(解像度)の3つ。
特に重要なのはfull size formatです。これは、このNuke作業ファイルで基準となる画像サイズ(解像度)です。いろいろなノードをつくったときのデフォルトの画像サイズになるので、必ずきちんと最初に設定しておく必要があります。ある程度作業を進めたあとにfull size formatを変えると、コンポジットがおかしなことになって大変です。
環境設定
[Shift]+[S]を押して、Preferences(環境設定)を表示させます。ここでは、Nukeが自分の好みに動作するように設定できます。一例として、個人的に設定している箇所を少し紹介します。
・Behaviors>Nodes>new Merge nodes connect A input のチェックを外しています。ノードを選択してからMergeを作ったとき、選択していたノードはBに繋がるので作業しやすく、ツリーを整理しやすいです。
・同じところにある autokey roto shapes のチェックも外しています。このチェックが入っていると、マスクのシェイプを作った瞬間にキーフレームが打たれてしまうのですが、静止したマスク(アニメーションしないマスク)を切りたいときも多々あり、そういう場合にはマスクが意図せずアニメしてしまうという問題が起きやすいためです。
・Panels>Control Panels>max node in propaties bin を「1」にしています。前述しましたが、プロパティビンに表示するノードの最大数は、少な目が良いです。
・Panels>Node Graph>snap to grid および show grid のチェックをオンにしています。ノードを綺麗に整列させやすいためです。
・Behaviors>Startup>startup workspace は、ワークスペースをカスタマイズしたい人は変更すると良いです。
素材を読み込む=Readノード
素材の読み込みはReadノードで行います。エクスプローラーからドラッグ&ドロップでノードグラフ上に投げ込めばReadノードができます。連番ファイルの場合は、連番の入っているフォルダを投げ込みます。
Readノードで気を付けること。Frame Range のところに「hold」となっているドロップダウンが2つあります。これは before と after というノブで、素材の「1フレーム目より前」と「ラストフレームより後ろ」の部分の処理をどうするか選ぶことができます。「hold」にしていると、前後は最初のフレーム、最後のフレームの静止画が延々と表示されます。これが都合が良いときもありますが、必要に応じて「black」にしたりします。
Frame のドロップダウンでフレームモードを選ぶことができます。連番ファイルを読み込んだときは連番の数字のところに並びますが、「start at」に変更して「1」と入力すると、タイムラインの1フレーム目から始まるようにできます。
Colorspace のドロップダウンで、この素材のカラースペースを選びます。Nuke内部は32bit浮動小数で、シーンリニアのカラースペースで計算しますが、各Readノードでカラースペースを指定することでNukeはそれぞれの素材を適切に変換して読み込みます。
Auto Alpha のチェックは、アルファチャンネルを持っていない実写素材やスチル素材などにアルファ「1」を与えることができます。
Mergeノードで画像を統合
ノードグラフ上で[M]を押してMergeノードをつくります。Mergeノードには「A」と「B」の2つのインプットがあり、2つの画像を統合(マージ)します。operation ドロップダウンからは、どのようにAとBをブレンドするか、さまざまな計算式を選ぶことができます。最もよく使うのはデフォルトの「over」という計算式です。
Mergeノードでは over 以外の operation が多く用意されていますが、個人的に頻繁に使うのは、over, plus, mask, stencil の4つです。ほとんどの作業は、これだけでやっていけます。もちろん他の operation も使いますが、特定の作業をしたいときです。
ここで、Merge(over)の仕組みについて簡単に説明したいと思います。over は A + B(1 - a) という計算式で画像Aと画像Bを統合します。小文字の a は「画像Aのアルファチャンネル」を意味しています。つまり画像Aのアルファチャンネルの反転を画像Bに乗算した上でAと加算することで、画像Aによって画像Bが隠される形になり、あたかも「Bの手前にAがある」ような結果を得ることができます。このことから、over を使うときには、Aは必ずアルファチャンネルを持っていなければならないと分かります。(参考リンク:NUKE プラクティカル・ガイド:Vol.3:アニマル・ロジック流コンポジット | 連載 | CGWORLD.jp)
また、over の A + B(1 - a) という計算式では、画像Aはそのまま加算されるため、自分のアルファチャンネルで事前に乗算されている必要があります。CGレンダー画像などであればプリマルチプライド・アルファが一般的なので良いのですが、Photoshopでつくった画像などではストレート・アルファかもしれません。Aがストレート・アルファだったときは、Merge(over)で合成するとエッジに妙に明るいピクセルが発生したりします。このような場合は、Premultノードを追加して、プリマルチプライしてからMergeノードにインプットする必要があります。(参考記事:コンポジターに必要なアルファチャンネルの知識(前編))
その他の注意点。Mergeノードのmaskインプットは、使わないことをオススメします。事前にマスク処理したものをAにインプットする方が、データの取り回しが効率的になります。(参考リンク:Shizlog: [Nuke]Mergeノードのmaskインプットは使用を避ける)
Mergeノードのプロパティに、mixというノブがあります。デフォルトでは1になっていますが、これを弱めていくと、ノードを実行する前段階とブレンドされます。つまりMergeノードでは重ねるAを薄くするのに使用できます。しかし、コンポジットが分かりにくくなったりデータの取り回しが難しくなる場合があるので、全般的にmixノブはあまり使わないことをオススメします。
mixを使っているノードは「X」マークが表示されます。
mixを使う代わりに、Aの方にMultiplyノードをつけて、Aの rgba チャンネルを弱めることができます。こうした方が、何を重ねているか確認しやすくなります。
MergeノードのAインプットは、実はA2, A3・・・という具合に増やせるのですが、コンポジットが分かりづらくなって作業が大変になるので、使わない方が良いです。Mergeノードは「AとBという2つを統合する」というシンプルな使い方が良いと思います。
たまに「Bに何もインプットしない」という使い方をする方もいるみたいですが、不適切なやり方です。代わりにMerge(mask)を使うことをオススメします。(参考リンク:Shizlog: [Nuke]Mergeノード:アノ繋ぎ方が駄目なわけ(もういっかい)。)
Mergeノードは「Bが主役」というイメージを持つと良いです。Bという「土台」があって、そこにAを乗っけるイメージです。AとBに画像サイズ(解像度)の異なる2つの素材をインプットすると、アウトプットされるのはBのサイズの画像です。MergeノードをDisableしたときに残るのはBです。メタデータやノードが持つ時間「フレームレンジ」も、デフォルトではBから引き継がれるようになっています。ノードが持つさまざまなチャンネルも、AではなくBの持っているチャンネルがアウトプットに引き継がれます。
Reformatノードで画像サイズを調整
合成するときは画像サイズ(解像度)に注意が必要です。実際の作業ではさまざまな素材を使うので、素材の画像サイズもバラバラだったりします。画像サイズの異なる素材をそのままマージしてしまうと、Bの画像サイズで出力されますが、おかしなことになると思います。Nukeは画像の左下のカドを x=0 y=0 の基準点としているので、左下合わせで合成されてしまいます。
NukeではReformatノードで画像サイズを管理します。素材の画像サイズが好ましくない場合は、Reformatノードを追加して、適切な画像サイズにしてから扱うと良いです。
Reformatノードの type のドロップダウンは to format で使うことが多いです(他の使い方も可能です)。output format は、デフォルトでは root.format となっています。これはプロジェクト解像度のことです。このまま使うこともありますし、ドロップダウンで別の解像度を選ぶこともあります。
resize type は none(=サイズ変更なし)で使うことが多いですが、ケースバイケースで width などにすることもあります。center のチェックは入れます。black outside や preserve bounding box のチェックはオフにすることが多いですが、必要に応じてオンにすることもあります。
Writeノードでレンダリング
レンダリングするときは、ノードグラフ上で[W]キーを押してWriteノードをつくります。
・channelsノブで書き出すチャンネルを指定します。アルファチャンネルのない「rgb」で出すのか、アルファ付きの「rgba」で出すのか?「all」にしてEXRファイル形式にすれば、その他のさまざまなチャンネルも含んでレンダリングされます。
・fileノブの入力欄に、書き出したいパスをペーストして、拡張子まで含むフルパスを入力します。連番ファイルの場合は、「.####.exr」のように書きます。
・colorspaceノブのドロップダウンで、書き出すファイルのカラースペースを選びます。Nuke内部は32bit浮動小数で、シーンリニアのカラースペースで計算しますが、指定したカラースペースに変換して書き出されます。
・create directories のチェックを入れておけば、レンダリング時にフォルダを自動で作成してくれるので便利です。
[Render]ボタンをクリックします。レンダリング範囲は「global」にすればプロジェクトのフレームレンジになりますが、「1-24」のように書いて好きな範囲だけレンダリングすることも可能です。
次回へつづく
【参考書籍】
・Ganbar, Ron. Nuke 101: Professional Compositing and Visual Effects. Peachpit Press, 2011. (ロン・ガンバー, Bスプラウト訳. NUKE 101 コンポジット & ビジュアルエフェクト. ボーンデジタル, 2011.)
・Ganbar, Ron. Nuke 101: Professional Compositing and Visual Effects. Peachpit Press, 2011. (ロン・ガンバー, Bスプラウト訳. NUKE 101 コンポジット & ビジュアルエフェクト. ボーンデジタル, 2011.)
- 関連記事
-
- 10分で分かるNUKE*4 (ブラー&デフォーカス編) (2024/05/26)
- 10分で分かるNUKE*3 (Rotoノード編) (2023/11/06)
- さまざまなグレイン・ワークフロー(Nuke) (2023/09/14)
- Nukeのノードのクローンは使ってはいけない!(という都市伝説?) (2023/05/11)
- NukeのTCL入門!さまざまな情報を取得して活用する方法 (2023/04/18)
- スクリーンクリーン: Nukeでグリーンバックを均一にするテクニック (2023/04/04)
- 10分で分かるNUKE*2 (2020/12/15)
- 10分で分かるNUKE (2020/12/01)
- NukeにおけるOCIOを使ったACESシーンリニアワークフロー (2019/05/08)
- NUKEのスピードを速くするためのTips集 (2016/12/19)
- Nuke Pythonを使ってノードの設定を一括変更する (2016/12/03)
- NUKEのエクスプレッション(Expression)の便利な使い方 (2016/10/18)
- NUKE初心者におすすめのショートカット (2016/10/11)
- NUKE入門! 画像サイズをマスターする10項目のルール (2016/07/15)
- NUKEのノードツリーを整理してワンランク上の合成作業を目指す (2015/11/17)