# SimplyMaya Forums

Welcome to the forum, feel free to ask questions here.

Home / forum / Animation / Mel Scripts & Programming / geometry grid randomisation
 Register FAQ Members List Calendar Mark Forums Read

 25-04-2008, 06:07 AM #1 bendingiscool Subscriber     Join Date: Jul 2006 Location: London Posts: 567 Thanks: 0 Thanked 1 Time in 1 Post geometry grid randomisation I was going through the 'artists guide to mel' training from dt the otherday and found the really handy little loop that can make grids of geometry. Heres the script... int \$i; int \$j; for (\$i=0;\$i<5;\$i++){ for (\$j=0;\$J<5;\$j++){ polyCube; move -r (2*\$j)0(2*\$i); } } I was wondering how I would go about randomising their size on creation so that I could have random size cubes etc be produced. Chris
 26-04-2008, 05:57 AM #2 t1ck135 Registered User     Join Date: May 2004 Location: UK Posts: 1,991 Thanks: 0 Thanked 0 Times in 0 Posts Here you go Chris, slightly modified code adding in a random number generator and applying it to the polyCube command to set the scale. Commented so people can follow it Code: ```int \$i; int \$j; // holds random value assigned each time a cube is created float \$randSize; for (\$i=0; \$i<5; \$i++) { for (\$j=0; \$j<5; \$j++) { // generate a random float number between 0.0 and 2.0 \$randSize = rand(2); // use the random number to set the cube dimensions polyCube -w \$randSize -h \$randSize -d \$randSize; move -r (2*\$j)0(2*\$i); } }``` The only thing to remember though is that \$i, \$j and \$randSize will be global variables which can be bad. The next step would be to change it into a function so that the variables are local. Code: ```// function that creates a 5x5 grid of randomly sized cubes proc generateVariedCubes() { int \$i; int \$j; // holds random value assigned each time a cube is created float \$randSize; for (\$i=0;\$i<5;\$i++){ for (\$j=0;\$j<5;\$j++){ // generate a random float number between 0.0 and 2.0 \$randSize = rand(2); // use the random number to set the cube dimensions polyCube -w \$randSize -h \$randSize -d \$randSize; move -r (2*\$j)0(2*\$i); } } } // call the function generateVariedCubes();``` Once you've run the function code then you wont need to rerun it for the current maya session. You can therefore run the generateVariedCubes() call whenever you want or multiple times and it will create the cubes. As an exercise it'd be good to modify the function so that it generates another set of cubes to the right or left of the previous one. Up to you though Simon __________________ Examples of bTraffic - a traffic animation tool for Maya bFlocking - a tool for Maya 8.5+ to generate flocking and swarming behaviours Jan/Feb Challenge 2007 Entry and W.I.P May/Jun Challenge 2006 Entry and W.I.P Mar/Apr Challenge 2006 Entry and W.I.P Jan/Feb Challenge 2006 Entry and W.I.P Nov/Dec Challenge 2005 Entry and W.I.P Sep/Oct Challenge 2005 Entry and W.I.P Jul/Aug Challenge 2005 Entry www.flash-fx.net
 04-05-2008, 10:48 AM #3 gster123 Moderator     Join Date: May 2005 Location: Manchester Uk Posts: 6,300 Thanks: 1 Thanked 51 Times in 45 Posts Hey Si Ive not used ramdom in MEL, is it actually random so to speak (say in delphi you set a random number and unless you set the clock its always the same as its always produced in the same clock cycle)?? Like I say I've never used it so cant comment. __________________ "No pressure, no diamonds" Thomas Carlyle
 05-05-2008, 03:58 PM #4 t1ck135 Registered User     Join Date: May 2004 Location: UK Posts: 1,991 Thanks: 0 Thanked 0 Times in 0 Posts Hi Steve, It gives a different result each time so can be called random. If you look into how it is seeded then with some hardcore maths it might be possible to predict the variance but thats way over the head of us mere mortals Simon __________________ Examples of bTraffic - a traffic animation tool for Maya bFlocking - a tool for Maya 8.5+ to generate flocking and swarming behaviours Jan/Feb Challenge 2007 Entry and W.I.P May/Jun Challenge 2006 Entry and W.I.P Mar/Apr Challenge 2006 Entry and W.I.P Jan/Feb Challenge 2006 Entry and W.I.P Nov/Dec Challenge 2005 Entry and W.I.P Sep/Oct Challenge 2005 Entry and W.I.P Jul/Aug Challenge 2005 Entry www.flash-fx.net

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts vB code is On Smilies are On [IMG] code is On HTML code is Off

## \$34

Month-to-month billing
 \$34/month Unlimited access to all videos Project files to download Easy to cancel at anytime

## \$87

Billing every 3 months
 \$29/month Unlimited access to all videos Project files to download Easy to cancel at anytime Save \$5 per month or \$15 in total compared to monthly billing with this package.

## \$288

Billing every 12 months
 \$24/month Unlimited access to all videos Project files to download Easy to cancel at anytime Save \$10 per month or \$120 in total compared to monthly billing with this package.

Your plan will automatically renew. You can cancel at any time via your PayPal account to avoid being charged again.

You can view the FAQ on our video plans here. You can contact us directly here. By clicking one of the buttons above, you agree to our Terms and Privacy Policy.