种子在 space 中为 space 模拟生成 3d 点

Seed generated 3d points in space for space simulation

我有兴趣在 3d space 中生成一个使用基于种子的随机点的恒星系统,这样如果渲染点移动,space 中的点将保持在它们的相对位置来自全球起源,有效地创造了一个预先播种宇宙的幻觉。

我已经查看了以前的解决方案和推荐的泊松球,它会逐渐生成随机位置,但对于核心目的来说并不理想,尽管我会受益于所有点之间的最小距离,这可以通过简单地捕捉来完成指向网格的点并使用随机种子根据世界 space.

来偏移它们

使用 3d 噪声之类的东西来降低密度也是一种选择,但我怀疑如果算法只是在您需要时找到 3d space 中最亮的峰值,就不会解决创建单点的核心问题一个地区可能有多个。

理想情况下,能够使用 3d 噪声控制密度将是一个好处。

最终结果将是一个系统,其中提供随机字符串填充更大的种子,该种子填充 3d 点,这些点可根据其渲染参数由 ID 引用,从而允许根据其 Vector 3 位置再次找到这些项目来自全球起源

研究:

找到解决办法: 使用玩家参考的原点和相对于网格的偏移量,您可以在 X、Y、Z 上搜索附近的“点”。

您将这些点作为键名存储在某种索引或数据库中,在我的例子中是 Vector3Int 作为字典键。

在遍历上述循环时,确保键不存在于字典中。

我对 'cells' 重复了这个过程,然后对区域内的 'stars' 重复了这个过程