跳至主要内容
版本: 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 >GetVerseGripDevices(HandednessType handedness =HandednessType.Nil)
检索与Inverse3 设备相关的、符合指定手势的 VerseGrip 设备集合。
Inverse3GetInverse3(uint id)
检索与给定唯一设备 ID 匹配的Inverse3 设备。
Inverse3获取反向3(HandednessType handedness =HandednessType.Nil)
检索符合指定手度的第一个Inverse3 设备。
Inverse3获取反向3(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的 VerseGrip 设备的无数集合,其对应设备符合手感标准,首先按是否准备就绪排序,然后按连接状态(降序)排序。

函数 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 设备。

参数

  • verseGrip要检索其关联设备的VerseGrip设备。 Inverse3要检索的关联设备的

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

函数 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 设备。

参数

返回:与指定设备链接的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;

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

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