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,帮助很大)。
所以我的问题是:
有什么我 missing/that 忽略的地方吗?这些标志是否仅在某种超级骗子开发者插件中实现? Maya 版本只使用以前版本的 API 还是什么?
- 有没有办法在不尝试捕获的情况下检查命令是否有标志?
- 有没有像我上面提到的 pymel 路由那样耗尽性能的解决方法?
你是对的。我还为 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 #
我正在尝试确定一组网格节点当前是否可见。使用 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,帮助很大)。
所以我的问题是:
有什么我 missing/that 忽略的地方吗?这些标志是否仅在某种超级骗子开发者插件中实现? Maya 版本只使用以前版本的 API 还是什么?
- 有没有办法在不尝试捕获的情况下检查命令是否有标志?
- 有没有像我上面提到的 pymel 路由那样耗尽性能的解决方法?
你是对的。我还为 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 #