MEL 指数関数的に上昇するアニメーションを自動生成する | puarts.com
映像・CG・画像処理関連の技術情報、個人作品の創作記録、メモなど
Category

MEL 指数関数的に上昇するアニメーションを自動生成する

公開日: 2016/06/11 20:28 | カテゴリ: Maya | タグ:

大したものではないですが、細切れにした大量のオブジェクトを指数関数的に上昇させるアニメーションを作るために、指数関数の Y 座標アニメーションのエクスプレッションを生成する MEL スクリプトを作りましたので載せておきます。

global proc CreateExpresionForRiseAnimation(
    string $targets[],
    float $exponential_start_x,
    float $speed, float $speed_rand_range,
    float $time_offset, float $time_offset_rand_range)
{
    string $expName = "RiseAnim";
    string $exp = "float $start_frame="+$exponential_start_x+";\n";
    for ($target in $targets)
    {
        float $actual_speed = $speed + rand(-$speed_rand_range / 2.0, $speed_rand_range / 2.0);
        float $actual_time_offset = $time_offset + rand(0.0, $time_offset_rand_range);
        $exp += "{\n    float $speed = "+$actual_speed+";\n    float $frame_delay = "+$actual_time_offset+";\n    float $frame = frame + $start_frame - $frame_delay;\n    if ($frame < $start_frame)\n    {\n        $frame = $start_frame;\n    }\n    "+$target+".translateY = exp($frame * $speed) - exp($start_frame * $speed);\n}";
    }
    expression -s $exp -n $expName;
}

使用例

string $targets[]=`ls -sl -type transform`;
CreateExpresionForRiseAnimation(
    $targets,
    -30.0,
    1.0 / 30.0, 1.0 / 30.0,
    0.0, 60.0);

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


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