我在Unity3d中创建一个地下城生成器。我有一堆预制件(房间,走廊,路口)。随机选择一件作为起始件,然后根据连接规则选择下一件。地牢也可以是多层的。像一个房间高于另一个等。问题是房间碰撞。在同一层上,2个房间可以放在一起,这是一个问题。
我的第一个想法是使用数组对图层进行建模,然后找到适合楼梯上下的最佳位置。但问题是并非所有角度都是90度。我有一个Y形状的3路交叉点。所以在这之后的所有东西都是倾斜的。它不容易在数组上表示。
第二个想法是使用碰撞和回溯。我放置瓷砖然后如果没有碰撞我可以向前移动。但如果发生碰撞,我会尝试找到一个更好的西装,或者删除之前的那件,但是那里有新东西。但我无法找到一个很好的方法来做到这一点。
对于如何生成非90度角的多层地牢,任何人都有任何建议或想法吗?