我正在 XNA 中开发需要一些物理特性的 2D 游戏。我发现像 Farseer 这样的物理引擎不会因为它们的某些工作方式而削减它。(这是一个很长的故事,涉及重写代码 3 次最终弄清楚我需要自己编写物理。)所以根据我使用的参考资料,我现在需要的唯一数据是表面的法线碰撞。
这是使用 sprite 使用逐像素碰撞检测。我目前有一个包含所有重叠像素及其位置的数组。我想使用该数据来计算重叠像素的位置的平均值,以找出该表面的法线。这应该允许我与不规则形状的物体发生碰撞,但仍保持真实的物理交互。
如果有人对我如何使用这个像素信息来计算表面法线或足够接近的东西有任何建议,那就太好了。
谢谢。