代码之家  ›  专栏  ›  技术社区  ›  Philipp Lenssen

计算meshCollider在单位C#中是凸的还是凹的?

  •  -1
  • Philipp Lenssen  · 技术社区  · 7 年前

    在Unity中,在运行时处理未知的用户生成的形状时,我们现在要为其创建一个网格碰撞器,是否有一种方法来计算网格是否应设置为凸面,即网格过滤器是否具有向内的曲线?(通过查看手动设置此属性很容易,但这里我处理的是未知的预先形状。)谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   Leo Bartkus    7 年前

    对于网格中的每个三角形,需要计算其面法线。然后,对于每个面法线,检查每个顶点的点积符号,查看其是否在三角形后面。如果所有顶点都位于所有三角形的后面,则它是凸的。

    就我个人而言,我会把一切都标记为凹面,然后继续前进。