Maya Mel Script - 将Pivot放到物体的底部?

时间:2018-06-08 10:57:15

标签: mel

我之前看到有人问过这个问题(例如:here)。那么如何自动将枢轴设置到模型的底部呢?

1 个答案:

答案 0 :(得分:0)

要做到这一点:

第1步:find the bottom point

步骤2:将枢轴设置为底点。

这是mel脚本帮助你做到这一点:

    string $sel[]= `ls -sl`;

    //$sel[0] != "" to check if the first item is empty, but `size $sel` == 1 already cover that
    if(`size $sel` > 0)
    {
        int $vtxIdx;
        int $vCount[];
        float $lowestY = 2147483647.0;
        float  $crtY = 0.0;
        float $pos[];

        string $item;
        for ($item in $sel)
        {
            $vCount = `polyEvaluate -vertex $item`; //Get vertex count
            for ($vtxIdx = 0; $vtxIdx < $vCount[0]; $vtxIdx++)//Loop through vetex
            {
                $pos = `xform -q -ws -t ($item+".vtx["+$vtxIdx+"]")`;//Get vertex position
                $crtY = $pos[1];
                if($crtY < $lowestY)
                {
                    $lowestY = $crtY;//Get the lowest Y
                }
            }
            $pos = `xform -q -ws -t ($item)`;
            xform -ws -a -piv $pos[0] $lowestY $pos[2] ($item);
            print ($lowestY);
        }

    }

用法:

步骤1:选择需要将枢轴设置为底部的对象

第2步:执行脚本

枢轴点应该像这样设置 Pivot to bottom 如果您的要求是:枢轴点必须在模型内部,那么您应该稍微编辑一下这个脚本。