LayaAir2.7物理引擎大幅升级并新增cannon物理引擎支持,强化3D光影效果,新增vivo平台引擎共享插件,强化3D插件
3D物理功能增强
Unity的固定关节组件Fixed Joint在LayaAir引擎中为FixedConstraint(固定约束),用于约束一个游戏对象对另一个游戏对象的运动,将两个物体永远以相对的位置固定在一起,即使发生物理改变,它们之间的相对位置也将不变。
Unity的可配置关节组件Configurable Joint在LayaAir引擎中为ConfigurableConstraint(可配置约束),这是一种自定义的约束类型,开发者可根据自身需求来设置六个自由度,此约束可以实现所有的约束类型功能。
我们还提供了断开力breakForce和断开扭矩breakTorque属性,用来设置约束的强度极限,同时在Script3D类中提供了物理的生命周期方法onJointBreak(),当约束力超过强度极限时,会打破约束,并调用该方法。
在易用性方面,本次版本还为刚体提供了约束查询的属性constaintRigidbodyA和constaintRigidbodyB,可方便查询与自己相关的两个约束的刚体名称。
constaintRigidbodyA查询获得的属性值是接入的约束名(与自己连接的刚体名称)。 constaintRigidbodyB查询获得的属性值是接出约束名(自己与其连接的刚体名称)。
LayaAir的Unity导出插件增强
本次的版本对于LayaAir的Unity导出插件也有所增强。更新如下:
增加导出 Cast Shadow / Receive Shadows 属性,Cast Shadow支持开关(On/ Off)控制。 light相关灯光设置暂不支持导出,需要在引擎内单独设置。 增加iOS纹理压缩的等级设置(高质量图片的导出会非常消耗时间),大家可根据需要设置即可。并且重构了纹理压缩的导出流程,输出了导出压缩纹理进度。 在物理组件方面,新增导出物理FixedJoint组件和物理ConfigurableJoint组件。 增加导出SkinMeshEnable属性。 增加Unity导出支持的属性表,内置在插件中,开发者可以在插件中直接找到此版本支持哪些导出属性。
支持cannon.js物理引擎
(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。
压缩后的laya.cannon.min.js 仅133k压缩后的laya.cannonPhysics.min.js 仅31k
3D光影渲染效果增强
在本次的版本中,我们还增加了聚光灯阴影SpotMap渲染管线,开发者不仅可以使用LayaAir引擎中提供的聚光灯实时阴影,还可以自定义实现聚光灯阴影。并且增加了spotShadow的效果宏来控制阴影质量,用以提升渲染效果。
LayaAir-IDE支持vivo平台引擎插件导出
更多注意事项与说明,可以前往LayaAir引擎官方文档和vivo的官方文档查看。https://ldc2.layabox.com/doc/?nav=zh-ts-5-4-2https://minigame.vivo.com.cn/documents/#/lesson/open-ability/plugin
写在最后
END
引擎案例介绍:
引擎近期版本更新说明: