越来越多的小白要准备进入VR开发学习状态。可是这么多的VR硬件和VR软件,VR内容和VR技术你到底要如何选择呢?VR开发学习前有哪些必须了解的问题?蓝鸥上海VR培训搜集了VR开发同学必须了解的几个问题,了解了这些才靠谱。
1、你愿意在这方面投入多少钱?
准备VR开发并不需要太大的前期投入,比如Rift消费者版是599美金。如果你想全职VR开发的话,这个投入并不算特别离谱。或者考虑价格低廉的入门级Cardboard,谷歌提供免费的SDK。大多数VR开发的基础是围绕3D编程,从如何开发一款Cardboard的app入手对你非常有帮助,然后你再决策是否购买更高端的设备。
2、你有哪些硬件设备?
并不是每一个VR开发人员都拥有所有类型的VR硬件,有些工作室只开发独家平台的游戏,比如PSVR或者Rift。作为刚入行的开发人员,上来就购买所有高端的硬件并不是最合适的选择,你可以通过第一个项目选择在一款硬件上开发。连接PC的VR系统要求的PC配置可能比你现有的电脑要高,而移动VR的起步门槛比较低。
3、你愿意花多长时间积累行业知识?
首先,你需要了解行业的入门级基本知识,比如VR有几个平台,外设设备有哪些,开发工具有哪些,之后才能决定入手哪款硬件。其次,你花一些时间体验一些好玩的VR应用,然后深入到某个特定平台,学习APIs 和工具。
国内的开发者可以参考YOTOVR网站(目前唯一系统介绍VR开发的中文科技媒体)以往的文章,比如《虚拟现实入门》中文版翻译、《硅谷VR入门必读》、《VR开发资源推荐》系列文章,或者通过“VR开发”检索以往与VR开发相关的文章。
4、你以前的开发经验哪些可以用在VR开发?
如果你是Web 开发人员:
1)UnityScript 是由JavaScript派生而来,是用在Unity开发游戏/应用的一种脚本语言;
2)WebVR 是使用Three.JS 和 WebGL开发网页上运行的VR应用的一种API,这种网站可以使用Firefox 和Chromium浏览器访问;
3)A-Frame 是MozVR公司发布类似HTML风格的一种新型语言,可以开发基于浏览器的VR应用。
如果你是Objective-C 或者 Java开发人员:
1)Unity支持使用C#、UnityScript、或者 Boo语言编写脚本;
2)Cardboard 和三星 GearVR 有原生的SDKs,通过移动集成IDE环境使用Java开发原生安卓应用,或者Xcode环境下Objective-C 语言。
如果你是C#开发人员:
1)Unity在编辑器中 支持 C#脚本;
2)Unity跨平台导出功能支持多个平台:Android、iOS和 Windows。
如果你是 C / C++开发人员:
1)Unreal编辑器可以使用C++编写脚本;
2)直接在Oculus SDK开发OpenGL;
3)OSVR提供Core repository和Unreal插件;
4)OpenVR API 接口是 C++。
以上列表并不全面,可以帮你找到最适合你的开发工具。下面是常用的实例代码库资源:
1)Unity Maze Tutorial
2)Oculus Sample Projects
3)Cardboard Sample Project
4)WebVR Boilerplate
5、你想开发什么类型的应用?
你并不需要立即给出答案来,但是你需要从长远角度思考这个问题。如果你想开发支持VR应用的网站的话,你需要积累现有的APIs和JavaScript库。开始阶段学习WebVR似乎比一上来就使用Unreal学习使用Blueprint更加有帮助。
将你的未来计划拆解成可操作的、合适的学习步骤,如果你的梦想计划包括漂亮的环境和丰富的纹理,应该第一步先学习Terrain编辑器。如果对立体渲染感兴趣,使用一个原生 SDK 和3D图像渲染pipeline或许对你有帮助。
6、你已经有感兴趣的细分领域了吗?
如果你非常热衷于3D音频开发,学习光照设计没有什么意义。考虑好自己想做的领域,可以访问YOTOVR网站检索“VR Startup”找到与你想法类似的创业公司,可以给他们发Mail请教问题。你也可以上GitHub找找有没有类似的demo。