所以,我使用一个布尔运算符来得到一堆碎片和一面墙的交集。大多数块都能正常工作,但有时交叉点不完美,你会得到这些顶点,这些顶点没有连接到网格的其余部分,这会导致网格碰撞器不正确,如此picture所示。我的问题是,是否有一种方法可以检测这些“孤岛”或“孤岛”顶点。我可以提供额外的图像,代码等,如果需要的话。
谢谢你的帮助!Ps。这里的第一个问题,所以请耐心等待:)
发布于 2020-02-13 08:54:23
最后,我找到了从单个顶点开始的所有连通顶点,从而解决了这个问题。
我首先选取第一个三角形,并将其顶点添加到连接的顶点列表中。然后我遍历三角形列表,将它们的顶点位置与连接的顶点列表进行比较。如果三角形有一个顶点,其位置对应于连接顶点列表中的某个位置,我会将整个三角形添加到列表中。这是一次迭代,我重复这个过程,直到所有连接的三角形都在列表中。如果连接的三角形列表超过所有三角形的一半,则删除所有其他三角形,否则,删除当前的连接三角形列表。在那之后,我清除了不像Leo Bartkus建议的那样在三角形中的顶点。
它非常慢,它假设只有两个独立的岛,或者你在最大的岛上开始,但它在大多数情况下都是有效的,而且更多的是为了学习目的。
谢谢你的帮助!
https://stackoverflow.com/questions/59147472
复制相似问题