如何自学VR虚拟现实技术?VR简单上手教程
随着VR虚拟现实的爆发,越来越多的知名企业开始布局VR产业,也期望在未来的VR市场中,能占据有利地位。如果你现在想研究VR,不妨停下脚步,看看如何从VR虚拟现实技术开始着手。因为之前有人问过我,这里结合自己的经验和参考国外的一些教程,将如何学习VR虚拟现实技术做以下整理,希望对大家有一些帮助。VR简单上手教程主要分为3部分。
原生VR app开发
开发VR app或者游戏可以让VR内容更加丰富,刺激整个VR大环境的发展, 进而吸引更多的用户接触VR,让整个VR生态更繁荣。你开发的应用将安装在MAC、PC、Play Station 或者安卓、iOS上面。
这将是VR的其中一个边界。你需要弄清楚VR的UI/UX,然后让用户以正确的方式充分享受VR带来的益处。你需要学习一种3D引擎。Unity是个优秀的入门引擎,掌握它需要学习C#和Java语言。
如果你是个编程新手,我推荐你看《Java DOM编程艺术》、《Eloquent Java》这两本;如果你已经有一定程度编程经验,可以直接看《Java语言精粹》。对于Unity,可以看一下Unity3D官网给出的Roll-a-ball,是个不错的小教程,可以用它初步熟悉下Unity。看完了这个,就可以直接去Oculus官网的Developer Center学习文档和SDK了。
个人认为,学习Unity的最佳方式就是自己去尝试着开发一个简单的小游戏,在过程中遇到问题的地方就去Google一下,或者去*寻求帮助。其次就是和VR开发者论坛的朋友们多交流,互帮互助。
其次,刚刚上面讲的教程都是关于VR的输出设备或者说VR头显,如果你对VR输入设备感兴趣,想开发VR的UI/UX,Leap Motion是个不错的选择(当然还有Oculus touch 或者 HTC Vive),可以去leapmotion官方看看开发者文档。
最后,除了基础编程知识,我建议再补充一些数学知识,推荐《Essential Mathematics for Games and Interactive Application:A Programmer’s Guide,Second Edition》。
VR电影的录制
VR电影是VR另一个边界,方法是使用特殊的全景摄像机来录制360度视角的影片。
拍摄全景视频,首先需要一套VR摄影设备。目前有很多解决方案,这里不一一列举了,有兴趣的同学可以Google搜索「VR camera rig」。光场相机将会是这个领域的颠覆者,其中360Heros全景相机架是个不错的选择。
平时如果你想给你的朋友分享一段普通视频,原生的VR视频足矣。但如果你想拍一段电影,你需要对视频做编辑,这时候普通的视频编辑器就不能用了,必须使用VR视频编辑器,比如「SpliceVR Editor」。
VR web开发
毋庸置疑,原生VR应用和游戏以及VR视频会最先普及,但是最终,肯定会走向web。开发者们还记得「一次编写,处处运行」这句古老的名言吗?网页就是我们实现这一承诺的最大可能。与其开发仅能在单一平台或VR头显上运行的原生应用程序,开发者们不如采用web来打造自己的VR体验,这样就可以简简单单通过浏览器运行了。Google和Mozilla携手致力于WebVR的建设,我们可以预见3D版本的万维网的到来。
随着用户们对原生VR应用需求的膨胀,他们也一定期待开发者创造出VR的web应用。
首先,VR web体验将带给你类似浏览facebook或youtube的体验。用户在web上,可以将视频切换到「VR模式」。和VR电影不同的是,用户可以在VR环境中来做VR购物、VR约会或者VR在线课程的学习。
首先你需要学习一下three.js。three.js是一款运行在浏览器中的 3D 引擎,你可以用它创建各种3D场景,包括了摄影机、光影、材质等各种对象,它是由Java编写的WebGL第三方库。你可以去它的官网学习:threejs.org。然后参考Github上的 borismus/webvr-boilerplate项目试着实现一个简单的VR网站。记住使用Chromium或者Mozilla nightly来测试你的VR站,参考webvr.info。接下来,试着向你的场景中加入3D模型,并试着改变它的位置,并将它旋转,threejs.org的examples中有丰富的小例子。假如你想向其中加入一些物理信息系统,参考Github中的Hello-Cannon.js!项目。
看到这,你是否对VR技术的入门知识有个大概的了解呢?其实VR开发并不是什么特别的新东西,它跟传统的Native和Web开发相差并不远。希望这篇文章可以给喜欢VR的同学们带来一些小小帮助。