Index Context
Context Index Utility は、レイヤーの計算中にのみ存在する入力として機能します。他のレイヤーからの入力接続を持つレイヤーは、異なる結果を生成するためにこれらの入力レイヤーにコンテキストを提供することを選択できます。Duplicator はそのようなレイヤーの1つで、すべての入力にインデックスコンテキストを提供します。
この概念の背景については、Context ページを参照してください。
このユーティリティを使用すると、コンテキスト情報を活用して、より具体的で複雑な結果を得ることができます。
‘index context’ を可視化するには、次の手順に従います:
- Text Shape を作成します。
- String 属性の横にある
+ボタンを使用して、String Generator を追加します。 - Generator を Value に設定します。
- Precision と Padding を 0 に設定します。
- Text Shape を Duplicator に追加します。
- Grid Distribution で Count を X = 1、Y = 10 に設定します。
- Context Index Utility を作成します。
- contextIndex.id→stringGenerator.number を接続します。
Duplicator は Advanced タブに Index Context 属性を含んでいます。Context Index Utility の作成をスキップして、Duplicator から直接接続することも可能です。例:上記の手順 7 と 8 を次に置き換えます:
- duplicator.indexContext→stringGenerator.number を接続します。

特に驚くようなことはありません。では、もう少し発展させてみましょう。
Context Depth
「Context Depth」という見出しのセクションレイヤーがコンテキストを提供すると、それはコンテキストの連鎖に追加されます。Duplicator の中に Duplicator がある場合、その連鎖には2つのインデックスコンテキストが含まれます。Context Index でできることは、他のレイヤーに提供されるコンテキストの「深さ」を選択することです。
例(前の例の続き):
- Duplicator を2つ目の Duplicator に追加します。
- Duplicator2 の Grid Distribution を Count X = 5, Count Y = 1 に設定します。
結果: インデックス値が2つ目の Duplicator を通じて伝わります。

0-49(合計50)のインデックスがすべての複製に渡されます。
Duplicator1 は自動的に Duplicator2 からのインデックスを蓄積するため、Depth 値に 1 を選択しても 0 から 49 の範囲の数字が得られます。これを変更できます:3. Attribute Editor で、Duplicator1 の Advanced タブの Use Index Context のチェックを外します。
結果: 数字は Duplicator1 からのインデックスを表すようになります。

Depth 1 は Duplicator1 が提供するインデックスを出力します
- Content Index の Depth を 2 に設定します。
結果: 数字は Duplicator2 からのインデックスを表すようになります。

Depth 2 は Duplicator2 が提供するインデックスを出力します
Bonus
「Bonus」という見出しのセクションContext Index Utility と Jsmath Utility を組み合わせることで、興味深い結果を生み出すことができます。
- もう1つ Context Index Utility を作成します。
- Depth が 1(デフォルト)に設定されていることを確認します。
- Jsmath Utility を作成します。
- contextIndex2.id→jsmath.array.0 を接続します。
- Expression を
0.5 + n0 * n0 * 0.01に設定します。 - jsmath.id→duplicator1.shapeScale.x を接続します。
- jsmath.id→duplicator1.shapeScale.y を接続します。

Duplicator1 のインデックスを使用して Duplicator2 が生成するシェイプをスケーリングします。