我刚刚发布了 Infinite Lands 0.9,它添加了一个 新贝塞尔曲线系统 以直接在程序设计出来的世界中生成道路和路径:

  • 在 Terrain 上连接点没有距离限制
  • 自动在周围展平
  • 提取Density Maps,以在纹理融合、对象放置或其他需求中使用它们
  • 使用 Catmull-Rom 插值或线性采样进行平滑曲线

贝塞尔曲线可以使用 A*系统,通过 Burst 优化,以在 Terrain 上找到可行的路线标记。可以标记不允许进入的区域,以让路线绕过它们(不在水下,某些山脉上);生成额外的成本地图,以使区域更昂贵穿过(湿润,靠近敌方据点,首选某些生物群落);或仅使用高度地图,偏好最小垂直移动。

在幕后,贝塞尔曲线的边界使用了 R-Tree 进行高效查找和采样。

Infinite Lands 0.9 中有很多其他改进:

  • 图重写: 从递归结构中移除。 这提高了性能,简化了调试,使得支持更复杂的图。
  • 图编辑器改进: 网格锁定,新的快捷键,清晰错误,更好的输出,和一般的易用性升级
  • 运行时世界采样: 使用新世界数据存储,在世界坐标中查询图,知道玩家恰好在哪个生物群落或数据中。
  • 新节点: 切换点的位置,旋转或缩放;使它们与地形沿线;在它们周围生成更多!
  • 还有很多其他改变!

如果有关于实现任何疑问,请尽管问。如果你喜欢自己试验,以下是连接:

资产商店 | 磁盘服文档 | Patreon