Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。

5年前关闭。



Improve this question





我目前正在使用Perlin Noise开发2D世界生成器(侧面滚动器),并且希望能够将稀有矿石散布在整个地形中-但我不确定如何做到。

我想做的是在遍历2d数组并生成世界时,收集所有数字(或数字范围)的列表并将其添加到数组中-然后确定每个数字/数字范围的稀有性,然后放这样的矿石...

这似乎很慢,必须有一个更快,更好的方法。在那儿?

编辑:表达我的问题的另一种方式是,《我的世界》如何精确放置矿石,以及使用Perlin噪声在2d(从侧面)游戏中做到这一点的最佳方法是什么。

最佳答案

您可以根据随机概率放置块。但是,如果使用稀有矿石,这将意味着大片区域不会有块状物,而其他一些地方则相对富含稀有矿石。更好的算法可能是:建立基本区域,确定可接受的密度(例如:每个区域从一到三个稀疏块),然后为每个区域的稀疏块计算随机位置。

例如:您确定在每1000x1000区域中有1-3个罕见的块是可以接受的。然后,对于这些区域中的每个区域,将稀疏块的数量计算为1+floor(random*3)(其中0<random<1),并为所得稀疏块计算随机坐标。您还可以添加约束,例如稀有块之间的最小距离,这对于随机噪声发生器是不可能的:如果一个稀有块将被放置得过于靠近另一个稀有块,则只需重新计算其位置即可。

关于generator - 确定噪声发生器的稀有值? (又是我的世界如何放置矿石),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12275170/

10-09 15:47