用户接口指南

来源:互联网 发布:淘宝app我的分享在哪里 编辑:程序博客网 时间:2024/05/17 07:33

图形用户接口在虚拟现实中呈现独一无二的挑战它能被缓和通过下面的指南在这个文档中的。这不是一个详尽的列表,但是提供一些指导和意见在第一次虚拟现实GUIs的实现时。


总之:立体图像!

如果任何个别字能帮助开发者理解和处理VRGUIs的挑战,它是立体的。在VR中国,任何事情必须被渲染在两个视图中--每个眼睛一个视图。当设计和实现VRGUIs时,频繁这些事实的考虑能帮助减轻带来的问题在它们被遇到之前在实现中。它也能帮助理解基本的约束代理在VRGUIs上。例如,立体的渲染本质上是它不可能实现一个直角的HUD(Heads Up Display),大多数3D应用的一个普通GUI实现--尤其是游戏。


无穷的问题


既不是直角的预测也不是在他们资金中的HUDs是完全排除的在VR中,但是他们标准的实现,在整个HUD中是被渠道呈现相同的直角的预测对每个眼视图,大体上是。


预测HUD在这个方式中需要用户聚焦在无穷的当观察HUD时。这影响放置HUD在任何被渲染的物体之后,就像用户的头脑是被关心的一样远。这能使视力系统混乱,它察觉HUD是远的比所有其他物体,尽管留下可视的在他们的之前。这一般导致不舒适和眼疲劳。


直角预测应该被用在个人的表面它们随后被渲染在世界空间中和显示在一个合理的距离离观察者。理想的距离变量,通常在1-3米之间。使用这个方法,一个通常的2DGUI能被渲染和放置在世界和用户的凝视方向(被使用就和一个GUI交互的绘制设备)之中。


大体上,一个应该应该放弃正面直接投影任何物体到屏幕上的想法当在VR模式中,它会一直是好的计划在一个表面上(它随后被放置到世界空间中),尽管这提供它自己的挑战集合。


彻底的深度


放置一个VRGUI到一个世界空间中增加了深度闭合的问题。在很多3D应用中,它是困难的,甚至不可能的,为了保证一直会有足够的空间在用户的观察前面来放置一个GUI是一致的,或者关闭的,另一个渲染表面。如果,例如,用户开关一个菜单在游戏手柄之上,它是有问题的如果菜单出现在用户面对的墙之后。它可能看起来像渲染不带深度测试应该解决这个问题,但是那产生一个和不确定的问题一样,独立的立体图像建议用户的菜单比墙的距离远,也就是菜单绘制在墙的表面。


这儿有一些实际方案:

1.渲染VRGUI表面在两个途径,一个用深度传递和一个深度衰退,使用一个特殊的着色用衰退途径(点刻或混合任何表面离观察点近比VRGUI)。

2.设计VRGUI表面在几何图形上它是近的比理想的距离。这不可以解决所有问题如果几何图形是近的以便VRGUI超出了用户的观察范围,但是它可以给他们一个机会来逐渐后退当适合任何游戏(假定VRGUIs是物理灯光投影在世界空间中)时。

3.移动用户到另一个场景当VRGUI界面走进时。这可能是简单的就和世界褪色到黑色当界面淡入一样。

4.停止渲染世界立体图像,用相同的视图转换渲染两个演示图,当VRGUI时可见时,随后渲染GUI立体的但是没有深度测试。这允许VRGUI表面有深度当世界出现时和一个二维工程在它之后一样。

5.对待VRGUIs就和真实世界物体一样。在虚幻的游戏中,一个角色可能带来一个书本或卷轴,根据GUI是被设计。在一个现代的设置中,这可能是一个智能手机握在一个角色的手中。但另一方面,一个角色可以被需求来移动到一个指定的位置在世界中--可能一个桌面电脑--为了和界面交互。在所有的案例中,应用可能一直需要支持基本的功能,就像退出和返回系统启动的能力,在所有时间。


它一般不是实际的不允许所有的VRGUI交互和渲染如果这没有足够的空间给VRGUI表面,除非你有一个应用从来不需要显示任何类型的菜单当渲染世界视图时。


虚拟现实凝视


这有不止一种方式和VRGUI交互,但是凝视追踪可能是最直接的。用户的直接凝视能被用于选择菜单在一个VRGUI中就和他是一个鼠标或一个触摸在一个触摸设备上。一个鼠标是一个轻微好的类比因为,不像一个触摸设备,鼠标指示器能被移动围绕着界面没有第一次初始化一个“按下”事件。


就和在VR中的很多物体一样,使用凝视放置一个光标有一点新属性来考虑。首先,当使用直接凝视去选择菜单,它是重要的有一个凝视光标来指示凝视地方可以被直接用了选择一个菜单。光标应该,像所有的其他VR界面一样,被立体渲染。这给用户一个可靠的指示光标在世界空间中的什么地方。在测试中,凝视选择的实现没有一个光标或十字已经被报告就和更多困难一样来使用和较少的地面。


第二,因为直接凝视移动光标,光标必须移动关联的界面来选择不同的项,它不是可能的呈现给观察者一个界面它一直在观察范围内。在一个场景中,这是不可能的用一个传统的2D GUI,因为用户能一直转换他们的头离开屏幕,但是他们是不同的。在一个典型的2D GUI中,用户没有必要期望能和界面交互当没有看向设备时,但是在VR中,用户一直看向设备--他们可以不看向VRGUI。这允许用户“失去”界面和没有认识到它是一直有效的和消耗他们的输入,这能进一步导致混淆当应用没有处理输入就和用户期望的一样(因为他们看不到一个菜单在他们当前的视图中)。


这有一些方法来处理这些问题:

1.靠近界面如果它走出里一个视图的区域从用户的远景图。这可以是有问题的为游戏如果界面暂停游戏手柄,就像游戏手柄可能刚恢复当界面靠近时。

2.自动拖拽界面和视图当用户转动是,或者保持凝视光标在界面控制之内,或者保持它在屏幕的边上它一直是可视的对用户。

3.放置一个图标在屏幕的边缘它指示用户是在菜单模式中随后允许这个图标一直跟着视图。


另一个频繁的不期望的使用一个凝视光标的问题是怎样去处理默认动作。在2D GUIs中,一个按钮或选项是经常默认被选择当一个GUI对话框出现是--可能OK按钮在一个对话框上用户通常期望开始不用改变当前的设置,或者取消按钮在一个警告对话框上一个毁灭性动作正在发生。然而,在VRGUIs中,默认动作是口述的通过凝视光标正在指在界面上当它出现时。OK可能只唯一默认的在一个VRGUI如果对话框突然出现和OK在凝视光标之下。如果一个应用做任何事情除了放置一个VRGUI在观察者前面,它不是实际的有默认按钮的观念,除非这是一个附加的输入形式就和一个键盘一样能被用来跟VRGUI交互。

0 0