On this page

概要

Note

コピースタンプは、もはやポイント上にバリエーションのコピーを作成する時の推奨される方法ではなくなりました。 代わりに、For-Eachループとアトリビュートを使用した方が効率的で、セットアップが簡単で、理解しやすいです。

Copy to Pointsツールは、テンプレートジオメトリの各ポイント上にソースジオメトリのコピーを作成します。デフォルトでは、これらのコピーは同一ですが、 スタンプパラメータ を使うと、各コピーにバリエーションを加えることができます。

スタンプパラメータは、入力に接続されているオペレータからの 上流 と情報をやり取りすることができます。これは、Copy SOPに定義してある値を使って、コピーされるソースジオメトリのパラメータを制御することができます。もちろん、Copy SOPから上流のオペレータのパラメータも制御可能です。

例えば、どんどん大きくなる連続したポリゴンの球を作成するには、Copy SOPのスタンプパラメータを定義して、上流のソースジオメトリで、そのパラメータを使って分割数を設定します。

スタンプは、各コピーに対してソースジオメトリを修正しているので、インスタンス(コピー vs. インスタンスを参照)では利用できません。“実”ジオメトリをCopyノードと一緒に作成しているときのみ使える機能です(インスタンスにバリエーションを加える技があります。インスタンスの多様化を参照)。

Tip

パラメータを変更するだけでは物足りなければ、PythonサーフェスノードVEXサーフェスノードScriptサーフェスノードを使う手もあります。これらのノードは、スクリプトを書く(またはVOPネットワークを作成する)ことで、ジオメトリを編集することができるので、コピースタンプ以上のことができます。

どのように機能するのか

コピースタンプは2ステップの工程で行ないます:

  • Copyノード上で、コピー毎にバリエーションを加えたい値だけスタンプ変数を作成します。

    1. Copyノードを選択して、パラメータエディタから Stamp タブをクリックします。

    2. Stamp inputs をオンにします。

    3. Variable NValue N フィールドで、変数の値を計算する変数名とエクスプレッションを設定します。

  • 一度Copyノードで変数を定義すれば、ソースジオメトリを定義しているサーフェスノードのパラメータエクスプレッションにstampエスクプレッション関数を使います。

    例えば、コピーのサイズにバリエーションを加えるには、sizeという名前でスタンプ変数を作成し、それをソースジオメトリネットワークのTransformノードScale パラメータに設定します。

Note

スタンプパラメータの名前に注意してください。入力オペレータで事前に定義されたパラメータと干渉してしまう場合があります。

マテリアルを使ったスタンプ

ジオメトリに適用したマテリアルを使って、スタンプを使用することもできます。

  1. Copyノードをセットアップします。

  2. Materialノードを使って、ソースジオメトリにマテリアルを割り当てます。

  3. そのCopyノードのパラメータエディタで、 Stamp タブに変数と値を設定し、 Stamp Inputs をオンにします。

  4. Materialノードのパラメータで、 Local Parameters の横にあるプラスボタンをクリックします。

  5. Choose Parameter ドロップダウンメニューから上書きしたいパラメータを選択します。

  6. stamp関数を使用して、そのCopyノードからコピー単位で値を取得することができます。

See also

コピーとインスタンス

はじめよう

次のステップ

導師レベル

古いワークフロー