VR副作用、演示、涉及图形图像算法、UI设计和最大挑战等

16 篇文章 0 订阅
7 篇文章 0 订阅

//副作用:VR屏幕离人眼太近,是否造成比目前使用传统屏幕会带来更多的视力危害
虚拟现实技术一旦进入了终极状态,开始进入神经科学领域的话,用炫酷一点的话说已经进入了“上帝禁区”了。通过虚拟现实技术让人类的神经与虚拟现实世界连接,通过扭曲人类的五观反馈,来实现与虚拟现实世界的互动。
这样一种技术会对人体造成什么影响?对神经的损害程度有多严重?会不会像毒品一样会让人成瘾?会不会留下后遗症从而在真实现实世界里产生幻觉?这些都将在未来需要小心翼翼尝试和防范的内容。
终极状态的虚拟现实技术要建立在强人工智能之上,而强人工智能其实还处在理论架构层面,所以在此之前,整个科学界更多的还是在弱人工智能和虚拟现实应用层面上探索。虚拟现实与人工智能将会是未来最让人类兴奋的两大领域,这是人类进入“上帝禁区”的一次尝试,最终将改变整个世界的基础。
//-----------------------------
//真正的难点是创意和设计
*/

/移动端[硬件方面]
//系统优化,算法,图形图像:手机加盒子[安卓系统层面优化:降低延迟,提升体验]
Wifi,蓝牙,预言,整体化的一个交互体验

//移动端VR技术指标:
陀螺仪技术[随动的准确][刷新率]
图形图像[显示效率][芯片原厂底层优化]
*交互融合[融合算法]:即前面2个方面做到一定程度,融合起来就是VR的根本
延时20ms,功耗性能过热
程序音频制作[复杂]
--融合算法[保持陀螺仪数据稳定和准确]:陀螺仪,加速度和地磁进行有效的融合矫正[硬件底层]
--图形图像:
---Front Buffer Rendering[latency延迟相关]:安卓架构并非实时性系统,为了防止撕裂或者,本身做了很多验证
---ATW[TimeWarp][中间帧生成技术][异步时间扭曲][刷新率保持稳定帧数并降低延迟][GPU抢占]
---Multi-View- Rendering:原先是左右眼图2次渲染,后面希望一次调用自动绘制2边,提高GPU性能
---Multi-Resolution Rendering:图像本身做反畸变,四周边缘不需要做那么多跟变绿渲染。反畸变算法中将四周压缩,这个时候四周用100%分辨率渲染,会浪费资源。这个同时是GPU厂家需要优化的。

//------------------------Start---------------------
1.选择设备[头显设备][控制设备]
设备分为: 一体机[配重]   手机+盒子

选择不同平台[设备],就需要做适配(SDK)[硬件][交互][输入系统]
选好设备后,定内容

2.内容:传统的[游戏][漫游]方式是否能符合虚拟现实特点

内容订完后定操作方式(头显输入,手柄,手势,手环)

**交互[设计层面]:在全新的设备下,达到舒适的交互体验
1.UI界面设计:
非传统2D UI界面,设计3DUI界面,需要结合硬件的输入和头盔的朝向。
导航,选择与操控物体,菜单与用户界面,文字输入
2.交互方式(如何操作,输入方式):
2.1以下是核心体验3要素:
Camera:相机的控制行为很大程度决定了晕不晕
Control:头显输入和手柄[单控制器][双控制器]是主流,对玩法设计会有革命性改变;
交互操作需要花大量时间去打磨,然而国内开发习惯只能呵呵哒,一开始就各种后期设计往里面加,手感巨差
Character:用户自身在VR中是怎么样的呈现方式(考虑做个镜子),通常需要同步设备的头部变换和双手变换信息。如果加入身体和四肢的话,需要考虑进行全身的骨骼IK和局部动画叠加方方案

2.2其他使用技术手段[程序等]能做到的[技术最大的挑战是性能--环境渲染]:
Rendring :PBR和光照烘焙,需要优化[程序][美术],需要关注的Post Effect, AA, Specular liasing, Lighting/Shadow,Batch,瓶颈是像素处理方面
Input:头显方向变化输入[纯头部操作交互模块],比如land’s ENd。 光学体感,动作捕捉。
UI:由于视野和沉浸式体验的要求,UI通常是处于3D空间里的,怎么设计出好的效果需要美术头疼一下。交互方面由于双手的引入,可以尝试做成体感的方式,UI会变成场景物件,到时候换把枪可能就是伸手从地上捡了
Physics:双持控制器的引入会极大地依赖物理模拟的效果,很多推、扔、打、抓等的操作都与物理密切相关,同时也涉及到很多碰撞问题,比如头插进墙壁怎么处理等
Audio: VR中的耳机是可以随头部转动和移动的,对声音的定位能力非常强,音效的重要性不亚于画面,没有有空间感的音效在沉浸感上直接降一半。Audio Spatialize技术是需要程序和音效师共同关注的,不仅仅是像以前那样做个3D音效完事

简而言之:性能,UI,输入方式,物理,音效
TIPs:社交[多人联机][虚拟影院],注意的点是网络延迟



[]要做到[维持帧数在90FPS]
[]避免[晕眩][]
[方法]降低延迟[取决于设备刷新频率]


                            (19.3ms延迟的产生过程)

算法:反畸变,反色散,timeWarp三个算法

1、首先从头部转动到传感器读到数据大概需要1ms的时间,如果采用世界一流的传感器,那么采样率在1KHz,也就是说每秒钟可以读取到一千个数据,那么每个数据就是1ms,也就得出了这1ms的延迟。
2、然后数据需要经由单片机,传输到电脑。因为它们的接口是不同的,就好像空调的电源插头不能插到小台灯的插座里,需要一些转换工作,单片机就负责了这样的转换。数据从传感器到单片机大概需要1ms。因为前面数据的产生需要1ms,于是如果不在1ms内将这些数据传送到单片机,那么后来的数据就会被丢弃。
3、接下来是单片机经由USB线将数据传输到PC。USB线具有极高的传输速率,但是完全由Host端(也就是PC端)控制传输的。也就是说,如果Host端不接收单片机发来的数据,那么数据就会被丢弃。采用HID方式的情况下,Host端会经常检查是否有数据传输上来,然后将数据存放到内存,所以这个时间在1ms之内。至此,数据已经到达PC的内存了,走完了全部的硬件过程。由于数据带宽、通信协议等限制,会占用3ms~4ms之间的时间,很难再减少了。
4、在硬件上传输完成后,就是软件算法处理的过程了。
由于模拟信号本身的噪声和漂移,转换成数字信号后,数据中存在大量的噪声和漂移。于是需要复杂的数字信号处理方法将这些噪声和漂移过滤掉。这样,传感器传来的9轴数据就成为了渲染游戏所需的头部旋转的四元数旋转数据。处理这个数据一般在1ms以内。渲染时只要将这个旋转的四元数乘以摄像机的坐标,就得出了观察方向,可以用于渲染场景。通过特殊的算法(例如Time-warp,目前最快的算法),根据先前的数据处理得到的图像,完成真正被显示的画面。幸亏有了Time-warp算法,我们可以基本忽略渲染场景的延迟。
5、当场景渲染完之后还需要做反畸变,反色散等处理。这些处理一般需要消耗GPU 0.5ms的时间。为了安全起见,将这个时间设为3ms,来保证准备传输下一帧到显示器,也就是下一个垂直同步信号来之前,GPU必定能把反畸变、反色散做成。
6、然后就是传输图像到显示器的时间了。如前所述,按照75Hz计算,那么需要13.3ms。到此就结束了吗?不是的,还有显示器将图像显示出来的时间。由于LCD显示器是晶体由电场控制旋转的物理过程,所以传统的LCD显示器需要15~28ms不等的时间来响应。而最新的OLED技术则将这个时间减少到了微秒级。
好了,让我们将这些时间累加起来,3ms + 3ms + 13.3ms = 19.3ms。当然这是最理想的情况,还有可能CPU的性能、USB丢包等问题可能导致达不到这样低的延迟。
国内大朋和“国际标准”Oculus的产品都是采用此种算法,最低延迟是完全一致的,在全世界范围内,19.3ms的延迟是当下最科学,最可信的延迟推算时间。
当然Oculus展望未来可以将延迟降得更低也不是吹嘘的。从上面的算式可以看出,主要瓶颈在13.3ms这个延迟过程上。通过一些特殊的方法可以减少一半,甚至更少。但这需要硬件厂家、操作系统、游戏开发者共同的努力。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值