自定义手势组件
- 默认情况下我们只需要设置RKHand,默认初始化交互器类型和默认激活类型,各个模块的交互器类型,将通过脚本自动加载
- 我们想要修改交互以RKHand为例,我们有几种方式重置交互器的默认加载
- 我们可以将RKHand的预制体拖拽到场景层级试图中,进行修改,事件输入模块会直接使用场景中的 RKHand
- 我们将 Roikd Unity XR SDK/Runtime/Resources/Prefabs/Interactor/中的 RKHand 预制体复制到 Asset/Resources/Prefabs/Interactor 下进行修改,我们加载程序会优先加载 Asset/Resources/Prefabs/Interactor 下的 RKHand 从而实现覆盖
- 具体 RKHand 如何设置请参考RKHand基础组件说明
自定义手势
UXR2.0 SDK 为开发者提供了手、骨骼的位姿信息,开发者可以通过对手、骨骼的位姿信息进行自定义的手势处理。
1、手势类型
UXR2.0 SDK 提供了OpenPinch、Pinch、Palm、Grip 四种手势状态。
图中一共5中手势,分别为OpenPinch、Pinch、近场单指、Palm、Grip
开发者可以通过GesEventInput.Instance.GetGestureType(HandType handType)
接口获取到当前手势类型。(需要注意,单指状态较特殊,仅参与近场交互)。返回值为GestureType
枚举,参数为HandType
枚举。
其中参数HandType
枚举为需要获取的是左手还是右手的手势状态,必须传入HandType.LeftHand
或HandType.RightHand
。
public enum HandType
{
None,//
RightHand,//右手
LeftHand//左手
}