1

我正在使用 jlcollisiondeformer,而且我对 Maya 中的 python 非常陌生。

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

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

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

谢谢你的帮助!

4

1 回答 1

0

这是非常标准的玛雅行为。如果你想有一个按钮来做,你可以输入

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。

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

在此处输入图像描述

于 2013-06-20T17:02:23.767 回答