移动VR的尴尬路程 手机VR是真虚幻引擎还是假虚幻引擎

下一代移动智能终端还有多远 行云时空AR眼镜年底将量产?
文章作者:典言 发布时间:日 09:55
【本文系着迷网独家稿件,未经授权,禁止以任何形式转载,否则将追究法律责任】
着迷VR消息,AR智能眼镜公司行云时空科技在上海举行产品发布会,正式发布旗下新品“ 简观 AR” 眼镜。据悉,简观 AR 眼镜重量只有 60 克,搭载了高通骁龙 820 处理器和 MEMS 传感器,基于安卓系统深度定制,并采用了自主研发的光学显示技术。
行云时空表示,这款 AR 眼镜是基于公司在 CES 展前发布的“ 之点 AR 眼镜” 的升级改良版本,在设计、图形算法以及续航上都有很大的改进,而功耗更是比上代产品降低了许多。不过,由于暂时还不支持 SLAM 技术,简观 AR 眼镜暂时不具备手势识别功能,作为替代他们做了一款“ 实时校正指环”,可以通过触控实现一些简单的交互功能。
大部分 AR 眼镜的通病是,都会将计算模块和电池集成在镜腿里,这使得眼镜会变得很重,同时还会出现发热以及续航不足的问题。行云时空表示,他们接下来打算做一个无线盒子,把电池与计算模块都集中到里面,还能提升续航时间以及计算性能。另外他们表示,也可能会将 SLAM 技术内嵌到这个盒子当中。
行云时空的 CEO 王洪亮在发布会上一直强调他们要做国内第一个实现 AR 眼镜落地和量产的公司。他们的主板、显示模块、芯片都是自主研发设计,并且采用了一套自主设计的光学透镜,所以能很快地落实配装生产,另外他们已经与国内的 OEM 厂商建立了战略合作关系,确保了一条成熟的生产线,保证了面向 C 端市场的量产基础。
这是简观作为行云时空旗下面向消费级市场的独立子品牌,在国内的首次亮相。以下为CEO王洪亮演讲实录:
行云时空的技术路线和过往做了什么?
大家好,我是王洪亮,感谢大家来简观的发布会。在坐的有些人是老朋友,从公司创立开始就已经一路看着我们走过来的,应该对我们的技术还是比较认可的,但我相信在坐的很多人,大部分都是第一次见面,肯定会有所困惑,简观是谁?
在开始谈论简观之前,有必要说一下行云时空的故事。行云时空的故事基本分为三个阶段。
第一个阶段 (行云时空的起点和技术路线)
行云时空这家公司成立于2014年3月,但早在公司成立之前,我和行云时空的首席科学家,也是我的大学同学王鹏杰博士,关注这块领域已经有一段时间了。王鹏杰博士算是国内较早开始研究VR、AR技术的人,圈内知名度还是有一些的,后面他会跟大家分享一些他研究的心得。我们最早的心思是扑在人机交互的算法和操作系统上的,王鹏杰负责人机交互算法的攻关,我负责操作系统的研究。
为什么会选择这两块作为刚开始的重心呢?有一个原因很简单,这两块都是我和王鹏杰的此前一直较为深入的领域。王鹏杰研究
我本人呢,确实是一直对操作系统有非常深的执念,无论是刚开始的浪潮,还是到后来的百度,我基本上没有脱离对这块的思考。
如果从线性思维的方式出发,即看一个概念到产品最终再到普及化的路线图,我们看到虚拟现实的故事本身,并没有那么酷炫。这里要说一下,最近几年比较科技公司演讲比较流行放乔布斯的图片,但其实对一个还尚未到成熟的产业来说,选择相信马克思比乔布斯更有意义。
马克思的话高中政治课本都学过,我们可以看到量变到质变,一个事物可能从刚开始走的时候,要经过很多积累,然后会达到质变,质变后再次进入量变期,然后再质变。
人机交互技术的算法和操作系统处于什么位置呢,从软件层面来看,人机交互的算法将是决定虚拟现实技术能否实现向工具化转变的关键节点,因为你让大家戴个东西,你得让他和周围互动啊,不互动的话,虚拟现实技术只能很快回到家庭娱乐体系或者其他泛娱乐体系中,从虚拟现实技术可以实现的愿景来说,这是极大的贬值。那操作系统呢,我们看到现在大家都开始谈VR或者AR是下一个计算平台的概念,但是中间确跳过了一个概念,那就是操作系统,我们所说的操作系统和目前PC转到手机再转到平板的还不一样,PC、手机还是平板的操作系统,很大程度上都是二维空间的物理形态,但虚拟现实的操作系统不一样,它的出发点是要基于三维的思考。如果跳过虚拟现实技术所需要特定的匹配操作系统来看虚拟现实技术所谓下一代计算平台的概念,那真的是对整个计算机产业发展的侮辱。
总结来说,人机交互算法的突破将会将虚拟现实技术的产品从实验室拉到工具层面,而操作系统将会将虚拟现实技术的产品提升到计算平台层面或者更直白的说,是普世化的层面,也就是人手一台。
好,通过这张PPT,可以看到不管我和我的同学王鹏杰做得如何,好像看起来还是很可以吧,因为我们好像抓住了一个事物发展关键的节点,而且是系统性地抓住短期和长期。但商业世界从来不是一个好的点子就能走下去的。
第二个阶段(技术匹配硬件,弃头盔,弃谷歌形态,坚持眼镜路线)
这个就到了第二阶段了。我们大概花了半年的时间验证了我们算法的可能性以及操作系统搭建的可能性,这半年我们几乎是各自在老婆的唠叨声中度过的,这里必须要感谢一下老婆,大家记住每一个从事计算机事业的人背后一定有一个伟大的老婆,因为真的完全是两个世界两套语言体系的人在生。
在算法的可能性得到验证后,我们带着方案完成了天使轮的融资,这时候我们开始兴奋地去找硬件匹配,找了一圈,没找到,为什么呢,因为我们发现国内市面上大多都是封闭式的头盔,说实话,头盔呢我们在内部试过,我们产品总监带着设计团队,曾经做出来一个,但是这个头盔我们怎么做就怎么别扭,很快放弃了,别扭的根源在于我刚刚说的行云时空起步的两个关键点,交互和操作系统,从短期和长期来说,短期内交互确实对头盔有价值,比如大家看到HTC VIVE和OCULUS上面的手柄还有体感,操作系统也是,但是我们两个人此前的经历和我们对虚拟现实技术发展的思考,都会迫使我们反复思考三个问题:
第一,头盔形态是不是将来会人手一台的产品?(从人手一台这个层面来说,头盔形态是否能够承载交互和操作系统的价值,并做到价值最大化?)
第二,存在即合理,如果头盔形态有价值,那它的价值边界在哪里?
第三,能够将交互和操作系统价值最大化的技术形态和物理形态是什么?
对于第一个问题,是不会。因为从人手一台这个层面来说,你没有必要随身携带一个让你随时被蒙着眼的产品。 第二个问题,头盔形态肯定有它的价值,但它的价值,肯定是特定场景的使用为主,也就是头盔可以被归入家庭影音娱乐系统或者某些TO B的场景应用,但是要注意,在TO B的场景应用中,蒙着眼也是比较危险的。第三个,VR引导人类沉浸虚拟现实的方向肯定无法将交互和操作系统最大化,因为VR无法将交互需求和操作系统所谓的计算平台概念提升到普世化工具的层面,与真实性隔离这点,注定了它的未来。
由此与行云时空技术路线匹配的技术形态和物理形态就越来越清晰了,那就是两个,眼镜和AR。这两个叠加到一起,就是结合两者的下一代移动智能终端。这几乎一个天然的组合。眼镜可以让你随身携带,而且不会遮挡视线,而不挡眼睛的设备,是没有办法去说VR的,自然就是AR。而AR的虚实结合,自带互动的特质,对人机交互和操作系统有着天生的需求。最后,眼镜+AR的方案天生就是移动的。
必须要注意的是,我们对眼镜产生明确认知的时候,是在2015年。
移动AR眼镜形态的价值和行云时空在TO B和TO C路线上分水
好了,大家也看到我们今天请过来的时候不是推出了简观AR眼镜嘛,好像故事是不是就到了这个点了,但实际上,要是所有的故事都这么一帆风顺的话,那就好办了。在推出简观前,行云时空内部在放弃头盔路线后,还做出一款按照眼镜思路,搭载了我们人机交互算法中一种的指环的产品。
从外观上,大家可以看到这款产品是不遮挡的,同时也搭载了体感(补充参数),这款产品在使用上,已经初步应用了我们所说的人机交互技术的算法,也帮助我们完成了Pre-A。
应该来说,我们的融资状况和发展状况,跟中国大部分宣布切入这块领域公司还算一致,从创业公司拼生存期这点,我们算是有了稍作喘息的机会,但必须注意的是,在我们做这个产品的时候,整个中国市场就变天了,变得蓬勃异常,头盔好像卖得很火,先不管有没有技术含量,也不管他们到底是干嘛的,反正好像确实有顶着VR名头的创业团队开始挣钱了,也开始拼出货量。说不焦虑是不可能的,毕竟是一家公司嘛,但其实要感谢行云时空的团队,因为一早在团队内部打过招呼了,为了长远的目标,我们放弃了那块市场,。所以,短期内焦虑必须是我们承受的代价,所以大家至少在眼镜形态和AR方向上都没有动摇。
说回我们的这款产品,我们内部还对这款产品做了迭代,做迭代时我们内部其实明确了方向,并且要确保这些要素里面要达到三样:类眼镜形态,轻,简交互、全向体感,不丑,通用、可以量产。
从最初的样子到最后带到美国2016拉斯维加斯CES展上的成品,我们最终达到了类眼镜形态,只是受限于镜片的问题,没有通透,其实那个时候说通透你也很假,因为真的能拿出来用的,太少,而且特别重。所以确实,这款眼镜AR的属性差了一些,但比较值得激励团队的是指环的简交互,以及360度全向体感,并且它还是一个可以利用现有材料进行量产的方案。
在美国CES展的时候,谷歌、索尼的工作人员都来用过,基本上评价都是正面的,然后我们也去MIT做了交流,就是谈我们对于人机交互的认知。回来后,我们团队还是很兴奋,因为我们隐约觉得自己的路线没有错。为什么说隐约呢,因为市场根本还不成熟,甚至是混乱的,在没有完全看清楚之前,你不能随便下结论。这是个边摸索边不断反思自己的过程。
一个憋在实验室里的团队,是永远没有前途的,我们觉得在这个产品形态出来后,我们要去市场上摸索,也就是在今年年初,我的另一位擅长跑市场的大学同学加入了我们,我在此前一直微信烦她,还跑到上海好几次找她谈,最后她加入了我们。她迅速地开始带着团队开始主动做市场调研以及找企业客户进行沟通,几乎是疯狂地跑市场,我们其实希望通过这样的过程,能够给这个产品定义一个未来。
调研出来的结果是,我们发现了TO B市场的需求,与先前很多人的认知并不一致,也就是实际上,每个行业基于每个行业的需求,在虚拟技术的应用上,其实对于从硬件到软件的需求是完全定制化的,比如工业上,可能更倾向于头盔形态,但在教育等行业,更倾向于眼镜形态。也就是,你不能卖一个成品给到TO B的客户,你必须按照它的要求定制。这样一看,好像我们又走到了一条死路,但真的是绝处逢生,我们的这款类眼镜形态,处于VR和AR中间形态的产品,以它轻便移动,且可以实现简交互的特质,成为了敲开B端客户大门的敲门砖。我们过去长达8个月的努力,证明我们是可以提供虚拟现实技术软硬件一体化解决方案,并且我们可以用这一块来赚钱。
而在TO C 市场上,我们发现眼镜形态的移动终端的概念已经隐隐地有了苗头,比如扎克伯格开始说所有头盔地形态都要走到眼镜形态,高通的CTO说虽然他也不知道什么时候能够完全出现,但虚拟现实技术背后一定会出现下一代移动智能终端,其实这两者说的一回事。
在市场溜了一圈,回来我们就下决心开始两条路线并举。TO B 上不断地拓展去和企业客户接触,拿定制化的订单,TO C上继续改进现在方案,走纯粹的AR眼镜。
我知道对于很多投资人来说,或者很多企业家来说,一个创业公司不聚焦,是一件很危险的事,但我觉得在不聚焦和危险中间不存在必然的联系,具备强联系的,实际上是一个创业公司在没有能力的情况下,不聚焦,是一件很危险的事。危险从来都是跟没有能力匹配的。对于行业目前的现状来说,走TO B的路线在产品研发上将会需要一个时间周期,而且我们提供了底层的架构后,也需要和其他提供内容的资源团队进行匹配,所以你有再大的野心,也必须要等待这个研发周期,而资本市场,企业管理架构的成熟也使得这一块有很多种玩法,所以我们在TO B路线上的原则是只要具备足够的抗风险能力,并且确保公司技术路线不产生偏差,在经过一个阶段后,可以给公司赚钱就。而且TO B 我们一定会挑选几个行业深度垂直下去做。
TO C呢,确实是一个截然不同的市场,它需要的野心和魄力以及玩法将是完全不一样的。在TO C上,就是大家看到的简观。
大家可以看到这款简观的外形,是充分考虑了消费者的接受度以及设计一些理念,做出的产品,随后我们的技术团队会跟大家详细介绍这款产品。
有很多数据,已经说明了这个市场的规模,其实说太多数字,大多还是类比智能手机做出的测算,所以这个市场有多大,各位投资人心里也会有数。
虽然数字在那里,但是我们也阅读了很多非常有经验的分析师的报告,报告普遍都有一个有意思的点,就是AR眼镜这一块消费级市场的爆发到底需要多长时间?
对于这个问题的回答,其实决定了行云时空的发展,也决定了对一个问题的认知,我们这个时候推出简观AR是不是太早。对于这个问题,我的回答是,一,我们有自信,在消费者体验上,这是一款已经领先于市场,并且存在实用性体验的产品,第二,不管早不早,这必须是要走的一步。
为什么说这是必须要走的一步呢,我接下来想要说的内容,其中有一些是我个人的思考,欢迎大家多交流指正。从技术上,简观AR的时间点,已经处在了下一代移动终端概念全面爆发的前夜,从AR技术发展的角度来看,AR技术上,经过一个大型辅助设备,到大型机器+手机,再到智能手机手机与服务器协作,最后的到一个眼镜形态的过程,至于眼镜形态后面的过程是什么,可能是裸眼3D,也有可能是其他,这个还要再看。但是我们可以看看每一块发展的时间点,可以清晰地看到之间间隔的时间,实际上已经越来越短。而且实际上手机一直没有办法摆脱服务器的原因,也没有普及的原因,当时还在于芯片,传感器,宽带,陀螺仪以及屏幕的视角等(这张PPT很关键)。
从创新的迭代速度来看,TO C的市场实际上是一个充满了颠覆式创新的市场,它和TO B 市场的渐进式创新是完全不一样的,颠覆式创新意味着,在这个市场上招数更加诡异,突破点也会越来越多,如果不主动出击,进入市场,吸取优点,不断进化迭代,很有可能就在下一秒掉队。
从市场的角度来看,中国的市场和欧美以硅谷为代表市场存在本质不同,中国的市场更实际,它的环境不具备硅谷那样对MAGIC LEAP的容忍度,中国市场擅长移植国外技术,进行微创新,然后将微创新叠加到一些旧的功能来吸引消费者,同时在市场竞争策略上,更野蛮。
相信各位关注电子行业,通过手机这块,就可以看到有多惨烈,所以,我们估计,在我们发布会后半年内,一定会出现各色各样的眼镜。这些竞争对手,将会帮助我们进一步普及眼镜的概念,同时也将更加鞭策我们,必须要通过不断地创新性的技术突破,对消费者需求的深度感知,以及强大的品牌效应,来对抗劣币驱逐良币的恶劣效应所产生的影响。
在这个时候,我们就要在相信马克思的基础上,相信乔布斯。
这场发布会的意义就在于此,我们宣布,我们将会重点打造简观AR这一品牌,并在持续推出迭代的可量产的产品,我们可能还没有达到完美,但我们的原则是,不管下一代移动智能终端多久能够实现,简观AR都将会以此为目标,并成为离目标最近的那一个。这将是简观AR在行云时空体系下使命。
我的分享大多是从公司整体战略上的一些思考,至于简观AR为什么会有自信,做到持续迭代,并保持领先,接下来我们的技术团队会给大家分享。谢谢大家,请期待下一小步。
看完这篇文章,你的感受是?
数据统计中,请稍等!
该作者的其他文章:
其他人也在看移动VR的尴尬路程 手机VR是真虚幻还是假虚幻
文章作者:典言 发布时间:日 10:31
【本文系着迷网独家稿件,未经授权,禁止以任何形式转载,否则将追究法律责任】
2016年被称为VR元年,这个夏天,新款手机似乎已不再是最吸引眼球的东西,VR作为下一个主流已经静静飘到了大家身边,越来越多的普通人开始和VR亲密接触。当前移动VR眼镜是国内VR方面最为混乱的市场,Daydream(白日梦)的移动VR(Virtual Reality,即虚拟现实),为移动VR制定标准,并选择和三星、LG、HTC、小米、华为、中兴、华硕等手机厂商合作,着迷VR带你看看移动VR在硬件设备中的尴尬之路。
像这样处于同一境地的移动VR眼镜厂商国内还有很多,除了上榜的,早已名声在外的大厂有资金和技术等资源在手不愁之外,大多数小作坊生存环境让人堪忧。微创新一直是国内中小企业的致富法宝,但在技术、资金、大环境飞速发展的今天,做弄潮儿显然不是小微型移动VR眼镜生存的方式。在VR还没有大面积普及的时候,厂商们要想的是如何异军突起,在同质化的产品中找出属于一条适合自己的高速发展道路。
虚拟现实设备与头戴显示器的区别
那么VR设备又是什么呢?首先我们要了解虚拟现实设备与头戴显示器区别。一般来说,VR设备可分为三类:外接式头戴设备、一体式头戴设备、移动眼镜盒子。外接式头戴设备的用户体验较好,具备独立屏幕,产品结构复杂,技术含量较高。一体式头戴设备产品(包括三星Gear VR与目前国内众多的VR眼睛)。还有结构简单、价格低廉的眼镜盒子(谷歌DIY虚拟眼睛)。而距离我们生活贴近的便是三星与HTC,三星推出了Gear VR(仅支持三星Note4),HTC也在MWC 2015上,与Valve结成了同盟,发布了一款名叫HTC Vive的虚拟现实(VR)设备。
移动VR现状 厂商卡位战
相比之下,移动VR更容易让人接受。从谷歌推出第一款VR眼镜Cardboard盒子鼓励人们尝试开发VR应用,短短两年时间,中国已经掀起了一股VR热潮。实际上,移动VR已然成了手机厂商发布会上的热词,三星、索尼、HTC、华为、小米、乐视、联想、中兴,所有你能够想到的手机厂商都在跟进VR市场。眼镜盒子”这种形式被多家后续厂商模仿,包括华为上个月发布的华为VR也是直接照搬了三星Gear VR的样式。Google Cardboard也是眼镜盒子的形式,还有Dlodlo Glasses V1、暴风魔镜、灵境小白等等全都是眼镜盒子的形式。
利用设备中的陀螺仪来侦测用户头部摆动数据,消费级虚拟现实设备将数据通过图形计算展现在用户面前。然后利用设备中的陀螺仪来侦测用户头部摆动数据,与事先准备好的场景相匹配,达到用户与虚拟场景的融合。用户透过VR眼镜的放大透镜来观看手机屏幕上的内容,屏幕感受约为100英寸。除了眼镜盒子外,还有一部分移动VR走的是独立路线,称为“VR一体机”。“VR一体机”是把显示屏、计算平台和电池装到VR头盔内部,独立运算、显像的VR设备。VR一体机的特点是:小型化、可移动、无线、便携方便;比较有代表性的一体机VR有ARM SolonQ、大朋VR一体机等。
移动VR硬件性能不足 沉浸感差
移动VR尚处于探索阶段,首先从硬件方面,目前的VR眼镜不足之处很容易就暴露出来:过于依赖手机配置。有些基础体验甚至都不能保证,比如屏幕分辨率问题。因此,有些人认为,手机厂商涉足VR更多的在跟风或是噱头。从能力上看,毋庸置疑是PC VR优于移动VR,手机处理器计算能力相比之下较弱,结果就导致移动VR的应用多样化不足、可供想象空间窄,开发者的施展空间受限。更重要的是,移动VR性能不足还导致体验不够流畅,无法像PCVR那样很好的解决眩晕、呕吐等问题。
如果说硬件方面还有不足的话,内容才是普及的保障,在VR眼镜放大手机屏幕的情况下,清晰程度尤为重要,但首先采用全景的资源过少,高清的更是少之又少,普通资源无法达到舒适观感体验。游戏方面展示的意义大于了游戏性,在笔者搜寻的有限资源中,没有任何一个游戏让人特别满意,虽然少有画面不错的游戏,但通常都仅仅为一个场景,没有任何的可玩性。
国内已有90余家VR设备开发公司,风投资本已争相涌入这个产业。业内参与者已认知到内容对VR眼镜产业发展的重要性,游戏不用多说,VR游戏可以给人带来身临其境的感觉,尤其是射击类游戏,这也是最能够换回收益的产品。在移动互联网时代,曾经是企业利润主要来源的硬件已经沦为内容载体,甚至有厂商采取补贴硬件的方式,只靠内容盈利,这种模式在VR设备上实现也绝非不可能。简单的构造加上低廉的售价,最大的好处便是让普通用户可以接触到VR概念,虚拟现实的未来才是无可限量。
看完这篇文章,你的感受是?
数据统计中,请稍等!
该作者的其他文章:
其他人也在看虚幻4 VR开发指南 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho1318人阅读
2016 年 9 月 23-24 日,由 CSDN 和创新工场联合主办的“”(Mobile
Developer Conference China)将在北京o 国家会议中心召开,来自iOS、Android、跨平台开发、产品设计、VR开发、移动直播、人工智能、物联网、硬件开发、信息无障碍10个领域的技术专家将分享他们在各自行业的真知灼见。
从8月8日起至9月4日,MDCC大会门票处于6.8折优惠票价阶段,五人以上团购更有特惠,限量供应(,<span style="font-family:黑体; font-size:18 color:#FF折优惠,欲购从速!)
作者简介:房燕良,小米互娱VR技术专家。从2001年开始,自主研发3代游戏引擎,发布游戏超过10款。代表作品有《仙剑3》《功夫世界》《龙online》《神兵传奇》等。从2007年开始接触虚幻3引擎,对虚幻引擎有深入的研究和实践。在MDCC 2016上,房燕良将结合自身经验,以及对于虚幻4引擎渲染系统架构的理解,分享《虚幻4引擎渲染系统结构解析》。
虚幻引擎作为国际顶尖水平的3D引擎,一直是很多像我这样的技术人员的向往,感谢Epic Games采取了免费、开源的政策,使得“旧时王谢堂前燕,飞入寻常百姓家”。在当前VR开发如此火热的情况下,虚幻4在VR方面一直保持着技术领先。笔者有幸在虚幻3时代就有机会深入地学习了这款引擎,目前也在从事虚幻4 VR领域的开发工作,所以希望把自己的一点经验分享给更多的对虚幻4引擎技术感兴趣的同学。
虚幻4 VR开发从何入手
很多人都听说“虚幻引擎比较难学”,其实我想说“对未知的恐惧是学习新知的最大障碍”,并且虚幻4在易用性上确实已经比前一代有大幅改进。所以,希望对虚幻4引擎技术已经动心的同学,放松心情,勇敢一点,其实没那么难。
无论是VR,还是游戏开发,首先我们都需要对引擎中的概念有一个基础的理解,把基础知识掌握好。这包括基本的编辑器操作、资源管理流程、C&#43;&#43;/Blueprint蓝图编程,以及Actor、ActorComponent等基础入门知识。由于大量的入门知识并不适合使用文字表达,所以我正在CSDN学院连载虚幻4入门的系列视频教学课程()。对于没有接触过虚幻4开发的读者,我建议先看看此视频教程,再继续阅读本文。
对引擎有了基本掌握之后,VR开发也就水到渠成了。VR开发在技术上,主要是需要对接主流的VR硬件,包括头戴式显示(HMD)、手柄等。例如Oculus和HTC Vive都提供了自己的SDK,让软件开发者可以访问他们的硬件。而整合这些SDK的工作,虚幻4引擎已经做好了,我们只要开启指定的插件即可(如图1所示)。虚幻4引擎在上层,针对VR硬件提供统一的抽象接口,在下面的示例中我们详细讲解。
图1 虚幻4内置了主流VR硬件支持插件
在Gear VR上开发搭积木的小游戏
下面我们通过在Gear VR上运行一个简单的搭积木小游戏,来讲述使用虚幻4开发VR游戏的基本知识。
在这个小游戏中,我们使用视线瞄准一个积木块,然后点击Gear VR头盔右侧的Touch Pad即可拿起积木;这时,转动头盔,拿起的积木块会跟随视线移动;再次点击Touch Pad,将这块积木放下。之后,使用物理刚体模拟,来进行状态更新。你可以尝试把很多积木块堆积起来。
Gear VR项目创建
首先我们需要使用C&#43;&#43; Basic Code工程模板来创建一个新的工程,基本设置要选择:Mobile/Tablet,以及Scalable 2D/3D。这里要注意,必须选择C&#43;&#43;的工程模板,使用Blueprint模板的话,在打包到Gear VR后将无法正常运行。
然后,必须向引擎中添加一个Oculus签名文件。具体的方法是:
■ 手机使用USB线连接电脑;&
■ 使用“adb devices”命令获取Device ID,例如:0b05;&
■ 打开网址,把签名的Device ID粘贴进输入框,然后点Download按钮;&
■ 将获取到的文件(例如oculussig_0b05)放入:引擎安装目录\引擎版本号\Engine\Build\Android\Java\assets(如图2所示)。&
■ 最后,需要在编辑器中打开“Project Settings”-&“Android”,修改以下选项:
Minimum SDK Version:设置为19;Target SDK Version:设置为19;Conf igure the AndroidMani fest fordeployment to GearVR。
图2 OSIG文件存储路径
这样配置之后,这个UE4项目就可以打包到Gear VR上运行了。
尽管虚幻4引擎中默认带了一些基本形状的几何体,不过,我还是使用3ds Max生成了一套自己的几何体FBX文件。另外,还有几个表情图标作为这些几何体的贴图,我们将使用不同的表情来标识对象的不同状态。将这些FBX、TGA文件拖入Content Browser中,即可导入。
图3 积木的材质
接下来,我们要在引擎中创建一个材质,如图3所示。请注意,贴图的节点“TextureSampleParameter2D”是一个Parameter,这使得我们可以在运行时改变这个节点的内容。
Gear VR开发基础功能
首先,创建一个叫作VRPlayerBase的C&#43;&#43;类,它从Pawn派生,作为我们的玩家角色。开发Gear VR游戏的话,如果每次测试都要打包到手机上去运行,实在是相当忧伤,因为每次打包的时间……呵呵。所以,我写了一段C&#43;&#43;代码,使用鼠标来模拟HMD头盔转动,这样就可以很方便地在编辑器中测试视线焦点相关的操作了。另外,Gear VR Touch Pad相关的操作,也封装了一下,一起放到这个类里面。关键代码如下:
void AVRPlayerBase(class UInputComponent* InputComponent)
Super(InputComponent);
UPlayerInput(FInputAxisKeyMapping(&Turn&, EKeys, 1.f));
UPlayerInput(FInputAxisKeyMapping(&LookUp&, EKeys, -1.f));
UPlayerInput(FInputActionKeyMapping(&MouseLMB&, EKeys));
InputComponent-&BindAxis(&Turn&, this, &AVRPlayerBase);
InputComponent-&BindAxis(&LookUp&, this, &AVRPlayerBase);
InputComponent-&BindAction(&MouseLMB&, IE_Pressed, this, &AVRPlayerBase);
InputComponent-&BindTouch(IE_Pressed, this, &AVRPlayerBase);
InputComponent-&BindTouch(IE_Released, this, &AVRPlayerBase);
InputComponent-&BindTouch(IE_Repeat, this, &AVRPlayerBase);
那么,在Gear VR真机运行时,如何使得摄像机跟随头显转动呢?这就简单了,因为引擎已经实现了这个功能,只不过它是实现在PlayerController上,这里设置一下VR Player的转动与Controller一致即可(见图4)。
图4 Pawn的朝向设置
接下来我们实现视线焦点检测的功能,这部分使用Blueprint来开发,具体情况见图5。
图5 视线检测功能
在此蓝图中,我们调用了引擎所提供的“LineTraceByChannel”来进行射线检测,见图6。
图6 LineTraceByChannel
我们需要指定这条线段的起点和终点。起点就是玩家的&#30524;睛所在的位置:使用GetActorEyeViewPoint节点取得;终点就是沿着玩家的面朝向(GetForwardVector)一定距离的一个点。LineTraceByChannel有两个返回&#20540;,其中“Out Hit”是一个结构体,我们使用Break节点来取出结构体中我们需要的项:射线击中的最近的那个Actor;然后我们检测它是否实现了“BPI_VRObject”蓝图接口(这是我们自己定义的一个蓝图接口,后面详述);最后我们调用自定义事件:“OnFocusActorChanged”来处理具体的逻辑。
现在,可以设置一个新的GameMode,来指定这个类作为Player Pawn,然后把它设置成默认的GameMode。
创建一个新的蓝图类,用来实现积木块的相关功能,选择从Static Mesh Actor来派生。首先,为了实现动态改变积木块贴图的功能,要在Construction Script中创建Dynamic Material Instance,如图7所示。
图7 创建Dynamic Material Instance
在图7所示Blueprint脚本中,我使用“CreateDynamicMaterialInstance”节点,为StaticMeshComponent创建了一个动态材质实例,并把它保存到一个名为“BlockMaterial”的变量之中。
另外,考虑到今后可能添加其他的对象类型,创建了一个Blueprint Interface,命名为:用来定义玩家对场景中物体的交互,主要就是图8中的四项。
图8 Blueprint Interface
接下来,我们做一个简单的功能:当玩家注视着这个积木块时,它就向玩家眨个&#30524;(换张贴图)。首先,要在积木块的Blueprint的Class Settings中,添加上述Blueprint Interface。然后,就可以在EventGraph中使用Add Event菜单,添加OnFocus和LostFocus事件处理了(如图9所示)。
图9 Focus相关事件处理
在上述蓝图中,我们实现了“BPI_VRObject”的两个接口事件,分别是:OnFocus和LostFocus,在焦点获得或者焦点失去的时候,我们调用“SetTextureParameterValue”节点,来改变材质中的BaseColor所使用的贴图资源对象。&
接下来,就要实现一个有趣的功能:当积木块坠落的时候,显示一个害怕的表情;当积木块静止不动后,显示微笑表情。这个功能,通过刚体(Rigid Body)的Wake、Sleep状态来实现。从物理引擎的角度说,当物体静止不动时,物理引擎会把这个物体设置到Sleep状态,以节省运算量;当需要物理引擎计算其运动状态时,再把它叫醒。注意:要设置StaticMesh组件的“Generate WakeEvent”才能收到这两个事件,见图10。
图10 刚体的Wake、Sleep事件处理
在这个Blueprint脚本中,我们通过响应“OnComponentWake”和“OnComponentSleep”来变更了自定义变量“IsSleeping”,然后调用自定义事件“ChangeTextureByState”来变更材质的贴图参数。
接下来,还可以做一个小功能:当玩家抓起这个积木时,它就开始哭。这个实现方法和上面的思路完全一样,在此不多赘述。
在玩家周围随机生成一些积木块OK,既然的积木已经准备好了,就可以在关卡启动时,随机地生成一些积木,供玩家玩耍。这个功能可以在Level Blueprint或Game Mode中实现。这里,我们假设这是本测试关卡的功能,所以把它放在Level Blueprint中去实现。
图11 在Level Blueprint中随时生成积木块
图11展示的这段Blueprint代码,即是在PlayerStart对象周围随机产生了10个积木块。响应关卡的BeginPlay事件:通过ForLoop节点,调用10次SpawnActor节点,这个节点的Class参数选择成我们的积木块(BP_Block);积木块的出生点通过MakeTransform节点来生成。在MakeTransform节点中,使用了3种不同的随时方式来产生位置、旋转和缩放这三个参数。
拿起和放下积木
接下来,我们继续完善玩家类,添加拿起、放下积木块的功能,具体操作是:玩家首先要注视着某个积木,然后轻点Touch Pad可以拿起积木;转动头盔,积木会随其移动;如果再次轻点TouchPad,则放下这个积木。
首先,我们在Touch Pad的Tap事件中实现上述流程。注意,这个Tap事件是在VRPlayerBase那个C&#43;&#43;类中触发的,见图12。
图12 Touch Pad的Tap事件响应
在此,我们判断如果PickActor是一个有效&#20540;,则调用DropActor,否则的话,调用PickFocusActor。
其中的Pickup Focus Actor和Drop Actor是两个自定义事件。在PickupFocusActor事件中,首先我们通知了这个积木块对象:调用它的OnPickup接口;然后使用一个TimeLine驱动的动画,来控制积木块的位置,使它从当前位置,平滑地移动到玩家面前的一个位置。在DropActor事件中,则首先通知了积木块对象:调用它的OnDrop接口;然后把PickedActor对象设为空&#20540;,代码见图13、图14。
图13 捡起正在注视着的对象
图14 放下正在拿着的积木
通过上述过程,一个简单,但还有点意思的积木小游戏就准备好了(见图15)。你可以通过项目打包功能生成APK包,在Gear VR上进行体验。由于篇幅所限,项目中一些细节无法在此完全详述。大家可以从CSDN CODE下载这个项目的完整资源,来进行参考。
图15 游戏运行效果
本文所演示的项目,只是为了讲述最基本的开发方法,并没有在画面效果上做任何修饰。实际上,虚幻4现在手机上已然可以支持PBR材质效果。总之,各种酷炫的效果,还待大家去发掘。在今后的一段时间内我会持续更新关于虚幻4开发的视频教程和博客,欢迎大家关注。
关于移动开发新技术,更多精彩尽在MDCC 2016,详情请查看大会官网:。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:425515次
积分:6166
积分:6166
排名:第4419名
原创:169篇
转载:215篇
评论:16条
(2)(2)(12)(9)(41)(26)(5)(42)(176)(66)(2)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'

我要回帖

更多关于 虚幻引擎 的文章

 

随机推荐