MEL ノードのアトリビュートを全てコピーする | puarts.com
映像・CG・画像処理関連の技術情報、個人作品の創作記録、メモなど
Category

MEL ノードのアトリビュートを全てコピーする

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

Maya でノードコネクションはそのままにしておいて、コネクションのないアトリビュートは別のノードのアトリビュート値を全部コピーしたい、というときがよくあったので、特定のノードのアトリビュートを同じ種類の別のノードにすべてコピーする MEL スクリプトを作っておきました。大したものではないですが、貼っておきます。

global proc copyAllAttributes(string $sourceNode, string $destNode)
{
    if (`nodeType $sourceNode` != `nodeType $destNode`)
    {
        error("Node type mismatch between " + $sourceNode + " and " + $destNode + ".\n");
        return;
    }
    
    string $attrs[] = `listAttr -scalar -multi -keyable -visible -unlocked -connectable $sourceNode`;
    for ($attr in $attrs)
    {
        string $destAttr = $destNode + "." + $attr;
        string $connections[] = `listConnections $destAttr`;
        if (size($connections) > 0)
        {
            continue;
        }
        print("Copying  " + $destAttr + "\n");
        setAttr $destAttr `getAttr ($sourceNode + "." + $attr)`;
    }
}

使用例

copyAllAttributes("nParticleShape1", "nParticleShape2");


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

にほんブログ村 デザインブログ グラフィックアートへ
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