成为VR开发者的六个基本问题
2016-05-31小小CTO未来CTO
我常被问起能否提供更多的建议,帮助其他人进入这个行业,或是做VR开发人员该怎么赚钱。我很难具体回答,因为每个人的情况都很不一样。不过还是有一些建议适用于想要进入VR行业的人,如果你正在考虑要不要成为VR开发人员,或许可以往下看看。
我能够使用到哪些硬件?
不是每个VR开发人员都会具备所有VR设备的。有些开发工作室只和单一VR平台合作,而马上要推出优质内容的开发者常常会和大型硬件厂商联系并得到独家供应的设备。如果刚刚开始走上VR开发者的道路,你可能无法马上拿到昂贵的设备。但这不是什么问题,你首先需要想清楚自己的首个项目要应用在哪个平台。PC端的VR头显如Oculus Rift、HTC Vive需要的电脑一般会比平常家用的性能要更好一些,价格也不低,而移动端VR开发的门槛就比较低,更适合刚入行的开发者。
一般来说,要开发一款游戏,首先就要接触需要用到的硬件设备。所以考虑开发之前就要先想好硬件需求。没有开发VR应用的经验,若是连硬件设备也没有的话,是无法进入这一行业的,但也没必要一开始就花大钱买Oculus Touch才能开始开发。Cardboard就是一款很棒的入门级头戴设备,而且还自带一张免费的软件开发包:任何一名有安卓或iOS设备的人或是只对虚拟现实技术有初步兴趣的人都会觉得这样很合适。许多虚拟现实开发的基础就是3D程序设计(当然,你还可以更进一步开发应用,那就需要更专业的知识了),在你购买昂贵的设备或硬件之前,学习为Cardboard开发新的应用也能打好基础。
我愿意投入多少钱?
不需要投入很多资金也可以开始VR应用的开发。虽然如今Oculus Rift售价很高,但市场上也有很多设备没那么贵,如果你是想先试试几种不同产品再决定是否全职投入到VR行业中的话,那就可以先选择低端产品。
除了花在设备上的钱外,你还得留下一笔钱参加活动聚会。不少VR聚会要收取少量费用支付场馆和食物的开支,但这对你来说是一个学习的好机会,因为你能见到很多其他开发人员并了解到该行业的最新信息与专业技术。会议也是了解和观察其他开发者都在忙什么的最好方式之一,但如果不事先列入开支计划的话也会逐渐成为一大笔开销。
我愿意花多少时间??
人人都知道,获得成功需要花很长时间,这些时间也是很有必要的。首先,你看到了关于VR行业的新闻,开始了解相关背景,了解产品生态链,制定设计策略直到最终决定购买什么设备。之后,你拿到了自己的第一个头显设备,马上就沉浸在有趣的新应用上,花了不少时间。在这之后,你就能浸入到某一个平台里,学习新的API和toolsets,也开始和其他开发者聊天。或许这些都在你制定的计划之内,但你要提前想好自己愿意花多少时间开发一款应用及学习新系统的知识,以免带来不愉快的经历。
我现有的知识要怎样利用起来?
当我刚开始尝试VR开发时,我选了Unity作为游戏引擎,是因为我有过4年在.NET平台上为Windows开发应用的C#编程经验。现在要开发VR应用有很多的选择。因此,重新学习一套新的技术,还是在原有的知识上学习新东西决定了你的不同起点。
如果你是一名网页开发者:
UnityScript是由JavaScript衍生的工具,能够用于Unity游戏和应用脚本。
WebVR 是一款实验性的API,他使用Three.JS或WebGL在Firefox或Chromium浏览器中能看到VR网站。
A-Frame是一款MozVR中心的标记语言,能用HTML格式的语言为基于浏览器的VR设备做出VR内容来。
如果你是Objective-C或是Java的开发者:
用C#、UnityScript或Boo作脚本,Unity支持两种语言的移动平台应用开发。
Cardboard和GearVR都自带软件开发工具包,能使用Java在选择的移动IDE或Xcode的Objective-C上开发自带安卓应用。
如果你是C#开发者:
Unity支持C#脚本,而且编辑器带有丰富的3D建设工具
Unity的跨平台功能能应用在不同平台上,包括安卓、iOS和Windows
如果你是C/C++开发者:
虚幻引擎的编辑器使用C++作为脚本语言
使用Oculus软件开发工具包直接写入OpenGL(点击下载Oculus文件)
OSVR提供酷睿数据库和虚拟引擎插件
OpenVR的API能对接C++
这并不是完整的列表,但也许能帮你找到合适的选择。
我要开发什么?
刚开始尝试VR开发时你不一定要很清楚知道这个问题的答案,但如果你有一两个长远的计划的话,就可以有目的性地找到学习的方向和开发项目。如果你未来希望开发VR网站的话你会大量使用到现有的API和JavaScript库,从开始就使用WebVR可能比尝试虚拟引擎或学习如何使用Blueprint更有帮助。同时也要考虑到虚拟现实和增强现实设备的不同应用,以及你是否已有一套需要购入的设备组合。
除了帮助你决定开始使用何种工具外,对未来开发什么有基本概念的话还能帮你把项目细分为能操作、可实现的学习步骤。如果你想开发的应用需要设计漂亮的环境和丰富的质感,学习如何使用terrain editor会是很好的第一步。想要用新的工具解决方案创建自己的立体渲染?或是想改进自己曾经开始写的游戏?使用自带的软件开发工具包及图形流水线或许能帮到你。
我是不是有特别的爱好?
如果你对丰富的3D音频特别感兴趣,就没有必要从零开始学习灯光与环境设计框架。想想自己的兴趣是什么,以及和不断发展的VR行业有怎样的联系。看你能不能找到一些开发者正在努力的方向,看看是否还有继续研究的空间。如果你有有趣的想法,或许可以尝试先在GitHub上看看有没有现有的项目你能够借鉴或参与。多试几条路子!
未来CTO
关注我CTO之路从此开始微信号:wlaicto