Maya キーフレームアニメーションを名前引きでコピーする

2016/07/16
MEL 
(この記事の文字数: 1017)

フリースクリプトを探せば普通にありそうですが、あるノードとそれ以下の階層のノードのキーを、同じ階層構造を持つ別のノードに名前引きでキーフレームをコピーする MEL スクリプトを作成したので貼っておきます。

同じ階層のコントローラを持つリグ同士でアニメーションをコピーするときに一発でコピーできます。

おじいちゃんとおばあちゃんのモデルを作ったので、アニメーションをリグ間で簡単にコピーできるように作成しました。


global proc CopyKeysByName(string $copySource, string $copyDestination)
{
    int $keyCount = `keyframe -q -keyframeCount $copySource`;
    if ($keyCount > 0)
    {
        copyKey -time ":" -float ":" {$copySource};
        pasteKey -option merge {$copyDestination};
    }
    
    string $sourceChildren[] = `listRelatives -children $copySource`;
    string $destChildren[] = `listRelatives -children $copyDestination`;
    for ($sourceChild in $sourceChildren)
    {
        string $splited[];
        int $numTokens = `tokenize $sourceChild ":" $splited`;
        string $sourceName = $splited[$numTokens - 1];
        for ($destChild in $destChildren)
        {
            int $numTokens = `tokenize $destChild ":" $splited`;
            string $destName = $splited[$numTokens - 1];
            if ($sourceName == $destName)
            {
                CopyKeysByName($sourceChild, $destChild);
                break;
            }
        }
    }
}

使用例


string $selections[] = `ls -sl`;
string $copySource = $selections[0];
string $copyDestination = $selections[1];
CopyKeysByName($copySource, $copyDestination);


  このエントリーをはてなブックマークに追加  

<<「デジタルコンテンツ制作」の記事一覧に戻る

コメント(0 件)


関連記事