我正在尝试确定当前是否有一组网格节点可见。使用pymel和isVisible()可以正常工作,但这是一个巨大的性能影响。
通过文档查看,我找到了(希望)解决我的问题的东西,即hide上的标记src
|
└---AppBundle
|
|---Controller
| |
| |---Backend
| | |
| | └---UserController
| |
| └---Frontend
| |
| └---UserController
|
|---Entity
|
|---Form
| |
| └---Backend
| | |
| | └---UserType
| |
| └---Frontend
| |
| └---UserType
|
└---Model
|
|---Repository
|
└---Handler
。
根据文档,flag命令将返回一个值,告诉我指定的节点是否可见。
问题是,该标志不存在。
testVisibility
给出错误
import maya.cmds as cmds
cmds.sphere(name='testsphere')
cmds.hide('testsphere', testVisibility = True)
同样的标志“tv”的短名称,以及在MEL中完成整个事情:# Error: Invalid flag 'testVisibility'
# Traceback (most recent call last):
# File "<maya console>", line 4, in <module>
# TypeError: Invalid flag 'testVisibility' #
。
自Maya 2016以来,该文档包含此标志。这也是我目前使用的Maya版本(更具体地说,Maya 2016 SP5)。使用python文档的内置链接,我得到了与上面发布的相同的文档。浏览SP6的更改日志也没有提到它的任何内容,所以我认为它不会解决我的问题。
我在Maya 2017上尝试过相同的命令,但它确实有效。这对我没什么帮助,因为那不是我们团队目前使用的Maya版本。
我无法联系Autodesk支持,因为我不是订阅者(感谢autodesk,非常有帮助)。
所以我的问题是:
有什么东西让我失踪/我忽略了吗?这些标志只在某种超级开发者插件中实现吗? Maya版本只使用以前版本的API吗?
答案 0 :(得分:0)
tv
命令尝试了hide
标志,但它肯定不起作用。
尝试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 #