当前位置:首页>python>在虚幻引擎中使用python制作蓝图节点(工具篇)

在虚幻引擎中使用python制作蓝图节点(工具篇)

  • 2026-10-11 08:28:21
在虚幻引擎中使用python制作蓝图节点(工具篇)

在虚幻引擎中使用python来制作自动化工具,本文让你清楚如何在虚幻引擎中使用python来制作蓝图节点,如果你需要使用到第三方库可以参考以下文章在虚幻引擎中,安装Python依赖。

一、在你的项目中创建如下文件

在项目或者虚幻引擎源码的Content目录下,添加一个Python文件夹,在这个文件夹中添加python文件,文件结构如下:

你的虚幻项目文件夹 └── Content      └── Python           ├── init_unreal.py           └── ExcelDTImporter.py

一定要有init_unreal.py文件,因为引擎只会自动去读取名为Python的文件夹里面的init_unreal.py,而init_unreal.py一定要import你的python文件。

二、在init_unreal.py文件中导入你写的python代码

init_unreal.py文件结构:

import ExcelDTImporter

打开项目时,引擎会自动读取init_unreal.py,然后python文件夹中会多出__pycache__文件夹,这就说明代码已经被读取。

三、写好你要实现的代码

ExcelDTImporter.py文件结构:

import unreal@unreal.uclass()class ExcelImportHelper(unreal.BlueprintFunctionLibrary):	# 第一个蓝图节点	@unreal.ufunction(static=True, ret=unreal.Array(str), params=[str], meta=dict(Category="Excel Tool"))    def get_excel_sheet_names(file_path):	    pass

ret是返回的类型,params是输入的类型,如果输入和输出有多个值需要用列表表示。函数名就是蓝图节点名称,不过在虚幻引擎中是不显示下划线的,需要注意。

下面是一个完整的示例,实现了一个蓝图节点的功能代码,读取xlsx文件并返回所有工作表列表。

完整代码:

import unrealimport pandas as pd@unreal.uclass()class ExcelImportHelper(unreal.BlueprintFunctionLibrary):    @unreal.ufunction(static=True, ret=unreal.Array(str), params=[str], meta=dict(Category="Excel Tool"))    def get_excel_sheet_names(file_path):        """读取Excel文件并返回所有工作表的名称"""        try:            xl = pd.ExcelFile(file_path)            # 将pandas的列表转换为unreal.Array格式            sheet_names = unreal.Array(str)            for name in xl.sheet_names:                sheet_names.append(str(name))            return sheet_names        except Exception as e:            unreal.log_error(f"读取Sheet失败: {e}")            return unreal.Array(str)

调试:

在虚幻引擎中,点击顶部菜单栏的Window (窗口) -> Output Log (输出日志)。

在弹出的日志窗口底部,有一个输入框,左边有一个下拉菜单(通常默认是Cmd),把它点击切换成Python。

在输入框中输入以下命令并按回车:

import ExcelDTImporter

如果没有任何红字报错,就说明代码成功运行,如果报错则根据报错信息进行修改代码。

打开项目时,在日志中也会有这些内容,通常打改代码需要重启项目。

没有报错就证明代码通过了虚幻引擎的错误检查,就可以在蓝图里面搜索得到这两个蓝图节点,直接搜索函数名,下划线用空格代替,大小写无所谓。

Get Excel Sheet Names

到这里就可以在蓝图中使用我们创建的python蓝图节点。

需要注意:python构建的蓝图节点,只能在编辑器蓝图类中使用,无法在游戏蓝图中使用。

最新文章

随机文章