我有一个玩家对象,我正在尝试使用鼠标让玩家看向鼠标位置。这样可以正常工作,但是当玩家上坡或者高度发生变化时,鼠标光线投射平面不会调整到玩家的高度。
// 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文档,但我不明白我在寻找什么。真的很感激任何帮助。我被困住了,这阻止了我在我创造的第一场比赛中取得进展。
答案 0 :(得分:1)
我只是尝试了一切,以下似乎有效:
Plane groundPlane = new Plane(Vector3.up,Vector3.zero);
更改为
Plane groundPlane = new Plane(Vector3.up,transform.position);