DayDream, 移动VR 2.0里程碑: 概述

     VR设备, 断断续续使用了很多个; 尤其是最近半年,主要是PC VR方面项目. 以前对移动VR不感冒,这几天试用了一下DayDream, 眼前突然一亮, 就如同年初首次使用HTC Vive眼前一亮的感觉. 没准Daydream会是一个不错的移动VR的里程碑,故写文章记录一下。

 

这里列出我使用VR设备的里程碑时间:

 

  1. Cardboard: 2014.8
  2. Oculus Rift DK2: 2015.4
  3. HTC Vive: 2016.2     【PC VR 主力产品】
  4. PS VR:2016.3
  5. Gear VR:2016.3
  6. Oculus CV1:2016.8
  7. DayDream:2016.10  【Mobile VR主力产品】

 

PC VR的主力产品,在国内目前主要是HTC Vive了,因为其佩戴舒适性、Room Scale空间定位、以及VR APP对国人的友好型(不用爬墙下载软件,这点非常赞), 周围做To B开发的团队,大多使用HTC Vive设备进行调试。

不过,依然要吐槽一下,HTC Vive大约有3个地方不令人满意:

  • 硬件设备太贵:电脑 + HTC Vive,几乎1.5万硬件成本
  • 运营成本高: 如果要使用Room Scale空间定位技术,为了安全,需要旁边有人守护。
  • 占地面积大:线下体验店,5m*5m,才能有1台Vive设备,导致人流吞吐量小,资本回收慢。

故,这些硬伤很蛋疼,虽然国内jd能够实现211直达送货,但HTC Vive的硬件销量依然不佳,可能80%的销售是卖给开发团队的开发机器吧。

 

现在,让我们把目光转移到移动VR,早期教育市场的Cardboard,随着Google推出Daydream,Cardboard已经慢慢要退出历史舞台了。对程序员庆幸的是,技术栈是一样的,故,还是很期待Daydream在未来半年能给VR大潮助力的。 Gear VR之所以我不看好,是因为完全被三星高端手机给绑架了,而我看好DayDream是因为中国的小米、华为、中兴手机都会在未来半年推出Daydream手机,而在Android手机时代,中国力量已经在全球占据60%了(全球Top5的Android手机厂商,其中中国就有3家)。

 

何为Daydream?

image

Daydream是Google推出的Android 7.0操作系统的一部分 (Daydream-Ready), Daydream包括3个部分:智能手机、头戴设备和手柄,以及应用,即从Android操作系统底层对移动VR做了优化。自然,谷歌先宣布了自己的两款Daydream-Ready手机Pixel&Pixel XL (HTC代工),以及售价79美元的Daydream View 头显。

Daydream,有几点很有可能会火爆市场,甚至实现 ”移动VR 2.0里程碑”:

  • Daydream集成了移动VR的“鼠标”功能,通过DayDream View控制器或者Android APP
  • DayDream从底层解决了移动VR渲染时延问题,据说可以<=20ms,体验大大提升
  • Daydream获得了手机厂商大力支持(要使用移动VR酷炫功能,迫使用户换最新骁龙821的手机)
  • Daydream会获得Unity官方大力支持,当年Unity火的一塌糊涂,就是因为手游啊.

 

1 Gear VR将支持Xbox无线手柄,向Daydream开战

 

2  HTC推出VivePort M移动VR商店

   本周,HTC正式推出Viveport M开发者测试版,通过完成Viveport在移动端和线下渠道的布局。目前,Viveport M已经开放开发者测试版本,Vive注册开发者可通过Viveport后台系统进行下载,而消费者版也将于年底前正式上线。

 

3 Oculus VR新方案(Santa Cruz):

 

  Oculus 一体机 Santa Cruz:inside-out 空间追踪技术(不用连接任何线缆和电脑的一体机)

image

备注:微软的AR设备HoloLens也是采用inside-out 空间追踪技术。

 

昨天和一个朋友聊,他说,现在让人现在花5000元买一个高端PC主机的动力,远远不如花5000元,去买一个高端手机有诱惑力。

仔细想想,以5年前国内手游市场崛起为例,这句话还是很有道理的。

Unity 5.4大赞:HTC Vive经典The lab渲染器开源

HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番。

image

仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本开发的),的确令人信心大振:

要知道,某些创业公司为了打差异化竞争,提高技术门槛,对外称Unreal 4的画质比Unity 5优秀很多,这让很多在Unity技术栈下的公司有些郁闷–多年来Unity画质始终不如Unreal逼格高啊。

 

The Lab

程序路径:Steam\steamapps\common\The Lab\TheLab\win64

image

 

Secret Shop

程序路径:Steam\steamapps\common\The Lab\SecretShop\win64

image

 

LONGBOW

image

image

射箭,新破的记录:3565分

 

上面这3个demo,均符合VR体验沉浸感三要素:

  • 触觉:手柄震动反馈
  • 视觉:画质沉浸感强
  • 听觉

仔细找了一些资料,发现1个月前,Valve把The Lab 渲染器开源了,竟然。

The lab渲染器有下面几个特点:

  • Single-Pass Forward Rendering and MSAA
  • Adaptive quality
  • Custom Shaders
  • GPU Flushing
      • 使用步骤

      步骤1:场景设置

    // Scene setup:
    //    – Enable forward renderer in Player Project Settings
    //    – Set Color Space to Linear in Player Project Settings
    //    – Enable GPU Skinning in Player Project Settings
    //      – Add the ValveCamera.cs script to the main camera
    //      – Add the ValveRealtimeLight.cs script to all runtime lights
    //    – In Project Quality Settings, set Shadow Cascades to No Cascades
    //    – In Project Quality Settings, set Pixel Light Count = 99

     

    步骤2:切换Shader

    image

      方便转换已有的材质–其实是使用Valve提供的Shaders(代替Unity 5 Standard Shader)
      步骤3:查看HTC Vive运行过程中VR的FPS!

    image

      HTC 要求的Refresh Rate是90Hz。
        核心C#脚本就2个文件,ValveCamera.cs、ValveRealtimeLight.cs
        提高VR画质和刷新率的平衡,是设置这2个Unity VR参数:

      VRSettings.renderScale

      VRSettings.renderViewportScale

      其中Adaptive quality的启发思想是,通过观察过去10帧的VRStats.gpuTimeLastFrame平均值,来动态设置。  这个动态的优化思想,从软件算法看,的确很酷:

      • 依据电脑硬件,运行不卡,renderScale设置大一些,画质慢慢变好;
      • 依据电脑硬件,运行卡了,renderScale设置小一些,画质变差就行。

       

      小道消息:我通过Twitter咨询Unity QA Leader,他给我的反馈是原定于2016.6月发布的Unity 5.4,因为目前还有2个渲染的严重bug,故5.4会延期到7月底发布–好事多磨,希望5.4正式版越来越给力,尤其是在VR渲染上。

       

      创业广告:

      1 承接VR/AR内容应用定制需求: 楼盘销售展示系统、建筑建设、旅游体验、课件教学系统、交通车辆仿真,模拟驾驶系统、游戏等。   

      2 各类最新VR设备,例如GearVR、HTC vive、Oculus CV1、LONG VR 魔镜等

      3 可公对公签正规合同,开发票。

      4 我们是北京专业团队公司;

      5 提供售后服务,保证产品质量,有业务需求可以进行一对一的技术指导。

       

      联系QQ: 2137-2550

       

       

      参考博客:

      Unity3D for VR 学习(5): VR Gaze Input

      Unity3D for VR 学习(11): 后期屏幕渲染特效(Image Effect)

      Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)

      Unity3D for VR 学习(8): Unity Shader概述