我的自定义控制器有 3 个指针。
- 光线指针(工作良好)
- 戳指针(工作良好)
- 抓取指针(具有 SpherePointer.cs 组件)不起作用
使用 MRTK 2.3,所有这些都可以正常工作。我没有更改场景中的任何内容并更新到 MRTK 2.4。
在 MRTK 2.4 中,抓取指针不再工作......当将它移动到 nearGrabbable 对象附近时,我无法抓取它,因为它没有被识别为 GrabPointer(黄色的调试射线不在编辑器中绘制)。
但是当我使用铰接式手抓指针时,它可以工作。所以我复制了预制件,只更改了姿势动作和指针动作,但它不起作用。使用 SpherePointer 时我缺少什么?
控制器的姿势变化如下:
CoreServices.InputSystem.RaisePoseInputChanged(InputSource, ControllerHandedness, Interactions[i].MixedRealityInputAction, controllerPose);
按钮按下如下:
CoreServices.InputSystem?.RaiseOnInputDown(InputSource, ControllerHandedness, Interactions[i].MixedRealityInputAction);
CoreServices.InputSystem?.RaiseOnInputUp(InputSource, ControllerHandedness, Interactions[i].MixedRealityInputAction);
编辑:
用于重现 Bug 的自定义输入设备链接: https ://wetransfer.com/downloads/27b3f2b90c18516dc47a35cf645dc25820200728111556/10711a
- 创建一个空的新 Unity 项目(2018.4.X,但与 2019.4.X 相同)
- 导入 MRTK 2.4
- 导入我的自定义输入包
- 打开 Bug 场景,发现球体指针不适用于自定义输入设备。