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

Unity3D - Detect a vertex on planet mesh without cubes

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

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

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

我想知道的是有没有更好的方法在不生成立方体的情况下识别顶点?

  1. 如果你正在做如此出色和先进的工作,你肯定知道这个

http://docs.unity3d.com/ScriptReference/RaycastHit-triangleIndex.html

  1. 使用网格时,需要最近的顶点是很平常的事。

请注意,非常简单,您只需找到最近的一个,即查看所有最近的。

(执行此操作的速度非常快,您只有很少的顶点,因此甚至无法衡量性能。)

{考虑到,当然,您可以将对象分成 8 块 - 但在许多情况下,这只是您必须做的事情,例如赛道,因此它可以正确遮挡。}