1

是否可以通过 Maya 脚本界面访问对象的“注释”字段?我试图让它在 Python 中工作,但我假设任何指向我需要在 API 中使用的类/函数的正确方向的指针都会帮助我。

4

2 回答 2

3

当您在属性编辑器的注释字段中键入时,调用的属性"notes"会动态添加到节点。因此,要检查该值,您可以检查节点上是否存在名为“notes”的属性,然后检索该值。

Maya UI 用于创建和设置 notes 属性的 mel 过程称为

setNotesAttribute(string $nodeName, string $longAttrName, string $shortAttrName, string $attrType, string $newAttrValue)

其中长名是"notes",短名是"nts",类型是"string"

于 2009-08-28T18:00:30.677 回答
2

由于现在每个人都在使用 PyMEL,以下是使用 PyMEL 获取它的方法:

import pymel.core
# cast selected into PyNode
node = pymel.core.ls(sl=1)[0]

# PyMEL's convenient getAttr syntax
node.notes.get()

这是假设您已经在属性编辑器的 Notes 字段中添加了一些内容。如上所述,注释 attr 仅在那时创建。

如果您从代码中运行所有内容并且您不知道注释 attr 是否已创建,您可以像这样检查是否存在:

if node.hasAttr('notes'):
    node.notes.get()
else:
    # go ahead and create attr
    node.addAttr('notes', dt='string')
    node.notes.get()

考虑使用 PyMEL,它就像 maya.cmds,只是更 Pythonic。

于 2013-10-29T22:51:27.240 回答