一、组件作用

图形摄像投射器是用于检测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的交互。

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

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

总结:

UGUI六大基础组件——Graphic Raycaster的更多相关文章

  1. winform快速开发平台 -> 基础组件之分页控件

    一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...

  2. CentOS安装LNMP环境的基础组件

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 在安装LNMP环境之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基础组件): ...

  3. Ext学习-基础组件介绍

    1.目标    学习对象获取,组件基础,事件模型以及学习ExtJS中的基础组件的应用. 2.内容   1.对象获取   2.组件原理以及基础   3.事件模型   4.常用组件的介绍 3.学习步骤 1 ...

  4. 如何从零开始实现一个soa远程调用服务基础组件

    说起soa远程调用基础组件,最著名的莫过于淘宝的dubbo了,目前很多的大型互联网公司都有一套自己的远程服务调用分布式框架,或者是使用开源的(例如dubbo),或者是自己基于某种协议(例如hessia ...

  5. android学习——必学基础组件

    android基础组件是一个Android的开发人员必须要了解,且深刻理解的东西: 1.应用程序基础 2.应用程序组件 2.1.活动(Activities) 2.2.服务(Services) 2.3. ...

  6. Android 基础组件

    基础组件 所有的控件都可以在java代码中创建出来,并且大部分的属性都对应set和get方法,比如 View view = new View(Context context)  context是上下文 ...

  7. Akka(17): Stream:数据流基础组件-Source,Flow,Sink简介

    在大数据程序流行的今天,许多程序都面临着共同的难题:程序输入数据趋于无限大,抵达时间又不确定.一般的解决方法是采用回调函数(callback-function)来实现的,但这样的解决方案很容易造成“回 ...

  8. App架构师实践指南三之基础组件

    App架构师实践指南三之基础组件 1.基础组件库随着时间的增长,代码量的逐渐积累,新旧项目之间有太多可以服用的代码.下面是整理的公共代码库. 2.关于加密密钥的保护以及网络传输安全是移动应用安全最关键 ...

  9. JMeter各个基础组件简介

    刚从LoadRunner转到JMeter,对JMeter的各种概念比较懵.在这里记录下.欢迎大家关注我的个人微信号:测试杂货铺. JMeter的各个功能都是它的组件来完成或实现的,下面来对JMeter ...

  10. Ansible playbook基础组件介绍

    本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...

随机推荐

  1. 【C学习笔记】【分享】day2-2 不允许创建临时变量,交换两个数的内容(附加题)

    加法实现: #include <stdio.h> int main() { int a = 30; int b = 20; a = a + b; b = a - b; a = a - b; ...

  2. zTree异步获取,默认展开一级节点

    zTree官网 https://treejs.cn/v3/api.php 涉及到zTree的异步获取 这里主要是在setting部分的设置: setting: { ..., async: {enabl ...

  3. 从URL中获取参数

    1.跳转测试页面  获取的url上的参数    <!doctype html> <html lang="en"> <head>     < ...

  4. Eureka服务端创建及服务注册

    一.Eureka服务端创建 1. 引入依赖:pom.xml <!-- eureka 服务端 --> <dependency> <groupId>org.spring ...

  5. 【mysql练习】转置,总计,分组

    1,有如下一个表,要求把这个表按照2016,2017,2018,2019,把从1月到12月的金额展示出来. profit表: year month amount2019 1 52019 3 62018 ...

  6. TCP三次握手和四次挥手的原因所在

    报文从运用层传送到运输层,运输层通过TCP三次握手和服务器建立连接,四次挥手释放连接. 为什么需要三次握手呢?为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误. 比如:client发出 ...

  7. Linux日常指令

    Linux: https://man.linuxde.net/     Linux命令大全  基础指令 终端输入: #shutdown -h now : 立即关机   #ls: 显示路径下所有的文件: ...

  8. python + selenium 常用公共方法封装

    selenium 环境配置及浏览器驱动的安装:https://www.cnblogs.com/gancuimian/p/16435300.html uiautomator2 常用公共方法封装见之前的帖 ...

  9. CentOS 7 部署Memcached服务器——超级详细

    操作系统:CentOS 7.x 64位实现目的:安装部署Memcached服务器 一.防火墙设置CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭f ...

  10. create-react-app react 使用dll抽离公共库,大幅缩减项目体积,及项目打包速度

    1.安装依赖(clean-webpack-plugin.add-asset-html-webpack-plugin.webpack-cli) yarn add clean-webpack-plugin ...