跳转到内容

桌面应用

vrOS 首先是一个桌面应用程序。VR 是一个呈现层,在头显和运行时都在的时候挂上来, 不在的时候脱开。你显示器上的那个窗口不是 VR 那部分的启动器 —— 它就是同一个应用, 只是为鼠标绘制。

桌面密度下的桌面窗口:和仪表盘相同的导航栏与内容区,放在一个带标题的窗口里,输入徽章在它的标题栏中。

这意味着你在头显里能配置的一切,都能在你桌前配置,反过来也一样。 设置里没有任何一项是仅限 VR 的。

一个元素对一个元素,桌面窗口就是仪表盘。左侧是同样的导航栏:标记、叠加层列表、 「添加」、一条分隔线、你的扩展添加的任何标签页,然后是钉在底部的「设置」,输入徽章在页脚。标题栏说明你所在的区域。同样的行、同样的词、同样的顺序。

变的是密度。VR 的尺寸是角度的 —— 一个目标必须大到能从你站的地方用激光打中。鼠标 很精确,所以桌面把间距比例减半,在屏幕上放下更多东西。

在 VR 里 在桌面上
行高 98 px 52 px
正文字号 28 px 13.5 px
最小命中目标 62 px(2.0°) 28 px
边框 最小 2 px 允许 1 px
悬停 从不是到达任何东西的唯一方式 工具提示和行内操作,每个都带有右键或键盘等价方式
外框 没有 —— 仪表盘是世界里的一块面板 一个窗口,输入徽章被镜像到里面

悬停在桌面上回来了,因为鼠标有悬停状态,假装没有会很傻。它绝不会成为唯一的路径: 悬停揭示的任何东西,也都能通过右键或从键盘到达。

面板。 和仪表盘一样的列表,带有同样的每行控件 —— 显示/隐藏、固定、锁定、 穿透、移除。你可以不把头显重新戴上,就从桌前移除一个卡住的叠加层。

添加。 同样的捕获选择器。挑一个窗口,或者一整块显示器。

设置。 全部八个窗格,同样的行,桌面密度。

扩展标签页。 一个会添加仪表盘标签页的扩展,在这里也会添加。

性能区域和 OpenVR 游玩空间模块留在头显里。两者都关乎你戴着头显时正在发生的事 —— 摘下头显之后再看的帧图已经失去了你当时要追的东西,而游玩空间工具需要你站在那个 空间里。

一次编辑只提交一次,两个界面都跟随。在仪表盘上选 OLED,桌面窗口会在同一秒内换好 主题;在桌前选 GRAPHITE,仪表盘也跟着变。语言和界面缩放以同样方式重新应用。无需 重启,也不会有哪个界面还捧着一个你已经改掉的旧值。

输入徽章被镜像到窗口里也是出于同一个理由:不管你正好在看哪个界面,它都告诉 你当前是 VR 还是桌面掌握输入。参见输入。

它可以调整大小。在 100% 界面缩放下最小是 1000×680,而且这个最小值随缩放一起变大, 所以 150% 的界面仍然放得下它的行。

位置和尺寸在多次运行之间被记住。如果保存下来的那个矩形的中心不再位于任何一台连着 的显示器上 —— 你拔掉了第二块屏幕 —— 它会在默认位置打开,而不是在你够不到的地方。

关闭窗口会问你是什么意思:最小化到托盘,还是退出。对话框打开时焦点在最小化上, 所以在一个你没有动过的对话框上按回车是最小化而不是退出。按 Escape,或者点击对话框 之外,会完全取消这次关闭。

显示 vrOS、关于 vrOS 和退出 vrOS。从托盘退出是一次点击,没有对话框。

「关于」里写着版本号、vrOS 构建所基于的 VR 运行时和 UI 库、它背后的 Rust crate, 以及 Discord。在它里面任何位置点击都会关闭它; 按 Escape 或者点击别处也一样。点击那个链接会打开你的浏览器并关闭这个弹出层。

桌面应用自己就能运行。vrOS 中与 VR 运行时、GPU 或捕获 API 打交道的那部分是一个 单独的受监管进程;没有运行时在场时它没什么可做的,而窗口并不在意。

启动 vrOS 绝不会启动 SteamVR,除非你在设置 → 常规里打开了那一项;关闭 SteamVR 也绝不会关闭 vrOS,除非你也打开了那一项。你的叠加层在运行时不在的那段时间里保留 它们的配置,并在它回来时一起回来。