通常我们提到VR/AR都会讲它们是如何使用的,但是我想从另外一个角度来进行讨论。
VR是可以像HTML一样来进行编程。
例如,WebVR,WebXR(包括增强现实AR)
如果你知道HTML,XML和JavaScript,那么VR编程也是可以实现的。。
React360中的“ Hello World”(编程中常用的第一个程序)就这么简单:
<View>
<Pano source = {asset('chess-world.jpg')}/>
<Text
style = {{transform:[{translate:[0,0,-3]}],}}>
Hello,World1!
</ Text>
</ View>
如果您知道HTML,那么上面的内容应该看起来很熟悉。这就是React360,但是它并不是WebVR的唯一方法。还有A-Frame和XSeen,两者都使VR编程变得容易。还可以使用Three.JS 进行“原始”编程。
WebXR的优点在于,你几乎可以在任何设备上查看它,并且不需要下载,只需单击和浏览即可。WebVR现在已集成到大多数浏览器中,并且功能齐全。
如果要获得AAA游戏体验,则需要Unity,Unreal或其他游戏引擎,但有些人将50万个数据点推入WebVR的3d数据可视化中。即使在手机上,它也以本机速度(GPU)运行。
WebXR的另一个巨大优势是根本不需要耳机。在没有耳机的情况下查看FalloutVR。(你可以尝试玩《Fallout 4》,但这是一个单独的程序)。使用WebVR,以及即将使用WebXR的WebVR,当你在没有HMD的设备上转到某个网页时,它将看起来像一个全景网页。您可以用鼠标移动视角,甚至与事物进行交互。
如果你是VR开发的新手,我建议首先尝试一个不需要编码且学习曲线很小的平台,以大致了解“开发VR内容”的框架。
ENTiTi Creator ——增强和虚拟现实内容创建平台
Insta VR——让您的VR应用在几分钟之内
Viar 360——创建和发布互动式电影VR体验
这些平台为各个行业的企业提供工具集,以VR / AR形式制作简单但高质量的广告/产品演示/设计可视化/培训材料。你可能无法使用优秀的VR游戏可能需要的平台(但绝对是拖放等最基本的平台)构建精美的交互功能,但是你无疑可以学到很多有关导入/创建3D的资源,如何在虚拟场景中放置3D对象以及如何使用所需功能自定义项目。
专业的VR开发(例如构建VR应用程序/软件/网站)可以分为几个部分,这些部分可能由具有不同专业的不同人群完成-用户体验设计(讲故事,环境和交互设计等),艺术设计(3D建模,动画等),交互原型,数据库管理以及许多其他必不可少的支持部分。由于你可能不太可能掌握所有这些知识,因此我建议先对VR开发流程的样子进行研究,然后对您最感兴趣的部分做更多地研究。
就我个人而言,我认为用户体验设计是技术含量最低的部分,需要对心理学,管理和创造力进行跨学科思考,还需要对其他人已经尝试过的方法具有丰富的知识,并具有评估这些方法为何有效或无效的能力。幸运的是,网上有很多关于VR/AR开发中用户体验设计的好资源:虚拟现实的用户体验。
至于艺术设计,在大多数情况下,制作3D动画/ 3D建模几乎没有差异,因此,如果您具有这些领域的经验,那么进入VR并不难!如果您对3D动画了解不多,但对学习VR感兴趣,我推荐Blender。
为了在VR中进行交互原型设计,基础是掌握对于一般游戏开发至关重要的技术技能——OOP(面向对象程序设计),并进行有效且易于管理的数据抽象。在开始编码之前,您应该能够处理几个抽象级别(经验,示意图,数学,算法)。但是,以VR形式构建软件给交互原型制造带来了更多挑战。非线性叙事功能,需要对可追踪设备做出响应以及VR的许多其他独特功能都要求开发人员在常规游戏开发中更改交互逻辑流程。由于你的产品可能涉及多个用户和用户生成的内容,因此,最好在开始第一个项目之前阅读Unity关于多人游戏和网络的手册,了解最终工作应该是什么样的,以及有效学习如何管理项目所需的技术。