随机数种子
伪随机与随机数种子
因为计算机中的随机是伪随机(体现在多次生成n个数,每次结果都一样),随机一般要基于一些外部的输入,常见的就是根据当前时间,但是我们也可以设置基于什么条件,这个条件就是种子。
//C#随机数种子
System.Random rand = new System.Random(,);
//Unity随机数种子
Random.InitState(1);
print(Random.value);
添加随机数种子
在生成的坐标中添加Unity随机数种子(伪随机,随机数种子一样,每次生成的地图都一样,因此可以进行存档)。
Random.InitState(randomSeed);
float randomX = Random.Range(0, 10000);
float randomZ = Random.Range(0, 10000);
float y = Mathf.PerlinNoise(x * lacunarity + randomX, z * lacunarity + randomZ) * tileHeightMultiply;