unity3d入门关于虚拟现实(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⼯程师。⾄于其它平台如何使⽤,还有待调研和探讨。
3.2 3D引擎
⽬前的主流状况是,主流游戏引擎由于其功能之强⼤,被⽤于诸多VR产品的开发。另外⼀点值得⼀提的是,并⾮所有的VR产品或解决⽅案都需要依赖外设。以展⽰与简单交互为主要内容的VR产品,在不涉及复杂的⾏业相关精准计算的条件下,会⾸选3D引擎配合电脑来完成。
(1)Unity
虽然刘钢先⽣在UNITE 2015上也说,抱歉,Unity引擎⽬前对于VR在BIM领域(以及其它领域)没有提供原⽣的功能,但是Unity引擎本⾝功能灵活,有着对外开放的平台(允许第三⽅添加各种各样的插件)。另在⼤会上例举了⼀个来⾃麦肯锡的统计数字,称市⾯上90%的VR产品都是⽤Unity引擎研发。虽然这个数字没有考证,但是纵观市⾯上公⽰出来的VR产品,但凡有⼀点Unity开发经验的⼈都会觉得,这类产品⽤Unity引擎开发很容易实现。
(2)Unreal Engine 虚幻引擎
午时科技有限公司的虚拟产品就是⽤UE4完成的,特点是效果绚丽风格唯美,很适合建筑或内装的展⽰。
UE4与Unity5的竞争也趋于⽩热化的状态,这给我们开发者带来最⼤的好处是,昔⽇可望不可及的⼤型3D引擎如今已经垂⼿可得了。
接下来提⼏个专门⽤于VR领域的软件开发平台。
(3)Quest3D
Quest3D主要⾯向建筑领域,虽然也包含逻辑处理,相⽐之下更侧重于给设计⼈员使⽤。简单快速搭建虚拟建筑模型,是Quest3D的主要⽤意。
(4)VRP
(5)EON
其它开源的三维JS引擎还有
⼀、⼩场景的
优点:有微软背景,有不少的demo,有较详细的api⽂档,有供测试的平台,有提供3dsmax转换模型的插件,
缺点:中⽂资料很少,没有系统的中⽂教程,如从⼊门到精通都可以给你讲⼀遍系统的教程,论坛也会被墙,相关的qq较少,⾥的⼈也不多,所以能真正指导我们的⼤⽜也⽐较少。应该是国内⽤的⽐较少。
2.Three.js
优点:国内⽤的⽐较多,所以中⽂的资料也会⽐较多,有⽐较系统的中⽂教程如从⼊门到精通。⽤的⼈⽐较多,所以相关的qq较多,⾥的⼈也较多,接触到的⼤⽜应该也会⽐较多。
缺点:没有提供⼀些基础建模软件的插件,⽐如3dsmax的模型导出插件,虽然说提供⼀些读3ds格式,fbx格式的场景。
⼆、⼤场景基于earth的
优点:有较多的demo,详细的api⽂档,有测试平台,⽐较丰富的展⽰特性和扩展。
demo较少,但⼀些基本的gis功能都有,简单实⽤,好像没什么更新过
效果不是很好,加载不流畅,展⽰的功能也⽐较少
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应⽤开发,主要有原⽣和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。
还要学习交互原理相关的内容,推荐这本书,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版本的万维⽹不久就要来到了。
怎么来玩呢?
第⼀,实现简单的VR⽹站,可以参考下⾯这个链接,介绍了10分钟使⽤WebVR的4个步骤
主要是参考Github上的 borismus/webvr-boilerplate项⽬实现简单的VR⽹站,
这段代码实现了建⽴webVR项⽬(如polyfill,mode manager等)的基本功能。
第⼆,建好以后,使⽤Chromium或者Mozilla nightly来测试VR站,参考webvr.info。
第三,向场景中加⼊3D模型,并试着改变它的位置,并将它旋转,参考的examples。
5虚拟现实参考资料
5.1 VR有哪些⽐较好的论坛和⽹站资源?
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发展趋势及投资机会深度预测报告

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。