跳至主要内容
版本: 2.0.0

Haply::Inverse::Unity::VerseGrip

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

继承于 DeviceBehaviour

公共活动​

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

公共职能​

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

受保护的功能​

名称
覆盖 void添加客户端监听器(内部客户端连接 clientConnection)
覆盖 void删除客户端监听器(内部客户端连接 clientConnection)

公共财产​

名称
覆盖 DeviceType设备类型
覆盖游标行为光标
四元数局部旋转
VerseGrip相对于父变换的方向。
bool是否连接
表示VerseGrip是否已连接到 Inverse3.
int按钮计数

公共属性​

名称
UnityEvent< VerseGrip >附加
当VerseGrip连接到设备时触发的事件。
UnityEvent< VerseGrip >脱离
VerseGrip与设备分离时触发的事件。
UnityEvent< VerseGrip, VerseGripButton >按钮按下
按下VerseGrip按钮时触发的事件。
UnityEvent< VerseGrip, VerseGripButton >按钮向上
释放VerseGrip按钮时触发的事件。

公共活动文件​

事件 DeviceStateChanged​

DeviceDelegate DeviceStateChanged()

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

请参见 ClientConfiguration.HapticFrequencyHz

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

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

公共函数文档​

函数 DeviceDelegate​

delegate void DeviceDelegate(
VerseGrip device
)

用于处理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事件。

受保护函数文档​

函数 AddClientListeners​

override void AddClientListeners(
Internal.ClientConnection clientConnection
)

函数 RemoveClientListeners​

override void RemoveClientListeners(
Internal.ClientConnection clientConnection
)

公共财产文件​

属性 DeviceType​

override DeviceType DeviceType;

游标属性​

override CursorBehaviour Cursor;

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

属性 LocalRotation​

Quaternion LocalRotation;

VerseGrip相对于父变换的方向。

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

属性 IsAttached​

bool IsAttached;

表示VerseGrip是否已连接到... Inverse3.

属性 ButtonCount​

static int ButtonCount;

公共属性文档​

附带变量​

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 元素进行交互。请注意,设备状态是在单独的高频线程上更新的,因此事件发生时的状态可能与处理事件时的当前状态略有不同。