
开发快照:Godot 4.5 dev 4
对于上周参加GodotCon的各位开发者,我们祝愿大家返程平安!未能到场的同仁,我们已在官方博客发布部分亮点内容——例如期待已久的.NET网页端支持——本周还将持续更新更多资讯。值此之际,我们正式推出全新开发快照:4.5 dev 4。本次更新包含多项重磅功能,强烈建议测试人员提交反馈与缺陷报告。
封面图来自Majorariatto(Twitter)开发的精确平台游戏《Ambidextro》,该作要求玩家双手同步操控两个角色。现已在Steam、任天堂Switch和Xbox平台发行。
核心亮点
若您错过了前面的版本,请查阅4.5 dev 1、4.5 dev 2及4.5 dev 3的更新说明,了解已实现的关键特性。这些功能在dev 4中仍可供测试。
macOS:嵌入式窗口支持
继Windows和Linux平台后,macOS用户现可通过GH-105884提交的改动获得编辑器内嵌窗口支持。由于macOS系统底层限制,Stuart Carnie采用创新性跨进程通信方案:游戏进程进行离屏渲染后,通过帧缓冲区传输至编辑器窗口,同时实现输入事件反向传递。该架构虽复杂度较高,但规避了传统窗口管理方案的边缘场景问题,未来或移植至其他平台以增强稳定性。
三维物理插值迁移至场景树
针对原有三维插值系统的设计缺陷(未考虑场景侧对插值变换的访问需求),lawnjelly通过GH-104269重构底层架构,将核心逻辑整体迁移至SceneTree,同时完美保留现有API接口。现有项目无需任何修改即可享受新架构优势。
支持导出Variant类型变量
Tomasz Chabora在GH-89324中突破技术限制,现允许直接导出Variant类型变量。开发者不仅可修改变量内容,更能动态调整变量类型,显著提升导出灵活性。
标签的多层轮廓叠加
Daisin-Yu提交的GH-104731彻底解决文本效果叠加难题。用户现可为标签添加多层轮廓/阴影特效,无需繁琐的文本对象叠加方案,实现真正的效果层级叠加。
环境光高光遮蔽
通过GH-106145提交的改进,Lander为渲染器新增基于环境光的高光遮蔽选项。该功能现可通过项目设置开关控制,对比效果如下(左侧禁用、右侧开启):
其他重要更新
• 核心模块:新增 Node.get_orphan_node_ids 方法并优化 Node.print_orphan_nodes 的调试输出(GH-83757)
• 核心模块:为ZIP压缩模块添加压缩等级参数支持(GH-103283)
• 核心模块:修复类型化字典(typed dictionaries)的调试问题(GH-106170)
• 核心模块:在崩溃处理程序中增加脚本调用栈打印功能(GH-105741)
• 编辑器:新增设置选项,允许将主菜单折叠为MenuButton控件(GH-105944)
• 编辑器:默认启用"外部修改时自动重载脚本"功能(GH-97148)
• GUI系统:新增CTRL+鼠标中键拖拽缩放视图功能(GH-105625)
• GUI系统:新增属性控制焦点事件触发虚拟键盘显示(GH-106114)
• 资源导入:采用libjpeg-turbo库提升JPG兼容性与解码速度(GH-104347)
• 网络模块:修复mbedTLS在多线程环境下的并发问题(GH-106167)
• 粒子系统:重构光照、贴花与粒子碰撞器的剔除掩码实现(GH-102399)
• 平台适配:Android年度SDK版本升级(GH-106152)
• 平台适配:将Android最低支持SDK版本提升至24(API Level 24)(GH-106148)
• 平台适配:Wayland协议新增fifo_v1处理并优化挂起逻辑(GH-101454)
• 渲染管线:在显存分析器中增加网格资源统计(GH-103238)
• 渲染管线:允许无运动向量的网格位移操作(GH-105437)
• 渲染管线:Forward+渲染改用DFG查找表替代当前BRDF近似,并加入多重散射能量补偿(GH-103934)
• 渲染管线:新增车轮自定义插值功能(FTI系统)(GH-105915)
• 着色器系统:开放内置区域信息访问接口(GH-90436)
本次更新共有105位贡献者,提交了261项修复。您也可以关注Godot Hub的Godot PR日报(https://pd.qq.com/s/d10ctp2m9) ,获取更及时的Godot引擎改进内容。