简单的碰撞检测
Simple collision detection
我想编写一款平台游戏,我之前所做的都是益智游戏,不需要物理元素。
我所需要的只是简单的碰撞检测,我将提供给物理引擎的是所有物体的位置,它应该输出:
- 与任何对象(和什么对象)碰撞的特定对象类型(子弹)的所有对象,只是一对的列表。
- 对于特定对象类型(玩家和npc)的每个对象,如果它在地面或半空中。
所有移动/速度/重力/命中/反射的模拟将使用自定义代码完成,因为我想实现的是一个具有奇怪物理的世界。
我应该自己转引擎吗?我可以使用现有的像花栗鼠/box2d?如果我需要实现我自己的碰撞检测,我将如何使一个不昂贵的操作?(就像一个天真的实现,只是检查O(n^2)
中的所有内容。
我可以使用objective-c或c++,我更喜欢c++(它应该有更好的性能)。
如果你正在编写自己的物理,你可能想要包含自己的碰撞检测。还有一些公开的免费物理引擎,你可以尝试一下。(http://www.bulletphysics.org)
但你可能只想在谷歌上搜索碰撞检测算法,这可能适用于你正在制作的游戏类型,你需要测试的交叉点类型。
这是我随机找到的一篇文章:http://www.gamespp.com/algorithms/collisionDetection.html
对于这种问题,我建议您编写自己的库。
是的,你可以在现有的库中找到这种特性,但是你可以从编写自己的库中学到更多。
我建议查看图表和树数据结构
相关文章:
- 落砂模拟碰撞检测C++和SFML
- SFML 中的重力和碰撞检测
- 我的碰撞检测中的奇怪行为
- 如何为球形物体和三角形地形提供高效的碰撞检测和响应
- 圆形与方形碰撞检测以及需要响应C++ |OpenGL。我的问题就是这个"I need to keep the circle outside the square"
- 在Qt3D中进行碰撞检测的预期方法(或好方法)是什么?
- 在碰撞检测方面苦苦挣扎.如何正确检测碰撞?
- 三角形-三角形碰撞检测问题
- 不同类别之间的C SFML碰撞检测
- 使用D3DXVECTOR C 的碰撞检测,发生碰撞后该怎么办
- 当我发生碰撞检测时,矢量迭代器不兼容
- 如何使用灵活的碰撞库在两个点云或点云与机器人末端执行器模型之间进行碰撞检测
- 优化碰撞检测C
- 使用碰撞检测来增加SFML 2.4中的游戏分数的问题
- 使用OnComponentHit UE4 C++进行碰撞检测
- 体素世界中的碰撞检测
- 如何在 2D 碰撞检测中正确解析碰撞的位置?
- (中广)获取AABB树生成的边界立方体进行碰撞检测
- 简单的 2D 碰撞检测 C++
- 简单的碰撞检测