![]() ![]() ![]() |
▪MG-Picker工作室尽全力让您设计强大的picker,在不用敲任何代码的情况下。 ▪不过如果您有一些MEL/Python脚本开发经验,那么您设计的Picker可以变得更加强大。
▪以下就一些您可以发挥脚本开发能力的地方: - Picker里可编程的属性. 所有这些属性都支持mel或python语言。 Picker的加载后命令,命名空间已改变命令, 及鼠标已进入命令,: 加载后命令: 当picker被加载打开后,完成读取后这个命令会立即被执行。比较推荐的作法是,在这个命令script里,你编写声明所有picker功能支持的mel及python函数,因为它们在picker加载后立即被source而可用,这样具体的picker按钮里的命令则只需要调用这边声明的函数即可。 命名空间已改变命令:每次Picker的命名空间改变了,不管是手动还是程序API命令改变,这个命令会被 执行。 鼠标已进入命令:每当鼠标进入picker区域,都会执行这个命令。 查看 跟Maya同步 章节来了解更多。
编辑这些Picker命令的三种方式: 1.点击"Picker"菜单并选择"设置Picker属性.."; 2.激活编辑工具,右键空白处,在菜单里先把"设置Picker属性.." 3.直接访问"Picker"界面面板。
命令按钮命令: 这个按钮命令在你左键点击按钮并在命令按钮内部松开后执行。 要编辑命令按钮命令,选择那个命令按钮,在属性编辑器里拖动到底部,会看到编辑命令的代码编辑器。
属性按钮的属性值 改变前后命令: 属性值 改变前: 该命令在属性值被改变前被执行。主要用来在属性值改变之前获取并记录一些状态,通常用在ik/fk切换前,记录一些信息。 属性值 改变后: 该命令在属性值被实际改变后立即被执行。如果属性值没有实际改变则不执行。
attrButton1: 在 属性值 改变前命令里编辑了attrButton2的属性值。 attrButton2: 在 属性值 改变后命令里编辑了attrButton1的属性值。 这样就造成死循环,可能导致Maya崩掉。
滑条的属性值 改变命令: 该命令滑条属性值被实际改变后立即被执行。如果属性值没有实际改变则不执行。
Picker对象的菜单: 每个picker对象都可以带有一个菜单或marking menu。要编辑对象的菜单,选择那个picker对象,然后在菜单编辑器里编辑。
- 写其它类型picker到MG-Picker的转换器。目前已自带有abxPicker 及nickPicker的转换器。带有这些类型的picker节点的场景,其picker节点将会自动转换为mgpicker并显示。 - 编写命令按钮预设, 将来你可以用这些预设脚本来快速生成命令按钮而无需再敲代码。 - 编写代码片段,以提高将来敲代码的效率。 - 编写自动加载的脚本,将它们放到"Maya/版本/scripts/MG-PickerStudio/MGPicker_UserConfig/AutoSourced/" 里使它跟随MG-Picker工作室加载时而被自动加载。 这个机制将使您可以保证一些脚本,在您的picker打开时已被加载,以支持到您的picker里的一些命令功能。
▪MG-Picker工作室提供的MEL&Python API主要是这三个命令:
除了这三个命令,还有其它的命令,不过这些命令主要是供程序内部使用: * MGPickerValue: 这个命令则纯粹供内部使用,用来支持picker对象在动画师交互时的undo/redo. * MGPickerAttrSyncer: 这个命令则纯粹供内部使用. 用来同步Maya场景及picker的状态. * MGPGuiTest: 这个命令则纯粹供内部使用. 用来编辑界面的单元测试. * MGPTest: 这个命令则纯粹供内部使用. 用来编辑单元测试. 其它开发相关帮助主题: |
![]() ![]() ![]() |