|  |  | Thomas de Groot <tho### [at] degroot org> wrote:
> Oh yes! I love it.
>
> I am not sure, sometimes in soap bubbles you can see the iridescence
> swirl round (especially before bursting iirc). Have you included that in
> your animation? I seem to see some swirling...
Thanks, Thomas :)
I didn't animate the irid but I did animate the blob components such that each
sphere slowly rotates on its local axes by some random amount before being
translated into position each frame; so the irid pattern does change on each -
some much faster than others.
The whole scene is basically just this:
//------------------------------------------------------------------------------
// Bubbles
//------------------------------------------------------------------------------
#declare M_Bubble = material {
   texture {
      pigment { srgbt 0.99 }
      finish {
         diffuse 0
         reflection { 0.05, 1 fresnel on }
         specular 0.99 roughness 0.001
         conserve_energy
         irid { 0.3
            thickness 0.25
            turbulence 1.2
         }
      }
   }
   interior { ior 1.001 }
}
#declare MAX = 512;
#declare aScale1  = array[MAX];
#declare aScale2  = array[MAX];
#declare aRotate1 = array[MAX];
#declare aRotate2 = array[MAX];
#declare aRotate3 = array[MAX];
#declare aTrans1  = array[MAX];
#declare aTrans2  = array[MAX];
#local n=0;
#while (n < MAX)
   #declare aScale1[n]  = RRand(0.9, 1.1, R);
   #declare aScale2[n]  = RRand(0.4, 0.7, R);
   #declare aRotate1[n] = <rand(R)*360,rand(R)*360,rand(R)*360>;
   #declare aRotate2[n] = <rand(R)*360,rand(R)*360,rand(R)*360>;
   #declare aRotate3[n] = RRand(30,90,R);
   #declare aTrans1[n]  = <RRand(-20,20,R),RRand(-10,10,R),RRand(-20,20,R)>;
   #declare aTrans2[n]  = RRand(-15,-20,R);
   #local n=n+1;
#end
blob {
   threshold 0.2
   #local n=0;
   #while (n < MAX)
      sphere { 0, 1, 1
         scale x*aScale1[n]
         scale aScale2[n]
         rotate aRotate1[n]
         rotate aRotate2[n]*clock
         translate aTrans1[n]
         translate y*12
         rotate y*aRotate3[n]*clock
         translate <0, aTrans2[n]*clock, 10>
      }
      #local n=n+1;
   #end
   material { M_Bubble }
}
Cheers
-------------------------------------------------
www.McGregorFineArt.com Post a reply to this message
 |  |