RandomNumberGenerator
A class for generating pseudo-random numbers.
Description
RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses PCG32.
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
int | seed | -6398989897141750821 |
Methods
float | randf ( ) |
float | randf_range ( float from, float to ) |
float | randfn ( float mean=0.0, float deviation=1.0 ) |
int | randi ( ) |
int | randi_range ( int from, int to ) |
void | randomize ( ) |
Property Descriptions
int seed
Default | -6398989897141750821 |
Setter | set_seed(value) |
Getter | get_seed() |
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.
Method Descriptions
float randf ( )
Generates a pseudo-random float between 0.0
and 1.0
(inclusive).
float randf_range ( float from, float to )
Generates a pseudo-random float between from
and to
(inclusive).
float randfn ( float mean=0.0, float deviation=1.0 )
Generates a normally-distributed pseudo-random number, using Box-Muller transform with the specified mean
and a standard deviation
. This is also called Gaussian distribution.
int randi ( )
Generates a pseudo-random 32-bit unsigned integer between 0
and 4294967295
(inclusive).
int randi_range ( int from, int to )
Generates a pseudo-random 32-bit signed integer between from
and to
(inclusive).
void randomize ( )
Setups a time-based seed to generator.
© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_randomnumbergenerator.html