こちらの記事では、NUKEX および NUKE STUDIOで使用可能なLensDistortionノードについて、前回の記事に引き続き、使用方法を紹介致します。
前回の記事では、LensDistortionノードを使用して、レンズディストーションの除去を行いましたが、こちらの記事では分析して計算したレンズディストーションを利用する方法について紹介致します。
▼レンズディストーションの他の素材への使用方法
各分析([Image Analysis]、[Grid Analysis]、[Line Analysis])を使用した場合、自動的にレンズディストーションの除去を行うため、[LensDistortion]タブの[Undistort]にチェックが入ります。このチェックを外すことで、分析したレンズディストーションを適用するノードに切り替えられます。
これを使用することで、一度検出したレンズディストーションを、ディストーションが含まれていないCG素材に適用することができます。
前回の記事で作成したLensDistortionノードから、以下の画像にディストーションを適用します。
- レンズディストーションの分析を行ったLensDistortionノードのプロパティを開き、[Undistort]のチェックを外します。
- LensDistortionノードのインプットを、レンズディストーションを適用したい素材に接続します。
これで、分析した結果を基に、素材にレンズディストーションを適用できます。結果は以下の通りです。
▼レンズディストーションをSTMapとして出力し、使用する方法
LensDistortionノードは、デフォルトでは[Output Type]がimageのため、インプットに接続した素材に、分析した結果のレンズディストーションの適用または除去を行います。
こちらをDisplacementに設定すると、入力された素材に対しては処理を適用せず、分析したレンズディストーションをUVチャンネル(Viewerのレイヤーリストではforwardのmotionレイヤー)として出力します。出力した内容はSTMapノードで利用できるほか、これを書き出して別のプロジェクトで使用することができます。
前回の記事で作成したLensDistortionノードから、以下の画像にディストーションを適用します。
- レンズディストーションの分析を行ったLensDistortionノードのプロパティを開き、[Output Type]をDisplacementに変更し、[Undistort]のチェックを外します。これで、レンズディストーションを適用するmotionレイヤーを出力することができます。出力内容は、Viewerでレイヤーのドロップダウンメニューでmotionを選ぶことで確認できます。
- Transform > STMapでSTMapノードを追加します。レンズディストーションを適用したい素材を読み込み、srcインプットに接続します。
- LensDistortionノードをSTMapノードのstmapインプットに接続します。
- STMapノードのプロパティで、[uv channels]ドロップダウンメニューから、motionを選択します。
以上で、出力したマップで、素材にレンズディストーションを適用できます。結果は以下の通りです。
▼レンズディストーションをCardノードに適用する方法
LensDistortionノードで分析した結果は、画像に対して適用するだけでなく、3DのCardノードへ適用することも可能です。これにより、Cardノード自体を変形させ、imgインプットに接続している素材に対しては影響を与えずにCardノードに投影された画像をゆがめることができます。
- LensDistortionノードの[LensDistortion]タブの[Card Parameters]を展開します。
- 3D > Geometry > Cardから、Cardノードを作成し、imgインプットにCardノードに貼り付ける素材を接続します。Cardノードの[scale]と、LensDistortionノードの[Card Parameters]が同じ画面上で表示できるように、プロパティの位置を調整してください。
- LensDistortionノードの[scale]の値を、[Ctrl]キーを押しながらアニメーションのメニューボタンをドラッグし、そのままCardノードの[scale]のアニメーションのメニューボタンの上でドロップします。
- Cardノードのプロパティを、[LensDistortion]タブに切り替えます。そして、3の手順と同様に、LensDistortionノードの[a][b][c]のそれぞれの値を、[Ctrl]キーを押しながらアニメーションメニューボタンをドラッグし、Cardノードの[a][b][c]の各アニメーションメニューボタンの上でドロップします。
この操作により、LensDistortionノードの[Card Parameters]の値を基に、Cardノードが変形します。
※計算したレンズが非対称である場合、つまりX軸とY軸のディストーションの値が異なる場合は、CardノードのLens Distortionパラメータは推定され、必ずしもLensDistortionノードの結果と一致するとは限りません。