📜  unity random - C# (1)

📅  最后修改于: 2023-12-03 15:05:44.834000             🧑  作者: Mango

Unity Random - C#

Unity Random是Unity3D引擎中内置的一个随机数生成器。在游戏开发中,经常会用到随机数,比如生成随机地形、敌人的出现位置或是角色属性等等。Unity Random提供了7个不同的函数,以满足不同的需求。

Random.Range()

Random.Range()函数可以生成一个整数或浮点数随机数,范围在一个最小值和最大值之间。例如,如果想要生成一个1到10之间的整数随机数,可以使用以下代码:

int randomNum = Random.Range(1, 11);

如果想要生成一个0到1之间的浮点数随机数,可以使用以下代码:

float randomNum = Random.Range(0f, 1f);
Random.value

Random.value函数可以返回一个0到1之间的浮点数随机数。例如,如果想要随机选择一个0到1之间的浮点数,可以使用以下代码:

float randomNum = Random.value;
Random.Range(int, int, int[])

Random.Range(int, int, int[])函数可以在指定一组整数中,生成一个不重复的随机数。其中第三个参数是一个整数数组,指定了允许生成的随机数列表。例如,如果想要在1、3、5、7、9这几个数字中生成一个随机数,可以使用以下代码:

int[] nums = {1, 3, 5, 7, 9};
int randomNum = Random.Range(0, nums.Length, nums);
Random.RandomRangeSeeded()

Random.RandomRangeSeeded()函数可以生成特定序列的随机数。这个序列是通过特定的种子值计算出来的,如果种子值相同,产生的随机序列也一定相同。例如,如果需要在不同的机器上生成相同的随机数序列,可以使用以下代码:

int seed = 100;
Random.InitState(seed);
int randomNum = Random.Range(0, 10);
Random.insideUnitCircle

Random.insideUnitCircle函数可以生成一个在单位圆内部的随机向量。例如,如果想要在一个圆形区域内生成一个随机点的位置,可以使用以下代码:

Vector2 randomPos = Random.insideUnitCircle * radius;
Random.insideUnitSphere

Random.insideUnitSphere函数可以生成一个在单位球内部的随机向量。例如,如果想要在一个球形区域内生成一个随机点的位置,可以使用以下代码:

Vector3 randomPos = Random.insideUnitSphere * radius;
Random.rotation

Random.rotation函数可以生成一个随机旋转角度。例如,如果想要随机生成一个物体的旋转角度,可以使用以下代码:

Quaternion randomRotation = Random.rotation;