了解Unity编辑器之组件篇Event(七)

Event:用于在对象之间进行通信和交互的机制。它可以帮助你实现触发和响应特定动作或状态的逻辑
一、Event System:用于处理 UI 事件的系统组件

First Selected 属性:定义了在场景加载或 UI 激活时,哪个 UI 元素将成为首选的选中元素。在 Event System 组件的 Inspector 窗口中,你可以通过设置 First Selected 属性来指定首选的选中元素。

Send Navigation Events 属性:指定是否发送导航事件。当该属性启用时,UI 元素之间的导航事件(例如按下 Tab 键)将触发 Unity 中的 Navigation 事件。

Drag Threshold 属性:定义了鼠标或触摸输入的拖拽阈值。当鼠标或触摸输入的移动距离超过这个阈值时,会被识别为拖拽操作。

Add Default Input Modules 按钮:添加一个Standalone Input Module组件

二、Event Trigger:允许你将特定的事件与一个或多个响应动作关联起来。每个事件类型都对应一个特定的事件,例如点击按钮、进入触发器区域等。当该事件发生时,与之关联的响应动作将会被触发执行。

Add New Event Type按钮:使用"Add New Event Type"按钮,你可以选择要添加的新事件类型。点击该按钮后,会弹出一个下拉菜单,列出了可用的事件类型选项。这些选项包括常见的UI事件类型,如点击(Pointer Click)、进入触发器区域(Pointer Enter)等。通过使用"Add New Event Type"按钮,你可以扩展Event Trigger组件的功能,为你的游戏或应用程序添加更多的交互性和响应性。

三、Graphic Raycaster:用于处理用户输入射线检测和UI交互的组件

Ignore Reversed Graphics(忽略逆转图形):当忽略逆转图形被勾选时,Graphic Raycaster会忽略反向(背面)的图形。通常情况下,Graphic Raycaster会对碰撞发生器(collider)后面的图形进行检测,但勾选该选项后,它将不会对背面的图形进行任何检测,从而提高性能。

Blocking Objects(阻塞对象):定义了哪些类型的图形对象会阻塞(block)射线的检测。有以下四种选项:

None:没有任何对象会阻塞射线的检测。

Two D:2D对象会阻塞射线的检测。

Three D:3D对象会阻塞射线的检测。

All:所有对象都会阻塞射线的检测

Blocking Mask:是一个Layer Mask(层遮罩),它允许你指定一个特定的图层(或几个图层)来阻塞射线的检测。通过选择相应的图层,你可以定义只有具有指定图层的对象才能阻塞射线的检测。

四、Physics 2D Raycaster:用于2D物理射线检测和UI元素交互的组件

Event Mask(事件遮罩):是一个Layer Mask(层遮罩),它允许你定义一个特定的层(或几个层)来确定射线检测所触发的事件。通过选择相应的图层,你可以控制射线检测时哪些对象能够触发事件,哪些对象被忽略。

Max Ray Intersections(最大射线交点数):用于设置射线检测的最大交点数。

如果将其设置为0(默认值),则不会对射线的交点数量进行限制。如果将其设置为一个正整数,射线检测将会在达到此交点数后停止。这可以用于限制射线的范围,以提高性能。

五、Physics Raycaster:用于3D物理射线检测和UI元素交互的组件

属性信息可以参考Physics 2D Raycaster组件

六、Standalone Input Module:处理鼠标和键盘的输入,并将其转化为Unity的事件,用于驱动游戏逻辑或处理UI交互。它是构建与鼠标和键盘交互的应用程序或游戏的基础组件

Horizontal Axis(水平轴):指定用于水平移动的输入轴的名称。例如,可以使用"Horizontal"作为水平轴的名称。

Vertical Axis(垂直轴):指定用于垂直移动的输入轴的名称。例如,可以使用"Vertical"作为垂直轴的名称。

Submit Button(提交按钮):指定用于提交操作的输入按钮的名称。当用户按下该按钮时,会触发相应的提交事件。

Cancel Button(取消按钮):指定用于取消操作的输入按钮的名称。当用户按下该按钮时,会触发相应的取消事件。

Input Actions Per Second(每秒输入动作数):指定每秒处理的最大输入动作数。这用于限制输入事件的频率,以避免过多的输入事件导致性能问题。

Repeat Delay(重复延迟):指定重复触发按钮事件之前的延迟时间。当用户按住按钮不放时,按钮事件将在按下后的一段时间后开始持续触发。

Force Module Active(强制模块激活):当勾选此选项时,该输入模块将始终处于活动状态,即使在层次结构中被禁用的对象也一样。这可以确保输入事件的响应性。

七、Touch Input Module(Deprecated):用于处理触摸输入的模块

Force Module Active:定义了是否强制激活Touch Input Module模块,即使在游戏对象的层次结构中被禁用的情况下也会被启用。当勾选Force Module Active时,即使Touch Input Module所在的游戏对象及其父级对象被禁用,该模块仍然会被激活并处理触摸输入事件。这意味着即使对象不可见或不活动,该模块仍可以接收并处理触摸输入。

这个属性对于确保触摸输入的响应性很有用,因为它可以绕过对象禁用状态,确保Touch Input Module始终处于活动状态。

需要注意的是,Touch Input Module被标记为已弃用,不再推荐使用。现在触摸输入的处理在 StandaloneInputModule 中进行

相关推荐
VidDown4 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
VidDown4 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
夜猫逐梦4 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
VidDown4 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
叶帆4 天前
【YFIOs】用C#开发硬件之设备上云
开发语言·unity·c#
爱就是恒久忍耐4 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
久数君5 天前
AI三维建模工具“造形家”:地理场景三维化的高效解决方案
unity·glb·ai算法·ai三维建模工具·地图框选·造形家·城市建筑模型
bloglin999995 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
会思考的猴子5 天前
Unity VFX 属性 Postion 和 TargetPostion
unity
zyplayer-doc5 天前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新