AMeeT
TECHNOLOGY

テクノロジー

プログラミングを用いた映像制作のコツ~コンポジションによる絵作り~文:神田 竜/Kezzardrix(プログラマ/アーティスト)

2018 06 12

コンサート映像やVJなど、多方面で注目を集めている神田 竜/Kezzardrix氏に、「映像をいくつかの要素に分解し、再利用することで映像を作る」という視点で、 映像制作のコツに関する記事をご寄稿いただいた。本記事のために制作した実践的なサンプルプロジェクトを例に、丁寧に解説していただいており、映像制作者にとって参考になることはもちろん、「プログラミングにおけるクリエイティビティとは何か」を考えるためのヒントとしても意義のある内容となっている。なお記事末尾に付録として、同氏のメインの開発環境であるTouchDesignerの利点と欠点に関するテキストを収録している。

執筆者のプロフィールを読む

筆者は主にプログラミングを用いた映像表現で、コンサート映像やVJ、MV、サイネージ、アプリ開発などの仕事をしている。ここではVJの一例を上げる。

YAPORIGAMI X HEXPIXELS @ Meme City, Hangzhou

以前にもAMeeTさんでプログラミングにおける映像制作について記事 ※1 を書かせて頂いた。プログラミング映像の面白みや、何故こういう記事を書こうと思ったかについてはこちらも一読して頂ければ幸いだ。

前回の記事から5年経ち、映像制作環境の選択肢はかなり変化した。Unity ※2 やUE4 ※3 に代表されるゲームエンジンによるリッチなレンダリング、Houdini ※4 やBlender ※5 といった3Dツールの急速なアップデート、クリエイティブコーダー ※6 のMac離れなど ※7 、様々なことが起こった。前回の執筆時点では、筆者はopenFrameworks ※8 のみを使って制作することが多かったが、現時点ではTouchDesigner(以下TD) ※9 をメイン環境にし、ゲームエンジンとの連携や、先に上げた3Dツールで事前に制作した素材を利用することが多い。本稿ではTDを実装環境にして論を進める。何故TDが良いのか、またTDにもどういう問題があるのか、に関しては最後に記載する。こちらも合わせて一読頂ければ幸いである。

本稿では、前回の記事と同じく、映像をいくつかの要素に分解し、再利用することで映像を作れないか、という視点を提示する。あくまで筆者の経験則と主観による内容だが、プログラミングによる映像制作だけでなく、プリレンダー ※10 の映像を作る際にも読者のヒントになるようであれば幸いである。

サンプルプロジェクトとして、TDの初心者からするとかなりアドバンスなものを取り上げる。できるだけ筆者が実戦で使っているような映像を紹介したいからだ。そのため、TDの基礎やGLSL ※11 の基礎などについては特に重要な部分を除いて解説しない。基礎に関しては書籍やGoogleに豊富な情報が揃っているのでそちらをあたって欲しい。

さて、最終的に完成する映像は下記のようなものである。簡単なオーディオリアクティブ ※12 を含んだ映像だ。

全てTD上で制作しているが、別途制作したobj ※13 を読み込んで、GLSLなどでアニメーションをつけているところもある。サンプルプロジェクトはこちらにある。実戦向けに作っているので、そこそこ高性能なGPUを積んだマシンでないと動かないかもしれない。Windowsビルドの2018.22800で制作している。

※1 神田 竜/Kezzardrix[2013].“プログラミングを用いた映像制作のコツ~パタンの組み合わせと繰り返し~ ”.AMeeT.2018-05-14参照.

※2 Unity社によるゲームエンジン。豊富なAsset Storeや比較的手早い導入が魅力。

※3 Unreal Engine 4。数々の有名タイトルで使用実績がある。デフォルト設定のままでもフォトリアルなレンダリングが可能。

※4 SideFx社の3DCGソフト。ノードベースでプロシージャルなモデリングができる。

※5 フリーの3DCGソフト。有料のソフトと同等に多機能。

※6 openFrameworksやUnityなどでインタラクティブなコンテンツを作る人達の俗称。

※7 主にラップトップ機に搭載されたGPUの性能が低いことが原因。多くのクリエイターがゲーミングPCなどのwin機へと移行。

※8 様々なC++のライブラリを集めたツールキット。コードベースではここ数年のデファクトスタンダード。無料で公開されているが、最近ドネーションを払えるようになった。散々お世話になった人はお布施しましょう。

※9 Derivative社によるノードベースの開発環境。Houdiniから派生したため共通点が多い。

※10 映画やアニメなど、事前に生成(レンダリング)された映像の総称。プログラミングによるリアルタイム映像と比較されてこう呼ばれることがある。

※11 グラフィックスパイプラインを操作するシェーディング言語。

※12 音に反応して動く映像。音量や周波数など、何かしらの解析結果を使うことが多い。ここでは音の大きさの値を、トゲトゲ部分の大きさや色のコントロールに使用している。

※13 3Dモデルの1形式。頂点座標などの基本的な情報しか持たせられないがほとんどの3D環境で読み込みが可能。

PAGE TOP