lunar0 log

(転載禁止/許可したものはそれとわかるように書きます)

FRENZ 2018 出展作 'Illum' 制作メモ

新作映像上映イベント FRENZ 2018 に作品を出展しました.観覧いただいたみなさま,ありがとうございました.以下,制作メモです.


着想

今回の作品 'Illum' では,質感と重さのある光の表現を試みた.削れるものは可能なかぎり削らないとコンセプトが弱まるので,イージングも動きも付けていない.

抽象的な作品は要素数で押せないぶん,質感のような別の要素を活用するのはひとつの方法である.抽象画の重要な作家であるパウル・クレーについて,寺門 (1998) *1は次のように述べている.

まず「素描の厳格な輪郭線をほぐす努力」の結果として彼が到達したのは,「転写」によって線の硬さを緩和することであり,またそれによって生じた豊かな表情の線質を殺さずに彩色を施すことだった.

ここでいう「転写」とは,現代でいえばカーボンコピーのようなものである.これは,入力の不完全な再現が質感を付与すると見ることもできる.

単に映像に劣化を与える手法は,擦れやグリッチヴィネットなどで普及しきっている.そこで,一旦映像という枠を外し,仮想的な照明とその動きを表現するという方針を立てた.会場のプロジェクタは非常に明るく,問題になりがちな緑色被り*2や彩度低下*3もほとんどないので,この類のコンセプトにとってはよい環境だった.

仮想的な照明の組み合わせとして映像を表現することは,光を透明水彩のように使うことにもつながる.透明水彩を特徴づけるのは重色技法であり,それを光に読み換えると,照明の同時点灯が最も自然な類推だと考えられる.

制作

線描に質感を与える

線の描画は,ベクタスキャンディスプレイの簡易なシミュレーションを Processing で行っている*4.ベクタスキャンディスプレイとは,簡単にいえばオシロスコープのXYモードのようなもので,ピクセルを左上から順番に描画するのではなく,輝点を画面上で自由に動かして形状を描画するものである.

www.youtube.com

理想的な条件でシミュレーションを行っても,入力の完全な再現が行われるだけで質感は付かない.そこで,この手のものに典型的な欠陥として,輝点の動作に遅れ要素を入れ*5,入力図形の再現性を下げることにする.系の時定数により,図形の崩れ方は下図のように変化する.

f:id:lunar0:20180916033855p:plain

この処理は,四角形の描画だけに適用した.全ての要素に適用すると画面が崩れすぎるし,そもそもベクタスキャンディスプレイでは光の面を作れないので,光の面にこのタイプの歪みを適用するのはモデルとして正しくない.

光に質感を与える

この作業では Blender + Cycles を使用した.

  • 板ポリゴンにテクスチャを貼ったライト(つまり,プロジェクタ)を当てている.ライトの光軸から外れた部分が暗くなり,単なるフラットな図形とは違った質感が得られる.
  • 各図形要素(四角形,縦線,面)を一つのライトから投影しただけでは After Effects でエフェクトをかけるのと変わらないので,図形要素ごとにライトを割り当て,以下のように処理した.
    • ライトを全て異なる位置に置いている.
    • 各ライトは,微妙に異なる色に色被りさせている.
    • 各ライトにそれぞれ異なる量の倍率色収差・ボケを付けている.

レンダリング結果は以下のとおり.このライトの光軸は画面右上にあるので,光軸に近いピクセルほど明るく,また色収差は左下隅に大きく出る.なお,このライトはわずかに紫に色被りさせてある.

f:id:lunar0:20180916041900p:plain

Blender シーンの全体は以下スクリーンショットのとおり,素朴にモデリングした.Blender Cycles では Point Light の size を変化させることでボケの大きさを調整できる.

f:id:lunar0:20180916035540p:plain

キーフレームを打つ

制作段階では,このブログでも何度か登場している Vezér から OSC を経由して Processing にキーフレームを渡して描画させている.書き出し時にはフレームレートを安定させるため, Vezér からキーフレームを XMLレンダリングし,それを Processing で改めてパースしてオフラインレンダリングを行っている.

f:id:lunar0:20180916042552p:plain

制作環境

Processing
Java ベースのデジタルアート用言語.比較的古くからあるのでノウハウが蓄積されているが,一方で Java 特有のつらさも受け継いでいる.8bpc までしか扱えないが,初期段階ではプロトタイプが書きやすいので,油断しているといつのまにか目前に迫った締切に終われて最後までこれで書き切ることがよくある.今すぐダウンロー
Blender
OSSの統合3Dソフト.近年すごい速さで機能とコミュニティが成長している.他の3Dソフトに負けず劣らず操作が独特なのが難点だが,2.8でだいぶ改良されるらしい.
Vezér
OSC (Open Sound Control) や MIDI で他のソフトを制御するためのもの.

*1:http://www-art.aac.pref.aichi.jp/research/pdf/1998/apmoabulletin1998p7-32.pdf

*2:水銀灯を光源に使用したプロジェクタは緑に色被りする

*3:一部のデータプロジェクタでは,全白輝度を上げるために彩度が犠牲になる

*4:Processing では 8bpc の画像しか扱えないので画質が良くない.本当は 32bpc が扱える環境,たとえば OpenGL などで書くべきだったが,時間がなかった.前田地生許してくれ

*5:より直接的にいうと,ローパスフィルタ