【TouchDesigner】インスタンシングでインスタンスごとにテクスチャを変更する
この記事ではTouchDesignerのインスタンシングでインスタンスごとにテクスチャを変更する方法について解説します。利用したTouchDesignerのバージョンは2023.11340です。
作例として、Webカメラの映像から輝度に応じて割り当てるテクスチャを変更することで、アスキーアート風に変換するネットワークを作成しました。作例のTouchDesignerファイルはGitHubに置いてあります。
ネットワーク全体は以下のようになります。インスタンシングでグリッドの頂点に対して四角形のメッシュを配置しています。Webカメラの映像からテクスチャのインデックスを作成し、インスタンスごとにテクスチャを変更しています。これらをレンダリングした後に白い背景と合成しています。
インスタンスごとにテクスチャを変更するには、Geometry COMP
のInstance 2
タブでInstance Textures
、Texture Index OP
、Texture Index
を設定します。Instance Textures
にはテクスチャに使用するオペレータ名を、Texture Index OP
とTexture Index
にはインスタンスごとに使用するテクスチャのインデックスを格納するオペレータとそのチャンネル名をそれぞれ指定します。Texture Index
として指定するチャンネルのサンプル数はインスタンスの数と同じにしておく必要があります。
作例のネットワークではInstance Textures
にテクスチャとして使用する5つのTOP(text1
~text5
)を指定し、Texture Index OP
とTexture Index
にはWebカメラの映像から作成したインデックス(math1
のindex
チャンネル)を指定しています。
Webカメラの映像からテクスチャのインデックスを作成するために、Monochorme TOP
でグレイスケール画像に変換し、Fit TOP
でインスタンシングに利用するグリッドと頂点数が同じになるように解像度を変更しています。TOP to CHOP
でTOPをCHOPに変換した後に、今回は5つのテクスチャを利用するのでMath CHOP
で0以上5未満の値にしています。
以下の記事を参考にしました。
Discussion