最近随着VR行业的回暖,经常在知乎上有人问:我以后想做VR,需要学习什么计算机技术?这篇文章里,我们就系统地介绍一下:进入VR行业都需要学习哪些计算机软件技术。
因为篇幅有限,文中不会对技术细节进行展开,主要介绍某个方向所需要的软件知识,供想进入VR行业的同学参考。
首先,是VR眼镜平台相关的工作,这里面涉及到的计算机软件技术有以下三大块:
一、显示技术
目前的VR设备有三大类:外接式头显(包括PCVR 和 PSVR)、一体机 和 手机盒子。这三类VR眼镜用到的操作系统,都是在现有计算设备的系统(Windows、Android 的等)。所以,从系统层面,并没有新的技术内容。但是到了显示层面,它跟现有的计算设备比却复杂了一个量级。
当游戏引擎渲染出一个VR画面后,并不能像 PC 或者 手机那样直接上屏,它还需要经过反畸变、合成、位置预测等过程,才能贴到屏幕上。这就需要很多 计算机图形学 和 操作系统 相关的知识。
另外,为了进一步提升渲染效率,还需要引入注视点渲染技术。而为了能够解决 VAC (辐辏冲突)问题,未来还要引入 光场显示 等技术,这些也都需要 计算机图形学 相关的知识。
二、定位技术
VR中图像的生成,依赖于定位的准确性。这就又涉及到了两大块技术:头部定位 和 手柄定位。从技术路线上,定位技术可以分为下面三类:
1. 外置激光定位 (Lighthouse)
使用外置的激光发射器扫描空间,通过计算 头盔和手柄 接收到激光信号的时间差来推导出设备的空间坐标。它的特点是:速度快,位置准,缺点是 成本高。HTC vive 便是用了此种方式。
2. 外置视觉定位
通过外部放置摄像头,拍摄 头盔/手柄 上的光点,来推算出设备的位置,Oculus Rift(红外线) 和 PSVR (可见光)都是使用这种方式。想要准确高效地检测出光标点,就需要 图像处理、计算机视觉的知识。
3. 内置视觉定位( InsideOut 定位)
通过头盔上的摄像头拍摄画面的变化,来估计头盔运动。微软WMR、Quest使用的是这种方式。它的优势是不需要额外架设设备。但是,定位精度上,比激光定位要差一些。
为了能根据画面来推断相机的运动,也是需要 计算机视觉 相关知识。
InsideOut 头部定位对应的手部定位稍微复杂点,它又分为 电磁手柄定位、超声手柄定位 和 视觉手柄定位 三种方式。前两种一般是硬件直接给出定位坐标,最后一种依旧是基于 计算机视觉,只不过摄像头从外置摄像头换成了头盔上的摄像头。
三、识别技术
在一些特定的场合,为了能够更精准地反映用户的动作,还需要对人体的各种状态进行识别。包括:手势识别、身体姿态识别、表情识别、眼动追踪。手势识别有两个技术路线:一是需要佩戴手套,靠硬件来识别,二是基于 计算机视觉 来识别。前者优势是精准,后者的优势是使用简便。
基于视觉的手势识别
身体姿态识别 跟手势识别类似,也是有 佩戴硬件 和 视觉 两套方案。但是现在常用的还是基于硬件。而基于视觉的姿态识别,一般还是用在监控场景中,在VR中比较少见,其准确度也比 硬件方案 差很多。
眼动追踪 则主要是计算机视觉方案,现在也有眼部肌电信号来进行眼动追踪的方法,但是只存在于实验室里。最后,表情识别 只能靠 计算机视觉 来做。以上提到的所有的识别方面的内容,都还处于比较前沿的状态,在实际应用中主要还是B端场景,C端使用的相对较少。Oculus Quest 上近期刚推出了 手势识别 的接口,预计后面会有越来越多的C端应用尝试这种新的交互方式。
搭好VR眼镜平台后,就需要根据不同的应用场景来往里填入内容。应用端的相关技术可以分为以下几大类:
一、内容开发
首先是最常见的VR游戏应用开发,它在技术层面跟普通的3D游戏没有什么区别,大都是使用 U3D,Ureal 等引擎来开发。所以,未来想从事VR内容开发的同学,可以直接从游戏引擎入手即可。
二、视频制作
VR视频的制作,目前都有比较成熟设备。用户在使用时,都免去了早期还需要拼接处理的步骤,直接输出 360度全景视频。
制作是简单了,但是视频领域依旧有两个新技术需要探索:视频分片编解码 和 容积摄影。
视频分片编解码 可以解决两个难题:带宽不够 以及 芯片解码限制。未来为了能够传输和播放12K的视频,需要我们能在编解码环节进行优化。具体介绍请见:
目前已经有一些公司在这个方向投入。比如 VR4P、VSBIT、威尔云 等。
容积摄影 技术,我们在之前的文章中也有介绍:
它主要是通过多摄像头从多个角度拍摄同一个场景,最终 “拼” 出一个人可以 “走进去” 的3D的视频场景,非常炫酷。
而要实现这一点,也是需要一些 图像处理 的知识。
三、网络技术
云VR会是VR领域的一个大趋势,它需要在云端服务器对应用的显示进行编码,然后传到本地。云VR相关内容,可以参考:
下图是一种云VR 服务的架构。它主要考量的还是 云端内容编码 及 高效传输。所以,一个 计算机网络技术 的专家,也可以很快的投入的云VR的领域。
另外,未来将大行其道的虚拟社交,对网络传输要求也会比较高,形象同步需要传输的数据量跟传统网游比大了一个量级。目前最火的VR社交游戏:VRChat,同时在线人数超过了2万。单个房间同时人数上限只有30人左右。想实现 千人同服,还需要在数据同步方面做很多研究。
总的来说,如果你想做一些跟VR眼镜平台相关的工作,需要 计算机图形学、计算机视觉、操作系统相关的知识。而如果想在VR应用端做一些工作,则跟现在的3D游戏、影音娱乐 所需的技术知识类似。另外 ,因为VR眼镜公司也要做上层的系统应用,所以也会涉及到3D内容的开发。
希望以上介绍,对想加入VR行业的同学们有帮助。
更多文章,也可关注本人专栏:逐鹿VR
相关文章:
聊一聊 VR虚拟现实(一):VR的发展史
聊一聊 VR虚拟现实(二):VR眼镜的分类
聊一聊 VR虚拟现实(三):VR游戏
聊一聊 VR虚拟现实(四):当前VR行业的几大挑战
聊一聊 VR虚拟现实(五):我们离科幻电影有多远
聊一聊 VR虚拟现实(六):消灭距离
聊一聊 VR虚拟现实(七):2019 VR游戏现状
聊一聊 VR虚拟现实(八):VR视频清晰度
聊一聊 VR虚拟现实(九):5G与云VR
聊一聊 VR虚拟现实(十):一篇文章帮你分清VR与AR
聊一聊 VR 虚拟现实(十一):VR 与 AR 谁主未来?
聊一聊 VR 虚拟现实(十二):VR 与 AR 谁主未来?-AR篇
聊一聊 VR 虚拟现实(十三):进入VR行业需要学习哪些计算机技术?
聊一聊 VR 虚拟现实(十四):2020年VR产业将会如何发展?
聊一聊 VR 虚拟现实(十五):VR远程办公离我们有多远?
聊一聊 VR 虚拟现实(十六):VR虚拟影院,会是线下影院的颠覆者吗?
聊一聊 VR 虚拟现实(十七):VR社交游戏盘点
聊一聊 VR 虚拟现实 (十八):VR社交是什么