首页>会议文档 >

杨栋 - Unity跨平台VR开发

page:
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发
杨栋 - Unity跨平台VR开发

杨栋 - Unity跨平台VR开发

所属会议:2016首届全球虚拟现实与增强现实中国峰会会议地点:上海


下载

手机看
活动家APP客户端

扫二维码下载
或点击下载
Android iOS

9776次
浏览次数

文档介绍

数字分析公司Digi- Capital的一份报告指出,VR/AR产业到 2020年总估值将达1200亿美元。预计到2020年,全球头戴VR设备年销量将达4000万台左右。2016年各大品牌将会陆续发布消费者版的产品, 内容制作方也会快速跟进,相关技术可被广泛应用在游戏、娱乐、医疗、工业、航天、国防、教育等多个领域,越来越多的开发商都致力于虚拟现实技术的软硬件开 发工作,因此我们有相信在2016年将迎来VR/AR行业的大爆发,相关产业链的公司将明显受益。为推动中国AR/VR产业快速发展并加强与国际交流合 作,我们决定在中国上海举办首届全球虚拟现实与增强现实中国峰会2016。

演讲实录

杨栋:Unity是从前年开始进入VR相关开发,今天给大家分享下Unity对于不同平台的支持以及未来我们想要做的一些事情。




首先看下市面上主流的一些设备,大家都很熟悉,Oculus、HTC vive、PS VR、谷歌carboard以及Gear VR。




Fove这个设备也是今年年底发布,主要的功能是实现眼部追踪。Meta其实是属于混合现实的。


对于内容开发者来说,希望的是能够一次把内容编译到所有的设备上。国外的开发者们不喜欢做内容之后,来适配各种设备。手游时代iOS还好,安卓平台的设备和屏幕是千千万万。




对于Unity来说,目前VR设备整合模式我们支持两种。一种是第三方插件模式,尤其是自己写的插件。如果足够了解Unity系统模式,完全可以自己写个插件,把系统架在上面。当然这种方式需要双倍的CPU/GPU渲染成本。


第二种方式是我今天想重点提的。我们可以把第三方硬件比如说vive的SDK直接整合到我们的编辑器中,整合的好处在于我们可以进行底层的渲染管线优化,尽量做到左右眼一起渲染。后面我也会解释如何做到一起渲染来提高帧率,大家都知道帧率对于VR体验来说非常重要。未来我们也会加入对daydream平台的支持。




给大家解释下如何原生支持多种VR设备。只要下载我们最新版本的Unity 5.4就可以支持Oculus、GearVR、OpenVR(SteamVR/HTC vive)以及PS VR。因为已经集成到Unity中,所以无需添加额外的SDK。接下来,可以在同一个项目中切换不同的设备做测试。我们现在有一个添加列表,将设备添加进去就可以进行切换测试。




一些主要接口包括控制头盔的不同模块之间的交互、获取当前连接设备的基本信息、切换设备以及连接GPU等。这个蓝色的部分就是支持同时左右眼渲染的按钮。




这是专门针对PS VR的相关选项,其实基本模式是一样的。对于头盔信息的交互、如何控制它的手柄。PS VR的游戏放上去以后一开始渲染的是非VR的模式,在这里你可以检测头盔和手柄是否已经正确连接。只有这些检测通过,玩家才能进入PS VR模式。


为什么要这么做?索尼是从用户体验角度来看。如果用户打开游戏,头盔和手柄没有连接,就没法玩,但用户也不知道怎么回事。如果开发游戏不做这个过程,提交的时候就可能被拒绝。




给大家解释下Virtual Reality Supported选项的问题。打开这个选项之后,如果头盔连着电脑,系统会自动把相机所看到的画面渲染到HMD头盔。当然,你也可以使用摄像机组件上的stereo TargerEye属性来禁用。头部移动跟踪以及适合于所连接设别的Filed of View(FOV)会自动设置好。主要就是干这三件事。




这个功能主要是为了减轻主线程占用的CPU。目前主要的三种渲染中,Forward Rendering以及Deferred Rendering是支持这个功能的,而比较老的Legacy Deferred不支持。这个功能其实并不是专门为VR而开发的,而是为了整个系统图像性能和效果的提升。但任何为了实时渲染效果提升而做的工作对于VR来说都是非常关键的。


×

打开微信扫一扫,分享到朋友圈