第10回: インスタンシングのパターン

今回のプロジェクトファイル

夏休みの間にやっていたこと

あいちトリエンナーレ

あいちトリエンナーレの伊藤ガビンさんの作品のお手伝いをしました

10/14までやっているので、まだ行けます

SIGGRAPH 2019

Fragment Shadow をまた展示できる機会があったのでいってきました

TouchDesigner Summit

https://2019.touchdesignersummit.com/ Youtube - Summit Montréal 2019

カナダ モントリオールに世界TouchDesigner大会みたいなのを見にいきました。
飛行機代が高かったけど滅茶苦茶刺激になった

今上がってる動画の中だと Vincent Houzé さんのトークがすごいよかった

404.zero のライブもよかった https://photos.app.goo.gl/747QS8UaTYUhRfif9

上海でパフォーマンス

TouchDesigner、Houdini、Notchなど、色々なアプリケーションのワークショップを精力的にやっている TDSW と、上海ベースのクリエイティブスタジオ DIGITAL FUN のジョイント企画、FLARE2019 というフェスティバルでオーディオビジュアルのパフォーマンスをしてきました

ShaderBuilder

TouchDesignerでのマテリアルの設定がめんどくさいと常々思っていたので簡単に拡張できるツールを作りました。
これから、この授業でもこのツールを使っていこうとおもっています

https://github.com/satoruhiga/TouchDesigner-ShaderBuilder

後期の授業の進め方

後期は作品制作で使いたいトピックを聞いて、それを中心に授業をすすめていきたいと思っています。

たとえば:

などなど、前期でやった基礎をふまえて実制作に近いノウハウをとりあげていけたらいいなと思っています。

インスタンシング 2

前期の最後にインスタンシングの導入をやりました。今回はいくつかの作例を通じてインスタンシングでどういうことができるかをやっていこうと思います。

インスタンシングのおさらい

/project1/BASIC_INSTANCING

前回のおさらいです。

インスタンシングは、

  1. 適当なSOPをつないだ Geometry COMP を作る
  2. Geometry COMPInstance > Instancing のトグルをONにする
  3. 増やしたいデータの元となるオペレーターを Instance CHOP/DAT/SOP に設定する
  4. TranslateRotate などのパラメーターを設定する

という手順で使うのでした。(覚えてましたか…?)

グリッド状に増やす

/project1/GRID

グリッド状にボックスをインスタンシングするサンプルです。

このサンプルの場合は、Noise SOP で変位を作り、普通なら Translate Y に入れがちなパラメーターを Scale Y に入れることでそれぞれのボックスが縦方向スケールされるようにしました。

さらに、Clip SOP を使って水平変位をおこすSOPを編集しています。これによってボックスの存在しないエリアができて、見た目のコントラストがはっきりします。

インスタンシングに使うパラメーターはどこに何を入れるかは使い方次第なので、色々と実験してみるときっとおもしろい結果になります。
位置や回転、スケールや色など、とりあえず試してみる精神が大事です

ライン状に増やす

/project1/LINE

ライン状にボックスをインスタンシングするサンプルです。

グリッドのサンプルはSOPを使っていましたが、このサンプルではCHOPを使っています。
SOPと比べるとCHOPの方がアニメーションのバリエーションを出しやすいので、最初はとっつきにくいかもしれませんが慣れていくとより凝ったものが作りやすいと思います。

ランダムで分布させる

/project1/PARTICLE

ランダムにパーティクルを分布させて、それをアニメーションさせるサンプルです。

このサンプルではインスタンスの配置やアニメーションのすべてをCHOPで計算しています。
座標を -1 ~ 1 の間におさめるためLimit CHOP を使ったり、Transform CHOP で分布の範囲を決めたりしています。

スケールを変えながら増やす

/project1/SCALE

カットしたボックスのスケールを変えながらインスタンシングしたサンプルです。

インスタンス元のジオメトリをアニメーションさせるとすべてのインスタンスも同じように動きます。 それを利用して幾何学的なアニメーションを作ることもできます。