切换隔离脚本未更新
我写了一个脚本,用来切换当前视图的“只显示选中对象”功能。可是为什么这似乎没有只显示我选中的对象呢?我觉得我的方法是对的,但总感觉哪里出了问题,就是找不到具体是什么。
import maya.cmds as cmds
viewports = cmds.getPanel( type='modelPanel' )
curPanel = cmds.getPanel( withFocus=True )
if curPanel in viewports:
curState = cmds.isolateSelect( curPanel, q=True, state=True )
notState = not curState
if notState:
cmds.isolateSelect( curPanel, addSelected=True)
cmds.isolateSelect( curPanel, state=notState)
解决了:
import maya.cmds as mc
import maya.mel as mel
isoPnl = mc.getPanel(wf=True)
isoCrnt = mc.isolateSelect(isoPnl, q=True, s=True)
mel.eval('enableIsolateSelect %s %d' % (isoPnl,not isoCrnt) )
1 个回答
0
你的代码确实可以正确地打开和关闭隔离视图,但它并没有做任何事情来添加选中的对象到这个视图里,这就是为什么你看到的视口是空的。
要添加选中的对象,你需要使用这个命令:
cmds.isolateSelect(modelPanel, addSelected=True)
最合理的做法是在notState
为真时运行这个命令:
if curPanel in viewports:
curState = cmds.isolateSelect( curPanel, q=True, state=True )
notState = not curState
cmds.isolateSelect( curPanel, state=notState)
if notState:
cmds.isolateSelect(modelPanel, addSelected=True)