想要以后为VR开发应用的话,现在应该预备哪些知识( 二 )
谷歌VR资源平台daydream app
2.UI设计与建模
产品原型出来之后,设计师就可以根据交互原型进行VR场景设计了(大部分的VR菜单设计都是采用弧形化的metro瓷片风格),游戏的设计师还需要对场景进行3d建模,现在主流的建模工具是c4d、3dmax、maya等,一些依赖于视频资源为内容的app还需要专业的360摄像机和录音器进行全景录制。
3.开发编程
当所有资源都准备完之后,就是VR开发者发挥了,与其他app开发相比,VR 开发者需要考虑更多的是3d场景的开发以及VR设备的事件触发,下文将进行主要介绍。
Step3 理解VR开发要点
1) VR场景开发
开发阶段我们需要根据设计师的3d模型开发360°虚拟场景,这个阶段有点像web前端开发的编写html和css布局。
一个静态的VR场景主要包含三个要素:场景、相机、实体。
VR场景的坐标轴
VR开发空间主要由 场景、相机、对象实体组成(高级的场景还包括物理引擎等)
场景scene:即用户所处的虚拟环境,VR场景的中心坐标轴x、y、z分别代表3d环境里的宽度、高度以及深度,我们可以将开发的场景分成由多个三维网格组成的世界,所有的VR元素如相机和实体都要被包含在内。
相机camera:代表用户的眼睛所在的位置,相机的位置代表用户在VR场景所在的位置。
实体object:代表虚拟世界里的所有物体,这些实体一般具有四个基本属性为大小、位置、角度和材质,按照实体在场景里的功能分类,我们还可以分成:地面、天空、灯光和其它物质,我们可以通过设置实体的位移、大小、旋转等属性来布局用户的虚拟环境。
阿里buy+虚拟商店
静态场景开发完之后,我们需要为场景元素增加动画,VR的动画产生主要是两个方式:1.页面初始化完成时触发;2.用户事件触发。
VR动画其实主要是通过编程来控制相机或者实体的属性来实现,比如控制相机的位移来模拟用户角色在场地里的移动,又比如我们给砍刀这个实体注册监听,用户挥动手柄来触发场景里砍刀的位移等,这点跟其他app开发方式是相同的,都是需要给组件注册事件监听函数,不同的是VR的事件触发类型。
2)事件触发类型:
用户在VR场景的事件类型主要为:初级模式:凝视触发、手柄触发;高级模式:体感手势触发、语音识别触发、行走触发。
凝视触发是VR头显支持的基本功能,VR按钮监听到用户凝视行为即可触发事件;
手柄触发类型依赖于VR设备配套的手柄所持支持手势类型,一般手柄都配置了水平陀螺仪、加速计等传感器,主要用于move平移、rotate转动、press按压按钮的触发事件;
玩家使用Oculus Rift手柄进行瞄准用户使用手柄射击方式触发按钮
体感手势触发:这是个人比较支持的交互方式,它让双手进入VR世界,如leap motion。
利用装在VR HMD的leap motion实现体感手势交互
语音识别触发:通过语音识别发送指令,是VR社交较为认可的交互方案。
行走触发:比较高级的触发事件,市面较少见,一般需要万向跑步机传感输入用户的位移信息。
KAT-WALK万向跑步机可以输入用户行走、跳跃、坐等事件
3)开发技术与框架:
主要有三个方向:VR大型游戏开发、VR移动端应用开发、WebVR网页开发
VR游戏开发
目前开发VR游戏最主流的框架是Unity 3D和Unreal Engine 4。
其中,Unity3D开发语言主要使用C#或者JavaScript,所以对于web开发者来说比较容易入门。而且Unity支持上述三种类型的头戴显示器,是跨平台支持最好的开发框架和渲染引擎,这使得我们开发的VR游戏可以是运行在浏览器网页、移动端上以及PC端的app。
推荐阅读
- 中外合作研究:四万多年前东北亚真猛犸象主要以禾草苔草类为食
- |奥迪开发基于C-V2X校车警示系统
- 汽车|长安汽车:公司与华为、宁德时代三方正在联合开发智能网联电动汽车平台和产品
- 雪乡烤肠卖15元一根引热议,媒体:定价要以消费者评价为准绳
- 啥是微信开发WEB前端
- 做苹果开发,想买台MacBook,大家建议买啥
- 开发/维护 一个类似qq会员或者Amazon Prime会员的会员系统有哪些难点和挑战
- web开发,一般项目经理从项目中拿多少项目奖金
- 趣头条|海外媒体称大众正在开发两款基于MEB平台的小型车 ID.1与ID.2
- 咋搞垮一个Onlinejudge