Fusion

Spherizeで映像を湾曲させてみよう【Reactor】

画像や映像を湾曲させたいとき、Spherizeを使うとこんな感じの効果を適用できて面白いなと思ったので、使ってみた内容とともにご紹介いたします。

SpherizeはパッケージマネージャーのReactorからKrokodoveをインストールすることで利用できます。

Krokodoveはたくさんのプラグインが含まれているツールセットで、今回紹介するSpherizeはKrokodoveに含まれるプラグインのひとつです。

KrokodoveはKomkom Doorn社Raf Schoenmaekersさん)によって開発されていて、SpherizeもKrokodoveに含まれる多数のプラグインのひとつです。

Krokodove is an ever growing set of tools for Fusion and ResolveBlackmagic Design‘s compositing and effects software. It is being developed at the Komkom Doorn studio over a period of 20+ years and actively used in hundreds of projects there.

Krokodoveは、Blackmagic Designのコンポジティング/エフェクトソフトウェアであるFusionとResolveのために開発されたツールセットです。Komkom Doornスタジオで20年以上に渡って開発され、何百ものプロジェクトで使用されています。

http://www.komkomdoorn.com/krokodove/#overview

Krokodoveは、有償版のDavinci resolve または Fusion Studio でのみ利用可能なプラグインとなっています。

今回紹介するノード構成は次のとおりで、金魚の画像を変形させる部分(Fish)金魚鉢を作る部分(FishBowl)金魚鉢の中の水を表現する部分(Water)の3つに分けて紹介いたします。

Settingファイルはこちらからダウンロードいただけますので、遊んでみたいなという方は自由に使ってみてください^^

Mediainノードはお手持ちの適当な画像、もしくは今回利用している金魚のイラストをDLして(イラストACさんで提供されているこちらを利用させていただきました)置き換えてください。

そもそもReactorって何?という方やReactorのインストール方法を知りたい方は以下の記事で解説していますので、こちらもぜひご参照ください。

それでははじめていきましょう!

このプロジェクトは以下の設定で作成しています。

  • 解像度:1920 x 1080 HD
  • フレームレート:24フレーム/秒

作成した時のPC環境は次のとおりです。

  • PC:DAIV Z7(マウスコンピューター)*2020年8月購入
  • CPU:Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
  • GPU:NVIDIA GeForce RTX 2060 SUPER / 8GB
  • メモリ:16GB

金魚鉢・金魚・水を作る

まず初めに、冒頭で紹介した金魚鉢内を泳ぐ金魚が光の屈折で湾曲して見えるようなアニメーションのノード構成についてご説明します。

金魚鉢を作る

Spherizeの効果とは直接関係ないのですが、金魚を湾曲させるため背景となる金魚鉢を作成します。

金魚鉢を作るためのノードは次のとおりです。このノード構成でどのように金魚鉢を作成しているかを説明いたします。

①Ellipseで金魚鉢の大枠をつくる

Ellipse(FishBowl)で金魚鉢の大枠を作ります。

大枠といってもこの時点ではただの円なので、最終的に作成したい金魚鉢のアウトラインをイメージしてお好みの形の円にしてください。

ここではSolidのチェックを外してBorderwitdhを0.01に設定、Widthをちょとだけ大きく(0.5246913580247)して若干横長の楕円にしています。

②Rectangleで金魚鉢の上と下をマスクする

Rectangleを使って金魚鉢の上の部分(TopMask)と下の部分(BottomMask)を作るためにマスクをかけます。

やっていることは簡単で、上下それぞれ非表示にしたい部分にRectangleを重ねてTopMak→BottomMaskの順に接続するだけです。

このようにノードを接続すると、BottomMaskノードにPaint Modeメニューが現れるので、デフォルトのMergeを選択します。

ここまで作成したノードをMergeノードで接続して、図のような状態になればOKです。ポイントとして、Mergeノードの設定は「Apply Mode:Normal」「Operator:Held Out」としています。

この後はマスクして非表示にした部分を、金魚鉢に見えるように円や直線を追加していきます。

③金魚鉢を完成させる

仕上げにEllipse(TopBowl)で金魚鉢の上部に当たる部分を横長の楕円で作成して、底の部分をRectangle(BottomBowl)で直線で作成しています。

これらをMergeノードでマージし、このままだと色がついていない状態のためてBackground(BowlColor)に接続して青色を設定します。

これで金魚鉢は完成です!続いて中に入れる金魚に適用する効果を見ていきましょう。

泳ぐ金魚を表現する

金魚のイラストは平面のため、今回のメイントピックであるSpherizeを使用して湾曲させると同時に、Bender3Dを使用して金魚が泳いでいるときのひらひら感をちょっとだけ足しています。

この辺りを含めて紹介していきます!ノード構成は次のとおりです。

①ImagePlane3Dでイラストを3D空間にもっていく

金魚をそのまま移動させるだけでもよいのですが、せっかくなので泳いでいる感を出すために、しっぽやヒレをひらひらさせます。

平面のイラストをBender3Dで曲げたいので、一旦ImagePlane3Dに接続して3D空間で操作できるようにします。

②Bender3Dでイラストをひらひらさせる

ImagedPlane3D→Bender3Dの順に接続したら、Bender3Dの設定でイラストを曲げることで、泳いでいる感を出します。

設定値は次のとおりです。(以下以外はデフォルト)

  • Bender Type:Twist
  • Amount:-0.4~0.4の幅でアニメーションを設定
  • Axis:Y

イラストを曲げた状態を、正面と横(しっぽの方)から見た形はそれぞれ図のとおりです。

これだけ見るといまいち泳いでいる感が出ているようには見えませんが、Spherizeと組み合わせた最終出力を見るとそれっぽく見えるようになりましたのでこれで良しとします^^

曲げた金魚の出力を平面空間に戻すためにRender3Dノードに接続します。

正面からの見た目が適用されるよう図のようにCamera3Dを配置しています。

また、細かいですがこのイラストは金魚の口付近から泡が3つでているので、泳いでる金魚っぽくするために泡の部分にマスク(BubbleMask)をかけてアニメーションを設定することで、ぷくぷく口から泡が出る感じにしています。

③Transformで移動アニメーションを設定&Spherizeを適用

最後に、金魚を右から左に移動させるようTransformでアニメーションを設定します。

TransformノードにはEllipseでマスク(AreaMask)を設定し、金魚鉢の中でのみ金魚が表示されるようにしています。

あとは、Spherizeに接続すると図のようにマスクの範囲内で湾曲した金魚が移動する出力を得ることができます。

Spherizeの設定値はSizeのみ「0.512」に変更し、あとはデフォルトのままです。

難しい設定は特に不要で簡単に使えるのがよいですね!

金魚鉢に水を入れて仕上げる

最後に、金魚鉢に水を入れて完成させます。

とてもシンプルなのでサラッと見ていきましょう。

Ellipseで水の大枠を作り(WaterBase)、Rectangleでマスクして図のように金魚鉢のサイズに合わせて水の元になる図形を作成します。

そのままだと味気ないので、上部を少し波立った感じにするためEllipseノードを3つ使用して(SurfaceMask1/2/3)波感を出し、Background(WaterColor)に接続して色を付けています。

Ellipseを3つ使って波立たせるのは若干強引な気もしますが、イメージ通りにはなったのでこれでOKとしました^^

Spherizeの使い方

Spherizeを使うと、4つのタイプ4つのアルゴリズムのパラメータに応じて入力データを湾曲させることができます。

この4×4=16通りの組み合わせ結果をまとめると次の図のようになります。

それぞれのパラメータを見てみましょう!

パラメータ

実際に使ってみた結果をもとに、各パラメータについてまとめます。

パラメータ名と出力結果をもとに記載していますが、言葉にしづらく感覚的な部分もある点ご容赦ください^^;

なんか違うぞというところがありましたら教えていただけると助かります(_ _)

  • Type:次の4つからタイプを選択します
    • Horizontal:入力データを縦長の筒に押し付けて水平方向に変化を加えるような感じ
    • Vertical:入力データを横長の筒に押し付けて垂直方向に変化を加えるような感じ
    • Sphere:入力データを円形に変化させます
    • Rectangle:入力データを四角形に変化させます
  • Algorithm:次の4つからアルゴリズムを選択します
    • Spherize:選択したタイプと合わせて、円形に変化させます
    • Soft in/out:inとoutがなに(どこ)を指しているのかわからないですが、効き目がソフトになる気がします
    • Smooth:変化が加えられた方向にシュっとします
    • Sinusoid:名前のとおり、正弦波っぽい変化が加えられているような気がします
  • Iterations:処理の反復回数的な設定のような気がしますが、実際にいじってみてください^^
  • Center:位置座標を設定します
  • Size:大きさを設定します
  • Deformation:適用する変形の度合いを設定します
アバウトな説明も多く恐縮ですが、ぜひ使って試してみてください!

さいごに

Spherizeを使うと割と簡単に画像/映像を湾曲させることができて映像の味付けに役立つと思いますので、気になった方はぜひ使ってみてください!

※前述のとおり、Krokodoveは有償版のDavinci Resolve または Fusion Studio のみで利用可能な点にご注意ください^^

Krokodoveには他にも面白くて使えるプラグインがたくさん含まれていますので、使ってみていいなと思ったツールについてはまた別の記事でシェアしたいと思います。

以上です!