LayaAir 2.0自发布以来,我们一直在大版本推进3D引擎功能。最近,一些开发者也迫切希望对2D给予更多的关注与精力。作为非常重视开发者反馈的我们,在这个版本里,暂缓3D引擎大版本功能的推进,推出一个小版本,本次的2.12.1虽然是个小版本,但推出的功能并不少,除3D引擎的例行更新外,主要的亮点就是2D引擎与周边(Spine、Live2D、Box2D)的实用性功能支持以及IDE使用体验的大幅优化。
1
新增适配Spine3.7与Spine3.8
LayaAir引擎一直是采用自己的2D骨骼系统。对于第三方的骨骼(例如Spine)的使用,只能是通过LayaAirIDE的转换工具将第三方的骨骼文件转换成LayaAir引擎的私有格式文件(.sk与.png)。这种方案的好处是引擎自身可以进行极致的性能优化,远比第三方的运行性能要高很多。
但是,也存在一个短板。那就是 LayaAir引擎毕竟不是只做骨骼动画的引擎,把所有第三方的功能在LayaAir内部全都重新实现一遍没有必要,也会导致引擎的臃肿。所以LayaAir引擎只集成了骨骼动画常用和通用的功能。
因此,当开发者要使用LayaAir引擎不支持的Spine功能时,只能舍弃这部分功能。
本次版本(2.12.1)为提升开发者的使用体验,除保持原有的引擎内置的骨骼动画方案外。还新增了Spine3.7.x与3.8.x两个版本的适配方案,也就是Spine的计算运行采用Spine官方的js库,LayaAir引擎通过适配库,接管了Spine的渲染显示。
这种方案的好处是可以更好的使用Spine官方的功能,缺点是性能的瓶颈在于Spine官方的js库。并且经过实测对比,骨骼的运行性能一定是不如LayaAir引擎内置的骨骼动画方案。所以开发者如果只是使用Spine的常用与基础功能,仍然建议优先选用LayaAir内置的骨骼方案。
具体功能的使用,请参考官网文档
Spine刚刚推出的4.0.x,我们也在适配中,下个版本推出
2
Box2D物理引擎的更新
在以前的引擎版本中,LayaAir内置适配的2D物理引擎版本是Box2D 2.3.1,本次我们将这个物理引擎适配升级到Box2D当前的最新版2.4.1。
相对于之前的LayaAir2D物理版本, 距离关节DistanceJoint增加了minLength、maxLength这两个属性,于是