今天,LayaAir3.0.0beta4已更新。两周时间,新增雾效、优化工具、区域光、自定义动画模板等33个新增与优化功能,20个BUG得以修复。
引擎功能新增与优化
01
新增3D雾效算法
没有雾的场景中,无论物体多远,都会清晰的渲染出来,有了雾之后,越远的物体越模糊,这会让渲染效果更加真实。因此,雾效是比较重要的3D场景效果之一。
常见的3D场景雾效公式有三种,分别是Linear、Exp、Exp2。之前的LayaAir3.0版本,已支持了Linear雾效算法,效果如下图所示:
本次的3.0beta4版本,重构了场景雾效引擎代码结构,新增了场景雾效算法Exp与Exp2,让3D场景的雾效更加丰富。
02
新增优化项目的调试工具
本次版本,新增了运行界面的调试工具showToggle。开发者可以在游戏运行后,通过界面上的开关按钮,动态对粒子、阴影、多光源、光源、后期处理、动画更新、物理更新、skin渲染、透明渲染、非透明物体渲染、摄像机CMD与MSAA,进行开启或关闭。对项目性能问题的排查与优化有较大的定位辅助作用。
//可选参数:showToggle(x?: number, y?: number, views?: Array<StatToggleUIParams>)
Laya.Stat.showToggle();
在项目中添加上述代码,运行后,如下图效果所示:
03
新增纹理压缩格式自动适配
常见的PNG与JGP位图纹理,并非是可被GPU直接读取显示的纹理,需要先用CPU解码成纹理格式,再传到GPU使用。而使用纹理压缩之后的纹理资源,可以直接被GPU读取显示,节省了CPU解码带来的性能开销,也可以避免图像解压到内存的占用开销。
2.x引擎版本里,支持ETC1、PVRTC、ASTC纹理压缩格式。但是,压缩纹理资源的使用,是开发者手动加载纹理压缩资源,并通过代码动态判断平台来使用的。
3.0新增支持了PC上使用的纹理压缩格式BC1(不带透明通道)与BC3(带透明通道),废除了仅用于iOS平台的PVRTC,更好地支持了iOS与Android平台通用的ASTC,Android平台保留了ETC1与ETC2的支持。
本次版本还实现了纹理压缩格式的自动适配,无需开发者考虑在什么平台,需要加载使用什么纹理格式资源。只要在LayaAir IDE里对纹理进行了纹理格式的配置,引擎就会自动判断平台,对应加载不同的纹理资源。
例如,开发者直接使用了 resoures/a/b.png 的位图资源,对b.png这个纹理设置了Android平台的纹理压缩格式,那在Android平台就会自动去加载使用b.png对应的ktx后缀纹理压缩格式资源。
04
其它新增功能与优化
除上述功能更新之外,bata4版本引擎还优化与新增如下功能:
新增LOD组获取nowRate属性
新增销毁未使用资源的重试限制
新增纹理未加载成功的事件
新增引擎资源文件(.rendertexture | .controller | .mc | .mcc | .shader | .scene3d)对微信平台的发布适配功能
规范了CullCamera设置
优化纹理重置,使其更稳定
IDE功能新增与优化
01
预览运行窗口易用体验提升
在IDE内预览运行时,新增了分辨率设置、缩放设置、横竖屏转换、声音开关等,使得开发者在IDE内更加方便自由的调试效果。
02
浏览器调起更灵活
如果开发仍想使用本地浏览器,例如Chrome浏览器。本次版本在首选项中新增了指定浏览器与浏览器启动参数的配置,让开发者更灵活地使用浏览器进行调试。
03
时间轴新增动画模板
在2D时间轴动画中,支持使用自带的缓动曲线模板、也支持自定义的曲线调节,但如果想频繁使用同一个自定义曲线效果时,需要进行许多重复性操作。
本次版本,支持将调节好的动画曲线保存为自定义的动画曲线模板,不仅让调节好的曲线随时可复用,并且可以将该动画模板导出,再导出到其它项目中使用。进一步提升了2D动画的易用性。
04
新增区域光支持
区域光,也叫面光源。它并不应用于实时光照,是一种仅应用于光照贴图烘焙效果的静态物体光效。这种效果相当于光来自于一个平面形状(矩形或椭圆),例如,办公室顶部的LED矩形灯、摄影棚的补光灯,等。
本次版本新增区域光支持后,会让场景烘焙的光照效果更加丰富多样。
05
新增IDE功能文档绑定
新增IDE面板功能模块的文档关联与跳转按钮功能,后续还会不断地丰富文档并与功能模板进行链接绑定,让IDE更容易上手。
06
其它新增功能与优化
新增脚本父类可通过装饰器(@property())暴露属性在IDE属性面板上。
新增按UI组件命名规则的资源在使用时直接识别为对应组件的功能。
新增2D节点的锚点显示和拖动。
新增windows版本IDE的EV数字证书,使得开发者下载与安装的时候不再有风险提醒。
新增断网跳过登录的功能,允许无网环境的开发者免登录使用IDE。
新增IDE安装后桌面快捷方式携带版本号的功能,让开发者更易辨别IDE版本。
新增烘焙提示面板,提升用户使用体验。
新增LOD移动时实时显示当前LOD百分比。
新增设置当前相机位置为LOD层级按钮。
新增2D图集的纹理压缩支持。
新增版本发布时,自动发布纹理配置上的所有平台纹理压缩资源。
优化版本发布的图集名称,仅以图集目录命名。
优化IDE文件监听框架,解决windows版本项目资源达数万时进入项目时间较长的问题。
优化烘焙生成的ktx文件路径,从根目录调整为所在场景同名的目录内。
优化微信小游戏等有资源文件名后缀限制的平台发布适配。
优化动画面板的文本提示位置。
优化属性面板上的中文属性名称与提示说明。
优化引擎API示例项目模板。
优化2D时间轴动画属性设置,过滤相对布局与杂项的属性。
BUG修复相关的日志,请前往官网查看
链接:
https://layaair.layabox.com/#/engineDownload
END