LayaAir IDE 官方版 2.7.0
3D物理功能增强
在LayaAir 3D物理中,本次的2.7版本,增加了固定关节组件Fixed Joint和可配置关节组件Configurable Joint的支持。开发者可以直接将Unity中的Fixed Joint以及Configurable Joint这两个物理关节组件,通过LayaAir的Unity导出插件,一键导出后直接在LayaAir引擎中使用。
Unity的固定关节组件Fixed Joint在LayaAir引擎中为FixedConstraint(固定约束),用于约束一个游戏对象对另一个游戏对象的运动,将两个物体永远以相对的位置固定在一起,即使发生物理改变,它们之间的相对位置也将不变。
Unity的可配置关节组件Configurable Joint在LayaAir引擎中为ConfigurableConstraint(可配置约束),这是一种自定义的约束类型,开发者可根据自身需求来设置六个自由度,此约束可以实现所有的约束类型功能。
我们还提供了断开力breakForce和断开扭矩breakTorque属性,用来设置约束的强度极限,同时在Script3D类中提供了物理的生命周期方法onJointBreak(),当约束力超过强度极限时,会打破约束,并调用该方法。
在易用性方面,本次版本还为刚体提供了约束查询的属性constaintRigidbodyA和constaintRigidbodyB,可方便查询与自己相关的两个约束的刚体名称。
LayaAir的Unity导出插件增强
本次的版本对于LayaAir的Unity导出插件也有所增强。更新如下:
增加导出 Cast Shadow / Receive Shadows 属性,Cast Shadow支持开关(On/ Off)控制。
light相关灯光设置暂不支持导出,需要在引擎内单独设置。
增加iOS纹理压缩的等级设置(高质量图片的导出会非常消耗时间),大家可根据需要设置即可。并且重构了纹理压缩的导出流程,输出了导出压缩纹理进度。
在物理组件方面,新增导出物理FixedJoint组件和物理ConfigurableJoint组件。
增加导出SkinMeshEnable属性。
增加Unity导出支持的属性表,内置在插件中,开发者可以在插件中直接找到此版本支持哪些导出属性。
支持cannon.js物理引擎
LayaAir内置的物理引擎是Bullet物理引擎,功能强大丰富。是我们推荐的引擎。考虑到有开发者反馈,某些产品只需要用到物理检测,碰撞等很基础的功能,并且希望引擎库的包体尽可能缩小。因此,我们决定在本次的2.7版本中,支持cannon.js物理引擎库,包括以下的cannon物理功能:
(1)cannon物理射线检测
(2)cannon物理碰撞检测
(3)cannon物理box,sphere,compoundCollider的实现
(4)cannon物理trigger的实现
(5)cannon物理形状Scale的实现
(6)cannon物理碰撞事件,触发事件的实现
(7)cannon物理属性(弹力,摩擦力等)的实现
(8)cannonCollider中增加localOffset属性
自此,开发者如果使用物理功能不多的情况下,可以选择cannon物理引擎方案。满足基础物理引擎功能使用的同时,相对于Bullet引擎大幅减少了包体。因为,使用cannon物理引擎方案,需要引入的cannon与cannonPhysics这两个库压缩后总和也不足200k。