Skip to content

HandleControllerManager

说明

类。

命名空间:EZXR.Glass.Inputs

继承自类 MonoBehaviour。

描述

手柄管理类。

public 静态属性

HandleControllerManager Instance
实例单例,获取当前的手柄控制器。
ControllerInfo leftHand
左手柄信息的当前实例。
ControllerInfo rightHand
右手柄信息的当前实例。

public 属性

Transform leftController
左手柄模型
Transform rightController
右手柄模型
bool freezePosition_Y
设置是否冻结 Y 轴位置,冻结后 Y 轴的位置不可移动,世界坐标系。
bool freezePosition_Z
设置是否冻结 Z 轴位置,冻结后 Z 轴的位置不可移动,世界坐标系。
bool freezeRotation
设置是否冻结旋转,冻结后不可再被旋转。
bool freezeScale_X
设置是否冻结 X 轴缩放,自身坐标系。
bool freezeScale_Y
设置是否冻结 Y 轴缩放,自身坐标系。
bool freezeScale_Z
设置是否冻结 Z 轴缩放,自身坐标系。

public 方法

void InitRegistration(Action<HandType, bool> bindingEventCallback, Action<HandType, bool> connectedEventCallback, Action<HandType, float> powerChangedCallback)
初始化注册,监听手柄生命状态。
通过回调返回具体的事件通知。
参数:
bindingEventCallback,绑定状态改变的回调事件;
connectedEventCallback,连接状态改变的回调事件;
powerChangedCallback,电量改变的回调事件。
void InitRegistration(Action<HandType, bool> bindingEventCallback, Action<HandType, bool> connectedEventCallback, Action<HandType, float> powerChangedCallback, Action<HandType, int> trackingStateChangedCallback)
初始化注册,监听手柄生命状态。
通过回调返回具体的事件通知。
参数:
bindingEventCallback,绑定状态改变的回调事件;
connectedEventCallback,连接状态改变的回调事件;
powerChangedCallback,电量改变的回调事件;
trackingStateChangedCallback,跟踪状态改变的回调事件(3/6dof)。
void InitRegistration(Action<HandType, bool> bindingEventCallback, Action<HandType, bool> connectedEventCallback, Action<HandType, float> powerChangedCallback, Action<HandType, bool> buttonChangedCallback, Action<HandType, bool> holdChangedCallback, Action<HandType, bool> silenceChangedCallback)
通过回调返回具体的事件通知。
参数:
bindingEventCallback,绑定状态改变的回调事件;
connectedEventCallback,连接状态改变的回调事件;
powerChangedCallback,电量改变的回调事件;
trackingStateChangedCallback,跟踪状态改变的回调事件(3/6dof);
silenceChangedCallback"> 静置状态改变的回调。
bool BindHandle(HandType handType)
进行手柄配对。
返回值:true,操作成功,false,操作失败,配对结果从回调中获取。
参数:左手柄还是右手柄。
bool UnbindHandle(HandType handType)
取消手柄配对。
返回值:true,操作成功,false,操作失败,配对结果从回调中获取。
参数:左手柄还是右手柄。
bool GetBindState(HandType handType)
获取手柄绑定状态。
返回值:true,绑定成功,false,没有绑定。
参数:handType,左手柄还是右手柄。
bool VibrateHandle(HandType handType, int level, int time)
手柄震动。
返回值:true,操作成功,false,操作失败,无回调。
参数:handType,左手柄还是右手柄; level,震动等级 1-8; time,震动时长 0-65535 ms。
bool GetConnectState(HandType handType)
获取手柄连接状态。
返回值:true,连接中,false,未连接。
参数:handType,左手柄还是右手柄
float GetPowerStats(HandType handType)
获取手柄电量。
返回值:电量百分比。
参数:handType,左手柄还是右手柄。
bool GetButtonDown(HandleKeyCode keyCode)
手柄按键是否按下(任意手柄)。
返回值:true,被按下;false,没有被按下。
参数:指定按键。
bool GetButtonDown(HandType handType, HandleKeyCode keyCode)
手柄按键是否按下。
返回值:true,被按下;false,没有被按下。
参数:handType,左手柄还是右手柄; keyCode,指定按键。
bool GetButtonUp(HandleKeyCode keyCode)
手柄按键是否弹起(任意手柄)。
返回值:true,被弹起;false,没有弹起。
参数:指定按键。
bool GetButtonUp(HandType handType, HandleKeyCode keyCode)
手柄按键是否弹起。
返回值:true,弹起;false,没有弹起。
参数:handType,左手柄还是右手柄; keyCode,指定按键。
bool GetButton(HandleKeyCode keyCode)
手柄按键是否长按(任意手柄)。
返回值:true,被长按;false,没有长按。
参数:指定按键。
bool GetButton(HandType handType, HandleKeyCode keyCode)
手柄按键是否长按。
返回值:true,长按;false,没有弹长按
参数:handType,左手柄还是右手柄; keyCode,指定按键。
Vector2 GetAxis2D(HandType handType)
获取手柄摇杆坐标。
返回值:vector2,坐标范围[-1,-1]到[1,1],复位为[0,0]
参数:handType,左手柄还是右手柄。
void SetActive(bool value)
控制器统一管理时,激活手柄功能。
参数:true,激活手柄,false,关闭手柄活动。