程序道路生成,Unity
Procedural Road Generation, Unity
我正在开发 2d 等距游戏。你在城市里开车,仅此而已。
问题是生成具有连接道路的随机地图。
我想写脚本——我想我可以——但我找不到算法本身的想法。
假设我有 100x100 地图,我想构建布尔值 table 1 是道路 0 不是道路。
到目前为止,我的解决方案是在水平和同一垂直方向上绘制随机数量的线(例如 4-8 条线)。但是这张路线图是直的。
你能分享一些想法吗?有帮助
问题太宽泛,无法简单回答。有很多复杂程度不同的方法。
但作为提示,请从不同的角度考虑问题。当然最后你想要道路,但为什么道路首先在那里?
在你的情况下它是一个城市。一个城市由城市街区组成,通常是矩形的。所以一种方法是找到一种方法来用矩形填充地图并考虑边缘道路(或仅考虑一些)。
或者您可以研究三角测量算法并使用一堆随机点对您的地图进行三角测量。然后组合一些三角形并将这些边用作道路。
甚至只使用随机游走设置,这样它就不会完全转向。
或...
...不过说真的,选项和可能的解决方案是多种多样的,并且取决于您的技能水平(以及您最终希望如何看待您的城市)。
不要搜索您的具体问题,尝试根据您的需要调整其他算法。有很多关于 roguelike 游戏的随机地牢生成的教程。
同样最终可能不会有一个单一的生成算法给你最好的结果,而是许多的组合。
我正在开发 2d 等距游戏。你在城市里开车,仅此而已。 问题是生成具有连接道路的随机地图。 我想写脚本——我想我可以——但我找不到算法本身的想法。 假设我有 100x100 地图,我想构建布尔值 table 1 是道路 0 不是道路。
到目前为止,我的解决方案是在水平和同一垂直方向上绘制随机数量的线(例如 4-8 条线)。但是这张路线图是直的。
你能分享一些想法吗?有帮助
问题太宽泛,无法简单回答。有很多复杂程度不同的方法。
但作为提示,请从不同的角度考虑问题。当然最后你想要道路,但为什么道路首先在那里? 在你的情况下它是一个城市。一个城市由城市街区组成,通常是矩形的。所以一种方法是找到一种方法来用矩形填充地图并考虑边缘道路(或仅考虑一些)。
或者您可以研究三角测量算法并使用一堆随机点对您的地图进行三角测量。然后组合一些三角形并将这些边用作道路。
甚至只使用随机游走设置,这样它就不会完全转向。
或...
...不过说真的,选项和可能的解决方案是多种多样的,并且取决于您的技能水平(以及您最终希望如何看待您的城市)。 不要搜索您的具体问题,尝试根据您的需要调整其他算法。有很多关于 roguelike 游戏的随机地牢生成的教程。 同样最终可能不会有一个单一的生成算法给你最好的结果,而是许多的组合。