关于UGUI不拦截射线的方法

起因:开发游戏,要在设置界面里给一个设置项添加一个东西解释这个项是干啥的,要求鼠标移到文字上的时候显示一个弹窗差不多的东西,见动图,鼠标移开会消失。但是当我移动鼠标到弹窗上的时候,UGUI会发射一根射线,击到弹窗上而不是文字上,判定为离开文字,于是隐藏弹窗,然后判断进入文字,显示弹窗,如此反复,不是我所希望的。。如果这个弹窗不会遮挡射线就不会出现这个问题。


解决方法有两个,一个是写代码,如下:

bool ICanvasRaycastFilter.IsRaycastLocationValid(Vector2 sp, Camera eventCamera)
{
    return false;
}

实现 ICanvasRaycasttFilter 接口,返回 false 则这个物体将不会被射线击中


还有有个方法是给这个物体加一个组件 :CanvasGroup

关闭 Interactable 和 Blocks Raycasts 则他会让他和他的子物体全部都不接收射线

Ignore ParentGroups 勾选的话,他会无视父物体的 CanvasGroup 的设置。


结果如图


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值