有没有办法在运行时重新计算多边形对撞机?可能还有更好的准确性?

时间:2016-08-20 22:34:48

标签: unity3d 2d sprite physics collider

所以我有这个游戏,我有可破坏的地形。我的设置是,当地形被破坏时,地形纹理的一部分变得透明,充当火山口。在发生任何变化之后,我删除地形纹理上的多边形对撞机并创建一个新的对撞机以重新计算地形,但显然这对处理能力非常重要。有没有办法重置多边形对撞机而不必这样做?

此外,多边形对撞机不是很准确,我已经被告知像素完美碰撞是不可能的,但是我抱有希望。有没有办法提高准确性至少?

这是我的问题的一个例子:

enter image description here

1 个答案:

答案 0 :(得分:1)

Collider重新计算是昂贵的,并且在Unity中无法绕过它,你甚至不能异步地进行。

这取决于你的具体情况,但对于动态地形破坏的蠕虫式游戏,我根本不会使用多边形碰撞器/ Unity物理引擎。 我创建了自己的像素完美碰撞系统,它只依赖于底层的地形纹理。 您已经拥有了地形数据,可以使用Bresenham的算法检查碰撞。

这是一个教程:http://gamedevelopment.tutsplus.com/tutorials/coding-destructible-pixel-terrain-how-to-make-everything-explode--gamedev-45