[转] http://www.leiphone.com/news/201705/00pB21TeOURneoQi.html?ulu-rcmd=0_5021df_art_0_a20355ba-d6d4-4d4f-8a53-af908c068a60
http://www.leiphone.com/news/201705/a8kpXMsyxWeUxxpW.html
Gunslinger! 游戏概念图
在开发 Gunslinger! 的过程中,我们也发现了 VR 游戏和广义上的 VR 内容在具体的引擎技术上,相比于传统的 3D 游戏来讲并没有非常大的改变,目前的 UE4 和 Unity 引擎也都原生支持 VR,给予了开发者很大的便利能够迅速的开发出VR游戏出来;从这一点来看这也是为什么国内的VR游戏开发如此火热的原因。然而在引擎和 3D 技术开发之上的问题才是目前 VR 开发最大的问题——如何做信息呈现,交互,哪怕是最基本的,让用户能够在不眩晕,不造成生理性不适的情况下顺畅的体验VR,这才是我们现在开发 VR 游戏所要关注和思考的对象。这一系列的开发笔记也基本都集中于此,讨论如何能够最好的设计 VR 内容,让 VR 能够真正惠及大部分玩家。
第一篇 VR 开发笔记我想讨论的是最基础的问题:信息呈现。从我个人的看法,目前的 Virtual Reality 技术,最大的革命性并不在于所谓的“临场感”“沉浸感”“将我们带入了一个虚拟的现实”这样的广告词,而是将计算机的虚拟空间增加了一个维度:从一个平面变成了一个立体空间。这是一次革命,它也有两面性:它让信息呈现和交互设计增加了一个维度,也就是增加了无限的可能性;然而这也让观众,或者说体验者本身需要完全重新的学习如何去获取虚拟空间中的信息。这样一个教学过程是极为艰难的。
传统的图形界面信息永远处于一个画框之中;传统Metro界面的“边缘呼出”设计就受到了很多批评,因为十分不直觉
让我们来回到传统的二维交互界面上来。二维交互界面有几个基本限制:第一,这个界面的面积是有限制的,无论界面的尺寸是 3.5 寸也好,55 寸也好,它总是有一个“画框”的,在这个画框之外,就是现实世界,使用一套完全不同的逻辑进行交互;第二,所有信息必然是出现在这个交互界面的表面。这句话乍看起来似乎是一句废话。无论怎样的信息呈现,它必然会出现在屏幕上;菜单和信息不会跑到屏幕外部或者屏幕后面去。GUI 设计中也有“焦点”的说法,所有的用户操作必然是在焦点上发生,这是定义。然而,在 VR 中,情况就跟现在完全不一样了。
在 VR 所营造的这个三维的虚拟空间中,第一点在于这个空间是不存在边界的。用户不再是在一个确定的画框之内获得信息,而是在一整个周遭环境中获得信息,这与用户对一般虚拟空间的定义差别极大;第二点在于,这些信息不再是处于一个二维平面上,而是分布在整个三维空间中;虚拟空间对于信息的呈现有“深度”,而不是处于唯一一个平面。这两点的结合,就导致了这样一个问题:用户进入了VR空间之中很容易处于一种信息过载或者信息迷失的状态;因为他不习惯于在虚拟空间中去寻找信息,而是习惯于虚拟空间将信息推送到他的面前。在这种情况下,信息的呈现手法就不再是“推送”,而是“引导”,这两个手段是完全不同的。
实际开发就会发现钢铁侠这样的未来感信息呈现设计完全不现实,用户会无所适从
在实际的开发过程中,我们深知这一点:对于用户,特别是对VR不是特别了解的用户,一次性的呈现过多信息,特别是在整个三维空间中都散布信息,必然会导致用户无所适从。于是我们将信息呈现和交互都简化到了极简:整个游戏的菜单只有两个,包含三个选项:进入游戏要选择开始,在选完枪械之后会提示“是”和“否”来确定选择,或者退回枪械选择菜单。
然而用户对VR呈现的不了解仍然突破了我们最低的预期。我们参与了一次展示活动,活动上参与游戏的玩家戴上了 Vive 头显之后,几乎没有用户会试着自由移动一下来寻找菜单;甚至大多数用户都不会转动自己的头部来获得完整的信息呈现!在选完枪械之后,提示“YES”和“NO”的菜单处在枪械下方,用户默认的视野是基本看不到的,需要适当低头才能看见这两个选项;就是这个低头的动作,绝大多数的用户都不会自行去做,需要工作人员语音指点甚至用手推着用户的头部他才会低头看到这个菜单。
YES和NO处于玩家视野边缘,理想情况下玩家只需要一低头就能看见
同样,我们在游戏中设立了一个简单的界面,用以显示玩家的分数,界面放在玩家的左前方,我们原本认为只要稍微一偏头就能看见——然而同样绝大多数玩家都没有注意到这个分数界面!
所以关于VR目前的信息呈现,我们总结出来的原则如下几点:
1,所有的信息呈现需要保证处于用户的视野之内,不能够要求用户需要转头或者移动才能寻找到信息;
2,信息呈现推荐全部处于空间中的一个平面上,这样可以给用户带来传统的“画框”感;
3,使用多种不同的方法呈现同样的信息以获得玩家的注意力。使用动画特效,语音和文字同时出现来提请用户的注意。在未来的VR内容开发中,使用语音配合信息呈现将会是非常重要的一部分。
这是我的VR开发笔记的第一篇。下一篇我们来讨论用户交互问题。
交互是我们这个系列VR开发笔记的第二篇,也是VR设计中最重要的问题之一。目前VR交互问题的核心在于,如何在虚拟空间中进行交互没有成熟的,约定俗成的范式。我不敢说我能够开发出这样一个范式出来——我只能在游戏开发这样一个范畴里讨论交互的问题,并且试着总结出一些适合于开发出易于上手的VR游戏的规律出来。
从硬件来说,我认为目前的VR的交互硬件已经基本确定:就是Oculus、Valve、SONY三家都不约而同的使用的硬件范式:两手分立的,带有按钮和震动反馈的,可以六自由度定位的手柄。按钮和震动反馈是必须的——至于按钮如何排布,是否有触摸机制,加不加摇杆,这个可以在之后不断的进行优化。综合来说,目前的Oculus Touch可以算是VR交互硬件的理想状态。
裸手互动目前来看是没有什么意义的
就我个人来说,我一直认为裸手交互是伪需求。没有明确反馈和稳定预期的交互方式是不会让用户接受的。苹果直到开发出了Haptic Engine之后才敢将iPhone的Home键变为感应式,就连这样还有相当多的用户抱怨认为新的Home键手感很差,反馈对于交互的重要性可见一斑。我之前也写过文章讨论这个问题。(点击链接《为什么裸手交互是伪需求?》可查看原文)
所以,在这里我也顺便提出第一条原则:VR的交互设计中,一定要有明确的反馈 。在触碰按钮或者射线接触按钮的时候,需要手柄高亮(经过测试之后我们发现Valve在The Lab中使用的手柄黄色轮廓线是最优化的选择)以及按钮高亮来提示用户菜单选项已经处于焦点;在点击之后需要动画效果,音效和震动来表示交互已经发生。反馈一定要明确,这在所有的UI交互中都应该是第一条原则。
触碰到可交互物体之后有黄色轮廓线高亮提示,是目前最合适的做法
在第一篇文章之后有读者表示:VR的未来应该是场景式交互,就如同Valve在The Lab中所做的那样;我是认同这一点的,但是场景式交互在目前的VR内容中是效率较低的一种办法:它需要大量的场景、模型和美术的工作,在信息呈现上,问题在于不够直观,正如同我第一篇所讲的那样:将菜单隐藏在场景的交互之中,会让用户迷惑,他需要自己去寻找可以交互的对象。当下的阶段中,将信息直接用菜单呈现在用户面前仍然是容易让用户上手的办法。在VR已经普及之后,用户逐渐熟悉了VR交互,那时场景式交互将会成为主流。
The Lab有很好的场景式交互,但是非常昂贵
为什么说场景式交互不推荐:这里让我们还是用The Lab来举个例子。回到The Lab的大厅中,我们可以发现,实际上The Lab中所有“看起来”可以被拿起来的东西,其实都是可以拿起来的!从虚拟宇宙场景转换球,到桌子上摆放的各种小物件,都是可以和用户有一些细小的互动的。这就是我所说的下一个原则了:交互逻辑要统一。
Valve非常清楚这一点,这也是为什么The Lab花了大量的资源去做这些没有实际意义的交互的原因。当用户面对着两个看上去差不多的物件的时候,他发现一个可以拿起来,另一个拿不起来,那么他就会陷入认知上的混乱:无法判断整个场景中能够交互的对象到底有哪一些。当整个交互场景越复杂,这个问题就越明显,开发者也就越需要花大量的时间和精力去做场景交互。从这个角度来说,传统的使用菜单的交互就会是更加优化的选择。
使用菜单的交互中,也一般有两个方法:使用手柄的射线作为鼠标来点击,或者用手柄直接触碰。这两者没有绝对的优劣分别,一般来说使用手柄射线来作为鼠标点击可以让用户在不进行多少移动的情况下就能操作菜单,比较适合让用户坐着的场景,缺点则是操作要求略精细;而直接用手柄触碰三维空间的按钮来操作则更加直观,更容易学习,缺点是需要更大的空间,Roomscale的内容比较适合使用手柄直接触碰的方式。原则还是上文所说的第一条:逻辑一定要一致!
Robo Recall的交互相当好,在于它使用了一个长条的碰撞体,用户觉得怎么操作都能成功
回到HTC Vive的专属开发问题上来,我实际上并不推荐使用某种手的模型来代替手柄本身进行一些基本的交互。这涉及到一个心理上的问题,即“锚点”:对于不是特别熟悉VR的人来说,它需要一个与现实中相同的物件作为“锚”,来无缝的进入虚拟空间中。所以单纯的使用手柄模型在VR中呈现手柄,用户能够更加轻松的熟悉手柄的操作,而使用某些手的模型就会拔高这个门槛。当然,在VR游戏的开发之中,也需要设计一个循序渐进的教学过程,让玩家将手柄和游戏中的道具对应起来。
目前的VR硬件的局限,特别是分辨率,是目前的VR交互的一个重要障碍。这导致一个问题,就在于VR内容中最好不要加入过多的文字呈现。过多过小的文字十分模糊,不容易让人看清楚,而且由于信息呈现问题(正如我上一篇所说的那样),大多数用户甚至都注意不到文字呈现。在这种情况下使用语音来向用户提供信息和指引就是交互中非常关键和重要的一部分。在这里我建议所有的菜单交互过程都最好加入语音提示,让用户能够顺畅的使用。
不得不说SteamVR的UI谈不上好。文字太小太多,很难看清
由于分辨率问题,开发者最好不要期望用户能够注意到超过一米以外的信息呈现。交互也一样:最远的交互距离不要超过一臂长度。要考虑到用户的自身尺度;交互尽量避免需要用户要移动,或者转头、低头、抬头等动作。让用户处于一个正常的平视视角,伸出手臂就能接触到所有的交互选项。在这里Fitts定律依然是生效的:要么使用更大的菜单选项,要么缩减选项之间的距离,这对于射线或者直接触碰都是有效的。
这是VR开发笔记的第二篇。下一篇我们要讨论在VR中如何移动。