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
相关文章:
LayaAir3.3.0-beta.3重磅更新!Spine4.2、2D物理、UI系统、TileMap等全面升级!
正式版推出前,说明3.3的功能还没开发完。所以,又一大波更新来了~ 下面对重点更新进行说明。 Spine的重要更新 3.3.0-beta.3版本开始,新增了Spine 4.2 的运行时库,Spine动画上可以支持物理特性了。例如,下图右侧女孩在启…...
deepseek v3-0324 化学键线式Canvas编辑器设计
化学键线式Canvas编辑器设计 下面是一个基于HTML5 Canvas的化学键线式编辑器的基本实现方案。这个编辑器允许用户绘制有机化学中常见的键线式结构。 基本HTML结构 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"…...
解决 CMS Old GC 频繁触发线上问题技术方案
目录 一、CMS GC 工作原理 二、现象分析 (一)具体表现说明 (二)触发条件 三、总结优化措施 (一)调整 CMS 启动条件:降低 Old 区触发阈值 1. 原理分析 2. 建议配置 (二&…...
后端实现加解密工具类(记录)
后端利用3DES加解密工具类实现特殊字段加解密,比如个人信息、请求参数等 ,可以自定义密钥和IV加密,代码如下,直接使用即可。 import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory…...
云原生技术赋能企业数字化转型:实战案例与架构演进
引言:数字化转型的云原生机遇 在VUCA时代背景下,某金融科技企业面临系统扩展性差、运维成本高企的困境。通过采用云原生技术栈,6个月内实现资源利用率提升300%,故障恢复时间从小时级缩短至分钟级。本文将深度解析该企业技术演进路…...
驱动开发系列49 - 搭建 Vulkan 驱动调试环境(编译 mesa 3D)- Ubuntu24.04
一:搭建Vulkan运行环境 安装vulkan依赖包: 1. sudo apt install vulkan-tools 2. sudo apt install libvulkan-dev 3. sudo apt install vulkan-utility-libraries-dev spirv-tools 4. sudo apt install libglfw3-dev libglm-dev 5. sudo apt install libxxf86vm-dev libxi-…...
自然语言处理(26:(终章Attention 2.)带Attention的seq2seq的实现)
系列文章目录 终章 1:Attention的结构 终章 2:带Attention的seq2seq的实现 终章 3:Attention的评价 终章 4:关于Attention的其他话题 终章 5:Attention的应用 目录 系列文章目录 前言 一、编码器的实现 二、解…...
Qt5.14.2+mingw64编译OpenCV3.4.14一次成功记录
上一文中编译opencv4.5成功了,但是使用过程中没有成功,网上很多的代码没法跑起来,所以才有了此文来编译一个低版本的opencv3的过程记录,全程截图。 一、软件安装 1.1 Python3.8版本安装路径:C:\Users\Administrator\AppData\Loca…...
【数据库原理】基础篇:MySQL基础入门与实战指南
前言 在当今数字化时代,数据已成为企业运营的核心资产之一。而MySQL作为一款广泛使用的开源关系型数据库管理系统,凭借其高性能、可靠性和易用性,成为众多开发者和企业的首选。本文将从MySQL的基础概念出发,逐步深入到实际操作&a…...
使用Python解析PPT文件并生成JSON结构详解
引言 PowerPoint(PPT)文件的自动化处理是办公自动化和数据提取的常见需求。本文将介绍如何通过Python的python-pptx库,将PPT文件的样式、结构、文本内容等信息解析为标准化的JSON格式,为后续的自动化处理、数据迁移或样式复用提供…...
C#:第一性原理拆解属性(property)
目录 第一步:从最基本的需求出发 第二步:引入控制需求 第三步:优化访问方式 第四步:剖析属性的本质 第五步:进一步简化和演化 自动属性的定义和作用 自动属性的特点和限制 第六步:总结属性的第一性…...
nacos 2.x使用java语言实现自定义Loadbalance
一、核心实现思路 Nacos 2.x 的负载均衡自定义支持两种模式: 基于 Ribbon 的兼容方案(适用于 Spring Cloud 2020 之前版本)基于 Spring Cloud LoadBalancer 的方案(推荐,适配最新 Spring Cloud 2023 和 Nacos 2.x&am…...
torch.nn.Conv2d介绍——Pytorch中的二维卷积层
torch.nn.Conv2d是torch.nn模块中的二维卷积层类,用于构建神经网络中的二维卷积层。 1、基本语法 torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone)将 2D …...
ubuntu虚拟机裁剪img文件系统
1. 定制文件系统前期准备 将rootfs.img文件准备好,并创建target文件夹2. 挂载文件系统 sudo mount rootfs.img target #挂载文件系统 sudo chroot target #进入chroot环境3. 内裁剪文件系统 增删裁剪文件系统 exit #退出chroot环境 sudo umount target…...
一文详细讲解Python(详细版一篇学会Python基础和网络安全)
引言 在当今数字化时代,Python 作为一种简洁高效且功能强大的编程语言,广泛应用于各个领域,从数据科学、人工智能到网络安全等,都能看到 Python 的身影。而网络安全作为保障信息系统和数据安全的关键领域,其重要性不言…...
使用QT调试LidarView
前段时间使用VeloView想进行点云的显示,后来发现VeloView的尺子测距不好用,也没有筛选点的功能,就放弃了。kitware同家的还有LidarView,功能多一些,更新的时间更晚,而且还兼容速腾、禾赛等多家点云设备可以…...
JAVA:使用 Curator 进行 ZooKeeper 操作的技术指南
1、简述 Apache Curator 是一个基于 ZooKeeper 的 Java 客户端库,它极大地简化了使用 ZooKeeper 的开发工作。Curator 提供了高层次的 API,封装了很多复杂的 ZooKeeper 操作,例如连接管理、分布式锁、Leader 选举等。 在分布式系统中&#…...
【SpringCloud】LoadBalance-负载均衡
4. 负载均衡-LoadBalance 4.1 为什么需要负载均衡? 不知道各位心中有没有女神,通常来说一个女神就会有多个舔狗,那这些舔狗呢,就会心甘情愿的帮女神干活,假设女神小美现在有三个舔狗,小美喜欢让这三个舔狗…...
[250401] OpenAI 向免费用户开放 GPT-4o 图像生成功能 | Neovim 0.11 新特性解读
目录 OpenAI 向免费用户开放 GPT-4o 图像生成功能Neovim 0.11 新特性解读更简化的 LSP 设置和配置内置自动补全改进的悬停文档诊断信息增强更多默认键映射终端模拟器改进其他改进 OpenAI 向免费用户开放 GPT-4o 图像生成功能 2025年4月1日早上,OpenAI CEO Sam Altm…...
VBA数据库解决方案第二十讲:SQL在VBA中几种常见的表达方式
《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...
SAIL-RK3588J 核心板技术方案——高精度装配式建筑机器人控制
(本方案契合《建筑机器人产业目录》政策要求) 一、方案背景与政策支持 政策驱动 2025年2月《建筑机器人产业目录》明确将“高精度建筑机器人控制设备”纳入重点补贴范围,要求定位精度≤0.5mm、支持实时质检与多机协同,…...
人工智能在生物医药领域的应用地图:AIBC2025将于6月在上海召开!
人工智能在生物医药领域的应用地图:AIBC2025将于6月在上海召开! 近年来,人工智能在生物医药行业中的应用受到广泛关注。 2024年10月,2024诺贝尔化学奖被授予“计算蛋白质设计和蛋白质结构预测”,这为行业从业人员带来…...
C#高级:利用LINQ进行实体列表的集合运算
问题引入: Teacher实体的唯一标识符是Name和Classes字段(或者说这两个字段唯一确定一条数据),如何对两个实体列表做交集、差集运算呢?(并集直接调用AddRange方法即可) 一、重写方法实现 1.原…...
Python项目-基于Flask的个人博客系统设计与实现(2)
源代码 续 {% extends base.html %}{% block title %}评论管理{% endblock %}{% block content %} <div class"container py-4"><div class"row"><div class"col-md-3"><div class"list-group mb-4"><a h…...
2023第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(真题题解)(C++/Java题解)
记录刷题的过程、感悟、题解。 希望能帮到,那些与我一同前行的,来自远方的朋友😉 大纲: 1、日期统计-(解析)-暴力dfs(😉蓝桥专属 2、01串的熵-(解析)-不要chu…...
前端界面在线excel编辑器 。node编写post接口获取文件流,使用传参替换表格内容展示、前后端一把梭。
首先luckysheet插件是支持在线替换excel内容编辑得但是浏览器无法调用本地文件,如果只是展示,让后端返回文件得二进制文件流就可以了,直接使用luckysheet展示。 这里我们使用xlsx-populate得node简单应用来调用本地文件,自己写一个…...
在 Fedora 系统下备份远程 Windows SQL Server 数据库的完整方案
一、环境准备与工具安装 1. 安装 Microsoft SQL Server 命令行工具 Fedora 需安装 mssql-tools 和 ODBC 驱动: # 添加 Microsoft 仓库 sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo# 安装工具包 …...
从24GHz到71GHz:Sivers半导体的广泛频率范围5G毫米波产品解析
在5G技术的浪潮中,Sivers半导体推出了创新的毫米波无线产品,为通信行业带来高效、可靠的解决方案。这些产品支持从24GHz到71GHz的频率,覆盖许可与非许可频段,适应高速、低延迟的通信场景。 5G通信频段的一点事儿及Sivers毫米波射频…...
从【抖音安全与信任中心】观察企业如何做算法透明
抖音主动公开算法原理树立行业新标杆: “抖音安全与信任中心”网站(95152.douyin.com) 1 算法透明的几点准则 需涵盖技术逻辑公开、治理机制可查、用户参与共建等维度。以下是基于抖音案例总结的可行路径,以及几个准则࿱…...
html处理Base文件流
处理步骤 从服务返回的字符串中提取文件流数据,可能是Base64或二进制。将数据转换为Blob对象。创建对象URL。创建<a>元素,设置href和download属性。触发点击事件以下载文件。删除缓存数据 代码 // 假设这是从服务返回的Base64字符串(…...
MySQL内存管理机制详解
目录标题 MySQL内存管理机制详解1. **内存组成与核心组件**2. **RSS与共享内存的关系**3. **OOM问题排查步骤**4. **典型案例** Buffer Pool(缓冲池) 确实属于共享内存(Shared Memory)的核心组成部分?1. **Buffer Pool…...
《算法笔记》9.7小节——数据结构专题(2)->堆 问题 C: 合并果子(堆)
题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,…...
化繁为简解决leetcode第1289题下降路径最小和II
1289.下降路径最小和II 难度:困难 问题描述: 给你一个nxn整数矩阵grid,请你返回非零偏移下降路径数字和的最小值。 非零偏移下降路径定义为:从grid数组中的每一行选择一个数字,且按顺序选出来的数字中,…...
蓝桥杯省模拟赛 数位和
问题描述 只能被 1 和本身整除的数称为质数。 请问在 1 (含)到 1000000 (含)中,有多少个质数的各个数位上的数字之和为 2323 。 提示:599 就是这样一个质数,各个数位上的数字之和为 59923 。…...
MySQL和Oracle批量插入SQL差异详解
文章目录 MySQL和Oracle批量插入SQL差异详解1. 基本批量插入语法1.1 MySQL批量插入1.2 Oracle批量插入 2. 带序列的批量插入2.1 MySQL带自增ID的批量插入2.2 Oracle带序列的批量插入 3. 条件批量插入3.1 MySQL条件批量插入3.2 Oracle条件批量插入 MySQL和Oracle批量插入SQL差异…...
YOLOv5配置训练以及华为昇腾910B推理
参考文章: 保姆式yolov5教程,训练你自己的数据集 - 知乎 Windows 10|11下安装mmyolo-0.5.0版本 - 知乎 Ubuntu22.04安装教程&基于华为Ascend AI处理器的om模型atc转换环境安装_ubuntu安装atc工具-CSDN博客嵌入式AI---在华为昇腾推理自己的yolov5目标…...
Visual Studio Code配置自动规范代码格式
目录 前言1. 插件安装2. 配置个性化设置2.1 在左下角点击设置按钮 ,点击命令面板(或者也可以之间按快捷键CtrlShiftP)2.2 在弹出的搜索框输入 settings.json,打开首选项:打开工作区设置;2.3 在settings.jso…...
【网安面经合集】42 道高频 Web 安全面试题全解析(附原理+防御+思路)
对于正在准备 安全岗求职或实习的同学们来说,Web 安全面试题几乎是必问项。 尤其是一些经常出现的考点,比如 SQL 注入、XSS、CSRF、反序列化、逻辑漏洞、WAF 绕过等等,不仅需要你知道“是什么”,还得能“讲清楚原理、分类、修复和…...
论文笔记(七十五)Auto-Encoding Variational Bayes
Auto-Encoding Variational Bayes 文章概括摘要1 引言2 方法2.1 问题场景2.2 变分下界2.3 SGVB估计器与AEVB算法2.4 重参数化技巧 3 示例:变分自编码器(Variational Auto-Encoder)4 相关工作5 实验6 结论7 未来工作 文章概括 引用࿱…...
前端学习记录之HTML
1. 网页 1.1 什么是网页 网站是指在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”,通常是HTML格式的文件,它要通过浏览器来阅读 网页是构成网站的基本元素。它通常由图片,…...
程序化广告行业(39/89):广告投放的数据分析与优化秘籍
程序化广告行业(39/89):广告投放的数据分析与优化秘籍 在程序化广告的领域中,数据分析与优化调整是实现精准投放、提升广告效果的核心环节。作为一名热衷于探索程序化广告的学习者,我希望通过这篇博客,和大…...
蓝桥杯 01游戏
问题描述 小蓝最近玩上了 01 游戏,这是一款带有二进制思想的棋子游戏。 游戏在一个大小为 N N 的棋盘上进行。棋盘上的每个位置都需要放置一个数字 0 或 1。初始情况下,棋盘上有一部分位置已经放置了固定的数字,玩家不可以更改这些位置。其…...
NoSQL 数据库的适用场景与局限性分析
NoSQL(Not Only SQL)数据库是一类非关系型数据库,通过灵活的数据模型和分布式架构解决传统关系型数据库在扩展性、性能和数据多样性上的瓶颈。以下从技术特性、适用场景、不适用场景及行业实践展开分析: 一、NoSQL数据库的核心技术特性 四大数据模型 文档型:以JSON/BSON格…...
个人网站:基于html、css、js网页开发界面
1、注册 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>注册页面</title><link rel&qu…...
嵌入式图像采集与显示系统实战详解:基于V4L2与Framebuffer的实现
在嵌入式Linux开发中,图像采集与显示是非常典型的一类应用场景。本文将基于 ARM9(S3C2410) 平台,深入讲解如何使用 V4L2 框架从 USB 摄像头采集图像数据,并通过 Framebuffer 接口实时显示到 LCD 屏幕。内容涵盖驱动架构…...
庙算兵棋推演AI开发初探(6-神经网络开发)
碎碎念: 老师让我和同学组队参加10月底截止报名的庙算比赛,我俩走运进了64强,打的过程中发现了一个重要问题——为什么别人总能打我,但是我都看不见!就像玩dota被对面英雄莫名其妙单杀了但是他就一直隐身我都不知道怎…...
嵌入式硬件篇---嘉立创PCB绘制
文章目录 前言一、PCB绘制简介1.1绘制步骤1.1.1前期准备1.1.2原理图设计1.1.3原理图转PCB1.1.4PCB布局1.1.5布线1.1.6布线优化和丝印1.1.7制版 1.2原理1.2.1电气连接原理1.2.2信号传输原理1.2.3电源和接地原理 1.3注意事项1.3.1元件封装1.3.2布局规则1.3.3过孔设计1.3.4DRC检查…...
AI与.NET技术实操系列(四):使用 Semantic Kernel 和 DeepSeek 构建AI应用
1. 引言 在人工智能技术飞速发展的今天,大型语言模型(Large Language Models, LLMs)已成为智能应用开发的核心驱动力。从智能客服到自动化内容生成,LLMs的应用正在深刻改变我们的工作和生活方式。 对于.NET开发者而言,…...
Vue 组件 - Slot 内容分发
Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue组件 - Slot 内容分发 目录 Slot内容分发 旧版slot 单插槽 使用插槽 具名插槽 插槽实现导航 使用插槽优点 新版slot Or 插槽版抽屉 总结 Slot内容分发 混合父组件的内容和子组件自己模板 -- 内容分发 父组件模…...
Mysql之事务(下)
🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 5. 事务的隔离级别与并发控制 5.1事务的隔离级别 5.2查看与设置事务的…...