2026-05-18 引擎周报
✨ 新功能
- Unreal Toolbox:新增系统/明亮/暗黑三种主题选择器,并支持网络恢复时自动触发 ToolCatalog 更新轮询。
- 虚拟阴影贴图(VSM):新增接收器遮罩覆盖度与静态页面阴影遮罩的可视化模式。
- nDisplay / 调试工具:为 TMV 添加了用于调试瓦片边框的 cvar,支持透明度控制,颜色模式与 TmvConverter.TintMipmaps 一致。
- 材质编辑器:在新的材质翻译器中,暴露了 LocalPosition / WorldPosition 发射器辅助函数。
- 高斯溅射(Gaussian Splatting):正式公开 GaussianSplat 和 NiagaraGaussianSplat 插件。
- 物理资产编辑器(PhAT):新增质心线(Center of Mass Line)粗细的用户设置。
- PCG:在节点调色板中为 GPU 友好型节点添加了徽章标识。
- 渲染:新增允许冻结 Shadow Depth 渲染的功能,可复用当前已渲染的阴影深度信息。
- 输入捕获:为捕获 DI 添加了排除模式。
- 工具链:UGS 支持市场工具同步、依赖项强制及 Toolbox 依赖关系 UI。
🚀 重大变更
- DDC:彻底移除了
ILegacyCacheStore接口,并将相关的统计功能迁移至ICacheStoreOwner。 - 材质系统:新的材质翻译器中,针对已损坏的命名重定向用法节点,重现了旧版回退(不报错)行为。
- Shader 编译:升级 SPIRV-Tools 至 commit
c1cb30b,并同步升级 SPIRV-Headers。 - Vulkan RHI:支持从非绑定式(non-bindless)切换到绑定式(bindless)管线,此功能用于材质编辑器预览。
- Python API:将
FValidateAssetsExternalObject和FValidateAssetsDetails结构体暴露给 Python。 - 查询句柄:将
FQueryHandle的静态无效句柄值从uint64::max()修改为0。 - 精确数学:为 V7 版本在 Microsoft 平台上的编辑器和程序更新了精确数学门控,并添加了升级警告。
- 序列化:改进了带有效负载的委托(delegates with payloads)的保存逻辑,当绑定对象失效时将其保存为未绑定状态,以减小补丁体积。
- Mesh Description:修复了在迭代过程中直接从 map 中移除元素可能导致的潜在问题。
- 工具链:更新 zenserver 至 v5.8.11 版本。
⚡ 性能优化
- Verse 编译:修复了因大量使用泛型类型而导致的 O(n^2) 编译性能下降问题。
- DDC:修复了层级结构中异步请求的跟踪问题,以正确支持
WaitForQuiescence。
🐛 Bug 修复
- 崩溃修复:修复了多个导致引擎或编辑器崩溃的问题,包括:monolithic 编辑器构建中的静态初始化崩溃、Vulkan 管线缓存加载崩溃、AABB 树构建崩溃、客户端启动时的断言崩溃、SemanticSearch 索引启动崩溃、GFP Pak 卸载导致的 Shader PSO 崩溃。
- 平台修复:修复了 iOS 项目从 Windows 构建时因
.mobileprovision文件解析错误导致的失败;修复了 macOS/iOS 可移植工具链标志错误;修复了 Linux 下VTABLE_OFFSET对齐的未定义行为。 - 渲染与视觉:修复了 Nanite 使用硬件光栅化(Prim Shader VS)时的渲染问题;修复了 nDisplay 中 GUI 纹理尺寸小于视口尺寸时的闪烁问题;修复了物理材质编辑器(PhAT)的标签页问题及质心线显示问题;修复了 Mesh Partition 默认材质函数和子图 Bug;修复了材质编辑器视口在 Shader 编译期间旋转失效的问题。
- 材质系统:在新材质翻译器中,修复了 TextureStreamingMarkup 代码使用纹理对象的方式;修复了 MIR 常量折叠器对
UO_Sign断言失败的问题。 - 动画与物理:修复了 SkewWarp 在根运动动画极小但非零时产生 NaN 的数学错误;修复了 OpenColorIO 在保存时未刷新
ConfigHash导致烹饪期间出现不必要的“需要重新保存”警告的问题。 - 编辑器与工具:修复了编辑器异步加载期间因子对象实例化导致的断言错误;修复了本地化命令行工具预览模式尝试操作不存在或只读文件的问题;修复了曲线编辑器中时间扭曲(Time Warp)曲线模型的错误;修复了 Text3D 函数仅在编辑器中定义导致的可移植性问题。
- 工具链与依赖:修复了 Unreal Toolbox 自更新失败的问题,确保在移动新版本前无条件清理旧路径;修复了 GitHub Marketplace API 返回 401 时未正确处理身份验证失败的问题;修复了 Horde 构建中 NuGet 许可证检查的相关问题。
- 其他:修复了
FArchiveReplaceObjectRef中未遍历 VCells 的问题;修复了FMeshPassProcessor中的断言失败;修复了弱指针与原子操作交互产生的新 autortfm 风险;修复了快速数学(fastmath)更改引入的新错误;禁用了 SemanticSearch 启动时的索引缓存以避免崩溃;修复了动画角色网格体静态光线追踪几何体 LOD 流式加载状态标记问题。
🔧 API 变更
- DDC:移除了
ILegacyCacheStore,相关接口已整合或迁移。 - 查询句柄:
FQueryHandle::InvalidHandle的默认值已更改,使用者需注意。 - Python 脚本:资产验证相关的两个结构体现已对 Python 脚本可见。
- 渲染:Vulkan RHI 的绑定式管线切换现在得到了正式支持。
⚠️ 废弃预告
(本周无相关提交)