准备工作
首先在UE4插件管理打开UnrealPython.plugins,这里我用的是UE4.26版本所以涉及的python版本是3.x的~
代码
话不多说直接代码:
import unreal
#执行导出任务
def export_fbx(name,path,ID):
#name='filename'
#path='/Game/AssetPath'
asset_data = unreal.find_asset(path)
exp_path="c:/"+name+".fbx"
asset_export_path="C:/exp/"
exp_task=buildExportTask(exp_path,asset_data)
res=unreal.ExporterFBX().run_asset_export_task(exp_task)
#构建导出任务
def buildExportTask(filename,object,options=None):
task=unreal.AssetExportTask()
task.set_editor_property('automated',True)
task.set_editor_property('filename',filename)
task.set_editor_property('object',object)
task.set_editor_property('prompt',False)
task.set_editor_property('options',options)
return task
#导出FBX
export_fbx(name,path,ID)
此处的核心函数是unreal.ExporterFBX().run_asset_export_task()
未解决事项
不知为何unreal.FbxExportOption()这个无法设置其属性。所以导出的设置我是提前导出一个FBX然后将其设置作为默认项。
拓展 命令行运行
最后也根据自己需求进行导出,如果是批量的连续导出,可以挂在命令行里,就不用打开UE4了
cd "D:\Epic Games\UE_4.26\Engine\Binaries\Win64"
start UE4Editor-Cmd.exe "D:\expFBX\expFBX.uproject" -run=pythonscript -script="D:\\Python\\expFBX.py"