小编adi*_*rma的帖子

获取飞机上最近的点

所以我有这个地形和一个垂直的平面设置,现在我想结合这两个含义将平面的顶点移动到最近的顶点。地形上的顶点。我画了一张图来说明我的想法。最终结果是地形看起来有一定的厚度。

我还需要该点在地形上的投影

我在之前的线程中找到了这段代码:

    float distance = PointToPlaneDistance(smallObj.transform.position, wall.transform.position, wallNormal);

    private float PointToPlaneDistance(Vector3 pointPosition, Vector3 planePosition, Vector3 planeNormal)
    {
        float sb, sn, sd;

        sn = -Vector3.Dot(planeNormal, (pointPosition - planePosition));
        sd = Vector3.Dot(planeNormal, planeNormal);
        sb = sn / sd;

        Vector3 result = pointPosition + sb * planeNormal;
        return Vector3.Distance(pointPosition, result);
    }
Run Code Online (Sandbox Code Playgroud)
这里的结果向量是最近的点(我认为!)但是平面法线是什么?Unity有一个内置的mesh.normals,它给出了地形的所有表面法线。我应该在这里使用哪一个?

unity-game-engine

3
推荐指数
1
解决办法
8035
查看次数

标签 统计

unity-game-engine ×1