python - 从蓝图和材质中分离静态网格体
问题描述
我想使用 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)
在此先感谢您的帮助
解决方案
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)
推荐阅读
- c++ - 结构数组的构造函数错误,错误消息:没有构造函数实例与参数列表匹配
- python - 枚举所有具有 5 个节点的无环有向图的 Python 代码
- kdb - KDB - 通过任务计划程序运行 .bat 时,CSV 导出不起作用
- python - 根据 self.questions 列表为答案创建 if, else 语句
- c# - API 过滤器和验证
- javascript - jQuery 显示调试器而不是输出
- hadoop - 在 HDFS 上创建 Solr 集合失败
- mysql - 具有 id 的多列的 SQL 连接
- uml - Visual Paradigm 中的 UML 序列图自动编号
- docker - Kubernetes - 将多个镜像部署到一个 Pod 中