2026-05-20 引擎周报
✨ 新功能
- 动画与IK: 新增
Proximity IK和Pelvic Volume操作的初始基线。 - 渲染与媒体:
MoviePipeline中的 EXR 节点现在支持指定 DWAA/DWAB 压缩格式。 - 编辑器工具与框架: 推出初始版
MVVM Toolset插件,支持通过蓝图资产创建和修改 Viewmodel;新增Composable Solvers Plugin。 - UI与交互:
ListView控件引入了跨条目导航、对齐感知滚动及不规则行修正功能;为Robomerge添加了暗黑模式。 - 数据分析:
IoStoreDependencyViewer新增了按资产统计包含性/排他性依赖大小的功能。 - 输入与调试:
Input Debugger的事件日志现在可以记录输入预处理器消耗事件的时间和处理器信息;Slate调试器也新增了类似事件。 - 编辑器功能:
FindInAnimNextRigVMAsset支持按资产/函数分组;为EditorAppToolset添加了获取/设置 CVar 值的工具。 - 其他:
MeshPartitionActor的细节面板中将“网格分区”类别移至顶部(变换属性下方);Verse的SetupVerse函数新增publicName参数。
🚀 重大变更
- 数学库: 移除了
InvSqrtEst和VectorEstimate数学函数。 - 网络与内存:
RemoteHeap的网络协议得到简化。 - 音频: 移除了音量调制(Volume modulation)参数默认的 0-1 范围限制。
⚡ 性能优化
- 硬件光线追踪 (HWRT): 改进了
ComputedPrimitiveCountForValidation的日志记录。 - 材质编辑器: 优化了材质编辑器中的 Shader Stats 显示性能。
- 资产验证: 在验证期间启用了异步资产预加载。
- PCG: GPU SM Spawner 通过从密集遍历剔除单元格改为稀疏遍历,修复了 CPU GameThread 的成本峰值问题。
- 其他: 为 SQLite 预处理语句添加了
string_view重载以提升性能;优化了Track Changes操作,通过批处理、并行化和减少Populate相关工作量来提升效率。
🐛 Bug 修复
- 核心与系统: 修复了
FPackageLocalizationCultureCache::RemoveRootSourcePath在移除路径匹配时过于激进的问题;修复了AutomationTest中LatentBeforeEach在 lambda 内部排入潜在命令时可能导致的死锁;修复了在粘贴无效的曲线图集(Curve Atlas)参数时发生的崩溃。 - 渲染与材质: 修复了
ImgMedia中球体上采样 mip 在 tile-pyramid 根节点的限制,并保护了极点的各向异性奇点;修复了HairCardsVertexFactory中GetMaterialVertexParameters纹理坐标数组大小不匹配的问题;修复了TSR中为所有 16 位类型采样纹理声明_resource以确保 SPIR-V 获得 fp32/uint32 采样类型的兼容性问题。 - 编辑器与工具: 修复了
Audio Insights中事件日志在 scrubbing 时自动在细节面板设置新项的问题;修复了DataHierarchyEditor中将多个属性拖放到某个已包含属性的类别时出现的 bug;修复了SkeletalMeshModelingTools中多边形组边缘可视化器在网格变形后不更新的问题;修复了编辑器关闭时,MeshTerrainMode的 lambda 因捕获 Slate 控件生命周期延长导致的崩溃;修复了SkinWeightsPaintTool在 Mesh 模式下仅选择1个顶点时返回无效 FBox 的问题。 - 动画与物理: 修复了在数据库仍在处理 DDC 时删除它们的问题;修复了动画层(Anim Layers)在具有动画的控件上添加变更的新工作流问题;修复了
Geometry Collection内部集群对Crumble Cluster不响应的问题。 - 电影渲染管线: 修复了使用过扫描(overscan)时,非 16:9 宽高比渲染的信箱/邮筒效果可能被部分裁剪掉的问题。
- 输入与交互: 修复了
StylusInput中多个Wintab实例以及NSEvent上下事件的问题;修复了DebugCameraManager垃圾回收问题的临时方案(过滤无效的调试摄像机)。 - USD: 修复了 USD Pregen 允许导入以非字母数字字符开头的文件的问题(通过添加下划线前缀);修复了
MaterialX转换器生成的节点未被正确标记原始路径导致预生成找不到资产的问题。 - PCG: 修复了
Metadata Array操作的日志记录问题;在Elevation Isolines中添加了安全检查,以防止尝试生成过多点时出错。 - Horde: 修复了
Build Health仪表板中已安装变体的管理员访问权限问题;修复了剪贴板相关的复制上下文问题;修复了项目过滤器搜索上下文现在应能正常工作。 - 其他: 修复了
Motion Design中场景状态数据链接任务因缺少有效元数据标签而不出现的问题;修复了Output Tag查询选择器列未使选择器表变脏的问题;修复了提交工具等待可选(非完成)任务的问题;修复了PropertyBagHierarchyViewModel引用计数所有权问题,避免了资源编辑器关闭后的崩溃;修复了FPropertyChangeEvent重构破坏了为非容器属性创建FPropertyChangeEventContainerKeys的旧代码的问题。
🔧 API 变更
- ModelContextProtocol: 将
load_toolset替换为call_tool分发器。 - 数据缓存 (DDC): 向
ICache接口添加了SetShuttingDown()和WaitForIdle()方法;将速度等级枚举移入文件系统缓存存储;将 pak 文件缓存的跟踪与合并移入 pak 文件缓存存储;向旧路径添加了空回调。 - Verse (UBT):
SetupVerse函数现在接受publicName参数,允许为生成的 Verse 摘要指定面向用户的名称。 - 构建系统: 将
WinArm64添加到OnlineTest的 LLT 预检模板中。 - 动画: 为
USimpleWalkingMode和USimpleSpringWalkingMode的UCLASS()添加了MinimalAPI,以允许子类化。