跳转到内容

rand

float  rand(float seed)

vector2  rand(float seed)

vector  rand(float seed)

vector4  rand(float seed)

float  rand(float seed, float seed2)

vector2  rand(float seed, float seed2)

vector  rand(float seed, float seed2)

vector4  rand(float seed, float seed2)

float  rand(vector2 seed)

vector2  rand(vector2 seed)

vector  rand(vector2 seed)

vector4  rand(vector2 seed)

float  rand(vector seed)

vector2  rand(vector seed)

vector  rand(vector seed)

vector4  rand(vector seed)

float  rand(vector4 seed)

vector2  rand(vector4 seed)

vector  rand(vector4 seed)

vector4  rand(vector4 seed)

基于提供的种子值生成随机数。生成的数字范围在0到1之间,具体来说是半开区间[0, 1)。相同的种子会产生相同的随机数,因此要获得不同的随机数需要改变种子值。

需要注意的是,即使种子值发生最微小的变化,也会产生完全不同的随机数。因此在不同操作系统或编译器上可能会产生不同的结果。

如果返回值是vector2、vector或vector4类型,每个分量都会是不同的随机数。例如以下代码:

vector pos = 1;
float seed = 0;
pos *= rand(seed);

pos.x.y.z分量将会获得不同的值。如果需要均匀缩放,请使用float()类型转换:

vector pos = 1;
float seed = 0;
pos *= float(rand(seed));