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 设备集合。 |
逆 3 | GetInverse3(uint id) 检索与给定唯一设备 ID 匹配的 Inverse3 设备。 |
逆 3 | 获取反3(HandednessType handedness =HandednessType.Nil) 检索符合指定手度的第一个 Inverse3 设备。 |
逆 3 | GetInverse3(VerseGrip verseGrip) 读取与给定 VerseGrip 设备相关联的 Inverse3 设备。 |
VerseGrip | 获取 VerseGrip(uint id) 检索与给定的唯一设备 ID 匹配的 VerseGrip 设备。 |
VerseGrip | 获取手柄(HandednessType handedness =HandednessType.Nil) 检索符合指定手度的第一个 VerseGrip 设备。 |
VerseGrip | GetVerseGrip(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 设备。
参数
返回值:链接到指定VerseGrip 的Inverse3设备;否则,如果不存在链接,则为空。
函数 GetVerseGrip
VerseGrip GetVerseGrip(
uint id
)
读取与给定的唯一设备 ID 匹配的 VerseGrip 设备。
参数
- 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;
自动轮询设备信息的频率(秒)。
较低的值可能会导致触觉抖动和性能下降。