关键词: VR / AR / 基础 / 虚拟现实 / 通用计算平台 / Unity3D

VR技术已经在尖端领域成为主流技术。随着各个虚拟现实头显和虚拟现实平台的发布,虚拟现实是越来越受到欢迎。什么是虚拟现实呢?一般来说,VR就电脑模拟的3D环境,使用特别的电子装备,让人真实感受虚拟世界。其目标是在虚拟环境中得到强感官感受。
参考:虚拟现实之父:VR会改变整个社会
每个人对于这个世界都会有不同的想法与想像,但是如何可以实现他们,将你想要的世界带到人们的面前?VR就是一个入口,可以将大家带入你所想进入的地方。你想像中的世界,这是十分令人惊奇与振奋的一件事!

1.什么是 VR / AR #

VR: Virtual Reality 虚拟现实,利用电脑设备模拟出一个虚拟的三维空间,再运用沉浸式头戴设备,为使用者提供视觉,听觉,触觉反馈。让使用者身临其境。比如 Oculus Rift(facebook收购), Htc Vive。都是头戴设备,有操作手柄。
AR: Augmented Reality 增强现实,利用电脑技术将虚拟信息投射或叠加到现实。如google glass,在眼镜前方悬置一个摄像头和一个电脑处理器装置,通过控制摄像头拍照一个大厦,上传数据后可以得到大厦相关信息。

今天消费型VR技术涉及到可穿戴的头盔,用于浏览立体的3D场景。转你的头,你就可以查看四周,使用手柄或是运动传感器就可移动。你置身于身临其境的环境中,就好像你真实在存在于一个虚拟世界中。

VR让用户置身于一个想象出来或者重新复制的世界(如游戏、电影或航班模拟),抑或是模拟真实的世界(如观看体育直播)。VR领域主要的硬件厂商有Oculus、索尼(PlayStation VR)、HTC(Vive)和三星(Gear VR)。

AR是把数字想象世界加在真实世界之上,主要硬件包括微软(HoloLens)、谷歌(Google Glass)和Magic Leap。

区分VR和AR的一个简单的方法是:VR需要用一个不透明的头戴设备完成虚拟世界里的沉浸体验,而AR需要清晰的头戴设备看清真实世界和重叠在上面的信息和图像。

从目前的观察来看,AR比较适合服务企业级用户,而VR同时适用于消费者和企业用户。有些情况下,两者还会出现重叠市场。例如,目前大多数游戏基于VR研发,但微软也用HoloLens重新创作了《我的世界》这样的游戏。

另外,VR和AR均通过头部和手势操控。这种基于手势的操控非常直观,相信会给计算生态系统带来新的变化。

VR/AR最有可能率先实现应用的九大领域:视频游戏、事件直播、视频娱乐、医疗保健、房地产、零售、教育、工程和军事。其中,在VR/AR应用方面,视频游戏将是今年的核心领域。
参考:只能玩游戏?虚拟现实能做的其实还有很多

从目前来看, VR成功的可能性要高于AR,这主要得益于VR技术的进步,已经厂商和合作伙伴生态系统的初步形成。目前,VR和AR的技术均有待进一步提高,但AR面临的挑战更严峻,包括屏幕技术、实时处理和实时物理环境的校准等。但同时,一旦AR技术成熟,我们就会看到更多的企业应用案例,尤其是考虑到AR允许人们看到实时的物理环境,而这是VR所做不到的。

从长期角度讲,VR/AR产品最终将变得像太阳镜一样轻便。届时,可以把多个设备整合成一款产品,从而取代当前的手机和PC。

参考:高盛VR与AR报告:下一个通用计算平台(精华版)

VR可能给各行各业带来什么影响?

  1. 普及较慢,但潜力巨大(随着科技进步,零售价下降,以及出现全新的企业和个人应用市场,VR有望孵化成数十亿美金的产业,并且可能和PC一样具有划时代的意义)
  2. 市场规模取决于接纳程度
  3. 从游戏到零售的九个领域,其中视频游戏占比最大,但从医疗到房地产的各行各业都可能受到冲击
  4. 头戴式VR设备价格预计将下降

VR将是下一个计算平台,和由台式机向移动转变一样,将是突破性的,2016年是上半年我们将看到VR史上最大的进步

参考:关于VR和AR的6张图表

2. VR 的本质 #

3D的 / 沉浸的 / 交互性的

创造了 身临其境 的 沉浸感 和 临场感 和 带入感

3.关于学习 Unity3D 的思路 #

关于VR 开发,通常说的VR开发是支持Oculus Rift设备的应用开发,类似苹果手机下应用开发。
以Oculus Rift APP开发为例,与一般3D游戏开发差别不大。

  1. Unity + VR SDK
    直接使用Unity,导入专门的Oculus SDK,使用VR视角就可以了。Oculus Rift有一套开发者指南,主要是一些规则,避免用户头晕 恶心。因为开发者需要不断的带着设备调试,一般开发的时候就会经历不断的头晕 恶心。

  2. WebGL + Three.js + WebVR
    WebGL:开发Web 3D图形的工具。将JavaScript和OpenGL ES 2.0(3D图形规范)结合,JavaScript实现WEB交互式三维动画制作,OpenGL渲染。
    Three.js:前端js框架,提供了很多3D显示功能,一个运行在浏览器中的3D引擎。
    WebVR:支持HTML端VR体验的浏览器。

    http://madebyevan.com/webgl-water/

    如果要实现沉浸式体验,同样需要类似 Oculus Rift头戴设备输出和输入进行交互。

Unity3D 用于游戏开发,也可以用于VR/AR的内容开发。和Unreal引擎都有各自的优缺点,而两者都有可用的蓝图和源代码,让开发者可以随意进行修改调整,并根据自己的意愿选择特定的引擎。而影响你选择某个引擎的因素之一是编程语言。Unity支持的是C#语言,而Unreal支持的则是C++,所以如果你只会其中一种语言的话,那么你的选择就很明显了。

整理一下关于 Unity 学习路径和方法。

C# + Unity引擎

  1. 有了Java的基础就好办,C#与Java的语法近乎相同(面向对象),花一天时间了解一下C#的特性即可直接开始上手正式学习入门Unity了,可在做项目的过程和后期查漏补缺中进一步巩固C#的基础
  2. 找个Demo跟着做一遍项目(不写代码熟悉操作过程),即可入门Unity引擎,做第二遍动手写代码
  3. 去官网找开发手册学习是最好的选择(英文的)
  4. 学习动画系统
  5. 学习物理系统
  6. uGUI
  7. 2D开发
  8. 编辑器扩展
  9. 网络系统
  10. 导航系统
  11. 通过项目加强学习的知识 *
  12. 算法、AI,状态机、提高技巧、编程思想、设计模式

前11是搬砖码农,提高技巧、编程思想是合格工程师目标

Unity 引擎学习目录:

  • 引擎基础
  • 动画系统
  • 2D和UI
  • 导航系统
  • 粒子系统
  • 数据处理
  • 网络
  • 打包
  • HoloLens(没有设备也可以开发,有模拟器)
  • C++
  • 算法和数据结构
  • 设计模式

项目:C#空间射击,Unity变形金刚

如果真的是第一次接触虚拟现实开发,那么这个世界或许会让你感到十分震撼,不仅仅只是因为你可以制作任何你能想象到的体验。建议从为移动虚拟现实头显开发一个小型网页应用开始,当你积累了一定经验后再开发完整的PC应用。

你可以从中掌握到许多关于虚拟现实开发的基本知识,而这些都是可以应用到PC端开发的,所以你用于开发移动应用的时间是绝对有意义的。另外,市场对虚拟现实应用开发一直都有需求,所以这些经验会给你带来很大的优势。

Unity和Unreal都向开发者提供blueprint(蓝图)。这些基本的平台和游戏的功能都是完备的,而且还包含了源代码让用户随意使用。你可以对这些blueprint进行修改,并制作发布自己的虚拟现实版本。充分利用好这些blueprint,尤其是你才刚刚开始接触虚拟现实开发。

参考:给虚拟现实开发者的十大贴士

4. 关于 VR 播放器 #

VR播放器,就是360度全景视频播放器,虽然VR代表的内容远远不止这些。
VR播放器应该怎么做?现在的思路主要有 2 类:
一类在播放器上做开发,另一类在现有游戏引擎上开发比如unity;播放器上开发,需要了解Opengl (移动端Opengles,web端需要webGL),原理就是用这些Opengl做出来一个球体,然后在球体里面渲染视频。这个需要比较深厚的编程功底。
另一类在unity上开发,用Unity做的难点就是播放器,unity自带的播放器很挫,支持格式很少,推荐使用EasyMovieTexture作为播放器,支持iOS和Android;这个播放器可以支持在GameObject表面播放视频,做全景播放器就很Easy了。

VR 开发如何入手

  1. 做一个 Android MediaPlayer
  2. 做一个 Unity3D 场景
  3. 将 Surface 赋值给 Texture2D
  4. 编译看效果
  5. 更多舞台效果

Unity 中的贴图,细节:

  • Texture2D/OpenGL ES Texture
  • External Texture in Unity
  • OES_EXTERNAL_TEXTRUE in Android
  • Android Rendering Pipleline

End.

# 初步认识 VR / AR相关推荐

  1. VR AR应用开发交流大会在天津成功举办 京津VR AR企业交流心得共促合作

    "VR AR应用开发交流大会 "圆满结束. 9月26日下午,由天津市科技工作者创新创业服务中心.天津虚拟现实产业基地主办,清华启迪控股旗下虚拟现实行业平台VR网承办的"V ...

  2. 数年沉寂之后,VR/AR产业开始起飞!

    来源:先进制造业 现在,"新基建"已成为拉动投资.促进消费.稳定就业和提升综合实力的重要抓手,如何加载高质量的业务生态成为释放新基建发展动能的关键.当前,以虚拟现实VR(包含增强现 ...

  3. 谈谈XR关键技术及VR/AR/MR/XR关系

    一.先别被VR/AR/MR/XR搞晕,说说区别 虚拟现实(Virtual Reality,VR).增强现实(Augmented Reality,AR)等业务以其三维化.自然交互.空间计算等完全不同于当 ...

  4. VR, AR, MR 名词含义以及应用场景

    VR, AR, MR 名词含义 VR VR(Virtual Reality,虚拟现实) 再细节一点来说,就是模拟一个三维的虚拟世界,在这个虚拟世界中,人们可以感受到视觉.听觉.触觉等方面的刺激.一句话 ...

  5. 音视频云系列 - 谈谈XR关键技术及VR/AR/MR/XR关系

    作者,李琳,毕蕾,灯塔 一.先别被VR/AR/MR/XR搞晕,说说区别 虚拟现实(Virtual Reality,VR).增强现实(Augmented Reality,AR)等业务以其三维化.自然交互 ...

  6. 共话VR AR技术落地和行业应用创新,2017首届江苏虚拟现实发展大会圆满落幕

    在经历火爆和寒冬后VR行业正趋于冷静. 9月8日,由江苏省工程师学会主办,镁客网承办的首届江苏虚拟现实发展大会在南京未来科技城盛大开幕.各政府领导.中国工程院院士谭建荣以及来自VR/AR行业顶级专家. ...

  7. Meta元宇宙OS要黄?300人研发团队解散,关闭VR/AR操作系统研发

      视学算法报道   编辑:好困 桃子 [新智元导读]出师未捷身先死,Meta元宇宙操作系统要凉凉了?团队解散,负责人跳槽!副总裁亲自发推「辟谣」,但-- Facebook进军元宇宙决心,如今要泡汤了 ...

  8. 日本京都大学 77TB重要数据被删;元宇宙要凉?Meta停止开发 VR/AR系统。 | 一周 IT 资讯...

    惠普公司闯大祸!日本京都大学超算系统77TB重要数据被删:滴滴宣布裁员,幅度达20%:Meta 停止开发 VR/AR 操作系统,独立自主计划受挫:2021年编程语言排行榜出炉,Python稳居榜首:T ...

  9. 火爆股市的元宇宙,究竟关VR/AR什么事?

    来源:VR每日必看 VR设备被普遍认为是进出元宇宙的主要终端,据Wind数据,VR概念的上市公司包括歌尔股份.中科创达.欣旺达等55家公司. 大洋彼岸的"蝴蝶"扇动翅膀,A股的元宇 ...

最新文章

  1. 用Macbook-苹果系统写代码出现显示问题Text input context does not respond to _valueForTIProperty:
  2. lisp提取长方形坐标_求修改lisp程序,如何提取CAD中多个点的坐标,(本人想提取UCS坐标系)另外只需要提取X,Y值,不要Z...
  3. python对excel某一列求和-96、python操作excel求和
  4. 14. Leetcode 80. 删除有序数组中的重复项 II (数组-同向双指针-快慢指针)
  5. 遍历二叉树的神级方法(Morris遍历)
  6. 【项目管理】敏捷宣言
  7. 【Linux】一步一步学Linux——wall命令(237)
  8. wcf系列5天速成——第二天 binding的使用(2)(转载)
  9. 复杂数组类型的深拷贝
  10. ubuntu13.10安装mysql_Ubuntu 10.10 源码安装MySQL 5.1.34
  11. firefox 模拟手机
  12. 深度学习多种模型评估指标介绍 - 附sklearn实现
  13. 极光推送JPush使用Java SDK开发
  14. 微信小程序 人脸识别功能 代码 wx.faceDetect
  15. gmp计算机分类,GMP附录——计算机化系统汇总.pptx
  16. 计算机网络电缆是什么,很多人不知道,计算机电缆和光缆有什么区别
  17. hone hone clock创意前端时钟
  18. 51单片机c语言16进制数转换10进制数,51单片机C语言里 怎样将16进制 直接化成 10进制...
  19. ai动漫生成软件哪个好?这篇文章告诉你
  20. 突然断电对oracle的影响吗,当ORACLE突然断电,重新启动过程发生了哪些事?

热门文章

  1. C程序设计 谭浩强 第十章
  2. 4、cas Server连接mysql
  3. cmd命令导入.dmp文件
  4. python urllib之parse中urlencode、quote、unquote使用方法
  5. MFC 对话框添加背景图
  6. 【自动化】手把手教你一个1秒钟归纳整理海量文件的python小技巧
  7. 第五章第六题(英里与千米之间的互换)(Conversion from mile to kilometer and kilometer to mile)
  8. 同为PM,项目经理和产品经理那个才是未来的CEO?【大海午餐9】
  9. 看似“冰山美人”的弦图竟如此平易近人!
  10. android短信发不了图片,手机发不出短信怎么办?-安卓手机发不出短信的解决方法 - 河东软件园...