发行候选版本(RC):Godot 4.1.2 RC1
By Yuri Sizov
译者 温吞
2023 年 9 月 22 日
本文章仅用作学习交流使用,如侵删。您有对翻译的疑问或更多问题,请随时指正。
您的点赞是我翻译的最大动力~ 希望可以帮助到各位 Godot 开发者~
自从 Godot 4.1.1 后我们也有一段时间没有动作了 —— 两个月没有发布新的补丁版本(都归咎于暑假!)。所以我们早就该从推出一个 RC 版本开始验证一切都井然有序、并没有什么新的改变引入回归。
Godot 4.1.2 包括了很多对稳定性的更新,解决了线程、编辑器功能、网络、GUI和渲染相关的崩溃问题。与简单对象的内存分配相关的一个重大 bug 也得到了妥善修复,这应该会提升性能和内存使用率,特别是成规模的(GH-81037)。对 GUI 节点也进行了很多的性能修复,例如 Tree 和 RichTextLabel ,这会给编辑器 UI 的某些部分带来更快的响应速度 (GH-79325, GH-80857)。渲染的后端也进行了一定程度的优化。
我们收到了一些关于 Web 平台上保存项目的问题的报告,这次更新解决了这些问题 (GH-79866),同时也解决了一些其他特定平台的 bug。4.1.2 中修复的另一个重要问题是当使用 Steam 输入时会收到了来自游戏手柄的二次输入 (GH-76045)。当然,还有一些较小的但是同样重要的改变和更新!
更新到维护版本一般来说是安全的,但是我们还是推荐始终留好备份,或是使用 Git 等版本控制系统,以在发生损坏或数据丢失的情况下保留好您的项目。
跳转到下载部分,立即试用,或继续阅读以了解此次版本中的更多改进信息。您也可以尝试此次更新中的 Web 编辑器和安卓编辑器。如果您对后者感兴趣,请加入我们的测试组 来获取预发布的构建。
本文的插图图片来自 Fisk——一款洛夫克拉夫特风格的开放世界生存恐怖游戏,由 Kristian Nilsen使用 Godot 4 开发( 顺便一提,该游戏使用Qodot 来创建几何体,值得推荐!)。在 Twitter 上关注 Kristian了解更多更新,现在就可以从官网下载 Fisk 。
更新
本次更新中 56 位贡献者提交了约 150 项改进。您可以从我们的交互式更新日志中查看完整的变更列表,其中包含指向此版本和之前每个版本的相关提交和 PR 的链接。下面是着重说明的变更:
- 2D: 修复编辑场景根节点为空时 Camera2D 的崩溃 GH-79645).
- 2D: 修复 CanvasModulate 调节画布时的逻辑 (GH-79747).
- 3D: 修复了当提示保存到外部文件时 VoxelGI 将 VoxelGIData 保存为内置文件的问题 (GH-78772).
- 3D: 修改相机曝光倍数属性的提示范围 (GH-79138).
- 3D: 修复 Curve3D 对非平凡曲线向量的烘焙 (GH-81885).
- 动画: 修复 Animation::subtract_variant 的仿射变换 (GH-79279).
- 动画: 修复 AnimationNodeTransition 的负时间尺度 (GH-79403).
- 动画: 通过正确的索引移除动画轨道 (GH-81651).
- 音频: 修复音频流生成器以外释放的问题 (GH-81508).
- 构建系统: 允许解绑 OpenXR (适用于 Linux 发行版) (GH-73443).
- 构建系统: 禁用 C++ 异常处理 (在 4.1 中默认关闭) (GH-80612).
- 构建系统: MSVC: 将构建选项配置传递给 Visual Studio 项目 (GH-79238).
- 构建系统: MSVC: 可选增量链接 (GH-80482, GH-81144).
- 构建系统: MSVC: 当 werror=yes 时使 /WX 在 LINKFLAGS 上启用 (GH-80711).
- C#: 修复对无参数重载委托的反序列化 (GH-78877).
- C#: 将缺少的 useModelFront 参数添加到 GodotSharp Basis 和 Transform (GH-79082).
- C#: 隐藏 hostfxr 未找到的错误 (GH-81690).
- 核心: 修复 Array.slice 的范围错误 (GH-79103).
- 核心: 修复 DisplayServerWindows::screen_get_pixel 中字节到浮点的颜色转换 (GH-79350).
- 核心: 修复数组转字符串时对递归级别的检查 (GH-79370).
- 核心: 修复 Node2D 和 Control 的全局变换有效性 (GH-80105).
- 核心: 修复对象执行 VariantWriter::write() 时对递归等级的检查 (GH-81123).
- 核心: 修复对-0.0 浮点值的字符串转换 (GH-81328).
- 编辑器: 修复历史记录不匹配 (GH-78827).
- 编辑器: 提高脚本类型图标的分辨率 (GH-79203, GH-81336).
- 编辑器: 不在编辑器中启用最小显示时间 (GH-79388).
- 编辑器: 自动添加内置脚本的路径 (GH-79920).
- 编辑器: 使用 ui_text_submit 替代 ui_accept 作为确认和关闭的文本提示框 (GH-81189).
- 导出: 修复 Windows 控制台包装器图标和普通图标交换的问题 (GH-80357).
- GDExtension: 修复对 GDExtension 的版本检查 (GH-80591).
- GDExtension: 修复来自 GDExtension 的 _export_begin, _export_file 和 _export_end 覆盖 (GH-80999).
- GDScript: 修复属性和组名称之间的冲突 (GH-78254).
- GDScript: 正确跟踪常量的范围 (GH-79301).
- GDScript: 修复当带有索引的委托人导致的 POT 生成器崩溃 (GH-82004).
- GUI: 使用缓存修复对 Tree 的性能回归 (GH-79325).
- GUI: 修复项目设置 root_node_layout_direction 被错误地暴露为范围 (GH-79611).
- GUI: 修复某些情况下 CodeEdit 完成非常缓慢的问题 (GH-80472).
- GUI: RTL: 移除条目/段落时使用列表迭代器提升性能 (GH-80857).
- GUI: 为 GUI 提示启用透明背景 (GH-81669).
- 导入: source_images 使用图像索引而不是纹理索引 (GH-80314).
- 输入: 阻止通过 Steam 输入时游戏手柄的二次输入问题 (GH-76045).
- 输入: 安卓: 为物理键盘事件设置 echo 属性 (GH-79089).
- 导航: 修复 NavigationObstacle2D 调试位置 (GH-79392).
- 导航: 修复 NavMesh map_update_id 返回 0 导致的错误 (GH-80189).
- 网络: 阻止多人游戏时通过线程访问 Node 的崩溃问题 (GH-79332).
- 网络: ENet: 更好地处理截断的 socket 消息 (GH-79699).
- 网络: ENet: 使用自定义频道时正确设置传输标志 (GH-80293).
- 网络: Web: 在 HTTPClientWeb 中总是返回 -1 作为正文长度 (GH-79846).
- 粒子: 添加对 GPU 3D 粒子的运动向量支持 (GH-80688).
- 移植: 修复 Web 平台的文件权限 (影响所有的类 Unix 平台) (GH-79866).
- 移植: macOS: 修复非活动工作区中窗口的无上限帧率 (GH-79572).
- 移植: Web: 修复 JavaScriptBridge.eval() 不返回 PackedByteArray 的问题 (GH-81015).
- 渲染: 在阴影通道和深度通道期间启用深度写入,在颜色通道期间禁用深度写入 (GH-80070).
- 渲染: 修复使用 precision=double 时运动向量被损坏的问题 (GH-80257).
- 渲染: 移除对 NoiseTexture3D.get_format() 的 GPU 读回 (GH-80407).
- 渲染: 限制体积雾的长度属性防止渲染问题 (GH-80485).
- 渲染: 当光照贴图的最大纹理尺寸过小时正确输出错误 (GH-81543).
- 渲染: 光照贴图器光栅化增加半像素偏移 (GH-81872).
- 渲染: GLES3: 当纹理过滤模式更改时重置各向异性过滤 (GH-79568).
- 渲染: GLES3: 修复使用颜色或自定义数据时的多重网格渲染 (GH-79660).
- 渲染: GLES3: 修复 MultiMesh 的内存访问错误 (GH-80788).
- 渲染: Vulkan: 修复纹理更新 (GH-80781).
- 渲染: Vulkan: 修复泛光灯/点光源、贴花、反射探针的崩溃问题 (GH-80845).
- 着色器: 允许 uniform 数组有更多类型提示 (GH-79100).
- 着色器: 修复着色器类型显示 (GH-79287).
- 着色器: 修复着色器和内置着色器资源的加载 (GH-80705).
- XR: 修复了在没有计时信息的情况下访问手部跟踪的问题 (GH-78817).
- XR: 确保正确声明 OpenXR 类(GH-81037).
- 第三方: FreeType 2.13.2, ICU4C 73.2, libpng 1.6.40, libwebp 1.3.2, mbedtls 2.28.4, miniupnpc 2.2.5, openxr 1.0.28, tinyexr 1.0.7.
本版本根据 58f0cae4a 提交构建(请参阅 README)。
下载
本次预发布版本的下载可以在我们的 Github 仓库中找到:
标准版构建 包括对 GDScript 和 GDExtension 的支持。
.NET 6 构建 (标记为 mono) 包含对 C# 以及 GDScript 和 GDExtension 的支持。
- .NET 构建需要在标准位置安装 .NET SDK 6.0 或 7.0 。
已知问题
目前此版本没有引入任何已知问题。
我们承认每次发布都会出现各种问题,这些问题已经被报告但尚未修复。请参阅 Github 问题追踪器以得到已知错误的完整列表。
错误报告
作为测试人员,如果您在本版本中遇到问题,我们鼓励您 报告错误。请先检查 GitHub 上已存在的 issue ,使用相关的关键字进行搜索,确保您遇到的问题还没有没有被汇报过。
特别是,任何可能对您项目的回归造成影响的更改都应该被报告 (例如某些内容在 4.1.x 中运行良好,但在 4.1.2 RC 1 中不再运行).
支持
Godot 是一个非盈利的开源游戏引擎,由数百名贡献者在闲暇时间开发,以及少数因对 Godot 社区的慷慨捐赠而雇佣的兼职或全职开发者开发。衷心感谢每一个为此项目贡献出他们 时间 和 资金支持 的人!
如果您想在经济上支持该项目并确保我们的雇佣可以继续进行, 您可以通过使用由 Godot 基金会 管理的 Godot 发展基金 平台来实现。这里还有几种您可能认为的更合适的 替代捐赠方式 。
暂无关于此日志的评论。