2

在 Maya 中,我有一个由以下代码收集的约束列表。我想迭代约束并查询每个约束的目标:

cons = ls(type='constraint')
for con in cons:
    targets = constraint(query=True, targetList=True)

问题是,没有通用constraint的命令来操作所有的约束。相反,每个约束都有自己独特的 MEL 命令与之关联。

有什么方法可以查询约束上的目标,而不必键入检查每个约束并繁琐地运行其各自的 MEL 命令?

4

1 回答 1

2

.target attr 上的 listConnections

梅尔的清理工作:

string $cons[] = `ls -type "constraint"`;
for ( $con in $cons ){
    string $targetAttrString = ( $con+ ".target" );
    string $connections[] = `listConnections $targetAttrString`;
    string $connectionsFlattened[] = stringArrayRemoveDuplicates($connections);
    for ( $f in $connectionsFlattened )
        if ( $f != $con )
            print ( $f+ " is a target\n" );
}
于 2009-04-22T18:54:22.737 回答