Unity3D - 在没有立方体的情况下检测行星网格上的顶点

时间:2016-03-14 21:22:24

标签: c# unity3d mesh vertex

我有一个行星网格,我在程序上生成(基于随机种子)。发电机创造构造板块并移动它们,形成下面看到的陆块,山脉和水洼;在一个星球上约2500点。纹理表面只是一个着色器。

enter image description here

每个顶点都有与之关联的信息,我需要知道它们指向哪个顶点来传递这些信息。

我正在寻找一种方法来识别他们指向的顶点。目前的解决方案是在每个顶点生成一个立方体,然后使用对撞机/ Ray来识别它。上图中的两个白色立方体用于测试。

我想知道的是,如果有更好的方法来识别顶点而不生成立方体?

1 个答案:

答案 0 :(得分:2)

  1. 如果你正在做这么棒的高级工作,你肯定知道这个
  2. http://docs.unity3d.com/ScriptReference/RaycastHit-triangleIndex.html

    1. 使用网格时,需要最近的顶点才是常见的。
    2. 请注意,非常简单,您只需找到最近的,即查看最近的所有内容。

      (这样做速度非常快,你只有很少的顶点,因此性能甚至无法衡量。)

      {考虑到,当然,你可以打破对象说8件 - 但这在很多情况下只是你必须做的事情,例如赛道,所以它可以正确遮挡。 }