UGUI六大基础组件——Graphic Raycaster

Posted on 2021-06-30 10:11  Nicela  阅读(2060)  评论(0编辑  收藏  举报

一、组件作用

图形摄像投射器是用于检测UI输入事件的射线发射器。通过射线检测玩家和用户的交互,判断是否点击到了UI元素。

注意:不是通过碰撞器来检测的,而是通过图形来检测的。

二、参数解释

 

***************************************************************************

第一个参数:

 注意Ignore Reversed Graphics是是否忽略反转图像,这里的反转包括上下反转和左右反转主要是关于x和y的反转,对与z的反转是无效的,因为绕Z的旋转还是面朝前,这是没有影响的,

而绕X和Y轴会使得反面超前。以一个Button为例。

原始状态:

 

 改变Z轴:

 

 变成:

 

 只是旋转了,但还是面朝我们,可以点击。

改变X轴,就是绕X轴旋转,进行反转:

 

 变成

 

 可以发现,此时的按钮已经背对我们了,注意这里不是旋转得到的,可以从原图像旋转看看,会发现得不出这个图像,只有通过反转(绕X轴旋转)才能得到。

此时如果忽略反转图形(即该参数被勾选),那么反转得UI图像就被忽略了,就无法进行点击事件得响应了。

同样,改变Y轴,也会达到反转的效果。

 

 变成:

 

 同样会发现,只要勾选了该参数就无法响应点击事件。

*************************************************************************************

第二个参数

Blocking Object 是射线被哪些碰撞器阻挡,注意,这在渲染模式下是无法显示这个参数的作用的,因为渲染模式下的UI始终在3D物体之前不可能被阻挡。

当把渲染模式改成摄像机模式,可以检测这种模式的作用,在Button前创建一个3D物体和一个2D物体,由于2D物体没有碰撞器,所以我们给2D物体添加一个盒碰撞器。

在默认情况下,这个参数默认是None代表什么碰撞器都不能阻挡对UI的射线检测,此时无论在哪个物体上都不能不会阻挡按钮对点击事件的相应。

如图,会有响应,注意颜色变化。

 

 

 

如果将选项选择为Two2D那么在2D图像上点击就不会有按钮事件响应(注意颜色对比)

 

 

 

 

由于没有选择3D那么在3D物体上点击按钮任然会响应。

 

 同样的原理如果选择3D或者All,那么相应的对象就会阻挡UI检测。

 ********************************************************************************

第三个参数

是代表被哪些层级挡住,如果取消某些层级,若一个物体选择了该层级,那么就算第二个参数选择了某个类型的碰撞器,只要层级被取消了也不会阻挡与UI的交互。

经常与第二个参数一起起作用。

********************************************************************************

总结:

 

Copyright © 2024 Nicela
Powered by .NET 9.0 on Kubernetes