CGデザイナーの川村(@tsumiki_room)です

以下のアニメーションは実写やCG動画などに対してポストプロセス(カメラ撮影後に適用する処理)によってピクセルを置き換えた視覚表現の作例です

この記事では、これらの作例に触れながらピクセルの置き換えによる視覚表現を学んでいきます
ソフトウェアはTouchDesigner(https://derivative.ca/)を使用していますが、考え方は一般的なスクリーンスペースのポストプロセスをシェーダ言語等で作る際にも応用可能です

サンプルファイル: https://github.com/tsumikiroom/20211211_Mutek


3つの「ピクセルを置き換える」

画像(あるいは動画)に対して「ピクセルを置き換える」方法をここでは性質の異なる3種類に分けて紹介します

  1. Displace(屈折)
  2. Remap(再配置)
  3. SlitScan(遅延)

まずはサンプルファイルのtoeフォルダ内にあるDisplacment.toeを開いてください

  • 20211211_Mutek\toe\Displacment.toe

1.Displace(屈折)

ガラス玉や水面などを通して光が屈折し、像が歪んで見える経験は、誰しもが一度はあると思います
Displaceは、まさにそのような視覚効果を表現することができます

  • 画像の色成分をもとにU(縦)とV(横)の2方向にピクセルの位置が加算(減算)される
  • ピクセルを「ずらす」ことで画像を歪める
  • 「歪める」という性質から光の屈折のような表現を得るのに向いている

<典型的な作例>

displace_1

以下のように入力する値を変えることで様々な表現ができます

displace_2 単色の画像での作例

displace_3 疑似的なガラス屈折表現を手軽に作り出すことができる

displace_sazanami NormalMapをDisplaceで作成した例

Remap(再配置)

画像(映像)は、グリッド状に並んだピクセルの集まりです
Remapは、そのピクセルを自由に並べ替えたり再利用することで実現する視覚効果です

  • スクリーンのUV情報に従ってピクセルを並べ替える
  • UVのコーディネートを用意する必要がある
  • 元の位置からオフセットさせるのではなく直接座標を指定できる(絶対座標の指定)
  • ピクセルを使いまわすことができる

<典型的な作例>

remap_tiling

このように、絶対座標を指定することでピクセルを置き換えることができます
座標を指定するため、タイリングのように同じピクセルを繰り返して表示する表現を作ることも可能です

この考え方を理解すれば様々な置き換えを発想したり再現することができます

例えば以下のようなピクセルストレッチ表現について考えてみます

remap_stretch  <ピクセルストレッチの作例>  

処理前
処理後

X(U)の座標をグラフにしました

処理前と処理後のX(U)座標の比較

赤いグラフが処理前、黄色が処理後
赤はX座標が[0..1]までまっすぐ変化しているのがわかります
対して黄色はXが中央を残して前後が徐々に水平へ移行しています

つまりX座標が水平になっているピクセルは同じ位置のピクセルを繰り返し表示しているためピクセルが引き延ばされているように見えています

<その他の作例>

remapの作例をいくつか紹介します
pointtransformTOPと組み合わせるとUV座標の制御がしやすくなるためおすすめです

remap_polar 極座標による作例

以下はremapとpointtransformを組み合わせた作例です
これらはremap_pointTransformにまとめてありますので触ってみてください

Y方向に波打つ作例

画面中央で上下に反転する作例

短冊状に変形させた作例

feedbackを使った作例

おわりに

1.Displace(屈折)と2.Remap(再配置)まで見てきました
次回は3.SlitScan(遅延)を見ていきましょう

[TouchDesigner]ピクセルを置き換える視覚効果について その2



■ワントゥーテンでは中途採用募集中です!

1→10(ワントゥーテン)のカルチャーや、作品のクリエイティブに共感し、自身のより高い成長を求めている方からのご応募をお待ちしています!