[Math]カテゴリのほとんどのノードは非常に単純です。ほぼすべてのノードで、スカラや 3D ベクトル(カラーは除く)などほとんどのデータ タイプがサポートされています(「ICE でカラーを操作する」を参照)。ただし、一部の計算ノードについては、詳しい説明が必要です。
[Multiply]ノードは、さまざまなデータ タイプを乗算する目的で使用できます。このノードでは複数の入力を受け入れますが、同じデータ タイプでなければなりません。また、出力は、常に入力と同じデータ タイプの値になります。たとえば、複数の整数の積は整数になり、スカラの積はスカラになります。
[Multiply]ノードは、ベクトル同士を n 次元で乗算する目的で使用することもできます。この場合、乗算処理はコンポーネントごとに行われるため、不均一なスケーリングに便利です。このような処理を目的として、[Dot Product]および[Cross Product]という個別のノードが用意されています。
[Multiply by Scalar]を使用して振幅をコントロールする
[Multiply by Scalar]ノードは、非常に便利です。振幅のようなスライダが必要な場所で使用できます。[Multiply by Scalar]は、ほぼすべてのデータ タイプ(スカラや 3D ベクトルを含む)を乗算するのに使用できます。
[Multiply Vector by Matrix]ノードでは、通常の方法で、nxn マトリクスによるベクトルの n 次元の乗算を実行できます。乗算処理は、ベクトルが、左側が行ベクトルで右側が行列であるかのように実行されます。
[Multiply Vector by Matrix]ノードは、3D ベクトルを 4 x 4 マトリクスで乗算したり、4D ベクトルを3 x 3 マトリクスで乗算する目的で使用することもできます。このような場合は、同次座標を前提とした特別な乗算規則が使用されます。「ジオメトリ クエリを使用する」を参照してください。
[Random Value]ノードと[Turbulence]ノードは、ランダマイズされた変化を値に生成するのに使用できます。
[Random Value]ノードは、平均値、変位、および分配タイプに基づいて、擬似ランダム値を生成します。このノードは、スカラ、ベクトル、マトリクスなど、さまざまなデータ タイプの値を生成できます。詳細については、「Random Value(値のランダマイズ)」(「ICE リファレンス」)を参照してください。
生成された数のシーケンスは、次の 3 つの要素に依存します。
速度。2 つの[Random Value]ノードでさまざまなランダム値のセットを生成する必要がある場合は、これらをさまざまなシード値に割り当てます。
ID。さまざまなパーティクルがさまざまな値に割り当てられるようにする必要がある場合は、[Get Data]ノードを使用して、パーティクルの ID を取得し、それを[ID]ポートに接続します。コンポーネントの他のタイプでは、それらのインデックスを[ID]ポートに接続できます(「ID とインデックスを操作する」を参照)。
必要に応じて、他の属性を[ID]ポートに接続できます。たとえば、パーティクルの存在時間を[ID]ポートに接続した場合は([Round]ノードはスカラから整数に変換されるために自動的に追加されます)、同じ存在時間のすべてのパーティクルが同じ値に割り当てられます。
[Random Value]ノードに加えて、さまざまな方法でランダマイズしたり、特定のものをランダマイズするために特別に設計された多くのコンパウンドが用意されています。たとえば、[Randomize Vector by Cone]は、円錐または球シェイプのベクトルを、ボックス配分する代わりに均等に配分します。また、[Randomize Value by Range]を使用して、平均および変位の代わりに最小値および最大値を指定できます。Preset Manager のクイック フィルタ ボックスに「rand」と入力して、さまざまなランダマイズ コンパウンドを検索することができます。
[Turbulence]ノードは、空間および時間(オプション)で継続的に変化するコヒーレント ノイズ パターンを作成します。独立した値の生成に ID を使用する代わりに、エレメントの位置を使用します。値の範囲は、1.0~-1.0 です。
この図は、乱流ノイズ パターンを示します。[Turbulence]ノードは、Y のポイント位置を設定するのに使用されます。 [Space Frequency]が X と Z にそれぞれ設定されており、長く薄い波紋になっています。 |
|
[Turbulence]ノードのほかに、特殊な状況で作業できるいくつかの[Turbulize]コンパウンドが用意されています。これらのコンパウンドはすべて、Preset Manager のクイック フィルタ ボックスに「turb」と入力して検索することができます。
[FCurve]ノードを使用すると、プロファイル カーブを使用して入力(X 軸)に基づいて値(Y 軸)を出力することができます。入力ポートを[Current Frame]または[Current Time]ノードで使用している場合以外は、X 軸は必ずしも現在のフレームや時間に対応している必要はありません。
コンパウンドの F カーブ コントロールを展開するには、[Fcurve]ノードを完全に展開し、[Expose]入力アイコンを[プロファイル]パラメータにドラッグします。
[Math]/[Statistics]サブカテゴリのノードは、データ セットの個々の値に対してではなく、データ セット全体に対して機能します。たとえば、セット内のパーティクルの平均存在時間を取得することができます。