博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2-2 Graphic Raycasrer组件(光线投射)

Posted on 2020-03-29 20:27  炳畅  阅读(400)  评论(0编辑  收藏  举报

unity中事件系统的核心就是光线投射(Raycasting)机制
光线投射就是从某个坐标到其他坐标渲染的一条假想的线,称为光线(Ray),用来检测场景与对象之间冲突的机制。

 

 

 

可以通过画布的Graphic Raycast组价,可以判断用户所操作的UI元素是画布上的那个元素

lgnore Reversed Graphics
勾选此属性时,将忽略发生反转并显示了背面的元素

Blocking Objects
指定阻挡光线投射的对象
可指定的对象一共有以下四种
None(无)
Two D(2D对象)
Three D(3D对象)
All(所有对象)

Blocking Mask
指定阻挡光线投射的对象的层。

 

 

 



Canvas Renderer组件
画布中渲染的所有图形元素都附加在Canvas Renderer组件上
它负责渲染所有图形元素到画布,因此不删除画布上所有图形就不能删掉这个组件

(不会在创建时自动挂载)


 

画布组
Canvas Group
可以把多个UI元素分组
在一个空的游戏对象下面,查询

选择Canvas Group组件就可以


把UI元素设置为画布组的子元素,就可以从Canvas Group 组件的属性设置面板进行统一的子级元素的某个特定属性修改

Alpha
设置画布组内所有Ui元素的不透明度,值的范围是0.0到1.0(不透明)
会和UI元素上已经设置Alpha值相乘,然后在所有乘出来的值进行显示

Interactable
设置画布组内所有UI元素是有效还是无效的
勾选后,所有的UI元素才能进行操作 ,反之就不能进行操作

Blocks Raycasts
设置画布组所有UI元素是否阻挡光线投射(是否允许判读碰撞)
勾选画布组的UI元素都可以阻挡光线,所有光线都无法投射到内侧的对象
不勾选就反之,适用那种仅显示但不想让用户操作的UI等

Ignore Parent Groups
勾选,当画布组被嵌套,将忽略父级画布组中设置的属性。