2D 物理射线投射器
触摸输入模块

独立输入模块

根据设计,该模块与控制器/鼠标输入具有相同的功能。响应输入时会发送按钮按压、拖拽以及类似事件。

当鼠标/输入设备移动时,该模块将指针事件发送到组件,并使用图形射线投射器 (Graphics Raycaster)物理射线投射器 (Physics Raycaster) 来计算给定指针设备当前指向的元素。您可以配置这些射线投射器来检测或忽略场景的某些部分,从而满足您的要求。

The module sends move events and submit / cancel events in response to Input tracked via the Input window. This works for both keyboard and controller input. The tracked axis and keys can be configured in the module’s inspector.

属性

属性: 功能:
Horizontal Axis 为水平轴按钮输入所需的管理器名称。
Vertical Axis 为垂直轴输入所需的管理器名称。
Submit Button 为 Submit 按钮输入所需的管理器名称。
Cancel Button 为 Cancel 按钮输入所需的管理器名称。
Input Actions Per Second 每秒允许的键盘/控制器输入数量。
Repeat Delay 每秒输入操作重复率生效前的延迟秒数。
Force Module Active Enable this property to force this Standalone Input Module to be active.

详细信息

该模块:

  • 使用垂直/水平轴进行键盘和控制器导航
  • 使用 Submit/Cancel 按钮发送提交和取消事件
  • 在事件之间有一个超时值仅允许每秒的最大事件数。

该模块的流程如下

  • Send a Move event to the selected object if a valid axis from the Input window is entered
  • 如果按下了 Submit 或 Cancel 按钮,则向所选对象发送 Submit 或 Cancel 事件
  • 处理鼠标输入
    • 如果这是新的按压操作
      • 发送 PointerEnter 事件(向上发送到层级视图中可对其进行处理的每个对象)
      • 发送 PointerPress 事件
      • 缓存拖动处理程序(层级视图中可对其进行处理的第一个元素)
      • 将 BeginDrag 事件发送到拖动处理程序
      • 在事件系统中将“Pressed”对象设置为 Selected
    • 如果这是持续按压操作
      • 处理移动
      • 将 DragEvent 发送到缓存的拖动处理程序
      • 如果触摸在对象之间移动,则处理 PointerEnter 和 PointerExit 事件
    • 如果这是释放操作
      • 将 PointerUp 事件发送到收到 PointerPress 的对象
      • 如果当前悬停对象与 PointerPress 对象相同,则发送 PointerClick 事件
      • 如果缓存了拖动处理程序,则发送 Drop 事件
      • 将 EndDrag 事件发送到缓存的拖动处理程序
    • 处理滚轮事件
2D 物理射线投射器
触摸输入模块