子供のペアレント/アンペアレントの切り替え
英語は適当なので気にせずに…
選択したオブジェクトの子供のペアレント/アンペアレントの
切替をできるものを作ってみました。
例えば、ルートジョイントのJointOrientを変更する際に便利かなと。
あとはちょっとPythonの勉強もかねてってことで作ってみました。
import pymel.core as pm class childParentWindow: _selParent = None _getChild = None def unParentCommand(self): self._selParent = pm.selected() self._getChild = self._selParent[0].getChildren() self._selectObjField.setText(str(self._selParent[0]) + "'s children were dissolved") self._unParentButton.setEnable(False) self._parentButton.setEnable(True) pm.parent(self._getChild,w=True) pm.select(self._selParent) def parentCommand(self): pm.parent(self._getChild,self._selParent,a=True) pm.select(self._selParent) self._unParentButton.setEnable(True) self._parentButton.setEnable(False) self._selectObjField.setText("None") def __init__(self): hWindow = pm.window(t='childParent ON/OFF',mnb=False,mxb=False,s=False,w=200) with hWindow: hLayout = pm.columnLayout() with hLayout: pm.text(l=('1.Select a parent object\n' '2.Push "Unparent" unparent child\n' '3.Push "Parent" back Parent'), al='left') self._selectObjField = pm.textField(en=False,w=200,tx="None") vLayout = pm.rowLayout(nc=2) with vLayout: self._unParentButton = pm.button(l='Unparent',w=100,c=pm.Callback(self.unParentCommand)) self._parentButton = pm.button(l='Parent',w=100,en=False,c=pm.Callback(self.parentCommand)) createWindow = childParentWindow()