0
你好我正在Unity遊戲引擎中做一個小遊戲,現在我不能完成它只是爲了讓我的鼠標的y位置轉換到世界y位置。 (請在C#中編程)統一鼠標位置到世界的位置,但只是Y pos
你好我正在Unity遊戲引擎中做一個小遊戲,現在我不能完成它只是爲了讓我的鼠標的y位置轉換到世界y位置。 (請在C#中編程)統一鼠標位置到世界的位置,但只是Y pos
請記住,鼠標位置是一個2D點,但是你投射到一個3D世界。因此,鼠標的Y座標取決於世界中位置的Z座標。換句話說,根據世界空間中的點的深度,高度會有所不同。如果你想在某個深度的位置,你可以這樣做:
Vector3 mousePos = Input.mousePosition;
mousePos.z = <depth>;
float y = Camera.main.ScreenToWorldPoint(mousePos).y;
或者你也可以投射出Ray走向世界和使用的第一件事就是它命中的深度採樣位置:
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
float y = hit.point.y;
}
請注意,這種方法假設Ray會碰到什麼東西。