Releases: layabox/LayaAir
LayaAir 3.0.11 引擎库
3.0.11 更新日志
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG修复
引擎
- 修复了9宫格图片如果有透明区域,剪裁后发布纹理的时候勾选了剪裁图片周边空白,会出现位置不对的BUG
- 修复模糊滤镜颜色泛白的BUG
- 修复了bullet物理引擎的角色控制器AABB碰撞问题
IDE
- 修复了Game视图设置缩放后运行会偏移的BUG
- 修复了LOD组件的显示BUG
- 修复了新建文件夹没有自动进入重命名的BUG
- 修复了粒子系统shape模块中box边框渲染Y轴与Z轴反了的BUG
- 修复了发布拷贝bin目录逻辑流程的错误
- 修复了动画面板输入文本框滚动时候对不上的BUG
- 修复了2D预制体中,节点缩放不是1时对齐工具会不正确的BUG
优化
- 动作烘焙时,对于重复节点给出提示
- 资源的图片过滤检索数量上限增加至5000个
- 2D动画曲线面板支持Elastic算法
LayaAir 3.0.9 引擎库
3.0.9 更新日志
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG修复
引擎
- 修复了设置Laya.stage.fullScreenEnabled为true后,在回调内作用域错误的BUG
- 修复了Texture对象引用减少时内含bitmap引用没有同时减少的BUG
- 修复了环境光遮蔽AO与景深DOF后处理只能一个生效的BUG
- 修复了2D动画设置参数Bool值类型错误的BUG
- 修复了文字在设置发光滤镜的时候颜色错误BUG
- 修复打开Camera的enableBlitDepth为true时候内存泄漏的BUG
IDE
- 修复了将时间轴动画面板弹出后,复制和粘贴关键帧会报错的BUG
- 修复了动画烘焙后动画控制器的指定入口动画被修改了的BUG
- 修复了项目设置中设置的“默认字号”,只对Text起作用,对Label、Button等组件中的文本不起作用的BUG
- 修复了预制体根节点设置锚点为0.5后的显示问题
- 修复了PC端中对于同一张贴图,BC3压缩格式与RGBA32格式的颜色不一致的BUG
- 修复了分包设置为assets下第三级目录及更深目录打包出现mkdir失败报错的BUG
- 修复了发布时自动图集中如果有相同大小的图片,可能在多次发布时顺序不一致的问题
- 修复了Text组件设置padding时异常的BUG
- 修复了动画在IDE预览和浏览器上有效果,在发布为微信小游戏后无动画效果的BUG
优化
- 3D工具类中RenderTexture转换为Base64的方法uint8ArrayToArrayBuffer移到2D工具类,使得2D也可以使用该方法,3D中的原方法会指向2D工具类保持兼容。
- IDE里已新增支持发布微信小游戏引擎插件
LayaAir 3.0.8 引擎库
3.0.8 更新日志
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG修复
引擎
- 修复了3D粒子在iOS上出现黑边的BUG
- 修复了脚本组件的OnMouseDrag方法无法触发,需要手动注册一个鼠标事件才能触发的BUG
- 修复了Tab组件的labelAlign属性设置没有效果的BUG
IDE
- 修复了导入gltf模型材质显示不正确的BUG
- 修复了2D预制体根节点设置锚点为(0.5,0.5)引起的显示问题
- 修复了2D节点面板MouseEnabled属性值为false时的不生效问题
- 修复了烘焙动画在Mac上报错找不到目录的问题
- 修复了发布vivo后关闭,再次发布时出现文件被锁情况导致无法发布,需要手动杀掉进程才行的BUG
- 修复了改变嵌套预制体里的预制体节点顺序,刷新后顺序又被重新排列的BUG
- 修复了复制嵌套预设中的预设,会解除预设的BUG
- 修复了自定义shader声明了纹理参数,在材质面板上赋值纹理之后,再次将纹理设置为null,此时材质面板上修改任意参数的值,纹理内容又重新显示回来了的BUG
- 修复了自定义控件作为预制体根节点时,runtime脚本不正确的BUG
- 修复了JS插件不勾选“发布时压缩”,但发布时仍然被压缩的BUG
- 修复了IDE的2D入门示例模板中panel窗口在手机触摸屏上不能缩放的问题
- 修复了某些特别的2D图片在纹理压缩后颜色产生明显差异的问题
易用优化
- 支持小游戏模板目录内的任意目录在发布时均会复制到小游戏目录里
- 优化了绘制文字的属性名,Graphics绘制文字的单词stork拼写错误,改为正确的拼写stroke
- 限制预制体嵌套自身的预制体,避免因此导致死循环
- WEB平台发布增加了是否使用安全扩展名的选项
功能新增
-
动画脚本支持了onStateLoop的回调,动画设置了循环的话,每次循环结束时会被调用;
2D动画支持了gotoAndStop以及gotoAndStopByFrame的逻辑,使用示例:
const { regClass } = Laya; interface AnimatorPlayScriptInfo { animator: Laya.Animator | Laya.Animator2D; layerindex: number; playState: Laya.AnimatorState | Laya.AnimatorState2D; } /** * 继承自AnimatorStateScript(动画状态脚本) */ @regClass() export class AnimationScript1 extends Laya.AnimatorStateScript { /**动画的状态信息 */ playStateInfo: AnimatorPlayScriptInfo = { animator: null, layerindex: -1, playState: null }; setPlayScriptInfo(animator: Laya.Animator | Laya.Animator2D, layerindex: number, playstate: Laya.AnimatorState | Laya.AnimatorState2D) { this.playStateInfo.animator = animator; this.playStateInfo.layerindex = layerindex; this.playStateInfo.playState = playstate; } /** * 动画状态开始时执行。 */ onStateEnter(): void { console.log("动画开始播放了"); } /** * 动画状态运行中 * @param normalizeTime 0-1动画播放状态 */ onStateUpdate(normalizeTime: number): void { console.log("动画状态更新了"); } /** * 动画状态退出时执行。 */ onStateExit(): void { console.log("动画退出了"); } /** * 动画设置了循环的话,每次循环结束时执行 */ onStateLoop(): void { (this.playStateInfo.animator as Laya.Animator2D).gotoAndStop(this.playStateInfo.playState.name, this.playStateInfo.layerindex, 1); } }
LayaAir 3.0.7 引擎库
3.0.7 更新日志
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG修复
引擎
- 修复了给文本加上阴影滤镜后,边缘锯齿变的更明显的BUG
- 修复了资源_idResourcesMap的key对不上而导致销毁错误的BUG
- 修复了websocket连接的wss URL字符串拼接BUG
- 修复了单选框组件的labelAlign属性right和center设置无效的BUG
- 修复了3D UI缩放默认值错误的问题
- 修复了 WebXR 初始化gl错误的BUG
IDE
- 修复了粒子序列帧修改TextureSheet的frame面板默认Y值无效,需要手动拖动一次曲线才正常的BUG
- 修复了预制体在场景内编辑后再次添加保存失败的BUG
- 修复了在场景/预制体的tab栏上,按下鼠标滚轮会出现报错的BUG
- 修复了Shader名称包含路径时,显示不正确的BUG
- 修复了删除场景中的节点后,装饰器暴露的入口处节点仍然存在的BUG
- 修复了装饰器@classInfo中使用现有分类,会直接把分类中原来的分类替换掉的BUG
- 修复了自定义的RadioGroup单选框组,skin属性为空时控制台报错的问题
- 修复了IDE自带的RPG示例中,如果开启视网膜,手机上摇杆无法控制的BUG
- 修正了键盘移动选中物体时,无法撤销(undo)操作的BUG
易用优化
- 3D物理中增加碰撞分组的属性暴露,可直接在IDE中设置碰撞分组了
- 2D物理增加关节锚点与关节连线的显示,可以更加直观的设置了
- 对于不支持生成UV1的骨骼模型,在控制台给出提示,并阻断生成UV1,避免强行生成UV1导致模型出错
- 完善了下拉选项框组件的全部中英属性翻译与说明提示
- 禁止删除动画状态机最后一个Layer,避免删除后引起报错,以及增加容错机制
- 2D物理的圆形碰撞体,优化为以圆心点为半径变化的缩放中心点
- 手机和邮箱登录方式登录,在注销或退出登录后,登录界面会保留登录的帐号
- 对于非精灵纹理,平铺模式设置非拉伸模式的时候,纹理非2的幂时强制为2的幂,避免设置纹理平铺模式无效的操作误解
- 当为纹理统一设置了按钮状态之后,UI组件的按钮状态设置隐藏,避免了设置无效的误解
功能新增
-
IDE新增spine 3.7版本的spine库适配
切换适配库后不要忘记刷新IDE
Spine3.7不支持导出二进制,需要导出为json格式
-
IDE精灵节点的绘制图形功能中新增绘制文本(用于动态文本)
LayaAir 3.0.6 引擎库
3.0.6 更新纪录
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG修复
引擎
- 修复了重新设置天空盒后会导致模型显示异常的BUG
- 修复了3D动画融合的时候某些动画数据会空指针异常的BUG
- 修复了spine3.8引擎库切换动画的时候有些骨骼图片会丢失显示的BUG
- 修复了文本在小游戏平台WebGL1.0与WebGL2.0下颜色不一致的BUG
- 修复了场景中存在3D UI时无法检测到其他Sprite3D的BUG
- 修复了Graphics绘制圆的边框有裂缝的BUG
- 修复了圆画得比较小的时候会出现棱边现象的BUG
- 修复了销毁camera时在某些情况下会出现报空指针异常的BUG
- 修复了Graphics绘制圆的边框有裂缝的BUG
- 修复了圆画得比较小的时候会出现棱边现象的BUG
- 修复了销毁camera时在某些情况下会出现报空指针异常的BUG
IDE
- 修复了多重嵌套预制体在解除第一层时内层预制体的覆盖会错误地被复原的BUG
- 修复了Panel组件下复制box组件会引起报错的BUG
- 修复了在某些情况下IDE不会自动编译的BUG
- 修复了组件的宽度拖拽为0时可能会改变坐标的BUG
- 修复了批量拖拽显示对象到子层级或父层级的时候会改变顺序的BUG
- 修复了蓝图Vector2\3\4节点分量选取时出错的BUG
- 修复了自定义快捷键中的2D场景滚轮切换失效的BUG
- 修复了Tab组件首次使用时在垂直模式下更换skin报错的BUG
- 修复了删除节点后再恢复引起的节点排序BUG
- 修复了蓝图窗口关闭时报异常的BUG
- 修复了动画空事件Params为空引发undefined的BUG
- 修复了天空盒切换默认天空盒材质到非天空盒材质再切换为天空盒材质,物体深度写入设置失败的BUG
易用优化
- 增加刷新IDE的自定义快捷键
- 在微信与抖音小游戏的发布界面上增加AppID的输入栏目,方便用户直接在发布的时候填写小游戏AppID
- 修改IDE中的部分功能界面文本描述与Tip提示描述,使得描述更加准确
- 增加小键盘的Enter键事件响应
- 优化了脚本中物理事件的编码提示文本,方便开发者更好的区分2D与3D物理事件的使用
- 已同步更新至Spine官方4.0的最新适配库
功能新增
- 开放支付宝小游戏的发布入口
- 增加导入模型中的UV1
- 新增spine 4.1的适配支持
- 绘制图形中增加绘制圆角矩形
- 绘制图形中增加绘制椭圆形
LayaAir 3.0.4 引擎库
3.0.4 更新纪录
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG修复
引擎
- 修复了WebGL1.0下颜色异常的BUG
- 修复了统计信息在小游戏平台上的显示异常BUG
- 修复了AutoBitmap没有完成销毁的BUG
- 修复了预制体脚本挂载RunInEditor,在预制体资源选中时会触发的BUG
- 修复了文本勾选HTML后对
</br>
会多换一行的BUG - 修复了UI组件TextInput设置纵向valign无法保存的BUG
- 修复了引擎烘培贴图采样颜色BUG
- 修复了引擎统计面板数据增加的BUG
- 修复了UI3D在缩放情况下裁剪错误的BUG
- 修复UIComponent的disabled和gray同步导致ide无法分开更新属性的BUG
IDE
- 修复了切换预制体编辑界面后新建时间轴动画报错找不到node的BUG
- 修复了动画烘焙功能面板拖入一个带动画节点的sprite3D然后点击烘焙会报错的BUG
- 修复了烘培器输出HDR贴图的BUG
- 修复了烘培透明贴图在非透明模式下导致渲染结果不正常的BUG
- 修复了SpotLight光源采用Mixed模式时的烘焙BUG
- 修复了材质球为透明模式烘培结果不正确的BUG
- 修复了LOD模块出现大量nowRate只读警告的BUG
- 修复了属性面板重置预制体内部节点属性时没有显示覆盖标志的问题
- 修复了动画属性在还原的时候,子节点的属性未还原的BUG
- 修复了spine的ExternalSkins在没有设置Spine Source的时候会导致添加Items卡死的BUG
- 修复了使用自定义的spine引擎库就一直进不了编辑器的BUG
- 修复了灯光和摄像机对象,按F没聚焦,越来越远的BUG
- 修复了模型导入设置里,材质位置设置为使用外部材质后,再改回为使用嵌入材质,材质未回到模型的BUG
- 修复了模型勾选网格压缩与动画压缩,在动画曲线角度微小的时候,没有进行动画压缩的BUG
- 修复了更改节点类型后,添加的脚本组件丢失,并且不能再添加的BUG
- 修复了时间轴动画在动画播放预览IDE材质面板参数没有实时刷新的BUG
- 修复了Windows下同名文件冲突后无法再次进行重命名,必须刷新IDE的BUG
- 修复了项目设置里,分辨率倍数无法设置小数的BUG
- 修复了Unlit材质AlphaTest显示的错误
易用优化
引擎
- 对于Value2D中的textureHost增加保护,防止异常
- 新增支持tiff、tif、tga这几种纹理图片后缀格式的识别
IDE
-
Slider组件增加了一个showPrgress选项,用于支持进度条滑动时的显示
-
修改vConsole的嵌入方式为本地js文件
-
小游戏发布新增支持远程分包(CND资源包)的能力
-
新增了烘培功能可设置灯光不产生阴影
-
优化合图集的逻辑,避免相同大小文件在多次发布时位置不稳定
-
大幅度降低发布后描述文件fileconfig.json的大小
-
新增支持tiff、tif、tga这几种纹理图片后缀格式的识别
-
新增模型与网格文件的全部中文属性名称以及属性详细说明Tips
-
优化了烘焙相关的按钮文本说明增加了Tips提示
-
优化了小游戏中对basePath路径没有/的识别
-
增加了类型属性对嵌套数组或者字典的支持
//示例: @property([ [ "string" ] ] ) test1 : string[][] = [ [ "a", "b", "c"], ["e", "f", "g"] ]; @property([ [ "Record", "string"] ]) test2 : Array<Record<string, string>> = [ { name: "A", value: "a" }, { name: "B", value: "b" }]; @property({ type: ["Record", [Number]], elementProps: { elementProps: { range: [0, 10] } } }) test3: Record<string, number[]> = { "a": [1, 2, 3], "b": [4, 5, 6] }; @property([ "Record", [ Laya.Prefab ] ] ) test4 : Record<string, Laya.Prefab[]>;
Unity资源导出插件
下载链接:https://github.com/layabox/LayaAir3.0UnityPlugin/releases
BUG修复:
- 修复了perfab引用查询的BUG
- 修复了压缩纹理的报错
- 修复了灯光导出的BUG
release_2.13.2
3D:
功能调整和优化:
-
增加 skeleton的保护
健壮simplesingletonlist remove函数
健壮physicsComponent的destroy函数
-
更新物理库
-
规范绑定VAO的操作
BUG修复:
修复物理bulletequal方法的错误
2D:
功能增加和优化:
- ComboBox组件,在引擎中新增了下拉框内的列表单元高度属性(itemHeight)、列表单元边距属性设置(itemPadding),通过接口就可以方便的自定义下拉框内文本框单元的效果。
- ComboBox组件,,在引擎中新增了默认显示文本的属性(defaultLabel),可以用于下拉框选项未设置默认选项值时的提示。
- List组件中增加了disableStopScroll属性,用于list数据源更新时,是否禁用滚动条停止。默认是false,在更新列表数据时,滚动条处于停止状态。设置true则不会停止,会使得连续滚动列表变得平滑流畅。
- 增加Chrome浏览器环境判断。
BUG修复:
- 修正safari浏览器环境判断不准确的问题。
- 修复物理刚体getCenter影响applyLinearImpulseToCenter正确执行的BUG
release_2.12.0
3D:
增加骨骼遮罩功能
引擎增加性能分析工具
WebGL2.0增加RenderTexture的抗锯齿功能
增加ETC2、ASTC纹理压缩格式
将物理提出引擎库,减少引擎库大小
增加将RenderTexture转换为Base64的方法Utils3D.uint8ArrayToArrayBuffer。
适配微信WASM
材质增加方法SetShaderPropertyValue,以及方法GetShaderPropertyValue,提高书写材质的易用性
优化Blinnphong材质代码,去除兀余代码
修改材质文件格式,大大增加了材质文件的扩展性
增加景深示例
增加次表面效果渲染示例
修复了射线在开启useRetinalCanvas造成的射线位置bug
修复渲染节点在removeScene时的bug,增加引擎内部的生命周期方法(_onInActiveInScene),健壮了生命周期架构。
修复camera克隆bug
修复Transform标记不正确导致的取值bug
修复八叉树阴影bug
修复Scene的内存泄露
修复DrawInstance的渲染数量的bug
2D:
MouseJoint 增加 mouseout 事件处理
2D物理关节,修改为可以为多实例
2D物理,修复gravityScale初始值不能为负数的bug
2D物理,修复当父组件设置pos后,物理世界位置和stage位置不对应的bug
修复sprite drawTexture 打包图集边缘透明裁剪时绘制错误的bug
修复skeleton index 驱动无法播放的bug
音频类缺少代码判空-论坛用户[Nevermore]提供
更新2D物理步长逻辑
BlurFilterSetter,ColorFilterSetter,GlowFilterSetter补充类型注册
新增2D物理示例复合碰撞器
新增2D物理示例碰撞过滤器
新增2D物理示例碰撞事件与传感器
新增2D物理示例桥
新增2D物理示例仿生机器人
Unity插件:
新增导出骨骼遮罩功能
新增纹理压缩选项ETC1、 ETC2、ASTC、PVRTC, 其中ETC2、ASTC、PVRTC1_2为新增格式,ETC1为原Android选项,PVRTC1_4为原iOS选项。
修复导出场景文件层级过多导致报错的bug
IDE:
修复发布使用min库同时开启es6toes5导致无法执行bug
修复图集打包数量多了会失败的bug
淘宝分包
增加 skeleton online 项目
增加淘宝小部件平台
增加性能分析工具
新增纹理压缩选项ETC1、 ETC2、ASTC、PVRTC, 其中ETC2、ASTC、PVRTC1_2为新增格式,ETC1为原Android选项,PVRTC1_4为原iOS选项。
修复创建初始项目的bug
修复开放域项目发布报错的bug
字节跳动小游戏分包subpackages改为subPackages
release_2.11.0
公共
发布,新增淘宝小部件渠道
3D:
增加打印Webgl指令的功能,定位Webgl报错
Blinnphong增加透光功能
Light.glsl增加重载灯光函数LayaAirBlinnPhongDiectionLight LayaAirBlinnPhongPointLight LayaAirBlinnPhongSpotLight 透视方法
增加八叉树裁剪调用事件
CommandBuffer 增加DrawMeshInstance指令,增加DrawMeshInstanceCMD渲染命令类
优化显存,删除InstanceMVPMatrix所需要的顶点buffer
Effect unlit材质增加U_ViewProjection,调整支持Instance的时候的计算方案,优化了效率
WebGLContext增加_maxUniformFragMentVectors描述uniform最大Vector数
修复生命周期bug
修复直接加载纹理压缩的bug
修复webgl2.0单通道纹理bug
Unity插件:
layaBlinnPhone 材质添加导出transmission相关参数
LayaBlinnphong材质添加透射属性
修复windows未激活时可能导致登录失败的bug
修复安卓纹理压缩可能失效的bug
IDE:
字节跳动支持分包
解决微信、QQ取消使用引擎插件的bug
淘宝,解决newts版本管理后不能运行的bug
release_2.8.0
公共:
支持华为发布
支持淘宝创意互动发布
3D:
新增 预烘焙骨骼动画模式
增加粒子裁剪系统
增加视频贴图的功能
修复反射贴图的reference引用bug
修复全局光照贴图的销毁不生效的bug
修复不支持多光源模式的阴影bug
修复了物理加载trigger不生效的bug
修复了物理射线同时选中Meshcollider的正反面的bug
修复聚光灯阴影受灯光scale影响的bug
修复PBR聚光灯的光照模型错误
修复blinnphong材质不支持多光源的聚光灯阴影bug
修复了支持浮点数纹理的bug
修复不支持Webgl2.0浮点数纹理的机型(oppoR9)等开启HDR黑屏bug
修复手机多点触碰后会触发相同ID触点的bug
修复旧版模型加载bug
修复透明队列 动态合批顶点错乱bug
修复聚光灯在PBR材质下的阴影bug
修复物理形状包围盒的检测第二次输出信息错误的bug
修复粒子包围盒重力影响的bug
修复粒子CPUGPU统计不准确的bug
修复动画事件调用播放动画函数导致事件错乱的bug
修复宏定义裁剪重复编译shader的bug
Unity插件:
新增预烘焙骨骼动画的导出
修改反射信息文件.ltcb的后缀名为.ltcb.ls
增加环境反射文件的导出控制
新增一键转换PBR材质
一键切换shader时会跳过材质已经是Laya材质的对象
修复导出 camera/ light 旋转动画时的bug
修复 laya PBRStandardMaterial/PBRSpecularMaterial Rendering Mode 为 cutoff 时报错
修复 设置场景雾 pbr材质 报错的bug
修复 粒子shape 为 Circle 时 arc 值导出错误
修复 粒子动画起始帧设置不生效的bug
添加 导出 默认 Animator states
修复 ios 纹理压缩 bug
2D:
HTMLDivElement 宽高设置不正确
2D图集加载pvr出错的bug
TTFLoader 兼容ttf后缀
IDE:
vivo引擎插件,支持源码项目
修复qq引擎插件bug
更新alipay adapter
开放域项目,默认使用内置d.ts,不再跟随引擎更新
开放域项目使用内置类库,为防止出错,禁止切换类库
菜单新增构建签名功能
IDE内置adb、openssl,方便开发者使用
UI编辑器,可以点击穿透父容器
修复UI编辑器文本渲染描边bug
修复IDE升级bug
修复mac版本UI编辑器打开后,cmd+q无法关闭IDE bug
纹理转换功能,使用新API接口,运行更稳定
发布功能,支持保留平台文件
发布功能,es6toes5 兼容 压缩js 使用min类库
发布功能,修复了windows上openssl调用失败的bug
发布功能,当发布文件夹被占用时,增加汉字提示
编译脚本更新,增加提示编译报错,便于开发者定位问题
修复.laya下脚本被错误更新bug
纹理转换,iOS pvr 增加重量控制和预乘alpha
修复HTMLDivElement宽高显示不准确的bug
View 显示全部缩放相关属性
纹理转换,兼容图集情况