UI射线判定,用于检测鼠标是否停留于UI上
用于判断鼠标是否是在某一个UI上,或者多个UI重叠的时候的判定
//测试方法
private void TestFunc(){
PointerEventData pointerData = new PointerEventData(EventSystem.current);
pointerData.position = Input.mousePosition;
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(pointerData, results);
if (results.Count > 0)
{
GameObject hitObject = results[0].gameObject;
// 获取名称
string objectName = hitObject.name;
// 获取Layer
int layer = hitObject.layer;
// 获取Tag
string tag = hitObject.tag;
Debug.Log($"鼠标正指向的UI物体名称是:{
objectName}");
Debug.Log($"该物体所在的Layer是:{
layer}");
Debug.Log($"该物体的Tag是:{
tag}");
}
}