Home  Previous Next

命令 (MEL/Python)

MGPickerItem

跳转到: MEL概要. Python概要. 返回值. 标签. MEL例子. Python例子.

MEL概要

MGPickerItem [-applyMirroredAttribute] [-annotation] [-addSelectMember] [-attributeType] [-attribute] [-attributeValue] [-bgHorizontalAlign] [-backgroundImage] [-bgKeepRatio] [-bgMargin] [-boolState] [-bgScaleFit] [-bevel] [-bgVerticalAlign] [-command] [-closeCurve] [-clearSelectMembers] [-commandType] [-componentWidth] [-componentWidthPolicy] [-drawBGRect] [-drawBackgroundShape] [-exist] [-fillColor] [-frameColor] [-frameVisible] [-fullNamespace] [-floatState] [-gradient] [-gradientMode] [-height] [-highlightImage] [-hoverLightness] [-image] [-interactive] [-imageMargin] [-intState] [-label] [-labelBold] [-labelColor] [-labelFont] [-labelFontSize] [-labelHorizontalAlign] [-labelItalic] [-links] [-labelPosition] [-leftSlope] [-labelVerticalAlign] [-masterButtons] [-mirror] [-name] [-opacity] [-parent] [-postAction] [-pressedImage] [-postChangeCommand] [-postChangeCommandType] [-preChangeCommand] [-preChangeCommandType] [-rotation] [-roundness] [-resizePreferSize] [-removeSelectMember] [-rightSlope] [-shape] [-slaveButtons] [-strokeColor] [-sliderChangeCommand] [-sliderChangeCommandType] [-shapeDirection] [-select] [-sliderHAttribute] [-sliderHMin] [-sliderHRange] [-sliderHSpeed] [-sliderHMax] [-showItemTip] [-selectMembers] [-subNamespace] [-stringState] [-sliderVAttribute] [-sliderVMin] [-sliderVRange] [-sliderVSpeed] [-sliderVMax] [-strokeWidth] [-type] [-usePickerNamespace] [-view] [-valueColor] [-visible] [-visibilityOperator] [-width] [-xPosition] [-yPosition] itemIDString

Python概要

MGPickerItem (itemIdString, [applyMirroredAttribute=boolean], [annotation=string],  [addSelectMember=string], [attributeType=string], [attribute=string], [attributeValue=float], [bgHorizontalAlign=string], [backgroundImage=string], [bgKeepRatio=boolean], [bgMargin=[int, int, int, int]], [boolState=[boolean]], [bgScaleFit=boolean], [bevel=boolean], [bgVerticalAlign=string], [command=string], [closeCurve=boolean], [clearSelectMembers=boolean], [commandType=string], [componentWidth=int], [componentWidthPolicy=string], [drawBGRect=boolean], [drawBackgroundShape=boolean], [exist=boolean], [fillColor=[float, float, float, float]], [frameColor=[float, float, float, float]], [frameVisible=boolean], [fullNamespace=boolean], [floatState=float], [gradient=boolean], [gradientMode=int], [height=int], [highlightImage=string], [hoverLightness=int],[image=string], [interactive=boolean], [imageMargin=[int, int, int, int]], [intState=[int]], [label=string], [labelBold=boolean], [labelColor=[float, float, float, float]], [labelFont=string], [labelFontSize=int], [labelHorizontalAlign=string], [labelItalic=boolean], [links=boolean], [labelPosition=string], [leftSlope=int], [labelVerticalAlign=string], [masterButtons=boolean], [mirror=string],[name=string], [opacity=float], [parent=string], [postAction=string], [pressedImage=string], [postChangeCommand=string], [postChangeCommandType=string], [preChangeCommand=string], [preChangeCommandType=string], [rotation=int], [roundness=int], [resizePreferSize=boolean], [removeSelectMember=string], [rightSlope=int], [shape=boolean], [slaveButtons=boolean], [strokeColor=[float, float, float, float]], [sliderChangeCommand=string], [sliderChangeCommandType=string], [shapeDirection=string], [select=int], [sliderHAttribute=string],[sliderHMin=float], [sliderHRange=boolean], [sliderHSpeed=float], [sliderHMax=float],[showItemTip=string],  [selectMembers=string],[subNamespace=string], [stringState=string], [sliderVAttribute=string], [sliderVMin=float], [sliderVRange=boolean], [sliderVSpeed=float], [sliderVMax=float], [strokeWidth=int], [type=string], [usePickerNamespace=boolean], [view=string], [valueColor=[float, float, float, float]], [visible=boolean], [visibilityOperator=string], [width=int], [xPosition=int], [yPosition=int])

 
MGPickerItem不可撤消, 可以查询且可以编辑
 

这个命令创建, 查询或编辑一个picker对象,目前来讲picker对象包括选择按钮,命令按钮,属性按钮,滑条,文本及Picker面板。

如果这个picker对象不在当前激活视图里,则要指定-view及那个picker视图的id字符窜。
有些命令标签只对特别的picker对象类型有效,不过即使你用在不支持的类型也没有关系,只是不会有效果。

返回值

在创建或编辑模式返回picker对象的id, 在查询模式,可能返回任何类型的数值。

标签

applyMirroredAttribute, annotation, addSelectMember, attributeType, attribute, attributeValue, bgHorizontalAlign, backgroundImage, bgKeepRatio, bgMargin, boolState, bgScaleFit, bevel, bgVerticalAlign, command, closeCurve, clearSelectMembers, commandType, componentWidth,componentWidthPolicy, drawBGRect, drawBackgroundShape, exist, fillColor, frameColor, frameVisible, fullNamespace, floatState, gradient, gradientMode, height, highlightImage, hoverLightness, image, interactive, imageMargin, intState, label, labelBold, labelColor, labelFont, labelFontSize, labelHorizontalAlign, labelItalic, links, labelPosition, leftSlope, labelVerticalAlign, masterButtons, mirror, name, opacity, parent, postAction, pressedImage, postChangeCommand, postChangeCommandType, preChangeCommand, preChangeCommandType, rotation, roundness, resizePreferSize, removeSelectMember, rightSlope, shape, slaveButtons, strokeColor, sliderChangeCommand, sliderChangeCommandType, shapeDirection, select, sliderHAttribute, sliderHMin, sliderHRange, sliderHSpeed, sliderHMax, showItemTip, selectMembers, subNamespace, stringState, sliderVAttribute, sliderVMin, sliderVRange, sliderVSpeed, sliderVMax, strokeWidth, type, usePickerNamespace, view, valueColor, visible, visibilityOperator, width, xPosition, yPosition

 

长名 (短名)

参数类型

属性

-applyMirroredAttribute(-ann)

 

edit

 

将各属性值应用到镜像对象。像颜色,形状,大小将被复制,不过有些属性将被镜像,如位置及旋转值将对称,"labelHorizontalAlign"将以 "left" 及 "right" 间相对,等等。如果没有镜像对象,则会警告。

-annotation(-ann)

string

createqueryedit

 

对象的鼠标经过提示,在鼠标悬停在该对象上是时将自动显示这段文本。

-addSelectMember(-asm)

string

createeditmultiuse

 

只对选择按钮有效。往选择按钮追加一个成员节点。

-attributeType(-atp)

string

createqueryedit

 

只对属性按钮有效。在查询模式返回属性按钮的属性类型,可能的数值有"bool","enum","maya",分别代表该属性按钮是布尔类型的属性按钮,枚举类型的属性按钮,或maya属性按钮。

在创建或编辑模式,这个标签改变属性按钮的属性类型。

在创建一个属性按钮时,如果该标签没有被指定,则默认创建一个布尔类型的属性按钮,该按钮没有控制任何maya属性,只能用于控制其它picker对象的可见性。

-attribute(-att)

string

createqueryedit

 

只对属性按钮有效。在查询模式,如果是maya属性按钮则返回它控制的maya属性(节点名.属性), 如果不是则返回空字符窜。

在创建或编辑模式,对于maya属性按钮,您需要指定节点名.属性为参数来指定要控制的maya属性,如果是枚举类型的属性按钮,则指定一个由各个枚举数值用":"连接起来的字符窜,来指定枚举类型所有的可能值。对于布尔类型的属性按钮,这个标签没有意义,因为布尔类型的属性总是只有两种数值:"on/off"。

-attributeValue(-atv)

float

createqueryedit

 

只对属性按钮有效。询模式返回属性按钮的当前属性值,在创建或编辑模式则编辑当前的属性值。

-bgHorizontalAlign(-bha)

string

createqueryedit

 

只对picker面板有效。面板背景图的水平对齐方式,可用的数值有 "center", "left", "right"。

-backgroundImage(-bi)

string

createqueryedit

 

只对picker面板有效。 面板所使用的背景图。

-bgKeepRatio(-bkr)

boolean

createqueryedit

 

只对picker面板有效。当背景图为适应面板大小而缩放自己时,是否保持长宽比。

-bgMargin(-bmg)

int int int int

createqueryedit

 

只对picker面板有效。背景图距离左右上下面板边缘的距离。

取决于由-bgHorizontalAlign/-bha-bgVerticalAlign/-bva指定的当前背景图水平及垂直对齐方式,可能只有0~3个方向上的距离起作用。

-boolState(-bs)

boolean

createqueryedit

 

只是用来编程辅助,用来在picker对象内保存一个布尔状态值。

通常用来保存命令按钮的状态值,这样点击按钮切到另一个状态。

布尔/浮点数/整数/字符窜的状态值设置是无法撤消的,但它们可以被保存在Picker文件/节点内。

-bgScaleFit(-bsf)

boolean

createqueryedit

 

只对picker面板有效。背景是否要自动缩放自己以适应面板大小。

-bevel(-bv)

boolean

createqueryedit

 

对象是否要以浮雕效果来绘制。

-bgVerticalAlign(-bva)

string

createqueryedit

 

只对picker面板有效。面板背景图的垂直对齐方式,可用的数值有"center", "top", "bottom"。

-command(-c)

script

createqueryedit

 

只对命令按钮有效。在按钮被按下并释放时执行的mel/python代码。

-closeCurve(-ccv)

boolean

createqueryedit

 

只对带贝塞尔曲线形状的picker对象有效。 决定贝塞尔曲线形状是否自动闭合。

-clearSelectMembers(-csm)

 

createedit

 

只对选择按钮有效。清空选择按钮的成员列表。

-commandType(-ct)

string

createqueryedit

 

只对命令按钮有效。设置命令的语言类型,可用的数值有"mel", "python"。

-componentWidth(-cw)

int

createqueryedit

 

只对属性按钮有效。设置和查询按钮数值框的宽度。只有数值框宽度策略(componentWidthPolicy)被设为"fixed"时,这个componentWidth才起作用。

-componentWidthPolicy(-cwp)

string

createqueryedit

 

只对属性按钮有效。设置和查询属性按钮数值框的宽度策略,可用的值有"stretch" 和 "fixed",默认为"stretch",即数值框的宽度可伸缩,来确保旁边的文本标签完全显示。如果设为"fixed", 则数值框宽度变得固定,比如你垂直排列很多属性按钮,并希望它们的数值框左侧也对齐(像Maya通道栏那样),则可以将这些属性按钮的宽度策略都设为"fixed",然后将它们的componentWidth都设置成一样的值。

-drawBGRect(-dbr)

boolean

createqueryedit

 

只对文本对象有效。决定文本的背景方形形状是否该被绘制。

-drawBackgroundShape(-dbs)

boolean

createqueryedit

 

只对带图片形状的picker对象有效。决定图片背后的形状是否该被绘制。

-exist(-ex)

 

createqueryedit

 

只能用于是查询模式来获取该picker对象是否存在。

-fillColor(-fc)

float float float float

createqueryedit

 

对象的填充色,参数分别是取值于[0~1]的红,绿,蓝,alpha 浮点数。

-frameColor(-fmc)

float float float float

createqueryedit

 

只对picker面板及滑条有效。对于面板则是边框及标题栏颜色,对于滑条则是背景滑槽的颜色。

参数分别是取值于 [0~1] 的红,绿,蓝,alpha 浮点数。

-frameVisible(-fmv)

boolean

createqueryedit

 

只对picker面板及滑条有效。对于面板则决定边框是否要见,对于滑条来讲,则决定背景滑槽是否可见.

-fullNamespace(-fns)

 

query

 

只能用于查询,且只对选择按钮,命令按钮,属性按钮,滑条有效,用来返回按钮的完整命名空间。

对于这些按钮,它们只记录maya节点本身的名字而不记录这些节点的命名空间。

实际在选择或控制这些maya节点时,它所采用的是“picker命名空间:次命名空间:节点名称”,而这个标签就用来返回这个完整的命名空间字符窜。

如果次命名空间为空字符窜,则直接返回当前picker的命名空间。

-floatState(-fs)

float

createqueryedit

 

只是用来编程辅助,用来在picker对象内保存一个浮点数数值。

布尔/浮点数/整数/字符窜的状态值设置是无法撤消的,但它们可以被保存在Picker文件/节点内。

-gradient(-gd)

boolean

createqueryedit

 

决定对象是否采用轻微渐变的填充色。

-gradientMode(-gdm)

int

createqueryedit

 

渐变的方向。取值只能是 0或1.

0代表由上至下渐变,1代表由下至上渐变。

-height(-h)

int

createqueryedit

 

对象高度的像素值。

-highlightImage(-hi)

string

createqueryedit

 

只对使用图片形状的选择铵钮有意义。当选择按钮的成员节点在场景有被选择或全部被选择时,该按钮显示的图片。

-hoverLightness(-hl)

int

createqueryedit


对所有picker类型有效,需要指定-10~10的整数值,负值代表鼠标经过该按钮时,按钮变暗,正值代表变亮。

-image(-i)

string

createqueryedit

 

只对使用图片形状的对象有效。即对象显示的图片。

-interactive(-iac)

boolean

createqueryedit

 

决定该对象是否应该响应鼠标点击。

文本对象默认就不响应,所以文本对象这个属性默认是关的。

-imageMargin(-img)

int int int int

createqueryedit

 

只对使用图片形状的对象有效。决定图片对于对象左右上下边缘的跨度。

取决于由-labelHorizontalAlign/-lha及-labelVerticalAlign/-lva指定的标签水平及垂直对齐方式,可能只有0~3个方向上的距离起作用。

-intState(-is)

int

createqueryedit

 

只是用来编程辅助,用来在picker对象内保存一个整数数值。

布尔/浮点数/整数/字符窜的状态值设置是无法撤消的,但它们可以被保存在Picker文件/节点内。

-label(-l)

string

createqueryedit

 

对象的标签。

-labelBold(-lb)

boolean

createqueryedit

 

决定对象的标签是否该用粗体。

-labelColor(-lc)

float float float float

createqueryedit

 

决定对象的标签颜色。参数分别是取值于 [0~1] 的红,绿,蓝,alpha 浮点数。

-labelFont(-lf)

string

createqueryedit

 

决定对象的标签采用的字体。

-labelFontSize(-lfs)

int

createqueryedit

 

决定对象的标签采用的字体大小的像素值。

-labelHorizontalAlign(-lha)

string

createqueryedit

 

对象标签的水平对齐方式,可用值有 "center", "left", "right"。

-labelItalic(-li)

boolean

createqueryedit

 

决定对象的标签是否该用斜体。

-links(-lks)

 

query

 

这个标签只能用于查询,获取与当前对象相关的所有连接id.

-labelPosition(-lp)

string

createqueryedit

 

只对滑条有效。决定标签与对象图形的排列布局方式,可用值有 "top", "bottom", "left", "right"。

-leftSlope(-lsp)

int

createqueryedit

 

只对采用梯形形状的对象有效,梯形的左边斜度,取值范围是 [-10~10]。

-labelVerticalAlign(-lva)

string

createqueryedit

 

对象标签的垂直对齐方式,可用值有 "center", "top", "bottom"。

-masterButtons(-mbs)

 

query

 

这个标签只能用于查询,获取控制当前对象可见性的属性按钮或者父选择按钮.

-mirror(-mrr)

string

createqueryedit

 

在查询模式,这个标签返回当前picker对象的镜象对象的id, 如果有。

在创建及编辑模式则将当前picker对象跟指定picker对象组成镜象关系。

-name(-n)

string

createqueryedit

 

查询/设置picker对象的名字。

名字属性主要用来避免在picker编程中硬写picker对象的id,这样之后您可以使用"MGPicker -q -getIdFromName name"来基于名字获取id, 以便进一步查询或编辑。

-opacity(-op)

float

createqueryedit

 

对象填充色的不透明度。这里可以指定的有效值范围是[0~1]的浮点数,不过在内部实际应用时,会被映射到[0~20]间的整数。

-parent(-p)

string

createqueryedit

 

对象的父面板id. 在创建/编辑模式则必须指定一个合法的picker面板id, 指定空字符窜,则是将该picker对象从它的父对象那解除掉父子关系。

-postAction(-pa)

string

createqueryedit

 

只对选择按钮有效。决定该按钮被点击后,maya该自动切换到哪个工具。可用值有 "nothing", "translate", "rotate", "scale"。

-pressedImage(-pi)

string

createqueryedit

 

只对使用图片形状的对象有效。即对象被鼠标点击时显示的图片。

-postChangeCommand(-poc)

script

createqueryedit

 

只对属性按钮有效。即该属性按钮的属性在picker视图内被改变后执行的mel / python代码。

-postChangeCommandType(-pot)

string

createqueryedit

 

只对属性按钮有效。即该属性按钮的属性在picker视图内被改变后执行的代码类型是mel还是python。

-preChangeCommand(-prc)

script

createqueryedit

 

只对属性按钮有效。即该属性按钮的属性在picker视图内被改变前执行的mel / python代码。

-preChangeCommandType(-prt)

string

createqueryedit

 

只对属性按钮有效。即该属性按钮的属性在picker视图内被改变前执行的代码类型是mel还是python。

-rotation(-r)

int

createqueryedit

 

只对采用除多边形及贝塞尔曲线形状外的选择按钮有效。

对象的旋转数值,取值范围是 [-180~180]。

-roundness(-rd)

int

createqueryedit

 

只对采用的形状类型支持圆角属性的对象有效。形状圆角程度,取值范围是 [0~100]。

-resizePreferSize(-rps)

 

createedit

 

缩放对象到合适大小。如果同时指定了-width/-w或-height/-h这些长宽标签,则这个标签无效。

-removeSelectMember(-rsm)

string

createeditmultiuse

 

只对选择按钮有效。从选择按钮的成员列表中去除掉一个成员节点。可以在一条命令多次使用。

-rightSlope(-rsp)

int

createqueryedit

 

只对采用梯形形状的对象有效,梯形的右边斜度,取值范围是 [-10~10]。

-shape(-s)

string

createqueryedit

 

picker对象所采用的形状类型,如果您指定一个当前对象类型不支持的形状类型,则这个标签无效。

要用的形状类型目前有 "rectangle", "roundedRectangle", "ellipse", "circle", "triangle", "diamond", "trapezoid", "pentagon", "hexagon", "polygon", "bezier", "image", "widgetControl", "attributeButton", "roundedAttriuteButton", "slider"。

注意不同的Picker对象支持不同范围的形状类型,具体可以查看MG-Picker工作室里属性编辑器的形状类型下拉菜单。

-slaveButtons(-sbs)

 

query

 

这个标签只能用于查询,获取被当前属性按钮控制可见性的Picker对象或者子选择按钮.

-strokeColor(-sc)

float float float float

createqueryedit

 

边线的颜色。参数分别是取值于 [0~1] 的红,绿,蓝,alpha 浮点数。

-sliderChangeCommand(-scc)

script

createqueryedit

 

只对滑条有效。在滑条控制的属性在picker视图或由属性拖放工作改变时执行的命令。

-sliderChangeCommandType(-sct)

string

createqueryedit

 

只对滑条有效。属性改变时执行的命令的类型是mel还是python。

-shapeDirection(-sd)

string

createqueryedit

 

只对采用支持方向属性的形状的对象有效。可用值有"top", "bottom", "left", "right"。

-select(-sel)

int

createqueryedit

 

在编辑模式用来先把picker对象,指定0~3作为选择模式:

 0 :替换选择,即去选全部,再先把当前picker对象。

 1 :加选。

 2 :去选

 3 :反选

在查询模式,将返回0或1,代表picker对象目前是否被选择。

-sliderHAttribute(-sha)

string

createqueryedit

 

只对滑条有效。由该滑条的滑杠水平位移来控制的属性。 在创建或编辑模式时要指定节点名.属性字符窜。

注意在编辑时,节点及属性需要同时都在当前场景内存在。

-sliderHMin(-shi)

float

createqueryedit

 

只对滑条有效。控制滑条水平属性的虚拟最小值。不影响maya属性的最小值。

-sliderHRange(-shr)

boolean

createqueryedit

 

只对滑条有效。控制滑条水平属性是否使用虚拟值范围。

-sliderHSpeed(-shs)

float

createqueryedit

 

只对滑条有效。控制滑条水平属性的鼠标交互速度,取值范围是-1~1间的非0浮点数。

-sliderHMax(-shx)

float

createqueryedit

 

只对滑条有效。控制滑条水平属性的虚拟最大值。不影响maya属性的最大值。

-showItemTip(-sit)

string

edit

 

用来在该picker对象位置弹出一个泡泡框,显示指定的字符窜。如果指定空字符窜,则显示该picker对象的注释。(MGPickerItem -q -annotation)

如果注释也是空字符窜,则它不会弹出任何东西。

-selectMembers(-sms)

string

createqueryedit

 

只对选择按钮有效。设置一个字符窜数组为选择按钮的成员列表。

在查询模式该标签返回成员列表的字符窜数组,在创建或编辑模式必须指定一个有由字符窜数组用空格连接起来的字符窜。

指定空字符窜将清空这个成员列表。

-subNamespace(-sns)

string

createqueryedit

 

查询/设置picker对象的sub-namespace,即次命名名字。

目前它只对选择按钮,命令按钮,属性按钮及滑条有效。对于picker面板,及文本对象无效。

它主要用来支持基于reference的rigging架构,这种rig内容本身就含有多层的namespace.

点此查看更多关于次命名空间的信息。        

-stringState(-ss)

string

createqueryedit

 

只是用来编程辅助,用来在picker对象内保存一个字符窜数值。

布尔/浮点数/整数/字符窜的状态值设置是无法撤消的,但它们可以被保存在Picker文件/节点内。

-sliderVAttribute(-sva)

string

createqueryedit

 

只对滑条有效。由该滑条的滑杠垂直位移来控制的属性。 在创建或编辑模式时要指定节点名.属性字符窜。

注意在编辑时,节点及属性需要同时都在当前场景内存在。

-sliderVMin(-svi)

float

createqueryedit

 

只对滑条有效。控制滑条垂直属性的虚拟最小值。不影响maya属性的最小值。

-sliderVRange(-svr)

float

createqueryedit

 

只对滑条有效。控制滑条垂直属性是否使用虚拟值范围。

-sliderVSpeed(-svs)

float

createqueryedit

 

只对滑条有效。控制滑条垂直属性的鼠标交互速度,取值范围是-1~1间的非0浮点数。

-sliderVMax(-svx)

float

createqueryedit

 

只对滑条有效。控制滑条垂直属性的虚拟最大值。不影响maya属性的最大值。

-strokeWidth(-sw)

int

createqueryedit

 

边线的宽度。取值范围是 [0~10],宽度为0则意味着无边线。

-type(-typ)

string

createquery

 

在查询模式这个标签返回picker对象的类型。

在创建一个picker对象时,必须指定这个标签及一个类型值。

类型值目前有这几种:"selectButton", "commandButton", "attributeButton", "slider", "text", "panel"。不区分大小写。

如果指定的类型值非法,则默认将创建选择按钮。

-usePickerNamespace(-upn)

boolean

createqueryedit

 

这个属性默认为真,在查询模式这个标签返回picker对象是否采用当前picker的命名空间。

下面是表格解释了在不同情况下,当用户点击一个选择按钮时最终被选择的Maya节点名称。同样规则也适用于属性按钮及滑条所控制的Maya属性。

按钮里的节点名称

Picker的命名空间

按钮的次命名空间

按钮是否使用Picker的命名空间

最终被选择的Maya节点

pCube

pickerNS

 

Yes

pickerNS:pCube

pCube

pickerNS

 

No

pCube

pCube

pickerNS

subNS

Yes

pickerNS:subNS:pCube

pCube

pickerNS

subNS

No

subNS:pCube

myChar:pCube

pickerNS

 

Yes

myChar:pCube

myChar:pCube

pickerNS

 

No

myChar:pCube

myChar:pCube

pickerNS

subNS

Yes

myChar:pCube

myChar:pCube

pickerNS

subNS

No

myChar:pCube

-view(-v)

string

createqueryedit


控制要查询,编辑或创建在哪个picker视图的picker item,在未使用该标签的情况下,默认是在当前激活的picker视图。

该标签需要您指定一个picker视图id字符窜。该id可以通过下方式来获取(具体请查询MGPicker命名参考文档):

   MGPicker -q -currentPickerView;          // 获取当前所执行的脚本所属于的视图的id,如picker的加载命令和鼠标进入命令。仅脚本执行过程中可获取。

   MGPicker -q -activePickerView;         // 获取当前激活视图的id.

   MGPicker -q -findPickerView  "pickerNodeOrFileName"  1 "namespace";             // 通过指定picker节点或文件名来查找特定的picker视图id.

   MGPicker -q -listAllPickerViews;          // 列出所有打开的picker视图的id.

   MGPicker -e -createTempPicker;     // 创建一个临时picker视图并返回其id.

   MGPicker -e -createPicker "pickerName" "namespace" "filePath" "nodeName";        //创建一个picker视图并返回其id.

   MGPicker -e -readPickerNode "nodeName";       // 读取场景picker节点并返回其所打开的picker视图的id.

   MGPicker -e -readScenePicker "nodeName" "pickerName" "namespace" "pickerDataString";       // 读取场景picker节点并返回其所打开的picker视图的id.

   MGPicker -e -readPickerFile "pickerFilePath" 1;         // 读取picker文件并返回其所打开的picker视图的id.

-valueColor(-vc)

float float float float

createqueryedit

 

只对属性按钮及滑条有效。对于属性按钮来讲,这是属性值文字的颜色,对于滑条来讲,这是当前滑框偏离默认位置而形状的方形的颜色。

参数分别是取值于 [0~1] 的红,绿,蓝,alpha 浮点数。

-visible(-vis)

boolean

createqueryedit

 

对象可见性。

-visibilityOperator(-vis)

string

createqueryedit


可见性操作符,当picker对象被多个属性按钮控制可见性时:

指定 "and" 代表所有属性按钮都必须符合特定值,则该picker对象才可见。

指定 "or" 代表任意一个控制它的属性按钮符合特定值,则该picker对象就可见。

-width(-w)

int

createqueryedit

 

对象宽度的像素值。

-xPosition(-x)

int

createqueryedit

 

对象位置的x坐标。

-yPosition(-y)

int

createqueryedit

 

对象位置的y坐标。


create 标签可以在创建模式中使用

edit 标签可以在编辑模式中使用

query 标签可以在查询模式中使用

multiuse 标签可以在一条命令中多次使用


MEL例子

//create pCube1 if not exists:
if(!`objExists pCube1`)
{
    polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1;
}

// create a new picker named "myPicker"
string $viewId = `MGPicker -e -createPicker "myPicker" "wrongNamespace" "" ""`;   //it is a untitled picker, not refer to a picker file / node.
MGPickerView -e -namespace "" $viewId;          //set the namespace to empty string.

//create picker panel first:
string $panel = `MGPickerItem -view $viewId -type "panel" -label "Panel1" -frameColor .2 .2 .22 1 -x 0 -y 0 -w 400 -h 300`;

//create other items:
string $selButton = `MGPickerItem -view $viewId -type "selectButton" -p $panel
                                        -x 20 -y 20 -w 100 -h 20 -shape "roundedRectangle" 
                                       -l "Select Button"
                                        -selectMembers "pCube1"`;
string $commandButton = `MGPickerItem -view $viewId -type "commandButton" 
                                                -p $panel 
                                                -x 20 -y 50 -w 100 -h 20 
                                                -l "Cmd Button"
                                                -c ("print (\"Current button is: \\\"\"+`MGPicker -q -currentItem`+\"\\\".\\n\")")`;
string $slider = `MGPickerItem -view $viewId -type "slider" -p $panel
                                -sliderHAttribute "pCube1.translateX"
                                -sliderVAttribute "pCube1.translateY"
                                -l "pCube:tx-ty"
                                -x 23 -y 100 -w 100 -h 100`;
string $attributeButton = `MGPickerItem -view $viewId -type "attributeButton" 
                                                -attributeType "bool"
                                           -l "Toggle" 
                                                -p $panel
                                                -valueColor .1 .5 .5 1
                                                -x 200 -y 35 -w 100 -h 20`;
string $text = `MGPickerItem -view $viewId -p $panel -type "text" -x 200 -y 80 -labelFontSize 11
                                -l "The attribute button\ncontrols the select-button,\ncommand-button and the slider." 
                               -resizePreferSize`;        

//link the visibilities of select-button and command-button to attribute "on":
string $link1 = `MGPickerLink -view $viewId -s $selButton -t $attributeButton -targetValues "on"`;
string $link2 = `MGPickerLink -view $viewId -s $commandButton -t $attributeButton -targetValues "on"`;
string $link3 = `MGPickerLink -view $viewId -s $slider -t $attributeButton -targetValues "on"`;

//turn the value of attribute-button to On to show the buttons:
MGPickerItem -e -view $viewId -attributeValue 1 $attributeButton;

MGPickerView -e -updateSceneBoundary $viewId;  //update the scene boundary to show all the picker items.
MGPickerView -e -setClean $viewId;   //set the picker we just created clean.

 

Python例子

import maya.cmds as cmd

#create pCube1 if not exists:
if not cmd.objExists('pCube1'):
   cmd.polyCube (w=1, h=1,d=1,sx=1,sy=1,sz=1,ax=(0,1,0), cuv=4,ch=1)

# create a new picker named "myPicker"
#it is a untitled picker, not refer to a picker file / node.
viewId = cmd.MGPicker (edit=True, createPicker=("myPicker","wrongNamespace","",""))
cmd.MGPickerView(viewId, edit=True, namespace="")        #set the namespace to empty string.

#create picker panel first:
panel = cmd.MGPickerItem(view=viewId, type="panel",label="Panel1",frameColor=(.2,.2,.2,1), x=0,y=0,w=400,h=300)

#create other items:
selButton = cmd.MGPickerItem(view=viewId, type="selectButton",p=panel,
                                     x=20,y=20,w=100,h=20,shape="roundedRectangle",
                                     l="Select Button",
                                     selectMembers="pCube1")

commandButton = cmd.MGPickerItem (view=viewId, type="commandButton",
                                             p=panel,
                                             x=20,y=50,w=100,h=20,
                                             l="Cmd Button",
                                             c=("print (\"Current button is: \\\"\"+`MGPicker -q -currentItem`+\"\\\".\\n\")"))

slider = cmd.MGPickerItem(view=viewId, type="slider",p=panel,
                             sliderHAttribute="pCube1.translateX",
                             sliderVAttribute="pCube1.translateY",
                             l="pCube:tx-ty",
                             x=23,y=100,w=100,h=100)

attributeButton = cmd.MGPickerItem (view=viewId, type="attributeButton",
                                             attributeType="bool",
                                         l="Toggle",
                                             p=panel,
                                             valueColor=(.1,.5,.5,1),
                                             x=200,y=35,w=100,h=20)

text = cmd.MGPickerItem (view=viewId, p=panel, type="text",x=200,y=80,labelFontSize=11,
                             l="The attribute button\ncontrols the select-button,\ncommand-button and the slider.",
                             resizePreferSize=True)      

#link the visibilities of select-button and command-button to attribute "on":
link1 = cmd.MGPickerLink (view=viewId, s=selButton,t=attributeButton,targetValues="on")
link2 = cmd.MGPickerLink (view=viewId, s=commandButton ,t=attributeButton,targetValues="on")
link3 = cmd.MGPickerLink (view=viewId, s=slider ,t=attributeButton,targetValues="on")

#turn the value of attribute-button to On to show the buttons:
cmd.MGPickerItem (attributeButton, edit=True, view=viewId, attributeValue=1)
cmd.MGPickerView (viewId, edit=True,updateSceneBoundary=True)  #update the scene boundary to show all the picker items.
cmd.MGPickerView (viewId, edit=True,setClean=True)  #set the picker we just created clean.

 

 

Home Previous Next