Daydream头盔和Cardboard的最大不同:全在新的手柄上
雷锋网按:就在昨晚, 谷歌首款Daydream VR头盔正式登场,仅售79美元 。 本文是VR行业从业者胡痴儿在知乎上关于谷歌Daydream的探讨,雷锋网(搜索“雷锋网”公众号关注)获授权发布于此,希望能加深你对Daydream VR的了解。
利益相关: 如图,体验完daydream领了一套广告衫睡在了Google办公室的地板上做了个『30分钟』沉浸感极强的白日梦......
打个形象的比方:刚出生的婴儿,它会到处爬,到处望,看看这世界是怎样的,这就是Google cardboard前两年头动交互所做的事情。
两年后这个婴儿大致会看世界了,于是开始挥舞着自己的小手,去抓身边的、周围的东西,可能抓得有些幼稚、有些凌乱。
但是随着它慢慢成长,便越来越会和身边的东西交互,抓东西越来越灵巧和自然……这就是daydream,它的核心就是用controller来『抓东西』。
(从尺度上来看它可以随时放进口袋,便携性符合移动端要求;而从正面的简单三个按键上看来,它也是适合做简单的、轻度的交互,所以受众广,利于VR早期的推广。)
所以,用一句话概括就是―― 用手部控制controller进行操作替代了原来用头动控制cursor的交互,把头部从繁重的交互操作中解救出来,是体验上的升级。
所以我们重点讲讲它的交互――
另外,我们从文件中也可以看出来,daydream确实是由cardboard演变过来的:另外,我们从文件中也可以看出来,daydream确实是由cardboard演变过来的:
列个目录慢慢往下写:
硬件及工业设计
raycast
连续motion
离散motion
双手交互
touchpad以及手感
APP button
点击home button回到daydream的主页
长按home button 回到默认视角
0. 硬件及工业设计
这个controller是用蓝牙连手机的遥控器,示意图如下:
经知友经知友 @tony chen 提醒,音量键在这里。(因为在手机插入手机盒子之后不方便操作音量,而有需要随时调节。)
从触觉上来说,一个平的略往外凸的按钮,下面是凹进去的按钮,能让你在VR中摸出来。
握着这个controller的姿势和单手手持手机相似,所以它不支持multi-touch,而更多的是你大拇指单指的操作――用大拇指操纵这三个交互控件。
(为了避免手把controller甩出去,所以手腕上还是系了个绳)
1、raycast
在cardboard和很多移动端VR中,都使用转动头部来控制cursor的。
而Daydream的controller,则在VR中发出的虚拟『激光』移动cursor,避免过多的『头动交互』引发的脖子疲劳……这是交互的一大进步。
raycast这种交互用到了IMU (加速度计、陀螺仪和地磁计三者数据的整合),虽然只有三自由度,但是已经够用了。
这里感兴趣的同学可以看《如何形象地理解四元数?》,我非技术就不讲了。
想象一个点,向一个三自由度的球形曲面投射一道射线,它只要稍微转转手腕就能指到这个球面里的任何一个点。(所以交互起来很轻松)
在cursor的设计上, Google学习了Hololens中的『gaze』 ,即镭射出的射线和虚拟物体相交形成了一个圆。
而这个圆是贴着虚拟物体表面的走的,所以增强了虚拟物体的立体感。
从下面的demo中我们可以看出,在来到主视角之后,用户并不需要使用『头动』来调整cursor,而是直接轻松简单地 用了遥控器的raycast完成了交互 (微微转动手腕调整遥控器位置)。
用镭射的交互方式用来做选择其实是很轻松的(用户交互成本使用路径最低)―― 用户站在&坐在一个固定位置,就能轻易地选择到他能看到的任何物体 。在VR中的交互感觉,就像激光笔一样。
不知道你们有没有过用很强的激光笔指着远处,当你在很远的地方看见激光一瞬间达到,这种迅捷的交互有种很强的快感。(如果地球上所有人同时用激光笔指着月亮,月亮会不会变颜色?)
我们都知道,越远处的物体,越相当于贴在一个三自由度的球面上,比如极远处的星辰,但是越远处的物体需要转动得幅度越小,却越难以精确指到。
用raycast选择道具栏中的物体用raycast选择道具栏中的物体。
在投掷道具时,激光镭射的虚线就会显示出来,示意你将会投掷到的地方。
指着一个可被激活的道具。
点击touchpad,则触发这个道具,比如这里是宝箱打开。
拾取道具,选中道具后点击touchpad,道具会向你飞来。
道具会向你飞来。
不像HTC vive那样低头弯腰过去捡那么累, daydream controller在降低了操作成本的同时也降低了沉浸感 (因为游戏并不是让用户轻松的),但是又能提高留存率,因为玩起来轻松用户更愿意久玩。
当然还可以用来瞬移传送当然还可以用来瞬移传送。
在Google 街景地图VR中,每个点都是一个全景球,用抛物线式的raycast进行传送。
(为什么要用抛物线呢?因为如果直接用直线raycast指向地面可能不容易指准,而产生比实际距离更靠前或者更靠后的偏差,而一个抛物线投射过去其实是有两个维度的,这时能更准确地判定该点的距离,或者深度。)
这段将在《用哪些方式在VR中移动(locomotion)比较合适?》中再展开详细讨论......
2、连续motion
连续motion用到的更多是controller里的陀螺仪(gyroscope),传回来的只有角速度(angular speed)。
因为它只有三自由度的方向追踪,而没有六自由度的位置跟踪,所以这个controller只能改变方向地摆啊摆。
用motion作为游戏的交互在7、8年前的PS3 move和wii就有了,就是运动手柄以控制虚拟中的某个握着的道具。
个人理解――如果说触摸是适合2D平面的交互,那么 motion则是适合3D立体的交互 。即便以前3D交互都是用任天堂发明的摇摇杆,但还是在2D的手柄上摇动,难免有维度感的缺失。
我觉得VR交互设计的核心就是思考――将现实中你握着的controller映射到VR中你的avatar握着controller幻化的道具,要像真的握着它幻化的道具一样,就得对它幻化的道具的交互有深入的理解――
人们是怎么用激光笔指东西的?怎么用鱼竿钓鱼的?怎么用平底锅烹饪大饼的……
daydream controller把motion的交互放在了手上,而不是头上――用手来运动,而不是头动控制保证了『不晕』。
2.1、摇晃
摇动魔法花朵
2.2、平移&推动
移动平底锅
连续地一点点地把菜扒到盆子里――
这里有个细节:你得调整刀的方向,让刀用刀背(刀最宽的部位)把这些菜推过去,而不是刀刃或者其它地方,所以你感到这确实是一把刀,因为你在交互时感到了刀锋和刀背的不同功能,会产生不同结果(你用刀锋无法把它们推走)
而你手腕调节controller将它和砧板调垂直,这个状态就是『连续motion』――细微、连续的方向调节。
2.3、方向控制
摇晃手腕控制龙前进的方向,而这条龙是第三人称的,而你所在的视角是静止或者匀速的,以此来保证不晕,特别适合运动类游戏(如果这条龙是你第一人称来玩一定晕倒你吐血)。 但是沉浸感不够,龙会舞出你的视线,必须转头调整视角跟上。
你手腕舞动着controller,模拟舞龙艺人舞龙的体验。
放风筝和舞龙同理,都是上下晃动比较厉害的『镜头抖动』,所以也采用了第三人称。
你手腕舞动着controller,模拟放风筝的人放风筝的体验。
2.4、倾斜(tilt)
微微摆动『迷宫』,让弹球在里面滚出来。
倾倒平底锅
另外,吃苹果和喝水则是一种特殊的倾倒,将虚拟物体朝你的方向倾倒。
吃苹果
喝药水
3.离散motion
离散motion主要用到的传感器是加速度计用来感知加速度。
(你手甩出去一瞬间,视觉上得到反馈,所以感觉非常爽。)
如果类比平面交互的话, 这个操作有点像iOS上的快速滑动(flickr),有一种丢弃的感觉 。比如iOS中的滑动就会根据你手指滑动速度的快慢来决定页面滚动的快慢。
3.1、击打
你挥动controller,越用力则在VR中反馈到的视觉冲击力和听觉上的力度越强。
锤子锤虚拟物体
用球拍打球,你手腕甩出去。用球拍打球,你手腕甩出去。
它和后面的一个木琴(xylophone)游戏异曲同工:
这种demo设计的巧妙之处在于――左右旋转是用『连续motion』选择音调。
而上下的敲击是用『离散motion』发出声音,挥手时的加速度越快,声音的颗粒感越强。
还有一种比较好玩的玩法是握着『音锤』上下抖动手腕,连续敲击产生轮音效果,或者连续滑过多个琴板产生『琶音』的效果……(不小心暴露了我是音乐人的身份(�_�)#)
下面四张是敲击全过程:
竖琴发出音乐的动画竖琴发出音乐的动画
切菜也是一种离散motion,尤其是甩着手腕,『剁』下去的那个动作。
3.2、投掷
离散甩动主要 使用加速度计测你『甩出去』瞬间的加速度 ,从而模拟虚拟物体也被这样甩出去,你甩动的速度越快,虚拟物体飞出去的越快、越远(视觉反馈)。
比如你甩动魔法花瓣
回旋镖(boomerang)回旋镖(boomerang)
瞄准……
扔出回旋镖扔出回旋镖
(这里很神奇的一点是,我必须用手腕调整飞镖迎风的方向,用飞镖的刃对着空气,调整好位置再用『离散motion』扔出去)
(飞镖飞过去打靶)
讲个用户体验的细节:我以前去澳大利亚旅游的时候丢过回旋镖,当我的手扔出去后回旋镖就飞走了,飞不回来。而且我明明想飞向某个物体,结果却偏差非常大。(不符合用户预期)。
而这里Google对飞镖的『再设计』,让回旋镖飞出去,砸到我想击中的目标,然后在空中根据它设计好的飞行轨迹盘旋之后,再飞回来,飞回我『手』里――
这个过程以及它在空中飞行的轨迹, 符合了我的心理预期,于是和我的交互间建立了联系 。所以在我往后的交互中,我便越来越熟练,甚至在扔出去的时候就知道它会在空中击中那里并回到我手里。
(下图左上为飞回来的回旋镖)
甩动手上的平底锅,将面饼抛到空中。
甩动鱼竿,将诱饵抛到远处。
5.touchpad以及手感
最上面那个大圆形平台是touchpad,没事的时候可以把大拇指放上去滑动,当你握着的时候只可能用大拇指摸到它,所以还是大拇指单指操作,用来滑动某些view。(当然这种滑动可以是连续滑动pan、离散滑动swipe)
所以它会记录你大拇指指头和touch pad接触的接触点的位置。
因此,它可以作为第三人称游戏的2D平面方向控制(有点像手柄上的d-pad),touchpad上的上下左右则代表了在这个2D平面中的前进方向。
不过,最重要的是!它不是tap而是click!!(就像你手指放在鼠标上点击,是不需要抬手指的,反之,触屏手机的tap操作就需要抬手指。)
下面我们来讲下它的最主要操作 click ――手感和mac的touchpad类似,你把它按下去再抬起来即完成一次click事件,而且不需要抬手指。和触屏手机的tap不同~
点完抬起手指时我感到了一些微微的力反馈――据说在touchpad下面放了个触觉点击开关(tactile cilckable switch)。
在现实中这个操作对应VR中的点击虚拟按钮(click button),而且这些是比较主要的操作,比如射击、选择……
click touchpad触发魔法花瓣click touchpad触发魔法花瓣
手指放在touchpad上。
hold on在 touchpad之上后……
点击touchpad发射魔杖上的火焰弹点击touchpad发射魔杖上的火焰弹。
(注意中间的虚线,正是激光镭射示意发射的轨迹将沿着这条线。)
当然touchpad还可以结合hold on来移动物体。
用raycast指着地上的一个物体。
按下click把它吸到你的魔杖上。
保持hold on并移动它。
松开touchpad,物体掉落在地上。
另外还有一种是实时策略游戏,这种交互会更传统一些(因为第三人称上帝视角的原因)。
用raycast选择一条恐龙
点击一个位置让它走过去。点击一个位置让它走过去。
还可以像鼠标一样的drag,同时选中多条小龙。
再点击一个位置,小龙们会跟着走到标记地点。
还有一种是一直drag,然后cursor一直移动,小龙则也会一直跟着那个方向走来。
因为我比较反感这种上帝视角的传统交互,这里就不多讲了……
6、APP button
这个主要是按照APP设定的操作来,从设计优先的角度来看是比上面的那个按钮次一级的,比如用来回到游戏中的操作菜单、暂停或者选择工具,射击类游戏中为了减少交互路径直接设计成click一下就切换武器的。
APP button最常见的就是唤出游戏内置的道具菜单。
然后再用激光镭射做选择。
7、点击home button回到daydream的主页
home button则是返回主页,也就是Android VR的home 页。
8、长按home button 回到默认视角
很多时候,因为用户转头不方便,可以长按home button 1秒钟后触发重新回到中点(Recenter),你头上戴的viewer回到默认的初始视角,而你手中握着的controller回到垂直时的状态。
viewer的回正,方便用户重新转动头部调整视角;而controller的回正,则是方便用户自行纠正controller的漂移问题(将它初始化)。
图中的箭头不是方向,而是正y轴的指向,可以看出,回正后viewer和controller处于同一坐标系上(重合了)。
而且这里有个亮点,我在实时交互(real-time interaction)的时候长按home button触发recenter,结果是――画面先暂停然后再像切换镜头一样切换到了正中央的视角neutral pose(这个过程叫做recentering,而完成后则是recentered。),这时我得按一下app button才能继续游戏。(这里虽然打断了我的操作,却没给我造成太大的损失)。
9、关于几个问题的解答
(1)仍然是基于手机的VR吗?
答: 是插手机的盒子,但是是深度定制的。
(2)请问下daydream平台了降低延迟是否弃用了虚拟机呢?daydream平台是否开源给第三方平台?
答: 首先daydream是和各大手机厂合作的,为特定手机订制的盒子,类似于Gear VR,只是gear VR是Samsung note或者edge配 Oculus gear VR,而daydream是多对多,比如华为手机搭载华为的daydream,小米手机搭载小米的daydream手机盒子……
(当然这一切都是向GearVR学的,只有手机的开发厂商为他们的手机定制VR盒子,才能获得更好的体验。)
(3)这个controller与6P是通过什么方式连接, 应该是无限的, 是蓝牙还是WiFi,还是其他?
答: 是用蓝牙连的。
附送一些daydream给大家当壁纸吧: