コンテンツにスキップ

Index Context

Context Index Utility は、レイヤーの計算中にのみ存在する入力として機能します。他のレイヤーからの入力接続を持つレイヤーは、異なる結果を生成するためにこれらの入力レイヤーにコンテキストを提供することを選択できます。Duplicator はそのようなレイヤーの1つで、すべての入力にインデックスコンテキストを提供します。

この概念の背景については、Context ページを参照してください。

このユーティリティを使用すると、コンテキスト情報を活用して、より具体的で複雑な結果を得ることができます。

‘index context’ を可視化するには、次の手順に従います:

  1. Text Shape を作成します。
  2. String 属性の横にある + ボタンを使用して、String Generator を追加します。
  3. GeneratorValue に設定します。
  4. PrecisionPadding0 に設定します。
  5. Text ShapeDuplicator に追加します。
  6. Grid DistributionCountX = 1Y = 10 に設定します。
  7. Context Index Utility を作成します。
  8. contextIndex.id→stringGenerator.number を接続します。

DuplicatorAdvanced タブに Index Context 属性を含んでいます。Context Index Utility の作成をスキップして、Duplicator から直接接続することも可能です。例:上記の手順 7 と 8 を次に置き換えます:

  1. duplicator.indexContext→stringGenerator.number を接続します。

特に驚くようなことはありません。では、もう少し発展させてみましょう。

レイヤーがコンテキストを提供すると、それはコンテキストの連鎖に追加されます。Duplicator の中に Duplicator がある場合、その連鎖には2つのインデックスコンテキストが含まれます。Context Index でできることは、他のレイヤーに提供されるコンテキストの「深さ」を選択することです。

例(前の例の続き):

  1. Duplicator を2つ目の Duplicator に追加します。
  2. Duplicator2 の Grid DistributionCount 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 が提供するインデックスを出力します

  1. Content IndexDepth2 に設定します。

結果: 数字は Duplicator2 からのインデックスを表すようになります。

Depth 2 は Duplicator2 が提供するインデックスを出力します

Context Index Utility と Jsmath Utility を組み合わせることで、興味深い結果を生み出すことができます。

  1. もう1つ Context Index Utility を作成します。
  2. Depth1(デフォルト)に設定されていることを確認します。
  3. Jsmath Utility を作成します。
  4. contextIndex2.id→jsmath.array.0 を接続します。
  5. Expression0.5 + n0 * n0 * 0.01 に設定します。
  6. jsmath.id→duplicator1.shapeScale.x を接続します。
  7. jsmath.id→duplicator1.shapeScale.y を接続します。

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