UGUI的射线检测

1.UGUI的射线检测,检测到检测点UI下的所有UI物体。


Unity相关

2.使用该方法,需要用到的条件。
(1)Graphic Raycaster;
(2)Event System;
(3)GraphicRaycaster.Raycast(PointerEventData,List<RaycastResult>);
List<RaycastResult> results是检测到的结果。

    private List<RaycastResult> GraphicRaycaster(Vector2 pos)
    {
        if (BattleUIHotFixManager.Instance != null)
        {
            _mRaycaster = BattleUIHotFixManager.Instance.MRaycaster; //Graphic Raycaster
            _mEventSystem = BattleUIHotFixManager.Instance.MEventSystem;//EventSystem
        }
        var mPointerEventData = new PointerEventData(_mEventSystem);
        mPointerEventData.position = pos;
        List<RaycastResult> results = new List<RaycastResult>();
        
        _mRaycaster.Raycast(mPointerEventData, results);
        return results;
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容