如何生成带有噪点的多个3D坐标

时间:2019-07-06 23:50:28

标签: noise unreal-blueprint simplex-noise noise-generator

我目前正在尝试使用虚幻引擎蓝图中的单纯噪声插件来生成3D行星图,就像《无人深空》那样。如何生成各个行星的坐标?

我已经尝试创建3个for循环并获取特定坐标上的噪声值。当噪声值超过阈值时,将生成一个行星。这可以正常工作,但是占用大量资源,并且会将它们分组为非随机模式。 有没有更好的方法来使用噪声获取一个/多个坐标? 就像反向噪声函数一样,您可以在其中输入阈值并输出坐标?或者也许是另一种方式?

非常感谢

1 个答案:

答案 0 :(得分:0)

没有这样的事情可以直接从噪波函数中取出顶点。噪声函数会产生单个噪声值而不是顶点。

没有人的天空正在使用体素来生成关卡。

体素基本上是统一的3维网格中的单点值。

例如,在《我的世界》中,每个立方体都是一个体素。值为1的体素是曲面,值为0的每个体素是空气。

它们使用多层噪声函数生成0.0-1.0之间的浮动值。确实,这是一个非常复杂的系统,并且对于游戏来说足够快地执行是相当不错的成就。​​

可以说0.0表示没有表面,而1.0表示固体表面。

然后,他们使用诸如曲面网或行进立方体之类的东西从体素字段中提取多边形和顶点。我将研究其中一种算法。有关此主题的资源很多。

但是,与没有人的天空中的细节和比例相比,目前所有有关此主题的技术都相当慢。