小物メモ2
続き
選択のコンストレイントを削除するやつ。
ツール作るまではこれで、コンストを削除してました。
import maya.cmds as cmds def SelAll_Const_Del(): sel= cmds.ls(sl=True,type="constraint") for i in sel: cmds.delete(i)
続いて、これは入力した文字数頭から
文字列を削除してます。
あやまって変な名前を頭に付けてしまったときに
一度だけ使った気がします。。。
これが
こうなる。
# coding: UTF-8 import sys import maya.cmds as cmds err = [] def Renamen(Counts): sel = cmds.ls(sl=True,shortNames=True) for file in sel: RenameSet = file.rsplit('|')[-1] Front = RenameSet[:Counts] End = RenameSet[Counts:] try: cmds.rename(file ,End) except: err.append(file) if len(err) > 0 : st = u"以下のファイルに同名処理の疑いがある為、スキップしています。\n" + str(err) cmds.confirmDialog(message = st ,b= u"確認") else: cmds.headsUpMessage( u'作業が終了しました。', verticalOffset=20 ) result = cmds.promptDialog(title=u'分割するカット数を入力ください。', message=u'分割数(数字以外入れないで下さい)', text=u"2", button=['OK', 'Cancel'], defaultButton='OK', cancelButton='Cancel', dismissString='Cancel') if result == "OK": text = cmds.promptDialog(query=True, text=True) if text.isdigit(): Counts = int(text) Renamen(Counts) else: cmds.confirmDialog(message = u"数字を入力してください",b= u"確認") print u"キャンセルされました" else: print u"キャンセルされました"
これは選択したアニメーション範囲に
シーンのライムレンジを合わせるスクリプト。
今は他のツールに統合してるので使ってない。
import maya.cmds as cmds Sel = cmds.ls(sl=True) if len(Sel) > 0: cmds.playbackOptions(e=True,ast='-10000') cmds.playbackOptions(e=True,min='-10000') cmds.playbackOptions(e=True,aet='10000') cmds.playbackOptions(e=True,max='10000') In = cmds.findKeyframe(timeSlider=True, which='first') Out = cmds.findKeyframe(timeSlider=True, which='last') cmds.playbackOptions(e=True,ast=In) cmds.playbackOptions(e=True,min=In) cmds.playbackOptions(e=True,aet=Out) cmds.playbackOptions(e=True,max=Out)
とりあえずこれで最後に
こいつはなぜ作ったのか?まったく覚えてないんですが
あったんでとりあえずアップ。
骨選んで実行すると
同じような階層でロケーターができます。
これが
こうなります。
# -*- coding: utf-8 -*- """ 骨選んで実行すると、その階層と同じロケーターが作成され 選択された骨は、こちらに回転コンストレインがかけられる。 """ import maya.cmds as cmds Sel = cmds.ls(sl=True) if len(Sel) > 0: RigGrp = cmds.group(n="Rigging",empty=True) index = 0 Hako = [] Oya_Loc = "" for i in Sel: Loc = cmds.spaceLocator(n="Tail_Transfer_" + str(index)) PosC = cmds.pointConstraint(i,Loc) OriC = cmds.orientConstraint(i,Loc) cmds.delete(PosC,OriC) if index == 0: Oya_Loc = Loc[0] index = index + 1 Hako.append(Loc) Hako.reverse() for p in range(len(Hako)): try: cmds.parent(Hako[p],Hako[p+1]) cmds.select(Hako[p+1]) except: print "NG" cmds.parent(Oya_Loc,RigGrp) cmds.select(Oya_Loc,hierarchy=True) SelLoc = cmds.ls(sl=True,tr=True) for L in range(len(SelLoc)): print SelLoc[L] print Sel[L] OriC = cmds.orientConstraint(SelLoc[L],Sel[L]) else: print "NG"
ほかにもあるけど、ちょいちょい仕事の内容も含みながら書いてたりするので
この程度で…
どうせまた増えるし…