我需要能够准确地检测与任何位图地形的碰撞并做出反应,最好的方法似乎是使用 Marching Squares 生成多边形网格,然后我可以将其与 Bullet 等物理引擎一起使用,这将是比我自己写的任何东西都要好。
问题是,虽然我看到很多人提到使用行进广场来做到这一点,但我找不到任何解释如何!我什至无法找到任何关于 Marching Squares 算法本身的特别好的解释/教程,尽管我认为我从我发现的内容中非常了解它。我想不通的是如何从 MS 给我的线条中创建多边形。
我找到了这个,这几乎正是我想要做的,但我要么需要为 C++ 找到一个类似的物理库,要么自己编写网格生成。
http://deltaluca.me.uk/docnew/swf/DestructableTerrain.html
我不想简单地查看物理引擎的源代码以了解它是如何工作的,因此希望某个地方知道一个可以更好地解释该过程的地方!C++ 中的任何东西都是首选,但如果过程解释得当,其他语言应该没问题。