跳至主要内容
版本: 2.2.0

Haply::Inverse::Unity::VerseGrip

代表 VerseGrip 设备,处理其状态和交互。

继承于Haply.Inverse.Unity.DeviceBehaviour, MonoBehaviour

公共活动

名称
设备代理设备状态改变()
VerseGrip设备状态发生变化时触发的事件。

公共职能

名称
代表 void设备代理(VerseGrip verseGrip)
用于处理VerseGrip状态变化的代理。
bool获取按钮(VerseGripButton button =VerseGripButton.Button0)
当用户按住按钮时返回 true。
boolGetButtonDown(VerseGripButton button =VerseGripButton.Button0)
在用户开始按下指定按钮的帧期间返回 true。
boolGetButtonUp(VerseGripButton button =VerseGripButton.Button0)
在用户开始释放指定按钮的帧期间返回 true。

受保护的功能

名称
覆盖 voidInvokeReadyEvent()

公共财产

名称
覆盖 DeviceType设备类型
覆盖游标行为光标
四元数局部旋转
四元数方向
VerseGrip方向。
bool是否连接
表示VerseGrip是否连接到Inverse3

受保护的财产

名称
覆盖基坐标转换器坐标转换器

公共属性

名称
UnityEvent< VerseGrip >就绪
VerseGrip设备已成功初始化并可使用时触发的事件。
UnityEvent< VerseGrip >附加
VerseGrip连接到设备时触发的事件。
UnityEvent< VerseGrip >脱离
VerseGrip与设备分离时触发的事件。
UnityEvent< VerseGrip, VerseGripButton >按钮按下
按下VerseGrip按钮时触发的事件。
UnityEvent< VerseGrip, VerseGripButton >按钮向上
释放VerseGrip按钮时触发的事件。

其他继承成员

继承自Haply.Inverse.Unity.DeviceBehaviour的公共事件

名称
Action< DeviceBehaviour, Ret >错误事件()
连接状态代理连接状态改变()
设备连接状态发生变化时触发的事件。
Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState >ConnectionStateChangedAsync()
设备连接状态改变后不久触发的事件。

继承自Haply.Inverse.Unity.DeviceBehaviour的公共函数

名称
代表 void连接状态代理(DeviceBehaviourdevice, DeviceConnectionState state, DeviceConnectionState prevState)
用于处理设备连接状态更改的代理。
空白设置执行()
表示在下一帧执行设置。
覆盖字符串ToString()
返回对象的字符串表示,提供人可读的描述,包括对象名称、类类型和设备 ID。

继承自Haply.Inverse.Unity.DeviceBehaviour的受保护函数

名称
虚拟 void设置()
一旦设置了 _performSetup 标志,该方法就会被自动调用,以处理过于繁重的计算消耗,而无法在每一帧中调用。
虚拟 void醒来()
空白开启()
空白禁用时()
空白销毁时()
虚拟 void固定更新()

继承自Haply.Inverse.Unity.DeviceBehaviour的公共属性

名称
int所选设备标识
整数设备 ID
获取设备 ID。
bool已就绪
指示设备是否已准备就绪可以使用。
设备连接状态连接状态
获取或设置设备的当前连接状态。
bool是否已连接
获取设备是否已连接。
bool是否已打开
获取设备是否已打开。

继承自Haply.Inverse.Unity.DeviceBehaviour的受保护属性

名称
bool是否已设置光标
指示是否已设置光标。

继承自Haply.Inverse.Unity.DeviceBehaviour的公共属性

名称
const intANY_ID
UnityEvent< DeviceBehaviour >设备打开
ConnectionState过渡到 DeviceConnectionState.Opened 状态时触发的事件。
UnityEvent< DeviceBehaviour >设备关闭
ConnectionState过渡到 DeviceConnectionState.Connected 状态时触发的事件。

继承自Haply.Inverse.Unity.DeviceBehaviour的受保护属性

名称
字符串对象名称

公共活动文件

事件 DeviceStateChanged

DeviceDelegate DeviceStateChanged()

VerseGrip设备的状态发生变化时触发的事件。

请参见 客户端配置.HapticPollFrequency(触觉轮询频率

该事件可用于实时响应设备方向或按钮按压的变化。在此事件中,您可以使用LocalRotationGetButtonIsAttached 等属性。

触发该事件的频率由触觉循环频率决定,可通过ClientConfiguration.HapticPollFrequency 进行配置。

公共函数文档

函数 DeviceDelegate

delegate void DeviceDelegate(
VerseGrip verseGrip
)

用于处理VerseGrip状态变化的代理。

参数

函数 GetButton

bool GetButton(
VerseGripButton button =VerseGripButton.Button0
)

用户按住按钮时返回 true。

参数

  • 按钮要检查的按钮。

返回值如果按钮被按下则返回 true,否则返回 false。

函数 GetButtonDown

bool GetButtonDown(
VerseGripButton button =VerseGripButton.Button0
)

在用户开始按下指定按钮的帧中返回 true。

参数

  • 按钮要检查的按钮。

请参见ButtonDown,ButtonUp,DeviceStateChanged,GetButton,GetButtonUp

返回值如果本帧按下了按钮,则返回 true,否则返回 false。

该方法应在DeviceStateChanged事件回调中调用,才能正常工作。从主线程调用该方法可能会错过按钮状态改变时的帧。对于主线程,最好使用ButtonDown事件。

函数 GetButtonUp

bool GetButtonUp(
VerseGripButton button =VerseGripButton.Button0
)

在用户开始释放指定按钮的帧中返回 true。

参数

  • 按钮要检查的按钮。

请参见ButtonDown,ButtonUp,DeviceStateChanged,GetButton, GetButtonDown

返回值如果本帧释放了按钮,则返回 true,否则返回 false。

该方法应在DeviceStateChanged事件回调中调用,才能正常工作。从主线程调用该方法可能会错过按钮状态改变时的帧。对于主线程,最好使用ButtonUp事件。

受保护函数文档

函数 InvokeReadyEvent

override void InvokeReadyEvent()

公共财产文件

属性 DeviceType

override DeviceType DeviceType;

游标属性

override CursorBehaviour Cursor;

此属性覆盖基本的DeviceBehaviour.Cursor属性,并可安全地转换为VerseGripCursor。设置此属性也会更新 DeviceBehaviour._performSetup 标志。

属性 LocalRotation

Quaternion LocalRotation;

物业定位

Quaternion Orientation;

VerseGrip方向。

设备DeviceBehaviour.ConnectionState必须先为 DeviceConnectionState.Opened,才能获得一致的值。

属性 IsAttached

bool IsAttached;

表示VerseGrip是否连接到Inverse3

受保护财产文件

属性

override BaseCoordinateConverter CoordinateConverter;

公共属性文档

变量就绪

UnityEvent< VerseGrip > Ready;

VerseGrip设备已成功初始化并可以使用时触发的事件。

附带变量

UnityEvent< VerseGrip > Attached;

VerseGrip连接到设备时触发的事件。

该事件在主线程上派发,因此可以安全地与Unity场景对象和 UI 元素进行交互。请注意,设备状态是在单独的高频线程上更新的,因此事件发生时的状态可能与处理事件时的当前状态略有不同。

可变 独立式

UnityEvent< VerseGrip > Detached;

VerseGrip与设备分离时触发的事件。

该事件在主线程上派发,因此可以安全地与Unity场景对象和 UI 元素进行交互。请注意,设备状态是在单独的高频线程上更新的,因此事件发生时的状态可能与处理事件时的当前状态略有不同。

变量 ButtonDown

UnityEvent< VerseGrip, VerseGripButton > ButtonDown;

按下VerseGrip按钮时触发的事件。

该事件在主线程上派发,因此可以安全地与Unity场景对象和 UI 元素进行交互。请注意,设备状态是在单独的高频线程上更新的,因此事件发生时的状态可能与处理事件时的当前状态略有不同。

变量 ButtonUp

UnityEvent< VerseGrip, VerseGripButton > ButtonUp;

释放VerseGrip按钮时触发的事件。

该事件在主线程上派发,因此可以安全地与Unity场景对象和 UI 元素进行交互。请注意,设备状态是在单独的高频线程上更新的,因此事件发生时的状态可能与处理事件时的当前状态略有不同。