You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UE4升级后如何批量将控件动画When Finished设为Project Default

UE4 4.18升级至4.27后控件动画"When Finished"字段批量修改方案

以下是两种可直接落地的批量修改方案,操作前请先完整备份项目避免资产损坏:


方案1:Python编辑器脚本批量修改(最安全,推荐)

该方案在编辑器内运行,不会直接修改原始资产二进制内容,容错率更高:

  • 首先启用UE内置Python插件:编辑 -> 插件 -> 搜索Python Editor Script Plugin,勾选启用后重启编辑器
  • 本地新建后缀为.py的脚本文件,写入以下内容:
import unreal

# 扫描项目内所有UMG控件蓝图资产
asset_registry = unreal.AssetRegistryHelpers.get_asset_registry()
all_widget_assets = asset_registry.get_assets_by_class("WidgetBlueprint", True)

modified_count = 0
for asset_item in all_widget_assets:
    widget_blueprint = asset_item.get_asset()
    # 读取控件蓝图下所有动画序列
    all_animations = widget_blueprint.get_editor_property("animations")
    need_save = False
    for anim in all_animations:
        # 匹配When Finished为Restore State的项,修改为Project Default
        if anim.get_editor_property("finish_behavior") == unreal.UMGSequenceFinishBehavior.RESTORE_STATE:
            anim.set_editor_property("finish_behavior", unreal.UMGSequenceFinishBehavior.PROJECT_DEFAULT)
            need_save = True
            modified_count += 1
    if need_save:
        unreal.EditorAssetLibrary.save_asset(asset_item.get_object_path())

print(f"修改完成,共调整{modified_count}个控件动画的When Finished配置")
  • 打开UE编辑器的输出日志窗口,输入py 你的脚本文件完整路径回车执行即可

方案2:批量修改uasset二进制内容(适合超大项目)

该方案不需要启动编辑器,操作速度更快,但对操作精度要求高:

  • 完全关闭UE编辑器,解除所有项目资产的占用状态
  • 使用支持批量二进制替换的工具(如本地Python脚本、批量文本处理工具),全局扫描所有.uasset文件中对应Restore State的枚举值编码,替换为Project Default对应的编码
  • 替换完成后启动UE,全量重编译所有控件蓝图确认修改生效

注意:该方案需要提前确认你当前UE版本对应两个枚举值的二进制编码,执行前必须全量备份项目,避免替换错误导致资产不可逆损坏。


内容的提问来源于stack exchange,提问作者Ligvest O

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:36:10