Struct RandomNumberGenerator
A class for generating pseudo-random numbers.
struct RandomNumberGenerator
;
RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses url=http://www.pcg-random.org/
PCG32/url
.
Note: The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.
To generate a random float number (within a given range) based on a time-dependant seed:
var rng = RandomNumberGenerator.new() func ready(): rng.randomize() var my_random_number = rng.randf_range(-10.0, 10.0)
Properties
Name | Type | Description |
---|---|---|
seed [get, set]
|
long | The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers. Note: The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally. |
Methods
Name | Description |
---|---|
getSeed
|
|
randf
|
Generates a pseudo-random float between 0.0 and 1.0 (inclusive).
|
randfn
|
Generates a url=https://en.wikipedia.org/wiki/Normal_distribution normally-distributed/url pseudo-random number, using Box-Muller transform with the specified mean and a standard deviation . This is also called Gaussian distribution.
|
randfRange
|
Generates a pseudo-random float between from and to (inclusive).
|
randi
|
Generates a pseudo-random 32-bit unsigned integer between 0 and 4294967295 (inclusive).
|
randiRange
|
Generates a pseudo-random 32-bit signed integer between from and to (inclusive).
|
randomize
|
Setups a time-based seed to generator. |
setSeed
|