0

我正在使用 Windows Mixed Reality 耳机(Lenovo Explorer)和 Unity 开发一个小型游戏项目。我目前正在运行最新的 MRTK v2.1 版本。

我正在使用自定义右手控制器。这是一个预制件,其中主要对象具有以下组件:

  1. mrtk 的WindowsMixedRealityControllerVisualizer脚本
  2. 一个输入控制器脚本(使用IMixedRealityInputHandler)来管理动作的输入(射击、跳跃等)
  3. 处理 VR 世界中实际动作的自定义脚本。

除了组件之外,它还有一个子对象,它是我要渲染的对象的 3D 模型预制件。它在一个孩子身上,所以我可以用一些偏移量正确放置它。AFAIK 这不是问题。整个事情是它自己的预制件,然后我在Global Right Hand Controller ModelMixedRealityControllerVisualizationProfile下添加我的自定义。一般来说,这就像我想要的那样工作。控制器在我的右手上正确呈现,输入的行为也像我想要的那样。

我的问题是,一旦在游戏中,当我单击主页按钮(Windows 徽标)以显示浮动菜单时,一旦我第二次单击返回游戏,就会在 0,0,0 处生成一个控制器(或者在我回到游戏时我的手在哪里);不过,我手上还有一个,而这个新的以与我手上的相同的方式响应输入。如果我再次打开/关闭主页按钮,这会重复,我最终会产生几个控制器。所以当我开枪时,我的手和新控制器在 0,0,0 处都开枪(或者从那时我已经在场景中结束的尽可能多的控制器)

我认为我的控制器永远不会丢失跟踪,所以 IDK 为什么 mrtk 会产生一个新控制器。我考虑过在场景中检查额外的控制器对象,并在每次更新时手动删除它们,但这听起来很傻,一定有一些配置可以肯定地解决这个问题,不是吗?可视化脚本不处理这个吗?

我在网上四处查看,但没有找到任何关于此的具体内容。任何线索都将受到欢迎。

4

1 回答 1

1

这听起来像是 MRTK 中的一个错误。我建议在https://github.com/microsoft/MixedRealityToolkit-Unity/issues的 github 存储库上归档和发布

于 2019-06-20T10:14:58.690 回答