了解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 中进行

相关推荐
大Mod_abfun5 小时前
Unity游戏基础-2(初识场景~项目构建)
游戏·unity·游戏引擎
新人11yj46 小时前
最好的图像编辑器有哪些?
编辑器
secondyoung7 小时前
Markdown转换为Word:Pandoc模板使用指南
开发语言·经验分享·笔记·c#·编辑器·word·markdown
maki07710 小时前
虚幻版Pico大空间VR入门教程 04 —— PicoOpenXR和PicoXR插件对于PDC串流、SteamVR串流、OpenXR串流对比 和 手势追踪对比
游戏引擎·vr·虚幻·pico·手势追踪·串流
maki07710 小时前
虚幻版Pico大空间VR入门教程 03 —— PicoXR插件和PicoOpenXR插件的文档对比记录
游戏引擎·虚幻·pico
maki07714 小时前
虚幻版Pico大空间VR入门教程 02 —— Pico设备选择
游戏引擎·vr·虚幻·pico
HELLOMILI17 小时前
[UnrealEngine] 虚幻引擎UE5地形入门指南 | UE5地形教程(UE5 Terrain)
游戏·ue5·游戏引擎·虚幻·虚幻引擎·unreal engine
新人11yj418 小时前
当 AI 走进图像编辑:Bing 照片编辑器的实用价值与体验观察
人工智能·编辑器
爱吃小胖橘1 天前
Lua语法
开发语言·unity·lua
楼田莉子1 天前
vscode搭建C/C++配置开发环境
c语言·开发语言·c++·vscode·学习·编辑器