在Maya / Python中扩展脚本

时间:2013-06-20 10:52:17

标签: python maya

我正在使用jlcollisiondeformer,我对玛雅的python很新。

http://wtp-library.googlecode.com/svn/trunk/Library/maya/python/misc/jlCollisionDeformer/jlCollisionDeformer.py

在此脚本中,您必须选择collidermesh,然后选择应变形的网格,然后运行MEL命令来运行脚本。这有点麻烦......

有没有人知道如何将脚本扩展为一个插件,该插件显示一个简单的窗口,其中包含三个按钮,如“设置为'collidermesh'”,“设置为'变形网格'”和“运行CollisionDeformer”?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这是非常标准的maya行为。如果您想要按钮,可以输入

jlCollisionDeformer();

进入脚本侦听器并用鼠标中键将其拖入一个架子按钮。这将调用当前选择的过程。你可以修改mel脚本以获取显式参数(从长远来看这是一个好主意,因为它更明确)但是脚本(选择源,选择目标)是一个如此简单的行为似乎是在浪费精力。

在python中,这是一项非常多的工作,但它看起来像这样:

import maya.mel
import maya.cmds as cmds

def  CollisionDeform(source, target):
    cmds.select(source, target)
    maya.mel.eval("jlCollisionDeformer()");

然后,您想要的任何脚本都可以在两个对象上调用CollisionDeform以使变形器工作。您需要编写选择对象的UI并调用函数。

我怀疑搁板按钮是最简单的方法。您还可以在热键编辑器中添加热键:

enter image description here