【发布时间】:2014-05-04 18:36:53
【问题描述】:
请多多包涵,尤其是我的问题…… 如果我的主题标题在某些方面误导了您,我提前道歉,但这是我能想到的最好的方法
我正在做一个基本的重命名应用程序,如下面的代码所示。 基本上,我是从我遇到的一个示例中获取的,将其添加到我的代码和中提琴中,它可以工作。遗憾的是,有几个部分我不明白,当我尝试在网上搜索答案时,我什么也没想到,这确实令人沮丧。
import pymel.core as pm
objects = pm.ls(selection=True)
# Result: [nt.Transform(u'my_pCube1')] #
pfx = 'test'
for item in objects:
item.rename(pfx + "_" + item.name().split('|')[-1])
print 'Prefix added: %s_' %pfx
在这种情况下,
[nt.Transform(u'my_pCube1')]被视为长名称还是短名称?.name()来自哪里?它是重命名隐藏函数的一部分还是我从文档中看不到的东西?
然后,由于我几乎在整个编码过程中都在使用cmds,我想我不妨将它标准化并将pm 更改为cmds...但是,它并没有像我想象的那样运行,而是给了我错误如下图。
objects = cmds.ls(selection=True)
# AttributeError: 'unicode' object has no attribute 'rename' #
- 为什么会这样?
- 此外,当我试图打印出
objects的输出时,它会打印出对象而不是选择。有什么想法吗?
【问题讨论】:
-
也许可以查看 Maya 的 API 文档。此外,从您的帖子中也不清楚您正在使用该 API。