Сценарий Maya Mel - опустить центр внизу объекта? - PullRequest
0 голосов
/ 08 июня 2018

Я вижу, что кто-то спрашивал об этом раньше (например: здесь ).Так как же автоматически установить ось нижней части модели?

1 Ответ

0 голосов
/ 08 июня 2018

Для этого:

Шаг 1: найдите нижнюю точку .

Шаг 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 Если ваше требование: точка вращения должна находиться внутри модели, то вам следует немного отредактировать этот скрипт.

...