Я написал код Python для импорта fbx в UE5. В проекте включен плагин сценариев редактора Python. Если я запускаю код в командной строке Python Unreal Editor, он работает так, как задумано. Как я могу запустить эту команду извне? Моя цель — экспортировать fbx из Blender в работающий редактор UE5.
import unreal
destination_path = "C:\Repository\Project\Game\"
source_path = r"C:\Source\Project\Game\MyMesh.fbx"
file_name = "MyMesh.fbx"
def ImportToUnreal(destination_path, source_path, file_name):
# Set Static mesh import options
static_mesh_import_data = unreal.FbxStaticMeshImportData()
static_mesh_import_data.combine_meshes = True
static_mesh_import_data.remove_degenerates = True
static_mesh_import_data.auto_generate_collision = False
static_mesh_import_data.build_nanite = True
static_mesh_import_data.vertex_color_import_option.REPLACE
static_mesh_import_data.generate_lightmap_u_vs = False
# Set FBX import options
options = unreal.FbxImportUI()
options.import_mesh = True
options.import_textures = False
options.import_materials = False
options.automated_import_should_detect_type = True
options.static_mesh_import_data = static_mesh_import_data
tasks = []
task = unreal.AssetImportTask()
task.automated = True
task.destination_path = destination_path
task.destination_name = str(file_name)
task.filename = str(source_path) # filename is exported files path
task.replace_existing = True
task.save = True
task.options = options
tasks.append(task)
unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks(tasks)
return
ImportToUnreal(destination_path, source_path, file_name)
Запуск этого кода в блендере приведет к следующему сообщению об ошибке:
Python: Traceback (most recent call last):
File "\Text.007", line 3, in
AttributeError: module 'unreal' has no attribute 'FbxStaticMeshImportData'
Подробнее здесь: https://stackoverflow.com/questions/790 ... lender-ue5