Unity 3D 在玩家高度创建平面

Unity 3D Create Plane at player height

我有一个玩家对象,我正在尝试使用鼠标让玩家看向鼠标位置。这工作正常,但是当玩家上坡或它的高度发生变化时,鼠标光线投射平面不会调整到玩家的高度。

    // Look input
    Ray ray = viewCamera.ScreenPointToRay(Input.mousePosition);
    Plane groundPlane = new Plane(Vector3.up,Vector3.zero);
    float rayDistance;

    if(groundPlane.Raycast(ray,out rayDistance)) {
        Vector3 point = ray.GetPoint(rayDistance);
        //Debug.DrawLine(ray.origin,point,Color.red);
        controller.LookAt(point);
    }

我曾尝试在 Google 上搜索答案,但没有结果似乎表明我问错了问题。我还查看了 Plane 的 Unity 文档,但我不明白我在寻找什么。任何帮助将不胜感激。我被卡住了,它阻止了我在我创建的第一款游戏中取得进展。

我刚刚尝试了所有方法,以下似乎有效:

Plane groundPlane = new Plane(Vector3.up,Vector3.zero);

改为

Plane groundPlane = new Plane(Vector3.up,transform.position);