如何实现粉碎玻璃的破玻璃效果?

前几天我看到了Smash Hit ,这个游戏的物理特性,尤其是破碎的玻璃效果,

我已经阅读了关于这个主题的其他 文章 ,但是我仍然觉得他们没有足够的细节让我开始自己用OpenGL / GLSL来实现它。

是否有可能增强知觉和graphics理解的人来观察游戏玩法并给出一些关于这种效果如何被复制的指示?

我宁愿不使用第三方物理引擎,为了教育目的而自行完成整个事情,那么你能否提到一些背后的物理?

其他文件和演示参考非常感谢。

这是一个非常高级的话题。 通常人们喜欢使用布尔Set操作来实现一个BSP树来进行这种破坏,这个破坏围绕着在平面上分割多边形而进行。 看看Naylor的这篇论文是如何学习的。

这将让你叠加一个网格,并执行减法。 减法的结果可以给你一个雕刻出来的体积的网格。

您还将执行交叉点以查找雕刻出的卷本身。 给定这个相交量,你可以使用任何types的近似来模拟破碎的效果。 生成随机飞机和切片音量可以工作! 然后把切好的十字路口模拟成一堆刚体,你可以让它们都掉下来。

由于所有这些操作都使用网格,因此您将需要某种几何graphics的边界表示。 通常人们喜欢半边网(最多包括我自己)。

在这里,作者简要地谈论了他的技术在这场比赛中的破坏。