我正在构建一个Unity应用,其目标环境必须包含混合现实。我已经在资产商店中找到了很好的文件选择器资产,但是即使在VR模式下,它们也都不会出现在“混合现实耳机”中。
我应该使用任何默认的MR资产,还是应该寻找什么?还是我必须从头开始构建所有这些?
谢谢
答案 0 :(得分:1)
VR的区别在于没有光标,因此常规EventSystem不能立即使用。对我有用的最简单的解决方法是: 将框对撞机组件添加到您的UI元素。从控制器对盒对撞机进行光线投射。如果对撞机具有实现IPointerClickHandler接口的组件,则可以对它触发OnPointerClick(PointerEventData e)方法,它将被视为有效单击(尽管绕过了事件系统导航)。
您需要传递一个PointerEventData对象,我不记得是否只能传递一个null,但是我很确定传递一个新的PointerEventData(EventSystems.current)很好。
对于拖动和更复杂的事件,您可能需要填写一些其他字段以使UI正常运行
答案 1 :(得分:0)
我最终使用从资产商店和混合现实工具箱购买的“文件管理器”资产编写了自己的文件选择器。对我来说,将它放在资产商店中是否值得,还是现在我们有了更好的MRTK,这是否已被事件所取代?