游戏ios开发屏幕适配问题中,屏幕的朝向为什么 都是写死的

张泽华Android面试题整理_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
张泽华Android面试题整理
上传于||暂无简介
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩23页未读,继续阅读
你可能喜欢android面试宝典_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
android面试宝典
上传于||文档简介
&&非​常​全​的​a​n​d​r​o​i​d​面​试​面​试​总​结
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩76页未读,继续阅读
你可能喜欢You are here:
走进VR游戏开发世界 揭秘与传统游戏差异
2015年上半年,我们团队结合之前积累的体感交互经验, 开始进行VR游戏的预研工作。结合之前积累的体感交互经验,开始进行VR游戏的预研工作。在这近一年的时间里,一方面从外界感受到了一股虚拟现实快速发展的潮流,另一方面也体会到身边很多人对VR游戏的了解非常有限。现在我们自己的VR游戏Demo已经完结,技术上验证了在当前的硬件条件下,开发高画质游戏的可行性。当然,优质的VR游戏需要大家共同的努力,我们也希望更多的人参与进来。在此把我们在开发过程中学习到的,体会到的,以及所期望的进行一下总结,希望对大家有所帮助。
图片为我们的VRDemo:Comet
VR硬件原理及现状
狭义上的”VR硬件”,特指具有沉浸感的头戴显示器。它有三个基本特征:
全3D的立体显示:附合人眼观看现实物体的习惯,能够”以假乱真”
完全虚拟的画面:需要屏蔽外界光线的干扰,你所看到的都不是现实的东西。有些人可能觉得”增强现实(AR)”更高大上一些,但是对于游戏,我认为还是更倾向于VR。玄幻,魔幻,科幻,一切皆为虚幻。
不受限制的视角方向:视角方向跟随头部转动和移动,不同于之前的头戴式显示器,视野非常广
当然,仅仅是这样的体验,并不能说是完美的”虚拟现实”,这也是很多人说硬件不成熟的理由。但是,在保证体验良好的的情况,目前的硬件已经满足做出高品质游戏的条件。下面对当前的硬件做一些技术分析:
VR显示的基本原理
首先,我们来一下满足上面提到的三个基本条件的最廉价产品,Google的Cardboard:
插入手机做为显示屏幕,通过分屏的方式处理双眼的画面,达成立体画面显示。
借助纸壳屏蔽外界光线干扰,通过透镜就可以观看到手机渲染的虚拟画面。
依赖手机内置的陀螺仪,可以模拟出头部转向时视角的变化。另外,凸透镜在一定程度上增加了FOV(FieldOfView,视场角)。
Cardboad以低廉的价格,让很多人提前感受到了VR的魅力,并衍生出了很多塑料壳的版本。不过从体验上来说,Cardboard并不能算是一个合格的VR硬件,很多人在试玩过后,就自然而然地以为”VR就是那么回事”,“目前硬件还差得远”,“也就新鲜几分钟”等等,从一定程度上误导了很多人对VR的认知。
那Cardboard存在哪些问题呢?
严重的画面延迟:手机陀螺仪模拟的转向精度和响应速度都不满足VR的要求,造成渲染的画面跟不上转头的速度,加重了晕动症。
糟糕的画面表现:手机性能不足以支撑高画质高帧率的3D画面渲染,只能呈现出一些简单的卡通风格画面,达不到”以假乱真”的程度,影响了沉浸感。
缺乏自然的交互:由于手机的限制,目前没有配套的头部和手部的定位方案,从交互上很难做到让人满意的程度,只能依赖蓝牙手柄这样的传统输入设备。
当然,还有一些其它的小问题,比如手机发热,起雾,过重,画面变形等等,这些虽然不是影响体验的主要因素,但在使用上也是挺烦人的。接下来我们看看Oculus针对这些问题是怎么解决的,或许这也能解释两者之间的价格差异为什么这么大。
不受限制的视野
如果需要达到逼真的视觉体验,视野必需尽量接近真实。这需要满足两个条件:一是接近人眼的FOV,二是跟随头部运动的视角。
上图左很直观地说明了人眼的FOV特点:双眼的覆盖范围是不同的,两只眼睛加起来可以超过180度。当然,在平面的液晶屏上很难做到这种效果,所以目前的主流VR硬件(不包括Cardboard)大多是用凸透镜做到了100~110度左右的FOV,虽然没有达到自然视野的程度,但相对于传统FPS游戏(FOV50~60度)来说,是个巨大的进步,直接影响到UI设计,交互,性能,场景设计,镜头等方面。为了解决近距离通过透镜观看画面的变形问题,我们需要对画面进行反向的变形校正:
下图就是正常双视口渲染的画面,经过BarrelDistortion变形后的效果(在很多Cardboard游戏上,这一步是省略掉了的):
图片来我们的VRDemo:Comet
但是,FOV越大,光线的折射率也就越大,光线的散射现象也就越明显,给人的感觉就是画面边缘的像素出现了重影。
所以,变形后还需要对色散问题进行校正,即ChromaticAberration。下图中我们可以看出边缘像素的RGB三基色位置是错开的,这样通过透镜观看时才不会出现色彩分离的奇怪现象:
图片来自我们的VRDemo:Comet
空间定位能力
头部的运动追踪,Oculus增加了一个外置的红外摄像头用于头显的空间定位,它同时也可以用于双手控制器(OculusTouch)的定位。
当然,这种定位方式也存在FOV的问题,只适合桌前的小范围运动。对于大范围的移动,HTCVive的Lighthouse技术更有优势,可以在5x5m的范围内自由移动:
空间定位技术的引入,直接改变了游戏的操作方式,从”指令式”操作逐渐变成类似”体感”操作的自然交互体验,UI也就不再拘泥于2D,开始向3DUI转变。
主流VR硬件参数
这里有一张表格,可以大体上说明2016年的主流VR硬件的参数(DK2和GearVR是很多人都体验过的,做为对比也加进来):
从中表格中提供的数据,结合一些现场体验可以分析出一些关键信息:
三家VR设备的FPS和FOV差异并不大,这方面在体验上差距很小。PSVR的120FPS是60帧插值出来的,并不是实际的渲染帧数。
三家VR的控制器都趋于一致:双持手柄,有空间定位能力,可以模拟双手操作。这就为我们进行VR游戏的交互设计提供了很好的指引,引擎层面可以进行统一抽象,不用再为每个设备单独设计。
分辨率相对于DK2都有改善,但受限于OLED屏幕技术和硬件性能限制,还达不到视网膜屏的程度,像素点肉眼仍然可见,但已经不会影响游戏画面的观看。
PSVR由于受限于PS4的机能限制,无法在分辨率上占有优势,但是可以通过像素排列和镜片技术减少纱门效应(ScreenDoorEffect),即像素间空隙(OculusDK2上非常明显)。
每家的硬件都会依赖一个内容发行平台,与主机游戏的运作思路很像,这也决定了VR游戏的设计思路。
另外值得关注的是GearVR,算是最早商业化的平台硬件,提供了比Cardboard更好的体验,但同样受到机能的限制。预测手机VR方案几年后会推动VR设备的普及,毕竟手机是人人都有,买个配件的成本还是可以被很多人接受的。
Motion-To-Photon延迟
有一个参数是表中没有的,那就是延迟。我们先来给出定义:从用户开始运动到看到屏幕上产生相应变化所需的时间:
从上图可以看到,从传感器采集,经过线缆传输,游戏引擎处理,驱动硬件渲染画面,液晶像素颜色切换,到人眼看到对应的画面,中间经过的每一个步骤都会产生延迟。要想达到理想的状况,需要硬件和软件优化的紧密配合。目前公认的可以被多数人接受的VR延迟是20ms,很多VR硬件只是传感器和液晶屏的时间就已经超出范围了。
对于VR硬件来说,低延迟才是核心竞争力。但目前延迟缺少一个测试和评估标准,所以很难通过公开的数据评估每个设备的体验效果。如果以20ms为一个临界值,可以说其它品牌的VR设备大部分都不合格。
VR体验目前的主要问题
VR游戏在当前的硬件条件下,仍然存在一些问题。我们做为开发者,必须搞清楚每个问题产生的原因,能够解决的解决,不能解决的回避,在此基础上才能做出良好的体验。
“晕”可能是第一次体验VR的多数人最直接的感受,就像晕车晕船般的感觉。很多人可能只是因为这个原因就会放弃对VR游戏的期待,掉入”VR目前不成熟”的圈子里。那为什么VR游戏那么容易晕?
1:你没动,画面动了:VR游戏体验者通常身体是静止不动的,如果游戏中看到的是各种加速/旋转/震动等,正常人都会受不了,跟晕车晕船的原理是一样的
2:你动了,画面没跟上:这就是上文提到的延迟,很多时候,硬件附合要求了,游戏却帧数不够,同样也会造成严重的延迟现象。
3:体质原因,比如有人有恐高症,放到一个悬崖边的虚拟场景里,也会触发心理和身体的反应。
原因1可以从游戏设计上进行回避,但是目前来说很多需要跑步和跳跃的游戏受限比较大。原因2的话,主流硬件在延迟上都是满足要求的,做为开发者更多的是需要做好性能优化。原因3,从我们组的几个人感受来看,随着体验次数的增加,症状会越来越轻,这表明人的身体是可以适应的。而且,适当地增加一些让身体有所反应的游戏场景,也不失为一种乐趣。
缺乏好的交互方式
VR头戴显示器看以看作是一个显示输出设备,那对于游戏来说,还有另外一种重要的硬件:输入设备。在VR游戏中,键鼠的操作方式首先就可以放弃了,因为看不到,只能盲操作。游戏手柄的话算是一种折衷方式,但并不能发挥出VR的潜力。理想的输入设备其实是双手,这也是最自然的方式。遗憾的是,不管是Kinect,还是LeapMotion,都无法完美地支持双手交互的精度。所以,目前主流的VR控制器还是以双持手柄为主,预计要2016下半年才开始上市。在拿到OculusTouch之前,我们尝试了基于Kinect体感的VR交互方式,虽然并不完美,但已经能够看出未来的交互设计雏形了。
GPU性能不足
BarrelDistortion变形后带来一个问题:中心区域像素分辨率的损失,也就是说中心区域的像素被放大了,边缘区域的像素被压缩了。但是人眼对于视野中心的像素清晰度非常敏感,为了保证清晰度,需要把原始渲染分辨率提高,以保证变形后的画面能够达到液晶屏的像素密度。
以OculusRift为例,屏幕分辨率为00,渲染分辨率需要长宽各提高到140%,即80,再加上90FPS的帧率要求,每秒需要渲染的像素达到了4。5亿个,相当于当代主机(XboxOne,PS4)游戏的7倍,与4k分辨率游戏所需要的硬件差不多。为了保证体验,他们规定了一个最低配置,叫做OculusReady的标准:CPUi54590,内存8G,显卡GTX970。
虽然PS4的渲染性能远远达不到GTX970的程度,但是相对于PC来说,它可以提供一致的体验,这对VR来说非常重要。毕竟就算你的游戏画面再好,如果一玩就晕得想吐,那也不会是一个好游戏。不过好在离VR普及还有一段时间,足够让OculusReady的PC成为大众配置了。
佩戴舒适度
很多近视玩家会担心不能使用,其实主流的显示设备都可以戴眼镜观看。至于戴着舒不舒服,那需要在工业设计上进行迭代优化。就目前来看,SONY家的头显最舒服,Oculus家的手柄最舒服,HTC家的功能最强。除了平台独占的VR游戏,多数会同时兼容三家的设备,所以从体验上来说,差别不会太大。
VR游戏与传统3D游戏的开发差异
VR游戏在开发制作上的差异,远远没有很多人想象的那么大,更多的是设计上的思路转变。所以,想要开发VR游戏,前提是能够开发一个3D游戏,核心还是游戏本身,VR只是体验上的增强。如果要写一个”VR游戏开发教程”,那么其中90%的东西,与VR并没有直接关系。但是,这10%的差异,却是VR的核心竞争力,因为它可以带给你”前所未有”的体验,为我们进行游戏玩法创新提供了非常大的发挥空间。
与主机游戏类似,注重核心体验,即Camera,Control,Character。可能很多人会觉得VR游戏只适合做FPS,其实并不是这样。只要保证沉浸感良好,什么类型的都可以做,RTS,MOBA,AVG,MMOG等等都可以。需要关注的核心点是Camera和Control,这直接关系到玩起来晕不晕,能够玩多长时间。只有保证操作体验和沉浸感过关,游戏的玩法才有意义。
当然,VR给我们也提供了一些新的特性,可以用于玩法设计中:
由于头部运动追踪的存在,点头和摇头的操作是可以被识别的,这就意味着很多Yes/No的操作可以直接通过头显输入。
头部的朝向可以灵活变化,当你”盯”着某个物体看时,可以针对这个行为做出相应指令,具体可以参考GearVR上的Land’sEnd。
由于360度视角方向不受限制,我们可以在背后做一些场景改变,让每次转头看到的场景都不一样,既能做成惊喜,也能做成惊吓。
头部不仅仅可以转动,还可以配合身体小范围移动,比如SummerLesson中凑近NPC,NPC会害羞…Vive的一个上帝视角Demo可以蹲下看到地底下打地道的小兵。
VR渲染可以调整WorldScale,即世界单位缩放,相当于动态调整自身相对于场景的比例,既可以做成巨人的视角,也能做成蚁人的视角。
因为VR世界中的单位可以与现实不一样,那么一些类似”缩地术”的功能也变成现实,通过身体小范围的移动,达到虚拟世界中的大范围移动效果。
双手控制器的存在可以模拟一些抓,扔,摸,打等的操作,捡起一个道具上下左右仔细看也是很有意思的一件事,可以把迷题设计在道具的隐藏角落里。
VR中有了双手的存在,很多解迷机关就不再是简单的按一个键,各种零件组合,机械,绘画等对于双手控制器来说都是很棒的操作体验。
控制器的握持感,非常接近于游戏中的手持武器,比如枪械,比如刀剑,这比握着一个鼠标或者手柄的感觉强多了。得益于高精度的传感器,做出具有竞技性的操作玩法也不是不可能。
双手具有天然的空间感,一些建造类的玩法也非常适合,比如MineCraft,比如Besiege等,UE4甚至尝试了在VR中进行场景编辑。
由于3D音效的加强(下面会提到),“听音辨位”就可以做得更真实,各种潜入类玩法非常适合。
另外,由于沉浸感的增强,恐怖游戏和XX游戏带给人的感官刺激会放大,这就不用展开了,试过就知道。
如果以OculusReady的硬件标准,基本上可以预期的画面表现力差不多相当于上代主机的画面,即Xbox360和PS3后期的水平。我们试做的VR游戏Demo,在项目启动时的规格比较高,GTX970+OculusDK2的硬件下,经过优化可以流畅运行,下面是最终版的技术选型,给大家做参考:
图片来自我们的VRDemo:Comet
PhysicallyBasedMaterial:物理光照材质算是主流技术了,但是相应的性能开销也会大一些。
SphereReflectionCapture:反射效果和各种高光材质就靠Cubemap了。
BakedStaticLighting+BakedAmbientOcclusion:即能用静态光照就用静态的。
GlobalDynamicShadowMaps:仅仅是主角和大件遮挡物。
InstancedStaticMesh:对于性能的提升非常明显,大量的优化是基于Instanced技术。
Bloom+ColorGrading:多数的后期镜头效果在VR中并不适用,因为是通过双眼直接观看,并不像传统游戏那样通过”摄像机镜头”观看。而且,为了性能,能关的都关了…
FXAA:理论上来说TemporalAA更适合消除远处的SpecularAliasing,但是会导致近处HUD的文字和纹路受到影响,解决之前先用FXAA代替。
当然,如果具有足够的优化功力和场景设计技巧,也不排除GTX970+OculusRift流畅运行的可能,但这并不适合多数的团队。
美术制作方面,有些资料会说NormalMapping和BillboardParticle不再适合VR渲染,其实并不是这样的。这些效果只是在近距离观看时才会发现很假,远处随便用,不用担心在制作上与传统3D游戏的差异。近距离的话,只能使用ParallaxMapping和MeshParticle之类保证不穿帮,但是极少数情况需要这样,跟场景和特效设计有关系。总体上来说,美术的制作与传统3D游戏差异并不大,除了UI。
图片来自EIPC的ShowdownDemo
由于目前主流的VR操作设备已经趋于统一,大家都有这么几个特征:
可以模拟双手的空间位置和旋转;
通过手柄上的按钮触发指令型操作,如抓住,发射等;
仍然保留传统的”摇杆”,但比较少用到;
这里有一个OculusToyboxDemo的演示视频,能够很好地说明VR下的人机交互是什么样子的:
图片来自Oculus的ToyboxDemo
可以预见到,基于双手的物理交互会越来越多,也就意味着物理模拟在VR游戏中的应用会更普遍一些。
同样的,UI的设计已经不再推荐2D平面化,更加倾向于3D的效果,如科幻风格的全息投影,或者使用实体模型。或许,以后VR游戏中的”UI”改由3D美术来制作了。
传统的3D游戏音效,一般是通过音量变化判断距离远近,通过频率变化判断相对移动。以空间定位为例:
左右:通过左右声道的音量差异区分;
前后:通过多声道的卫星音箱或多声道耳机区分(不适大多数人);
距离:通过音量的衰减判断;
高低:冒似没什么好办法…
在VR中立体声耳机是可以随着头部转动的,这就意味着,我们可以通过两个声道配合转头来判定上下左右前后
图片来自OculusConnect_Introduction_to_Audio_in_VR.pdf
同样的,头部除了转动之外,还可以小范围移动,不用通过走动就能判定声音的远近。以前相当于背景音的环境音效,现在也能分辨出大概的方位。
图片来自OculusConnect_Introduction_to_Audio_in_VR.pdf
因此,在VR游戏中,3D音效会被越来越多的人重视起来,甚至发展出新的玩法,比如Pastoral这个游戏。
有兴趣的同学建议搜一下这篇文章: VR中的声音听起来体验如何?和传统音频有什么区别。
VR游戏后续发展期望
主机平台现在有一类游戏,以高画质剧情体验为主,操作非常简单,俗称”游戏电影化”。目前VR圈也有很大一部分人在尝试VR电影的制作,但是基于360度视频的拍摄手法在VR的沉浸感并不是很好,而且传统的电影拍摄手法也不适合VR视频制作。所以,电脑制作的3D动画类电影在VR化方面具有先天优势,再结合VR头显的一些输入特性,甚至会产生”电影游戏化”的产品。另一方面,以UE4为代表的游戏引擎,实时渲染的画面效果已经达到了CG级别,在技术上具备了制作实时渲染电影的能力。可以预见到,未来的VR互动电影与VR游戏,它们之间的边界会变得十分模糊。
下面这个是国外的VR主题公园THE VOID,相信不久的将来,这种体验可以像电影院一样普及。
随着技术的进步和成本的下降,VR和AR会跟智能手机一样进入我们生活的方方面面。对于VR游戏来说,很多人也跟我有一样的梦想,希望在有生之年,可以把它变成现实。
from:腾讯游戏频道
& 2016 . All rights reserved.最近两年虚拟现实(Virtual Reality,简称VR)从刚刚走进公众视野到逐渐变得炙手可热,很多不同领域的IT开发者都想进入虚拟现实领域。本篇文章将首先讲解VR入门所需要学习的知识,然后从VR软硬件入手,针对当前的VR硬件特征以及VR技术本身的特点讲解VR游戏开发中的若干注意事项。VR入门基础很多其他行业的IT开发人员反映希望进入虚拟现实领域,想了解可以如何快速入手。这里简单说明一下:虚拟显示技术属于3D显示技术的一个分支,传统的3D技术显示在普通的2D屏幕上(类似于“魔兽争霸”这类游戏);而现代的VR技术则是指,利用具备了双目视差以及头部运动追踪(头部动作捕捉)技术的立体显示装置(如Oculus Rift和HTC Vive),来对3D场景进行展示的技术,这类设备允许用户转动、移动头部从各种角度对3D模型进行观看。所以对于其他行业的IT开发者来说,虚拟现实可以简略地看成是3D游戏/应用的一种,进入虚拟现实行业首先需要掌握3D技术。虽然OpenGL和DirectX是3D技术的基础,但是直接使用这两种技术进行3D开发难度大效率低,并不适合普通开发者入门。这里推荐简单好用的3D游戏引擎Unity3D(一般简称Uinty或U3D),其采用C#作为脚本语言,简单易学;此外,Unity本身作为一款3D游戏引擎,除了具备对3D模型进行渲染、显示的基本功能外,还具备物理系统、光照系统、骨骼动画系统、音频系统等3D游戏所需的各类系统。当掌握了Unity开发技术之后,只需要开启Unity的“支持虚拟现实”这个选项,就可以轻松的在VR设备上显示3D画面了。当然这只是VR的入门第一步,由于VR展示和传统3D展示的不同(比如用户可以自由控制相机,用户看不见鼠标键盘,必须依赖Xbox手柄或者体感手柄等设备进行输入等),VR开发和传统3D开发也有很多的不同之处,就笔者本身从事过的一款“3D街区漫游”应用来说,此应用中包含了一个正在建设的街区的3D模型,目标是让用户在这个3D场景中漫游来了解这个街区建成后是什么样子,形成直观的视觉印象。按照传统的做法,只要采用第一人称视角,用户操作键盘的方向键(或者WASD键)控制前进方向,用鼠标控制视角即可(类似反恐精英的操作方式),但是当转为使用VR技术后,因为用户看不见键盘而只能使用Xbox手柄,通过手柄左摇杆控制角色移动,而由于用户的视角和VR头盔直接联动,用户在现实中转头,在虚拟环境中的相机就会同步旋转,所以传统的鼠标也失去的作用,当然控制用户“正前方”的朝向也需要一个输入,而这个输入可以用Xbox手柄的右摇杆进行控制。完成了这些,用户可以带着头盔拿着手柄在虚拟3D街区中漫游了,但是你会发现在通过操作手柄摇杆来移动或转身时会产生一种眩晕感,这是由于人在虚拟环境中的运动和现实中的运动不同步所引起的(后文会详细说明)。于是我们研究了一套改进方案,让用户在虚拟街区中事先设定好的观察点观看,采用的手柄的按键切换观察点,而瞬间移动的方式很好的避免了眩晕感的产生。所以即使掌握了3D开发技术,也需要在VR环境下的人机交互方式中采取合适的交互方案才能够获得良好的VR体验。VR硬件VR技术的终极目的在于能够给予用户全身心的沉浸式体验感受。人类可以通过视觉、听觉,触觉,味觉,嗅觉等感觉获取环境信息,这其中,通过视觉获取的信息占据了全部信息量的80%以上。因此目前的VR技术主要从视觉入手也就不足为奇了。而基于双目视差的立体视觉技术更是诞生已超过150年。如图1、图2所示的设备是David Brewster在1849年在前人的立体视觉装置的基础上改进而来,在形式上已经十分接近我们目前所使用的VR头盔了。图1 David Brewster发明的改良型立体镜图2 以凸透镜取代立体镜中的镜子但是这类设备,只能看到固定的立体图像,图像不会随时间而变化,更不用说这种变化能够根据用户头部的运动做出响应。而作为完整的虚拟现实解决方案,立体画面输出和头部追踪,是必不可少的两项技术。在人类进入电气化时代后,尤其是二战结束后,伴随着电子计算机的发明,若干基于双目立体视觉的电子设备被发明出来,但是由于需要结合头部追踪以及即时渲染显示输出等技术,在那个电子设备体积大性能低的年代,只能做成如图3所示的这样。图3 Ivan Sutherland开发的头戴式显示器这是由计算机科学家 Ivan Sutherland在20世纪60年代开发的一款终极显示器,由于它和天花板相连从而减轻了其重量,但是由于其高悬与用户头顶的惊悚造型,该立体视觉系统也被称为“达摩克利斯之剑”。该头戴式显示器是一个真实的虚拟和增强现实设备的最早例子之一。其能够显示一个简单的几何图形网格并覆盖在佩戴者周围的环境上。在后来的发展中,虚拟现实设备一直属于军事研究的重要领域,无论是用于军事训练,还是用于顶尖战斗机的头盔里的数据显示。到了21世纪,若干结合了3D显示和头部追踪的设备已经出现了,但是由于其昂贵的价格,往往只能在高校和大企业的实验室里才会购置。Oculus的诞生革命性的变化出现在2012年,Oculus Rift登陆KickStarter众筹成功,并于2014年被Facebook收购。其实作为第一代产品的DK1,在现在看来有很多的缺陷,比如分辨率低等,直到2014年发布的DK2才有了比较好的改善。图4 Oculus Rift DK2DK2(如图4所示)在2014年北京举办的Unite大会上有过展示,当时参加过这次大会的同学可能还有印象,当时排的队伍之长,至少要等40分钟才能玩上,而看着带着DK2的玩家的反应是非常有趣的(当时演示了一个鬼屋游戏,游戏最后会出现一个女鬼,玩家往往会被吓得惊声尖叫)。DK2具备了相对较高的分辨率(即时如此,仍然会看到较为明显的纱窗效应),以及100度左右的视场角(FOV),采用了高精度的陀螺仪结合红外相机进行头部运动追踪,并对从头部运动数据采集到最后的3D图像的渲染输出的一系列环节进行了优化(甚至据说DK2配的HDMI线都是特制的,里面有定制化芯片用于缩短视频信号传输延迟)。而其所采用的三星Note3手机所配备的OLED屏幕具有优良的高刷新率,能够做到75FPS ,大大减小了液晶显示器显示高速物体时产生的残影现象(该现象是导致VR眩晕的原因之一)。可以说,DK2是当时十分难得的没有致命短板的VR设备,而且最关键的一点是,它399刀的价格也让人比较容易接受。惊鸿一瞥的HTC Vive而到了2015年,HTC和Valve公司在巴塞罗那的消费电子展上宣布联合推出Vive虚拟现实设备,但是由于发出的测试样机过于稀少,VR游戏开发者普遍还是用Oculus进行开发。中国的VR同时在大洋彼岸的中国,VR也经历了大起大落的一年,一方面,由国内的一些公司推出了“蛋壳VR”,在蛋壳形状的动感座中加入了国产的VR头盔,配合“大摆锤”、“过山车”等VR游戏,席卷全国一二线城市的大商场,但是由于VR游戏对于动感座椅是没有任何控制的,而是由一个外部程序控制座椅的运动,因此游戏和座椅之间难以实现良好的同步,比如当用户在游戏中看到自己开始加速下坠1-2秒之后,座椅才会有相应的动作,这种“不同步”会引发用户产生较为严重的眩晕感,而且不同厂家对驱动VR头盔的电脑配置也不尽相同,为了节约成本而配置较差的显卡也会引发低帧率,高延迟,导致用户眩晕。这些都降低了客户的体验感,而且少有后续内容更新,这些都导致了回头客的减少,而蛋蛋椅的销量在2015年10月之后也下跌严重,这波“中国式VR”的浪潮也暂时退去。图5 用于体验VR的蛋蛋椅(蛋壳)公平来说,虽然“蛋蛋椅VR” (如图5所示)体验谈不上多好,但是对整体市场起到了一定的教育作用,让大众在一定程度上了解了VR到底是个什么技术,但是同时由于不到位的效果,让大众用户感到“VR也就无非如此罢了”。还有一点就是比起成人年的浅尝则止,青少年儿童表现出了对VR的极为浓厚的兴趣,而且对于VR眩晕症,儿童表现出了更强的抗性,在我们公司举办的一次VR宣讲会上,有一个VR模拟飞行的Demo,一个小孩子玩了半个小时。很多成年人玩过反应会产生眩晕感的游戏,很少听到孩子们玩过后有类似的反馈。同时借着资本市场对游戏产业(这里主要是指手游)的热捧,手机VR伴随着Google的Cardboard的发布开始了热炒,各种以Cardboard为原型进行设计制造的手机VR盒子层出不穷,甚至据传说深圳有上百款手机盒子在设计和生产。但是与之形成鲜明对比的却是手机3D性能的普遍低下,毕竟由于需要每秒75帧的刷新率,对于一个中小型3D场景来说,GTX680或者GTX770以上的台式机显卡性能才能够保持足以稳定的帧率输出,作为手机那捉襟见肘的3D性能,如何去实现这样高品质的VR体验呢?此外绝大部分手机仍然采用的是不适合VR的液晶显示屏,只有三星等少数手机采用了OLED屏幕。而且为了满足精确低延迟的头部动作捕捉需要,加速度传感器需要达到1000HZ的采样律,但是智能手机中配置的往往是100HZ采样率的传感器,结果会大大增加画面相对与头部运动响应的延迟。此外这些VR盒子往往只是简单容纳手机,缺乏和手机软件进行通信的外部设备,如果用户需要做某些操作,可能需要把手机从盒子里拿出来后点击手机屏幕操作,体验并不好。当然有些软件采用头瞄系统,让用户注视某个虚拟按钮一段时间后相当于按下此按钮。在这一点上,具备了实体操作按键的一体机和Gear VR就好很多,有更加直观便利的操作性。和手机VR一起被热炒的,是一系列VR一体机的诞生,但是由于这些一体机基本相当于把智能手机去掉了基带芯片整合进手机盒子一样,相比与普通手机VR,2015年的这一批VR一体机在VR性能表现上也没有什么更加特别的竞争力。在市场上的销售表现也没有掀起太大的波澜。其实也不是国内一体机厂商不愿做出好的产品,有一些一体机的创业团队就吐苦水说作为头盔核心部件之一的OLED面板货源只掌握在三星等少数几家大厂手中,无法获得普通液晶面板那样的敞开式供应(估计为了降低风险,一体机厂家的初期产量不会很大,较低的需求量也降低了和三星等供货大厂的议价能力;而作为VR产品的核心的OLED面板,相对于这个产业更是战略级储备资源,在三星手机、Oculus DK2这些本家产品尚在上升阶段的时候,也很难想像他们会向同行业的竞争对手大批量出售这样的重要战略资源)。而且即使拿到了面板,也不等于万事大吉了,OLED面板只是负责显示,想让其工作还需要相应的驱动芯片,普通的驱动芯片只能达到60FPS的刷新率,只有原厂的驱动芯片能实现和其OLED面板所适配的75FPS的驱动能力。所以只有原厂的OLED搭配自家的驱动芯片才能够实现完整的75FPS的完整性能表现。至于这些驱动芯片,其获得的难度更甚于OLED面板。但是比手机VR好的一点大概是相比于智能手机(尤其是Android手机)的硬件、系统的碎片化(各种分辨率的屏幕搭配了各种不同规格的处理器,再加上各种版本的安卓系统,会形成数量恐怖的排列组合的结果),一体机有着相对统一的硬件规格和操作系统,VR软件开发者在进行硬件适配时比起手机VR时的时间、人力、测试硬件成本会低很多。此外得益于一体机较大的体型,其中可以容纳更多的设备,可以添加更多的外部按键、更大容量的电池,甚至是为了防止镜片起雾和给CPU更有效的散热而可以搭载基于风扇的主动散热系统。Gear VR向Oculus提供OLED面板的三星,和Oculus合作推出了Gear VR(如图6所示)。虽然普通的手机VR相比于PC VR的表现相差甚远,但是Gear VR在手机VR之中却是一种异质般的存在——它能够提供基本接近PC VR的性能体验。图6 Gear VR首先,Gear VR可以通过USB接口和三星手机相连(想把别家手机通过这个USB接口连到Gear VR的同学可以基本放弃了,这个接口被设计成为只能接入三星手机特制的USB接口),头盔上的电子设备可以和手机进行直接的有线通信,这些设备包括了光电传感器、触摸面板、高精度陀螺仪等。当你把(三星)手机放入Gear VR后,不用再做任何操作,只要把头盔戴到头上,头盔内置的光电传感器会将信号传递个整合到操作系统层面的VR服务,手机就会自动启动VR桌面程序,你可以通过触控板浏览当前已有的VR应用,并启动的选中的应用程序。在游戏中也可以使用触控面板进行操作,如果想要退出该应用只要按下头盔上的“退出”按键即可。在VR桌面时,你会发现Gear VR对于用户的头部追踪非常的准确,头部的运动能够以极低的延迟极高的帧率直接反应到画面上,而这基本就是PC VR的效果。同样是手机VR,Gear VR和国产的手机VR的差距咋就这么大捏?首先,在头部运动捕捉环节,刚才已经说过,Gear VR的采用了头盔上搭载的1000HZ高精度惯性传感器所采集的数据,并通过有线获得稳定的数据传递输入;国产手机VR一般采用手机自带的100HZ加速度传感器。这导致了Gear VR能够获得更短延迟,更准确的头部运动加速度采样数据。而在渲染环节,Gear VR也有独特的优势,三星手机的软硬件都是自己制作的,在ROM的开发中,可以对GPU的操作做出特殊优化,缩短渲染延迟。而完成这项工作的,则是3D技术大神,也是Oculus 的CTO的John D. Carmack,正是他参与到三星ROM的优化过程中,把Gear VR的SDK和三星手机的底层显卡驱动进行深度整合优化,实现了Gear VR那接近PC VR般的梦幻表现。而国产手机VR,一般都是使用Google的Cardboard组件开发的VR应用,未经过优化的双镜头渲染让手机GPU不堪重负,我在Unite 2015的展示厅里看到的用于进行虚拟旅游的某手机VR应用,其帧率更是只有可怜的个位数,因为我感觉都可以一帧帧自己数出来了(囧)。Gear VR到底好到什么程度呢?据说有个国内厂商做一体机研发方案,调研了一大圈,最后决定上三星Gear VR的方案,但是Gear VR的核心都在三星手机中了,想完美复制Gear VR就需要自己做一部三星手机出来,但这谈何容易?于是该厂老板做了一个近乎凶残的决定:把三星手机扒皮。也就是买回三星手机,拆去外壳,然后装入自家仿制的Gear VR头盔中。其实在一体机硬件方案非常多的华强北,搞出这么一个方案只能是无奈的下下之策,但是这里也能看出Gear VR其本身的不可替代性。
(C) 2016 今日头条 违法和不良信息举报电话:010-公司名称:北京字节跳动科技有限公司

我要回帖

更多关于 ios开发屏幕尺寸 的文章

 

随机推荐