VR时代之旅

今天看了淘宝的BUY+ 败家视频之后,感受颇深。身为开发者,我们该如何更新自己的技能,才能在这个圈内立足?时代在召唤,所以本人开始打算逐步深入VR的队伍当中。 然而开始,我们应该学习什么编程语言 或3D引擎(3D Engine),才能适应时代的发展。

VR 设备分析

让我们先来看看现在的 VR 设备。

目前主要的 VR 设备有 Oculus , Sumsang Gear VR , HTC Vive , Microsoft HoloLens , Sony PlayStation VR ,国内的 VR 设备则太多,销量较高的有 蚁视 和 暴风魔镜 等等。

Oculus

代表产品: Oculus Rift

简单介绍: 万众瞩目的 Oculus Rift 已经预售了。简单地说,Oculus Rift 是一个带有部分输入设备的虚拟现实显示器。这些输入设备包括一个遥控器,一个红外传感器,还有 Touch 控制器。Rift 的所有计算是在一台 PC 上进行的,在 Oculus Ready PCs 可以看到 Rift 要求的 PC 配置。由于显卡的性能问题,Rift 目前并不支持 Mac,只能下载到基于 Windows 的 Runtime。 SDK支持: Oculus Rift 支持 Unity 5 、Unity 4 和 Unreal 。3月1日,Oculus 发布了 MobileSDK 1.0.0.1 升级,这个 SDK 提供了对 Oculus Remote Monitor 的支持,同时也让我们可以在 Mac OSX 上基于 MobileSDK 进行开发。

Samsung

代表产品: Gear VR

简单介绍: Gear VR 是 Samsung 和 Oculus 共同开发的。它目前使用 Samsung 的 Galaxy S7/S7 edge, Note5, S6, 和 S6 edge 来代替头显中原来的显示器。Gear VR 还内置传感器用于和三星手机配对,并内置了触摸板用于操作。和 Oculus Rift 使用 PC 来进行计算不同,Gear VR 把计算放在了 Samsung 手机上。 SDK支持: Oculus 的 MobileSDK 最开始就是为 Gear VR 提供的。

HTC

代表产品: Vive 简单介绍: Vive 也已经预售了。它是目前呼声最高的消费级 VR 设备了。Base stations 设计,电子围栏,多功能操纵手柄,StreamVR,良好的体验都让它成为目前最好的 VR 设备。在 VIVE OPTIMIZED PCs 可以看到推荐的 PC 配置,和 Oculus 类似,但不要求 8G 内存 。 SDK支持: Steam VR 、Unity 和 Unreal 。

Microsoft 代表产品:HoloLens 简单介绍: M$ 的确是不差钱,一上来就搞出来一个 MR(Mixed Reality) 设备,还让 HeloLens 上了国际空间站 。简单的说,HoloLens 就是一台微型 Windows 10 一体机啊!和竞争对手们完全不是一个打法好么?不在一个纬度好么!硬件我就不说了,直接看 Hardware 好了,简直惊悚。

SDK支持: 为 HoloLens 开发应用,其实就是为 Windows 10 开发 App ,目前官方页面并没有公布太多的开发信息。但你也知道,IDE 一定是宇宙最强的 Visual Studio,语言一定是 C# 。

Sony 代表产品: PlayStation VR 简单介绍: Sony 大法虽然好,但 PSVR 和上面几家比起来会出来的比较晚,又从 2016 上半年跳票到下半年。它是和 PS4 共同使用的,目前我没有找到它的 SDK。但 Unity 提到了对 PlayStation VR 的支持。

暴风魔镜 代表产品: 魔镜4 简单介绍: 暴风魔镜是目前在国内大肆宣传的一款产品。暂时还没有哪一款产品的宣传力度超过它。当然,它也是我唯一买过(主要是买得起)的产品。和 Google Cardboard 类似,它是一款把手机塞进去就能体验廉价 VR 的产品。具体的体验效果,取决于手机的高(tu)端(hao)程度。 SDK支持:暴风魔镜提供了 Android/iOS/Unity/Unreal 的 SDK 。

VR 引擎分析 从上面的设备分析可以看出,目前对 VR 支持最好的 3D 引擎就是 Unity 和 Unreal 了。它们两位可以说是 VR 的标配引擎。借用一句广告词: 2U ,你值得拥有! 除了 2U 哥俩外,下面还有一些在 VR/AR 界十分活跃的引擎和软件:

OSVR

Open Source Virtual Reality 是一个全面开源的软件平台,支持多种设备和引擎,Blender/MonoGame/StreamVR/Unity/Unreal/CryEngine/WebVR 都在支持之列。在国内,OSVR 已经和 360 公司展开了合作。OSVR是全球的开源虚拟现实平台,由Razer(雷蛇)——全球高性能游戏硬件、软件与系统品牌,以及Sensics——全球专业级虚拟现实头戴式显示器品牌联合创立。该软件平台致力于为所有虚拟现实技术树立开放标准,使得各款支持OSVR的虚拟设备与支持OSVR的软件能够顺利交互、接合。

OSVR软件

介绍了这套引擎的架构方式。OSVR能够提供简单而标准化的方式,助你探索、配置和操作数以百计的设备,包括VR眼镜、定位追踪、深度摄像头、眼动议、游戏控制器等等。

VRPN

Virtual Reality Peripheral Network 是学术圈搞起来的一套基于网络传输界面的开源 VR 库。允许大家共同建设,把自家的设备加进去。这个库支持非常多的设备,甚至直接包含了设备驱动 Supported hardware devices 。VRPN 已经在 PC/Win32, PC/Cygwin, PC/Linux, and Mac/OSX (32- and 64-bits on all), ARM Linux systems 和 Android 上测试过。

MiddleVR

MiddleVR 目前提供 Unity 插件 ,当然你也可以直接使用它的 SDK,它也支持目前大多数主流的 HMD (Head-mounted display)设备。虽然是由一家公司在维护,但目前是免费使用的。

VRPN

Virtual Reality Peripheral Network 是学术圈搞起来的一套基于网络传输界面的开源 VR 库。允许大家共同建设,把自家的设备加进去。这个库支持非常多的设备,甚至直接包含了设备驱动 Supported hardware devices 。VRPN 已经在 PC/Win32, PC/Cygwin, PC/Linux, and Mac/OSX (32- and 64-bits on all), ARM Linux systems 和 Android 上测试过。 MiddleVR MiddleVR 目前提供 Unity 插件 ,当然你也可以直接使用它的 SDK,它也支持目前大多数主流的 HMD (Head-mounted display)设备。虽然是由一家公司在维护,但目前是免费使用的。

VR 语言

说起 VR 语言,其实还不如说是 3D 引擎的语言。VR 没有 3D 引擎支持是无法进行开发的。让我们看看上面提到的 3D 引擎和 SDK 主要使用什么语言。 首当其冲的是 C/C++ ,这是毋庸置疑的。大多数 3D 引擎都使用 C++ 开发,Oculus 提供的 SDK 也是使用 C++ 进行开发的。 Gear VR 是在安卓设备上运行,需要使用 Android NDK 基于 C++ 进行开发。Unreal 引擎同样使用 C++ 进行开发。MiddleVR 提供了基于 C++ 的 SDK。 其次是 C# 。 Unity 把 C# 当作脚本语言使用。在 VRPN 中可以使用 .NET bindings for VRPN 作为开发语言。不出意外的话, HoloLens 也一定使用的是 C# 。 再次就是 Javascript 。它也是 Unity 的一种脚本语言(即使选择的人并不多)。但 WebVR 和 Javascript 程序员的基数(基友数?)一定会让 Javascript 继续在使用人数上占优(我真的不是黑啊)。即使不考虑 WebVR , three.js , Babylonjs 这类已经非常成熟的 HTML5 3D 引擎也足够证明 Javascript 在 3D 上的强大生命力。 VR 平台 从目前的状态看, Oculus 仅支持 Windows 和 Android(通过 Gear VR) 。MiddleVR 仅支持 Windows 平台。其他的几个引擎例如 OSVR/VRPN 都是多平台支持的,Unity 和 Unreal 当然也是多平台支持。Playstation VR 无疑是 PS 独占。HoloLens 则无疑是 Windows 独占。 只有 WebVR ,不挑平台陪你玩。 结语 VR/AR/MR 仍然在如火如荼的发展。以上的技术1~2年后或许会有翻天覆地的变化,领跑者说不定就成了追赶者,黑马也可能随时出现。但总的来说,VR在目前这个阶段的发展,最重要的仍是内容。内容的产出依然离不开程序员,离不开3D引擎和编程语言。作为程序员,只要我们苦练内功,紧跟技术发展的脚步,就不必担心被时代所遗弃。若是不小心搭上了VR时代的快车,或许更容易一飞冲天。 而当下,我们需要一往无前。

以下个人收集,未入门人员,我也不懂。 c# unity3d 5.x版本 难度较低 未来主流 c++ ue为代表 难度大 人员很难组齐

你可以想象苹果发布App Store的时候,会有人说它会击垮出租车吗?Uber用了很多年才出现,我觉得VR也将如此,目前我们已经推出了游戏,而且这些游戏体验非常好,五年后可能有人做出完全革命性的东西来填补空白,我们不知道这将是什么样的游戏。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy