🟥 物体响应交互事件
描述:
有时,我们会需要规定某物体,当射线进入、移出,
或是点击时,进行某些动作。
那该条交互方式适合你。
1、配置要交互的物体
给要交互的物体挂载Collider
2、配置合适的脚本
给该物体赋值如下内容的脚本,书写你的代码即可:
- 引用 SC.XR.Unity.Module_InputSystem
- 继承 IPointerHandler 接口
接下来,你便可以在实现接口的方法里,写你想要的代码了。
该方法支持的事件有:
- 进入
- 移出
- 按下
- 点击
- 抬起
- 拖拽
🟧 注册监听按键事件
描述:
有时,我们会要检测某些按键按下,或抬起的动作。并想做成注册事件的形式。当某按键发生想要的交互时,调用自己的方法。
那该条交互方式适合你。
注册按键事件代码:
private void Start() { //这儿举例 按键抬起 事件 DispatcherBase.KeyUpDelegateRegister((t1, t2) => { //当Trigger键抬起,且是左手柄时,调用 MyMethod() if (t1 == InputKeyCode.Trigger && t2.PartType == InputDevicePartType.KSLeft) { MyMethod(); } }); } void MyMethod() { }
🟨 判断按键状态
描述:
有时,我们会在某一刻,检测某按键的状态是如何,得到状态值。
那该条交互方式适合你。
交互方式举例:
private void Update() { //得到当前头部设备Enter键是否按下 bool value = API_GSXR_Module_InputSystem_Head.GSXR_Is_HeadKeyDown(InputKeyCode.Enter); //得到头部按钮的状态 InputKeyState keyState = API_GSXR_Module_InputSystem_Head.GSXR_HeadKeyState(InputKeyCode.Enter); }
除了头部设备,还有手柄设备等等输入设备。
不同设备的API不同,且所在的脚本不同。
老弟们可到对应的GSXR脚本去寻找 👇