这两天写个工具需要获取当前场景中的所有reference节点以作分析场景,遇到个通用的问题记录一下,比如当前场景中从大纲看只有两个reference,然而通过下面简单代码可以获取超过两个reference import maya.cmds as cmds from pprint import pprint pprint(cmds.ls(type="reference")) pprint(cmds.ls(rf=True)) 可以看到获取的列表中reference节点有5个,大纲中只有2个,多余的3个reference节点实际是无用节点,我们通过下面的代码获取reference节点信息会报错,也就会导致工具的bug cmds.referenceQuery("xxx", f=True) # Error: RuntimeError: file <maya console> line 1: Reference node 'xxxRN' is not associated with a reference file. # 解决这个问题实际很简单,使用异常过滤一下就可以 import maya.cmds as cmds from pprint import pprint allRefs = cmds.ls(type="reference") refs = [] for ref in allRefs: try: cmds.referenceQuery(ref, f=True) refs.append(ref) except: pass pprint(refs) 那么如何清理这些无用的reference节点呢,写几行代码吧 import maya.cmds as cmds allRefs = cmds.ls(type="reference") for ref in allRefs: try: cmds.referenceQuery(ref, f=True) except: cmds.lockNode(ref, lock=False) cmds.delete(ref) print("%s deleted!" % ref) 今天的文字就分享到这里 |
大家都知道静态网页有利于SEO,但是很多新手在使用DZ论坛程序的时候不懂,很多人在问DZ
牛逼牛逼,之前的论坛应该见我发过,未来是即时渲染的天下,并且U-render 最有潜力很
所有版本官方配置单请点击链接:https://knowledge.autodesk.com/z ... -Autodesk-May
https://www.acfun.cn/player/ac11550103
Autodesk最近发布了3D模型动画软件Maya 2020.2和Maya LT 2020.2新功能的在线文档,两
https://player.bilibili.com/player.html?aid=74213651cid=127467367page=1