On this page | |
Since | 18.5 |
概要 ¶
Attribute Adjust Integer SOPにはinteger
型のアトリビュート値を可変させるためのインターフェースが備わっていて、わざわざVOPネットワークを作成したりVEXコードを記述するといった手間を減らすことができます。
このノードは、均一値またはエレメント毎に異なる値でアトリビュート値を修正することができます。
完全にランダムな値、または、空間的に整合性の取れたノイズパターンからサンプリングされた値で可変値を生成することができます。
このノードは、例えばアトリビュート値を他のアトリビュート値とブレンドさせたり、アトリビュート値を特定の範囲内に制限するといったポスト処理をすることもできます。 さらに、単位に関してフレームと時間、度とラジアンを変換する機能が備わっています。
Attribute Adjust Integerノードの背後にあるプロセスの基本的な概略図を以下のグラフに示します:
パラメータ ¶
Group
修正を適用する入力ジオメトリのサブセット。ここを空っぽのままにすると、すべてのエレメントが影響を受けます。
Attribute Name
作成または修正するアトリビュートの名前。 指定した名前のアトリビュートが存在しなかった場合、選択された Attribute Class にそのアトリビュートが追加されます。
Attribute Class
( Attribute Name で指定された)目的のアトリビュートのエレメントタイプ。
Adjust Value
入力のアトリビュート値と合成される値を生成します。 このオプションを無効にすると、ポスト処理のみが実行されるようになります。
Operation
生成された Adjust Value の値と入力のアトリビュート値を合成する方法を指定します。 ターゲットアトリビュートが入力ジオメトリ上に存在しなかった場合、どのオペレーションも同じ効果になります。
Set Initial
アトリビュートが必ず生成されるようにしたいものの、その既存のアトリビュート値は上書きしたくない場合には、このオペレーションを使用します。 ターゲットアトリビュートが既に存在していれば、そのアトリビュート値はそのままになります。
Set Always
生成された Adjust Value で既存のアトリビュート値を上書きしたい場合には、このオペレーションを使用します。
Add
生成された Adjust Value が既存のアトリビュート値に加算されます。
Subtract
生成された Adjust Value が既存のアトリビュート値から減算されます。
Multiply
生成された Adjust Value が既存のアトリビュート値に乗算されます。
Minimum
既存のアトリビュート値と Adjust Value のうち小さい方の値が出力されます。
Maximum
既存のアトリビュート値と Adjust Value のうち大きい方の値が出力されます。
Pattern Type
Adjust Value を生成する方法を指定します。 Constant は、すべてのエレメントに対して同じ値を使用します。 Random と Noise は、ジオメトリのエレメント毎に可変する値を生成します。これらの場合では、その可変値は定義された範囲内に収まったり、特定の値のリストから選択されます。 他にも、すべてのエレメントの Adjust Value として使用するアトリビュートを指定することもできます。
Constant
Adjust Value がジオメトリ内のすべてのエレメントで同じになります。 これを使用することで、すべてのエレメントに対して単純な算術処理を行なうことができます。 例えば、すべてのエレメントの値をオフセットさせることができます。
Random
Adjust Value が完全にランダムにサンプリングされます。 Adjust Value は、定義された範囲内に収めたり、特定の値のリストから選択させることができます。
Noise
Adjust Value は、Attribute Noise SOPによる整合性の取れたノイズフィールドに基づいてサンプリングされます。 Adjust Value は、定義された範囲内に収めたり、特定の値のリストから選択させることができます。
Attribute
Attribute Name で指定されたアトリビュートの値が Adjust Value として使用されます。
Range Values
選択された範囲内で Adjust Value が生成されます。 このパラメータは、この範囲を指定する方法を制御します。 この範囲には、特定の値のリストを指定することができます。他にも Specific Values を選択することで複数の範囲を指定することができます。これは特定のトリガーフレームを表現したアトリビュート値を作成するのに役立ちます。
Min/Max
Min Value から Max Value までのすべての値が範囲に含まれます。
Min Value |
Max Value |
カスタム範囲 |
---|---|---|
0 |
1 |
0 to 1 |
5 |
10 |
5 to 10 |
-5 |
7 |
-5 to 7 |
Min + Range Length
Min Value から Min Value + Range Length までのすべての値が範囲に含まれます。
例えば、 Min Value が2
で、 Range Length が5
であれば、その範囲の下限と上限はそれぞれ2
と7
になります。
Min Value |
Range Length |
カスタム範囲 |
---|---|---|
0 |
1 |
0 to 1 |
5 |
10 |
5 to 15 |
-5 |
7 |
-5 to 2 |
Middle ± Range Length
Middle Value - Range Length / 2 から Middle Value + Range Length / 2 までのすべての値が範囲に含まれます。
例えば、 Middle Value が8
で、 Range Length が4
であれば、その範囲の下限と上限はそれぞれ6
と10
になります。
この範囲は整数値で丸められます。
Middle Value |
Range Length |
カスタム範囲 |
---|---|---|
0 |
2 |
-1 to 1 |
5 |
10 |
0 to 10 |
-5 |
7 |
-8 to -2 |
Specific Values
Adjust Value は、リストした個々の値のどれかになります。 各値が選択される確率は、 Weight に比例します。 Pattern Type は、各エレメントに対して Adjust Value をサンプリングする方法を制御します。
Constant Value
ジオメトリ内のすべてのエレメントの Adjust Value をこの値に設定します。
Min Value
カスタム範囲の下限を設定します。
Max Value
カスタム範囲の上限を設定します。
Middle Value
この値がカスタム範囲の中央値になります。
Range Length
カスタム範囲の長さを設定します。 つまり、範囲の上限と下限の差がこのパラメータの値と同じになります。
Value Distribution
生成された Adjust Value の分布を制御することができます。
Uniform
生成された Adjust Value がカスタム範囲内で均一に分布されます。
パターンタイプ別に0
から3
の範囲で分布されたエレメントの結果:
Uniform with Remapping
生成された Adjust Value が Remap Ramp を介して最終的な __Adjust Value__が生成されます。 このオプションを使用することで、 Adjust Value の値をずらしたり、指定した範囲内に隙間を作成することができます。
パターンタイプ別に0
から3
の範囲で分布されたエレメントに対して、その範囲の下限の方へ値をずらせた結果:
Uniform with Outliers
ある割合の数のエレメントが指定された範囲を越えて広がるようにすることができます。 Outlier Attribute パラメータの隣にあるOutlier Visualizerボタンを使用することで、どのエレメントがOutlier(外れ値)として選択されているのか確認することができます。 Outlier Range を使って選択された範囲を加算または乗算することで、範囲の下限と上限を広げることができます。
Outliersを使用して範囲の下限と上限を拡張:
Note
Uniform with Remapping を使用すれば同様の値制御を行なうことができます。 しかし、 Uniform with Outliers は、適切な範囲から外れるポイントの割合を正確に制御することができます。
Remap Ramp
均一に分布した中間値は、このランプを介して Adjust Value が取得されます。 このランプの縦軸がカスタム範囲です。
Outlier Percent
Outlier(外れ値)の数を制御します。
15
の値だと、すべてのエレメントの15%の Adjust Value がカスタム範囲から外れるようになります。
Outlier Attribute
エレメントがOutlierであるのか(1
で示されます)そうでないのか(0
で示されます)を記録した整数アトリビュート。
Outlier Range
Outlier範囲がカスタム範囲から外れる大きさを制御します。 この範囲を加算または乗算することでカスタム範囲の上限や下限を広げることができます。
Additive
Outlier Range がカスタム範囲の上限や下限に加算されます。
-2
から2
のカスタム範囲に対して Outlier Range を3
に設定して分布されたエレメント:
Multiplicative
Outlier Range がカスタム範囲の上限/下限に乗算されます。
-2
to 2
のカスタム範囲に対して Outlier Range を3
に設定して分布されたエレメント:
Below Min Value
カスタム範囲の下限のみを広げます。
-2
to 2
のカスタム範囲に対して Outlier Range を3
に設定して分布されたエレメント:
Both
カスタム範囲の下限と上限の両方を広げます。
-2
to 2
のカスタム範囲に対して Outlier Range を3
に設定して分布されたエレメント:
Seed
Outlierのランダム選択を制御します。 Outlierの選択が気に入らなければ Seed の値を変更してください。
Enable Stepping
このチェックボックスを有効にすると、 求まった Adjust Value が Step Size に離散化されます。
例えば、カスタム範囲の下限と上限がそれぞれ1
と9
で、 Step Size が2
に設定されている場合、 Adjust Value は1, 3, 5, 7, 9
のどれかになります。
Step Size
生成される Adjust Value 間の間隔を制御します。
Number of Values
Adjust Value の候補となる値のセット数を制御します。 各セットには、単一値または数値のリストを指定することができます。 各セットからそれぞれAdjust Valueが選択される確率は Weight に比例します。
Value
そのままのAdjust Valueを設定します。
Value Type
Constant モードでは、セットには Value のみが入ります。 List of Values モードでは、 Value List で値のセットを定義します。
Weight
指定されたAdjust Valueを指定したウェイトでサンプリングします。 Weight 値が低い値ほど選択される確率が下がります。 すべてのウェイトが同じであれば、各Adjust Valueは同じ確率で選択されます。
Value List
独立した範囲シーケンスまたは数値を使ったリストでAdjust Valueを設定します。
このリストは、スペース、カンマ、セミコロンで区切ることができます。
min-max:stepsize
の構文を使用することができます。
この構文は、stepsize
の間隔でmin
からmax
までの値に展開します。
stepsize
を指定しなかった場合はデフォルト値の1
が使用されます。
Note
展開された各値には同じ Weight が割り当てられます。
Value List |
展開された値 |
---|---|
5 |
5 |
3;5 7 |
3, 5, 7 |
1-3 |
1, 2, 3 |
0-9:2 |
0, 2, 4, 6, 8 |
0-9:3 5; 10-16:2 |
0, 3, 6, 9, 5, 10, 12, 14, 16 |
Randomization By
疑似乱数ジェネレータがエレメント別にAdjust Valueを生成する方法を指定します。 Element Number は、 Attribute Class に応じてポイント番号、プリミティブ番号、頂点番号のどれかを使用します。 入力ジオメトリのトポロジーが変わるとエレメント番号がずれて、異なるAdjust Valueが使用されてしまうことが起こり得ます。 Custom Attribute では整数アトリビュートを指定することができるので、エレメント順に依存することなく乱数を生成することができます。
Tip
パーティクルシミュレーションの場合、id
アトリビュートを使用してパーティクルのlifetime
に同じ乱数が適用されています。
Custom Attribute を使用することで、複数のエレメントに同じ乱数を適用することができます。
Custom Attribute
乱数生成のシードに使用するアトリビュート。
Seed
生成されるすべてのランダム値はこの値に依存します。 現在のシードで生成されたサンプルが気に入らないのであれば異なる値を選択してください。
Noise Type
生成するノイズタイプです。アルゴリズムを変更すると異なる特性のノイズが生成されます。
Fast
デフォルト。より高速でもっと面白いPerlinノイズのバリエーションです。
Sparse Convolution
Sparse Convolutionノイズは、Worleyノイズに似ています。グリッドポイントでの乱れはありません。
Alligator
でこぼこの多い出力を作成します。ワニ革に似ているということで、この名前になりました。
Perlin
視覚的ディテールが同じサイズのノイズです。 Wikipedia を参照してください。
Perlin Flow
回転するPerlinノイズのように時間が経過しても安定したノイズ。これは、時間の経過とともに滑らかに渦巻いて流れるようなノイズを作成するのに役立ちます。 以下の Flow Rotation パラメータを使用して回転を制御します。
Simplex
Perlinノイズに似たノイズですが、そのノイズラティスはグリッドではなく四面体メッシュ上に乗っています。 これによって、Perlinノイズでよく見受けられるグリッドパターンを回避することができます。
Worley Cellular F1
植物の細胞や海の波、ハチの巣、クレーターのある景色などに似た細胞特性を作成します。 Wikipedia を参照してください。
Worley Cellular F2-F1
Worleyノイズのバリエーションで、鈍化させたり、角を付けたりする特性を作成します。
Manhattan Cellular F1
マンハッタン距離の計算法を使用したWorley F1ノイズのバリエーション。独特なルックのノイズが必要な時に役立ちます。
Manhattan Cellular F2-F1
マンハッタン距離の計算法を使用したWorley F2-F1ノイズのバリエーション。独特なルックのノイズが必要な時に役立ちます。
Chebyshev Cellular F1
チェビシェフ距離の計算法を使用したWorley F1ノイズのバリエーション。独特なルックのノイズが必要な時に役立ちます。
Chebyshev Cellular F2-F1
チェビシェフ距離の計算法を使用したWorley F2-F1ノイズのバリエーション。独特なルックのノイズが必要な時に役立ちます。
Location Attribute
このノードは、入力ジオメトリ上のこのベクトルアトリビュートで指定された位置におけるノイズフィールドをサンプリングすることで、各エレメントの値を生成します。
これがP
(デフォルトはポイントポジション)の場合、ジオメトリのポイントはノイズを介して泳いだような感じになります。
ノイズをポイントに“接着”させたいのであれば、初期のポイントポジションをrest
アトリビュートにコピーして、代わりにここではそのアトリビュートを使用すると良いでしょう。
Element Size
ノイズ内のエレメントの均一スケール。
Per Componentボタンをクリックすることで軸別に Element Size をスケールすることができます。
Element Scale
Per Componentボタンを有効にすると、これは軸別に Element Size をスケールすることができます。
Offset
評価したノイズフィールドをオフセット(各軸に追加されます)します。 通常のノイズ効果が既に求まったものの、別のルックで別の値セットが必要になった場合、このオフセットを変えて試行錯誤することができます。
ここに$T * 0.25
といったエクスプレッションを使用してノイズをアニメーションさせることができます。
これは Animate Noise よりも計算が速いですが、ノイズフィールド全体が視覚的に“パン”したような効果になるので好みが分かれます。
Per Componentボタンをクリックすることで軸別にオフセットを追加することができます。
Offset
Per Componentボタンを有効にすると、これは軸別にオフセットを追加することができます。
Use VEXpression
このチェックボックスを有効にしてVEXpressionを使用することで、任意のアトリビュート値に基づいてパラメータをオーバーライドすることができます。
Animate Noise
生成されるノイズを時間で変化させます。一部のノイズタイプはこの機能に対応していません。
この方法で数百万ものエレメント数を持つジオメトリにアニメーションを適用するのは、 Offset パラメータで$T * 0.25
といったエクスプレッションを使用してノイズフィールド全体を“パン”するよりも計算が遅いです。
Pulse Duration
Animated Noise が有効な時、これはノイズパターンの変化レートを制御します。
Fractalは、基本ノイズタイプの出力にさらにフラクタルノイズを足すことができます。
Fractal Type
None
基本ノイズに別のノイズを追加しません
Standard
基本ノイズに擬似ランダムノイズを追加します。
Terrain
“Standard”と同様にノイズを追加しますが、窪みの部分のノイズを弱くします。 山のような地形を生成するのに便利です。
Hybrid
“Terrain”と同様ですが、窪みの部分をもっと鮮明にします。
以下のパラメータは、Fractalタイプが None 以外の時に利用可能です。
Max Octaves
基本ノイズの出力に追加するゆがみの繰り返し回数です。 追加する繰り返しが多くなると、よりきめ細かい出力になります。 なお、出力では、このパラメータよりオクターブが少なくなることがあります(つまりパラメータを大きくすると、最終的にはディテールの追加が停止する)。 これは、出力にディテールを追加するスペースがなくなったときに、ノードは最終的に停止するからです。
Lacunarity
基本出力に追加されるフラクタルノイズの繰り返し間での振動数の増分です。なお、マイナス値を使用することができます。
Roughness
基本出力に追加されるフラクタルノイズの繰り返し間でのスケールの増分です。 値を大きくすると、出力に追加される“ジャギー”が大きくなります。Roughnessにはマイナス値を使用することができます。
ノイズ空間を歪ませることで基本ノイズに“フラクタルさ”を足すためのメソッドが2つあり、それが Lattice Warp と Gradient Warp です。
Lattice Warp
標準ノイズに“繊維っぽさ”または“ワイヤーっぽさ”を追加します。
Lattice Warp Size
生成されるノイズの基本特徴サイズを制御します。この値が各軸に適用されます。
Gradient Warp
ノイズ出力の山または谷を広げます。
Accumulate Lattice Warp
追加されるフラクタルノイズの反復(オクターブ)毎に歪みを累積します。 これは、画像で使用すると面白い汚れた効果を追加することができ、地形で使用すると面白いランドマークを追加することができます。
Accumulate Gradient Warp
追加されるフラクタルノイズの反復(オクターブ)毎に歪みを累積します。
Flow Rotation
Noise Type が“Flow”の時の“swirl”(渦巻き)の回転量を0
から1
で指定します。
このパラメータには浮動小数点を指定するので、$F
を使った場合、すべての整数値が同じ値として受け取られて一回転を表現することになるのでアニメーションさせることができません。代わりに、$FF / 100
のようなエクスプレッションを試してください。
Distortion
Distortion が1
より大きい場合はノイズ値が減少する方向で、 Distortion が1
未満の場合はノイズ値が増加する方向で、ノイズが歪められる量を制御します。
Worleyノイズのディテールがノイズパターンに追加されると、この歪み効果は大幅に減少します。
Distortionの値が1
:
Distortionの値が-1
:
Stretch
各方向にノイズを伸ばす量。 Element Size の代わりにこれを使用するメリットは、一部のディテールは引き伸ばされずにそのまま維持され、引き伸ばされたノイズパターンはより自然な感じに見えることです。
X軸方向で Element Scale が3
(左)と Stretch が3
(右)の比較:
Droop
ノイズパターンが指定したDroop方向に曲がったり垂れ下がったりするように、生成されたノイズを歪めます。
Noise pattern without (left) and with droop applied (right):
Droop Direction
ノイズが歪められる方向。
Enable Post-Process
出力されたアトリビュート値をさらに細かく調整するためのコントロールセットを表示します。 アトリビュートに調整が加えられた後で、設定されたすべてのポスト処理による修正が実行されます。
Minimum
このチェックボックスを有効にすると、出力されるアトリビュート値は、指定した Minimum にクランプされます。 このパラメータの右側にあるメニューを使用することで、単位変換でクランプすることができます。
Maximum
このチェックボックスを有効にすると、出力されるアトリビュート値は、指定した Maximum にクランプされます。 このパラメータの右側にあるメニューを使用することで、単位変換でクランプすることができます。
Default Value
このチェックボックスを有効にすると、そのターゲットアトリビュートのデフォルト値プロパティが上書きされます。 このノードの出力をそのアトリビュートが見つからない他のジオメトリにマージした時に、新しい値がこの Default Value に初期化されることが保証されます。
See also |