// CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_bola = texture{ pigment{ color rgb < 0, 0.5, 0 > } finish{ diffuse 0.8 ambient 0.4 } } #declare tx_box = texture{ pigment{ color rgb < 0, 0, 1 > } finish{ diffuse 1 ambient 0.1 } } #declare tx_boxdefeito = texture{ pigment{ color rgb < 0, 0, 0 > } finish{ diffuse 1 ambient 0.1 } } #declare tx_moldura = pigment { wood turbulence 0.05 scale <0.2, 0.2, 1> color_map { [0.1 rgb <0.42, 0.26, 0.15>] [0.9 rgb <0.52, 0.37, 0.26>] } } // ====================================================================== // DESCRIÇÃO DA CENA #declare valores = array[10] #declare valores[0] = (1 - clock)*1+clock*15; #declare valores[1] = (1 - clock)*7+clock*8; #declare valores[2] = (1 - clock)*1023+clock*1024; #declare valores[3] = (1 - clock)*508+clock*512; #declare valores[4] = (1 - clock)*7+clock*12; #declare valores[5] = (1 - clock)*62+clock*65; #declare valores[6] = (1 - clock)*125+clock*128; #declare valores[7] = (1 - clock)*30+clock*34; #declare valores[8] = (1 - clock)*4+clock*8; #declare valores[9] = (1 - clock)*1+clock*2; #declare roleta = seed(489); // Partes da cena: #macro letra_entrando_vert(pin,pfi,fase,desl,lett) union{ object{text{ttf "arial.ttf" lett 1, 0} rotate<90,0,90> translate<0,desl,pin*(1-fase)+pfi*fase>} } #end #macro letra_entrando_horiz(pin,pfi,fase,desl,lett) union{ object{text{ttf "arial.ttf" lett 1, 0} rotate<90,0,90> translate<0,pin*(1-fase)+pfi*fase+desl,0>} } #end #macro logotipo(texto,fase) #local n = strlen(texto); #local etapa = int(n*fase); #local frac = n*fase - etapa; union{ #local letter = substr(texto,1,etapa-1); object{text{ttf "arial.ttf" letter 1, 0} rotate<90,0,90> } #local letter = substr(texto,etapa,1); #local dir = rand(roleta); #if (dir < 0.25) object{ letra_entrando_vert(5,0,frac,(etapa-1)/2,letter) } #end #if (dir > 0.25 & dir < 0.5) object{ letra_entrando_vert(-5,0,frac,(etapa-1)/2,letter) } #end #if (dir > 0.5 & dir < 0.75) object{ letra_entrando_horiz(5,0,frac,(etapa-1)/2,letter) } #end #if (dir >0.75) object{ letra_entrando_horiz(-5,0,frac,(etapa-1)/2,letter) } #end } #end #include "eixos.inc" // Aqui está a cena, finalmente: union{ object{ logotipo("banana",clock) translate<0,-4,0>} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; //#declare centro_cena = < 0.00, (1-clock)*14+clock*7, -4.00 >; //#declare raio_cena = (1-clock)*60+clock*30; #declare raio_cena = 8; //#declare dir_camera = < 21.00, (1-clock)*40+clock*0, 0.00 >; #declare dir_camera = < 1.00, 0.00, 0.00 >; //#declare dist_camera = (1-clock)*30+clock*10; #declare dist_camera = 16.0; #declare intens_luz = 2.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)