On this page |
Copy with Stampノードには主に2つの機能があり、2つ目の機能が非常に役に立ちます:
-
入力ジオメトリを複数コピーします。各コピーを累進的にトランスフォーメーションさせることができます。 例えば、ボックスを徐々に小さくさせてコピーすることができます。
-
1番目の入力(ソース)ジオメトリを、2番目の入力(テンプレート)ジオメトリのポイント上にコピーします。 これは、ジオメトリをたくさん配置する時に、各コピーをフルコントロールすることができるので非常に役に立ちます。
例えば、ポリゴンの球上にコピーすれば、コピーを球状に配置することができます。 他にも、木のモデルをグリッドのポイント上にコピーして、グリッドのポイントを乱すことで、木をランダムな位置に配置することができます。
このノードは、特にジオメトリをパーティクルシステム(つまり、POP Network SOP)から出力されたポイント上にコピーするのに役立ちます。 パーティクルインスタンスは、インスタンス化されたジオメトリをレンダリング時に表示する(効率化のため)のに対し、 Copy SOPは、ネットワークに“実際の”ジオメトリとして作成されるので、操作することができます。
詳細は、コピーとインスタンス化を参照してください。
Copy To Pointsの使い方 ¶
-
Modify タブの Copy to Pointsツールをクリックします。
-
コピーしたいソースジオメトリを選択して、Enterを押します。
-
ソースジオメトリをインスタンス化するポイントのターゲットジオメトリを選択して、Enterを押します。
コピーとインスタンスのPointアトリビュート ¶
ジオメトリをポイント上にコピーまたはインスタンス化した時、Houdiniは、そのポイント上の特定のアトリビュートを検索して、各コピー/インスタンスをカスタマイズします。 コピーとインスタンスのPointアトリビュートを参照してください。
Tips ¶
-
複数コピーした時(ポイント上へのコピーではなく)に、コピーの数をエクスプレッションのローカル変数として使いたい場合は、NCY(コピーの数)を使用します。
例えば、ジオメトリを0から360まで回転してコピーする時は、Rotateパラメータに
360/$NCY
を設定します。 -
軸周りにコピーを複数作成して、それらをスキニングすることで、Revolve SOPと同様の複雑な旋回効果を作成することができます。
-
法線方向にコピーする時の問題を軽減するには、Upベクトルをテンプレートポイントに追加したり、POPでUp Vector POPを使います。
パラメータ ¶
Source Group
コピーしたいソース(1番目の入力)プリミティブのサブセット。 Group SOPを使ってグループを作成することができます。
Template Group
コピー先のテンプレート(2番目の入力)ポイントのサブセット。 このパラメータには、ポイントグループのみが有効であることに注意してください。
Copy ¶
Number of Copies
元のジオメトリのコピー数。
Transform Using Template Point Attributes
コピーがテンプレートポイント法線方向に向きます。 また、Translate、Rotate、Scaleのパラメータは、テンプレートポイントのtrans、rot、scaleのPointアトリビュートに依存します(それらのアトリビュートが存在すれば)。
Transform Cumulative
各コピーが、前のコピーを基準にトランスフォームします。
Transform Order
トランスフォーメーションの順番。
Rotate Order
回転の順番。
Translate
XYZ軸毎の移動量。
Rotate
XYZ軸毎の回転量。
Scale
XYZ軸毎の不均一スケール。
Shear
傾斜量。各値は、XY平面上のX、XZ平面上のX、YZ平面上のYを意味します。
Pivot
コピーのローカルピボットポイント。
Uniform Scale
均一スケール。
Preserve Normal Length
トランスフォーメーション後も法線長さを維持します。
Create Output Groups
各コピーをプリミティブグループに格納します。
Preserve Groups
コピーするプリミティブをコピーグループに追加する前に、そのグループが既に存在していても、そのコピーグループの内容を削除しません。
Copy Groups
各コピーに対して作成するグループの名前。
Stamp ¶
Stamp Inputs
コピーした各入力に対して、スタンプ変数を処理します。
Cache Stamping Geometry
有効にすると、各スタンプパラメータ値のセットに対して、入力ジオメトリのローカルコピーを保持します。複数回繰り返す入力ジオメトリの数が固定であれば、入力ジオメトリの再処理を避けることで効率を上げることができます。 入力ジオメトリがスタンプ毎に変化するなら、クッキング中のメモリ使用量が増えます。
Pack Geometry Before Copying
入力ジオメトリをコピー前にEmbedded Packedプリミティブにパックします。その結果、入力ジオメトリが各コピーで複製されずに共有されます。
Pivot Location
パックプリミティブで参照されるポイントのオフセットを初期化する方法を指定します。
Display As
指定したパックプリミティブのビューポートLOD。
Attribute Stamps
これに一致するテンプレートジオメトリのPointアトリビュートもスタンプされます。 それらのPointアトリビュートは、そのアトリビュートと同じ名前のスタンプとしてスタンプされます。 FloatとIntegerのアトリビュートは、1番目の値をFloatとしてスタンプされます。文字列アトリビュートは、文字列としてスタンプされます。
Variable/Value n
各スタンプ変数のトークンと値。param関数を含むパラメータの値を変更します。
Attribute ¶
このタブのパラメータでは、テンプレートポイント上のアトリビュートがコピーに影響を与える方法を制御します。
Use Template Point Attributes
テンプレートポイントのアトリビュートを、以下のアトリビュートフィールドの値に応じて、コピー先へコピーします。
Attribute fields
(上記の Use Template Point Attributes がオンの時に利用可能です)
縦の項目 は、ソースジオメトリのアトリビュートを使って、テンプレートジオメトリの アトリビュートと組み合わせることができる ことを意味します。
Set
テンプレートアトリビュートをコピー先にコピーします。
Mult
テンプレートアトリビュートをそれ相当のソースアトリビュートで乗算します。
Add
テンプレートアトリビュートをそれ相当のソースアトリビュートに加算します。
Sub
テンプレートアトリビュートをそれ相当のソースアトリビュートから減算します。
横の項目 は、アトリビュートを 別のエンティティ(ポイント、プリミティブ、頂点)へコピーできる ことを意味します。
各縦と横の 交差 で、アトリビュートのリスト/パターンを入力することができます。
例:
-
テンプレートポイントのアトリビュート値すべてをコピー先のPrimitiveアトリビュートへコピーするには、 Set/To Prim のフィールドを
*
に設定します。 -
プリミティブの色をテンプレートの色で乗算するには、 Mult/To Prim のフィールドを
Cd
に設定します。 -
テンプレートのテクスチャ座標をソースの座標に加算するには、 Add/To Point のフィールドを uv に設定します。
Copy Local Variables
操作するアトリビュートを参照したローカル変数すべてがコピーされます。
入力 ¶
Source
コピーするジオメトリ。
Template
(オプション) ソースジオメトリを、このジオメトリのポイント上にコピーします。
ローカル変数 ¶
Copyノード固有の変数。
CY
生成した現行のコピー番号で、0から始まります。
NCY
コピーの総数( Number of Copies パラメータの値)。
PT
コピー先のテンプレートのポイント番号。テンプレートグループが存在すれば、この番号はグループのインデックス番号であり、実際のポイント番号では ありません 。
実際のポイント番号を常に取得するには、TPT
を使います。
NPT
テンプレートジオメトリ内のポイントの総数。
TPT
現在処理中のテンプレートポイントの実際のポイント番号で、テンプレートグループとは関係ありません。上記のPT
を参照してください。
テンプレートのPointアトリビュート用の変数。
AGE
テンプレート内のパーティクルが生存する秒数。
LIFE
寿命における経過した時間の割合(0から1)。
ID
入力のパーティクルのID。
入力ジオメトリ/テンプレートジオメトリ用の変数(テンプレート入力が存在する場合)。
CEX, CEY, CEZ
ジオメトリの重心。
XMIN, XMAX
ジオメトリの境界ボックスのX座標の範囲。
YMIN, YMAX
ジオメトリの境界ボックスのY座標の範囲。
ZMIN, ZMAX
ジオメトリの境界ボックスのZ座標の範囲。
SIZEX, SIZEY, SIZEZ
境界ボックスのサイズ。
BBX, BBY, BBZ
境界ボックスでのポイントの相対位置。
標準変数 ¶
Note
名前の最後が2
の変数名は、もし該当すれば2番目の入力のジオメトリを参照します。例えば、$PT2
は2番目の入力の現行のポイント番号を意味します。
AGE
パーティクルが生存する秒数。
ARC
L-systemsのルートからの円弧長。
AREA
プリミティブの表面積(Measure SOPで作成)。
BBX, BBY, BBZ
境界ボックス内におけるポイントの相対位置(0から1)。
CA
PointまたはVertexのアルファ値。
CEX, CEY, CEZ
ジオメトリの重心。
COMX, COMY, COMZ
質量の中心。
CR, CG, CB
PointまたはVertexのDiffuseカラー。
CREASE
PointまたはVertexのCrease Weightの値。
CY , NCY
$CY
は、Copy SOPで生成した現行のコピー番号で、0
から始まります。$NCY
はコピーの総数です。Copy SOPの2番目の入力を使用している場合は、$CY
の代わりに$PT
を、$NCY
の代わりに$NPT
を使用します。
DIST
パーティクルから最後の衝突までの距離。
DIV
Polywire(L-systemsで作成)に沿わせる円の分割数。
DRAG
ポイントの抵抗力。
GEN
L-systemsで生成したもの。
ID
入力のパーティクルのID。
LAGE
L-systemで計算したポイントの寿命。
LIFE
寿命における経過した時間の割合(0から1)。
LOD
詳細レベル。
MAPU, MAPV, MAPW
ポイントまたは頂点のテクスチャ座標。
MASS
ポイントの質量。
MAT
現行マテリアルの文字列名(shop_material
アトリビュートの値)。
MAXLAYER
表示でアクティブとみなされているレイヤーの数。
NPT
テンプレートジオメトリでのポイントの総数。
NX, NY, NZ
法線ベクトル。
NX2, NY2, NZ2
Point SOPの2番目の入力のポイントの法線ベクトル。
PERIMETER
プリミティブの外周の長さ(Measure SOPで作成)。
PR, NPR
プリミティブ番号とプリミティブの総数。
PSCALE
パーティクルのスケール。
PT
現在処理しているポイントのポイント番号。
RESTX, RESTY, RESTZ
Rest Position(静止位置)。
SEGS
カーブをPolywire(L-systemsで作成)に分割するセグメント数。
SIZEX, SIZEY, SIZEZ
境界ボックスのサイズ。
SPRINGK
ポイントの弾性。
TENSION
エッジのスプリング張力。
TX, TY, TZ
ポイントの位置。
TX2, TY2, TZ2
Point SOPの2番目の入力のポイントの位置。
TW
WEIGHTを参照してください。
UPX, UPY, UPZ
Upベクトル。
VTX, NVTX
頂点番号と頂点の総数。
VX, VY, VZ
Velocityの方向。
WEIGHT
ポイントスプラインのWeight。
WIDTH
カーブの幅。カーブとL-Systemで生成したPolywireをレンダリングする時にMantraで使われます。
XMIN, XMAX
ジオメトリの境界ボックスのX座標の範囲。
YMIN, YMAX
ジオメトリの境界ボックスのY座標の範囲。
ZMIN, ZMAX
ジオメトリの境界ボックスのZ座標の範囲。
Examples ¶
Copy SOPはジオメトリをコピーするだけでなく、それ以上のこともできます。このサンプルでは、Copy SOPを使ってテンプレートジオメトリ(またはポイント)からカラーアトリビュートをコピーしたジオメトリに転送しています。
カラー情報を追加したポリゴンの球をソースジオメトリとして使用しています。球からカラーアトリビュート(Cd)付きのポイントを抽出し、それをCopy SOPでテンプレートとして使用します。Copy SOPはカラー情報をコピーしたポリゴンの円に転送します。
Copy SOPは、テンプレートから特定のアトリビュートを、コピーしたプリミティブに転送することができます。このサンプルでは、カラーアトリビュートを設定したポイントをテンプレートとして、球にカラーアトリビュートを追加しています。Particle SOPは球のポイントからパーティクルを生成するために使用しています。
Copy SOPは次の2つの事をしています:
-
ジオメトリをパーティクルにコピー。
-
ソースの球のポイントからカラーアトリビュートをパーティクルの位置にあるジオメトリに転送。
アニメーションを再生して、その効果を確認してください。
Copy SOPは、Particle SOPを使ったパーティクルをテンプレートとしてジオメトリをコピーすることができます。このサンプルでは、Copy SOPのScaleパラメータを使って特殊な効果を作成しています。 Copy SOPは、Scale以外にもコピーしたジオメトリのアトリビュートを制御することができます。
アニメーションを再生して、その効果を確認してください。
このサンプルでは、Copy SOPを使って、色々なオブジェクトを指定したテンプレートジオメトリにランダムにコピーしています。それをするためにCopy SOPのStamp機能を使っています。さらに、全体のプロセスがプロシージャルなので、コピーするジオメトリのタイプと数、使用するテンプレートの種類を決めるオプションがあります。
Copy SOPのStampタブ内に“switch”という名前の変数を作成しています。この変数はSwitch SOPのSelect Inputパラメータの入力値を駆動します。同様に、Copy SOPは入力ジオメトリをランダムな数だけテンプレートのポイントにコピーすることができます。
このサンプルでは、Copy SOPのStampの機能のパワーを説明しています。
ここでは、Copy SOPを使って、円を球のポイントにコピーしています。 Stampタブでは、円の分割数、スケール、カラー、押出し量などの色々な調整をコピーに適用しています。その結果、色々な形の“星”がランダムに生成されています。
Stampにエクスプレッションを使えば、単純な円から色々な数の星を作成することができます。
See also |