Random Range ノード
説明
入力 Min で定義される最小値と入力 Max で定義される最大値の間の範囲にある入力 Seed に基づいた、疑似乱数値を返します。
入力 Seed の値が同じ場合は出力値も必ず同じになりますが、出力値自体はランダムであるように見えます。UV 入力に基づいて乱数を生成するため入力 Seed は Vector 2 値ですが、ほとんどの場合は Vector 1 の入力で事足ります。
ポート
Name | Direction | タイプ | 説明 |
---|---|---|---|
Seed | 入力 | Vector 2 | 生成に使用するシード値 |
Min | 入力 | Vector 1 | 最小値 |
Max | 入力 | Vector 1 | 最大値 |
Out | 出力 | Vector 1 | 出力値 |
生成されるコードの例
以下のサンプルコードは、このノードの出力の一例を示したものです。
void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out)
{
float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233)))*43758.5453);
Out = lerp(Min, Max, randomno);
}