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