和传统的2D设计不同,在平面上,用户可能需要进行MultiTouch操作和一系列的任务和动作才能完成,而在3D空间中,那些平面的设计法则失效了。
不像2D屏幕的交互设计有着固定大小的画布和屏幕尺寸,在3D的空间中,人的视觉是无限的。但是,人眼永远只能关注一个在动的东西,和一个焦点,所以,不像以前的交互设计一个个页面引导用户,在VR的世界中,更多的是焦点的变化,用户视线和注意力的变化。
VR中有个概念超越了乔布斯的MultiTouch,对,那就是聚焦!
乔布斯说直接的触摸方式超越了鼠标键盘的交互,它说传统的鼠标键盘需要先看到目标,然后把鼠标移过去,再点击,而MultiTouch可以直接触摸交互,但我认为它还需要先看见,再伸手指,而我下面想说的聚焦,只需要把目光凝视上去就够了,远超MultiTouch有木有!?这里我将会在Head tracking和fuse button章节中详阐。(YY一下,在脑联网时代,想到什么命令只要用意念就可以执行了,甚至不需要聚焦~)
头部跟踪会让你的头在虚拟空间里保持固定,无论你如何移动你的头,因为这就是一个围绕你的世界,这就是Head tracking。
加载一个新场景或打开一项新功能的时候,屏幕会慢慢黑下来,接着转移到另一个场景,这时要让用户做好充分的心理准备。
当然这里会涉及到亮度的变化。比如用户在明亮的蓝天下忽然闯进一间小黑屋,或者从黑屋中醒来,打开门,外面是刺眼的阳光,亦或是在黑夜的某个拐角,忽然闯出来打着刺眼远光灯的卡车。
说到聚焦,我想到了有句话说:『你的眼睛会说话』,其实就是说我们的目光会望着我们所需要的东西,在考试的时候,监考老师一眼就能看出哪些学生在作弊,因为他们的目光不在试卷上。但现在的技术远远不能达到眼动的层面,却可以根据头部的位置判断你望的对象。在交互领域,你所望的东西就是你想要的东西,也是你想与之交互的东西。
fuse button
一般cardboard或其他VR上会在侧边放一个按钮或遥控器当做确认键,用来击中目标。
另外一种方式是创建虚拟按钮,用户集中目标盯着它然后倒计时几秒钟确认选择,用户需要经过漫长的等待。如果我们提供 fuse button(保险丝按钮),用户可以快速选择然后直接点击目标。
(图为Inmind)
当然,它的形式多种多样。
(图为Lamper drive)
当使用 fuse button时,视觉上可以看到倒计时以及将要发生什么。fuse就是保险的意思,如果没有fuse button,直接按键就可以操作的话,用户往往没有反应过来就直接进入了另一个场景,这时用户只能无辜地四处张望,看看自己被带到了什么地方。
保证大的按钮和足够远的距离
如果是大按钮,当用户目光一瞥,hover on的时候,它被激活,这时继续聚焦如果等待timer时间到则触发确定,或者此时按下手中的物理按钮也触发,如果想取消,只需在timer的时间到达之前移开你的目光即可。
如果是小按钮则简单很多,hover on的时候被激活,然后再慢慢聚焦就确定了,如果要取消,则需在聚焦之前,但这个聚焦的过程本身就是一个确认与否的过程。
(图为titans of space)
degree of freedom
一般Head tracking的自由度(degree of freedom = DOF) 是1。其实就是由360×360个画面组成。另一种比较合适的DOF是3,由120×120个画面组成。
如果在一个VR空间中给用户呈现一个启动页面,是非常不必要的,那会引起用户的不适,所以最好使用3D的logo画面。
现实中的使用场景和VR场景相对应
用户的使用场景在现实中和VR中很可能会冲突。比如如果用户在现实中是坐在椅子上的,在VR中最好也坐在椅子上,尽管周围的视野在发生变化,比如乘坐在一辆过山车上。如果这时在VR中用户自身产生运动,用户很可能会眩晕。
在VR中永远的哲学问题——为什么你会出现在这里?
所以,用户在现实中的场景——躺着、坐着、站着、走着、跑着,要和用户在VR中的场景相对应。
避免相对运动错觉
如果用户眼前有大的物体在移动的话,很可能会产生我在反方向移动的错觉。就好像在火车里看窗外,如果这时火车停在站台,窗外的火车挡住了你的视线,这时它相对于你在运动,你不知道你相对于大地在运动还是它相对于大地在运动,在VR设计中尤其要避免这一点,最好的方法是在视线里加入一些固定的元素作参照让用户来确定自己的运动状态,比如用户坐在火车里这个场景,就可以放一些树木、电线杆、站台做参照。
给用户一些准备时间
用户舒适地佩戴VR需要一定的时间,比如调整耳机的位置,或者调整cardboard中手机的位置。如果一个App由某个不经意的动作或者计时器触发,用户会很匆忙,因为他可能还没带好VR。所以,为了给用户一些准备时间,VR程序应该等用户发出指示的时候才开始。
当VR运行的时候,如果不直接把UI控件在当前视角展示给用户的话而是放在视角之外的话,用户会等待和疑惑,然后不停寻找UI控件。
当用户运动的时候,控件要随着用户移动而移动,不然的话用户得返回刚才的地方找到遗失的控件。
语音交互
在VR中海量的信息淹没了用户,他不会理会视觉中心的指示文字,而是环顾四周不断发现和探索。如果这时给出一些图形上的指示还会干扰到他们在VR中的沉浸式体验,所以最好的方法就是使用语音,和他们正在观察的周遭世界互不干扰。这时如果用户和VR世界进行语音交互,会更加自然,而且它是无处不在无时不有的,用户不需要移动头部和寻找它们,在任何方位任何角落都能和他们交流。
(另一种是Haptic feedback(触觉反馈),这时最直接的交互方式,用户直接触摸他们想要的东西,然后获得触觉反馈,我会另起一篇写。)
瞄准
用户有时需要精准地瞄准一个目标,这时最好给用户提供一个瞄准器帮助用户瞄准。但是过多的辅助图形会打扰用户的视觉、打破沉浸式体验,这时我们需要计算用户什么时候产生这种需要,比如当用户靠近可被选择的目标时才触发这些辅助图形,并标出哪些可以被选中。另外还要给它一个深度,以免目标在前方或者后方几米处就无法被选择或错误选择。根据距离的远近,瞄准器的大小也会发生变化。
(图为Inmind)
速度和加速度
我们平时坐车,你只会感到车子加速和减速的加速度,而不会感到行驶过程中的速度;坐飞机只会感到飞机起飞和降落的加速度,而不会感到在平流层飞行的速度。在VR中,现在没有技术能模拟加速度,所以用户没办法感受到它们,视觉和平衡系统的冲突会让他们恶心,所以在设计VR的时候我们要使用速度,而尽量避免加速度。
simulator sickness
VR设计最大的限制在于(虚拟幻境头晕)simulator sickness。
作为一种穿戴设备,VR有着比不同穿戴设备更多的生理因素(physiological considerations)影响。比如一些驾驶类游戏或驾驶员、飞行员的训练,视觉和物理上的不匹配让人头晕目眩——你的眼睛认为世界在动,而你的身体确认为没有。
它也被称为Motion sickness(由运动引起的恶心)。
我们想象一辆车绕着颠簸的盘山公路前行,乘客因为没有看窗外的景色所以头晕恶心,这是因为他感受到的和期待感受到的不同所致,视觉系统获得信号但与前庭系统(vestibular system)不平衡所以头晕;而司机看着前方开车所以没事,因为他知道接下来会感受到怎样的运动。
这种恶心的感觉,我们从演化中就可得知。比如我们吃了有毒的食物会觉得恶心,不由自主地把把它吐了出来,以此避免中毒而死。
对于一个具有骑行类的VR来说,用户在VR中更多地承担一个积极主动的驾驶员而不是一个乘客。他们主动控制着APP并能够预料到接下来将要看到听到的东西。还有一种情况就是像过山车VR那样,用户被固定在一处,这时就很容易头晕恶心。