VRDC笔记——VR交互原型制作的50条最佳实践
2017-09-02 本文已影响345人
XR技术研习社
谷歌工程师Rob Jagnow在VRDC(虚拟现实开发者大会)上分享了他们在实际工作中总结的VR原型快速制作最佳实践,分12个方面共计50条经验。本文经视频内容整理而成,由于讲者时间有限(32分钟),有些原则只是一句带过,斜体部分为笔者评论,文中若有翻译纰漏,请指正。原视频地址(需科学上网):Lessons Learned from VR Prototyping
文末附优酷链接。
Audio
- 好声音是沉浸式的关键(Great audio is critical to immersion)。
- 空间音频不仅仅是动态音量的改变(spatial audio is more than just dynamic volume)。VR中的音频不只是近处音量大,远处声音小,更主要的是在相同的音量下,你能知道声音在什么位置,即让体验者通过声音知道什么在他前面,什么在他身后。幸运的是谷歌有这样的解决方案,可以在Unity使用。(嗯,课后去找找)
Process
- 迭代。你的第一个创意不一定是最好的创意(Iterate . Your first idea probably won't be your best)。其实在Tile Brush之前,谷歌内部同时有5-9个比较好玩的创意,Rob Jagnow称Tile Brush是“happy accident”。(类似意外怀孕的心情,i guess)
- 尽可能多做测试(Test in VR ASAP)。不要纸上谈兵,尽早放到unity里进行测试,越早犯错越好。
- 受众(Scope)。确定你的应用面向的人群是哪些。
- 并不是所有的体验在VR里都很好(Not every experience will be better in VR)。
- 不要被现实约束(Don't be constrainted by reality)。Think Bigger,有人喜欢宠物,那你就做个关于宠物的VR?别这样伙计,做个霸王龙怎么样?
- 针对VR的特性设计交互(Design from the ground up specifically for VR)。稍后会展开。
Motion
- 当你的眼睛与前庭系统达不到一致,你会感到不舒服(When your eyes and vestibular system disagree,you get sick)。当体验VR过山车游戏的时候,多数情况下你会感觉到不适,你的眼睛知道哪里加速、减速、坠落,但是你的前庭系统并没有相应的感受到加速、简书、坠落,于是就引起不适,这跟晕车晕船一样的道理。
-
使用匀速运动或瞬移来最小化这些问题带来的影响(Minimize problems with constant velocity or "Blink Teleport")。这个就不用多说了,我们在VR开发的时候瞬移已经是标配了,只是有些人不知道为什么要用瞬移。
现实中的移动曲线
瞬移的移动曲线 - 充分发挥创意在瞬移预览和其它移动类型上(Be creative with teleportation preview and other types of motion) 总之是为了避免晕动症,VRTK中有Dash Teleport,即以极快的速度移动到指定位置,同时闪屏;带指针的预览,即在选择瞬移位置的时候,会有箭头出现在瞬移位置,体验者通过手柄倾斜控制箭头方向,实现瞬移后,箭头决定体验者的身体朝向。
- 移动时缩小视野范围(Narrow the FOV While Moving):在Google Earth VR中已经应用了这条原则,当用户拖拽地图是,视野周围被黑暗包围,实际体验中,用户并不反感这种设计并很快习惯。
- 瞬移到一个心理上能接受的安全区域(Teleport to a psychologically safe space)。比如在一个房间里,瞬移时应避免头部穿墙。在VRTK中有关于防穿墙的交互设计,通过黑一下屏幕来让体验者感到不那么奇怪。
Interaction
- 用户喜欢创造的体验(Players love experience that allow for creativity)。Tilt brush就是关于创造的体验,你需要做的是让体验者有一个愉快且易用的创造体验。
- 能扔一些东西(Let them throw it)。人有野性,有做坏事的冲动,给他们一个这样随心所欲的环境,能发泄一下情绪也是不错的。还记得Job Simulate吗?
- 使用手势(Think about gestures)。这里不只是借助什么Leapmotion来实现手势识别,更确切的说是姿态,比如手柄伸向脑后可以认为是一个拔剑的动作,两个手柄放到左下腹可以认为是冲击波的准备动作。
- 让稀松的行为有结构化的结果(Let sloppy actions have structured result)
- 让你的用户具有超能力(Give your players superpowers)。像魔术师一样变化出各种东西,轻松举起一块巨石,这也是VR的魅力所在——有生之年实现做梦都想拥有的能力。
Controllers
- 使用吸附约束移动(Use snapping to constrain motion)VR是在3D环境中的交互,故三个轴向都会有运动,就像PS或3DS Max这样的软件,用户不一定必须精确控制物体达到某个位置或旋转角度,当接近目标点时,可以使用吸附来让体验更好。
- 保持交互发生在对用户比较舒适的区域(Keep interactions in a comfortable space)。用户不希望伸直手臂去抓取物体,而是希望伸伸手就能够到它。将需要交互的物体放在触手可及的地方。
- 控制行为不一定100%模拟现实(Controls don’t have to be mapped 1:1)。像VIVE或Oculus这样的体验空间有限,移动端VR更是没有空间映射,对于一些大场景,我们不一定非要让控制行为完全符合现实,激光指针就是一个很好的例子,我们可以通过它来拾取人所不及的地方。
- 使用振动(Use haptics)。反馈是增加真实性的关键,在触觉反馈还没有实现的现在,振动反馈是给体验者比较好的反馈形式。比较经典的是The Lab里的射箭模块,拉弓的动作会激发振动反馈,给人一种真实的体验。
Environments
- 我们喜欢大空间(We love huge spaces)。
- 将你的世界划分成更小的空间,以适合典型的物理空间(Divide your world into smaller spaces that fit into a typical physical space)。
- 放置物体在某种程度上是保持用户在物理空间中(Place objects in a way that keeps players in the physical space)。举了高尔夫的例子。
- 为所有物体做好贴图,哪怕只是给它们一些微小的噪点纹理(Texture everything, even if it’s just a subtle noise texture)。hello PBR。
- 在虚拟世界中标识出现实世界的边界(Show the physical bounds in the virtual world)。这个在实际体验中已经有很多经历了,有的人将手柄狠狠甩向了机箱,有的人把手柄戳到了屏幕上,有的人把头撞向了墙。
- 每个人都喜欢粒子系统(Everyone loves particles!)。想想星球大战的激光剑吧,光这个武器就能在VR里耍上半天。其它,下雨的场景、火焰的喷射、爆炸的效果,都能让体验者沉浸其中流连忘返。
Scale
- 精确的缩放比例(Accurate scale matters)。
- 范围的缩放能够传达强大或脆弱的情绪(Scale can convey power or vulnerability)。也很好理解了,类似蚁人,当他变小的时候,玩具火车也成了难以逾越的障碍,当他变大的时候,房间就成了玩具模型。讲者提到在VIVE场景中的例子,一个场景将CameraRig高度改变,人们能察觉出自己身高的变化。
- 将缩放作为工具使用(Use scale as a tool)。
- 当你改变缩放的时候,不要忘了缩放物理效果和声音( When you change scale, don’t forget to scale physics and audio)。讲者的建议是,巨人和矮人对于重力的感觉是不一样的。声音同理。
Copresence
- 体验者在触碰物体的时候总是预期它会有所反应(Players expect something to happen when they touch)。
- 不要鼓励不期望发生的行为(Don’t reward bad behavior)。讲者演示了一个demo,面对面打扑克,当体验者离开牌桌的时候(这是不期望发生的行为,因为你有可能绕到对面看对方的牌),场景变灰,灯光暗淡,音乐减弱。
- 鼓励友好的社交交互(Do reward prosocial interactions)。当你与联机的好友say hello,击掌,碰拳,这时给这些动作一个例子特效,让两者的动作更加酷炫,用户会更加倾向于做这些行为。
- 巩固社交的底线(Enforce social boundaries)。还是人性,当VR社交中的用户有骚扰行为的时候,阻止他们进一步做坏事,比如当一个用户太接近另一个用户的时候(尤其是女性),让对方的形象消失。
- 语音聊天会增强沉浸体验(Voice chat multiplies immersion)。
- 将共享对象放在场景中央(Put shared objects at the center of the space)。涉及到协作的VR应用,比如乐队,人们总是关注于自己手头上的东西,如果将所有乐器放在一起,人们会更好地进行协作。
- 考虑非对称体验(Think about asymmetric experiences)。不同的VR设备有其特性,也有其限制,所以当联机时,要考虑到这些,比如VIVE有两个手柄,Daydream只有一个,所以有些双手持握的物体,在Daydream中就会遇到挑战。
Avatars
- 防止全化身出现在第一人称视角中(Avoid full-body avatars in a first person view)。当前设备的限制,除非借助额外的传感器,比如VIVE Tracker,很难实现精确的全身动作跟踪,所以当人们在VR中低头看自己脚的时候,并不会精确反映当前脚的位置及朝向,会有一种很怪的感觉。当然第三人称看过去会很棒,比如在VR社交中看到好友的化身。
- 眼睛是心灵的窗户(Eyes are the window to the soul)。为化身加上眼睛。
- 当你拾取一个物体的时候,它可以变为你的控制器(When you pick up an item, that item can become your controller)。VR枪战、VR射箭游戏里这些实例已经很典型了。
- 注意恐怖谷(Beware of the uncanny valley)。指的是人机交互中的恐怖谷理论。
UI
- 防止需要你抬头的UI(Avoid UI that requires you to turn your head)。即防止UI太多或太大,需要转头或抬头才能看到,这样会使用户太累。
- 不要太近,不要太远(Not too close, not too far)。这个在谷歌提供的VR交互原则中已经提过,太远看不清,太近不舒服,一般出现在离体验者1.5-3米为比较舒适区域。
- 字大一点(Keep the text big)。
Smartphone VR
- 设计良好的肘关节模型可以让交互更加自然(A well-designed elbow model can make interactions feel natural)。
- 性能优化(Performance matters)。不止于移动端VR,移动端的任何内容都需要优化。
Final takeaways
- 借鉴别人的成功和失败经验(Check out what others are doing)。
- 我们是先驱
炮灰,打开脑洞想吧!(You’re a pioneer. Think big!)。