Skip to content

2026-08-24 引擎周报

✨ 新功能

  • UAF Layering:为基于动画节点的层级堆栈添加工作区预览支持,使开发者可以在工作区直接预览层级配置效果。
  • Control Rig Rig Promises:引入 Rig Promises,在 Rig 构建之前提供关于该 Rig 将构造内容的契约,调用方无需等待 Rig 完全构建即可获取关键信息。
  • UAF Entity Movement Trajectory:为 Verse 场景图实体添加实体运动轨迹生成能力,用于支持基于运动轨迹的动画和游戏逻辑。
  • Direct Mesh Control
    • 支持从子组件(拥有或附加)提取 DMC 数据,扩展了数据来源范围。
    • 报告影响 DMC 形状生成的骨骼网格简化设置,帮助开发者理解形状生成依据。
  • Group Paint Tool:添加隔离选择和对称绘制能力,提升群组绘制工具的灵活性和效率。
  • Anim Mixer:为 Anim Mixer 添加 FBX 导出和 Map Skeletal Motion to Root 功能,使其与动画编辑器功能对齐。
  • Xbox Live / GDK:添加 2017 模式成就进度百分比支持,并支持获取 2017 模式的排行榜,同时设置正确的排行榜模式。
  • UnrealTraceServer:发布 1.25 版本,包含内部改进和修复。
  • UAF Editor:使属性包支持的变量默认值编辑可事务化,支持 Undo/Redo 操作。
  • AIE Time Posing:重新设计激活种子逻辑,在 FTimePosingSequencerExtension::SetActive 中统一解析种子,消除与曲线编辑器适配器的竞争条件,并改进居中行为。

⚡ 性能优化

  • UAF:将属性模式和类型化集合容器合并为单个分配,减少内存分配次数和内存碎片。
  • FInpaintSolver:预计算 inpaint 能量矩阵,在多个属性传递之间重用,避免重复计算,加速属性传递过程。
  • Direct Mesh Control
    • 如果网格未被渲染,则不更新网格对象或排队变形器工作,避免每帧不必要开销。
    • 生成 DMC skms 时移除无用属性,减少内存占用和潜在处理开销。
  • Gizmo:修复动画模式在不需要时绘制 Gizmo 的问题,减少额外绘制调用。

🐛 Bug 修复

  • Niagara:修复 FNiagaraScriptExecutionContextBase::InitDITickLists 中的编辑器崩溃。
  • Sequencer
    • 修复子轨道编辑器重置关卡编辑器模式的问题。
    • 修复 CurveEditor 销毁时挂起延迟修改导致的崩溃,以及销毁期间更新细节面板导致的崩溃。
    • 修复 FWidgetAnimationState::OnStopped 中的罕见崩溃。
    • 修复 soft object 引用数组元素关键帧支持及崩溃。
    • 修复过滤栏添加过滤器和自定义过滤器时使用计数而非添加索引的问题。
    • 修复绑定落在第 0 帧时视图范围更新被静默拒绝的问题。
    • 修复通道隔离限制手动关键帧的问题。
    • 修复数据层轨道选择器显示未注入外部数据层的问题。
    • 修复回收时通道组序列号未更新,并加固 IKeyArea 重新初始化。
    • 修复骨骼动画区段范围设置器未触发 OnSectionMoved,导致脚本编辑不重新计算过渡。
    • 修复 AnimMixer 修饰符行添加无关修饰符的问题。
    • 修复子视图模型从物化副本分离期间迭代器活跃的问题。
    • 修复简单视图高亮选择移动额外拖动一帧的问题。
  • Control Rig / Animation
    • 修复 Control Rig 动画节点未绑定所有者组件的问题。
    • 修复 Blueprint 重新实例化时 Control Rig 层实例源动画实例的重新映射。
    • 避免 CreateInstance 返回空动画节点。
    • 修复 Control Rig 层实例超出源动画实例生命周期时的断言。
    • 拓宽 Sequencer 附加 Control Rig 的检查,防止误判。
  • PCG:修复退出时清理变更追踪器崩溃,以及 FPCGContext::GetTaskName 重入导致的栈溢出。
  • Landscape
    • 修复 GetTargetLayerSettings 从 const 访问器修改 landscape proxy 的问题。
    • 推测修复 landscape grass 因加载/卸载时组件部分未注册导致的崩溃。
  • Material Editor:修复异步 RDG 复制通道仍在使用时销毁 FRHIGPUTextureReadback 导致的崩溃。
  • UAF / Core Object
    • 修复 ASan 进程退出时静态析构的 heap-use-after-free。
    • 修复 subsystem collection 所有者在未反初始化时被 GC 导致的崩溃。
    • 修复 ProxyTableEditor 细节面板多个问题:中途编辑重建、选择跳过组头、保留新行选择、继承行只读。
    • 修复集合撤销时未广播 OnSetsChanged。
    • 修复设置绑定时骨骼不匹配的检查。
    • 限制集合绑定属性类型选择器仅显示已注册类型。
    • 修复 Python 引用的 PIE actor 在 PIE 拆除前未清除的问题。
  • Editor / Core
    • 修复 Visual Studio 打开代码时偶发编辑器崩溃。
    • 修复 UStatusBarSubsystem 在关闭时保持 SLevelEditor 存活的问题。
    • 修复 toolset 对象参数拒绝已销毁对象的问题。
    • 修复 ModelContextProtocol 在命令行中跳过配置驱动自动启动。
    • 修复 Pending focus 清除逻辑。
    • 修复 Data Layer 服务器在 UWorld::UpdateLevelStreaming 重入时致命错误。
    • 修复 LiveLink FAppTime 时间上下文 ensure 问题。
  • Constraints
    • 修复 Use Current Offset 在创建时使用提供的偏移。
    • 修复依赖创建和通道排序。
  • AIE
    • Motion Trails 子范围当前时间着色修复。
    • Time Posing 菜单复选框渲染修复。
    • Time Posing 取消注册和菜单显示修复。

🔧 API 变更

  • LevelSequenceEditor:新增 RestorePreAnimatedState 和原生 GetCurrentSequencer 方法,方便脚本和扩展调用。
  • Sequencer:通过 UMovieSceneSequenceExtensionsIsPlayableDirectly / SetPlayableDirectly 暴露给蓝图和 Python。
  • RigVM:进行小型 API 修复,提升 AI 友好性。
  • Sequencer:规范化绑定上下文标识符,使其成为干净一致的令牌(无前导 F、无空格),并提供人类可读的显示名称。
  • UAF:将 FAttributeNamedSet / FAttributeTypedSet 重命名为 FNamedSetSchema / FTypedSetSchema,并更新相关文件。
  • SStructureDetailsView:支持 bShowHeaders,使结构细节视图可以隐藏分类头,与 SDetailsView 行为一致。