跳至主要内容
版本: 2.2.0

Haply::Inverse::Unity::DeviceMapper

DeviceMapper 类管理Unity环境中Haply设备的发现、映射和状态管理。 更多

Inherits from Haply.Inverse.Unity.Utilities.Singleton< DeviceMapper >, MonoBehaviour

公共类型

名称
枚举类设备信息轮询模式{ 手动, 一次, 连续}

公共活动

名称
州代表状态改变()
状态改变时触发的事件。
Action< DeviceMapperState, DeviceMapperState >StateChangedAsync()
处理状态更改后触发的Unity事件。

公共职能

名称
代表 void状态代理(DeviceMapperStatestate,DeviceMapperStateprevious)
用于处理状态变化的代理。
IEnumerable< Inverse3 >GetInverse3Devices(HandednessType handedness =HandednessType.Nil)
检索按指定手度筛选的 Inverse3 设备集合。
IEnumerable< VerseGrip >获取反握把设备(HandednessType handedness =HandednessType.Nil)
检索与符合指定手度的 Inverse3 设备相关联的 VerseGrip 设备集合。
逆 3GetInverse3(uint id)
检索与给定唯一设备 ID 匹配的 Inverse3 设备。
逆 3获取反3(HandednessType handedness =HandednessType.Nil)
检索符合指定手度的第一个 Inverse3 设备。
逆 3GetInverse3(VerseGrip verseGrip)
读取与给定 VerseGrip 设备相关联的 Inverse3 设备。
VerseGrip获取 VerseGrip(uint id)
检索与给定的唯一设备 ID 匹配的 VerseGrip 设备。
VerseGrip获取手柄(HandednessType handedness =HandednessType.Nil)
检索符合指定手度的第一个 VerseGrip 设备。
VerseGripGetVerseGrip(Inverse3inverse3)
检索与指定 Inverse3 设备相关联的 VerseGrip 设备。
游戏对象获取设备游戏对象(uint id)
使用指定的设备 ID 读取与映射设备(Inverse3 或 VerseGrip)相关的 GameObject。
覆盖字符串ToString()

受保护的功能

名称
虚拟覆盖 void醒来()
虚拟覆盖 void开启()
虚拟覆盖 void禁用时()
虚拟覆盖 void更新()
虚拟覆盖 void销毁时()

公共财产

名称
bool已就绪
检查设备映射器是否处于 "就绪 "状态。
设备映射器状态状态
获取或设置设备映射器的当前状态。
客户端连接客户端连接

公共属性

名称
UnityEvent就绪
设备映射器就绪时触发的统一事件。
设备信息轮询模式devicesInfoPollingMode
指定轮询设备信息的模式。
浮动设备信息轮询延迟
自动轮询设备信息的频率(秒)。

其他继承成员

Public Functions inherited from Haply.Inverse.Unity.Utilities.Singleton< DeviceMapper >

名称
bool存在()

Protected Functions inherited from Haply.Inverse.Unity.Utilities.Singleton< DeviceMapper >

名称
虚拟 void在应用程序退出时()

Public Properties inherited from Haply.Inverse.Unity.Utilities.Singleton< DeviceMapper >

名称
T实例
获取单例类的实例。

Protected Properties inherited from Haply.Inverse.Unity.Utilities.Singleton< DeviceMapper >

名称
bool应用程序退出

详细说明

class Haply::Inverse::Unity::DeviceMapper;

DeviceMapper 类在Unity环境中管理Haply设备的发现、映射和状态管理。

它协调软件和物理设备之间的交互,允许根据运行时条件进行动态控制和配置。启用组件后,该类会根据预配置的筛选条件(如 SelectedId 和 SelectedHandedness)自动初始化设备映射。

可以通过在启动时禁用组件来延迟初始化过程,以便在运行时更改配置,然后再启用组件来初始化设备映射。

公共类型文档

枚举设备信息轮询模式

计数器价值说明
手册禁用自动设备信息轮询。
一次在设备打开后立即轮询一次设备信息。
连续以 devicesInfoPollDelay 定义的频率持续轮询设备信息。

公共活动文件

事件 StateChanged

StateDelegate StateChanged()

状态改变时触发的事件。

事件 StateChangedAsync

Action< DeviceMapperState, DeviceMapperState > StateChangedAsync()

处理状态更改后触发的统一事件。

公共函数文档

函数 StateDelegate

delegate void StateDelegate(
DeviceMapperState state,
DeviceMapperState previous
)

处理状态变化的代理。

函数 GetInverse3Devices

IEnumerable< Inverse3 > GetInverse3Devices(
HandednessType handedness =HandednessType.Nil
)

检索按指定手性筛选的 Inverse3 设备集合。

参数

  • 要筛选设备的手度,或者 Nil 表示返回所有设备。

返回:符合手性标准的Inverse3设备的可枚举集合,首先按是否就绪排序,然后按连接状态(降序)排序。

函数 GetVerseGripDevices

IEnumerable< VerseGrip > GetVerseGripDevices(
HandednessType handedness =HandednessType.Nil
)

读取与 Inverse3 设备关联且符合指定手势的 VerseGrip 设备集合。

参数

  • 手度用来筛选设备的手度,或 Nil 用来包含所有设备。

返回VerseGrip设备的可枚举集合,其对应的Inverse3设备符合手性标准,首先按是否准备就绪排序,然后按连接状态(降序)排序。

函数 GetInverse3

Inverse3 GetInverse3(
uint id
)

读取与给定唯一设备 ID 匹配的 Inverse3 设备。

参数

  • id Inverse3设备的唯一标识符。

返回值:如果找到Inverse3设备;否则为空。

函数 GetInverse3

Inverse3 GetInverse3(
HandednessType handedness =HandednessType.Nil
)

读取第一个符合指定手性的 Inverse3 设备。

参数

  • 与设备匹配手度类型。如果未指定,默认为 HandednessType.Nil,即不应用特定的手性过滤器。

返回值:如果找到第一个匹配的Inverse3设备,则返回空值;否则返回空值。

设备的优先级和排序首先取决于其就绪程度,然后取决于其连接状态(降序)。

函数 GetInverse3

Inverse3 GetInverse3(
VerseGrip verseGrip
)

读取与给定 VerseGrip 设备相关联的 Inverse3 设备。

参数

返回值:链接到指定VerseGripInverse3设备;否则,如果不存在链接,则为空。

函数 GetVerseGrip

VerseGrip GetVerseGrip(
uint id
)

读取与给定的唯一设备 ID 匹配的 VerseGrip 设备。

参数

返回值:如果找到VerseGrip设备;否则为空。

函数 GetVerseGrip

VerseGrip GetVerseGrip(
HandednessType handedness =HandednessType.Nil
)

读取第一个符合指定手势的 VerseGrip 设备。

参数

  • 与设备匹配手度类型。如果未指定,默认为 HandednessType.Nil,即不应用特定的手性过滤器。

返回值:如果找到第一个匹配的Inverse3设备,则返回空值;否则返回空值。

设备的优先级和排序首先取决于其就绪程度,然后取决于其连接状态(降序)。

函数 GetVerseGrip

VerseGrip GetVerseGrip(
Inverse3 inverse3
)

读取与指定 Inverse3 设备关联的 VerseGrip 设备。

参数

返回值:与指定Inverse3 相连的VerseGrip设备;否则,如果不存在链接,则为空。

函数 GetDeviceGameObject

GameObject GetDeviceGameObject(
uint id
)

使用指定的设备 ID 读取与映射设备(Inverse3 或 VerseGrip)相关联的 GameObject。

参数

  • id设备的唯一标识符。

返回值如果找到与映射设备相关联的 GameObject,否则为空。

函数 ToString

override string ToString()

受保护函数文档

功能 唤醒

virtual override void Awake()

重实现Haply::Inverse::Unity::Utilities::Singleton::Awake

函数 OnEnable

virtual override void OnEnable()

重实现Haply::Inverse::Unity::Utilities::Singleton::OnEnable

函数 OnDisable

virtual override void OnDisable()

重实现Haply::Inverse::Unity::Utilities::Singleton::OnDisable

功能更新

virtual override void Update()

重实现Haply::Inverse::Unity::Utilities::Singleton::Update

函数 OnDestroy

virtual override void OnDestroy()

重实现Haply::Inverse::Unity::Utilities::Singleton::OnDestroy

公共财产文件

属性 IsReady

bool IsReady;

检查设备映射器是否处于 "就绪 "状态。

财产国

DeviceMapperState State;

获取或设置设备映射器的当前状态。

属性

ClientConnection ClientConnection;

公共属性文档

变量就绪

UnityEvent Ready;

设备映射器就绪时触发的Unity事件。

变量 devicesInfoPollingMode

DeviceInfoPollingMode devicesInfoPollingMode = DeviceInfoPollingMode.Once;

指定轮询设备信息的模式。

变量 devicesInfoPollDelay

float devicesInfoPollDelay = DEFAULT_INFO_POLL_DELAY;

自动轮询设备信息的频率(秒)。

较低的值可能会导致触觉抖动和性能下降。