虽然本次依然是Beta版本,但诚意满满,再次推出大量的更新内容。
例如,静态烘焙流程彻底完善,已达到Unity的同等水准。新增图集制作工具、多态按钮制作工具、LayaAir内置的骨骼动画转换工具(通过Sping与龙骨文件转换)、Unity资源导出插件(已开源)等工具。新增位图字体、系统字体、ttf字体等字体的全局设置与使用。新增纹理的九宫格与按钮多态皮肤的设置,新增UI编辑参照图,新增图集的小图直接使用,新增动画脚本与动画生命周期, 新增资源与脚本查找引用、新增支持场景预加载列表、新增GPU烘焙模式、新增支持Native APP在安卓模拟器上运行等等,下文将进一步阐述更多新增与优化的功能。
完善3D烘焙
LayaAir3.0支持动画烘焙、场景光照烘焙、环境反射烘焙、区域光烘焙,除了对性能有较大压力的动态实时烘焙外,静态烘焙在本次版本全面得以完善。
01
光照烘焙支持GPU烘焙模式
在场景光照的烘焙里,新增GPU的烘焙模式,使用该模式将大幅提升烘焙的效率。
如果显卡支持英伟达(NVIDIA)的CUDA,在场景的光照里,我们可以看到渲染设备的CUDA选项,直接选择该模式即可开启GPU烘焙模式。一旦识别显卡不支持CUDA,即便选择该项也会变灰,此时会自动使用CPU烘焙模式。
02
新增烘焙光照贴图方向模式
本次版本新增3D烘焙光照贴图方向模式(Directional Lightmap),该模式可以让烘焙效果更加逼真细腻。例如下图对比效果所示:
03
完善静态烘焙
3D烘焙的使用会带来渲染质量的提升,静态烘焙使用还能带来渲染性能的提升。LayaAir3.0引擎不仅可以分别对场景光照、环境反射、区域光等静态物体进行分别烘焙,本次版本还支持一键烘焙所有静态物体,从引擎层与工具层打通全部烘焙流程,使得烘焙效果得到大幅加强,从功能上静态烘焙已达Unity同等水准。以下分别为Unity引擎的烘焙效果与LayaAir引擎烘焙效果的展示。
(Unity烘焙效果)
(LayaAir3.0烘焙效果)
开源Unity插件
尽管LayaAir3.0已拥有成熟的3D编辑器环境,但考虑到某些Unity项目与资源的移植需求,本次版本依然开发并开放了Unity资源导出插件,开发者可以将Unity项目场景中使用到的资源进行导出,具体的导出规范可以前往引擎官网的文档进行查看。
3.0引擎插件,不再限制Unity的某个版本,而是支持2018.x及以上的所有版本,在插件功能上,支持场景、模型、材质、纹理、动画动作等Unity资源的导出,在材质上,主要支持以下类型材质的导出:
支持URP管线常见材质导出
支持Build-in管线常见材质导出
支持程序化天空盒材质导出
支持HDR全景图天空盒材质导出
在生态策略上,LayaAir3.0的Unity资源导出插件不再实行会员制,所有插件功能全部免费开放,并且在Github上使用了MIT开源协议,方便开发者进一步扩展与维护,也欢迎更多开发者共同参与完善与优化。
开源地址为:
https://github.com/layabox/LayaAir3.0UnityPlugin
优化图像使用
对于2D图像在IDE的使用,本次版本也新增大量功能,优化了使用体验。
01
新增图像的颜色设置
图像Image组件与绘制图形(填充纹理与九宫格纹理)在本次版本新增了颜色设置,开发者可以不通过滤镜功能,直接设置图像的颜色。该功能可替代颜色滤镜的功能,并且比滤镜节省性能。效果如下图所示:
02
IDE可识别并使用图集小图
本次版本的IDE可以直接识别项目资源中assets下的图集小图,通过拖拽图集小图设置节点的纹理资源。
03
动画节点新增图集使用
在之前的版本上,动画节点仅支持多张图片作为序列帧播放,本次版本新增图集的设置,开发者直接通过动画数据源Source上设置图集,来直接播放图集中的小图。
04
纹理可设置全局皮肤属性
在项目资源中,选择2D纹理资源后,可以对纹理的文件属性进行UI组件的皮肤相关设置,当前已支持九宫格与按钮皮肤状态的全局设置,一旦设置后,所有使用该资源的UI组件,默认都会采用该处设置。当同一资源被多处使用的时候,该方案可以节省大量的重复修改操作。
优化文本的使用
对于文本,本次版本也有大量的新增功能来优化使用体验。
01
新增ttf字体与系统字体的使用
本次版本,在选择字体时,可以通过点击按钮A,打开系统字体面板,直接选择系统的全部字体进行设置。也可以直接将ttf字体放置到项目资源中assets下,即可直接进行设置。
02
新增Bitmapfont位图字体
除了真正的字体设置外,在选择字体的使用时,也支持使用bitmapfont位图字体。并且比2.x引擎更完善的是,本次版本还支持在IDE里直接设置bitmapfont字体颜色。
03
支持字体全局设置
字体的设置除了ttf字体、系统字体、bitmapfont位图字体的按节点设置外,还新增支持了在项目设置里的字体全局设置。当没有指定具体字体设置时,默认将会使用全局的字体设置。
不兼容的优化
本次版本有大量的优化,但是有三点优化可能会导致一些旧项目的不兼容,需要在这里重点进行说明,请旧项目的开发者重点留意。
01
2D节点宽高为0优化
本次版本开始,2D节点在IDE的宽高Size设置为0的时候不再为自动宽高,避免宽高为0的真实需求混淆以及理解歧义,强制设置宽高后也会提升性能。
如果之前版本有通过0来自动适配宽高的,请手动调整,否则会导致无法正常显示。代码动态创建,但未设置宽高的,仍然为自动适配宽高。
02
蓝图uniform参数优化
本次版本不仅新增支持了拖拽改变蓝图uniform顺序的功能。还新增蓝图对uniform参数名是否合法的检测与uniform参数名的别名设置。
从此以后,蓝图的uniform参数别名和uniform参数名可以单独进行设置,别名用于IDE中的属性面板显示,如果不设置则默认采用参数名。这样脚本中就可以直接调用uniform参数名进行使用。
本次功能的调整会导致旧版本的蓝图参数在使用时的设置值丢失,需要重新设置参数的属性值。
03
脚本装饰器类型的优化
本次版本调整了脚本装饰器的设置,不再默认识别类型,由开发者手动设置类型。将会大幅提升(10倍以上)脚本编译效率。但开发者如果在旧项目未设置类型,需要补充上装饰器类型,否则会编译报错。
另外,本次优化功能还支持装饰器的getter为只读设置,如果getter与setter同时有,为可读写。
易用性优化
除了图像与文本的优化外,其它IDE操作的易用性也有较多提升,具体如下:
01
新增资源与脚本反向查找
通过属性面板,开发者可以通过点击资源属性输入栏定位到节点上使用的资源在哪里。在本次版本上,新增了反向查找功能,开发者可以对资源与脚本进行反向的查找,通过反向查找功能,可以快速定位到该资源或脚本是被哪个或哪些节点上所使用。
02
新增场景预加载设置
本次新增了场景预加载资源列表的设置,开发者可以根据实际需要,在场景的根节点上设置预加载的资源,自行决定哪些资源被场景自动预先加载,例如提前加载图集。
03
新增动画脚本相关
除了继承于Laya.Script的普通脚本,本次版本在IDE中还新增了动画脚本的创建,该脚本用于动画状态机。
引擎中也同步新增了动画脚本的生命周期方法:动画状态开始时执行的生命周期方法onStateEnter()、动画状态运行中每帧执行的生命周期方法onStateUpdate()、动画状态退出时执行的生命周期方法onStateExit()。方便开发者更友好的控制动画逻辑。
04
支持自定义IDE快捷键
本次版本对一些常用的IDE快捷键,在首选项中开放出来,允许开发者自行修改,按照自己的喜好与习惯进行设置。
05
拖拽资源到节点上的优化
关于场景与层级节点上的操作优化,本次版本有两点易用性提升。
一是支持直接拖拽2D资源到场景上的对象,使其成为当前选中节点的子节点或同级节点。默认是成为子节点,拖拽的同时按住Ctrl键,会成为选中节点的同级节点。
二是支持直接将脚本与材质直接拖到层级节点上,不再仅仅是只允许拖到场景的节点和属性面板上。
06
资源使用的优化
以前版本的资源使用,会全部列出所有资源,只能是通过名称的搜索筛选缩小范围。本次版本新增支持按目录筛选资源,这样更加方便资源的定位查找与使用。
07
发布的导出资源优化
项目发布时,默认会将启动场景与包含场景的资源全部导出。除此之外,如果不在场景中,会将resources下的资源也导出,以方便代码动态加载使用。但这一规则属于潜规则,没有阅读文档的开发者也许刚开始会遇到困惑,所以本次新增指定目录进行导出。如果开发者没有设置resources目录的,可以在构建发布里通过始终包含的资源选项,配置代码动态加载的资源目录。
08
其它优化
本次还对控制台显示进行优化,例如报错信息优化,相同类型的信息冲掉等。
以及项目列表的优化,本次版本在设置项目描述后,会依然保持项目路径的显示。
工具的新增
除本次版本新增了工具菜单栏,移植了2.0引擎的骨骼转换工具,调整了动画烘焙工具的位置,新增了制作图集与制作按钮的工具。
01
新增图集制作工具
本次版本新增了图集制作工具,开发者可直接选择未在场景中使用的图片目录,制作为图集,用于代码中动态使用图集。
02
新增按钮制作工具
本次版本新增多态按钮皮肤的制作工具,可将多(2-3)张图片转换为上下等距排列的按钮皮肤图,方便按钮的皮肤纹理的使用。
03
移植骨骼转换工具
本次版本将LayaAir2.0引擎的Spine与龙骨的骨骼动画转换工具移植到3.0IDE里,开发者可将Spine与龙骨导出的动画文件(注意版本限制)转换为LayaAir引擎内置的骨骼动画文件格式。
04
其它工具说明
除了以上新增的工具,还将面板分类中的动画烘焙工具调整到工具分类里。
工具分类里的Unity资源导出插件,并非基于LayaAir IDE来使用,所以只是一个下载链接入口,点击Unity资源导出插件会跳转到插件的Github地址,开发者可从Github上下载Unity资源导出插件,前往Unity工具中导入使用。
BUG修复相关的日志,请前往官网查看
链接:
https://layaair.layabox.com/#/engineDownload
END