Layabox技术讲座分享

Layabox技术讲座分享_第1张图片

今天有幸听了Layabox公司技术负责人做的技术宣讲,关于LayaAir 2.0。收获不少,在此记录一下。

目前Layabox公司主推LayaAir 2.0,不过还是beta版本,演讲者也说了,如果是开发3D游戏,一定要用2.0;如果是开发2D游戏,可以选择1.0或者2.0,前者更加稳定,后者功能和性能更强。

2.0中给我印象比较深的几大特性:组件化、物理引擎升级、场景管理

先说下组件化。这个功能也是模仿Unity,好处是模块划分清晰,所见即所得。事实上,LayaAir很多方面都在学Unity,特别是IDE和工作流这块。演讲者对Unity的开发效率推崇备至,坦言现在LayaAir与其还有很大差距。Laya甚至做了一个Unity插件,支持将Unity中开发好的shader一键导出到LayaAir中。这也可以理解为一种商业策略,吸引更多的Unity开发者转向LayaAir,或者方便将Unity开发好的手游移植到H5平台。

物理引擎升级,演讲者强调了这是性能提升最大的一块。这主要得益于对WebAssembly的使用。WebAssembly顾名思义,是在web开发中用到的bytecode。它屏蔽了ts、js等语言的差异,先编译再解释执行,从而提升效率。LayaAir把物理碰撞检测中的大量计算放在WebAssembly中,极大提升了执行效率。

场景管理,也是模仿Unity的一个功能。好处是切换场景时不用手动释放资源,会自动清理。如果需要跨场景保留的资源,则可以选择不添加在场景中。

关于as/js/ts语言的选择,演讲者表示,LayaAir现在对as的支持最好;不过as毕竟是停止更新的语言,LayaAir以后对它的支持也会慢慢淡化,直至脱钩。在js和ts之间,演讲者建议选择ts,因为ts的类型健壮,而且ts编译成js的过程效率很高。

Laya还提供了一个很有意思的功能:LayaCloud。这是为一些小cp提供的服务端解决方案。具体应用场景:一些简单的交互游戏(如IO游戏)要用到服务端通信,或者帧同步,但是小团队又没有时间精力去开发后端框架、部署服务器,这时就可以使用LayaCloud。它将云服务和服务端框架做了封装,暴露出简单的接口。开发者只需用node.js写简单的逻辑即可,不用关心下面的技术细节。

演讲者还为我们演示了用LayaAir做的pbr渲染,一个战士盾牌带反光的效果,还不错。这一点有点出乎我的意料,原以为pbr在H5平台上跑不起来。据他们说,申请了相关专利,用于保证pbr在H5平台的性能。不得不说,Laya在3D这一块的优势挺大的,市场份额也是遥遥领先其他H5引擎。选择一款好引擎,对于公司长远的技术规划来说也是很重要。

在整个过程中,演讲者侃侃而谈,说得很实在,对Laya的一些不足也直言不讳。对于我们的提问也是有问必答,热心交流。相信一个靠谱的负责人带队开发的引擎也不会差,这也增加了我们用Laya开发好游戏的信心。

你可能感兴趣的:(html5,游戏技术)