On this page |
Copy 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
CopyAttributes Example for Copy Stamp geometry node
Copy SOPはジオメトリをコピーするだけでなく、それ以上のこともできます。このサンプルでは、Copy SOPを使ってテンプレートジオメトリ(またはポイント)からカラーアトリビュートをコピーしたジオメトリに転送しています。
カラー情報を追加したポリゴンの球をソースジオメトリとして使用しています。球からカラーアトリビュート(Cd)付きのポイントを抽出し、それをCopy SOPでテンプレートとして使用します。Copy SOPはカラー情報をコピーしたポリゴンの円に転送します。
CopyTemplateAttribs Example for Copy Stamp geometry node
Copy SOPは、テンプレートから特定のアトリビュートを、コピーしたプリミティブに転送することができます。このサンプルでは、カラーアトリビュートを設定したポイントをテンプレートとして、球にカラーアトリビュートを追加しています。Particle SOPは球のポイントからパーティクルを生成するために使用しています。
Copy SOPは次の2つの事をしています:
-
ジオメトリをパーティクルにコピー。
-
ソースの球のポイントからカラーアトリビュートをパーティクルの位置にあるジオメトリに転送。
アニメーションを再生して、その効果を確認してください。
ParticleCopyScale Example for Copy Stamp geometry node
Copy SOPは、Particle SOPを使ったパーティクルをテンプレートとしてジオメトリをコピーすることができます。このサンプルでは、Copy SOPのScaleパラメータを使って特殊な効果を作成しています。 Copy SOPは、Scale以外にもコピーしたジオメトリのアトリビュートを制御することができます。
アニメーションを再生して、その効果を確認してください。
StampRandom Example for Copy Stamp geometry node
このサンプルでは、Copy SOPを使って、色々なオブジェクトを指定したテンプレートジオメトリにランダムにコピーしています。それをするためにCopy SOPのStamp機能を使っています。さらに、全体のプロセスがプロシージャルなので、コピーするジオメトリのタイプと数、使用するテンプレートの種類を決めるオプションがあります。
Copy SOPのStampタブ内に"switch"という名前の変数を作成しています。この変数はSwitch SOPのSelect Inputパラメータの入力値を駆動します。同様に、Copy SOPは入力ジオメトリをランダムな数だけテンプレートのポイントにコピーすることができます。
StampStars Example for Copy Stamp geometry node
このサンプルでは、Copy SOPのStampの機能のパワーを説明しています。
ここでは、Copy SOPを使って、円を球のポイントにコピーしています。 Stampタブでは、円の分割数、スケール、カラー、押出し量などの色々な調整をコピーに適用しています。その結果、色々な形の“星”がランダムに生成されています。
Stampにエクスプレッションを使えば、単純な円から色々な数の星を作成することができます。
The following examples include this node.
BlendPoseBasic Example for Blend Pose channel node
このサンプルでは、BlendPose CHOPでランダムなトラッカーポイントポジションを使ってジオメトリを変形させる方法を説明しています。
CountImpacts Example for Count channel node
このサンプルでは、Count CHOPを使って、DOPシミュレーションのインパクトを数える方法を説明しています。
このサンプルでは、Count CHOPの値を使って、ティーポットのコピーを生成します。
Keyboard Example for MIDI Out channel node
このサンプルでは、MIDI Out CHOPを使ってMIDIデータを書き出し、MIDI In CHOPを使ってMIDIデータを読み込む方法を説明しています。 書き出したMIDIは、ジオメトリベースになっていて、読み込んだMIDIは他のジオメトリを制御しています。
ApplyRelationship Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、Pin拘束をワイヤーオブジェクトに追加する方法を説明しています。
BridgeCollapse Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、自動的に拘束を伝搬させて、崩壊する橋のRBDシミュレーションを作成する方法を説明しています。
AngularMotorDenting Example for Constraint Network dynamics node
このサンプルでは、Angular Motorをピン拘束と一緒に使用して、凹みの効果を作成する方法を説明しています。
Chains Example for Constraint Network dynamics node
このサンプルでは、Pin拘束でオブジェクトをチェーン状に接続する方法を説明しています。
ControlledGlueBreaking Example for Constraint Network dynamics node
このサンプルでは、Constraint Networkの接着ボンドを徐々に弱くして、ビルの崩壊を制御する方法を説明しています。
Hinges Example for Constraint Network dynamics node
このサンプルでは、ピン拘束でオブジェクト間にヒンジを作成する方法を説明しています。
PointAnchors Example for Constraint Network dynamics node
このサンプルでは、ポイントアンカーを使った基本的なConstraint Networkの作成方法を説明しています。
Street Crowd Example Example for Crowd Solver dynamics node
2つのエージェントグループによるストリートのセットアップを説明した群衆サンプル。
このセットアップは、2つのエージェントグループを作成します。 黄色のエージェントがゾンビで、ストリートのパスに沿います。青色のエージェントがぶらついている歩行者で、ゾンビが近づくと走ります。
エージェントの状態を変更するトリガーは、crowd_sim DOPNETでセットアップします。 ゾンビのグループは、信号との距離と信号の色を使用し、信号が赤になると停止状態に変わります。 生存者のグループは、ゾンビが近づくと走行状態に変わります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
FEMSpheres Example for finiteelementsolver dynamics node
このサンプルでは、FEM Solverを使用して、球が地面と衝突した時にその球を変形させる方法を説明しています。 この球は、地面と衝突する前にパーティクルベースのアニメーションをしていて、衝突時にFEM Solverに切り替わります。
DensityViscosity Example for FLIP Solver dynamics node
このサンプルでは、ソリッドオブジェクトと作用する異なる密度と粘度を持つ2つの流体について説明しています。
FluidWireInteraction Example for Fluid Force dynamics node
このサンプルでは、Fluid Force DOPの使い方を説明しています。 Fluid Force DOPによって流体オブジェクトの動きに応じてワイヤーオブジェクトにDrag(抵抗)フォースを加えます。 流体オブジェクト内に存在する流体の箇所にのみDragフォースを適用しています。
このサンプルでは、RBDオブジェクトで押しつぶされる草をシミュレーションしています。 Furオブジェクトで草の葉を表現し、Wireオブジェクトで動きをシミュレーションしています。 単一のFurオブジェクトで草を表現し、その近辺の草の葉がそれに合わせて動きます。 硬さが異なるオブジェクトを追加すれば、不均一な動きを表現することができます。 "Complex Mode"を有効にすると、2つのオブジェクトを使って草が表現されます。 それぞれのカーブに設定した硬さは、Wireオブジェクトの"Angular Spring Constant"と"Linear Spring Constant"パラメータで調整することができます。
MagnetMetaballs Example for Magnet Force dynamics node
このサンプルでは、メタボールのグループに対してMagnet Forceノードを使うことで、 衝撃を与えた時にオブジェクトの破片を跳ね返す方法を説明しています。
LookatTarget Example for POP Lookat dynamics node
このインタラクティブなサンプルでは、POP Lookatノードの使い方を説明しています。 再生ボタンを押して、ビューポートにある緑のターゲットハンドルを動かしてみてください。 円錐のパーティクルが、あなたが動かしたターゲットの方向に向きます。
BillowyTurbine Example for Pyro Solver dynamics node
このサンプルでは、Pyro SolverとSmoke Objectを使って、 タービン(RBDオブジェクト)を通過した煙を渦巻くように放出させる方法を説明しています。 タービンの羽は、Copy、Circle、AlignのSOPでプロシージャルにモデリングしています。
StackedBricks Example for RBD Fractured Object dynamics node
このサンプルでは、1個のSOPからたくさんのRBDオブジェクトを作成する方法を説明しています。 さらに、Velocity Pointアトリビュートを使って、オブジェクトの初期速度を設定する方法も説明しています。
このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。
たくさんの球を接着してトーラス形状を作成し、さらに、水平に移動する平面を追加しています。 この平面が通過した後の球が分解されていきます。
ActivateObjects Example for RBD Packed Object dynamics node
このサンプルでは、RBD Packed Objectの"active" Pointアトリビュートを修正して、オブジェクトをStaticからActiveに変更する方法を説明しています。
DeleteObjects Example for RBD Packed Object dynamics node
このサンプルでは、シミュレーションから境界ボックス外のオブジェクトを削除する方法を説明しています。
SpeedLimit Example for RBD Packed Object dynamics node
このサンプルでは、シミュレーションの特定のオブジェクトの速度を制限する方法を説明しています。
Chainlinks Example for RBD Pin Constraint dynamics node
このチェーンシミュレーションでは、個々のチェーンリンクが、RBDシミュレーションでお互いに反応しています。
InheritVelocity Example for RBD State dynamics node
このサンプルでは、RBD Stateノードを使って、オブジェクトの動きからVelocityを継承して、接着したRBD破壊シミュレーション内で、他のオブジェクトと衝突させる方法を説明しています。
RippleGrid Example for Ripple Solver dynamics node
このサンプルでは、Ripple SolverとRipple Objectのノードの使い方を説明しています。 Bulge SOPでグリッドを変形させて、Ripple Objectの初期ジオメトリとRest Geometry(静止ジオメトリ)を作成しています。このオブジェクトは、Ripple Solverに接続しています。
SumImpacts Example for Script Solver dynamics node
このサンプルでは、Script SolverとSOP Solverを使って、タイムステップ毎にオブジェクトに加えられた衝撃エネルギーの合計に基づいて、 RBDオブジェクトの色を変更する方法を説明しています。
DentingWithPops Example for SOP Solver dynamics node
このサンプルでは、たくさんの重要なDOPの概念を組み合わせています。
-
最初に、POP SolverとRBD Solverのオブジェクトを両方使って、双方向にお互い反応させます。 RBDオブジェクトは、パーティクルに影響を与え、パーティクルはRBDオブジェクトに影響を与えます。
-
次に、実際にRBDオブジェクトにMulti-Solverを使って、RBD SolverとSOP Solverを組み合わせます。 RBD Solverは全体のオブジェクトの動きを制御し、一方でSOP Solverはジオメトリを凹ませます。
-
最後に、SOP SolverはRBD SolverからImpact情報を抽出してジオメトリを凹ませます。 SOP Solverは、DOPエクスプレッション関数を使って、この情報を抽出します。
その結果、パーティクルをぶつけられるトーラスのシミュレーションになります。 パーティクルはトーラスで跳ね返り、トーラスが動きます。 さらに、各パーティクルの衝突によって、トーラスが少し凹みます。
VisualizeImpacts Example for SOP Solver dynamics node
このサンプルでは、SOP SolverでカスタムガイドジオメトリをRBDオブジェクトに追加することで、RBDシミュレーション内のImpactデータを可視化する方法を説明しています。
このサンプルでは、Impactの位置と強さを示す緑の線を持つ3つのトーラスがグリッドに落下します。 フォースを可視化するために、補助的なジオメトリデータとして実際のトーラスに追加しているので、RBD Solverは完全にそのエフェクトを無視します。 SOP Solverを独立したSOP Networkとして使うことで、RBDオブジェクトからImapctの可視化を抽出することもできます。
SimpleVortex Example for Vortex Force dynamics node
このサンプルでは、何個かのボールを使って、Vortex Force DOPで生成したフォースを可視化しています。
AnimatedSkin Example for Wire Glue Constraint dynamics node
このサンプルでは、Wire Glue Constraint DOPを使ってワイヤーオブジェクトをアニメーションジオメトリに拘束する方法を説明しています。
BeadCurtain Example for Wire Solver dynamics node
このサンプルでは、Wire Solverを使ってビーズカーテンをシミュレーションする方法を説明しています。 RBDボールがカーテンを通過して、カーテンからの反応を反映して、ボールが相互に衝突で影響し合います。
BreakWire Example for Wire Solver dynamics node
このサンプルでは、ポイント単位でワイヤー拘束を壊す方法を説明しています。 Wire Solverで、'pintoanimation'という名前のアトリビュートを持つポイントを拘束するようにセットアップしています。
CurveAdvection Example for Wire Solver dynamics node
このサンプルでは、Pyroシミュレーションに基づいて、カーブを移流させる方法を説明しています。 Attribute Wrangle SOPを使って、ボリュームのVelocityをサンプリングして、それをワイヤーオブジェクトに適用しています。
Pendulum Example for Wire Solver dynamics node
このサンプルでは、拘束ポイントにあるオブジェクトと振り子の玉にあるオブジェクトを相互に影響を与え合う方法を説明しています。
このサンプルで注目すべき特徴は以下の通りです:
-
ジオメトリエリアライト
-
減衰ランプ制御
-
サーフェスモデルのスペキュラーレイヤー
サンプルでは、NURBSカーブに基づいたジオメトリライトを構成しています。 ライトの減衰には、カラーキーを使うことで、異なるライトの色をライトからの距離に応じて生成することができます。 ground plane shaderは、2つのスペキュラーコンポーネント(広いコンポーネントと狭い光沢コンポーネント)でサーフェスモデルを使って、複数レイヤーの外観を生成します。
Volume Rendering - メタボールのボリュームレンダリング Example for Mantra render node
メタボールジオメトリは、Mantraでそのままボリュームとしてレンダリングすることが可能です。メタボールのレンダリングを有効にするには、ジオメトリオブジェクトの Render タブの Geometry サブタブの Metaballs as Volume パラメータをチェックします。メタボール上のPointアトリビュートは、Pointアトリビュートがメタボールサーフェスに対して補間されるのと同様に、シェーディングポジションで補間されます。
以下に、ランダムなポイントカラーアトリビュートを使ったサンプルを載せています:
シャドウ品質とパフォーマンスの制御
シャドウマップの生成には、 Pixel Samples と Shadow Step Size パラメータ(Mantra ROP内)を使って、サーフェスに対して使用するのとまったく同じ方法で、品質とパフォーマンスを制御します。ほとんどのボリュームは、柔らかいDiffuseシャドウを落とすので、ボリュームレンダリングの時は、低解像度のディープシャドウマップを使ってレンダリング時間を短くすることがほとんどです。シャドウマップの 解像度 は、Houdiniのライトの Shadow タブで変更することができます。
Volume Rendering - ファイル参照の煙 Example for Mantra render node
ボリュームレンダリングは、高品質な煙、雲、飛沫、炎などのボリュームエフェクトを統合したレンダリングを可能にするレンダリング手法です。
ボリュームレンダリングは、多くのタイプのボリュームエフェクトのレンダリングに適しています。Mantraボリュームによるレンダリングが特に適したシーンは以下のとおりです:
-
詳細な"hero"(メインとなる)の雲、煙、炎
-
インスタンス化した雲、煙、炎のフィールド(視界)
ボリュームレンダリングがまったく適さないシーンは以下のとおりです:
-
単一の均一なフォグを持つシーン
この特化したサンプルでは、bgeoファイル(1フレームのみ)を煙の流体シミュレーションからエクスポートして、それをFile SOPを使って参照しています。VEX Volume Cloudを使ったマテリアルを、Volume Objectのトップレベルで、このボリュームデータに割り当てています。シェーディングモードでこのシーンを見るには、環境変数の HOUDINI_OGL_ENABLE_SHADERS を1に設定します。
品質/パフォーマンスの制御
ボリュームレンダリングは、Ray Marchingを使って、ボリューム内に入り込みます。Ray Marchingは、画像内の各ピクセルに対して均一に光線に沿って入り込むことで、ボリューム内にシェーディングポイントを生成します。ボリュームのRay Marchingの品質と速度を変更する方法が2つあります:
-
Mantra ROPの Properties タブの Sampling サブタブの Pixel Samples パラメータ。 Pixel Samples を増やせば、ピクセル内にRay Marchingを増やすことができるので、品質が良くなります。さらに、ボリュームに対してアンチエイリアスとモーションブラーの品質が良くなります。
-
Mantra ROPの Properties タブの Sampling サブタブの Volume Step Rate パラメータ。 Volume Step Rate を上げれば、ボリューム内部のサンプルが増えるので、品質が良くなりますが、パフォーマンスが悪くなります。別々のシャドウ品質をシャドウに使うことができます。
変更すべきパラメータは、ピクセルのアンチエイリアスで必要な品質に依存します。 Pixel Samples を増やすよりも、 Volume Step Rate を小さくする方が良いです。なぜなら、 Volume Step Rate が小さいほど正確なレンダリングができるからです。
以下のレンダリングでは、 Pixel Samples を2×2、 Volume Step Rate を1にしています。シャドウの細部に注目してください。
以下のレンダリングでは、 Pixel Samples を4×4、 Volume Step Rate を0.25にしています。シャドウの細部が消えて、ボリュームが少し透明になっています。品質レベルは、ほぼ同じです。
このサンプルでは、ボリュームシャドウありのAtmosphereシェーダを作成する方法を説明しています。 FogオブジェクトにはVEX Lit Fogシェーダを追加し、SpotlightのDepth Map Shadowsを有効にしています。 シーン内のオブジェクトには、matteシェーダを接続しています。
Down Hill Lava Flow Example for Material shader node
このファイルでは、傾斜が低い箇所にCrust(地殻)が集まって硬化する溶岩の流れを作成しています。このアニメーションは、シェーダで作成していて、ジオメトリそのものはアニメーションしていません。
Note
Lava(溶岩)マテリアルのパラメータのほとんどを、サーフェスノードで作成したPointアトリビュートで上書きしています。
FirePit Example for Material shader node
Note
このファイルでは、ジオメトリはアニメーションしていません。 テクスチャをアニメーションさせることで、すべてのアニメーションを表現しています。
炎は、UVテクスチャを簡単に適用できるようにグリッドで作成し、Magnet SOPを使ってメタボール周辺を歪ませています。
炎には、黄色または青のFlameテクスチャのどれかを割り当てています。
Flamesのopacity mask wrapをDecalに設定することで、テクスチャがFlameジオメトリの上部で単一ピクセルリングを繰り返して表示するのを回避しています。
また、flameOpacMap.jpg
というマスクファイルを使って、上部にFlameの形状を調整しています。
noise offsetを$T
でY軸を強くアニメーションさせることで、Flameが上昇しているように見せています。これは、Noise jitterもY軸に対して大きくなります。
炭は、変形させたグリッドにCopy Stampを適用した球で表現しています。
Attribute CreateSOPを使えば、SOPレベルでLava(溶岩)のテクスチャのパラメータを上書きしてCopy Stampすれば、$BBY
などのローカル変数を使ってテクスチャをアニメーションさせることができます。
そうすれば、テクスチャのCrust(地殻)とその値だけを使って、炭の上部の形状を修正することができます。
これは、炭の下部で使用するテクスチャのLava(溶岩)のアスペクト比を保持します。熱を発する炭の下部の残り火を表現するために、Lava(溶岩)の強度(Kd
アトリビュート)をスタンプしてアニメーションしています。
AddItUp Example for Add geometry node
このネットワークでは、Add SOPによるジオメトリの構築と操作に関するたくさんの使用方法を説明しています:
-
空間内にポイントを作成する時に使用します。そして、指定したパターンでポイントからポリゴンを作成することができます。そのポリゴンはオープンまたはクローズにすることができます。さらに、各ポイントはエクスプレッションやキーフレームを使ってアニメーションすることもできます。
-
ポイントの作成と同時に他のプリミティブからポイントを取り出す時に使用します。これらのポイントはポリゴンを作成する時に使用します。
-
Add SOPは他のポリゴンオブジェクトから抽出したポイントを使ってポリゴンを作成する時に利用します。Group SOPでは、Add SOPが参照するポイントグループを作成することができます。
-
Add SOPはアニメーションするNullオブジェクトのグループからポリゴンを作成する時に使用します。Object Merge SOPはポリゴンの生成時にAdd SOPに取り込まれているSOPの中にあるNullポイントを参照します。 Fit SOPは参照したNullポイントから順番に補間スプラインを作成する時に使用します。
-
Add SOPプリミティブを作成しないでポイントを生成する時に使用します。また、Add SOPを使って他のオブジェクトのポイントを抽出することができます。
-
最後に、Add SOPではさらに縦の列と横の列のポイントを作成することもできます。
CopyUsingOrient Example for Attribute Reorient geometry node
このサンプルでは、Attrib Reorient SOPを使って、方向アトリビュート名の"orient"をポイントに追加する方法を説明しています。 それらのアトリビュートをCopy SOPを使って各インスタンスに適用しています。
NumbersOnPoints Example for Block End geometry node
このノードは、ポイント上に番号をスタンプする方法を示しています。 これは、for-each loopを使用して、各ポイントを反復し、メタデータソースを使用して、現行の反復番号を取得します。
SwissCheese Example for Block End geometry node
このノードは、1つのジオメトリのすべてのピースを反復して、元のジオメトリからボリュームを連続して減算する方法を示しています。
SlowParticles Example for Cache geometry node
このサンプルでは、Particle SOPを使用してパーティクルの流れを作成しています。
Cache SOPを使用して、パーティクルを遅くさせています。Cache SOPでは、アニメーションのフレームレートを制御して、グローバルフレームレートよりも遅くアニメーションを読むことができます。
CarveExtractCurve Example for Carve geometry node
このサンプルでは、Carve SOPを使ってサーフェスジオメトリから色々なエレメントを抽出する方法を説明しています。
ジオメトリのタイプに応じて、Carve SOPはポリゴンオブジェクトからポイントを抽出したり、NURBSサーフェスからカーブを抽出します。
さらに、Carve SOPはサーフェスのUとVの情報を使って色々なエレメントを抽出し、UとVの値をアニメーションすることで、ポイントやカーブがジオメトリ上を移動するといった色々な効果を作成することができます。
CopySpikes Example for Carve geometry node
このサンプルでは、Carve SOPがサーフェスから3Dアイソパラメトリックカーブを抽出する方法と、その抽出したカーブをコピーのテンプレートとして使用する方法を説明しています。
Carve SOPを使ってプリミティブをスライスしたり、複数の断面にカットしたり、プリミティブからポイントや横断面を抽出することができます。
このサンプルでは、Extractオプションを使って3Dアイソパラメトリックカーブを抽出しています。Carve SOPは同じV方向の値を持ったサーフェス上のポイントからカーブを抽出するので、円盤のような形状が連続して作成されています。
Copy SOPは、それらのカーブ上のポイントをテンプレートとして使用して、ソースジオメトリをコピーしています。
CaptureDeform Example for Cloth Deform geometry node
このサンプルでは、Cloth CaptureノードとCloth Deformノードを使って低解像度の布のシミュレーションを高解像度の布に転送する方法を説明しています。
CombGrass Example for Comb geometry node
このサンプルでは、Comb SOPを使ってインタラクティブに法線上を"ペイント"することでポイント法線の方向を変更する方法を説明しています。
2つのComb SOPを使って、別々の方向を向いたグリッドの法線の方向を整えています。 Sequence Blend SOPで2つのComb SOPをブレンドすることで法線が揺れているように見せています。
単純なラインジオメトリをそれらのポイントに接続しています。
Comb SOPは髪の毛や草原などのアニメーションに使うことができます。
CopyAttributes Example for Copy Stamp geometry node
Copy SOPはジオメトリをコピーするだけでなく、それ以上のこともできます。このサンプルでは、Copy SOPを使ってテンプレートジオメトリ(またはポイント)からカラーアトリビュートをコピーしたジオメトリに転送しています。
カラー情報を追加したポリゴンの球をソースジオメトリとして使用しています。球からカラーアトリビュート(Cd)付きのポイントを抽出し、それをCopy SOPでテンプレートとして使用します。Copy SOPはカラー情報をコピーしたポリゴンの円に転送します。
CopyTemplateAttribs Example for Copy Stamp geometry node
Copy SOPは、テンプレートから特定のアトリビュートを、コピーしたプリミティブに転送することができます。このサンプルでは、カラーアトリビュートを設定したポイントをテンプレートとして、球にカラーアトリビュートを追加しています。Particle SOPは球のポイントからパーティクルを生成するために使用しています。
Copy SOPは次の2つの事をしています:
-
ジオメトリをパーティクルにコピー。
-
ソースの球のポイントからカラーアトリビュートをパーティクルの位置にあるジオメトリに転送。
アニメーションを再生して、その効果を確認してください。
ParticleCopyScale Example for Copy Stamp geometry node
Copy SOPは、Particle SOPを使ったパーティクルをテンプレートとしてジオメトリをコピーすることができます。このサンプルでは、Copy SOPのScaleパラメータを使って特殊な効果を作成しています。 Copy SOPは、Scale以外にもコピーしたジオメトリのアトリビュートを制御することができます。
アニメーションを再生して、その効果を確認してください。
StampRandom Example for Copy Stamp geometry node
このサンプルでは、Copy SOPを使って、色々なオブジェクトを指定したテンプレートジオメトリにランダムにコピーしています。それをするためにCopy SOPのStamp機能を使っています。さらに、全体のプロセスがプロシージャルなので、コピーするジオメトリのタイプと数、使用するテンプレートの種類を決めるオプションがあります。
Copy SOPのStampタブ内に"switch"という名前の変数を作成しています。この変数はSwitch SOPのSelect Inputパラメータの入力値を駆動します。同様に、Copy SOPは入力ジオメトリをランダムな数だけテンプレートのポイントにコピーすることができます。
StampStars Example for Copy Stamp geometry node
このサンプルでは、Copy SOPのStampの機能のパワーを説明しています。
ここでは、Copy SOPを使って、円を球のポイントにコピーしています。 Stampタブでは、円の分割数、スケール、カラー、押出し量などの色々な調整をコピーに適用しています。その結果、色々な形の“星”がランダムに生成されています。
Stampにエクスプレッションを使えば、単純な円から色々な数の星を作成することができます。
CreepBlob Example for Creep geometry node
このサンプルでは、メタボールをサーフェス上に這わせる方法を説明しています。 このケースでは、サーフェスは捻じ曲がったチューブで、メタボールは管を通過して押し出される"ブロッブ"のように見えます。
チューブは、メタボールを這わせるために作成しています。 円は同じチューブからプロファイルを抽出して作成しています。 円はCreep SOPでチューブに沿ってアニメーションしています。
メタボールは抽出した円のポイントに接続して"ブロッブ"を作成しています。
CreepText Example for Creep geometry node
このサンプルでは、テキストジオメトリがアニメーションサーフェスに沿って這います。
サーフェスは、Sequence Blend SOPでアニメーションするカーブを2つ使ってスキンしています。Creep SOPでジオメトリを這わせるにはカーブではなくサーフェスが必要です。
DeltaMushDemo Example for DeltaMush geometry node
このサンプルでは、Delta Mush SOPを使用したボーン変形の平滑化の方法を説明しています。
LowHigh Example for Dop Import geometry node
このサンプルではRBDオブジェクトに対応するために低解像度と高解像度のセットアップをする方法を説明しています。 どちらの解像度もDOP Import SOPを参照して、低解像度ジオメトリでシミュレーションをして、その結果を高解像度ジオメトリに転送してレンダリングしています。
ProxyGeometry Example for Dop Import geometry node
このサンプルでは、DOP Import SOPを使って、DOPシミュレーションでプロキシジオメトリ(代用ジオメトリ)の使用を可能にするテクニックを説明しています。 1組みのジオメトリをシミュレーションに使用し、そのシミュレーション結果のトランスフォーメーション情報をもっと解像度の高いジオメトリに適用しています。
EdgeCuspStairs Example for Edge Cusp geometry node
Edge Cusp SOPは、簡単にレンダリング時にモデル上に明確なエッジを作成することができます。 Edge Cuspは、共有エッジを個別化し、ポイント法線を再計算してエッジを作成します。
PackedPoints Example for File geometry node
このサンプルでは、File SOPを使って、ディスクのパックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。 パックジオメトリをディスクに保存すると、参照付きでポイントジオメトリのみがディスクファイルに保存されます(ディスクファイルは非常に軽いです)。
PackedSequence Example for File geometry node
このサンプルでは、File SOPを使ってパックディスクシーケンスを読み込む方法を説明しています。
DirectedEdgesPath Example for Find Shortest Path geometry node
このサンプルでは、FindShortestPath SOPを使って、指向性のエッジを持つジオメトリから最短パスを見つける方法を説明しています。 指向性のエッジは、1方向にしか移動できません。
SOPがどのように間違えた方向を回避するのか、なぜ出力方向のエッジのみではポイントに到達できないのかを調べるために、指向性のエッジだけでなく、開始/終了点も変更してみてください。
このサンプルでは、ForEach SOPを3つのモード(グループ、アトリビュート、ナンバー)で使い方を説明しています。 ローカル変数をサポートしないSOP(例:Magnet)は、このサンプルで示す3つのモードのどれかを使えば、ローカル変数をサポートするようにできます。
このサンプルでは、ForEach SOPを使って一切れのチーズに球を個々にブーリアン演算する方法を説明しています。
FurBall Example for Fur geometry node
このサンプルでは、Fur SOPがガイドカーブとスキンジオメトリに応じて髪の毛のようなカーブを作成する方法を説明しています。
FurBallWorkflow Example for Fur geometry node
このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。
FurRandomScale Example for Fur geometry node
このサンプルでは、CVEXシェーダを使ってプロシージャルなエフェクトをFur SOPで生成したカーブに適用する方法を説明しています。 Fur SOPのガイドジオメトリとスキンジオメトリの入力からのアトリビュートすべてをCVEXシェーダで利用可能です。 CVEXシェーダは、各カーブの固有IDを示す"fur_id"と各ポイントの位置を示す"P"のアトリビュートを使用します。
FurTextureMap Example for Fur geometry node
このサンプルでは、テクスチャマップを使ってファーに色を付ける方法を説明しています。
GroupCopyBox Example for Group Copy geometry node
このサンプルでは、他のネットワークのグループに基づいて、ジオメトリをグループ化する方法を説明しています。
TransferProximity Example for Group Transfer geometry node
このサンプルでは、Group Transfer SOPによって、グループのプリミティブの近接度から、グループを新しいジオメトリセットに転送する方法を説明しています。
BasicJoin Example for Join geometry node
このサンプルでは、Join SOPが複数のパーツのジオメトリをフェースとサーフェスで接続する方法を説明しています。
Join SOPは個々のパーツのジオメトリをアトリビュートを引き継いで1つのプリミティブに結合します。
NURBS、Bezier、メッシュのサーフェスをJoin SOPで使用します。
ポリゴンはJoin SOPでは機能しません。
LsystemBuilding Example for L-System geometry node
このサンプルは、L-System SOPを使って窓のあるビルを生成する方法を説明しています。
MagnetBubbles Example for Magnet geometry node
このサンプルではMagnet SOPでジオメトリを変形する方法を説明しています。
Magnet SOPの影響力をメタボールの大きさに設定しています。その影響力は、サーフェスとメタボールの中心との距離に基づいて変形します。
このサンプルでは、平面のサーフェス上を跳ねて移動するパーティクルにメタボールを追加しています。そのサーフェスとメタボールが交差した箇所が泡のように変形します。
MagnetDistortion Example for Magnet geometry node
このサンプルでは、Magnet SOPの色々な使い方を説明しています。 Magnet SOPを使ってポイントの位置・カラー・法線・Velocityに影響を与えることができます。
MetaExpression Example for Metaball geometry node
このサンプルでは、Attribute Create SOPのmetaExpressionを使ってメタボールを色々な方法でくっつける方法を説明しています。
このサンプルでは、Particle SOPを使って、ひらひらと舞う葉っぱのシミュレーションの作成方法を説明しています。
また、Point SOPでポイント法線を修正することで、パーティクルの速度と方向に影響を与える方法を説明しています。 パーティクルとは実際には空間内のポイントなので、パーティクルのアトリビュートを制御するにはPoint SOPを使用するのが効果的な方法です。
再生ボタンを押してシミュレーションを確認してください。
このサンプルでは、Particle SOPを使って指定したパーティクルのデフォルトサイズを設定する方法を説明しています。
単純なグリッドを使って風で流されて行くパーティクルの動的シミュレーションを作成することができます。 パーティクルがグリッドから離れるほど、パーティクルがゆっくりと消えていきます。
このサンプルでは、パーティクルのソースにグリッドを使い、MetaballとForce SOPを組み合わせてParticle SOPを使うことで物理アニメーションを作成しています。
メタボールの船が航跡沿いからパーティクルを外側に弾き出しながら突き進んで行きます。 Force SOPを使うことでパーティクルが船に反応するようになっています。
アニメーションを再生して全体の効果を確認してください。
AimPointNormals Example for Point geometry node
このサンプルでは、Point SOPを使ってポイント法線の方向をパスに沿わせる方法を説明しています。 これによって、ジオメトリをポイントにコピーした時にジオメトリの向きを制御できるようになります。
Carve SOPにエクスプレッションを使用することで、フレーム毎に1ポイントの基準でポイントを螺旋に沿って抽出しています。 円錐を抽出したポイントに連続でコピーすることで、パスに沿ってアニメーションします。
PointNormals Example for Point geometry node
このサンプルでは、Point SOPを使って法線をジオメトリに追加する方法を説明しています。
また、ポイント法線をコピーしたジオメトリの向きとシェーダの外観に影響を与える方法も説明してます。
BridgeCurvesandPrims Example for Poly Bridge geometry node
これには、Bridge SOPの使用方法を説明したサンプルが2つ入っています。
最初のサンプルでは、カーブをNURBSに投影して、そのカーブでトリムしたNURBSにBridge SOPを使用する方法を説明しています。2番目のサンプルでは、2つに離れたプリミティブにBridge SOPを使用する方法を説明しています。
再生ボタンを押してBridge_ Two_Carvesオブジェクトのアニメーションを確認してください。
PolyPatchDNA Example for PolyPatch geometry node
このサンプルでは、Poly Patch SOPを使ってプロシージャルに複雑なモデルを作成する方法を説明しています。
ここではDNAモデルを作成しています。
BasicRail Example for Rails geometry node
このサンプルでは、Rail SOPで単純なカーブを指定して、そのカーブに基づいてサーフェスを作成しています。
単にSOPのパラメータを変えるだけで、色々なサーフェスを作成することができます。 最終的にはカーブが消えてサーフェスが残ります。
BasicRefine Example for Refine geometry node
このサンプルでは、Refine SOPを使って、たくさんのタイプのサーフェスからディテールを追加・削除する方法をいくつか説明しています。
DoorWithPolkaDots Example for Scatter geometry node
このサンプルでは、入力ジオメトリを再修正したり壊すことでトポロジーが変わってしまっても、整合性を保つようにポイントをばら撒くScatter SOPの使い方を説明しています。 これは、テクスチャ空間にポイントをばら撒くオプションで実現しています。
SpikyDeformingTorus Example for Scatter geometry node
このサンプルでは、Scatter SOPとAttribute Interpolate SOPを使用して、ジオメトリが変形しても、ばら撒かれたポイントが整合性を保つように簡単に調整する方法を説明しています。
SpottedSoccerBalls Example for Scatter geometry node
このサンプルでは、Scatter SOPを使用して、別々の破片が追加または削除されても、整合性を保つようにポイントをばら撒く方法を説明しています。 これは、プリミティブ毎に独自の乱数シードを使用するオプションで実現しています。
SkinBasic Example for Skin geometry node
このサンプルでは、1つの入力の円を複数コピーして配置した円や、2つのジオメトリタイプが違う円の間を通過するサーフェスをSkin SOPで作成する方法を説明しています。
SkinShip Example for Skin geometry node
このサンプルでは、宇宙船の作成でSkin SOPを使用する方法を説明しています。
最初にCurve SOPでカーブを作成します。 次に、Skin SOPで個々のカーブを指定してサーフェスを作成します。
SkinSurfaceCopies Example for Skin geometry node
このサンプルでは、Skin SOPを使って新しくサーフェスを作成する方法を説明しています。
ここでは、トーラスからサーフェスを抽出し、それを複数コピーして、それらのサーフェスを通過するスキンを作成しています。
このサンプルでは、Spring SOPで動的な髪の毛を作成する方法を説明しています。
ラインを球のポイント上にコピーして、それらをソースとしてSpring SOPに接続しています。 そして、Metaball SOPとForce SOPを髪の毛のモーションエフェクトとして接続しています。
Chainmail Example for Triangulate 2D geometry node
このサンプルでは、鎖かたびらの環を作成する新しいTriangulate2D SOPの高度な使い方を説明しています。
UnpackWithStyle Example for Unpack geometry node
このサンプルでは、アンパックと同時にスタイルシート情報を評価することができるUnpack SOPの機能について説明しています。 Nested Packed Primitiveでは、スタイル情報を維持しつつも部分的にアンパックできることを説明しています。 このサンプルでは、Python SOPを使って、プリミティブ単位でスタイルシートから情報を抽出する方法も説明しています。
volumemerge Example for Volume Merge geometry node
このサンプルでは、Volume Merge SOPで複数のインスタンス化したボリュームを1台のカメラの視界領域のボリュームに平坦化する方法を説明しています。
barycenter Example for Volume Reduce geometry node
このサンプルでは、Volume Reduce SOPで3Dオブジェクトの重心を計算する方法を説明しています。
ModulusTransform Example for Transform geometry node
このサンプルでは、Transform SOP、Group SOP、剰余演算(%)を使って、周期的なアニメーションを作成する方法を説明しています。
Fuzzy Logic Obstacle Avoidance Example Example for Fuzzy Defuzz VOP node
このサンプルでは、Fuzzy Logicコントローラを使用して実装されたエージェントの障害物回避とパスへの追従を説明しています。
RaytraceVopShader Example for Ray Trace VOP node
このサンプルでは、VOP VEXネットワークを使って、単純なレイトレースシェーダについて説明しています。 シェーダプロパティを修正するには、マテリアル内にPropertiesシェーダを作成して、Outputシェーダノードに接続します。 そして、レンダリングパラメータをPropertiesノードに追加します。 例えば、反射の数を制御するには、reflect limitパラメータを追加します。
See also |