Random Numbers のメソッド

seedRandom(offset, timeless=false)
返されるタイプ:なし。

引数のタイプ:offset は Number で、timeless は Boolean です。

random メソッドと gaussRandom メソッドでは、数値のシーケンスを制御するシード値が使用されます。初期設定では、レイヤーの識別子、レイヤー内のプロパティ、および現在の時刻の関数としてシード値が計算され、オフセット値は 0 です。オフセットを 0 以外の値に設定して別の乱数シーケンスを作成するには、seedRandom を呼び出します。

現在の時刻をランダムシードへの入力に使用しない場合は、timeless 引数に true を使用します。timeless 引数に true を使用すると、評価の時刻によって変わらない乱数を生成できます。

offset 値は、wiggle 関数の初期値を制御するためにも使用されます(timeless 値は使用されません)。

例えば、「不透明度」プロパティに対するこのエクスプレッションでは、時間に関係なく変化するランダムな値を不透明度値に設定しています。

  seedRandom(123456, true); 
  random()*100

この例では、100 を乗算して random メソッドから返された 0 ~ 1 の範囲の値を 0 ~ 100 の範囲の数値に変換しています。この範囲は、「不透明度」プロパティにより適した 0 ~ 100%の値を表します。

random()
返されるタイプ:Number。

0 ~ 1 の範囲の乱数を返します。

random(maxValOrArray)
返されるタイプ:Number または配列。

引数のタイプ:maxValOrArray は Number または配列です。

maxValOrArray が Number の場合、このメソッドは 0 ~ maxValOrArray の範囲の数値を返します。maxValOrArray が配列の場合は、 maxValOrArray と同じ次元で、各コンポーネントの値の範囲が 0 ~ maxValOrArray の配列を返します。

random(minValOrArray, maxValOrArray)
返されるタイプ:Number または配列。

引数のタイプ:minValOrArray および maxValOrArray は Number または配列です。

minValOrArraymaxValOrArray が Number の場合、このメソッドは minValOrArraymaxValOrArray の範囲内の数値を返します。 引数が Array の場合、このメソッドは、次元が大きい引数と同じ次元の Array を返します。各コンポーネントは、minValOrArray の対応するコンポーネント~ maxValOrArray の対応するコンポーネントの範囲内になります。 例えば、エクスプレッション random([100, 200], [300, 400]) は、最初の値が 100 ~ 300 の範囲内にあり、2 番目の値が 200 ~ 400 の範囲内にある Array を返します。 入力する 2 つの配列の次元が一致しない場合、小さい方の配列の、大きい方の次元がゼロで埋められます。

gaussRandom()
返されるタイプ:Number。

乱数を返します。結果はベルの形をしたガウス分布になります。結果の約 90%は 0 ~ 1 の範囲にあり、残りの 10%はその範囲外にあります。

gaussRandom(maxValOrArray)
返されるタイプ:Number または配列。

引数のタイプ:maxValOrArray は Number または配列です。

maxValOrArray が Number の場合は、乱数を返します。結果の約 90%は 0 ~ maxValOrArray の範囲にあり、残りの 10%はその範囲外にあります。maxValOrArray が配列の場合は、maxValOrArray と同じ次元の、乱数値の配列を返します。値の 90%は 0 ~ maxValOrArray の範囲にあり、残りの 10%はその範囲外にあります。結果はベルの形をしたガウス分布になります。

gaussRandom(minValOrArray, maxValOrArray)
返されるタイプ:Number または配列。

引数のタイプ:minValOrArray および maxValOrArray は Number または配列です。

minValOrArray および maxValOrArray が Number の場合は、乱数を返します。結果の約 90%は minValOrArraymaxValOrArray の範囲にあり、残りの 10%はその範囲外にあります。引数が配列の場合は、次元が大きい引数と同じ次元の乱数値の配列を返します。各コンポーネントで、結果の約 90%が、minValOrArray の対応するコンポーネント~ maxValOrArray の対応するコンポーネントの範囲にあり、残りの 10%はその範囲外にあります。結果はベルの形をしたガウス分布になります。

noise(valOrArray)
返されるタイプ:Number。

引数のタイプ:valOrArray は Number または配列 [2 または 3] です。

-1 ~ 1 の範囲の数値を返します。 ノイズは実際にはランダムではなく、パーリンノイズに基づいています。つまり、お互いに近い 2 つの入力値の戻り値は、同様に近い値になる傾向があります。このようなノイズは、さほど差がなく一見ランダムなように見えるシーケンスを作成できるため、自然な動作をアニメートしたい場合に便利です。例えば、rotation + 360*noise(time) のように記述します。