我有一个单一的网格游戏对象,它本质上是一条向上/向下弯曲和倾斜的长线。我想要做的是在指定的距离间隔沿这条线生成一些文本。假设沿线每 100 个单位出现一些文本。如果它是一条直线,那会很容易,但是曲线和斜坡让我很失望。
我通过执行以下操作检索了创建此网格的顶点:
model.GetComponent<MeshFilter>().mesh.vertices
然后我通过循环它们并执行以下操作将它们转换为世界空间:
meshFilter.gameObject.transform.TransformPoint(vertices[i])
现在,这些顶点不是均匀分布的。对于斜率和曲线,有很多顶点。对于较直的部分,数量较少。但是这些直线部分仍然略有不同(通常是 Y 值的 ~.10)。最初我循环并跟踪距离以找到最接近间隔的顶点,但那时我认为它们是均匀分布的。
这是模型的一部分:
我在这里将所有顶点都涂成黑色,以显示它们在曲线/斜率与~直线部分的压缩程度:
这是模型的检查员,只是以防万一: