Haply::Inverse::Unity::VerseGrip
代表 VerseGrip 设备,处理其状态和交互。
继承于 DeviceBehaviour
公共活动
名称 | |
---|---|
设备代理 | 设备状态改变() VerseGrip设备状态发生变化时触发的事件。 |
公共职能
名称 | |
---|---|
代表 void | 设备代理(VerseGripdevice) 用于处理VerseGrip状态变化的代理。 |
bool | 获取按钮(VerseGripButtonbutton =VerseGripButton.Button0) 当用户按住按钮时返回 true。 |
bool | GetButtonDown(VerseGripButtonbutton =VerseGripButton.Button0) 在用户开始按下指定按钮的帧期间返回 true。 |
bool | GetButtonUp(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状态变化的代理。
参数
- 设备触发事件的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;
属性 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 元素进行交互。请注意,设备状态是在单独的高频线程上更新的,因此事件发生时的状态可能与处理事件时的当前状态略有不同。