用途:整理 Unreal Engine 5.x 中通过 Python 使用 PCG(程序化内容生成)的两种方式,用于编辑器自动化与流程集成。
主要能力:
- PCGPythonInterop 插件(UE 5.5+,Beta,默认未启用):在 PCG 图中添加唯一的 Execute Python Script 节点,支持 Input(从 FString 属性或内联默认脚本读取源码)与 File(执行磁盘 .py 文件)两种输入;属性含 ScriptInputMethod、ScriptSource、ScriptPath、bMuteEditorToast,均可被 PCG 参数覆盖。
- PCG Python API(UE 5.2+):通过 import unreal 访问 PCGComponent、PCGBlueprintElement、PCGBlueprintHelpers、PCGSpatialData、PCGPointData 等,可创建 PCG 图资产、触发生成与本地生成、设置图与随机种子、清理生成组件、做空间数据布尔与采样运算。
- 自定义节点:PCGBlueprintElement 提供 execute、execute_with_context、point_loop_body 等可重写方法,以及 custom_input_pins、is_cacheable 等可配置属性。
使用方式:先启用 Python Editor Script Plugin 与 PCG Python Interop 插件并重启编辑器;脚本中用 import unreal 调用上述 API,如 asset_tools.create_asset、pcg_comp.generate(True)、pcg_comp.set_graph、pcg_comp.seed 等。
适用场景:批量创建资产、参数扫描、CI/CD 流程、跨多个 Actor 触发生成、管理随机种子、接入外部数据(如 Houdini、numpy)与资产迁移脚本。
限制:全部 PCG Python 功能仅限编辑器,无法在打包构建或运行时使用;Execute Python Script 节点仅运行于主线程、不计入缓存、无数据输出(仅表达执行顺序);无法用 Python 以编程方式添加或连接 PCG 图节点;5.2—5.5 间 API 名称有变动;从 Python 设置 PCG 图参数较为繁琐。性能敏感或需多线程与 GPU 时应改用 C++,自定义节点优先用 Blueprint。
其他插件状态、版本演进细节与未来规划以官方文档为准;费用与平台等未提供。