将静态网格物体与设计图和材料隔离

时间:2019-10-18 15:39:46

标签: python unreal-engine4

我想使用Python在一个虚幻引擎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)

预先感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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)