2026-09-07 引擎周报
✨ 新功能
- Motion Warping:为旋转注入添加缓动函数,并重构
WarpRotation函数以提高可读性。 - UAF:为 anim tree 资产添加视口支持;为 Chooser Editor 添加编译按钮支持;添加 workspace outliner 对 anim tree 的支持;添加 chooser 随机化上下文支持。
- Composite:添加可选的 Chroma Projection keying,与现有 RGB keyer 并存。
- Control Rig:扩展 promise 系统;为动画通道实现
GetElementTypeToSpawn。 - Sequencer:添加
Shift+M快捷键,在播放头处切换标记而不打开编辑对话框;Simple View 时间轴现在只显示选中的动画细节属性键。 - Curve Editor:简化过滤器添加 “Keep Only Marks” 或 “Mark Ranges” 选项。
⚡ 性能优化
- Control Rig:修复 FK Control Rig 初始化中的二次方开销,显著提升大型控制装备的初始化性能。
🐛 Bug 修复
- Sequencer / Curve Editor:修复动画混合器根运动烘焙在子序列中错误时间求值的问题;修复删除曲线在 Curve Editor 中打开的 section 时崩溃;修复步进到下一/上一关键帧未考虑 shot 内部播放范围边界的问题;修复 Simple View 的多个问题(重定时工具绘制顺序、命中测试、撤销;键选择与重建通道缓存协调;范围绘制短一帧;隔离通道时保持键可见);修复 Curve Editor 在非 100% 显示缩放下框选和缩放轴偏移的问题。
- Control Rig / RigVM:修复
URigVMNode::FindExecutePin()空指针崩溃;修复 skeletal mesh component 无法选择 BPI rigs 作为 Default CRs;修复多个 undo/redo 和 UI 问题(重命名通过 Promote To Variable 创建的变量破坏其 Get 节点;变量无法通过 Category 搜索;撤销函数变体创建抛出 ensure 并残留;Details panel 添加引脚后仍显示函数;用户定义枚举解析为原始名称;撤销恢复对象引脚上的空默认值;拆分或合并蓝图独立 rig 上的资产变体现在可撤销;从图上下文菜单添加注释不根据所选节点调整大小);修复 promote pin to variable 在已存在同名变量时进入重命名模式针对旧变量而非新变量;修复 Null 元素忽略Propagate to Children = false的问题。 - UAF / Animation:停止已完成的 dead blend 过渡重新引入其 extrapolation op;停止 module instance components 横向转换到
FAnimNextModuleInstance;修复 Skeletal Mesh 减少时无几何体导致崩溃;修复 Static Mesh 转 Skeletal Mesh 对话框打开时崩溃。 - PCG:修复多个崩溃和边界问题,包括解引用空
UPCGEdges、并发 Original 拆卸时GetLocalSource崩溃、ray trace dispatch 超过每维度最大线程组数、LOD 越界访问以及整数属性插值漂移。 - Mutable:修复 Groom Constant 节点向后兼容问题;修复 MorphTargets 在流式 LOD 中不生成(当驻留 LOD 中不存在时)的问题。
- 其他:
- AccumulationDOF:修复视口预览中的 use-after-free 崩溃。
- RewindDebugger:不再要求确认的 Server 构建目标来录制 DedicatedServer 世界。
- World Bookmark:修复捕获 FOV 为 90 度而非 piloted 相机 FOV。
- AIE:修复 Motion Trails 切换热键未更新视口工具栏按钮状态。
- PerfReportTool:修复优先使用 Horde 注册表设置而非环境变量的问题,与其他 Horde 工具行为一致。
- D3D12 RHI:防止 RHI 线程超前提交线程导致 residency set handles 耗尽。
- Groom:正确将最大 LOD 限制在可用 LOD 数量内。
- GameplayInsights:修复 ObjectLifetimeEnd 双重关闭记录间隔。
- Landscape:移除 property handle
Set/GetValue中的 ensures(可在父属性节点释放后由 Slate 回调触发);修复 New/Resize 工具中的虚假断言。 - UnrealBuildTool / UnrealHeaderTool:即使没有代码模块也处理 marketplace plugin assembly,确保纯内容插件被检测;即使模块没有导出类也始终写出
[ModuleName]Classes.h。 - HLOD commandlet:防止 GPU 虚拟地址空间耗尽。
- FastGeo:修复 PSO recreate batch 中的并发重复处理。
- Mac:修复
TerminateProc(KillTree)只杀死直接子进程的问题。 - Dataflow:修复异步加载期间注册变量节点属性更改处理器的数据竞争。
- iPhonePackager:对嵌入 app bundle 的框架进行签名。
- Fab:修复 megascans 3D 植物和贴花的混合模式问题。
- WorldPartition:在 actor descs 中序列化根组件绝对变换标志,防止仅父级保存导致使用绝对位置/旋转/缩放的子级漂移。
- MovieRenderPipeline:修复命名令牌解析时未使用活动 Cine Assembly 的问题;修复模块初始化问题导致 “Editor is not available” 警告。
- SVG:修复导入超大宽度/高度的 SVG 时崩溃。
- RigLogic / GeneSplicer / DNACalib:更新到最新版本,解决多个漏洞报告。
🔧 API 变更
- 将已弃用的
FString(Len, Ptr)构造函数替换为FString::ConstructFromPtrSize(Ptr, Len)。 - 移除 ProceduralVegetation 私有头文件和编辑器模块中的死 API 导出。
⚠️ 废弃预告
- DDC:使用 FileSystem 缓存存储时添加废弃警告。