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

时间:2017-02-05 04:46:29

标签: c# unity3d 3d plane

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

    // 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文档,但我不明白我在寻找什么。真的很感激任何帮助。我被困住了,这阻止了我在我创造的第一场比赛中取得进展。

1 个答案:

答案 0 :(得分:1)

我只是尝试了一切,以下似乎有效:

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

更改为

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