【问题标题】:expand script in Maya/Python在 Maya/Python 中展开脚本
【发布时间】:2013-06-20 10:52:16
【问题描述】:

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

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

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

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

感谢您的帮助!

【问题讨论】:

  • 你试过自己修改脚本吗?

标签: python maya


【解决方案1】:

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

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。

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

【讨论】:

    猜你喜欢
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2022-10-17
    相关资源
    最近更新 更多