Replicator COMP

概要

Replicatorコンポーネントは、テーブルの各行に対してノードを作成し、テーブルの変更に応じてノード(Replicator)を作成、削除します。ノードは、完全なコンポーネントとそのコンテンツになります。
Master Nodeパラメータで指定されたノードを受け取り、Templateテーブルの各行(またはNumber of Replicantパラメータで設定された行)に対してマスターのコピーを作成します。
作成されたノードには、2つの方法で名前を付けることができます。コピーには,Node Prefixパラメータで指定したプレフィックスを用いて,item1、item2、 …というように,連続した名前と番号を付けることができます.また,Name from Tableパラメータで指定されたテーブルの列の文字列に基づいてコピーに名前を付けることもできます。

テーブルの最初の行のノードを作成したい場合は、Ignore First Rowパラメータの設定を解除してください。
レプリケータは、LayoutとLayout Originのパラメータで決定されるネットワーク上のグリッドにレイアウトされます。
Replicatorは、マスターとレプリカントがコンポーネントであることを前提としていませんし、必要ともしていません。また、Replicatorは、レプリカントがクローンであることを前提としていません。ただし、マスターノードは、クローンパラメータを自分自身に設定したコンポーネントにすることができます。
各Replicatorに対して、コールバックDATでスクリプトを実行することができます。このスクリプトでは、適応可能な典型的なケースの例を見ることができます。以下はその一部です。

  • パラメータのexpressionを変える
    `c.par.display.expr = “op(‘thing’)[op.digits, ‘display’]”`
  • パラメータのexpressionモードを変更する。
    `c.par.display.mode = ParMode.EXPRESSION`
    のいずれかのモードになります。
    `ParMode.CONSTANT`, `ParMode.EXPRESSION`, or `ParMode.EXPORT`.

テーブルの1行だけが変更されても、他の既存のレプリカントは変更されず、再作成されません。コールバックDATでは、`onRemoveReplicant()`を削除すると、テーブルが再び大きくなったときに再利用できるようにレプリカントを維持します。
これは非常に強力なノードタイプです。例を挙げると(1) テーブルの各行に対応するボタンガジェット。ジオメトリコンポーネントで、3Dパーティクルシステムの各ポイントに複製され、それぞれが別々の動作をするもの。(2) Multi Touch In DATのテーブルを直接リプリケータに送り、各指先に何かを作ることができます。

パラメータ – Replicator ページ
Replication Method / method

各行に複製を作成するテンプレートDATテーブルを使用するか、以下の Number of Replicants パラメータを使用して複製を作成する数を設定するかを選択します。

  • By Number / bynum
  • By Table / bytable
Number of Replicants / numreplicants

上記のReplication Method パラメータがBy Numberの場合、レプリケータの数を設定します。

Template DAT Table / template

複製を実行するテーブルDATのパスを設定します。

Name from Table / namefromtable

ノード名をどのように生成するか設定します。

  • Row Index / rowindex
    Node Prefixパラメータの後に行番号を使用します。デフォルトでは、item1、item2、item3 …. という名前のノードが作成されます。(最上段は0)
  • Column by Index / colbyindex
    ノード名はカラム番号で指定されたカラムで決まります。
  • Column by Name / colbyname
    ノード名は1行目のカラム名で指定されたカラムで決まります。
Ignore First Row / ignorefirstrow

最初の行はノードを作成しません。

Column Name / colname

列の先頭に名前が表示されます。

Column Index / colindex

列番号は0から始まります。

Operator Prefix / opprefix

すべてのノードにこのプレフィックスを追加します。

Master Operator / master

レプリケートするノードやコンポーネントを設定します。

Destination / destination

レプリケータのノードをどこに置くか設定します。.. と設定すると、親の中にノードを置きますが、これは実際にはReplicatorコンポーネントの横になります。. と設定すると、自分自身の中、つまりReplicatorコンポーネントの中に置きます。空白にすると、エラーになります。

Maximum Operators / domaxops

以下のパラメータを有効にして、レプリケータの最大数を設定します。

Maximum Operators / maxops

レプリケートされるノードの最大数。

Script / tscript

Tscriptのみ(pythonではコールバックDATを使用)。すべてのレプリケータに対して、スクリプトを実行して、ディスプレイやクローンのパラメータ、レンダリングフラグの設定など、マスターに対して相対的にカスタマイズすることができます。レプリケータはスクリプトコマンドを実行して、各レプリケータをマスターに対してカスタマイズします。ここでは、`me.curItem`を使用して、現在のアイテムにアクセスし、変更を加えることができます。右側のドロップメニューから3つの項目を選択すると、いくつかの例が表示されます。
Tscriptを使用している場合は、いくつかのローカル変数が定義されています。

  • $ITEM レプリケートされている現在のノードの名前。
  • $MASTER マスターノードの名前。
  • $LOCATION ロケーションコンポーネントの名前。

最も一般的なニーズは、マスターを表示しないで、レプリカを表示することです。パネルコンポーネントの場合は、”opparm $ITEM paneldisplay ( 1 )”、ジオメトリコンポーネントの場合は、”opset -d on $ITEM “が一般的です。ポップアップメニューを使って、一般的なスクリプトを作成します。

Script Names / scriptmenu

このメニューでは、よく使われるスクリプト(Tscript)を選択できます。

Callbacks DAT / callbacks

受信した各イベントのコールバックを含むDATへのパスです。使用方法は replicatorCOMP_Class の章を参照してください。

Layout / layout

新しいノードをどのようにレイアウトするか – すべてを一か所にまとめる(Off)、水平、垂直、またはグリッドにするが設定できます。

Layout Origin / layoutorigin

新しいノードを配置する場所で、左上のノードの左下の角のXY位置を指定します。

  • layoutorigin1
  • layoutorigin2
Incremental Update / doincremental

レプリケータのインクリメンタルな作成のために、以下のパラメータを有効にします。

Incremental Update / increment

複製を作成する際に大きなフレームドロップを避けるために、オペレータの複製を段階的に行います。インクリメンタル・アップデートがオンになっている場合、フレームごとに最大で指定された数の複製を作成します。

Recreate All Operators / recreateall

作成したすべてのノードを削除し,テンプレートと現在のパラメータを使ってノードを再作成します。

Recreate Missing Operators / recreatemissing

欠落しているオペレーターをテンプレートテーブルから再作成しますが、既に存在するレプリケータを削除して再作成することはありません。

パラメータ – Extensions ページ

COMP共通- Extensions ページの章を参照して下さい。

パラメータ – Common ページ

COMP共通- Common ページの章を参照して下さい。