为了让可视化脚本在复杂场景下依然保持极致流畅, CodeGen(代码生成) 功能应运而生。点击Compile按钮可将项目中的 EventGraph(事件图) 与 Functions(函数图) 从图的解释执行切换为编译后的 C# 代码运行,彻底释放运行时性能。

丨核心优势
-
解释执行 → 编译执行:原来在运行时逐节点解释图逻辑,现在直接运行预编译的 C# 代码,大幅降低 CPU 开销与内存分配。
-
零破坏性接入:生成 C# 代码后,运行时系统会自动检测并优先使用编译版本,无需手动修改任何引用或逻辑。
-
无感知切换:旧有图解算逻辑保留,只在存在生成代码时自动启用高性能路径,方便调试与回退。
-
安全可追溯:生成的代码放置于
Assets/AnimGraph.Generated文件夹,结构清晰,便于版本管理与排查。
丨如何使用
-
在 AnimGraph 编辑器中打开图。
-
确保 EventGraph 和 Functions 逻辑已完成且测试通过。
-
点击工具栏上的 Compile 按钮。
-
生成的 C# 代码将自动存入
Assets/AnimGraph.Generated下。 -
之后再运行项目时,引擎会自动检测并加载编译后的代码,跳过图解算过程,直接执行高性能逻辑。
如需回到解释执行模式,只需删除对应的生成文件即可。

丨适用场景
-
每帧调用的高频逻辑(如动画更新、角色运动等)
-
角色多,性能需求高
-
函数库庞大、连线复杂的工程
丨注意事项
-
点击 Compile 前请确保图逻辑无编译错误,避免生成无效或错误的代码。
-
生成的 C# 脚本,请避免手动编辑。
-
现阶段若要切换为图运行,需要删除对应的生成脚本。
-
建议将
AnimGraph.Generated加入版本控制,以保持团队一致性。
丨结果比较
在150个角色,每个角色运行300多个节点下,编译后直接走C#逻辑更新,可有效提升运行速度和减少运行开销。

未使用Code Gen

使用了Code Gen