TDでオペレータを動的に複製する方法

他言語だと、クラスをfor文などでインスタンス生成するような複製の方法。例えば、JSだと。

class Foo()
{
  console.log("Hello, world!");
}

var i;
var list = [];
for( i=0; i<5; i++ )
{
   var f = new Foo();
   list.push(f);
}

みたいな処理。

多くの場合は、処理をまとめたBase COMPを動的に複製して、表示する場合などと思われる。その場合は、Replicator COMPを使う。

元となるBase COMPを作る

OOPで言うクラスファイルとなるBase COMPを作る。

オペレータの名前は、”masterItem0″とする。masterItem0の中は、次のようになっている。

In CHOPに入ってきた値をMath CHOPで2を掛けて、Out CHOPで出力しているネットワーク。In CHOPへの値は、constant1から入力されている。

Replicator COMPで複製する

次に、クラスからインスタンスを生成する様に、Base COMPを複製するには、Replicator COMPを使う。

ここでは、replicator1というCOMPを作り、プロパティは、次のように設定する。

Replication Method: By Number 複製する数を数値で指定
Number of Replication 5 複製する数
Master Operation masterItem0 元になるOperation。この項目に、ドラッグすると指定できる。

こうすることによって、”masterItem0″が5個分、複製される。

サンプルtoe
https://github.com/arkwknsk/touchdesigner/blob/master/tips/object/object.toe