コンテンツにスキップ

動きに合わせる

Optical Flow ノードは映像の中で何がどこへ動いたか(オプティカルフロー)を画素ごとに推定し、動きの向きと速さを画像として出します。 その画像を Displace の map につなぐと動いたところだけ映像が歪み、Particle の Flow Field につなぐと観客やダンサーの動きがパーティクルを押します。

推定は GPU で、出力の 1/4 の解像度で動きます(前のフレームの推定を手がかりに探すので、速い動きも追えます)。入力にはどの TEX でも使えます(Camera、Syphon Spout In、Video、ジェネレータなど)。 細かい模様のない平坦なところや暗いところでは動きが読めず、そこは「動かない」になります。

動きを見る

  1. Camera(または Video)を Optical Flow の in につなぎ、Optical Flow をセルの Out へつなぎます。
  2. output を direction にすると、向きごとの色(右が赤、上が黄緑、左が水色、下が紫)が速いほど明るく出ます。speed は速さだけの白黒です。
  3. range が出力の飽和する速さです。小さくすると遅い動きでも強く出ます。

speed の出力を Mask Mix の mask につなぐと、動いたところだけにエフェクトをかけられます(止まっているものはそのまま)。

動きで映像を歪ませる

  1. Camera を Displace の in と、Optical Flow の in の両方につなぎます。
  2. Optical Flow の output を vectors にして、Displace の map につなぎます。
  3. Displace をセルの Out へつなぎます。

Displace の amount が歪む量(フレームの高さに対する割合)、edge がフレームの外にはみ出したところの扱いです。 Optical Flow の smooth を上げると歪みがなめらかに残り、range を下げると小さな動きでも大きく歪みます。

Displace の map には Optical Flow 以外にも、Clouds や Flow などのジェネレータ(ゆらぎ、波ガラス)、Text(文字の形でずらす)、Camera そのもの(source を brightness に)など、どの画像でもつなげます。

動きでパーティクルを押す

  1. Camera を Particle の in につなぎ、Particle の out をセルの Out へつなぎます。
  2. Camera を Optical Flow の in にもつなぎ、output を vectors にします。
  3. Particle に入り、TEX In を追加して name を field にします。Particle の外に field の入力が現れるので、そこへ Optical Flow をつなぎます。
  4. Flow Field を追加し、Emit Pixels と Return の間に挟みます。field ポートに TEX In をつなぎます。

カメラの前で手を振ると、その動きがパーティクルを押します。Return が元の位置へ戻すので、映像が崩れて戻る動きになります。 Flow Field の strength が押す強さ、follow を上げると押されるのではなく場の速さそのもので流れます。Return を外して Drag と Bounds を入れると、押されたパーティクルが漂います。

明るいところから火花を出す

Emit From Bright は Emit Pixels の代わりに使う Emit ノードで、入力の明るい画素からランダムに寿命つきのパーティクルを湧かせます。

  1. Particle の中で Emit Pixels を消し、Emit From Bright を追加して TEX In → Emit From Bright → Render Points とつなぎます。
  2. rate が 1 秒に出す数、life が消えるまでの秒数、threshold が出す画素の明るさの下限です。
  3. Gravity の y をマイナスにすると落ちる火の粉、Curl Noise と Drag を足すと煙になります。Render Points の fade by age をオンにすると消え際が薄くなります。

Text や Audio FFT を入力にすると、文字やスペクトルから火花が立ちのぼります。