大家好。我在GameMaker里开发一款3D赛车游戏已经大约一年半了。到目前为止所有东西都是完全平坦的。没有碰撞检测,也没有高度起伏。

我想知道你们会怎么处理这个问题。你们会在Blender里制作一张大地图,然后用Colmesh、Bonk之类的工具,甚至自己写碰撞检测算法来检查每个三角形的高度吗?这是我多年前的做法,但过程极其繁琐且速度很慢,所以我完全放弃了那个想法。

我目前的计划是进一步扩展我已经加入游戏的分块顶点缓冲区批处理功能,并将这些顶点也存储到单独的数组或结构体中用于碰撞检测。但这仍然留下了高度起伏的问题:我应该在Blender里创建一张巨大的地图,然后把那些顶点分割成缓冲区批次,还是创建类似Catmull–Rom样条之类的东西,通过放置单独的节点来生成道路?