|
![](/i/fill.gif) |
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
|
![](/i/fill.gif) |