元宇宙入坑VR开发【入坑】指南_tiknovel-最新最全的nft,web3,AI技术资讯技术社区

元宇宙入坑VR开发【入坑】指南

2022-03-23 13:01:06  浏览:406  作者:管理员
元宇宙入坑VR开发指南

曾几何时我也是那个对于元宇宙风口噱头嗤之以鼻的人。类似于NFT这样的项目,有价值但绝对不是最核心的元素。还记得13年在大学寝室里,初次尝试CardboardVR的惊艳效果;16年,初代VIVE眩晕和巨大像素颗粒糟糕的体验。甚至19年底的VIVE已经有极高的稳定性和画面质量了,但笨重闷热的HMD加上数据线的束缚还是让我怀疑VR在消费市场的前景。直到戴上Oculus Quest2,我才意识到Metaverse的时代真的来了。

在查阅了大量相关VR的文章论文,媒体新闻和以及专利之后,从技术上我会真正相信VR就是下一个蓝海。不论是直接参与VR设备制造革新的硬件厂商、芯片厂商还是内容制作和开发者、平台商都是一个巨大的机会。这篇文章我断断续续写了一个多月,通读了多篇VR领域的核心论文,希望从技术和工程角度来梳理VR领域的技术问题以及解决方案。主要结构参照了RealTime Rendering Fourth Edition第21章,以及Oculus developer相关的技术文章。针对很多技术细节我希望能够尽可能用准确和通俗的语言来解释。外加上我个人的理解,如有不对的地方欢迎指正。
这里需要额外声明一点的是,作为图形学爱好者我会更关注VR的图形技术以及相关的显示技术。但VR技术不只是图形学技术,还有大量的机器视觉、SLAM、光学和显示技术、空间音效 眼球追踪和语音识别、空间定位、触控和动作捕捉等等大量的技术方向。是一个多维度技术融合的复杂工程学问题。同时这篇文章大部分的内容主要是针对于Oculus Quest2这款设备,即我目前VR开发的平台,也会涉及小部分其他设备。
首先我们先复习下一些关键名词
Virtual Reality(VR) 模拟的虚拟环境,在目前技术条件下就是使用near eye display技术展示三维图形及对应的交互。
 Argument Reality(AR)真实世界环境下的扩展和增强。狭义上定义即用户直接通过裸眼观察真实世界,但通过全息影像或者额外的显示设备增加信息。
Artificial Reality(AR)是另一个大家可能并不熟知的概念,VR环境下无法和真实世界区别的人造现实。目前具体的实现即使用多个相机在VR世界中实现穿透模式渲染。

Mix Reality(MR)混合现实,即上面多个概念的统称。

内容概要:

VR面临的一些技术挑战

针对于VR的图形学渲染技术

对于VR技术的未来的展望



| VR面临的挑战

体验过VR设备的朋友一点会感受到,戴上VR设备的舒适感始终是对其前景充满怀疑的直观感受。就像Elon Musk所说的:
>“I don’t see someone strapping a friggin’ screen to their face all day,”
虽然他可能只是在为他所支持的脑机接口(另一个元宇宙风口)造势,但无法否认目前VR技术的最大问题在于用户体验。巨大的显示屏以及重达500g的设备挂在头上,闷热不适。虽然VR一体机移除了拖拽的数据连接线,但可怜的续航也是一个大问题。
然而VR设备面临的最大挑战还不在此。延迟的反馈、掉帧或是双眼不一致性的渲染造成的焦虑、晕眩、呕吐甚至会诱发癫痫。
我们常常在video game的开通看到游戏警示。晕3D这一视频游戏基础问题在VR透镜和Near Eye Display的放大器下更加明显。
延迟反馈
VR的延迟反馈主要有两个部分,一个是VR程序本身渲染开销过大导致的低帧率而造成的软件延迟。另外一个是HMD(Head Mount Display)等传感器的输入参数经过了程序CPU计算再到GPU渲染,最终从显示器的刷新呈现到用户眼睛的硬件延迟。有研究指出15毫秒的延迟会无法被感知到。超过20ms的延迟会被感知到并且对人造成损害。当我们面对传统显示器游玩游戏,低帧率就已经给人造成不适。在被HMD包裹的封闭空间中,这样的延迟无法回避,更容易对人的感知器官造成损害。

从软件层面分析
目前的2k分辨率加上72fps刷新率,我们需要大量的算力。这部分计算的延迟会直接叠加到用户从发出动作到接收到变化的图像的时间。

从硬件层面上分析
HMD传感器的信息采集,6DOF的数据采集。除了本身的陀螺仪芯片还借助于外部的相机数据流的SLAM空间重建。手柄6DOF的信息也要通过一系列的计算机视觉CV解算。再通过蓝牙等通信方式传输回设备。另一方面GPU渲染的视频流信息的巨大带宽传输到显示器上,显示器设备本身的刷新率也有延迟。

光学和物理虚拟
除了延迟问题,VR头盔的显示效果也是一个很大因素。对于人眼来说,每个立体角120像素才可以达到完全无法分辨的效果,但这样需要的屏幕分辨率就会达到惊人的400M。在目前的设备上是难以做到的,尤其是在VR一体机上。
目前大多数的显示器模组采用的是平面的显示器加上菲涅尔透镜。使用透镜将画面模拟人眼接受光线的方式会有很多问题,一个最大的影响是FOV(Field of View)可视角度。通常VR设备的FOV在120°以内,而正常人眼的FOV角度能达到180°

由于使用了透镜,透镜的边缘由于厚度变化产生类似于棱镜一样的色相分离(chromatic separation)。所以通常对于渲染输出的画面要进行逆色相分离(inverted chromatic separation)处理以抵消透镜产生的artifact。

同时对于Display来说,LED显示屏本身的刷新模式也是会影响用户的视觉体验。过低的刷新频率会对人眼造成严重的伤害,当然目前这块的硬件技术已经相对成熟。120hz刷新率的显示器已经被用在了HMD上。


过小的FOV必然限制着VR设备的整体体验感,一些前沿的科学家已经在研究不同的透镜方案或者是曲面的显示器技术。

人眼视觉特性和视差
首先interpupillary distance (IPD)  瞳距会影响距离感知和对焦。就像是我们去配近视眼镜需要测量瞳距,在VR渲染中也需要。通常在软件层面会将瞳距参数用于调整虚拟相机的渲染,HMD的透镜也要支持可调整的瞳距。不正确的瞳距设置会使双眼处于对焦的状态从而使眼球干涩和疲劳。
从人眼生物学进行分析,双眼看到的画面是不同的,两幅图像通过视神经传到到大脑的视觉中枢进行合成(synthesis)感知的空间图像。对于距离的感知是通过对焦及双眼的视差来判断的。如果软件层面输出的画面左右眼不匹配或者是完全一致,那么大脑在合成时就会产生认知障碍从而造成一些不适症状。所以在VR开发中,人眼视差的视觉正确性是非常重要的,这也导致了许多传统游戏的渲染技术无法被使用在VR中或者需要进行修改才可以使用。整体提高了VR开发的技术复杂度。


评论区

共 0 条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

【随机内容】

返回顶部