虚拟现实视觉计算平台(三)深度解读——HighFidelity
发布时间:2017-07-13 16:44 来源: 芬莱科技
HighFidelity是由Linden Lab(Second Life)的联合创始人Philip Rosedale在2011年创办Coffee and Power,2013年宣布停止之前的产品并将公司改名为HighFidelity,从事虚拟现实的研究,他本人一生都致力于创建一个虚拟的世界。90年代他还创办过Freevue,后卖给RealNetworks。
Philip Rosedale
模式
HighFidelity是2016年才正式上线,团队很多成员来自QT和Linden Lab,因此他们的技术架构上也能看到深深的QT的烙印,产品理念上也是Second Life的继承者。HighFidelity,他们提供了一套创建虚拟现实世界的工具和服务,大部分的服务器源代码也是开放的。可以在Github上找到。包含物理同步、语音、屏幕分享等组件,HighFidelity目前在中国很多空间是无法进入的,HighFideliy的部署结构是分布式的,各个空间是部署在所有者本地的,这样方便本地联网,但是对墙国来讲是个大麻烦,很多大部分的房间在国内是无法连上的,不管你用什么vpn,估计只有cisco的高端vpn能连上,这个没机会试验。笔者自己也只在2016年HIFI刚开始全球公测时候进去过几次,后来也连不上去。
Hifi和创始人Philip Rosedale之前创办过的LindenLab产品Second Life有点渊源,HIFI认为每个空间就是一个私人拥有的网站,所以架设在本地是很正常的,通过分布式部署,未来HIFI可以实现一个全球规模的超大型虚拟现实空间,这点从目前看来估计可连接性和服务的稳定性上是有问题的。另外版本的不统一也会造成体验的撕裂。套用创世人的原话他希望建立一个超大的虚拟现实互联网,让用户建立自己的虚拟世界,Hifi的模式正如其中一个产品名字—Sandbox。
商业前景
Hifi提供的沙盘模式,无疑对泛VR内容创作者是个不错的工具,每个人都可以在线上建造自己的虚拟乐园。公司官网一句简洁的介绍“Hello Worlds!”正是他们价值观最好的说明。
特性分析
操作:早期Hifi的操作界面和现在有比较大的区别,现在是的主要操作界面来自于手上拿着的一个iPad。早先是放在一个固定位置的操作面板上大概位于头顶前方0.5米这个位置。里面的界面大多数是通过QT画出来,也包括QT的Web组件。值得一提的是他们的操作方式也可以通过脚本扩展,HiFi的MarketSpace上可以下载购买。
人物(Avatar):里面人物可以通过MetphVR等第三方系统创建出来,还支持3D扫描重建技术创建的人物,能最大程度包容用户的喜好。扩展性非常好,但是这思路的确比较狂野,这也意味着人物的体验不太一致,有些人物会有点僵硬。次时代人物在VR里动作和表情,略微有点科幻恐怖症。不过如果你以前看过Second Life,这已经是大幅改进了。在他自己的MarketSpace里也有上百种avtar可以下载或者购买,还可以到入obj或者fbx格式的模型,充分保证用户可以最大的自由度选择自己的虚拟形象。
物理特性:Hifi里物理特性很有意思,你可以把自己放大,缩小,也可以放大缩小某个物体,物体之间的碰撞同步也做的很好,玩个多米诺骨牌感觉没什么问题,人物的肢体动作表情都有全同步,目前来讲是技术上做的做好的一家,毕竟前生Second Life摆在那里,Hifi不愧是全球虚拟现实社交的最早先驱者。
声音系统:人物语音基于WebRTC,为VR专门开发了一种Codec和payload方案(这点上跟Pararea的策略一致)服务器自带穿墙打洞,同时还有服务端混音效果(这个混音工作原理和视频会议不一样,以后单独介绍,这也是虚拟现实计算平台服务系统重要组件),这个工作模式比较适合PC,语音清晰,位置感和AltSpace一样都比较好。支持HRTF,内部的语音和音乐效果都支持,这点特别感人,官方有一段展示,在youtube上,有梯子的自己可以看下。
重点解释下为什么虚拟现实社交的公司为什么都为了自己的社交系统开发了一个独特的语音通话系统。我们人类主要有视觉、听觉、触觉、味觉、嗅觉,虚拟现实里比较靠谱的能给人提供视觉、听觉、触觉的感知,另外虚拟世界还可以给你比较好的物理反馈来回馈你的直觉,人在很大程度上也非常依赖听觉来辅助我们的对整个世界的认知。因此,对声音系统的处理是很重要的,尤其是语音,这在之前的VR系统也是较容易被忽略的。NVIDIA甚至提供VRWorks Audio SDK来帮助开发者运用GPU计算来增强声音体验,他可以模拟声音的反射衍射,给用户带来正真的全息声觉体验,HiFi则在内部支持HRTF和服务器级的混音技术来支持在大环境中声音和语音的传送,对于虚拟现实平台声觉体验和物理的反馈则是很久以来被很多人的忽略的体验,Hifi在这方面在美国是最领先的。目前这种处理也很难借助一个实时语音通信服务达到最佳的效果和动态负载调度实现最大的处理容量支持,因为这里面的动态合成需要服务器对虚拟空间有很好的感知,语音服务和物理同步服务需要共享场景和人物数据。国内的虚拟现实社交产品里需要去跨越和解决的的一个重要的难题,目前国内这方面由于前几年相关发展的缺失,目前只有极少的行业领先者能提供相应的体验(Pa空间目前也只有语音和部分的声音能支持空间效果,不过在未来第三版的语音和声学系统设计目标定位GPU加速支持和更强的语音和声音环境音效支持)。
扩展能力:扩展能力目前是最好的,人物,场景完全可以自己上传定制也可以直接从内置的数字商店购买,也可以通过脚本对里面的物体的使用逻辑进行扩展,目前Hifi和AltVR都支持JS的扩展方式, 可以通过脚本动态加载各种人物、场景,甚至做VR互动式故事。
服务架构:Hifi的服务很多是玩家在本地建的,那么我们怎么找到他们呢,Hifi提供了全网寻址的方式,每个房间有个专用的hifi url地址,通过他们的中心解析服务推送给玩家,让玩家自己去连接。核心的空间跳转服务是Hifi提供的全局服务(AssignmentServer,跟DNS差不多),你可以通过一个url类似(https://hifi.place/Mexico/495.275/497.671/494.661)后面几个是坐标,是不是很像一个网站的页面?通过NameServer和AssignmentServer帮你跳转到你想去的地方(差不多等于机器猫的任意门吧- -!)不过国内的墙的问题,各种服务连通率很差。
开源框架简介
硬菜来啦,下图是HighFidelity-SandBox的系统架构图
需要指出一点的是开放的源代码应该是他们的Domain服务和客户端,他们很多全局服务并未开放,但对于用户来讲主要也是Domain服务。
Entity Server:动态内容同步服务
Asset Server:动态LOD资源服务,可以优化现实效果和性能,游戏里的资源一般都是放在本地,SocialVR很多资源会放在Internet上,供远方的人访问,这个思路跟WWW很像。
Avatar Mixer:把用户本地收集到表情,眼睛、嘴部、肢体动作合成成动作数据,实时发送给其他人,并且这里还使用了一些P2P的思想,在人数很大的时候可以把负载分开,由用户间相互传输这些数据。
Audio Mixer:语音服务,根据空间数据来传输实时语音数据,这些语音数据会打散成20、40、80ms长度的数据包,根据听者和发言人声场量级来决定传输给谁,Hifi的官方日志表示他们已经局部支持声音的衍射、反射计算(这里GPU再次爆发了,再次膜拜下黄教主吧,以后GPU不行,3D画质差也就算了,连音质都不保了)。
Message Mixer:提供pub/sub模式的消息订阅服务,比如用户间的语音和文本消息,系统的通告等。
Hifi Sandbox,已经基本提供了一个相当完善的创作环境给大家,这个SecondLife几乎如出一辙,现在美国还有超过10万台机器跑着SecondLife的虚拟空间。以后笔者还会对Hifi的架构做更深入的代码级解析。
最后必须要说的,Hifidelity基础代码和架构都是自有开发或者基于开源系统定制开发,这点跟AltSpace和Recroom很多基于现有云服务和商业组件不太一样。最可贵的是大量代码是开源的,对于全球的虚拟现实从业者来讲是最好的标杆(Github地址)
推荐阅读