2026-10-05 引擎周报
✨ 新功能
- RigVM:拖拽变量到输出引脚会自动添加 Set 节点。
- Curve Editor:为 broken tangents 新增 Lock Tangent 切换,可通过工具栏按钮或默认热键 E 锁定 arrive 和 leave tangent 的角度与权重共同编辑;同时支持在选中不同类型关键帧时编辑时间和值。
- Gizmos:新增 Camera Space Nudge 热键。
- Control Rig:首次实现 modular rig projection 的浅层版本。
- UAF:新增 output variables 和 typed write bindings;FBindableContainer 通过 property bag 支持 object、struct 等类型的 bindable arrays;bindable details picker 允许选择结构体变量中的 enum member,并显示 UserDefinedStruct 成员显示名。
- UAF:新增 AnimNode descriptor hooks 用于 validation 和 upgrade;允许 module component 过滤 system output pose;新增 system output phases 和默认 injection site 的静态 introspection;Layer Stack UI 改进;AnimSequenceBase 加入允许类型列表;支持通过 FArchive 捕获和恢复 anim node tree state。
- Sequencer:在 ISequencer 和 Level Sequence Editor blueprint library 中新增 GetDirectlySelectedFolders,用于扩展 EDA 能力。
- MotionWarping:新增 VectorFromTargetToOwner2D offset direction;新增在 motion warping notify 开始时缓存目标的选项,并支持负偏移。
- Switchboard:枚举未连接设备的本地 VP roles。
🚀 重大变更
- UAF:node transitions 改为必需,并新增 Instant Transition。
- UAF:默认 bone transform type 改为 VQVd。
- AIE Smart Compensation:Sequencer.SwitchBoundary.OccupiedLandingMode 默认值从 2 改为 3,并改进同 boundary 上相邻 constraint keys 的补偿逻辑。
⚡ 性能优化
- MovieScene:优化 Editor keying 和 curve-channel tangent 性能。
- LumenRadiosity:修复 SceneCapture2D 渲染时 Lumen indirect lighting atlas 每帧被清除的问题,避免不必要的性能开销。
- Sequencer:在单一 bake session 中重建 anim mixer root motion offset cache。
🐛 Bug 修复
- Control Rig:修复 Control Rig Component 上虚假的 tick dependency 警告;修复 Construction Mode 在 spawned leaf bones 处破坏 mesh;修复 control shape 沿错误轴拉伸;marquee selection 现在尊重 InSelect。
- RigVM:修复从 Explorer 粘贴函数时丢失对 private functions 的调用;容忍 user-defined type 的移动或重命名。
- Sequencer:修复 FBX camera import 总是生成新 camera 而不是按名称匹配已有 bindings;恢复 mark 和 mark range toggle commands;修复 UAnimDetailsProxyManager 多次 ForceUpdateProxyValues 排队导致 scrubbing 停止后约束执行挂起。
- UAF:修复多个崩溃和逻辑问题,包括 cook 时 on-load function reference re-stamp 创建 UObject 导致崩溃,重新打开已关闭 State Tree 或 EventGraph 被移除的 System 时崩溃,无法通过 input pin 设置 variable,decompression retargeting proportions 错误,graph instance 无法解析 root trait 时未报告 asset 和 entry point,anim tree editor data 创建时未初始化等。
- UAF Runtime:修复 injection/event 相关的多个问题,如 FInjectionSiteTrait 丢失 injections、inline sub-graph input bundles 生命周期、module event dependencies 注销、运行 FRigVMDispatch_EvaluateChooser 前校验 memory handles 和 chooser table 等。
- Rendering:MegaLights/Lumen 修复可视化中的 sky tonemapping;Lumen Reflections 修复强 sky leaking 或 fog 下的 energy clamp;修复上传超过 GPUScene MAX_INSTANCE_ID 的 instance indices 导致崩溃;FastGeo 修复 unregistration 期间 render state 脏化后的 stale proxy drawing。
- Landscape:当目标不可编辑时禁用除 New 外的 Manage 工具,修复未加载 LandscapeActor 时使用 Add/Delete 等工具的 asserts;修复两个 landscape components 重叠时 batched edit layers merge 的 assertion。
- Editor / Platform:WebBrowser 修复 offscreen 模式下关闭时崩溃;VisualStudioSourceCodeAccess 修复点击 Blueprint native parent class 链接时打开第二个 Visual Studio;Apple Platform Web Browser 防止在 0 像素 view 上创建截图纹理;LevelEditor 修复 GC 相关回归导致 MRQ 等系统崩溃;ABrush::PostLoad 修复 null level 解引用并报告无 owning level;Material root node pin inline constant 变化时记录 transaction;MeshDescription 在无 UV 通道时回退到 per-vertex tangent averaging 而不 assert;MeshPaint 绑定 editor mode icon 到 EditorStyle;UAT 强制 commandlets 使用 UTF8 环境;VulkanRHI 添加 ReadSurfaceData null check;XSX 修复 modern GDK folder layout 下 EOS delay-load 崩溃;nDisplay 修复 Multi-User resurrect 删除 light card 时崩溃;PCG 修复 Mesh Partition Interop Plugin 关闭时崩溃。
- Media:TmvMedia 验证 instanced struct properties 类型;修复 ImgMedia frame 读取序列化和 frame cancellation 问题。
- Mass / CitySample:在 observers locked 时延迟 agent component removal。
- MotionWarping:修复 offset transforms 应用方式以支持负值。
- MHA Identity:修复 subjects 超过约 80cm 时无法诊断失败的问题。
- Anim Mixer:base keyframe 改为从 reference pose 初始化,避免使用未初始化内存。
🔧 API 变更
- UAF:FAnimNextInjectionRequestArgs 成员改为 public,允许在 UAF 外部构建自定义 injection request。
- UAF:新增 AnimNode descriptor hooks 用于 validation 和 upgrade;新增 system output phases 和默认 injection site 的静态 introspection。
- Sequencer:ISequencer 和 Level Sequence Editor blueprint library 新增 GetDirectlySelectedFolders。
- UAF:FBindableContainer 支持 object、struct 等类型的 bindable arrays;bindable import text parsing 支持读取 plain values。