Maya Embedded Language

Példaprogram 3

A harmadik példaprogram azt szemlélteti, hogy miként tudjuk a MEL-t animációs célokra is alkalmazni. A program fő függvénye a chaos függvény, melynek paraméterként átadhatjuk hogy hány darab gömbből álló kaotikus rendszert szeretnénk létrehozni. Elindítva a programot Gauss-i elrendezésben létrejön megadott számú gömb, melyek 200 képkockán keresztül kaotikusan mozognak.

global proc chaos(int $count) { // létrehoznuk egy új file-t file -f -new; int $Index; string $name; for ($Index = 1; $Index < $count; $Index++) { $name = "gomb" + $Index; float $radius = rand(3); vector $position = gauss (<<30,30,30>>); // létrehozzuk az adott nevü gömböt, $radius sugarral (mely véletlenszeru) sphere -n $name -r $radius; // az imént létrehozott gömböt a $position helyre mozgatjuk move -a ($position.x) ($position.y) ($position.z); for ($time = 1; $time < 20; $time++) { int $frame = rand(200); currentTime $frame; $position = gauss (<<10,10,10>>); move -r ($position.x) ($position.y) ($position.z); // miután elmozgattuk a kiválasztott gömböt lerakjuk a kulcsokat az x,y,z poziciókra setKeyframe ($name+".tx"); setKeyframe ($name+".ty"); setKeyframe ($name+".tz"); // hogy ne legyen olyan szögletes a mozgás, az imént lerakott kulcsokban // átállítjuk a kulcsgörbét keyTangent -inTangentType spline; keyTangent -outTangentType spline; } } }

a program működés közben