混合现实 Unity 文件选取器

Mixed Reality Unity File Picker

我正在构建目标环境必须包含混合现实的 Unity 应用。我已经能够在资产商店中找到非常好的文件选择器资产,但其中 none 似乎可以在混合现实耳机中使用,尽管即使在 VR 模式下它们也会出现在屏幕上。

是否有任何我应该使用的默认 MR 资产,或者是否有任何我应该寻找的东西?还是我必须从头开始构建所有这些?

谢谢

VR 的不同之处在于没有光标,因此普通的 EventSystem 无法开箱即用。对我有用的最简单的解决方法是: 向 UI 元素添加一个盒子碰撞器组件。来自控制器的 Raycast 对抗盒子碰撞器。如果碰撞器有一个实现 IPointerClickHandler 接口的组件,您可以针对它触发 OnPointerClick(PointerEventData e) 方法,它将被视为有效点击(尽管绕过事件系统导航)。

你需要传递一个 PointerEventData 对象,我不记得你是否可以只传递一个空值,但我很确定传递一个新的 PointerEventData(EventSystems.current) 就可以了。

对于拖动和更复杂的事件,您可能需要填写一些额外的字段以使 UI 正常运行

我最终使用从资产商店购买的 "file manager" 资产和混合现实工具包编写了自己的文件选择器。将它放在资产商店对我来说是否值得,或者现在我们有更好的 mrtk 可用,这会被事件所取代吗?