【问题标题】:Isolate Static Meshes from Blueprints and Materials从蓝图和材质中分离静态网格体
【发布时间】:2020-02-15 15:26:14
【问题描述】:

我想使用 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)

提前感谢您的帮助

【问题讨论】:

  • 根据文档EditorAssetLibrary.list_assets 返回一个字符串列表。看起来您必须加载资产,检查资产类型,如果它不是所需的类型,则将其从列表中删除。

标签: python unreal-engine4


【解决方案1】:
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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2012-12-02
    • 1970-01-01
    • 2018-12-16
    • 2020-12-21
    • 1970-01-01
    • 2019-07-08
    相关资源
    最近更新 更多