当使用颜色 alpha 分量检测精灵之间的碰撞时,我应该在世界空间还是在视图(本地)空间中执行,哪个更优选?非常感谢任何与此类主题相关的链接或建议的书籍。
谢谢 :)
当使用颜色 alpha 分量检测精灵之间的碰撞时,我应该在世界空间还是在视图(本地)空间中执行,哪个更优选?非常感谢任何与此类主题相关的链接或建议的书籍。
谢谢 :)
这里有几件事需要考虑。
如果您的精灵相对于您的世界的大小非常小,或者如果您正在使用定点数学进行技巧,则通过在世界空间中执行操作可能会得到不准确的结果。本地空间可能具有更小的值,从而为您提供更高的准确性。
另一方面,很可能两个对象的世界空间矩阵要么是已知的,要么是每帧都计算出来的,以便可以渲染它们。主要的例外是如果这些对象被剔除,在这种情况下,我会质疑您在这些对象上模拟复杂物理的愿望。如果世界空间矩阵可用,则没有理由进行额外的矩阵乘法以将一个矩阵切换到另一个的局部空间。此外,如果同时发生多个碰撞,您将不得不转换到本地空间两次,而不是简单地在世界空间中进行计算。
话虽如此,这可能无关紧要。精灵碰撞不是火箭科学。只要您的值是合理的,典型的用户将永远无法分辨浮点计算中的差异,并且在现代处理器上,每帧进行少量乘法不会产生影响。我假设您不会尝试使用布娃娃制作基于精灵的 MMORPG,所以说真的,选择您更喜欢的那个。
您使用的坐标空间将如何影响您的实际结果?我认为你应该选择更快的。