使用 bpy 重命名特定对象

问题描述

我有一个用于分析 3D 数据的自定义 MATLAB 脚本。我最近开始使用一款新软件将大约 150 个 3D 点随着时间的推移导出为 .fbx 文件。这些点(作为单个对象导入到 Blender 中)具有笨拙的名称,我想使用 bpy 重命名其中的大约 20 个,以适合我的 MATLAB 脚本所期望的。

例如,我希望将一个名为“BottomNoseBottom_99”的对象命名为“NT”,用于鼻尖。我知道我可以通过右键单击在 Blender 中单独执行此操作,但我会经常执行此操作并希望创建一个脚本。

我发现了很多对以下代码的引用,但我认为(我是 bpy 的新手)它仅适用于当前选择的对象:

import bpy

for obj in bpy.context.selected_objects:
    obj.name = "newName"

我不知道如何只重命名特定对象,如下所示:

BottomNoseBottom_99 = "NT"

UpperLipTopCenter_65 = "CUL"

我一直没有找到答案。

提前致谢 -

解决方法

Blender Python 控制台中的对象可通过具有 bpy.data.objects 接口的 dict 访问。

试试这个:

bpy.data.objects["BottomNoseBottom_99"].name = "NT"