※使用しているNUKEのバージョン:NUKEX 10.0v4
こちらの記事では、特徴点を指定してトラッキングを行うTrackerノードのデータをRotoノードに適用し、トラッキングしたデータでマスクをアニメーションさせる方法の一例をご紹介致します。
▼素材について
今回の記事で使用しているデータは、The Foundry社サイトの以下のページよりダウンロードすることができます。
The Foundry社サイト: Support > User guides
ページ内のリンクより、「NUKE Tutorial 2 assets – Tracking」をダウンロードしてください。ダウンロードしたファイルの中に含まれる、「londonEye.####.tif」というシーケンスを使用します。
▼素材の読み込みと加工
素材を読み込みます。いくつか読み込む方法はありますが、エクスプローラーからそのまま読み込みたい場合は、そのシーケンスを保存しているフォルダをドラッグアンドドロップします。
作成されたReadノードを選択し、[Node Graph]タブにカーソルを置いた状態で[1]キーを押し、[Viewer]に接続、シーケンスをViewer上に表示します。
[Viewer]タブの上にカーソルを置いて、[A]キーを押すと、アルファチャンネルとして保存されている情報を確認することができます。「londonEye」シーケンスのアルファチャンネルには、すでにマスクが含まれていることが確認できます。
マスクを新しく作成するために、Shuffleノードを使用して現在のアルファチャンネルのデータを削除します。Readノードを選択した状態で、[Toolbar]の[Channel]カテゴリからShuffleノードを選択します。
Shuffleノードのプロパティで、[a(アルファチャンネル)]に入力されている情報をすべて0にするため、以下の画像のように設定します。
これで、アルファチャンネルに入力されていた情報を消すことができます。Viewerの表示を、アルファチャンネルから元のカラー表示に戻すために、再度[Viewer]タブの上にカーソルを置いて、[A]キーを押してください。
▼Rotoでのマスクの作成
それでは、船を囲むマスクを作成します。[Node Graph] タブ内にカーソルを置き、[O]キーを押してRotoノードを作成します。Rotoノードの[bg]インプットに、「londonEye」シーケンスを読み込んだReadノードを接続します。
Bezierツールはすでに起動していますので、そのままベジェシェイプを作成することができます。カレントフレームが1フレーム目であることを確認してから、[Viewer]タブ上を左クリックして、船を囲みます。最初にクリックしたポイントを再度左クリックするか、シェイプを閉じたい段階で[Enter]キーを押して、ベジェシェイプの作成を完了します。
不要なアニメーションキーが作成されていないことを確認します。Rotoノードのプロパティ内で、下側にあるリストから、作成したベジェシェイプを選択して、[Roto]タブの[Spline Key]が[1 of 1]で設定されていることと、[Transform]タブ内の各項目がアニメーションしていないことを確認してください。
▼Trackerでのトラッキング
Trackerノードでトラッキングを行い、船の動きのアニメーションデータを取得します。
[Toolbar]タブの[Transform]カテゴリから、[Tracker]を選択してTrackerノードを作成し、インプットをShuffleノードの下に接続します。
Trackerノードには、デフォルトではトラッカーが含まれていません。必要な数だけ、ユーザー側でTrackerノードに追加する必要があります。プロパティの[Add Track]ボタンから、トラッカーを追加します。プロパティのリストに[track]が追加され、Viewer上にトラッカーが表示されます。
トラッカーは、中央の点と、2重の四角で構成されています。内側の四角でトラッキングを行うための特徴点を囲み、外側の四角で前後のフレームで特徴点を検索する範囲を指定します。中央の点の部分を左ドラッグすることでポイント全体の移動を行い、四角の辺をそれぞれ左ドラッグすることで、それぞれの範囲を変えることができます。
設定が完了しましたら、トラッキングを開始します。トラッキングは、Trackerノードのプロパティを開いている間表示される、Viewer上部の再生ボタンで行えます。
今回の例では、トラッキングがそのまま終了しました。途中で止まった場合は、前のフレームに戻り、内側の四角で囲っている部分が、特徴点からずれていないことを確認してください。ずれている場合はドラッグして修正し、再度、Viewer上部の再生ボタンを押します。
タイムスライダ上で、すべてのフレーム上に青い線がつき、大きいずれがなければ、トラッキングを完了します。
▼Rotoのマスクにトラッキングデータを適用する
トラッキングデータを適用する方法として、[Link to]を使用するというものがあります。こちらでは、その機能を使用してTrackerノードのトラッキングデータを参照し、Rotoノードのマスクに適用します。
Rotoノードのプロパティを開き、下のシェイプリストからアニメーションを参照する[Bezier]を選択します。[Transform]タブに移動します。[Transform]の右側にある小さなボタン(Animation Menu ボタン)をクリックし、[Link to] > [Tracker] > [transform]を選択します。
これにより、選択したTrackerノードの[transform]のアニメーションデータを参照し、Rotoのシェイプに適用することができます。
マスクにトラッキングデータを適用した後のViewerの結果は、以下の動画をご覧ください。