【问题标题】:Unbind skin in Autodesk Maya在 Autodesk Maya 中取消绑定皮肤
【发布时间】:2017-07-22 01:13:03
【问题描述】:

尽管遵循了 here 显示的 Maya 命令文档:

import maya.cmds as cmds
cmds.bindSkin( unbind=True ) # While my object is selected.

cmds.bindSkin( 'mySelectedObj', unbind=True ) # Specifying which object to unbind

结果:

错误:RuntimeError:文件第 1 行:没有皮肤分区 在现场找到。

我在 MEL 中也遇到了同样的错误。但是脚本编辑器的历史记录显示了一个doDetachSkin 命令 - 并且搜索它只会让我回到绑定皮肤命令。

当按照文档上的示例给出错误消息时,我应该如何正确编写此命令?

P.S.:我的选择是一个几何网格,它被蒙皮到几个关节。

【问题讨论】:

    标签: python maya


    【解决方案1】:

    你试过选择吗?

    mySelectedObj = cmds.ls(sl=True) or []
    if mySelectedObj:
        cmds.bindSkin(mySelectedObj[0], unbind=True ) 
    

    【讨论】:

    • 是的。我有。我得到了完全相同的错误信息。奇怪的是 - 当我从 UI 手动使用 unbind 命令时,它工作正常,但脚本编辑器显示了一个我在文档中找不到的“doDetachSkin”mel 命令。
    【解决方案2】:

    将 maya.mel 导入为 mel

    skinC = mel.eval('doDetachSkin "2" { "1","1" }')

    决定通过调用我在脚本编辑器历史记录中看到的 mel 命令来解决此问题。不理想,但目前符合我的目的。

    如果有人知道更好的方法或可以解释为什么遵循文档不起作用,请随时加入。

    【讨论】:

      【解决方案3】:

      如果Unbind Skin Python 命令不起作用:

      import maya.cmds as cmds
      cmds.bindSkin( unbind=True, bp=False )
      

      试试它伟大的旧 MEL 等效项:

      DetachSkin;
      

      【讨论】:

        【解决方案4】:

        看来bindSkin只能删除jointCluster,你可以试试skinCluster。

        import pymel.core as pm
        pm.skinCluster(objname, edit=True, unbind=True)enter code here
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-25
          • 2015-04-18
          • 2012-01-27
          相关资源
          最近更新 更多