VR(虚拟现实)作为一个概念提出已经很久,在各种科幻作品中都能看到它的身影,但作为实实在在的应用,真切地走进人们的日常生活,可以说还是一个时髦的新事物。
这些年VR(虚拟现实)技术逐步成熟,应用场景日益丰富,开始在各个方面渗透到人们的生活中,但是你真的了解虚拟现实吗?它到底是什么,能用来做什么。
这一期先尝试初步从定义和原理方面简单介绍下虚拟现实。
一、VR定义如果身边人问你什么是VR,可能大多数人会回答“虚拟现实”,因为VR全称是VirtualReality。
那什么是虚拟现实?通俗来讲就是通过各种技术在计算机中创建一个虚拟世界,用户可以沉浸其中,使用视觉、听觉、触觉、嗅觉等感觉来感知这个虚拟世界,并能与其中的场景、物品、甚至虚拟人物等进行交互。
这是我能想到的比较完整的定义,因为它基本上说清楚了虚拟现实的三个重要特征:
1.沉浸性这个特性首先是指用户带上VR头显,遮住视线,看不到现实世界,只能看到计算机生成的画面。其次VR头显凸透镜放大人眼看到的即时图像范围,产生90~120度范围视野,这样的视野大概和三通道的环幕投影系统产生的效果差不多,人眼被干扰的可能性大大降低。
再次头显中左右眼每一个时刻看到的图像是不一样的,从而产生很强的立体纵深感。
另外当人转动头部时,头显上陀螺仪能够及时通知图像生成引擎更新实时画面,让人感觉自己在看一个环绕的虚拟空间,从而产生360度三维空间感。
2.交互性用户能够像在现实世界中“待人”“接物”一样,在虚拟世界中行走、跑、跳、蹲下、站起、抓取、投掷、释放、对话等等。
目前虚拟现实中一般通过穿戴设备进行交互,例如手柄、手套、贴片、脑机接口等。也有其他自然交互方式:例如语言识别、简单的手势识别等。
目前虚拟现实中的交互技术处在不断探索改进中,交互起来并不自然。
3.多感知性虚拟现实技术目标是为了尽可能呈现与现实世界一致的感官体验。
1)视觉
利用逼真的人物、物品、场景制作与渲染技术,获得以假乱真的视觉体验。
利用最先进的画面捕捉技术、体感控制技术以及画面渲染技术塑造的虚拟人物。
2)听觉
利用声场重建、共振音频等技术模拟复杂的空间声场产生与现实世界相同的声场效果。
3)触觉
4)嗅觉
目前也有公司和团队在研究VR气味,但这个维度目前还存在门槛,离在安全的情况下全面拟真还有不小的距离,并在用户体验上也存在尺度把握和适应性问题。
现在有很多人把VR与3D技术混为一谈,把3D电影,3D游戏,3D指挥中心、3D展馆等等都理解为虚拟现实应用,相信通过以上特性可以看出明显的不同了吧。
二、运行原理VR概念其实早在1935年小说家温鲍姆的著作《皮格马利翁眼镜》中就已提出,产品也是经过几十年历史一代代人完善与发展,近些年产品迭代速度加快。
比较标志性的事件有谷歌2014年推出Cardboard,将VR终端设备小型化,之后三星GearVR、国内暴风魔镜等各种眼镜盒子(这些都算不上真正的VR设备),2016年HTC推出划时代的VR设备HTCVIVE,算是初步体验到虚拟世界,再之后VR设备出现百花齐放的格局,什么PSVR、RIFT/QUEST、ValveIndex、PICO等等。
那么这些VR设备到底是如何运行的呢,了解它的运行原理有助于我们更好地理解虚拟现实产品。由于在VR设备是综合运用各种技术完成虚拟内容的呈现,这里简单下描述其中涉及部分内容,后期找时间可以对其中主要技术展开介绍。
所以VR内容的制作一般都需要一个团队,每种VR应用的开发流程不完全一致,下图举例:VR游戏开发的简要流程。
其次制作好的VR内容在电脑或者一体机上运行起来,需要将每一帧的画面传输给头显设备,展示出来,这就需要显示技术。
一般VR眼镜为了立体成像,让左右眼看到的图像各自独立分开,并且让左右眼画面连续交替显示在屏幕,利用人眼视觉暂留生理特征,就可以看到立体3D图像。具体需要通过分色、分光、分时、光栅等技术,再运用计算机图形学对立体成像画面反畸变、合成、位置预测等处理才能有“真实感”。
为了提高画面渲染效率,还要引入视点渲染技术。如果每一帧画面的获取来自网络服务器(对于头显设备只负责展示画面,不负责计算渲染的情况),那么还需要用到云计算、边缘计算、5G等技术。
再次当人物在虚拟场景中移动、转动、抬头、低头、蹲下、站起等等,计算机能够实时精准的根据新的位置信息产生新的画面,就需要定位追踪技术。
目前主流的两种方式,一种是Outside-In方式,通过基站发射激光定位头显和手柄上的传感器坐标位置和方向等,并将数据传给计算机。计算根据这些数据,判断用户的姿势,位置等信息,并由此生成实时画面。
VR设备运行过程中涵盖的技术实在太多,对于大部分VR应用开发人员来讲,其实也用不上这些技术,因为设备本身已经为我们屏蔽底层技术细节。
但了解它的实现原理对我们设计出契合的产品,还是有帮助的。
题图来自Unsplash,基于CC0协议。