まとめ
STMapを使用すると、画像内のピクセルの変化を効率的に計算できます。この計算は、入力画像に基づいて、結果画像内の各ピクセルがどこから来ているかを定義する2つのチャンネルの組み合わせに基づいています。
STMap はNuke内 (および Nuke 外) でさまざまな目的に使用できるため、 Nuke自体で STMap を作成する方法を知ることが重要です。
この記事では、 Expressionノード、いくつかの簡単な式、およびReformatノードを使用してカスタマイズ可能な STMap を作成する簡単な方法を説明します。
詳細情報
STMapは、2次元空間における各ピクセルに固有のx座標とy座標を提供する2つの色付きランプの組み合わせです。一方のランプは入力画像の高さx座標内のピクセル数を定義し、もう一方のランプは幅y座標内のピクセル数を定義します。
STMapの目的は色そのものではなく、各ピクセルに与えられたx座標とy座標です。2つの画像を緑と赤のカラーチャンネルに合成すると、次のような視覚的な結果が得られます。
STMapsはNuke内で様々な用途に使用できます。画像やテクスチャの修正や再配置に使用したり、2Dオブジェクトを3Dジオメトリにトラッキングするためのベースとして使用したりできます。
Nukeの外部では、3D オブジェクトにテクスチャとして直接焼き込むことができ、他のアプリケーションとNuke間のレンズ歪みを相関させるためにも使用できます。
ワークフロー
式ノードの設定
Expression ノードを使用すると、画像の赤と緑のチャンネルに x 座標と y 座標をプロットできます。
1) ノードグラフに式ノードを作成する
2) 赤チャンネルに割り当てられた最初のフィールドに、次の式を入力します。
x/(width-1)
3) 緑チャンネルに割り当てられた 2 番目のフィールドに、次の式を入力します。
y/(height-1)
注意:除数の-1により、画像の赤と緑のチャンネルの範囲は (0, 0) から (幅 -1/幅、高さ -1/高さ) ではなく、(0,0) から (1,1) になります。
ビューアーに表示される結果は次の画像になります。
注: STMapの解像度はプロジェクトの解像度によって決まります。これは、Expressionノードの入力にReformatノードを追加することで変更できます。例:
STMapのレンダリング
最後のステップはSTMapをレンダリングすることです。これにより、 Nukeに戻したり、サードパーティのアプリケーションで使用したりできるようになります。
1)書き込みノードを作成する
2)書き込みノードのプロパティビンで、STMapのファイルディレクトリを選択し、拡張子が.exrに設定されていることを確認します。
3) レンダリングする前に、データ型の値を32ビット浮動小数点数に変更してください。
注: STMapの計算は出力色ではなく、EXRファイルが保持できるピクセルの差異に基づいているため、32ビット深度のEXRファイルを使用します。見た目には違いが感じられないかもしれませんが、情報量の違いは非常に大きく、結果に反映されます。
さらに詳しく
STMap 自体の機能に関する詳細は、以下のオンライン ドキュメントで参照できます。
上記に加えて、 NukeのCaraVRノード(C_GenerateMapノードまたはC_STMapノード)を使用してSTMapを生成することもできます。これらのノードの作成方法の詳細については、以下のリンクをご覧ください。
サンプルファイル
私たちはそれを聞いて申し訳ございません
理由をお聞かせください