LayaAir引擎放弃Canvas API,打造次世代3D引擎与云游戏引擎,提供AI赋能!

LayaAir引擎放弃Canvas原生API,并不等于放弃2D,而是为更好的发展2D和3D!那为什么要放弃Canvas原生API,以及LayaAir引擎未来的发展规划,这里我们来和大家聊一聊!

1、Canvas原生API性能差

Canvas推出后,其自带的API让开发者可以快速的实现动态效果,包括制作游戏。在很长的一段时间,HTML5引擎都是基于浏览器中Canvas自带的2D API进行设计的,但这些API并不是为高性能图形渲染而设计的,所以也带来一个问题,就是无法满足复杂游戏的性能需求。基于Canvas的引擎制作的游戏,要想达到APP的画面品质,必须要借助Runtime插件加速才能满足游戏对性能的需求。即便在今天,Canvas粒子与WebGL粒子性能也是差距100倍以上。

2、兼容Canvas API会束缚引擎功能

2015年,Layabox在研发第二代引擎LayaAir的时候 ,率先推出了WebGL与Canvas同时兼容的模式,并且对引擎进行了极致优化设计,所以整体性能有较大的提升,在支持WebGL的环境下,不借助Runtime也可以满足APP级游戏的性能需求。在还不支持WebGL的环境下会自动切换为Canvas模式,保持了对Canvas模式的兼容。

当然,兼容也是有代价的,那就是会限制了引擎的功能扩展。比如在WebGL模式下,想在引擎中为纹理增加一些实用属性,而Canvas原生API不支持,那就做不到两种模式的兼容。又或者想给2D增加自定义shader功能,为了兼容性,也需要舍弃。还有很多应用场景就不一举例了。总之,为了Canvas与WebGL保持兼容性,会让引擎的易用性,功能扩展都受到束缚。

3、全面拥抱GPU图形API

一旦抛弃上层的Canvas 2D API,那LayaAir引擎将可以毫无顾忌的基于底层的GPU图形API来设计开发引擎,摆脱束缚会让引擎更自由的发展。尤其是通过3D空间画布设计可以让2D与3D场景非常友好的融合起来。

随着时代的发展,硬件设备发展至今日,不支持WebGL环境的平台已较为少见。另外,3D本来就无法在Canvas模式下运行,所以对于3D游戏而言,对Canvas模式的兼容是没有价值的。所以我们权衡兼容Canvas原生API的利弊,经过深思熟虑,率先抛弃对Canvas原生API的兼容。

从当前来看,除了会减少整体引擎的体积大小,抛弃Canvas原生API对开发者是无感知的。看向未来,这会让LayaAir向更自由,更强大,易用性更好,适用领域更广的全平台游戏引擎方向发展。

提前剧透一下,即将于5月发布的LayaAir 2.1 beta已经完成了对Canvas原生API的抛弃。如果还有对Canvas原生API兼容需求的开发者,使用LayaAir 2.1以下版本即可。

4、不断压榨设备性能

极致性能永远是LayaAir设计研发的基石之一。所以,我们会不断的压榨设备性能,除了LayaAir当前支持的WebGL1.0,我们即将在引擎中支持WebGL 2.0。并且一直保持着对WebGPU的关注,一旦WebGPU趋于成熟,我们会立即给予引擎支持。

在引擎功能的性能优化上,比如实时渲染性能、骨骼动画模型性能等等方面都会继续进行极致优化与提升。总之,极致性能是LayaAir引擎永无止尽的追求!

5、次世代三维引擎

众所周知,除了性能,3D的成熟与领先性是LayaAir引擎最大优势。LayaAir引擎未来会继续加大3D引擎的投入力度。在不断丰富引擎实用功能与不断加强引擎易用性的同时,重点提升引擎的渲染质量,比如PRB材质的渲染效果、多光源渲染及多光源阴影效果、全局光照、延迟渲染、开放Post-process管线以及HDR、SSAO、景深等后期处理效果。

LayaAir引擎的定位是高性能次世代三维引擎!

6、5G云游戏引擎与AI

随着5G时代越来越近,对于游戏产业关联最大的,就是云计算、3D、AR、VR、AI的高速发展。而Layabox作为引擎方,必须先行一步,早已启动了新一代云游戏引擎的探索与设计。

5G网络最明显的特点之一是速度快,每秒Gbps级别的下载速率,无疑能让引擎做很多事。比如我们会将一些对硬件有压力的计算和渲染放到云端处理,这样可以让那些性能并不高的电视盒子、一体机、移动设备等5G终端,无需关注硬件自身性能,即可流畅运行电影级画面品质的次世代3D游戏。

5G时代是一个万物互联的时代,对于未来各种主流的平台,LayaAir引擎都将进行支持,摆脱浏览器API的束缚后,LayaAir引擎更注重全平台引擎的定位。AR与VR有望在5G时代得到高速发展,甚至有可能成为主流类型,而这些都离不优质的3D引擎支持,LayaAir引擎未来完全可满足5G时代AR与VR的研发需求。将全面支持WebXR标准。开发者可使用LayaAir引擎的产品登陆Steam等知名平台。

最后不得不提的是AI模块。AI是科技高速发展与社会进步的趋势, 自主学习与自动交互能力,让虚拟的游戏世界的玩家获得更加沉浸式的体验。例如,游戏引导、竞技陪玩、基础社交、剧情互动等等。都是游戏的痛点需求,而AI模块计划在未来成为LayaCloud框架的可选功能。

LayaCloud是与LayaAir2.0引擎一起推出的一套无服务器游戏框架。使用该框架,无需接触与管理服务器,使用前端语言即可通过框架提供的服务器API,轻松打造联网游戏。目前框架已提供了用户登录与验证、数据存储与读取、创建与管理房间、用户匹配与加入房间、消息广播与帧同步等等联网游戏的常用API,除了刚刚提到的AI模块,未来会提供更多联网服务器模块。目标是让开发者更加聚焦于产品业务逻辑开发,大幅减少模块开发时间,降低联网开发门槛与成本。

7、可视化3D编辑工具

在可视化3D工具方面,我们未来会在很长一段时间都保持三条主线推进,一条线是当前基于Unity工具的插件方式。开发者可在通过在Unity环境中使用LayaAir插件内置的材质来编辑3D场景,再通过插件免费导出使用。

另一条线是4月26日公布消息的免编程3D场景开发工具LayaMaker,该工具支持特定行业(比如教育)3D交互式产品的可视化开发,使用者完全不需要编程基础即可轻松上手。关于LayaMaker的更多介绍,可点击链接了解:Layabox推出无编程3D教育制作工具LayaMaker,携手精锐教育集团进军新领域!

第三条线是面向LayaAir开发者的可视化3D编辑工具,这个工具已有了雏形,原计划是2.0正式版推出。因未达到我们的预期目标,暂时屏蔽,重构满意后,未来会推出与更适合LayaAir引擎的可视化3D编辑工具。

8、引擎开发语言切换为TypeScript

LayaAir引擎虽然支持AS3、TS、JS三种语言开发产品,但是引擎自身一直是基于AS3语言开发。支持我们变更语言的核心原因是,AS3语言早已停止维护,无法对现代化编程语言的新特性进行支持。为了让引擎更友好的使用新特性,LayaAir引擎计划在近期变更引擎开发语言。这对于广大的开发者是无感知的,因为开发者还是可以采用AS3、TS、JS三种语言开发产品。不过从长远来看,TS对新特性、LayaAirIDE的支持、以及高效开发等各方面来看更加友好,所以我们建议各位开发者,创建新项目的时候尽量采用TS作为首选开发语言。

变更引擎开发语言只是我们引擎开发者基于极致引擎的追求做出的决策。这,是一种态度!

9、进一步开放LayaAir引擎

LayaAir引擎一直托管在Github上,却并非基于Github开发。只有在每个月官网更新的时候,才会同步更新。在未来,LayaAir引擎的开发团队会加强Github的活跃度,引擎基于公网的Github进行开发,随时将最新的代码提交到Github,让更多的非Layabox团队精英大神参与到LayaAir引擎的开发中来。

对于参与LayaAir引擎代码提交的开发者,一旦代码被采纳,将会获得Layabox的现金奖励。并且对积极的贡献者发出邀请,邀请其加入到LayaAir全球开发小组,参与LayaAir引擎重要的技术决策讨论。

写在最后

未来,LayaAir引擎保持对2D的优化与稳定,重点发展次世代3D引擎,对于技术上的极致追求,我们从未停下脚步,对于产品的易用性,我们曾有不足,从LayaAir 2.0开始我们会始终保持足够的重视,不断的优化提升。我们每次前行的一小步,都离不开广大开发者的支持,感恩有你!欢迎朋友们转发朋友圈或者微信群,让更多开发者了解到我们最新的技术动态。

原文发布于微信公众号 - Layabox(layabox)

原文发表时间:2019-04-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券