Autodesk Maya 2016 中的无效标志 "testVisibility"

Invalid flag "testVisibility" in Autodesk Maya 2016

我正在尝试确定一组网格节点当前是否可见。使用 pymel 和 isVisible() 是可行的,但这是一个巨大的性能损失。 查看文档,我发现了一些可以(希望)解决我的问题的东西,命令 hide.

上的标志 testVisibility

根据文档,标志命令将 return 一个值,告诉我指定的节点是否可见。

问题是,那个标志不存在。

import maya.cmds as cmds

cmds.sphere(name='testsphere')
cmds.hide('testsphere', testVisibility = True)

报错

# Error: Invalid flag 'testVisibility'
# Traceback (most recent call last):
#   File "<maya console>", line 4, in <module>
# TypeError: Invalid flag 'testVisibility' # 

与标志的简称 "tv" 相同,并在 MEL 中完成所有操作:hide -testVisibility;.

该文档自 Maya 2016 起就包含此标志。这也是我当前使用的 Maya 版本(更具体地说,Maya 2016 SP5)。使用内置 link 到 python 文档,我得到了与上面发布的文档相同的文档。查看SP6的变更日志也没有提及任何内容,所以我认为它不会解决我的问题。

我在 Maya 2017 上尝试了相同的命令并且它有效。不过这对我帮助不大,因为那不是我们团队目前使用的 Maya 版本。

我无法联系 Autodesk 支持,因为我不是订阅者(感谢 autodesk,帮助很大)。

所以我的问题是:

你是对的。我还为 hide 命令尝试了 tv 标志,但它肯定不起作用。

尝试 setter/getter:

import maya.cmds as cmds

cmds.sphere(name="testsphere")
cmds.setAttr("testsphere.visibility", False)
cmds.getAttr("testsphere.visibility")

我在 Maya 2016/2018 中测试过。

# Result: False #