关于虚拟现实(VR)内容开发综述

1行业格局

目前VR产业以头显设备为核心,主要覆盖硬件、内容制作、平台分发三大业务板块;VR 是产业链较宽较长的行业,具备产业做大的基础与潜力;VR产业爆发仍需时间,目前面VR行业临从 B 端应用向 C端市场切换的临界点;未来VR产业在中国国内很有可能重复之前智能手机的“故事”。

硬件、内容与分发三大业务板块中,硬件是核心与基础,目前由国外三大厂主导,内容目前较为缺乏,目前分发平台暂无形成完善生态,未来内容分发由硬件巨头主导的可能性较大,但专业细分分发平台仍然存在机会。

1.1硬件

目前硬件设计逻辑在于:从内容出发,考虑如何让硬件架构使得内容更好的呈现。

在头显设备方面,国外Oculus、HTC vive、Sony三大厂占据市场龙头地位,在用户体验和VR沉浸感方面已经大幅超出消费者预期。HTC vive依靠精准运动性略拔头筹。国内的头戴式 VR 显示器产业已初具规模。但国内的 VR 头显产品中能够打开市场,迅速积累口碑的产品偏少,与三大厂产品相比,在用户体验、技术含量、做工等方面还有一定的差距。从产品形态来看,眼镜盒子产品为过渡性产品,PC一体机提供了目前最好的使用体验,但移动性较差;移动一体机代表外来发展趋势,但目前面临技术等各方面短板。

在输入与交互设备方面,新的输入交互还在探索和创新阶段,目前主要分为类似传统手柄的感应操作杆、手势识别与手势捕捉装备、动作捕捉设备等。VR精确性和沉浸感提升建立在传感系统和交互输入设备的基础之上 。未来针对 VR 系统的专业化感应和输入设备将成为 VR 硬件的标配, 并大大扩展 VR 应用场景和用户体验。未来眼球追踪、手势识别、动作捕捉是感应和输入设备的三大发展方向。

在VR视频拍摄设备方面,目前 VR 视频源的制作还是需要依赖国外的工业级设备,这部分市场将被高端的设备提供商占据,国内厂商暂无较大市场机会。拍摄VR视频则需要视频拍摄设备能够以 360 度全方位拍摄,对设备的技术要求很高。

1.2内容

VR 内容主要分为 VR 视频、VR 游戏和 VR 应用三大块。VR 视频、VR 游戏正处于发展初期,VR 应用目前还在摸索的阶段。

VR应用目前主要集中在企业级市场,行业未来前景向好,但行业爆发尚需时机,预计要在VR游戏与视频爆发之后,进入爆发高峰期,未来各方面应用正在尝试中,核心要素在于VR+可以助力具体产业实现更高的效力或创新性商业模式。短期内行业应用投资机会较小,更多在探索尝试阶段。

1.3分发平台

内容分发方面,从内容分发渠道来看,主要包括线上的应用商店分发和网站分发。线下分发主要包括体验店与主题公园模式。

在线上渠道方面,VR内容的线上分发渠道主要以各个硬件厂商自己搭建的渠道为主,第三方内容分发平台还没有明显的布局。现有的分发平台也基本没有盈利能力。

在体验店方面,硬件厂商、系统集成商和综合运营商将在线下体验店的布局中占有优势。短期内,VR体验店会保持数量上的快速增长,并且被资本青睐。毕竟潜在市场有较大,没有品牌已经建立明确的市场优势。但随着体验店越来越多,未来会逐渐洗牌。

在主题公园方面,主题公园提供的是能够多人交互的、更丰富的VR体验,这是家庭场景和体验店都很难做到的。基于这种独特的互动体验以及更强的客流承载能力,主题公园或成为2016年线下体验战场上的一支重要力量。

1.4国内现状

硬件方面涉及显示硬件、体感输入,高端的还有触觉反馈等等;此外还有VR一体机,动感座椅等。

目前头显做得比较好的有大朋,3G等,体感输入则有ximmers,诺亦腾等,一体机深圳那边很多公司都在做,由于基本都是代工厂出方案,一堆公司贴标的运作模式,你也难说贴标的公司是“领先的VR技术公司”,动感座椅在15年遍地开花,乐客,奇境等公司推出了很多产品,算是进行了第一波市场教育,但是由于都是观览式VR,缺乏互动性,所以早晚会被市场淘汰。

软件方面就是VR应用或者游戏程序开发。而VR根据运行载体还分为PC VR,手机VR(也包含了极具中国特色的一体机VR),不同的运行载体因为运算性能的巨大差异都要实现VR效果其软件开发方式也不尽相同(比如建模精度,渲染方式等)。

软件方面因为各大游戏公司都在憋大招,目前透漏的信息还很少。但是基本可以肯定的是,由于专业美术的支持,传统的3D游戏大厂想转VR不会太难。

此外VR视频也是VR应用的一大分野,这里视频的编码解码,网络传输等又涉及到不同的领域。而拥有大量视频资源,视频技术的视频网站在这块的竞争优势也是非常大,比如乐事,暴风等。

而VR平台,腾讯、乐视都发布了自己的VR平台,估计企鹅最后会碾轧一切,搞出VR界的微信。

目前Nibiru推出的VR SDK能兼容很多VR外设,也算是在VR平台化的一种探索。

2虚拟现实知识列表

2.1虚拟现实操作系统

也被称为灵境技术或人工环境,是一种全部或部分由计算机生成的视觉、听觉、触觉等多维感官模拟环境。可直接运行在设备上的基本系统软件,为其它软件的正常运行提供虚拟现实平台。

2.2虚拟现实硬件

主要是指与虚拟现实技术领域相关的硬件产品,是虚拟现实解决方案中用到的硬件设备。目前硬件设备主要分为四类,包括建模设备、三维视觉显示设备、声音设备和交互设备。

2.3虚拟现实内容制作

是利用计算机技术模拟出来的虚拟世界,具有沉浸感、交互性和多感知性的特点。其中包含虚拟现实内容开发整个生命周期的相关工具及技术。涉及3D引擎、SDK/API、图形API等具体技术。

2.4应用商店/分发平台

这是虚拟现实内容制作成品的集合,可帮助虚拟现实开发者打造一个产品发布渠道,通过该平台开发者可快速的发布相关的虚拟现实应用。

3虚拟现实开发工具与技术

3.1 外设驱动——Nibiru SDK 睿锐

市面上外设多,各有各的SDK,作为开发者应该何从选择?从何下手?睿锐科技为游戏外设驱动提供了统一的跨平台解决方案,声称适配市面上绝大多数操控外设(包括智能指环、4D 座椅、各种眼镜等),以及多种设备。显然这种跨平台的思想同Unity引擎如出一辙。

从功能定位上来讲,Nibiru还是比较偏向游戏领域(从图表设计即可看出)。但技术的领域应用是自由的,事在人为的。这样的跨平台多设备外设驱动同样可以很好的应用于VR技术领域(其实二者很多时候界限本身就不分明)。

值得一提的是,Nibiru CTO在UNITE 2015 虚拟现实技术专场中还特别提到了一种外设,就是通过感知玩家脑电波来获取玩家的精神集中程度,从而控制玩家在游戏中的集中力。这个是比较有意思的一点。

从技术上说,Nibiru是基于蓝牙设备和Android技术体系结构创建的,官方提供的文档主要针对Android工程师。至于其它平台如何使用,还有待调研和探讨。

Nibiru开发者工具  http://www.inibiru.com/nibirusdk.html?lan=1

Nibiru开发者中心  http://dev.inibiru.com/index.jsp 

3.2 3D引擎

目前的主流状况是,主流游戏引擎由于其功能之强大,被用于诸多VR产品的开发。另外一点值得一提的是,并非所有的VR产品或解决方案都需要依赖外设。以展示与简单交互为主要内容的VR产品,在不涉及复杂的行业相关精准计算的条件下,会首选3D引擎配合电脑来完成。

(1)Unity

(官网:http://unity3d.com/industries

虽然刘钢先生在UNITE 2015上也说,抱歉,Unity引擎目前对于VR在BIM领域(以及其它领域)没有提供原生的功能,但是Unity引擎本身功能灵活,有着对外开放的平台(允许第三方添加各种各样的插件)。另在大会上例举了一个来自麦肯锡的统计数字,称市面上90%的VR产品都是用Unity引擎研发。虽然这个数字没有考证,但是纵观市面上公示出来的VR产品,但凡有一点Unity开发经验的人都会觉得,这类产品用Unity引擎开发很容易实现。

主要难点在于特殊的高标准Shader的自主研发设计以及高仿真的现实模型提炼。有媒体说,Unity引擎在逐渐向虚拟现实游戏转型(http://digi.it.sohu.com/20141125/n406359656.shtml)。

(2)Unreal Engine 虚幻引擎

(官网:https://www.unrealengine.com/zh-CN/what-is-unreal-engine-4

午时科技有限公司的虚拟产品就是用UE4完成的,特点是效果绚丽风格唯美,很适合建筑或内装的展示。

UE4与Unity5的竞争也趋于白热化的状态,这给我们开发者带来最大的好处是,昔日可望不可及的大型3D引擎如今已经垂手可得了。

接下来提几个专门用于VR领域的软件开发平台。

(3)Quest3D 

(官网:http://quest3d.com/

Quest3D主要面向建筑领域,虽然也包含逻辑处理,相比之下更侧重于给设计人员使用。简单快速搭建虚拟建筑模型,是Quest3D的主要用意。

(4)VRP

(论坛:http://bbs.vrp3d.com/forum.php

(5)EON

 其它开源的三维JS引擎还有

一、小场景的

1.BabylonJS:http://www.babylonjs.com/

优点:有微软背景,有不少的demo,有较详细的api文档,有供测试的平台,有提供3dsmax转换模型的插件,

缺点:中文资料很少,没有系统的中文教程,如从入门到精通都可以给你讲一遍系统的教程,论坛也会被墙,相关的qq群较少,群里的人也不多,所以能真正指导我们的大牛也比较少。应该是国内用的比较少。

2.Three.js

优点:国内用的比较多,所以中文的资料也会比较多,有比较系统的中文教程如从入门到精通。用的人比较多,所以相关的qq群较多,群里的人也较多,接触到的大牛应该也会比较多。

缺点:没有提供一些基础建模软件的插件,比如3dsmax的模型导出插件,虽然说提供一些读3ds格式,fbx格式的场景。

二、大场景基于earth的

1.Cesiumjs(http://cesiumjs.org/)

优点:有较多的demo,详细的api文档,有测试平台,比较丰富的展示特性和扩展。

2.WebGL Earth(http://www.webglearth.com/)

demo较少,但一些基本的gis功能都有,简单实用,好像没什么更新过

3.OpenWebGlobe(http://world.openwebglobe.org/)

效果不是很好,加载不流畅,展示的功能也比较少

3.3 图形库

有了3D引擎,似乎不需要开发人员直接调用3D图形函数库了。其实不然,实际工作中由于这样那样的原因(或功能或效率),有时还是需要开发人员自己去调用图形库。

(1)OpenGL

(2)DirectX 3D

(3)WebGL

HTML5技术浪潮涌起,也把WebGL推向了浪尖。Unity 5.0也强调了对WebGL的支持,使得互联网上的3D交互及其页面嵌入降低了很多隔阂感。

3.4 虚拟现实编程语言

开发语言方面,C#,JavaScript,只要会开发移动端程序和Web端程序,还是容易入门的。除了各大引擎自身所使用的脚本语言之外,还有:

(1)着色器编程语言: Cg/HLSL

(2)虚拟现实建模语言:VRML,全称Virtual Reality Modeling Language

(3)三维图像标记语言:X3D

4虚拟现实内容制作

VR 内容主要分为 VR 视频、VR 游戏和 VR 应用三大块。VR游戏不做考虑,VR视频录制需要使用特殊的全景摄像机来录制360度视角的视频了。光场相机将会是这个领域的颠覆者,例如摄像机360Heros、Samsung Gear 360。当然,想要对视频做编辑,得用VR视频编辑器,例如SpliceVR Editor(http://www.splicevr.com/blog/)。

对于VR应用开发,主要有原生和Web两种方式。

1)原生应用开发

首先要学习建模,那就需要熟练并精通3D引擎,比如Unity 3D或者 Unreal Engine4。Unity 3D容易上手,如果对美术、动画以及过场电影感兴趣,建议使用Unreal Engine4。

Unity是一种优秀的3D引擎,会C#和JavaScript就可以玩转了。使用Unity可以开发原生应用,可以安裝在MAC、PC、Play Station 或者安卓、iOS上面。

入门教材推荐Unity3D官网给出的Roll-a-ball,可以用它初步熟悉Unity。

进一步的学习,就可以直接去Oculus官网的Developer Center(https://developer.oculus.com/)找学习文档和SDK。

还要学习交互原理相关的内容,推荐这本书,Essential Mathematics for Games and Interactive Applications: A Programmer's Guide, Second Edition 2nd Edition by James M. Van Verth (Author), Lars M. Bishop (Author)

3D引擎需要用到的算法还可能包括:模型匹配,机器学习,深度学习,人体反向动力学,计算机视觉,物理加速,样本训练,骨架数据库,动态跟踪及矫正,物体识别库,骨架识别和提取,动态实时3D建模,实时3D抠图等。

2)Web应用开发

如果在Web上,将视频切换到“VR模式”,购物、约会和在线课程学习,是不错的体验。Google和Mozilla目前正在联手制定WebVR, 3D版本的万维网不久就要来到了。

这是WebVR的网站https://webvr.info/,可以去试一试。这里有例子 https://webvr.info/samples/

WebVR是一个实验性的JavaScript API,其提供了在浏览器中访问诸如Oculus Rift或谷歌Cardboard的虚拟现实设备的功能。在https://w3c.github.io/webvr/可以看到2016年6月1号的讨论版本。

具体的开发需要学习一款运行在浏览器中的 3D 引擎three.js,由JavaScript编写的WebGL第三方库,可以用它创建各种3D场景,包括了摄影机、光影、材质等各种对象,网站是 http://threejs.org/ 

怎么来玩呢?

第一,实现简单的VR网站,可以参考下面这个链接,介绍了10分钟使用WebVR的4个步骤

http://www.roadtovr.com/4-steps-to-start-experimenting-with-webvr-in-10-minutes/

主要是参考Github上的 borismus/webvr-boilerplate项目实现简单的VR网站,

这段代码实现了建立webVR项目(如polyfill,mode manager等)的基本功能。

第二,建好以后,使用Chromium或者Mozilla nightly来测试VR站,参考webvr.info。

第三,向场景中加入3D模型,并试着改变它的位置,并将它旋转,参考threejs.org的examples。

第四,如果要加入一些物理信息系统,参考Github中的Hello-Cannon.js!项目。https://github.com/schteppe/cannon.js/wiki/Hello-Cannon.js!

另有一个实例:Oculus + Node.js + Three.js 打造VR世界  http://www.vr013.com/47

与VR输入设备开发相关有leap motion开发者中心、Oculus touch 或者HTC Vive。https://developer.leapmotion.com/

5虚拟现实参考资料

5.1 VR有哪些比较好的论坛和网站资源?

国内最受欢迎的VR技术社群是VR玩VR技术频道,分享交流国内外领先的VR虚拟现实技术。http://www.ivrwan.com/news/jishu/

国外的网站,http://www.roadtovr.com/

IEEE的,http://ieeevr.org/2016/

Google的,https://developers.google.com/vr/

硅谷的,http://svvr.com/

5.2书籍

网络资源很多,也够学了,还是介绍一本书吧。

Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile 1st Edition

by Tony Parisi  (Author)

5.3知识结构图

 

 

参考资料

1.VR发展趋势及投资机会深度预测报告

2.知乎:中国有哪些在 VR 技术上比较领先的公司?,燃冰飞雪之魂的回答,http://www.zhihu.com/question/37382460/answer/80102041

3.知乎:VR应用开发需要什么知识?,http://www.zhihu.com/question/29304759

4.CSDN虚拟现实知识库,http://lib.csdn.net/base/vr

5.CSDN博客:【VR】虚拟现实软件开发工具与技术,http://blog.csdn.net/duzixi/article/details/45249691

6.CSDN博客:WebGL开源三维引擎的选择,http://blog.csdn.net/lh1162810317/article/details/50827948

7.CSDN博客:虚拟现实相关硬件设备,http://blog.csdn.net/duzixi/article/details/45232077

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页