阅读更多

0顶
0踩

移动开发

原创新闻 VR 应用设计的 8 个建议

2016-10-27 10:58 by 副主编 mengyidan1988 评论(1) 有7173人浏览
引用

作者简介: 冀盼,现任奥秘游戏CTO,负责奥秘IT产品规划、技术研究、技术团队管理,其团队所研发的探索解谜游戏《画境》,是HTC首届VR内容开发大赛的获奖作品。
本文为CSDN原创文章,未经允许不得转载,如需转载请联系mobile@csdn.net。

越来越多的从业人员对VR产生兴趣,想要设计VR应用,但是VR应用设计与原手机App或桌面应用多少有一些区别,下面文章就从实际开发过程中获得的经验,为大家做一些设计上的建议。

一、刷新率和帧数的影响
刷新率是影响眩晕感的重要因素之一。刷新率依赖于显示器,即指显卡将显示信号输出刷新的速度,比如60Hz就是每秒钟显示器输入显卡输出的60次信号。

帧数FPS由显卡决定,是指画面改变的速度,比如60fps就是每秒钟显卡生成60张画面图片(理论上,每一帧都是不同的画面)。
只要显卡性能足够好,帧数就可以很高,画面就会流畅。所以目前主机VR都要求配置好显卡的原因。刷新率和帧数综合起来,任何一项比较低,都会增加眩晕感和影响视觉体验。

目前主流产品都有各自的刷新率标准,要求产品必须维持在最低刷新率标准以上帧数,才能保证产品的最低体验要求。如HTC Vive的刷新率为90Hz,PSVR的刷新率为90Hz、120Hz两档,Oculus刷新率同样为90Hz。如果程序产品的每秒帧数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示例的三段弧线:



图1 弧形排布位置

排布距离最理想是在3-10米之间,但由于设计需要,排布在范围外也完全没有问题,只是在这个范围内人观察时是最舒服的。

2.晕眩回忆
场景中各模型的贴图不建议过于复杂,过于复杂的贴图,更容易引起晕眩。

此外,在场景中,看到与实际生活中易引起晕眩的模拟情景,也会引起晕眩,如图2所示。



图2 晕眩的楼梯场景

3.模型顶点数
一般模型中顶点数量增加可以得到更精确的模型,但CPU和GPU对顶点的计算处理都很多。GPU中渲染的顶点数取决于GPU性能和Shader的复杂程度。一般来说,每帧之内,在PC上几百万顶点内,在移动平台上建议不超过10万顶点。过多顶点可能引起性能问题 ,以致帧数下降造成卡顿,直接导致晕眩。

4.大小
场景对于设备资源的消耗非常大,所以场景要采用尽量节约的方式使用。一般建议在VR中都使用小场景,节约资源,同时可以更集中精力优化场景中有限的资源和丰富交互细节,提升产品体验。

每个场景采用小场景,也可以通过场景切换拼接出一个宏大的故事场景。

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



图3 视场角

人眼视场角为120°,目前主流设备视场角一般在110°左右。由于人眼注意力基本维持在60°以内的近周,所以在设计体验内容时,尽量让交互信息在60°以内显示。比如在解谜类游戏中,当触发一个机关不在当前视线内,尽量延后触发,当玩家转头,机关在能获取到用户注意力的时候再进行触发。

四、摄像机控制

摄像机运动决定体验者所看到的图像,而摄像机是否完全和用户运动相协调一致,决定了体验者观察东西时是否眩晕。前面章节提到过眩晕的主要原因之一是身体前庭系统获取的信息和眼睛获取信息不一致,故最理想的成像效果,就是摄像机完全和人眼运动同步。

但是为了增加沉浸感,又要尽量模拟真实的效果。想象下坐在汽车上,随着汽车颠簸,人看到的各种景像也都跟着晃动。那是否在VR中模拟玩家坐车,也要制造出摄相机轻微抖动的效果呢?答案是否定的。不晕是第一需求,沉浸感排第二。根据晕眩原因,模拟体验者乘车,但是如果体验者不动,摄像机就应当不动,画面要保持同步。所以不建议为了增加沉浸感,放弃防止晕眩,而真晕眩起来,体验者根本不可能感受到身临其境,反而是快速摘了头显。

由于体验者位置相对固定,即使是像Vive这种带有空间定位的VR设备,也只能限制在最多几十平米范围。而相对于可以无限大的虚拟空间,移动问题如何解决?解决方案有两大类若干种。

一类是依赖外部设备,比如跑步机、万向机等设备,让人可以做腿脚运动或身体感受到运动趋势,可以进一步欺骗大脑,让人有运动的感觉,减少晕眩;另一类是仍旧利用现有设备,通过瞬移、减小显示运动画面的区域、增加静态参照物等方式在虚拟空间实现大范围运动。

瞬移的方式由于位置变换极快,大脑来不及反应,所以没有眩晕感,增加静态参照物能明确自己的位置,让大脑理解为是外部环境在变,自己并没有运动,所以也可以降低晕眩。

如果摄像机控制不当,就会引起运动冲突,比如人在站立静止态,但摄像机移动对人的视觉造成人在运动的假象,身体感知与视觉感知冲突,就会晕眩。

五、自我认知冲突
体验者沉浸在虚拟世界中,也是对自己有一个清醒的认知。一步走多远,伸手能拿到哪里的东西,想“摸”一个虚拟物品要怎么伸手等等。那么,在虚拟世界中究竟该如何逐步帮体验者建立自我形象身份、自我能力认知?

自我形象认知,是对自身长相、穿着的认知,比较简单直接的方式是先进入一个选择人物的场景。在这个场景中体验者还是体验者,由他来选择接下来的场景中他将扮演谁。在选择过程中,会慢慢建立自身与目标的联系,将两者对等起来;也可以选择其它比较有创意的方式,比如在场景中设置镜子,当体验者在照镜子时就会发现自己的形象是什么,穿着打扮是什么样的,或者是有几个同伴,根据同伴的样子可以推测出自己的形象,或者是能看到自己的双手或双脚,根据双手、双脚的情况猜测自己整体形象。

体验者双手如果有手柄之类的操作装置,一定要精确定位双手的手长,不要在虚拟场景中任意加长或缩短,会让体验者的自我认知造成困惑。如果一定要延长,建议通过在手的位置之外添加工具之类的物体,来达到延长操作距离的目标,比如HTC Vive中很多游戏都采用手柄发出的射线来选择远处的物品,从而进行双手触碰不到的东西的交互。

六、更自然的交互
在虚拟世界中,体验者一方面会觉得新奇,另一方面极可能会感到不适,而更自然的交互是可以大大降低体验者不适,提升沉浸感。

目前在虚拟世界中的交互,有有限定位的Oculus,采用坐姿,在坐姿下头显一定程度精确定位。也有较大范围的空间定位,如HTC Vive,可以坐姿在2*1.5到4*4米空间或再略大的空间内精确定位。也有只有方向的各种VR设备,总之都是尽量采用与人运动规律相符的运动方式。抬头就看到头上的内容,低头就看到脚下的内容,转头则看到旁边的内容,移动时与真实物理空间一比一的等距离移动,要胜于人静止而瞬移或匀速移动的体验。还有采用OpiTrack的定位技术,实现几百平甚至几千平的大范围定位,越接近真实的行走、转向方式,越能提升沉浸感。

1. 抓取的交互
在很多VR体验里会有对物体的抓取,最理想的效果就是体验者直接伸手去抓取虚拟场景中的物体。目前可以借助的技术称之为手势识别,比如国外的Leap Motion,提供了硬件设备和相应的SDK,可以实现较为精确的手势识别。使用方式为将Leap Motion的摄像头固定在头显上或胸前,这样在摄像头拍摄范围内,基本上都可以较准确地识别手势。通过程序调用相应的SDK,就可以获取手势输入信息,同样可以进行手部模型替换,以得到更真实的体验。变通的方式,如Vive的手柄,提供了握力键、扳机,对于抓取动作可以通过简单的引导教学,让体验者习得握力键的抓取功能或扳机键的抓取功能,慢慢习惯后再使用会觉得相当自然,并不会影响渲染感。

2. 抛掷的交互
和抓取对应的交互有放置和抛掷,理想效果还是直接用手参与体验,做抛掷动作并松手实现物体的抛掷。而借用手柄的操作体验,则是相类似的,按紧扳机或握力键并做抛掷动作,在合适的想松手的位置将按键松开,以实现抛掷。这些交互跟真实的抛掷非常相似,只是抛掷物体的重力感应暂时还没有。但是随着物体抛出去,根据物体运动曲线,会让人确信抛掷的交互过程是真实的。如在游戏《画境》中投击苹果的环节,被认为是非常有趣的一个玩法,如图4所示。



图4 投击苹果

3. 躲避的交互
在很多VR游戏中都会出现,且可以发现是非常有乐趣的一种交互。当有子弹、弓矢等飞过,人会本能地进行躲闪,而当躲闪成功后会有难言的喜悦,所以可以在VR体验中适度增加些躲闪的玩法。而在采用Vive这种空间定位技术的设备上,更能获得极佳的体验。与此相反,击中或接住体验也是相当有趣,比如一款由独立开发商Dylan Fitterer制作的VR音乐游戏《音盾》中使用手柄接住飞来的被视觉化了的音乐节奏,让人乐此不疲。

4. 工具或武器的使用
在VR检验中,难免有一些工具的使用,比如螺丝刀、钥匙、长剑、大刀、枪械等。同样需要遵循尽可能自然的交互设计要求,比如刀剑的劈砍,根据手部追踪或手柄追踪,可以完美同步人的劈砍动作,沉浸感十足。而枪械的操控,换弹夹、上膛、瞄准,由于十分繁琐,可以有选择地保留和简化。否则在精细度上会耗费相当大的精力去实现,而且体验时也会感觉麻烦,比如只保留换弹夹,上膛省去,瞄准可以通过放慢子弹速度或增加子弹尾焰,让人能看到弹道而靠感觉去瞄准,这样的体验可能更好。

5. 爬行的交互
在体验中身姿调整相关的玩法也比较多样,在一些密室类游戏中的爬行体验,也是非常有趣。可以利用场景,设计一些低矮通道,或者在低矮处一些必须凑近观察的重要信息,或者为躲避攻击,以引导体验者爬行或蹲地行进。

6. 飞行的交互
有些VR体验会配合一些载具,模拟飞行或骑行,需要注意的一点是一定要让头显显示内容和载具反馈完全一致,否则极易引起晕炫。

七、音乐、音效的使用
好的音乐可以直达人心,体验者在一个场景中,如果听到合适的背景音乐,交互过程中有合适的音效,马上能提升沉浸感,体验效果至少增强20-30%,是绝对应当投入相当大的精力去制作好的音乐、音效。

八、多人联机
越来越多的VR体验,已经开始进行网络连接,以增加社交的乐趣。目前由于VR对时延要求非常高,网络时延也得非常低才行,所以只适合弱联网联机或局域网强联机体验。多人的模式中协作、对战、对话等都是值得推荐的设计内容。而只要联机,队友或对手的形象要有,与此相匹配的动作也得有,所以IK动画的要求就被提了出来。

现在有相对成熟的思路,一种是纯IK,根据头、手的位置,反推整个模型的动作;一种是半IK,通过头、手的位置,反推模型状态,然后调用状态动画。两种思路都可以做出相应的效果,精细程度看团队水平。

总结,说了这么多,VR设计还是方兴未艾,大家投身其中大有可为。上面的建议限于当前设备、软件技术、个人经验,会存在一些不完善。大家还是要做原型,通过原型去检验,什么样的VR设计才是好的设计。总之要牢记:不要晕、提升沉浸感。
  • 大小: 2.8 KB
  • 大小: 64.2 KB
  • 大小: 3.6 KB
  • 大小: 86.2 KB
0
0
评论 共 1 条 请登录后发表评论
1 楼 weiqingfei 2016-10-27 14:34
引用
PlayStation VR的分辨率为单眼960*1080,双眼1920*1080分辨率,同样相当于2K屏。

哈?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • VR产业白皮书

    (一)提前谋划布局做好顶层设计24 (二)推进产业化和行业应用25 (三)加强文化和品牌建设27 附件:部分典型产品代表29 (一)蚁视(VR头盔)29 (二)深圳3Glasses(VR头盔和一体机)33 (三)乐相大朋(一体机...

  • 关于VR 应用设计的 8 个建议

    引用  作者简介: 冀盼,现任奥秘游戏CTO,负责奥秘IT产品规划、技术研究、技术团队管理,其... 越来越多的从业人员对VR产生兴趣,想要设计VR应用,但是VR应用设计与原手机App或桌面应用多少有一些区别,下面文...

  • VR应用的5个实例:虚拟现实购物和人工智能

    通过实现沉浸式虚拟现实环境,一些AI应用程序声称可以测试尚未投放市场的产品或零售创意,将它们放在虚拟货架上以研究消费者对实时商品的反应和行为。 这些公司声称,通过将眼动仪与头戴式显示器集成在一起,可以...

  • 提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除

    Android Studio是Google官方提供的Android应用程序开发工具,是Android开发的标准IDE。它支持Java、Kotlin和C++等多种编程语言,并集成了Android SDK,包含了完整的Android开发所需要的一切。

  • VR应用隐私政策

    VR垃圾分类软件>>隐私政策 您的信任对我们<<VR垃圾分类软件>>非常重要,我们将按法律法规要求,采取相应安全保护措施,尽力保护您的个人信息安全。鉴此,我们制定本《隐私政策》(下称“本政策/本...

  • VR游戏设计之三大特性

    中国”(Mobile Developer Conference China)将在北京• 国家会议中心召开,来自iOS、Android、跨平台开发、产品设计、VR开发、移动直播、人工智能、物联网、硬件开发、信息无障碍10个领域的技术专家将分享他们在...

  • 《XR健身应用的设计实现》

    《XR健身应用的设计实现》--每日日志

  • VR多媒体互动系统展馆应用方案

    为了有效解决这样的行业难题,多人联机VR互动系统应运而生,可以实现多名使用者共同进入到同一个虚拟世界,在虚拟世界里产生互动。 比如多人VR展馆旅游中,导游角色可以带游客参观博物馆,控制场景方位的切换,通过...

  • 浅谈Unity与VR产业,用Unity开发VR应用

    VR(Virtual Reality的缩写,中文翻译—虚拟现实)概念早在80年代初就被提出来的,其具体是指借助计算机及最新传感器技术创造的一种崭新的人机交互手段。 中国VR产业仍在摸索阶段,亟缺复合型专业人才。据领英的全球...

  • VR产品解决方案(仅个人学习和知识究)

    VR产品解决方案是一种基于虚拟现实技术的产品解决...虚拟现实(VR)产品解决方案可以用于个人学习和知识研究,以下是一些建议: 虚拟实验室:通过VR技术,用户可以在虚拟环境中进行各种实验,如化学、物理、生物等。

  • VR, AR, MR 名词含义以及应用场景

    再细节一点来说,就是模拟一个三维的虚拟世界,在这个虚拟世界中,人们可以感受到视觉、听觉、触觉等方面的刺激。一句话来说,就是使用VR工具,在虚拟世界的感受就像在现实世界一样。 现在大家接触最多的就是VR眼镜...

  • 开发者经验谈:开发VR游戏的若干建议

    同时也是一名热血游戏开发者(Unity3D游戏引擎的铁杆粉丝)以及经过认证的Scrum负责人(Scrum Master),担当过The Future of Gaming,Intel Buzz Workshop以及VR With The Best在线会议等盛事的嘉宾。闲暇时开发了...

  • UNITY开发VR从入门到放弃---VR自学手册

    如何快速学习VR开发,以及HTCvive的使用。

  • 浅谈Unity与VR产业,用Unity开发第一款VR应用

    VR(Virtual Reality的缩写,中文翻译—虚拟现实)概念早在80年代初就被提出来的,其具体是指借助计算机及最新传感器技术创造的一种崭新的人机交互手段。随着Oculus宣布1月6日开启预售,2016年很可能成为VR游戏元年...

  • 基于SSM+JSP+HTML的东风锻造有限公司重大停管理系统(Java毕业设计,附源码,数据库,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 ssm 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 数据库系统课程设计报告-体育项目比赛管理系统设计与开发

    一、系统需求分析 1 (一)需求概述 1 (二)业务流分析 1 从运动员角度分析 1 (三)数据流分析 4 (四)数据字典 5 二、数据库概念结构设计 6 (一)实体分析 6 (二)属性分析 6 (三)联系分析 8 (四)概念模型分析(.PDM图) 9 三、数据库逻辑结构设计 9 (一)概念模型转化为逻辑模型 9 1.一对一关系的转化 9 2.一对多关系的转化 9 3.多对多关系的转化 10 (二)逻辑模型设计(.PDM图) 10 四、 数据库物理实现(一)表设计 10 (一)表设计 10 (二)创建表和完整性约束代码设计 11 五、数据库功能调试 15 (一)运动员管理模块 15 (二)负责人管理模块 16 (三)系统管理员管理模块 17 六、设计系统前台软件 21 (一)开发软件选择 21 (二)软件功能要求与设计 22 (三)软件功能实现 22 (四)系统测试 24 七、设计总结 27

  • 基于SSM+JSP的文物管理系统+数据库(Java毕业设计,包括源码,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 智慧园区整体解决方案-37PPT(46页).pptx

    智慧园区,作为现代化城市发展的新兴模式,正逐步改变着传统园区的运营与管理方式。它并非简单的信息化升级,而是跨越了行业壁垒,实现了数据共享与业务协同的复杂运行系统。在智慧园区的构建中,人们常常陷入一些误区,如认为智慧园区可以速成、与本部门无关或等同于传统信息化。然而,智慧园区的建设需要长期规划与多方参与,它不仅关乎技术层面的革新,更涉及到管理理念的转变。通过打破信息孤岛,智慧园区实现了各系统间的无缝对接,为园区的科学决策提供了有力支持。 智慧园区的核心价值在于其提供的全方位服务与管理能力。从基础设施的智能化改造,如全面光纤接入、4G/5G网络覆盖、Wi-Fi网络及物联网技术的运用,到园区综合管理平台的建设,智慧园区打造了一个高效、便捷、安全的运营环境。在这个平台上,园区管理方可以实时掌握运营动态,包括道路状况、游客数量、设施状态及自然环境等信息,从而实现事件的提前预警与自动调配。同时,智慧园区还为园区企业提供了丰富的服务,如项目申报、资质认定、入园车辆管理及统计分析等,极大地提升了企业的运营效率。此外,智慧园区还注重用户体验,通过信息发布系统、服务门户系统及各类智慧应用,如掌上营销、智慧停车、智能安防等,为园区员工、企业及访客提供了便捷、舒适的生活与工作体验。值得一提的是,智慧园区还充分利用大数据、云计算等先进技术,对园区的能耗数据进行采集、分析与管理,实现了绿色、节能的运营目标。 在智慧园区的建设过程中,还涌现出了许多创新的应用场景。例如,在环境监测方面,智慧园区通过集成各类传感器与监控系统,实现了对园区水质、空气质量的实时监测与预警;在交通管理方面,智慧园区利用物联网技术,对园区观光车、救援车辆等进行实时定位与调度,提高了交通效率与安全性;在公共服务方面,智慧园区通过构建统一的公共服务平台,为园区居民提供了包括平安社区、便民社区、智能家居在内的多元化服务。这些创新应用不仅提升了园区的智能化水平,还为园区的可持续发展奠定了坚实基础。同时,智慧园区的建设也促进了产业链的聚合与发展,通过搭建聚合产业链平台,实现了园区内企业间的资源共享与合作共赢。总的来说,智慧园区的建设不仅提升了园区的综合竞争力,还为城市的智慧化发展树立了典范。它以用户需求为导向,以技术创新为驱动,不断推动着园区向更加智慧、高效、绿色的方向发展。对于写方案的读者而言,智慧园区的成功案例与创新应用无疑提供了宝贵的借鉴与启示,值得深入探索与学习。

Global site tag (gtag.js) - Google Analytics