Monday, November 26, 2012

Randomized cube script

I was attempting to do a spiraling column of cubes, and this is the script that I came up with. Enjoy!



cleanUp();
buildCubes();


//CLEAN UP
global proc cleanUp()
{
SelectAll;
doDelete;
}



//BUILD OBJECTS - make a random sized cube
global proc buildCubes()
{

    float $spacing = 3;
    float $blockSpacing = 27;
    float $cubeSizeX;
    float $cubeSizeY;
    float $cubeSizeZ;
    int $cubeArrayNum = 0;
    string $cubeArrayName[];
    string $cubeArray[];
   
    //for loop
    for ( $blockHeight=1; $blockHeight<10; $blockHeight++)
    {
        for ( $blockDepth=1; $blockDepth<10; $blockDepth++)
        {
            for ( $blockWidth=1; $blockWidth<10; $blockWidth++)
            {
                $cubeSizeX= rand(3);
                $cubeSizeY= rand(3);
                $cubeSizeZ= rand(3);
           
                polyCube -width $cubeSizeX -height $cubeSizeY -depth $cubeSizeZ;
                move -r ($spacing * $blockWidth) ($spacing * $blockHeight) ($spacing * $blockDepth);
                rotate -r (rand(0,360)) (rand(0,360)) (rand(0,360)) ;
                $cubeArrayName = `ls -selection`;
                $cubeArray[$cubeArrayNum] = $cubeArrayName[0];
                $cubeArrayNum++;
            }
        }
    }
    select $cubeArray;
    group -name cubeArray;
    for ( $i=1; $i<5; $i++)
            {
                duplicate;
                move -r 0 $blockSpacing 0;
                rotate -r 0 15 0;
                $cubeArrayName = `ls -selection`;
                $cubeArray[$cubeArrayNum] = $cubeArrayName[0];
                $cubeArrayNum++;
            }
}

No comments:

Post a Comment