[mayaPython] 選択しているカーブの色を変える にUIをつけてみた。

前に書いた 選択しているカーブの色を変える に、UIをつけてみました。

[python]
import maya.cmds as mc

def selectPalette():

selectNum = mc.palettePort(palette,q=True,scc=True)
print selectNum
changeCurveColor(selectNum)

def changeCurveColor(colorNum):
selectNode = mc.ls(sl=True,fl=True)
if selectNode != None:
for node in selectNode:
shapeNode =mc.listRelatives(node,s=True)
if shapeNode != None:
for shape in shapeNode:
if mc.objectType(shape) == "nurbsCurve":
mc.setAttr(shape + ".overrideEnabled",1)
mc.setAttr(shape + ".overrideColor",int(colorNum))

windowName = "changeCurveColorUI"
if mc.window(windowName,exists=True) == True:
mc.deleteUI(windowName)
paletteWindow = mc.window(windowName,title=windowName)
paletteLayout = mc.frameLayout(labelVisible=0)
palette = mc.palettePort( dimensions=(16,2),width=16 * 20,height= 2 * 20,transparent = 0,topDown=True,colorEditable=False,cc=selectPalette)

for i in range(1,31):

col = mc.colorIndex(i,q=True)
mc.palettePort(palette,e=True,rgbValue=(i,col[0],col[1],col[2]))

mc.showWindow(paletteWindow)

[/python]

ベタ書きであれですが、colorIndexとpalettePortのお陰でわりと簡単にかけました。

palettePortを知らなかった時は、

optionMenuとかtextScrollListの後ろを、Colorの色にして選択出来るようにして~とか、

colorIndexを知らなかったときは、

1こ1こ色をピッカーでとって、31パターンの色を取得して~とか、

とてつもなくアナログな手段を駆使してつくろうと思ってたわけですが、さすがにそんな事しなくても手段はあったようです。

HAHAHA…はは…orz

コメントを残す

メールアドレスが公開されることはありません。


*