第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Maya Python:使用 GUI 從其他函數(shù)調(diào)用函數(shù)

Maya Python:使用 GUI 從其他函數(shù)調(diào)用函數(shù)

Qyouu 2023-07-11 16:39:05
所以我有點不好意思地說:但是我從其他函數(shù)調(diào)用函數(shù)的知識是有限的。我完成了一個完美運行的自動裝配腳本:但我意識到我可以根據(jù)另一個用戶的需要來修剪脂肪,方法是將大量重復(fù)命令放入自己的函數(shù)中,而不是在不同的形狀上一遍又一遍地使用 setAttr。問題是我對這個技巧的了解有限。看起來,如果我通過向其中添加任何新函數(shù)來修改任何函數(shù)頭中的 *args,我的腳本要么忽略它,要么直接停止工作。腳本本身相對簡單:點擊“構(gòu)建示例曲線”后,我想要它做的是點擊“設(shè)置曲線顏色”后,我希望 setAttributes 函數(shù)獲取 setColor 函數(shù)并更改示例曲線的顏色如果有人能指出我正確的路徑,我將不勝感激,安裝和運行腳本的說明位于腳本的末尾:'''import exampleScriptTemplatereload (exampleScriptTemplate)exampleScriptTemplate.gui()'''import maya.cmds as cmdsif cmds.window("buildWin", exists =True):    cmds.deleteUI("buildWin", window = True)myWindow = cmds.window("buildWin",t='DS_colorChanger',rtf=1,w=100, h=100, toolbox=True)column = cmds.columnLayout(adj=True)def gui(*args):    cmds.columnLayout()    cmds.button(w=300,label='build example curves',c=exampleShapes)    cmds.colorIndexSliderGrp('controlColor',        label='Control Color',        min=0,        max=31,        value=1,        columnWidth=[( 1, 80 ),( 2, 40 ), ( 3, 150 )])    cmds.button(w=300,label='Set Curve Color',c=setAttrbutes)    cmds.showWindow(myWindow)    def exampleShapes(*args):    cmds.circle(n='exampleCirc1',ch=False,nr = (0,0,0))    cmds.circle(n='exampleCirc2',ch=False,nr = (0,0,0))    cmds.circle(n='exampleCirc3',ch=False,nr = (0,0,0))        cmds.setAttr('exampleCirc1.translateX',-2)    cmds.setAttr('exampleCirc3.translateX',2)    def setAttrbutes(setColor,*args):        cmds.setAttr('exampleCirc1',setColor)    cmds.setAttr('exampleCirc2',setColor)    cmds.setAttr('exampleCirc3',setColor)def setColor(*args):    colorPref = cmds.colorIndexSliderGrp('controlColor',query=True,value=True)    colorPref = colorPref -1         cmds.setAttr('.overrideEnabled', 1)    cmds.setAttr('.overrideColor', colorPref)    '''
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗 獲得超9個贊

您可能需要閱讀一些基本函數(shù)教程,以基本了解如何通過函數(shù)參數(shù)傳遞值。另外,函數(shù)cmds.setAttr中的命令setColor沒有傳遞給它的對象,所以...我不確定您期望它如何神奇地工作。


解決方案非常簡單。查詢內(nèi)部的顏色索引setAttributes,然后調(diào)用setColor每個對象,將對象和顏色索引傳遞給函數(shù)。


import maya.cmds as cmds


if cmds.window("buildWin", exists =True):

    cmds.deleteUI("buildWin", window = True)


myWindow = cmds.window("buildWin",t='DS_colorChanger',rtf=1,w=100, h=100, toolbox=True)

column = cmds.columnLayout(adj=True)


def gui(*args):

    cmds.columnLayout()

    cmds.button(w=300,label='build example curves',c=exampleShapes)

    cmds.colorIndexSliderGrp('controlColor',

        label='Control Color',

        min=1,

        max=31,

        value=1,

        columnWidth=[( 1, 80 ),( 2, 40 ), ( 3, 150 )])

    cmds.button(w=300,label='Set Curve Color',c=setAttrbutes)

    cmds.showWindow(myWindow)

    

def exampleShapes(*args):

    cmds.circle(n='exampleCirc1',ch=False,nr = (0,0,0))

    cmds.circle(n='exampleCirc2',ch=False,nr = (0,0,0))

    cmds.circle(n='exampleCirc3',ch=False,nr = (0,0,0))

    

    cmds.setAttr('exampleCirc1.translateX',-2)

    cmds.setAttr('exampleCirc3.translateX',2)

    

def setAttrbutes(*args):

    colorPref = cmds.colorIndexSliderGrp('controlColor',query=True,value=True) - 1  # Query color index here.

    setColor('exampleCirc1', colorPref)  # Call set color here with the object and color index.

    setColor('exampleCirc2', colorPref)

    setColor('exampleCirc3', colorPref)


def setColor(obj, colorPref):  # Requires an object, and the color index to set it as.

    cmds.setAttr(obj + '.overrideEnabled', 1)  # Need to pass an object!!

    cmds.setAttr(obj + '.overrideColor', colorPref)

順便說一下,你確實應(yīng)該打破按名稱對對象進(jìn)行硬編碼的習(xí)慣,并 100% 地使用變量。它將為您省去很多長期的痛苦,并使您的工具更加防彈。


查看完整回答
反對 回復(fù) 2023-07-11
  • 1 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號