碰撞检测(2015)

2020-10-11 15:42:27

物体的碰撞是大多数游戏体验和用户界面的基础。棒球棒与球相撞,僵尸撞墙,马里奥降落在平台上,践踏乌龟。即使像用鼠标(点)单击按钮(矩形)这样简单的事情也是碰撞。

这本书使用圆形、矩形和线条等基本形状解释了这些冲突背后的算法,这样您就可以将它们实现到您自己的项目中。

更新!这个网站的访问量一直很高,这真是太棒了。我已经做了一些修改,这样它在移动设备上看起来会更好,导航更容易,并试图检查所有的错误。如果您有任何问题或建议,请在项目库中发布问题。谢谢!。

本书涵盖了点、圆、矩形、直线、多边形和三角形之间的碰撞。这些示例都是为了尽可能地可读性和易懂。当然有更快、更有效的方法来检测这些冲突,但这本书的目的是友好地用最少的数学来教授原理。

每一节都包括冲突算法的描述和使用processing.js构建的交互示例。您可以查看所有示例的源代码(还有这本书!)。在GitHub上。

注意!如果您使用的是移动设备,这些示例可能不会对您特别有效。它们是为鼠标输入而设计的,所以如果你感到沮丧或者你的手指挡住了路,可以在电脑上试试这个网站。

和任何一本书一样,书中有很多有用的材料,这里无法涵盖。没有讨论的事情大多被省略了,因为数学变得太复杂了。三维空间没有被提及。省略,看起来应该很容易,实际上却很难。

如果有一个特定的冲突没有被覆盖,这将是有帮助的,请提交一个问题与请求,或者,更好的是,提交一个工作的例子,您已经建立!

如果您发现代码运行不正确、算法解释不正确或打字错误,请在此项目的GitHub存储库中报告它们。谢谢你的帮忙!。

好的,让我们写一些代码吧!单击页面底部的链接或顶部的箭头可移动到下一章。顶部的冲突检测链接将把您带回目录。