UGUI射线检测

Posted Joel >>>TaoHu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UGUI射线检测相关的知识,希望对你有一定的参考价值。

1.Graphic Raycaster

主要用于UI上的射线检测,挂有这个组件的物体,必须要挂上Canvas这个组件(当挂上Graphic RaycasterCanvas也会自动挂上)

Ignore Reversed Graphics:是否忽略反方向的图形,如果为true,则表示图形正面展示时,会接收到射线检测;反面展示时,不会接收到射线检测;否则,正反面展示都会接收到射线检测

Blocking Objects:屏蔽指定类型的(物理)对象,使它们不参与射线检测。渲染模式不为ScreenSpaceOverlay时起作用。可选值为:
None:不屏蔽任何物理对象
Two D:屏蔽2D物理对象(即具有2D碰撞体的对象)
Three D:屏蔽3D物理对象(即具有3D碰撞体的对象)

All:屏蔽所有物体对象 

Blocking Mask:使屏蔽对象中的指定层不参与射线检测。渲染模式不为ScreenSpaceOverlay时,且Blocking Objects不为None时起作用。
例如,Blocking Objects2DBlocking MaskUI,指2D物理对象中是UI层的东西都不会接收射线检测,而2D物理对象中的其他层还是能接收射线检测

2.Physics Raycaster & Physics2D Raycaster

主要用于物理对象上的射线检测,挂有这个组件的物体,必须要挂上Camera这个组件(当挂上组件时Camera也会自动挂上)。当物体(2D或者3D物理对象)受到射线检测时,物体上的实现了事件接口的方法会被调用

Physics Raycaster :只会对3D物体对象产生影响,CameraProjection,尽量选为Perspective(透视)模式
Physics2D Raycaster:只会对2D物体对象产生影响,CameraProjection,尽量选为Orthography(正交)模式
EventMask:射线作用层,可以用来做事件屏蔽

3.Selectable

Selectable的意思是可选择的,它是UGUI中很多交互控件(Button/ Slider / InputField / Toggle / Scrollbar /)的基类,其中的Interactable,当值为false时,UI控件会进入disable状态(颜色会变为Disabled Color的那个颜色),但是UI控件仍然能接收到射线检测!

以上是关于UGUI射线检测的主要内容,如果未能解决你的问题,请参考以下文章

Unity 5 ugui.如图,我需要在物品栏中鼠标点击时角色不移动,移动角色是用的射线检测

UGUI事件响应体系

Unity UGUI事件接口概述

UGUI性能优化

UGUI Raycaster

Unity UGUI获取鼠标在屏幕的准确点击位置