Maya キーフレームアニメーションを名前引きでコピーする | puarts.com
映像・CG・画像処理関連の技術情報、個人作品の創作記録、メモなど
Category

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

公開日: 2016/07/16 | カテゴリ: Maya | タグ:

フリースクリプトを探せば普通にありそうですが、あるノードとそれ以下の階層のノードのキーを、同じ階層構造を持つ別のノードに名前引きでキーフレームをコピーする 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);


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

にほんブログ村 デザインブログ グラフィックアートへ
Links

参考になりそうなブログやサイトを見つけたら勝手にリンクを貼らせてもらっています。
リンク削除を希望の場合はお手数ですがメールにてご一報下さい。
Ke-Sen Huang's Home Page        Disney Research        VIDEO COPILOT        AbandonedArt.org
ryoji ikeda        チームラボ        トルク with AR三兄弟        DAITO MANABE

Copyright(C)2006-2017 wsp All Rights Reserved