游戏编程中的精灵碰撞

时间:2010-01-08 17:31:07

标签: collision-detection sprite

当使用颜色alpha分量检测精灵之间的碰撞时,我应该在世界空间还是在视野(局部)空间中进行,哪一个更受欢迎?我们非常感谢您对此类主题的任何链接或建议书籍。

谢谢:)

2 个答案:

答案 0 :(得分:1)

这里有几点需要考虑。

如果你的精灵相对于你的世界的大小非常小,或者你正在使用定点数学做技巧,那么你可以通过在世界空间中进行操作来获得不准确的结果。本地空间可能具有更小的值,从而使您更准确。

另一方面,很可能两个对象的世界空间矩阵都是已知的,或者无论如何都要计算每个帧,以便可以渲染它们。主要的例外是如果这些对象被剔除,在这种情况下,我会质疑你想要在这些对象上模拟复杂的物理。如果世界空间矩阵可用,则没有理由进行额外的矩阵乘法以将一个矩阵切换到另一个的局部空间。此外,如果同时发生多次碰撞,则必须两次转换为局部空间,而不是简单地在世界空间中进行计算。

话虽如此,可能并不重要。雪碧碰撞不是火箭科学。只要您的值合理,典型的用户就永远无法分辨浮点计算的差异,而在现代处理器上,每一帧的少数乘法都不会产生影响。我假设你没有尝试用ragdolls做基于精灵的MMORPG,所以真的,选择你喜欢的更多。

答案 1 :(得分:0)

您使用的坐标空间如何影响您的实际结果?我认为你应该选择更快的东西。

相关问题