Skip to content

ControllerInfo

说明

类。

命名空间:EZXR.Glass.Inputs

继承自类 InputInfoBase。

描述

记录手柄的信息

public 属性

Transform handleOrigin
手柄节点。
bool IsBinding
手柄是否已经与系统绑定/配对。
bool IsConnected
手柄当前是否已经与系统连接。
float PowerStats
手柄当前的电量。
bool IsHeld
手柄当前是否被握持
bool IsSilent
手柄当前是否被静置
bool Exist

眼镜当前是否检测到这只手(不在视野内也是可以检测到的,如果需要在视野内的判定请调用 InView 方法)。
bool Enabled

全局手柄开关,与 EnableByExternal 互斥,由外部直接修改,如果置为 false 的话,Visibility 和 RaycastInteraction 将会失效,且被置为 false。
bool Visibility
设置或获得当前手柄的显示状态(仅仅影响显示,并不影响交互),如果 Enabled 为 false 则 Visibility 也将为 false。
bool RaycastInteraction
设置或获得手柄射线交互状态(true:启用射线交互模块;false:禁用射线交互模块),如果 Enabled 为 false 则 RaycastInteraction 也将为 false。
bool TouchInteraction
设置或获得近距离交互状态,手柄暂不支持,会一直为 false。
bool PhysicsInteraction
设置或获得手部的物理碰撞交互状态,手柄暂不支持,会一直为 false。

public 方法

bool isPalmFacingHead(float angle = 90)

使用手柄时,没有手掌信息,因此总是返回 false。
返回值:总是返回 false。
void Init(InputType inputType, HandType handType)
初始化手柄信息,SDK 内部使用,开发者不需要直接使用
void UpdateBindingState(bool status, Action<bool> callback)
同步更新手柄绑定/配对信息,SDK 内部使用,开发者不需要直接使用
void UpdateConnectedState(bool connected, Action<bool> callback)
同步更新手柄连接信息,SDK 内部使用,开发者不需要直接使用
UpdatePowerStats(float power, Action<float> callback)
同步更新手柄电量信息,SDK 内部使用,开发者不需要直接使用
void UpdateButtonState(HandleKeyCode keyCode, bool pressed)
同步更新手柄按键信息,SDK 内部使用,开发者不需要直接使用
void UpdateAxis2D(Vector2 coord)
同步更新手柄轴向信息,SDK 内部使用,开发者不需要直接使用
void UpdateHoldState(bool isHeld, Action<bool> callback)
同步更新手柄握持信息,SDK 内部使用,开发者不需要直接使用
void UpdateSilenceState(bool isSilent, Action<bool> callback)
同步更新手柄静置信息,SDK 内部使用,开发者不需要直接使用
bool GetButtonDown(HandleKeyCode keyCode)
获取手柄指定按钮是否按下。
返回值:true,指定按钮按下;false,指定按钮未被按下。
参数:keycode,指定按钮类型,参考 HandleKeyCode
bool GetButtonUp(HandleKeyCode keyCode)
获取手柄指定按钮是否弹起。
返回值:true,指定按钮弹起;false,指定按钮未弹起。
参数:keycode,指定按钮类型,参考 HandleKeyCode
bool GetButton(HandleKeyCode keyCode)

获取手柄指定按钮是否被长按。
返回值:true,指定按钮长按;false,指定按钮未长按。
参数:keycode,指定按钮类型,参考 HandleKeyCode
Vector2 GetAxis2D()
获取手柄摇杆的坐标。
返回值:返回遥感的坐标,坐标范围[-1,-1]到[1,1],复位为[0,0]。