Unite 2018大会于5月11-13日在上海国际会议中心召开,在VR/AR技术专场,来自Unity Labs的Principal Designer (首席设计师)Timoni West,分享有关Editor VR设计经验总结。 我是Timoni West,我在Unity实验室部分负责。我们有一个项目,叫做EditorVR。我们在这个项目里面要使用这样的编辑工具,在座的有多少人用过EditorVR?请举手,有一些人是用过的,所以在开始之前我想问一下你们多少人熟知VR,有多少人试过VR? 所以这里想问一下有没有人用过谷歌Daydream和三星的?有没有人用过?最后一个问题,现在多少人在开发VR的内容?很好,大家有不少人是做这个的。 在我的演讲当中,我假定你们已经了解了行业里面的知识,今天最基本的原理就不讲了。我们都知道我们有一些头戴式耳机EditorVR在移动网上是无法实现的,我们现在的问题就是采用了头戴式耳机不能使用Unity。 如果在座的有不了解EditorVR的,我会对EditorVR做一个介绍。它是一个开源的包,你可以添加到你的项目当中,它是可拓展的,你可以增加功能。EditorVR是一种工具,对于EditorVR是以编辑模式在运行,可以进行改变,你做出的修改可以进行保存。 我们没有移动版,对于Daydream来说,我们的操作感比较难,现在EditorVR是5.6版,大概在八个月以前发布了定制版,很快就可以正式发布。我们可以看到EditorVR12月份发布过,但是到现在又进行了更新。 我们有主菜单,在EditorVR屏幕有一点像这样,对我们已经建立的功能需要进行改变,不断地改进。举个例子来说,数字的输入不太好用,所以我们会用新的系统来替代它。但是我们有其他的功能是非常棒的,过一会儿我会进行介绍。 现在大家已经了解到基本的情况,接下来我介绍一下我们这个项目里面主要的功能。 第一点,我们要在Unity里面在编辑的模式下创建一个应用,我们要在整个工程团队编辑之外做很多工作。 第二点,我们要设计一个强有力的创作工具,这对于VR来说是很难的。像OW的产品就是这样我们要从复杂的动作里面创建东西出来,难度是比较大的。最后我会谈一下UI和UX的痛点。 我们如果要创建一个VR的创作工具,EditorVR是在实时运行的,但是Unity本身并不是进行实时地运行。我们要确保它的渲染场景是实时的。 我们处在这样的场景之后,我们要有两种,就像我们在现实生活当中一样。你在VR指向一个远方的对象,你就使用了一个指示器。所以在Unity可以用GPU,在VR里面我们无法依赖于GPU。 我们要确保我们可以使用EditorVR对我们的场景进行移动,这里可以通过手势放大或缩小,这样我们可以把一些大的东西、小的东西进行缩放。 它已经变成是VR里面创建的标准程序,我们对场景转变的层次无法进行改变,我们要改变查看器。在EditorVR里面就解决了无法进行缩放的问题。 另外,我们还有一个功能叫Mini world,就是你所在场景的微缩版,不需要把整个图象都进行缩放就可以进行局部的缩放,这样可以进行局部的渲染。 全部进行渲染的话处理量非常大,我们要对同样的场景进行渲染。可以看到我们的控制器就像非常大的手一样在那里移动。 我们的play mode和一般的Unity、VR不一样,它是在电脑上。如果我们进入到play moed可以看到我们的屏幕,也可以看到控制器上的某一个按纽都要用到。控制器无法实现退出的模式,必须要使用键盘才能退出场景,还没有发现好的方式来实现这个功能,这个问题成就在处理。 下一部分来看一下强大的工具是什么意思。在很多的软件里面必须都能够用,很多时候有一些工具都有局限性,但作为创作工具我们要能够实现无所不能。有两个特别有名的创作工具,他们对照明有限时,有黑暗的UI和明亮的UI,我们的UI在所有的环境中都能够使用。 这对很多由于,比如说对playdream有两个控制台,可能是两个控制台上玩的不同游戏。对于EditorVR来说,我们要确保用户都有这两个功能,可以用EditorVR,而不需要进行切换。我们要确保在两个控制器上都可以使用,同时无缝实现。 如果我们要选择各种不同的尺寸物件,都要在EditorVR里面实现,什么都可以进行选定。对用户能够选定的范围可以用Word scale来缩放房间,可以得到恰当的尺寸,否则就很难对大型物件移动非常小的距离。 这个强有力的工具对开发者不会造成任何的限制。下面再看一下我们另外的一个挑战,我们有9000多个Queues,因为我们必须要承载不同物体的层级,此外必须对你所看到的东西进行重新的排列,比如说你所看到的到底是处于哪个位置。 我们所处理的是3D的世界,我们想让它看起来像在2D一样,它的大小是一样的。 我刚刚所谈到的就是它必须在3D世界里面是有意义的,在2D的世界里面它的大小是不变的,不管在现实世界里面是多大,这点在VR里面是非常糟糕,这样很难让你看到三角计算之间的距离。许多游戏开发者认为你可以去限制用户,并且能够避免一些奇怪的角度。在VR里面并不是这样的,你所做的就是你能够进入你的状态,要确保一切都是一致的。 我们现在的键盘输入还没有做到体验,因为我们目前没有做到现场的键盘输入,但是我们可以假设虚拟的键盘可以用来做输入。这里谈到的是新的体验,所以我们看一下UI和UX上的痛点。这里是开发中的关键障碍,这些痛点是接下来要开展的。 首先在EditorVR里面有一个叫做工具的东西,工具是你不同的使用创作模式,可能你在做动画、绘制因为VR是受到限制的,所以你必须能够切换不同的模式,比较使用尽可能多的按纽。你可能只是用了其中的一些按纽,但是对于另外一些工具需要用到更多的按纽,这里举一些例子来看一下关于NVRMND这样的工具或者是创作的模式。 大家可以看到我们进入这样的模式当中,他们有自己的UI,可以让人们有非常不同的UI界面,同时也向我们展示了大的问题,在我们切换工具的时候是有问题的,因为在我们普通的Unity,或者是其他的开发当中,如果你去切换模式的话,外面的一切改变,菜单也改变了,你知道你进入了新的界面,在VR当中你可能加入了一些东西,改变了一些东西,但整体而言看起来还是一样的,所以改变是非常微妙的。 我们要做的就是如何识别你的工具已经改变了,开发者可以使用任何的工具,比如说是否使用定制化。在这里总共有5个按纽,你可以进行触碰或者点击,很多人并不是非常了解这一点。如果这里有三个按纽,用它来做你的键盘上的操作是很难做到的,因此我们非常依赖UI的作用,这对我们是很大的挑战。在标准的键盘里面,很多不是开放的,往往是要进行复制和粘贴。 VR没有这些标准,很有可能也不会有专门的按纽标准。所以我们必须要去看,让特定的按纽绘制。用运动的按纽来处于绘制的模式,就当成是你在使用另外的一个工具。 简而言之,这些是很难进行操作的。在我们用工具情况下面很难做到。我们会看到有更多的定制化的工具出现。 还有一点我想谈的就是关于手势,因为我们没有很多的按纽,大家可能认为用手势是很好的办法,刚开始的时候会用到很多手势,的确会有手势,比如说你把一个东西从你的肩膀上扔出去,这个代表删除。但是这个手势有一些问题,你需要不断地提醒人们才知道有这件事情,否则就忘了使用这个手势,另外除非你有很大的UI才能提醒人们使用这个手势,花这么大力气还不如就给他做一个按纽让他使用。 第二点,手势是非常依靠CPU的,很难让用户在3D的状态下去进行操作。如果你用许多的手势,你可能要让你的用户与电脑用信息语言进行交互,可能会更麻烦,并且用更大的内存才能做到。 还有一点看上去也是比较好的点,让UI层叠,用这样的动作,就像你在移动的时候它就能跟着你移动,但事实上这个挺糟糕的,在电影当中可能有人在使用,但是在现实生活当中并不会出现这样的东西,你可能会感觉眼睛里面有东西,或者有头发挡住了你的眼睛,你感觉不是很舒服,总想摇摇头,把这个东西移除。 如果仅仅只是使用UI,你在使用运动的时候能够跟着你用,但并不会从你的头上掉下来,这样可能更好。比如说有一个物体在这里,我离它远一点的时候它就开始追随我差不多有一个胳膊的距离,这样子跟我保持了一定的距离,但是不会挡住我。 还有一点,就是在他们眼周围人们能看到多少东西,我们有这样的一些视频操作给大家来体验。比如我们选择这棵树,如果你手上有这个东西,选择这个物体,它可能足够近,你可以读出来它是什么,还可以看到这样的物体,现实中却不是这样,如果有什么事情发生的太快了,你根本看不到这个过程。所以在这里面看的就是一个东西神奇地消失了,你根本不知道发生了什么事情,因为发生的太快了。为了避免这一点,我们使用动画把物体进行展示,看看动作的消失是怎么进行的。 你还需要有下载屏幕能够显示进程,这样就是一切正常的。但是在UI里面并不是这样的,有些东西马上发现的话你想要往后退,但你可能觉得太突然了。用户想要得到更多的东西,在VR里面所看到的屏幕是更宽的,你想让什么人做什么东西可以用灯光、声音、箭头去进行指示。而在现实当中用户需要花很长的时间才知道他到底要做什么,在UI界面要给他相应的指示才行。 我们要去看什么情况下会发生,目前正在发生什么,将会发生什么。每一次都要让用户知道这样的信息,除非你想让你的用户完全不知道怎么回事儿,否则你要给他们这几点指示。 我建议你可以尽可能多地去显示control,大家可能在VR当中想要使用真实的手,但事实你并不是使用你的真实手的,你是使用control或者是键,并不是使用你真正的手指。你要尽可能多地向用户展示你这个control上的真实按纽是什么。 如果你有任何类型的control可以去做,只要你所触发的按纽是在真实的情况进行触摸的就可以。所以位置很重要,你能不能让所有人都记住control上的buttons的位置。人们要花很长时间才能适应这一点,特别是你自己不了解游戏的话,更要花很长的时间。 再来看物体交互,我们所了解的一点就是最终的目的、自由并不是非常地理想,因为我们现在这个世界当中,我们有自己的物理系统,我们有物理上的限制。有时候我想把这个东西放在这里,想让它待在这儿,不想让它倒下来,希望它自己在这个位置站起来或者是坐下。有时候倒也希望它会稍微有所不同,但希望它前后的表现是一致的,因此我们就去限制一些旋转,这样你就能够保证你的物体是平的,有的时候你会选择在远处的物体,举个例子来看。 这里有这样的物体,我们可以选择它不同的模式,如果你能够用这样的方式选择模式的话,操作是不一样的。非常有趣的是它这里不是在旋转,我们把它放在这里,它进行了一定的旋转,到了一定的阶段会再回来,这就是你在选择远处物理的情况,虽然感觉不错,但跟近处的物体是不一样的。 再来看这一点,这一点也是非常明显的。我们把箱子堆起来,看上去就是一个简单的堆箱子。但是,我们把这些箱子堆起来,在场景里面我们要使用空间系统。我们通常讲到用户和物件进行互动,有的时候希望和被遮挡的物件进行互动。 如果对象离你很近你很容易把它选取或者是抓住,如果是离你比较远,你希望通过使用动画的方式才能抓取。我们的移动可以快,也可以慢。是要经过很好的调整。 音效也需要进行预测,如果声音要起到正确的效果要能够比较快。我们的声音不应该是事件触发的,它是整个事件的一部分。如果我们电击两下的话,应该能够很快地听到声音。 在很大的对象里面,比方说会议厅,我们在会议厅当中就不能选中其他的东西,这对我们来说是大的挑战。还有控制器的噪音,有的时候用户动作太多了会产生噪音。 接下来谈一下怎么样开始使用EditorVR。首先我们要在Unity上进行运行,所以我们建议分辨度是1080,这里面是我们的网站,可以下载EditorVR的工具包。把package放在项目里面就可以用了,鼓励大家用更多的对象来进行实验。 前面谈到工具,想给大家展示一下Unity已经做的工具,如果需要工具的话可以根据Unity的指南来进行操作。因为EditorVR是开源的,我们可以在gethap(音)上下载我们的工具,我们会把EVR的排名和位置往上提,这样让大家清楚地看到。视频我就不放了。谢谢大家! 视频放不起来,我们有动画的工具还有雕塑的工具等在展示,如果有兴趣大家可以看一看,谢谢大家! |
九四玩·北京开源纵横网络科技有限公司 京ICP备15000695号 京公网安备11011202100741京网文(2018)9972-889号 增值电信业务经营许可证:京B2-20190580
旗下产品:手游平台系统、页游平台系统、H5游戏平台系统、游戏平台三合一版。九四玩致力于游戏平台系统开发、游戏代理、游戏运营指导等服务。
合作&投诉电话:010-85898922、4008699305