【问题标题】:Seed generated 3d points in space for space simulation种子在空间中生成 3d 点以进行空间模拟
【发布时间】:2021-06-05 02:18:08
【问题描述】:

我有兴趣在 3d 空间中生成一个使用基于种子的随机点的星系统,这样如果渲染点移动,空间中的点将保持与全局原点的相对位置,从而有效地产生幻觉一个预先播种的宇宙。

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

使用 3d 噪声之类的东西来降低密度也是一种选择,但我怀疑如果算法只是在 3d 空间中找到最亮的峰值,而您希望在一个区域中出现多个潜在峰值,则不会遇到创建单点的核心问题。

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

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

研究:

【问题讨论】:

    标签: c# unity3d procedural-generation


    【解决方案1】:

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

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

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

    我对“细胞”重复了这个过程,然后又对区域内的“星星”重复了这个过程

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-28
      • 2016-07-25
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多