首页 > 解决方案 > 从蓝图和材质中分离静态网格体

问题描述

我想使用 Python 对 Unreal 引擎 4 项目中的资产运行自动重命名过程,但是,我只想重命名静态网格体,然后分别重命名材质,而只留下蓝图。

我查看了 Python API 文档,但似乎找不到循环浏览资产并为每种对象类型创建列表的函数。到目前为止,我有一个函数可以检索目录文件夹中的所有资产,并将它们放在一个列表中。我想要每个对象类型的列表

asset_names = unreal.EditorAssetLibrary.list_assets(asset_location)

但我想要的是更像

staticmesh_names = unreal.PythonFunction.list_objects(asset_location, StaticMesh)
material_names = unreal.PythonFunction.list_objects(asset_location, Material)

在此先感谢您的帮助

标签: pythonunreal-engine4

解决方案


static_mesh_data = unreal.AssetRegistryHelpers.get_asset_registry().get_assets_by_class("StaticMesh")
static_mesh_objects = [data.get_asset() for data in static_mesh_data]

返回的对象应该有一个 .rename() 函数

如果你打算使用 Paulo Scardine 的函数,你可以使用它来轻松过滤掉你想要的类类型:

unreal.EditorFilterLibrary.by_class(loaded_assets, unreal.StaticMesh)


推荐阅读