LayaAir3.3.0-beta.3重磅更新!Spine4.2、2D物理、UI系统、TileMap等全面升级!

正式版推出前,说明3.3的功能还没开发完。所以,又一大波更新来了~

下面对重点更新进行说明。


Spine的重要更新

3.3.0-beta.3版本开始,新增了Spine 4.2 的运行时库,Spine动画上可以支持物理特性了。例如,下图右侧女孩在启用物理更新后,头发与裙摆受物理力的影响,摆动的更加自然。

至此,Spine 已完成了 3.7、3.8、4.0、4.1、4.2版本的运行时库支持。

另外,beta.3版本完善了 Spine 使用的文档,IDE属性面板上增加了功能使用的说明。同时我们对 Spine 各模块功能也进行了更加全面与细致的测试,稳定性与易用性得以显著的提升。


2D物理的重要更新

3.3.0-beta.3版本开始,对2D物理的使用流程进行了优化重构,使得2D物理的流程与3D物理流程统一起来。

例如,取消2D碰撞体组件,碰撞形状改到刚体上添加。新增静态碰撞器,专门用于处理静态刚体。

将碰撞属性放到碰撞形状上的好处是,一方面结构更加清晰,另一方面,当存在组合碰撞体时,可以更灵活的在不同碰撞形状上设置不同的碰撞目标,而不再是统一在刚体上设置。

对于beta.3之前的旧版本2D物理引擎,我们也保持了兼容。不更新到新的物理流程,也可以使用。

但我们建议开发者直接升级到新版本的2D物理引擎,并为此内置了2D物理升级工具,方便开发者一键升级旧版本的2D物理数据。

需要注意的是,升级工具的操作不可逆。一旦使用物理升级工具升级,将无法在 beta.3 之前的 IDE 与引擎中使用。升级前一定要做好项目备份。

除了以上的更新外,2D刚体上增加了position与rotation访问器,用于获取位置和旋转角度。并对postion进行世界坐标与局部坐标转换,方便开发者按节点位置的理解来设置坐标。

TileMap的重要更新

3.3.0-beta.3版本开始,IDE支持第三方工具TiledMap编辑工具制作的地图(tsx\tmx\tx)导入到LayaAir3-IDE,并自动转换为LayaAir3内置的tileMap地图格式(tres)。方便习惯第三方编辑器的美术人员,在第三方工具中编辑后,直接导入 IDE 并使用引擎内置的 tileMap。

原地图中的图块图层与对象图层将被分别解析为带有 TileMapLayer 组件的层级节点,以及不含任何组件的空节点。对象图层下的各个对象将被解析为独立的精灵对象。

新增功能方面,在TileSet中新增了访问器terrainSets,用于描述一个集合的tile块拼接规则,然后在用terrain模式添加块时会自动拼接符合规则的块。


进一步完善了新UI系统

对于新UI系统,本次版本也进一步完善了。

例如,工具菜单下新增了“创建按钮、创建下拉框、创建进度条”等创建行为组件的入口,用于快捷创建按钮等预制体。(这个功能同样也可以用于创建插件UI)

图片组件补充了和fairygui类似的翻转、填充进度等效果,增加了裁剪为圆形等形状的效果。

在Controller中,Gears新增了一个按钮,可用于快速添加可见性控制。

除此之外,新UI系统中,还补充了GMovieClip。对于GTextField和GLoader补充了发布时清除功能。还完善了多国语言功能(i18n),使得该功能已经正常可用。


IDE的易用性更新

首先,3.3.0-beta.3版本开始,层级面板Image和GImage节点的图标优化为显示图片的缩略图,使得节点更容易识别。

另外,优化了绘图编辑、形状编辑、适配形状等按钮的位置与显示,使界面更加美观。

我们将预制体的运行预览调整为中心显示,这一优化可以使动画预制体原点以外的区域(坐标负值)也能在 IDE 内预览。

对于IDE中的菜单快捷键设置,我们从本版本开始,支持用户自定义动态添加。

在插件系统方面,本次版本新增了一个addMenuItem的API,相对于以往@menu装饰器,它可以不定义回调函数,这对于一些有默认处理函数的菜单有效果。

例如,层级菜单,如果不定义点击函数,会自动使用菜单的id作为类型去创建节点。

Editor.extensionManager.addMenuItem(  "Hierarchy/我的预制体/Button", null,    { id: "67b6743c-3e75-446c-bdf2-8d1c4e320062" });


其它引擎与IDE的新增与优化

3.3.0-beta.3 版本中,我们还支持了文本与序列帧动画混排,例如文本中可直接使用标签 <img src='animation.atlas'>。

对于普通的图集,该版本开始,也新增支持了动画属性的设置,可以直接变成图集动画资源。

我们还开放了动画状态机的动画事件(进入状态时触发的OnStartEnter、状态更新时触发的EVENT_OnStateUpdate、退出状态时触发的EVENT_OnStateExit、状态循环时触发的EVENT_OnStateLoop),方便开发者根据事件来控制动画逻辑。

值的重点介绍的是,LayaAir 3.3.0-beta.3 版本完成了 Additional 渲染架构,并支持基于 BaseRender 的材质合批功能。

在渲染过程中,材质合批(Material Batching)可以减少渲染批次,提高 GPU 的渲染效率。原本,渲染系统在处理多个相同材质的对象时,可能会因渲染状态的切换导致额外的性能开销。而在新的架构下,BaseRender 作为基础渲染单元,通过合并相同材质的渲染数据,使得多个对象可以在同一个批次中被渲染,从而降低 DrawCall,提高帧率。

例如下图中,两百个颜色不同的球  只用了一个drawcall。

根据开发者的反馈,我们优化了showall适配模式,可以根据是否使用视网膜画布模式(useRetinalCanvas)来决定是否采用高分辨率的画布。以及优化了full模式等,让开发者满足各种适配需求。

对于Native方面,我们还优化了webgl模式的运行效率等。

欢迎大家前往引擎官网(layaAir.com)下载体验。

图片

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pip安装timm依赖失败

在pycharm终端给虚拟环境安装timm库失败&#xff08; pip install timm&#xff09;&#xff0c;提示你要访问 https://rustup.rs/ 来下载并安装 Rust 和 Cargo 直接不用管&#xff0c;换一条命令 pip install timm0.6.13 成功安装 简单粗暴

BUUCTF-web刷题篇(7)

16.BackupFile 题目提示backupfile&#xff0c;是备份文件的意思&#xff1a; 查看源码没有什么有用信息&#xff0c;也没有登录界面&#xff0c;所以也不会用到蚁剑链接来找备份文件&#xff0c;所以大概率就是通过构造playload来查找备份文件。 注&#xff1a;备份文件常用…

Maven 构建生命周期

Maven 构建生命周期 引言 Maven 是一个强大的项目管理和构建自动化工具,广泛应用于 Java 开发领域。Maven 的核心概念之一是构建生命周期,它定义了从项目创建到构建、测试、打包、部署等一系列操作的流程。本文将详细介绍 Maven 的构建生命周期,帮助读者更好地理解和使用 …

PyTorch 深度学习实战(29):目标检测与 YOLOv12 实战

在上一篇文章中,我们探讨了对比学习与自监督表示学习。本文将深入计算机视觉的核心任务之一——目标检测,重点介绍最新的 YOLOv12 (You Only Look Once v12) 算法。我们将使用 PyTorch 实现 YOLOv12 模型,并在 COCO 数据集上进行训练和评估。 一、YOLOv12 基础 YOLOv12 是 …

使用Leaflet对的SpringBoot天地图路径规划可视化实践-以黄花机场到橘子洲景区为例

目录 前言 一、路径规划需求 1、需求背景 2、技术选型 3、功能简述 二、Leaflet前端可视化 1、内容布局 2、路线展示 3、转折路线展示 三、总结 前言 在当今数字化与智能化快速发展的时代&#xff0c;路径规划技术已经成为现代交通管理、旅游服务以及城市规划等领域的…

深入理解 CSS 选择器:从基础到高级的样式控制

引言 在网页设计与开发中&#xff0c;CSS&#xff08;层叠样式表&#xff09;扮演着至关重要的角色&#xff0c;它赋予了 HTML 页面丰富的视觉效果和交互性。而 CSS 选择器则是 CSS 的核心机制之一&#xff0c;通过选择器&#xff0c;我们能够精准地指定要应用样式的 HTML 元素…

GitHub与Gitee各是什么?它们的区别与联系是什么?

李升伟 整理 GitHub 介绍 GitHub 是一个基于 Git 的代码托管平台&#xff0c;主要用于版本控制和协作开发。它支持多人协作&#xff0c;提供代码托管、问题跟踪、代码审查、项目管理等功能。GitHub 是全球最大的开源社区&#xff0c;许多知名开源项目都在此托管。 主要功能&…

ESLint语法报错

ESLint语法报错 运行报错 You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.解决方案 关闭eslint的语法检测&#xff0c;在eslintrc.js文件中…

单例模式与线程安全

目录 线程安全和重⼊问题 死锁和活锁 死锁 死锁四个必要条件 活锁 STL,智能指针和线程安全 线程安全的单例模式 饿汉模式 懒汉模式 懒汉模式实现单例模式(线程安全版本) 饿汉模式实现单例模式 我们来学习单例模式与线程安全 线程安全和重⼊问题 线程安全&#xff…

Python+AI提示词用贝叶斯样条回归拟合BSF方法分析樱花花期数据模型构建迹图、森林图可视化

原文链接&#xff1a;https://tecdat.cn/?p41308 在数据科学的领域中&#xff0c;我们常常会遇到需要处理复杂关系的数据。在众多的数据分析方法中&#xff0c;样条拟合是一种非常有效的处理数据非线性关系的手段。本专题合集围绕如何使用PyMC软件&#xff0c;对樱花花期数据进…

WPF学习路线

WPF学习路线 学习准备学习技术栈学习路线 1-5&#xff08;1-2周&#xff09;6-8&#xff08;3-5周&#xff09; 学习准备 个人认为前端技术一般几个关键字&#xff1a;元素资源 控制元素资源组合或者动态交互 数据交互呈现分析关键字得到的就是几个方向 布局 样式 组装资源控件…

31天Python入门——第20天:魔法方法详解

你好&#xff0c;我是安然无虞。 文章目录 魔法方法1. __new__和__del__2. __repr__和__len__3. __enter__和__exit__4. 可迭代对象和迭代器5. 中括号[]数据操作6. __getattr__、__setattr__ 和 __delattr__7. 可调用的8. 运算符 魔法方法 魔法方法: Python中的魔法方法是一类…

栈 —— 数据结构基础刷题路程

一、P1739 表达式括号匹配 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N300008; struct mystack {int a[N];int t-1;//压栈void push(int data){a[t]data; } //取栈顶元素int top(){return a[t]; } //弹出栈顶元素void pop(){i…

瑞昱RTD2556QR显示器驱动芯片

一、概述 RTD2556QR芯片是由Realtek公司精心研发的一款高性能显示驱动芯片&#xff0c;专为满足现代显示设备对高分辨率、多功能接口及稳定性能的需求而设计。该芯片凭借其卓越的技术特性和广泛的应用领域&#xff0c;在显示驱动市场中占据重要地位。它集成了多种先进的功能模…

PyQt5和OpenCV车牌识别系统

有需要请加文章底部Q哦 可远程调试 PyQt5和OpenCV车牌识别系统 一 介绍 此车牌识别系统基于PyQt5和OpenCV开发&#xff0c;蓝牌&#xff0c;新能源(绿牌)&#xff0c;黄牌&#xff0c;白牌均可以准确识别&#xff0c;支持中文识别&#xff0c;可以导出识别结果(Excel格式)。此…

学有所记- 探索FastAPI在docker上的部署

目标&#xff1a; 学习怎样在docker中安装部署FastAPI&#xff0c;完成项目结构的搭建以及hello world的运行 背景&#xff1a; 公司内服务器资源有限&#xff0c;为了共享算力资源&#xff0c;同时又能隔离运行环境&#xff0c;因此采用了docker部署的方式&#xff0c;进行各…

HTTP keepalive 详解

一、简介 HTTP协议早期版本&#xff0c;比如1.0&#xff0c;默认是不使用持久连接的&#xff0c;也就是每个请求/响应之后都会关闭TCP连接。这样的话&#xff0c;每次请求都需要重新建立连接&#xff0c;增加了延迟和资源消耗。Keep-Alive的作用是保持连接&#xff0c;让多个请…

长短期记忆神经网络(LSTM)基础学习与实例:预测序列的未来

目录 1. 前言 2. LSTM的基本原理 2.1 LSTM基本结构 2.2 LSTM的计算过程 3. LSTM实例&#xff1a;预测序列的未来 3.1 数据准备 3.2 模型构建 3.3 模型训练 3.4 模型预测 3.5 完整程序预测序列的未来 4. 总结 1. 前言 在深度学习领域&#xff0c;循环神经网络&…

基于机器学习的三国时期诸葛亮北伐失败因素量化分析

一、研究背景与方法论 1.1 历史问题的数据化挑战 三国时期&#xff08;220-280年&#xff09;的战争史存在史料分散、数据缺失的特点。本研究通过构建包含军事、经济、地理、政治四大维度的结构化数据库&#xff0c;收录建安十二年&#xff08;207年&#xff09;至建兴十二年…

蓝桥杯省模拟赛 数位和

问题描述 只能被 1 和本身整除的数称为质数。 请问在 1 &#xff08;含&#xff09;到 1000000 &#xff08;含&#xff09;中&#xff0c;有多少个质数的各个数位上的数字之和为 23 。 提示&#xff1a;599 就是这样一个质数&#xff0c;各个数位上的数字之和为 59923 。 #…