VR 应用设计的 一些建议

2016年10月31日 17:07 0 点赞 0 评论 更新于 2025-11-21 20:44
VR 应用设计的 一些建议

随着VR技术的发展,越来越多的从业人员对VR产生兴趣,并希望设计VR应用。然而,VR应用设计与传统的手机App或桌面应用存在一定区别。本文将结合实际开发经验,为大家提供一些VR应用设计方面的建议。

一、刷新率和帧数的影响

刷新率是影响眩晕感的关键因素之一,它取决于显示器,指的是显卡输出显示信号的刷新速度。例如,60Hz表示显示器每秒接收显卡输出的60次信号。

帧数(FPS)由显卡决定,反映了画面的更新速度。以60fps为例,意味着显卡每秒生成60张不同的画面。只要显卡性能足够强大,帧数就能保持在较高水平,画面也会更加流畅。这也是目前主机VR要求配置高性能显卡的原因。

刷新率和帧数相互关联,任何一项数值较低,都会增加用户的眩晕感,影响视觉体验。目前,主流VR产品都有各自的刷新率标准,产品必须维持在最低刷新率标准以上的帧数,才能保证基本的用户体验。例如,HTC Vive和Oculus的刷新率均为90Hz,PSVR则提供90Hz和120Hz两档刷新率。如果程序的每秒帧数(FPS)低于90,可能会出现明显的画面卡顿,导致用户晕眩和不适。当帧数高于刷新率时,由于显示设备的限制,显示效果并不会提升。可以说,刷新率决定了体验的上限,而帧数决定了体验的下限,即硬件设备决定体验上限,软件产品决定体验下限。只有将软件优化到硬件的推荐标准,才能让用户获得良好的体验。

根据“全球VR技术标准”,75Hz以上的刷新率将成为VR行业的新规则。要避免用户产生眩晕感,刷新率和帧数至少要达到90,而当刷新率和帧数达到120以上时,用户才可能不会感到头晕。目前,相当一部分VR硬件产品的刷新率仅能达到60Hz,如果软件产品优化不足,FPS较低,用户头晕的情况就难以避免。

二、分辨率影响

分辨率是影响沉浸感的重要因素。分辨率越高,画面越清晰,用户越容易产生身临其境的感觉;反之,分辨率越低,屏幕上的颗粒感越明显,会时刻提醒用户处于虚拟世界中,破坏沉浸感。

Oculus Rift和HTC Vive的单眼分辨率均为1200 1080,相当于双眼2K屏;PlayStation VR的单眼分辨率为960 1080,双眼分辨率为1920 * 1080,同样相当于2K屏。

三、场景复杂度影响

场景是指应用中用户所处的虚拟环境,包括光照、阴影、建筑、物品、自然景观和角色人物等。特别需要注意的是,用户视线范围内如果存在过多消耗GPU和CPU的内容,会导致帧率下降,从而影响用户体验。

1. 物体排布

当观察者观察场景中的物体时,如果各物体与观察者的距离不同,人眼需要频繁调整瞳距,容易导致视觉疲劳,并使观察者更关注屏幕上的颗粒感。因此,建议物体以观察者为圆心,呈圆弧状排布,且排布层次不宜过多,重点物体可依次显示,以减少观察者调整瞳距的频率。理想的物体排布位置可参考图1所示的三段弧线。

弧形排布位置

物体的排布距离在3 - 10米之间最为理想,但根据设计需求,超出该范围也是可行的,只是在这个范围内人眼观察最为舒适。

2. 晕眩回忆

场景中各模型的贴图不宜过于复杂,复杂的贴图更容易引发用户的眩晕感。此外,场景中出现与现实生活中易导致眩晕的模拟情景,也会引起用户的不适,如图2所示。

晕眩的楼梯场景

3. 模型顶点数

一般来说,模型的顶点数量越多,模型越精确,但CPU和GPU对顶点的计算处理负担也会相应增加。GPU中渲染的顶点数取决于GPU性能和Shader的复杂程度。通常情况下,在PC上每帧的顶点数应控制在几百万以内,在移动平台上建议不超过10万顶点。过多的顶点可能会导致性能问题,使帧数下降,造成画面卡顿,直接引发用户的眩晕感。

4. 大小

由于场景对设备资源的消耗较大,建议在VR设计中采用小场景,以节约资源。同时,这样可以更集中精力优化场景中的有限资源,丰富交互细节,提升产品体验。每个小场景还可以通过场景切换拼接成一个宏大的故事场景。

5. FOV视场角影响

视场角(Field of View,简称FOV)是指显示器边缘与观察点(眼睛)连线的夹角。在显示系统中,如图3所示,∠AOB为水平视场角,∠BOC为垂直视场角。

视场角

人眼的视场角约为120°,目前主流VR设备的视场角一般在110°左右。由于人眼的注意力主要集中在60°以内的近周区域,因此在设计体验内容时,应尽量将交互信息显示在60°以内。例如,在解谜类游戏中,当触发机关不在当前视线内时,可适当延后触发,待玩家转头使机关进入视线范围后再进行触发。

四、摄像机控制

摄像机的运动决定了体验者所看到的图像,而摄像机与用户运动的协调性则直接影响用户是否会产生眩晕感。前文提到,眩晕的主要原因之一是身体前庭系统获取的信息与眼睛获取的信息不一致。因此,最理想的成像效果是摄像机与用户的眼睛运动完全同步。

为了增加沉浸感,是否应该模拟玩家坐车时摄像机的轻微抖动效果呢?答案是否定的。在VR体验中,避免眩晕是首要需求,沉浸感应排在第二位。根据眩晕的原因,当体验者静止时,即使模拟乘车场景,摄像机也应保持静止,画面要与体验者的状态同步。因为一旦用户产生眩晕感,就无法感受到身临其境的体验,甚至可能会迅速摘下头显。

由于体验者的位置相对固定,即使是像Vive这种具备空间定位功能的VR设备,其活动范围也通常限制在几十平米以内。对于无限大的虚拟空间,如何解决移动问题呢?主要有以下两类解决方案:

  • 依赖外部设备:如跑步机、万向机等,让用户通过腿脚运动或感受身体的运动趋势,欺骗大脑,使其产生运动的感觉,从而减少眩晕感。
  • 利用现有设备:通过瞬移、减小显示运动画面的区域、增加静态参照物等方式在虚拟空间实现大范围运动。瞬移方式由于位置变换极快,大脑来不及产生眩晕反应;增加静态参照物可以让用户明确自己的位置,使大脑认为是外部环境在变化,从而降低眩晕感。

如果摄像机控制不当,可能会导致运动冲突。例如,当用户站立静止时,摄像机的移动会给用户造成正在运动的视觉假象,使身体感知与视觉感知产生冲突,从而引发眩晕。

五、自我认知冲突

当体验者沉浸在虚拟世界中时,需要对自己在虚拟世界中的形象和能力有清晰的认知,如一步能走多远、伸手能拿到多远的东西等。那么,如何帮助体验者在虚拟世界中建立自我形象和能力认知呢?

自我形象认知

可以通过让体验者先进入一个选择人物的场景,在这个场景中,体验者可以选择自己在后续场景中要扮演的角色,从而逐渐建立自身与目标角色的联系。此外,还可以采用一些有创意的方式,如在场景中设置镜子,让体验者通过照镜子了解自己的形象和穿着;或者通过观察同伴的样子来推测自己的形象;也可以让体验者看到自己的双手或双脚,从而猜测自己的整体形象。

双手操作认知

如果体验者使用手柄等操作装置,需要精确定位双手的长度,避免在虚拟场景中随意加长或缩短,以免造成体验者的自我认知困惑。如果需要延长操作距离,可以通过在手的位置之外添加工具等物体来实现。例如,HTC Vive的很多游戏采用手柄发出的射线来选择远处的物品,实现双手触碰不到的东西的交互。

六、更自然的交互

在虚拟世界中,更自然的交互方式可以有效降低用户的不适感,提升沉浸感。目前,VR设备的交互方式多样,但都尽量遵循与人的运动规律相符的原则。例如,抬头能看到上方的内容,低头能看到下方的内容,转头能看到旁边的内容,移动时与真实物理空间保持一比一的等距离移动,这种体验优于静止瞬移或匀速移动。此外,采用OpiTrack定位技术可以实现几百平甚至几千平的大范围定位,越接近真实的行走和转向方式,越能提升沉浸感。

1. 抓取的交互

在许多VR体验中,抓取物体是常见的交互操作。最理想的方式是让体验者直接伸手抓取虚拟场景中的物体。目前,可以借助手势识别技术实现这一功能,如国外的Leap Motion,它提供了硬件设备和相应的SDK,能够实现较为精确的手势识别。使用时,将Leap Motion的摄像头固定在头显或胸前,在摄像头拍摄范围内,基本可以准确识别手势。通过程序调用SDK,可以获取手势输入信息,还可以进行手部模型替换,以获得更真实的体验。此外,Vive的手柄也提供了握力键和扳机键,通过简单的引导教学,让体验者熟悉握力键或扳机键的抓取功能,使用起来也会感觉自然,不会影响渲染感。

2. 抛掷的交互

与抓取相对应的交互是放置和抛掷。理想情况下,用户可以直接用手进行抛掷动作并松手,实现物体的抛掷。使用手柄操作时,按紧扳机或握力键并做出抛掷动作,在合适的位置松开按键即可实现抛掷。这种交互方式与真实的抛掷非常相似,虽然目前抛掷物体的重力感应还不完善,但根据物体的运动曲线,仍能让用户感受到抛掷过程的真实性。例如,在游戏《画境》中投击苹果的环节,就被认为是一种有趣的玩法,如图4所示。

投击苹果

3. 躲避的交互

在许多VR游戏中,躲避交互是一种非常有趣的玩法。当有子弹、弓矢等飞过,用户会本能地进行躲闪,成功躲避后会带来愉悦感。因此,可以在VR体验中适度增加躲闪玩法,尤其是在采用Vive这种空间定位技术的设备上,能获得更好的体验。此外,击中或接住物体的交互也很有趣,如独立开发商Dylan Fitterer制作的VR音乐游戏《音盾》,玩家使用手柄接住飞来的被视觉化了的音乐节奏,乐此不疲。

4. 工具或武器的使用

在VR体验中,难免会涉及工具或武器的使用,如螺丝刀、钥匙、刀剑、枪械等。这些交互设计应遵循自然的原则。例如,刀剑的劈砍可以通过手部追踪或手柄追踪,完美同步人的劈砍动作,增强沉浸感。对于枪械的操控,由于换弹夹、上膛、瞄准等操作较为繁琐,可以有选择地保留和简化。例如,只保留换弹夹功能,省去上膛操作,通过放慢子弹速度或增加子弹尾焰,让用户靠感觉瞄准,这样的体验可能更好。

5. 爬行的交互

在一些密室类游戏中,爬行体验是一种有趣的玩法。可以利用场景设计低矮通道,或在低矮处设置必须凑近观察的重要信息,或为躲避攻击,引导用户爬行或蹲地行进。

6. 飞行的交互

在一些VR体验中,会配合载具模拟飞行或骑行。需要注意的是,头显显示内容必须与载具的反馈完全一致,否则极易引发用户的眩晕感。

七、音乐、音效的使用

优质的音乐和音效可以显著提升VR体验的沉浸感。当体验者在场景中听到合适的背景音乐和交互音效时,体验效果至少能增强20 - 30%。因此,应该投入足够的精力制作高质量的音乐和音效。

八、多人联机

越来越多的VR体验开始支持网络连接,以增加社交乐趣。由于VR对网络时延要求极高,目前适合弱联网联机或局域网强联机体验。多人模式中的协作、对战、对话等都是值得推荐的设计内容。在联机体验中,需要为队友或对手设置相应的形象和匹配的动作,因此对IK动画提出了要求。

目前,有两种相对成熟的思路:

  • 纯IK:根据头、手的位置反推整个模型的动作。
  • 半IK:通过头、手的位置反推模型状态,然后调用状态动画。

具体的精细程度取决于团队的技术水平。

总结

VR设计目前仍处于发展阶段,具有很大的发展潜力。以上建议基于当前的设备、软件技术和个人经验,可能存在一定的局限性。在实际设计过程中,建议制作原型进行检验,以确定什么样的VR设计才是优秀的设计。总之,在VR设计中要始终牢记避免眩晕、提升沉浸感这两个关键原则。

作者信息

孟子菇凉

孟子菇凉

共发布了 3994 篇文章